摘 要:介紹了一種新型的、由STM32微控制器和嵌入式操作系統RT-Thread及相應的軟件實現的交流電機電磁調速控制系統。著重介紹了該調速控制系統的工作原理、硬件中的電源系統、傳感器系統、主控制系統、通信系統及軟件中的PID算法程序和RT-Thread操作系統。
關鍵詞:STM32;交流電機;電磁調速;RT-Thread
引言
電磁調速電機是一種恒轉矩交流無級變速電動機,自面世以來,已有40年的歷史。由于它具備結構簡單、運行可靠、價格低廉、調速范圍寬、啟動轉矩大、速度調節平滑等優點,在生產實踐中得到了廣泛的應用。近年來,隨著電子技術的發展,用新的控制系統改變調速性能,為電磁調速技術帶來了新的生機。本文針對電磁調速方式,設計了一種以STM32微控制器為核心的交流電機調速系統。
1 STM32微控制器
STM32微控制器采用了ARM公司的Cortex-M3內核,該內核集高性能、低功耗、低成本于一體,同時可以滿足電機控制系統對微控制器須具備卓越的實時響應、邏輯處理功能和優異的控制性能的要求。基于Harvard架構,該32位RISC采用Thumb2指令集,提供16位和32位指令。對比純32位代碼,該指令集能夠大幅提高代碼密度,同時保留原有ARM7指令集的多數優點(附加優化的乘加運算和硬件除法指令)[1]。為保證低功耗應用的要求,STM32的內核電壓是1.8V,外設電壓是3.3V,可選擇睡眠模式、待機模式。STM32微控制器的外圍控制非常豐富:最大256 KB FLASH、最大20KB RAM、80個快速I/O口、16通道的12位A/D轉換器、7個定時器(包含一個RTC)、3個智能IC卡接口(與UART復用)、2個SPI接口、2個I2C接口、USB 2.0接口、支持通過UART實現IAP功能、IC卡讀寫器[2]。意法半導體為STM32用戶免費提供2.0版電機控制軟件庫,用戶可以在Keil、IAR工具廠商的STM32設計環境下進行C語言編程。
2 系統工作原理
基于STM32微控制器的交流電機電磁調速系統原理圖如圖1所示。
圖1 控制系統原理圖
電磁調速異步電動機是由普通鼠籠式異步電動機、電磁滑差離合器和電氣控制裝置三部分組成。異步電機作為原動機使用,當它旋轉時帶動離合器的電樞一起旋轉,電氣控制裝置是提供滑差離合器勵磁線圈勵磁電流的裝置。電磁滑差離合器包括電樞、磁極和勵磁線圈三部分。電樞為鑄鋼制成的圓筒形結構,它與鼠籠式異步電動機的轉軸相連接,稱主動部分;磁極做成爪形結構,裝在負載軸上,稱從動部分。主動部分和從動部分在機械上無任何聯系。
當勵磁線圈通過電流時產生磁場,爪形結構便形成很多對磁極。此時若電樞被鼠籠式異步電動機拖著旋轉,那么它便切割磁場產生感應電動勢為
E=BLR(ω1-ω2) (1)
其中,B為磁感應強度,L為電樞有效長度,R為電樞有效半徑,ω1為原動機轉速,ω2為磁極轉速。
該電動勢在電樞上引起渦流,假設每個磁極的等效阻抗為Zp,則渦流電流為
i=E/Zp=BLR(ω1-ω2)/Zp (2)
渦流電流與旋轉磁極的磁通相互作用產生電動力。設P為電樞極對數,在此電動力作用下,電樞切線方向會產生一個電磁力矩
M=FR=BiLR=B2L2R2P(ω1-ω2)/Zp (3)
磁極跟著電樞同方向旋轉,磁極的轉速就是電磁調速電動機的輸出轉速,磁極轉速的大小取決于磁極電磁轉矩的大小,也就是取決于勵磁電流的大小[3]。
STM32微控制器作為電氣控制裝置的CPU,通過軸角編碼器獲取滑差離合器磁極的轉速,經過PID運算,將控制電流通過D/A輸出,再經驅動電路控制滑差離合器的勵磁線圈的直流電流。在一定負載下,勵磁電流的大小決定輸出轉速的高低,勵磁電流越大轉速就越高,勵磁電流越小轉速就越低。通過改變勵磁線圈的電流,就可達到改變輸出轉速高低的目的[4]。
3 系統軟硬件設計
3.1 硬件設計
系統硬件由電源系統、傳感器系統、主控制系統和通信系統4個部分組成,如圖2所示。
圖2 控制系統硬件框圖
(1)電源系統。STM32微控制器的內核電壓是3.3V,我們將外部開關電源所提供的24V電動機驅動電源通過恒功率電源WRFD24S05-3W降壓為5V,再通過線性穩壓器AS1117-3.3降壓到3.3V給控制系統供電。電源系統原理如圖3所示。
圖3 電源系統原理圖
(2)傳感器系統。傳感器系統中的關鍵部分是通過軸角編碼器獲取電動機的運行狀態和運行速度。五線制光電式軸角編碼器有兩根電源線和三根脈沖線(A相、B相、Z相)。電源工作電壓為+5V直流電源,A、B兩相脈沖線用作判斷電機的運動狀態,Z相為零脈沖,用作計算電機轉速。
(3)主控制系統。主控制系統包括了控制回路和開關量的輸入輸出。一種開關量輸入是交流電機的啟動信號,該信號為常開接點,當此信號閉合時,CPU會發出一個啟動開關信號,啟動電機;另一種開關量是電機溫度的開關信號,該信號為常閉接點,當電機溫度超過155°C時,開關打開。為防止輸出對輸入信號的干擾,在開關量輸入端需加裝光電耦合器,電路圖如圖4所示。同理,開光量輸出也需要通過光電耦合器再加上驅動電路后帶動繼電器輸出。
(4)通信系統。通信能力較強是本系統的優勢之一。在通信系統部分,我們設計了一塊專用通信的PCB板,CPU采用STM32系列的STM32F103VCT6。通信板中包括了5個串口和1個以太網接口,5個串口其中一路RS232做串口調試電路用,一路MODBUS主站用于操作屏,一路MODBUS從站用于遙控器,一路CAN總線和一路RS485自由口。
3.2 軟件設計
軟件部分是在Keil uVision4環境下用C語言編寫的,用以完成相應的硬件功能。控制系統軟件框圖如圖5所示。
程序分應用程序和操作系統兩大部分,其中應用程序包括信號采集任務程序、PID算法程序、通信程序和外部中斷服務程序,操作系統包括設備驅動和RT-Thread操作系統。下面簡單說明幾個主要程序:
(1)PID算法程序。PID算法程序是本系統的關鍵所在,也是難點所在,要使系統既能夠快速跟蹤響應,又要有較小的超調,具有良好的穩定性能。該程序根據實際速度值、速度給定值及電機勵磁電流3個參數進行運算,運算后的數據經D/A轉換器,再經驅動電路送到勵磁線圈,控制勵磁電流,從而改變電機轉速。其控制算法采用速度反饋、電流反饋雙閉環PID控制。PID算法程序流程圖如圖6所示。
(2)RT-Thread操作系統。在控制系統軟件中,我們移植了RT-Thread操作系統,它是一款由國內RT-Thread工作室開發的開源實時操作系統。RT-Thread是一款追求小型風格的實時操作系統:小型、實時、可剪裁。小型:RT-Thread核心能夠小到2.5K ROM,1K RAM;實時:線程調度核心是完全bitmap方式,計算時間是完全固定的;可剪裁性:配置文件rtconfig.h包含多種選項,對Kernel細節進行精細調整,對各種組件(文件系統,使用EFSL、ELM FatFs、網絡協議棧、finsh shell、圖形用戶界面GUI)進行可選配置[5]。
RT-Thread操作系統在STM32上的移植是基于RealView MDK開發環境進行移植的,移植默認參數包括:線程優先級支持(32優先級),內核對象支持命名(4字符),操作系統節拍單位(10毫秒),支持鉤子函數,支持信號量、互斥鎖,支持事件、郵箱、消息隊列,支持內存池,以及支持RT-Thread自帶的動態堆內存分配器。我們在移植RT-Thread到STM32微控制器時,主要是在上下文切換、中斷處理、堆棧初始化等相關源文件上進行修改。
4 結束語
基于STM32微控制器的交流電機電磁調速系統能夠很好地完成對交流電機的控制要求,并且具有較強的通訊能力和數據計算能力,適合無人化工作面系統集成信息化的需要,在速度反饋和電流反饋的基礎上進行PID控制,使系統控制平滑有效。該方案可完全滿足交流電機的控制需要,操作簡單、運行可靠、良好的調速性能和較低的成本使其將會在交流電機調速系統上得到更加廣泛的應用。
參考文獻
[1]意法半導體.基于STM32微控制器的先進電機控制方法[J].產業技術,2011(3):84-85.
[2]金來專,陳政石,李鐵鷹.基于STM32微控制器的交流電機變頻調速試驗系統[J].茂名學院學報,2009,19(6):25-28.
[3]劉建功,王汝琳.采煤機電磁調速技術研究[J].中國礦業大學學報,2005,33(6):107-111.
[4]李永東.交流電機數字控制系統[M].北京:機械工業出版社,2002.
[5]RT-Thread工作室.RT-Thread實時操作系統編程指南[DB/OL].http://www.rt-thread.org/node/4