大家好,通過以前的學習,我們已經(jīng)對51單片機綜合學習系統(tǒng)的使用方法及學習方式有所了解與熟悉,學會了紅外線遙控的基本知識,體會到了綜合學習系統(tǒng)的易用性與易學性,這一期我們將一起學習步進電機控制的基本原理與使用方法。先看一下我們將要使用的51單片機綜合學習系統(tǒng)能完成哪些實驗與產(chǎn)品開發(fā)工作:分別有流水燈,數(shù)碼管顯示,液晶顯示,按鍵開關,蜂鳴器奏樂,繼電器控制,IIC總線,SPI總線,PS/2實驗,AD模數(shù)轉(zhuǎn)換,光耦實驗,串口通信,紅外線遙控,無線遙控,溫度傳感,步進電機控制等等。
本文引用地址:http://cafeforensic.com/article/201611/320396.htm上圖是我們將要使用的51單片機綜合學習系統(tǒng)硬件平臺,本期實驗我們用到了綜合系統(tǒng)主機、步進電機,綜合系統(tǒng)其它功能模塊原理與使用詳見前幾期《電子制作》雜志及后期連載教程介紹。
步進電機是將電脈沖信號轉(zhuǎn)變?yōu)榻俏灰苹蚓€位移的開環(huán)控制元件。在非超載的情況下,電機的轉(zhuǎn)速、停止的位置只取決于脈沖信號的頻率和脈沖數(shù),而不受負載變化的影響,當步進驅(qū)動器接收到一個脈沖信號,它就驅(qū)動步進電機按設定的方向轉(zhuǎn)動一個固定的角度(稱為“步距角”),它的旋轉(zhuǎn)是以固定的角度一步一步運行的??梢酝ㄟ^控制脈沖個數(shù)來控制角位移量,從而達到準確定位的目的;同時可以通過控制脈沖頻率來控制電機轉(zhuǎn)動的速度和加速度,從而達到調(diào)速的目的。步進電機可以作為一種控制用的特種電機,利用其沒有積累誤差(精度為100%)的特點,廣泛應用于各種開環(huán)控制。
步進電機分類與結(jié)構
現(xiàn)在比較常用的步進電機分為三種:反應式步進電機(VR)、永磁式步進電機(PM)、混合式步進電機(HB)。本章節(jié)以反應式步進電機為例,介紹其基本原理與應用方法。反應式步進電機可實現(xiàn)大轉(zhuǎn)矩輸出,步進角一般為1.5度。反應式步進電機的轉(zhuǎn)子磁路由軟磁材料制成,定子上有多相勵磁繞組,利用磁導的變化產(chǎn)生轉(zhuǎn)矩。常用小型步進電機的實物如圖1所示。
圖1步進電機實物圖
圖2 步進電機內(nèi)部圖
步進電機現(xiàn)場應用驅(qū)動電路
綜合系統(tǒng)使用的是小型步進電機,對電壓和電流要求不是很高,為了說明應用原理,故采用最簡單的驅(qū)動電路,目的在于驗證步進電機的使用,在正式工業(yè)控制中還需在此基礎上改進。一般的驅(qū)動電路可以用圖3的形式。
圖3 一般驅(qū)動電路
在實際應用中一般驅(qū)動路數(shù)不止一路,用上圖的分立電路體積大,很多場合用現(xiàn)成的集成電路作為多路驅(qū)動。常用的小型步進電機驅(qū)動電路可以用ULN2003或ULN2803。本書配套實驗板上用的是ULN2003。ULN2003是高壓大電流達林頓晶體管陣列系列產(chǎn)品,具有電流增益高、工作電壓高、溫度范圍寬、帶負載能力強等特點,適應于各類要求高速大功率驅(qū)動的系統(tǒng)。ULN2003A由7組達林頓晶體管陣列和相應的電阻網(wǎng)絡以及鉗位二極管網(wǎng)絡構成,具有同時驅(qū)動7組負載的能力,為單片雙極型大功率高速集成電路。ULN2003內(nèi)部結(jié)構及等效電路圖如圖4:
圖4 ULN2003內(nèi)部框圖及等效電路圖
ULN2003A型高壓大電流達林頓晶體管陣列電路的典型應用電路框圖如圖5所示。鉗位二極管用于保護線圈通斷時的反電動勢擊穿集成電路,可以看出,該電路的應用非常簡單。
圖5 典型應用圖
步進電機的程序設計
實現(xiàn)功能:開發(fā)板上電時電機正轉(zhuǎn),按住51單片機綜合學習系統(tǒng)上的按鍵SW20(P14)時反轉(zhuǎn)。
圖6 步進電機實驗演示圖
電機正反轉(zhuǎn)的環(huán)形脈沖分配表如下:
步數(shù) | P00 | P01 | P02 | P03 |
A | B | /A | /B |
1 | 1 | 1 | 0 | 0 |
2 | 0 | 1 | 1 | 0 |
3 | 0 | 0 | 1 | 1 |
4 | 1 | 0 | 0 | 1 |
表1:正轉(zhuǎn)環(huán)形脈沖分配表
步數(shù) | P00 | P01 | P02 | P03 |
A | B | /A | /B |
1 | 1 | 1 | 0 | 0 |
2 | 1 | 0 | 0 | 1 |
3 | 0 | 0 | 1 | 1 |
4 | 0 | 1 | 1 | 0 |
表2:反轉(zhuǎn)環(huán)形脈沖分配表
硬件原理圖
圖7 硬件原理圖
程序流程圖
圖8 軟件流程圖
軟件代碼
#include
sbit key = P1^4;
void delay(void)
{
int k;
for(k=0;k<2000;k++);
}
void main()
{
P0=0x00;//輸出全高
key=1;//按鍵置輸入狀態(tài)
while(1)//主循環(huán)
{
if(key==1)//無鍵按下正轉(zhuǎn)
{
P0=0xFC;//1100
delay();
P0=0xF6;//0110
delay();
P0=0xF3;//0011
delay();
P0=0xF9;//1001
delay();
}
else//有鍵按下反轉(zhuǎn)
{
P0=0xFC;//1100
delay();
P0=0xF9;//1001
delay();
P0=0xF3;//0011
delay();
P0=0xF6;//0110
delay();
}
}
}
相信看到這里,你應該可以理解步進電機控制的原理是怎么樣的了,你也可以根據(jù)自己的需要來設定步進電機的轉(zhuǎn)動軌跡。由于篇幅有限,讀者朋友可以通過網(wǎng)站或電子郵件一起交流與學習。在下幾期中,我們將陸續(xù)介紹51單片機綜合學習系統(tǒng)的其它功能原理與應用。
評論