步進電機應用廣泛,
例如打印機、磁盤驅動器、玩具、汽車雨刷、手機震動、機械夾具、刻錄機等各種機械控制場合
一些概念:
拍數N
定子控制繞組每改變一次通電方式,即為一拍
一個磁場通電周期是 A-B-C-D-A
完成一個磁場周期性變化所需脈沖數,
也指電機轉過一個齒距角所需脈沖數,用N表示
拍數又等于相數的1倍或2倍,
以四相電機為例,
有4相4拍, A-B-C-D-A...
4相8拍, A-AB-B-BC-C-CD-D-DA-A...
齒距角θz
一個通電循環周期(比如4拍)轉子轉過一個齒距角
齒距角又等于360除以轉子齒數Z, θz=360/Z
步距角θs
步距角,即在沒有減速齒輪的情況下,對于一個脈沖信號,轉子所轉過的機械角度.
也就是說,每一拍轉子轉過的角度稱之為步距角,通常用θs表示
θs=齒距角/拍數
θs=360/(N*Z)
步距角的誤差不會長期積累,只與輸入脈沖信號數相對應,
可以組成結構較為簡單而又具有一定精度的開環控制系統,
也可以在要求更高精度時組成閉環系統。
轉速X
每分鐘電機轉了多少轉?設脈沖頻率f
一個脈沖,轉子轉過角度為1/(ZN),
X=60*f/(ZN) 拍數與齒數表示法
=(f*θs)/6 步距角表示法
以上都是網上搜到的,整理了下,有不對的敬請指出,謝謝.
---------------------------------------------------------
de7df3cd-e31f-3c5b-9498-c1579e63cec5.png (124.27 KB, 下載次數: 61)
下載附件
2017-1-14 23:22 上傳
432e2f6a-0854-3f34-a7ed-23178da03c41.png (58.73 KB, 下載次數: 68)
下載附件
2017-1-14 23:22 上傳
我手上用到的步進電機
24BYJ48-5v 減速永磁步進電機
功能特點:
采用ULN2003驅動,使用方便,帶齒輪減速,噪音低,運轉平穩,5V即可驅動,
器件參數:
1.額定電壓:5-10V DC
2.直流電阻:60Ω±7%(25℃).
3.減速比:1/64
4.步距角:5.625°*(1/64), 含減速比
5.驅動方式:4相8拍
6.牽入轉距:≥350gf.cm(工作頻率:100PPS)
7.打滑扭力:800~1300gf.cm
8.溫升:≤55K(5VDC 工作頻率:100PPS)
9.噪音:≤35dB(空載,100PPS,水平距馬達10cm)
10.絕緣耐壓:600V AC/1秒
11.引線拉力強度:1Kgf/條
12.接線方式:5線4相
1.VCC 紅色
2.A 橙色
3.B 黃色
4.C 粉色
5.D 藍色
============================================================
- #include "my51.h"
- //4相8拍
- u8 code tableCCW[8]={0x08,0x0c,0x04,0x06,0x02,0x03,0x01,0x09}; //逆時針旋轉相序表
- u8 code tableCW[8]={0x09,0x01,0x03,0x02,0x06,0x04,0x0c,0x08}; //順時針旋轉相序表
- sbit S3=P3^5; //反轉 按鍵
- sbit S4=P3^6; //正轉 按鍵
- sbit S5=P3^4; //停止 按鍵
- void motorTurn_ccw() //轉1圈,逆時針
- {
- u8 i,j;
- for(j=0;j<8;j++) //電機內部的轉子旋轉一周
- {
- if(S5==0) //按鍵沒處理抖動
- {
- break; //如果停止鍵按下,退出此循環
- }
- for(i=0;i<8;i++) //旋轉45度, 8*5.625°=45°
- {
- P1=tableCCW[i];
- delayms(2); //調節轉速
- }
- }
- }
- void motorTurn_cw() //轉1圈 ,順時針
- {
- u8 i,j;
- for(j=0;j<8;j++) //8*45°=360°
- {
- if(S5==0)
- {
- break; //如果停止鍵按下,退出此循環
- }
- for(i=0;i<8;i++) //旋轉45度,8*5.625°=45°
- {
- P1=tableCW[i];
- delayms(2); //調節轉速
- }
- }
- }
- void main()
- {
- u8 r;
- u8 N=64; //減速步進電機,減速比1/64,所以N=64時,步進電機外主軸轉一圈
- P1=0xff; _nop_();
- ledLock= LOCK; //我們的P1口接有8個led燈,先鎖定,不要讓它們亮 ,節能環保
- while(1)
- {
- if(S3==0) //按鍵了
- {
- for(r=0;r<n;r++)
- {
- motorTurn_ccw(); //電機逆時針轉
- if(S5==0)
- {
- break; //俺S5鍵立馬停止
- }
- }
- }
- else if(S4==0)
- {
- for(r=0;r<n;r++)
- {
- motorTurn_cw(); //電機順時針轉
- if(S5==0)
- {
- break;
- }
- }
- }
- else
- {
- P1=0xf0; //平時也是停止的
- }
- }
- }
復制代碼
|