找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5933|回復: 12
打印 上一主題 下一主題
收起左側(cè)

單片機ULN2003驅(qū)動步進電機程序?qū)戇M去后不轉(zhuǎn) 微微發(fā)燙

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:461673 發(fā)表于 2019-3-7 14:18 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
這一款的

把程序?qū)戇M去后電機不轉(zhuǎn) 微微發(fā)燙,四個燈只亮了三個.什么情況


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:349617 發(fā)表于 2019-3-7 15:10 | 只看該作者
步進電機在剎車的時候電流是非常大的,要不就會溜了
回復

使用道具 舉報

板凳
ID:123289 發(fā)表于 2019-3-7 15:52 | 只看該作者
你給了驅(qū)動,但沒有換相或相序混亂。
回復

使用道具 舉報

地板
ID:461673 發(fā)表于 2019-3-7 16:15 | 只看該作者
小李子鐵頭 發(fā)表于 2019-3-7 15:10
步進電機在剎車的時候電流是非常大的,要不就會溜了

都沒轉(zhuǎn)哪來的剎車
回復

使用道具 舉報

5#
ID:238279 發(fā)表于 2019-3-7 16:23 | 只看該作者
示波器看一下驅(qū)動波形,如果沒有示波器,可以先杜邦線按照通電順序手動接一下,看是否正常以排除硬件問題
回復

使用道具 舉報

6#
ID:252893 發(fā)表于 2019-3-7 17:37 | 只看該作者
樓主好,不知道您的代碼寫得如何,發(fā)燙有可能是脈沖持續(xù)的時間太短了,導致脈沖帶不動電機,能量轉(zhuǎn)而消耗在電機的線圈上面。我這里有一種驅(qū)動您上面步進電機的方法:

假設(shè)管腳鏈接如下:
                               a--------p1.1
                               b--------p1.2
                               c--------p1.3
                               d--------p1.4

具體的脈沖編碼如下:
   while(1)
{……
  p1.4=0;p1.0=1;delay_ms(20);//讓脈沖延時20ms,
  p1.1=0;p1.2=1;delay_ms(20);
  p1.2=0;p1.3=1;delay_ms(20);
  p1.3=0;p1.4=1;delay_ms(20);
……
}
最后如果還不行請看看這一份文件,希望能幫到您!

ULN2003步進電機驅(qū)動原理及應(yīng)用程序.doc

53 KB, 下載次數(shù): 50

步進電機驅(qū)動

回復

使用道具 舉報

7#
ID:10947 發(fā)表于 2019-3-7 18:02 | 只看該作者
發(fā)燙說明程序有跑起來,只是驅(qū)動馬達線圈的時序不對
回復

使用道具 舉報

8#
ID:461673 發(fā)表于 2019-3-7 21:40 | 只看該作者
elima 發(fā)表于 2019-3-7 17:37
樓主好,不知道您的代碼寫得如何,發(fā)燙有可能是脈沖持續(xù)的時間太短了,導致脈沖帶不動電機,能量轉(zhuǎn)而消耗在 ...

嗯  我去試試
回復

使用道具 舉報

9#
ID:432823 發(fā)表于 2019-3-7 22:10 | 只看該作者
可能缺拍,正常時4個都亮,頻率不要超過200HZ
回復

使用道具 舉報

10#
ID:461673 發(fā)表于 2019-3-7 22:16 | 只看該作者
elima 發(fā)表于 2019-3-7 17:37
樓主好,不知道您的代碼寫得如何,發(fā)燙有可能是脈沖持續(xù)的時間太短了,導致脈沖帶不動電機,能量轉(zhuǎn)而消耗在 ...


這樣接線對嗎
回復

使用道具 舉報

11#
ID:486587 發(fā)表于 2019-3-7 22:39 | 只看該作者
我是先做一個LED接口,然后單步逐個發(fā)送數(shù)據(jù),正確后接上步進電機再聯(lián)發(fā)。你的最大可能是數(shù)據(jù)錯誤,因為一直在一個狀態(tài),電機一直通電,因此發(fā)熱
回復

使用道具 舉報

12#
ID:480682 發(fā)表于 2019-3-7 23:59 | 只看該作者
跟我一樣的。我給你代碼運行一下。/*******************************************************
ULN2003驅(qū)動5V減速步進電機程序
Target:STC89C52RC-40C
Crystal:12MHz
Author:戰(zhàn)神單片機工作室
Platform:51&avr單片機最小系統(tǒng)板+ULN2003步進電機驅(qū)動套件
*******************************************************
接線方式:
IN1 ---- P00
IN2 ---- P01
IN3 ---- P02
IN4 ---- P03
+   ---- +5V
-   ---- GND
*********************/
  1. #include<reg52.h>
  2. #define uchar unsigned char
  3. #define uint  unsigned int
  4. #define MotorData P0                    //步進電機控制接口定義
  5. uchar phasecw[4] ={0x08,0x04,0x02,0x01};//正轉(zhuǎn) 電機導通相序 D-C-B-A
  6. uchar phaseccw[4]={0x01,0x02,0x04,0x08};//反轉(zhuǎn) 電機導通相序 A-B-C-D
  7. //ms延時函數(shù)
  8. void Delay_xms(uint x)
  9. {
  10. uint i,j;
  11. for(i=0;i<x;i++)
  12.   for(j=0;j<112;j++);
  13. }
  14. //順時針轉(zhuǎn)動
  15. void MotorCW(void)
  16. {
  17. uchar i;
  18. for(i=0;i<4;i++)
  19.   {
  20.    MotorData=phasecw[i];
  21.    Delay_xms(4);//轉(zhuǎn)速調(diào)節(jié)
  22.   }
  23. }
  24. //逆時針轉(zhuǎn)動
  25. void MotorCCW(void)
  26. {
  27. uchar i;
  28. for(i=0;i<4;i++)
  29.   {
  30.    MotorData=phaseccw[i];
  31.    Delay_xms(4);//轉(zhuǎn)速調(diào)節(jié)
  32.   }
  33. }
  34. //停止轉(zhuǎn)動
  35. void MotorStop(void)
  36. {
  37. MotorData=0x00;
  38. }
  39. //主函數(shù)
  40. void main(void)
  41. {
  42. uint i;
  43. Delay_xms(50);//等待系統(tǒng)穩(wěn)定
  44. while(1)
  45. {
  46.   for(i=0;i<500;i++)
  47.   {
  48.    MotorCW();   //順時針轉(zhuǎn)動
  49.   }
  50.   MotorStop();  //停止轉(zhuǎn)動
  51.   Delay_xms(500);
  52.   for(i=0;i<500;i++)
  53.   {
  54.    MotorCCW();  //逆時針轉(zhuǎn)動
  55.   }
  56.   MotorStop();  //停止轉(zhuǎn)動
  57.   Delay_xms(500);  
  58. }
  59. }
復制代碼

回復

使用道具 舉報

13#
ID:426861 發(fā)表于 2019-3-8 08:59 | 只看該作者
用萬用表測量2003的電源,地,還有你配置的相關(guān)引腳,看電壓是否是你設(shè)置的
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表