標(biāo)題: 單片機(jī)ULN2003驅(qū)動(dòng)步進(jìn)電機(jī)程序?qū)戇M(jìn)去后不轉(zhuǎn) 微微發(fā)燙 [打印本頁]

作者: 橙子皮o( ̄)    時(shí)間: 2019-3-7 14:18
標(biāo)題: 單片機(jī)ULN2003驅(qū)動(dòng)步進(jìn)電機(jī)程序?qū)戇M(jìn)去后不轉(zhuǎn) 微微發(fā)燙
這一款的

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



作者: 小李子鐵頭    時(shí)間: 2019-3-7 15:10
步進(jìn)電機(jī)在剎車的時(shí)候電流是非常大的,要不就會(huì)溜了
作者: yzwzfyz    時(shí)間: 2019-3-7 15:52
你給了驅(qū)動(dòng),但沒有換相或相序混亂。
作者: 橙子皮o( ̄)    時(shí)間: 2019-3-7 16:15
小李子鐵頭 發(fā)表于 2019-3-7 15:10
步進(jìn)電機(jī)在剎車的時(shí)候電流是非常大的,要不就會(huì)溜了

都沒轉(zhuǎn)哪來的剎車
作者: dapan    時(shí)間: 2019-3-7 16:23
示波器看一下驅(qū)動(dòng)波形,如果沒有示波器,可以先杜邦線按照通電順序手動(dòng)接一下,看是否正常以排除硬件問題
作者: elima    時(shí)間: 2019-3-7 17:37
樓主好,不知道您的代碼寫得如何,發(fā)燙有可能是脈沖持續(xù)的時(shí)間太短了,導(dǎo)致脈沖帶不動(dòng)電機(jī),能量轉(zhuǎn)而消耗在電機(jī)的線圈上面。我這里有一種驅(qū)動(dòng)您上面步進(jìn)電機(jī)的方法:

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

具體的脈沖編碼如下:
   while(1)
{……
  p1.4=0;p1.0=1;delay_ms(20);//讓脈沖延時(shí)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);
……
}
最后如果還不行請(qǐng)看看這一份文件,希望能幫到您!

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

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

步進(jìn)電機(jī)驅(qū)動(dòng)


作者: lfc315    時(shí)間: 2019-3-7 18:02
發(fā)燙說明程序有跑起來,只是驅(qū)動(dòng)馬達(dá)線圈的時(shí)序不對(duì)
作者: 橙子皮o( ̄)    時(shí)間: 2019-3-7 21:40
elima 發(fā)表于 2019-3-7 17:37
樓主好,不知道您的代碼寫得如何,發(fā)燙有可能是脈沖持續(xù)的時(shí)間太短了,導(dǎo)致脈沖帶不動(dòng)電機(jī),能量轉(zhuǎn)而消耗在 ...

嗯  我去試試
作者: yaoji123    時(shí)間: 2019-3-7 22:10
可能缺拍,正常時(shí)4個(gè)都亮,頻率不要超過200HZ
作者: 橙子皮o( ̄)    時(shí)間: 2019-3-7 22:16
elima 發(fā)表于 2019-3-7 17:37
樓主好,不知道您的代碼寫得如何,發(fā)燙有可能是脈沖持續(xù)的時(shí)間太短了,導(dǎo)致脈沖帶不動(dòng)電機(jī),能量轉(zhuǎn)而消耗在 ...


這樣接線對(duì)嗎

作者: yangjiyou1969    時(shí)間: 2019-3-7 22:39
我是先做一個(gè)LED接口,然后單步逐個(gè)發(fā)送數(shù)據(jù),正確后接上步進(jìn)電機(jī)再聯(lián)發(fā)。你的最大可能是數(shù)據(jù)錯(cuò)誤,因?yàn)橐恢痹谝粋(gè)狀態(tài),電機(jī)一直通電,因此發(fā)熱
作者: 21753很難    時(shí)間: 2019-3-7 23:59
跟我一樣的。我給你代碼運(yùn)行一下。/*******************************************************
ULN2003驅(qū)動(dòng)5V減速步進(jìn)電機(jī)程序
Target:STC89C52RC-40C
Crystal:12MHz
Author:戰(zhàn)神單片機(jī)工作室
Platform:51&avr單片機(jī)最小系統(tǒng)板+ULN2003步進(jìn)電機(jī)驅(qū)動(dòng)套件
*******************************************************
接線方式:
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                    //步進(jìn)電機(jī)控制接口定義
  5. uchar phasecw[4] ={0x08,0x04,0x02,0x01};//正轉(zhuǎn) 電機(jī)導(dǎo)通相序 D-C-B-A
  6. uchar phaseccw[4]={0x01,0x02,0x04,0x08};//反轉(zhuǎn) 電機(jī)導(dǎo)通相序 A-B-C-D
  7. //ms延時(shí)函數(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. //順時(shí)針轉(zhuǎn)動(dòng)
  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. //逆時(shí)針轉(zhuǎn)動(dòng)
  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)動(dòng)
  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();   //順時(shí)針轉(zhuǎn)動(dòng)
  49.   }
  50.   MotorStop();  //停止轉(zhuǎn)動(dòng)
  51.   Delay_xms(500);
  52.   for(i=0;i<500;i++)
  53.   {
  54.    MotorCCW();  //逆時(shí)針轉(zhuǎn)動(dòng)
  55.   }
  56.   MotorStop();  //停止轉(zhuǎn)動(dòng)
  57.   Delay_xms(500);  
  58. }
  59. }
復(fù)制代碼


作者: 天風(fēng)情    時(shí)間: 2019-3-8 08:59
用萬用表測量2003的電源,地,還有你配置的相關(guān)引腳,看電壓是否是你設(shè)置的




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1