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