![]() |
發布時間: 2018-10-6 19:14
正文摘要:現在做了一個裝置,使用89c52單片機產生pwm脈沖給步進電機驅動器,然后驅動步進電機轉動。現在出現兩個問題,第一:電機轉動很慢,而且起熱。有震動,2-3秒轉動一個齒。第二電機應該按照程序反轉,電機卻沒有倒轉。 ... |
試驗了一下高頻率4kHZ,驅動器可以正常工作。但是當給驅動器反向信號時,驅動器仍然正轉。在原理圖上模擬無問題。始終都是低電平。最后用單片機控制5V繼電器進行高低電平的切換。(原來用三極管S8050)。
|
今天試驗了一下頻率太低了。我把頻率提高到4kHZ,步進電機驅動正常。 |
1000Hz是頻率太高了不是太低了 |
剛剛發的程序注釋變成亂碼了,再傳一邊。 #include <reg51.h> #include <intrins.h> #define uchar unsigned char #define uint unsigned int sbit LED_R=P1^0; //紅色指示燈 sbit LED_G=P1^2; //綠色指示燈 sbit LED_B=P1^1; //藍色指示燈 sbit key_D=P3^6; //前進按鈕 sbit key_R=P3^7; //后退按鈕,目前不用 sbit PUL=P2^0; //脈沖口,連步進電機驅動器 sbit DIR=P2^1; //方向口,連步進電機驅動器 uchar time; uchar count; uchar temp; uint t=0; void Delay200us(); void Delay10ms(); void key_scan(); //按鍵程序 void main() { P1=0xff; P2=0x00; TMOD= 0x01; |