以下內容來源于《51單片機輕松入門 基于STC15W4K系列》,只要把這章內容搞懂后想怎么控制就怎么控制。
第15章 步進 電 機 測 試 15.1 步進電機特點 步進電機也稱為步進馬達,相比其它電機有以下特點: ① 步進電機旋轉角度和輸入脈沖成正比,通常市面所售步進電機說明書會說明其步進角(也就是一個脈沖所產生的旋轉角度),比如常見的小體積永磁式電機的步進角是7.5°,則送給它48個脈沖使步進電機正好轉動一圈。 ② 步進電機誤差很小,沒有累積誤差,因此控制步進電機正反轉還是會回到原來的位置,不會因為誤差累積而使初始位置越來越遠。 ③ 具有自保持特性,任何一相線圈加上電源后,電機本身具有自保持力矩,不送脈沖情況下會停止在一定位置,不會改變。 ④ 步進電機空載最高啟動頻率一般能達到450Hz,使用頻率不能超過允許最高頻率,否則電機只能振動,無法運轉。 ⑤ 常見步進電機供電電壓是5V、12V、24V,供電電壓允許誤差±10%,電機外殼上一般都會對供電電壓規格作相應標識。 常見步進電機外形與內部電路如圖15-1所示。
dj.JPG (22.31 KB, 下載次數: 40)
下載附件
2017-9-18 21:00 上傳
dj2.JPG (155.16 KB, 下載次數: 46)
下載附件
2017-9-18 21:03 上傳
dj3.JPG (105.74 KB, 下載次數: 48)
下載附件
2017-9-18 21:04 上傳
15.4 步進電機驅動實例 例15.1 步進電機正反轉測試,使用圖15-7或圖15-8的電路,采用1-2相勵磁,要求上電后順轉200步,然后反轉200步,如此循環,完整實驗代碼如下。 // 使用P20、P21、P22、P23口驅動電機 #include "STC15W4K.H " unsigned char codeBiaoGe[8]={0x08,0x0C,0x04,0x06,0x02,0x03,0x01,0x09}; //表格,換算成二進制 1000,1100,0100,0110 ,0010,0011, 0001 1001 //P2口輸出低4位驅動電機 A B /A /B //1——2相勵磁,發8次脈沖(順序輸出上面表格)轉動4步 void PROT_Init(void) { P2M1 =0x80; // 1000 0000 P2.0、P2.1、P2.2、P2.3、接驅動功率管,推挽輸出 P2M0 = 0x0f; // 0000 1111 P2.7 接接霍爾傳感器信號輸入,高阻輸入 } void shun200() // 順轉200步 { unsigned int i; unsigned charn; n=0; for(i=0;i<400;i++) // 200步,i/2為實際步數 { P2=BiaoGe[n]|0xf0; // 不影響P2口高4位 delay3ms(); n=n+1; if (n>7) { n=0; } } P2&=0xf0; // 保證電機繞組斷電 } void fan200() // 反轉200步 { unsigned int i; unsigned charn; n=8; for(i=0;i<400;i++) // 200步,i/2為實際步數 { n=n-1; P2=BiaoGe[n]|0xF0; //不影響P2口高4位 delay3ms(); if (n==0) { n=8; } } P2&=0xf0; // 保證電機繞組斷電 } void main(void) { PROT_Init(); // 初始化端口 while(1) { shun200(); delay1s(); fan200(); delay1s(); } }
書封面照片.JPG (440.22 KB, 下載次數: 42)
下載附件
2017-9-18 21:05 上傳
|