步進電動機因具有轉子慣量低、定位精度高、無累積誤差等特點,非常適合用于開環(huán)位置控制系統(tǒng)中。直流電機是伺服控制中常用的電機。然而在實際系統(tǒng)中為滿足不同的功能往往同時存在多個運動部件,常用的方法是一個獨立的功能對應一個控制系統(tǒng),這樣雖然模塊性很好,但是占用了大量的系統(tǒng)資源和空間,也在一定程度上降低了系統(tǒng)的可靠性。
如在某系統(tǒng)中存在4 個運動部件,分別為兩臺三相反應式步進電動機,一臺直流電機和一臺四相步進電動機的控制。本著提高系統(tǒng)集成度的想法,本文只用一個控制芯片C8051F020 就完成了以上4 臺電機的驅動控制,電路簡單,可靠性高。
1 總體設計
基于Cygnal 公司的MCU 控制芯片C8051F020的多電機控制系統(tǒng)平臺,能根據(jù)控制指令完成對四臺電機的控制。組成框圖如圖1 所示。
2 硬件設計
2. 1 主控芯片選擇
美國Cygnal 公司生產(chǎn)的C8051F020單片機使用CIP - 51 微控制器內(nèi)核。與標準的8051 結構相比,它具有如下特點:
( 1) 指令執(zhí)行速度有較大的提高,峰值速度達到25 MIPS;
( 2) 除了4 個標準的8051 的端口外,還具有4 個附加端口,共64 個通用I /O 端口;
( 3) 所有I /O 端口均可配置為漏極開路或推挽輸出,進一步向低功耗應用發(fā)展;
( 4) 引入數(shù)字交叉開關,允許用戶自行組合通用I /O 端口和所需的數(shù)字資源;
( 5) 具有兩個串行UART接口,5 個16 位通用定時器,5個比較捕捉模塊;
( 6) 具有片內(nèi)看門狗、片內(nèi)溫度傳感器和片內(nèi)VDD 監(jiān)視器,使用時幾乎無需外擴;
( 7) 可通過JTAG接口實現(xiàn)軟件在線調試功能。
C8051F020 單片機以其在執(zhí)行速度、系統(tǒng)資源等方面的明顯優(yōu)勢,成為本多電機控制系統(tǒng)非常理想的選擇。
2. 2 通訊電路設計
根據(jù)與上位機的通訊協(xié)議,通訊接口采用標準雙向差分RS - 422 串口通訊,工作電壓為5 V,波特率為38 400 bit /s.C8051F020 系列MCU 內(nèi)部有兩個增強型全雙工UART,通訊協(xié)議為RS - 232,工作電壓也為5 V.因此選用了MAX490 器件,MAX490芯片可以很方便地將上位機的RS422 差分信號轉為單片機的串口信號。具體電路如圖2 所示。
2. 3 步進電動機驅動電路設計步進電動機的控制可采用串行控制,采用環(huán)形分配器來完成換相。也可以采用并行控制,由單片機完成步進電動機的換相,在系統(tǒng)資源夠用的情況下,采用并行控制可以簡化設計電路。本系統(tǒng)采用了并行控制,由軟件控制單片機的I /O 端口輸出按一定時序的PWM波,來控制電機繞組通斷電。
電機屬于感性負載,電機繞組中的電流不能突變,電機由A 相換到B 相之后,若沒有保護電路,A相繞組中的電流將保持相當長的時間,這樣電機運行很不平穩(wěn)。為了使電機運行平穩(wěn),在系統(tǒng)加入了保護措施,使繞組線圈中的電流迅速瀉放,以利保護電機。圖3 為電機一相的控制電路。
為了消除步進電動機的串擾,所有單片機輸出信號均經(jīng)光耦隔離。單片機輸出信號為3. 3 V TTL電平,這對電機來說驅動力不夠,因此采用場效應管經(jīng)功率放大電路后,用來驅動電機。本系統(tǒng)步進電動機的驅動采用了單電壓驅動方式,這種驅動電路的優(yōu)點是線路簡單,成本低,低頻時響應較好; 缺點是存在共振,高頻帶載能力下降。系統(tǒng)要求的電機運轉速度較低,不考慮高頻帶載能力,為解決共振問題,采用PWM波對電機供電,通過改變電機的共振點來達到減小振動的目的。
2. 4 直流電機橋式驅動電路設計
直流電機是可以直接采用電源直接驅動的,設計直流電機驅動電路的主要目的就是對電機的轉速和轉向進行控制。在本系統(tǒng)中采用了橋式電路,如圖4 所示。
這種橋式電路非常適合用來做數(shù)字控制,只需單片機按照一定的邏輯和時序控制開關管的開通關斷,就能實現(xiàn)直流電機的正反轉,也能調節(jié)電機繞組通電的占空比,從而達到改變電機轉速的目的。
2. 5 場效應管選擇
本系統(tǒng)中選用的功率元件為IR 公司生產(chǎn)的IRF840 功率MOSFET,其工作電壓可達500 V,工作電流最高8 A,IRF840 MOSFET 功率管的驅動功率小,工作速度高,開關時間短,熱穩(wěn)定性好,抗干擾能力強,完全滿足系統(tǒng)的設計要求。
2. 6 電源設計
電源設計過程中為防止各種電源之間互相干擾,尤其是模擬大電源對數(shù)字電路部分產(chǎn)生噪聲影響,充分考慮了電源濾波的需求。在電路設計時,對供電電源做濾波處理,對控制信號做光電隔離處理。
對輸入電源使用單獨接插件和單獨電源濾波器。對信號的輸入和大功率的輸出,也要分別使用接插件進行物理隔離。電機運轉時最大瞬時電流可高達2A.為減少大功率輸出對數(shù)字電路產(chǎn)生影響,在設計時,采取有效的抗干擾措施,如將大功率輸出信號與數(shù)字信號采取有效光電隔離。
3 軟件設計
系統(tǒng)的軟件設計采用模塊化程序設計。主程序主要完成的內(nèi)容: 系統(tǒng)參數(shù)初始化、通訊指令解析、開啟中斷、進入子程序模塊輸出控制信號等。每個電機的不同動作均采用不同的子程序模塊,維護方便。系統(tǒng)主程序流程圖如圖5 所示。
上電后,單片機程序初始化芯片的端口設置及變量初始賦值。當串口中斷發(fā)生,接收上位機發(fā)來的命令消息和發(fā)送反饋消息給上位機。然后解析本次命令,按具體內(nèi)容進入不同的運程序,來控制不同的電機動作。
4 結語
本文所述的控制方案,在一個系統(tǒng)中集成了四個電機的驅動控制電路,所有功率放大單元均采用場效應管自行搭建,在小功率步進電動機及直流電機驅動控制中有較強的通用性,最大驅動電流可達6A.可以不作任何的硬件改動,僅通過重寫軟件,就可以直接應用在其它系統(tǒng)中驅動直流或步進電動機