|
單片機驅(qū)動三相步進電機驅(qū)動電路圖
由于步進電機轉(zhuǎn)子有一定的慣性以及所帶負(fù)載的慣性,故步進電機的工作過程中不能及時的啟動和停止,在啟動時應(yīng)慢慢的加速到預(yù)定速度,在停止前應(yīng)逐漸減速到停止,否則,將產(chǎn)生失步現(xiàn)象。 三相步進電機的三相六拍工作方式,正轉(zhuǎn)的繞組通電順序:A、AB、B、BC、C、CA、A,反轉(zhuǎn)的通電順序:A、AC、C、CB、B、BA、B、A。 步進電機的驅(qū)動控制問題可總結(jié)為兩點
- #include "reg52.h"
- unsigned char code FFW[8]={0xfe,0xfc,0xfd,0xf9,0xfb,0xf3,0xf7,0xf6};
- void delay(unsigned int t);
- //Motor
- sbit F1 = P1^0;
- sbit F2 = P1^1;
- sbit F3 = P1^2;
- sbit F4 = P1^3;
- ///////////////////////////////////////
- //步進電機驅(qū)動
- void motor_ffw()
- {
- unsigned char i;
- for (i=0; i<8; i++) //一個周期轉(zhuǎn)30度
- {
- P1 = FFW[i]&0x1f; //取數(shù)據(jù)
- delay(5); //調(diào)節(jié)轉(zhuǎn)速
- }
- }
- void delay(unsigned int t)
- {
- unsigned int k;
- while(t--)
- {
- for(k=0; k<60; k++)
- { }
- }
- }
- main()
- {
- while(1)
- {
- motor_ffw();
- }
- }
復(fù)制代碼
單片機驅(qū)動三相步進電機驅(qū)動電路圖
|
|