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