基于STC單片機的經(jīng)濟型步進電機控制系統(tǒng)
0 引 言
步進電機是工業(yè)控制中應(yīng)用十分廣泛的一種電動機,它能將數(shù)字信號直接轉(zhuǎn)換成角位移或線位移,驅(qū)動速度和指令脈沖能嚴格同步,具有較高的定位精度,控制系統(tǒng)成本低廉,在經(jīng)濟型數(shù)控機床等領(lǐng)域應(yīng)用廣泛。這里針對電磁干擾較強以及要求低成本應(yīng)用的場合,采用超強抗干擾、小巧低功耗的工業(yè)級STC12C系列單片機,充分利用單片機內(nèi)部的硬件資源,設(shè)計實用的步進電機控制和驅(qū)動系統(tǒng)。
1 控制系統(tǒng)總體方案設(shè)計
系統(tǒng)功能原理示意圖如圖1所示。
在該系統(tǒng)中由單片機直接輸出電機的各相控制脈沖序列,光耦進行必要的光電隔離,采用分立元件構(gòu)成功率.MOSFET管驅(qū)動電路,帶動電機轉(zhuǎn)動。鍵盤接口與 LED顯示功能由具有SPI串行接口功能的ZLG7289實現(xiàn)。既可使用按鍵輸入的方式精確設(shè)置電機的工作方式與轉(zhuǎn)速,也可以通過調(diào)速旋鈕實現(xiàn)電機轉(zhuǎn)速的連續(xù)調(diào)節(jié),還能通過上位機實現(xiàn)對電機工作方式的調(diào)整與控制。
2 硬件電路設(shè)計
2.1 控制電路設(shè)計
控制芯片采用STC12C4052AD,它是1個時鐘/機器周期的單片機,速度比普通的8051單片機快8~12倍,有20個引腳且為小巧封裝。該單片機具有超強抗干擾,抗靜電的特點,能輕松通過4 kV快速脈沖干擾,其功耗超低,正常工作模式下的典型功耗為2.7~7 mA。芯片自帶硬件看門狗,具有高速SPI通信端口,8通道8位A/D轉(zhuǎn)換,2路PWM輸出,4 KB容量的FLASH存儲器,256 B容量的SRAM,4個定時器,1個全雙工串行通信口。由于單片機內(nèi)部的資源豐富,性價比高,能夠滿足該設(shè)計的要求,而且減少了硬件電路的設(shè)計,提高了工作效率。單片機的外部引腳定義,及其在該設(shè)計中的資源分布如圖2所示。
P1.4(ADC4)口外接4.7 kΩ的可調(diào)電位器,利用單片機內(nèi)部的模/數(shù)轉(zhuǎn)換功能轉(zhuǎn)換成數(shù)字量,進而控制輸出脈沖頻率,完成步進電機速度的“連續(xù)”調(diào)節(jié)。過流檢測的結(jié)果直接引入到外部中斷0,實現(xiàn)對電流的快速控制。
2.2 驅(qū)動電路設(shè)計
功率MOSFET管的部分驅(qū)動電路如圖3所示。該電路的設(shè)計可改進功率MOSFET管的快速開通時間,提高了驅(qū)動電流的前后沿陡度,能夠改善高頻響應(yīng)。功率MOSFET管柵源間的阻抗很高,工作于開關(guān)狀態(tài)下漏源間電壓的突變會通過極間電容耦合到柵極,產(chǎn)生相當幅度的VGS脈沖電壓。正方向的VGS脈沖電壓可能會導(dǎo)致器件的誤導(dǎo)通。為此,需要適當降低柵極驅(qū)動電路的阻抗,在柵源之間并接阻尼電阻或接一個穩(wěn)壓值小于20 V,而又接近20 V的齊納二極管,以防止柵源開路工作。
為了抑制功率管內(nèi)的快恢復(fù),二極管出現(xiàn)反向恢復(fù)效應(yīng),在電路中接入4只快恢復(fù)二極管。其中,反并聯(lián)快恢復(fù)二極管的作用是為電機相繞組提供續(xù)流通路,其余2 只是為了使功率MOSFET管內(nèi)部的快恢復(fù)二極管不流過反向電流,以保證功率MOSFET管在動態(tài)工作時能起到正常的開關(guān)的作用。
2.3 顯示與按鍵處理電路
在單片機應(yīng)用系統(tǒng)中,典型的鍵盤顯示接口電路由基于并行擴展技術(shù)的8155,8279構(gòu)成控制電路。現(xiàn)代單片機應(yīng)用系統(tǒng)廣泛采用串行擴展技術(shù)。相對于并行方式,串行擴展接線靈活,占用單片機資源少。
ZLG7289A是具有SPI串行接口功能的可同時驅(qū)動8位數(shù)碼管或64只獨立LED的智能顯示驅(qū)動芯片,單片即可完成顯示、鍵盤接口的全部功能。采用串行方式與微處理器通信,數(shù)據(jù)從DIO引腳送入芯片,并由CLK端同步。當選信號變?yōu)榈碗娖胶?,DIO引腳上的數(shù)據(jù)在CLK引腳的上升沿被寫入 ZLG7289A的緩沖寄存器。圖4是ZLG7289的典型應(yīng)用。ZLG7289A連接共陰式數(shù)碼管,應(yīng)用中不需要的數(shù)碼管與鍵盤可以不連接,省去數(shù)碼管或?qū)?shù)碼管設(shè)置消隱屬性,這均不會影響鍵盤的使用。整個電路無需添加鎖存器和驅(qū)動器,耗電少,軟件設(shè)計中無需編寫顯示譯碼程序,省去了靜態(tài)顯示擴展芯片,大大節(jié)省了CPU的時間。該電路設(shè)計中僅采用4×4鍵盤和4位數(shù)碼管,已完全滿足設(shè)計需要。
3 軟件設(shè)計
軟件部分采用模塊化結(jié)構(gòu)設(shè)計。對步進電機轉(zhuǎn)速的控制是通過定時器工作在中斷方式實現(xiàn)的。定時器定時中斷產(chǎn)生周期性脈沖序列,不是采用軟件延時的方式,這樣不占用CPU的時間。CPU在非中斷時間內(nèi)可以處理其他事件,只有在中斷發(fā)生時才驅(qū)動步進電機轉(zhuǎn)動一步。根據(jù)步進電機勵磁狀態(tài)轉(zhuǎn)換,采用查表法求出所需的輸出狀態(tài),并以二進制碼的形式依次存入單片機內(nèi)部的存儲器中;然后按照正向或反向順序依次取出地址的狀態(tài)字,送給STC12C4052AD,輸出各勵磁狀態(tài),從而實現(xiàn)環(huán)形分配器的功能。
程序總體框架包括:主程序、過流檢測中斷服務(wù)子程序、定時器中斷服務(wù)子程序、以及其他子程序(包括正轉(zhuǎn)、反轉(zhuǎn)子程序、鍵盤顯示控制子程序、A/D轉(zhuǎn)換子程序等),由于篇幅限制,在此不一一敘述。
4 系統(tǒng)測試
該系統(tǒng)采用超強抗干擾,小巧低功耗的工業(yè)級STC12C4052AD單片機為控制核心,工作可靠性高,抗于擾能力強。系統(tǒng)測試在專門的檢測實驗室內(nèi)進行。利用群脈沖發(fā)生器(EFT-4001)、周波電壓跌落發(fā)生器(VDG-1105)、靜電放電發(fā)生器(ESD-20)以及雷擊浪涌發(fā)生器(SG-5006) 等專用儀器對系統(tǒng)的電壓變化抗擾度、快速瞬變脈沖群抗擾度、抗靜電和雷擊浪涌等參數(shù)進行檢測。經(jīng)過實驗,系統(tǒng)功能正常,所有參數(shù)均已達標。
5 結(jié) 語
電子技術(shù)發(fā)展日新月異,新型單片機層出不窮。在電機控制系統(tǒng)開發(fā)過程中,如果恰當選取單片機以及各電路模塊的型號,能夠簡化設(shè)計過程,起到事半功倍的效果。該系統(tǒng)采用STC12C4052AD單片機,其工作方式、轉(zhuǎn)動速率及轉(zhuǎn)矩數(shù)可以通過鍵盤輸入,也可通過普通旋鈕或上位機調(diào)節(jié)。鍵盤顯示模塊采用 ZLG7289實現(xiàn)。本系統(tǒng)具有通用性,適當改變輸出口各位控制端,便可控制不同相數(shù)的步進電機。