單片機用的是STC89c52RC,接電壓5V,電機驅動器用的是SH-20403接電壓24V,步進電機用的是4相的電機,連接后電機不轉,不知道哪里出錯了
首先,排除電機,驅動器壞了,或者接線有問題,因為通過其他程序測試過,電機可以轉
那么就可能是程序的問題,不過程序也沒啥問題啊,用這個程序在proteus中,將L298與L297組合在一起當成一個驅動器,仿真結果電機可以轉
很糾結,煩請各位大佬,多多指點。
實物圖如下:
微信圖片_20180917113932.jpg (124.83 KB, 下載次數: 50)
下載附件
驅動器和電機接線
2018-9-17 11:40 上傳
微信圖片_20180917113947.jpg (149.1 KB, 下載次數: 39)
下載附件
單片機與驅動器接線
2018-9-17 11:40 上傳
1537155916(1).jpg (239.52 KB, 下載次數: 37)
下載附件
驅動器的資料
2018-9-17 11:45 上傳
程序如下:
- #include <reg52.h>
- #include <intrins.h>
- sbit dir=P2^7;
- sbit en=P2^6;
- sbit pulse=P2^5;
- int i;
- void Delay() // 12M晶振1s延時
- {
- unsigned char j, k;
- for (j = 116; j > 0; j--)
- for (k = 214; k > 0; k--); //
- }
- void Init_timer0()
- {
- TMOD=0x01;
- TH0=(65535-2000)/256;
- TL0=(65536-2000)%256;
- TR0=1;
- ET0=1;
- EA=1;
- }
- void timer0()interrupt 1
- {
- TH0=(65535-2000)/256;
- TL0=(65536-2000)%256;
- pulse=~pulse;
- }
- void main()
- {
- Init_timer0();
- dir=0;
- en=1;
- for(i=10;i>0;i--)
- {
- _nop_();
- }
- while(1)
- {
- }
- }
復制代碼
|