丁 沖,張 敏,辛 鵬
(中國空空導彈研究院,河南洛陽 471009)
步進電動機因具有轉子慣量低、定位精度高、無累積誤差等特點,非常適合用于開環位置控制系統中。直流電機是伺服控制中常用的電機。然而在實際系統中為滿足不同的功能往往同時存在多個運動部件,常用的方法是一個獨立的功能對應一個控制系統,這樣雖然模塊性很好,但是占用了大量的系統資源和空間,也在一定程度上降低了系統的可靠性。如在某系統中存在4個運動部件,分別為兩臺三相反應式步進電動機,一臺直流電機和一臺四相步進電動機的控制。本著提高系統集成度的想法,本文只用一個控制芯片C8051F020就完成了以上4臺電機的驅動控制,電路簡單,可靠性高。
基于Cygnal公司的MCU控制芯片C8051F020的多電機控制系統平臺,能根據控制指令完成對四臺電機的控制。組成框圖如圖1所示。

圖1 系統組成框圖
美國Cygnal公司生產的C8051F020單片機使用CIP-51微控制器內核。與標準的8051結構相比,它具有如下特點:
(1)指令執行速度有較大的提高,峰值速度達到25 MIPS;(2)除了4個標準的8051的端口外,還具有4個附加端口,共64個通用I/O端口;
(3)所有I/O端口均可配置為漏極開路或推挽輸出,進一步向低功耗應用發展;
(4)引入數字交叉開關,允許用戶自行組合通用I/O端口和所需的數字資源;
(5)具有兩個串行UART接口,5個16位通用定時器,5個比較捕捉模塊;
(6)具有片內看門狗、片內溫度傳感器和片內VDD監視器,使用時幾乎無需外擴;
(7)可通過JTAG接口實現軟件在線調試功能。
C8051F020單片機以其在執行速度、系統資源等方面的明顯優勢,成為本多電機控制系統非常理想的選擇。
根據與上位機的通訊協議,通訊接口采用標準雙向差分RS-422串口通訊,工作電壓為5 V,波特率為38400 bit/s。C8051F020系列MCU內部有兩個增強型全雙工UART,通訊協議為RS-232,工作電壓也為5 V。因此選用了MAX490器件,MAX490芯片可以很方便地將上位機的RS422差分信號轉為單片機的串口信號。具體電路如圖2所示。

圖2 通訊接口電路
步進電動機的控制可采用串行控制,采用環形分配器來完成換相。也可以采用并行控制,由單片機完成步進電動機的換相,在系統資源夠用的情況下,采用并行控制可以簡化設計電路。本系統采用了并行控制,由軟件控制單片機的I/O端口輸出按一定時序的PWM波,來控制電機繞組通斷電。
電機屬于感性負載,電機繞組中的電流不能突變,電機由A相換到B相之后,若沒有保護電路,A相繞組中的電流將保持相當長的時間,這樣電機運行很不平穩。為了使電機運行平穩,在系統加入了保護措施,使繞組線圈中的電流迅速瀉放,以利保護電機。圖3為電機一相的控制電路。

圖3 電機繞組的驅動控制電路
為了消除步進電動機的串擾,所有單片機輸出信號均經光耦隔離。單片機輸出信號為3.3 V TTL電平,這對電機來說驅動力不夠,因此采用場效應管經功率放大電路后,用來驅動電機。本系統步進電動機的驅動采用了單電壓驅動方式,這種驅動電路的優點是線路簡單,成本低,低頻時響應較好;缺點是存在共振,高頻帶載能力下降。系統要求的電機運轉速度較低,不考慮高頻帶載能力,為解決共振問題,采用PWM波對電機供電,通過改變電機的共振點來達到減小振動的目的。
直流電機是可以直接采用電源直接驅動的,設計直流電機驅動電路的主要目的就是對電機的轉速和轉向進行控制。在本系統中采用了橋式電路,如圖4所示。
這種橋式電路非常適合用來做數字控制,只需單片機按照一定的邏輯和時序控制開關管的開通關斷,就能實現直流電機的正反轉,也能調節電機繞組通電的占空比,從而達到改變電機轉速的目的。

圖4 直流電機橋式驅動電路設計
本系統中選用的功率元件為 IR公司生產的IRF840功率MOSFET,其工作電壓可達500 V,工作電流最高8 A,IRF840 MOSFET功率管的驅動功率小,工作速度高,開關時間短,熱穩定性好,抗干擾能力強,完全滿足系統的設計要求。
電源設計過程中為防止各種電源之間互相干擾,尤其是模擬大電源對數字電路部分產生噪聲影響,充分考慮了電源濾波的需求。在電路設計時,對供電電源做濾波處理,對控制信號做光電隔離處理。對輸入電源使用單獨接插件和單獨電源濾波器。對信號的輸入和大功率的輸出,也要分別使用接插件進行物理隔離。電機運轉時最大瞬時電流可高達2 A。為減少大功率輸出對數字電路產生影響,在設計時,采取有效的抗干擾措施,如將大功率輸出信號與數字信號采取有效光電隔離。
系統的軟件設計采用模塊化程序設計。主程序主要完成的內容:系統參數初始化、通訊指令解析、開啟中斷、進入子程序模塊輸出控制信號等。每個電機的不同動作均采用不同的子程序模塊,維護方便。系統主程序流程圖如圖5所示。

圖5 控制系統軟件流程
上電后,單片機程序初始化芯片的端口設置及變量初始賦值。當串口中斷發生,接收上位機發來的命令消息和發送反饋消息給上位機。然后解析本次命令,按具體內容進入不同的運程序,來控制不同的電機動作。
本文所述的控制方案,在一個系統中集成了四個電機的驅動控制電路,所有功率放大單元均采用場效應管自行搭建,在小功率步進電動機及直流電機驅動控制中有較強的通用性,最大驅動電流可達6 A??梢圆蛔魅魏蔚挠布膭?,僅通過重寫軟件,就可以直接應用在其它系統中驅動直流或步進電動機。
[1]Silicon Labs.C8051F020/1/2/3混合信號ISP FLASH微控制器數據手冊[M].潘琢金譯.沈陽:新華龍電子有限公司,2002.
[2]史敬灼.步進電動機伺服控制技術[M].北京:科學出版社,2006.
[3]王玉琳.一種實用型三相反應式步進電動機驅動器[J].微特電機 2007(3):21 -22,49.
[4]游志宇,杜楊,張洪,等.基于場效應管的直流電機驅動控制電路設計[J].國外電子元器件,2008(2):4-7.