標題: 求大神指點步進電機控制 [打印本頁]
作者: 恍恍A惚惚 時間: 2017-9-18 08:56
標題: 求大神指點步進電機控制
要求兩個步進電機同時運行,啟停,可正反轉,可加減速。
作者: zl2168 時間: 2017-9-18 19:32
本帖最后由 zl2168 于 2017-9-18 19:42 編輯
實例98 驅動四相步進電機
先Proteus仿真一下,確認有效
4.jpg (115.19 KB, 下載次數(shù): 49)
下載附件
2017-9-18 19:42 上傳
。以上摘自張志良編著《80C51單片機仿真設計實例教程——基于Keil C和Proteus》清華大學出版社ISBN 978-7-302-41682-1,內有常用的單片機應用100案例,用于仿真實驗操作,電路與程序真實可靠可信可行。書中電路和程序設計有詳細說明,程序語句條條有注解。仿真電路和Hex文件能在清華出版社網(wǎng)站免費下載,程序源代碼只能到書上看了。到圖書館借,或到新華書店翻閱,或到網(wǎng)上書店打折購買。
作者: 張碭碭 時間: 2017-9-18 20:30
把兩個電機寫到同一個函數(shù)比如
作者: 張碭碭 時間: 2017-9-18 20:33
把兩個電機寫到同一個函數(shù)里
比如
void dianji ()
{
moto1=1
moto2=1
moto1=0
moto2=0
....
}
把脈沖寫進去
作者: 無量壽經(jīng) 時間: 2017-9-18 21:06
以下內容來源于《51單片機輕松入門 基于STC15W4K系列》,只要把這章內容搞懂后想怎么控制就怎么控制。
第15章 步進 電 機 測 試
15.1 步進電機特點
步進電機也稱為步進馬達,相比其它電機有以下特點:
① 步進電機旋轉角度和輸入脈沖成正比,通常市面所售步進電機說明書會說明其步進角(也就是一個脈沖所產(chǎn)生的旋轉角度),比如常見的小體積永磁式電機的步進角是7.5°,則送給它48個脈沖使步進電機正好轉動一圈。
② 步進電機誤差很小,沒有累積誤差,因此控制步進電機正反轉還是會回到原來的位置,不會因為誤差累積而使初始位置越來越遠。
③ 具有自保持特性,任何一相線圈加上電源后,電機本身具有自保持力矩,不送脈沖情況下會停止在一定位置,不會改變。
④ 步進電機空載最高啟動頻率一般能達到450Hz,使用頻率不能超過允許最高頻率,否則電機只能振動,無法運轉。
⑤ 常見步進電機供電電壓是5V、12V、24V,供電電壓允許誤差±10%,電機外殼上一般都會對供電電壓規(guī)格作相應標識。
常見步進電機外形與內部電路如圖15-1所示。
dj.JPG (22.31 KB, 下載次數(shù): 40)
下載附件
2017-9-18 21:00 上傳
dj2.JPG (155.16 KB, 下載次數(shù): 46)
下載附件
2017-9-18 21:03 上傳
dj3.JPG (105.74 KB, 下載次數(shù): 48)
下載附件
2017-9-18 21:04 上傳
15.4 步進電機驅動實例
例15.1 步進電機正反轉測試,使用圖15-7或圖15-8的電路,采用1-2相勵磁,要求上電后順轉200步,然后反轉200步,如此循環(huán),完整實驗代碼如下。
// 使用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相勵磁,發(fā)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為實際步數(shù)
{
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為實際步數(shù)
{
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, 下載次數(shù): 42)
下載附件
2017-9-18 21:05 上傳
作者: kaidxp66 時間: 2017-9-19 10:50
電路相同,時序相同。
歡迎光臨 (http://www.torrancerestoration.com/bbs/) |
Powered by Discuz! X3.1 |