大家好,通過以前的學習,我們已經對51單片機綜合學習系統的使用方法及學習方式有所了解與熟悉,學會了紅外線遙控的基本知識,體會到了綜合學習系統的易用性與易學性,這一期我們將一起學習步進電機控制的基本原理與使用方法。先看一下我們將要使用的51單片機綜合學習系統能完成哪些實驗與產品開發工作:分別有流水燈,數碼管顯示,液晶顯示,按鍵開關,蜂鳴器奏樂,繼電器控制,IIC總線,SPI總線,PS/2實驗,AD模數轉換,光耦實驗,串口通信,紅外線遙控,無線遙控,溫度傳感,步進電機控制等等。
本文引用地址:http://cqxgywz.com/article/201611/320396.htm
上圖是我們將要使用的51單片機綜合學習系統硬件平臺,本期實驗我們用到了綜合系統主機、步進電機,綜合系統其它功能模塊原理與使用詳見前幾期《電子制作》雜志及后期連載教程介紹。
步進電機是將電脈沖信號轉變為角位移或線位移的開環控制元件。在非超載的情況下,電機的轉速、停止的位置只取決于脈沖信號的頻率和脈沖數,而不受負載變化的影響,當步進驅動器接收到一個脈沖信號,它就驅動步進電機按設定的方向轉動一個固定的角度(稱為“步距角”),它的旋轉是以固定的角度一步一步運行的??梢酝ㄟ^控制脈沖個數來控制角位移量,從而達到準確定位的目的;同時可以通過控制脈沖頻率來控制電機轉動的速度和加速度,從而達到調速的目的。步進電機可以作為一種控制用的特種電機,利用其沒有積累誤差(精度為100%)的特點,廣泛應用于各種開環控制。
步進電機分類與結構
現在比較常用的步進電機分為三種:反應式步進電機(VR)、永磁式步進電機(PM)、混合式步進電機(HB)。本章節以反應式步進電機為例,介紹其基本原理與應用方法。反應式步進電機可實現大轉矩輸出,步進角一般為1.5度。反應式步進電機的轉子磁路由軟磁材料制成,定子上有多相勵磁繞組,利用磁導的變化產生轉矩。常用小型步進電機的實物如圖1所示。

圖1步進電機實物圖

圖2 步進電機內部圖
步進電機現場應用驅動電路
綜合系統使用的是小型步進電機,對電壓和電流要求不是很高,為了說明應用原理,故采用最簡單的驅動電路,目的在于驗證步進電機的使用,在正式工業控制中還需在此基礎上改進。一般的驅動電路可以用圖3的形式。

圖3 一般驅動電路
在實際應用中一般驅動路數不止一路,用上圖的分立電路體積大,很多場合用現成的集成電路作為多路驅動。常用的小型步進電機驅動電路可以用ULN2003或ULN2803。本書配套實驗板上用的是ULN2003。ULN2003是高壓大電流達林頓晶體管陣列系列產品,具有電流增益高、工作電壓高、溫度范圍寬、帶負載能力強等特點,適應于各類要求高速大功率驅動的系統。ULN2003A由7組達林頓晶體管陣列和相應的電阻網絡以及鉗位二極管網絡構成,具有同時驅動7組負載的能力,為單片雙極型大功率高速集成電路。ULN2003內部結構及等效電路圖如圖4:


圖4 ULN2003內部框圖及等效電路圖
ULN2003A型高壓大電流達林頓晶體管陣列電路的典型應用電路框圖如圖5所示。鉗位二極管用于保護線圈通斷時的反電動勢擊穿集成電路,可以看出,該電路的應用非常簡單。


圖5 典型應用圖
步進電機的程序設計
實現功能:開發板上電時電機正轉,按住51單片機綜合學習系統上的按鍵SW20(P14)時反轉。

圖6 步進電機實驗演示圖
電機正反轉的環形脈沖分配表如下:
步數 | 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:正轉環形脈沖分配表
步數 | 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:反轉環形脈沖分配表
硬件原理圖

圖7 硬件原理圖
程序流程圖

圖8 軟件流程圖
軟件代碼
#include
sbit key = P1^4;
void delay(void)
{
int k;
for(k=0;k<2000;k++);
}
void main()
{
P0=0x00;//輸出全高
key=1;//按鍵置輸入狀態
while(1)//主循環
{
if(key==1)//無鍵按下正轉
{
P0=0xFC;//1100
delay();
P0=0xF6;//0110
delay();
P0=0xF3;//0011
delay();
P0=0xF9;//1001
delay();
}
else//有鍵按下反轉
{
P0=0xFC;//1100
delay();
P0=0xF9;//1001
delay();
P0=0xF3;//0011
delay();
P0=0xF6;//0110
delay();
}
}
}

相信看到這里,你應該可以理解步進電機控制的原理是怎么樣的了,你也可以根據自己的需要來設定步進電機的轉動軌跡。由于篇幅有限,讀者朋友可以通過網站或電子郵件一起交流與學習。在下幾期中,我們將陸續介紹51單片機綜合學習系統的其它功能原理與應用。
評論