閆要鵬
摘 要 在各類電機設(shè)備中,直流電機以其良好的調(diào)速特性、啟動和制動性能,在工業(yè)、冶金、機械制造等現(xiàn)代化工業(yè)部門得到了廣泛的應用;為了增強電機驅(qū)動器的精確控制功能和可移植性,本次基于stm32微控制器對直流電機驅(qū)動器進行了研究。
【關(guān)鍵詞】直流電機 精確控制 可移植性 stm32微控制器
大部分直流電機驅(qū)動在系統(tǒng)中集成,依靠控制器對外部參數(shù)進行分析處理后輸出的驅(qū)動指令來實現(xiàn)各種動作,在集成電路的條件下可完成直流電機的保護和驅(qū)動,但驅(qū)動部分無法移植;本次研究擬設(shè)計一種基于stm32微控制器的直流電機驅(qū)動器,實現(xiàn)電機控制、檢測、保護、通訊、顯示為一體,具有響應速度快、控制精度高的特點,同時也保證了可移植性。
1 總設(shè)計方案
以stm32主控芯片為控制系統(tǒng),其余組成部分為驅(qū)動電路、電源電路、檢測電路、顯示電路、通信電路等。該驅(qū)動器擬設(shè)計成雙電機驅(qū)動模式,在根據(jù)指令完成保護、驅(qū)動操作的同時還能對電機運行參數(shù)進行實時監(jiān)測顯示和反饋,如圖1所示。
2 電路硬件設(shè)計
2.1 控制系統(tǒng)
本驅(qū)動器采用STM32F103RCT6微處理器,基于Cortex-M3內(nèi)核,最高的時鐘頻率為72MHZ,擁有豐富的外設(shè)資源,包含了DMA控制器、ADC、還擁有專用于電機控制的高級定時器,有強大的邊沿捕獲能力和PWM功能,可以使設(shè)計大大的簡化,系統(tǒng)總功耗降低;采用SWD仿真接口,引腳更少,連接更為簡單安全,代碼也能以更快的速度下載到Flash當中。
2.2 驅(qū)動電路
驅(qū)動器采用VNH3SP30芯片作為電機驅(qū)動單元,VNH3SP30是意法半導體公司生產(chǎn)的專用于電機驅(qū)動的大電流功率集成芯片,最大電流為30A、電源電壓高達40V,內(nèi)含欠壓、過壓保護電路,具有過熱報警輸出和自動關(guān)斷等功能。
STM32單片機通過光耦隔離來實現(xiàn)對驅(qū)動芯片的控制和信號反饋,單片機通過控制INA和INB管腳高低電平來實現(xiàn)電機的正反轉(zhuǎn)及制動,通過PWM信號控制電機轉(zhuǎn)速,ENA和ENB管腳實現(xiàn)芯片的過熱、過壓、欠壓及過流反饋,如圖2所示。
2.3 電源電路
電源電路設(shè)計參數(shù)值具體包括如下:
(1)stm32微處理器和通信芯片供電電壓3.3V;
(2)VNH3SP30芯片驅(qū)動和檢測電路供電電壓5V;
(3)增量式碼盤供電電壓12V;
(4)VNH3SP30芯片電機驅(qū)動供電電壓24V。
在電源電路中,電源輸入電壓為24V,通過LM2576S-12.0,LM2576S-5.0以及SPX1117IMPX-3.3穩(wěn)壓芯片將電壓分別降為12V、5V、3.3V后供給各電路。
2.4 檢測電路
檢測電路包括電流檢測、電壓檢測以及轉(zhuǎn)速檢測,主要用于對流過電機的電流、電機兩端電壓以及電機轉(zhuǎn)速進行檢測。電壓、電流、轉(zhuǎn)速信息不僅可對電機運行提供保護,而且還能用于對電機運行特性參數(shù)進行調(diào)整。
電流檢測元件使用電流傳感器(ACS712),在該傳感器內(nèi)設(shè)置有高精準性的低偏置線性霍爾傳感器電路,可對交流、直流電流成比例的電壓進行輸出和檢測。電壓檢測則以分壓電路實現(xiàn),將直流電機并聯(lián)到電阻上,將電阻輸出電壓調(diào)節(jié)到stm32的ADC采集范圍內(nèi)。轉(zhuǎn)速檢測預留增量式碼盤接口,將碼盤固定于電機上,電機軸和碼盤轉(zhuǎn)子相連,處理器通過采集碼盤信息從而計算出電機轉(zhuǎn)速。
2.5 顯示電路
驅(qū)動器預留LCD顯示電路接口,LCD分別接在stm32的PA8~12、PB6~7等共計16個端口,對電機驅(qū)動時的轉(zhuǎn)速、電壓、電流以及故障等運行情況進行顯示。
2.6 通信電路
通信電路設(shè)計采用SP3232芯片,實現(xiàn)上位機與電機驅(qū)動器之間的通信,用于實現(xiàn)控制器對電機的轉(zhuǎn)向、轉(zhuǎn)速的控制及電機運行電壓、電流、轉(zhuǎn)速、運行狀態(tài)等情況的反饋。
3 軟件設(shè)計
軟件設(shè)計以stm32自帶的固件庫為基準,與直接控制寄存器相比可有效降低編程難度和耗時,驅(qū)動器功能主要包含PWM控制和ADC信號采集。驅(qū)動器控制以脈寬調(diào)制實現(xiàn),通過對占空比進行調(diào)節(jié),達到控制電機轉(zhuǎn)速的目的??紤]到電壓波動負載變化會對轉(zhuǎn)速產(chǎn)生影響,因此本設(shè)計中以PID算法對轉(zhuǎn)速波動進行調(diào)節(jié);由于ADC采集會受到電壓和電流波動的影響,因此可將每秒采集的數(shù)據(jù)量累積到10求均值,再將均值與電機欠壓、過壓、過流的臨界值進行比對,若超過臨界值則反饋故障狀態(tài);232通信主要實現(xiàn)上位機對電機轉(zhuǎn)向、轉(zhuǎn)速的實時控制和運行狀態(tài)的反饋。
4 總結(jié)
本文基于stm32微控制器對直流電機驅(qū)動器的驅(qū)動和運行控制進行了設(shè)計,實現(xiàn)了驅(qū)動部分對電機運行狀態(tài)的監(jiān)測和反饋,同時節(jié)約了控制系統(tǒng)的程序空間,提高控制精度,賦予了驅(qū)動系統(tǒng)可移植性。
參考文獻
[1]吳勇,王友仁,王強,等.基于STM32的無刷直流電機正弦波驅(qū)動控制系統(tǒng)設(shè)計[J].微電機,2015(09):39-42.
[2]邱恒.基于STM32單片機的直流電機調(diào)速系統(tǒng)設(shè)計研究[J].電子世界, 2016(07):156-156.
[3]劉學俊.基于STM32的永磁直流無刷電機的控制及其在繞線機上的應用[D].廈門大學,2014.5-6.
作者單位
南京模擬技術(shù)研究所 江蘇省南京市 210016