孫 虎,梁 偉,趙 麒,周 驊
(1.貴州大學大數據與信息工程學院,貴陽550000;2.貴州民族大學機械電子學院,貴陽550000)
無刷電機具有調速范圍廣、低電壓特性好、啟動轉矩大(堵轉特性)等優(yōu)點,在工業(yè)領域已有廣泛應用。研究直流無刷電機控制技術,設計直流無刷控制器在工業(yè)領域有極高的應用價值。直流無刷電機硬件上通常采用三相逆變電路,軟件上配合脈沖寬度調制實現。根據直流無刷電機的原理及特點,在此設計一種基于ARM Cortex-M4 處理器的有感無刷電機控制器,主要介紹硬件電路組成、系統軟件實現,并結合PID 閉環(huán)控制算法提高控制系統的動態(tài)性能。
直流無刷電機主要由定子和轉子組成,其電樞繞組固定于定子,轉子為永磁體。根據電流的磁效應,只需給定子的電樞線圈通電便可產生磁場,使轉子朝磁場方向運動。三相逆變電路導通U+、U-、V+、V-、W+、W-六線中不同相的兩線,即可驅動電機旋轉π/3 rad[1]。由于電機重啟時轉子位置未知,因此驅動前還需判斷電機轉子位置,然后預先配置橋臂的通斷。BLDCM 內部集成有三個霍爾傳感器,電機連續(xù)旋轉時,霍爾值會按照001→101→100→110→010→011 的規(guī)律變化,根據霍爾值的改變控制MOS管通斷順序,便可使電機連續(xù)轉動。
設計采用6 步方波驅動,用霍爾傳感器的輸出電平獲取轉子位置,配合微處理器的高頻特性快速進行六步換相,驅動電機旋轉。STM32F407 高級定時器可產生六路互補PWM 輸出,內部實現了編碼器接口和霍爾傳感器接口。外圍擴展電路包括三相逆變電路、霍爾接口電路、編碼器電路等[2]。系統用編碼器對電機進行位置定位,利用它的反饋信號實現PID 位置環(huán)[3]。同時采集周期內霍爾傳感器換相次數,實現PID 速度環(huán)。系統總體方案如圖1 所示。
圖1 系統總體方案設計
BLDC 驅動電路由逆變電路和IRFS3607 功率場效應管組成,電路如圖2 所示。微控制器輸出的PWM 信號經過TLP715 高速光耦進行信號隔離及升壓,確保主控制芯片不受電機高壓影響。微處理器輸出電壓為3.3 V 低壓,使其經過IR2110S 芯片轉換輸出為15 V 作為IRFS3607 的輸入。IR2110S 芯片具有芯片失能引腳,配合STM32 微控制器死區(qū)插入功能,用于緊急情況保護。
BLDCM 自帶有三個霍爾傳感器,采用STM32 輸入捕獲對霍爾傳感器進行采集,根據霍爾值確定轉子位置,并以此位置為反饋作為主控制器3 對互補PWM 輸出的依據?;魻栁恢脵z測電路如圖3 所示。CN1 為主控制器和霍爾傳感器的連接接口,采用上拉電阻 R10、R11、R12 和電容 C5、C6、C7 做濾波處理,減免信號干擾[4]。HALL-W、HALL-V、HALL-U 為霍爾信號采集接口。
圖2 BLDC 驅動電路設計
圖3 霍爾位置檢測電路
為保證電機旋轉的位置精度及實現PID 位置閉環(huán)控制,設計了編碼器接口。STM32 定時器內部設計的編碼器模式可以自動實現信號濾波,保證編碼器輸出脈沖信號精確性。編碼器檢測電路如圖4所示。圖中,ENCODER1、ENCODER2 為一對編碼器輸入,編碼器每旋轉一圈,主控制器會捕獲到相應的脈沖數。
圖4 編碼器檢測電路
PID 閉環(huán)控制器由比例單元P、積分單元I 和微分單元D 組成。閉環(huán)控制是指將控制量信息經過PID 控制器處理后反饋給主控制器并改變實際輸出,實現執(zhí)行機構的自適應調節(jié)[5]。PID 控制原理框圖如圖5 所示。
圖5 PID 控制原理圖
PID 控制算法的輸出與系統的過去狀態(tài)相關,有利于提高系統的動態(tài)特性[6]。系統采用PID 位置速度雙閉環(huán)控制,由位置環(huán)提高電機行駛中的位置精度,速度環(huán)增強電機抗負載擾動的能力。使用軟件編程實現的PID 控制器靈活性高且便于修正。PID 雙閉環(huán)控制流程如圖6 所示。
圖6 PID 雙環(huán)控制原理框圖
位置檢測采用編碼器。STM32 通過定時器,把編碼器輸出脈沖所捕獲的位置信息與位置環(huán)的給定值做比較,產生位置環(huán)輸出即速度環(huán)設定。速度值通過霍爾傳感器在固定周期內的脈沖數差計算獲得并使用滑動濾波函數進行濾波處理。經過PID速度控制器計算后,控制PWM 占空比改變電機旋轉速度。系統設計中,周期定時器50 ms 中斷一次,有效避免了頻繁調節(jié)引起的系統抖動。PID 控制器中若位置環(huán)輸出和速度環(huán)輸出均小于設定值,則不進行計算調節(jié),避免系統振蕩。
軟件采用Keil μVision5 開發(fā)平臺設計,包括外設初始化、六步換相、中斷處理程序等。用C 語言編寫實現PID 控制器,實現位置反饋和速度反饋雙閉環(huán)控制。系統軟件主要由main 函數和ISR 函數組成。系統軟件流程如圖7 所示。
主函數為整個系統軟件的入口,主要實現外設、通用I/O 口、中斷優(yōu)先級分組、定時器基本配置以及PID 參數的初始化。主函數按照順序語句執(zhí)行,遇見中斷程序優(yōu)先處理中斷程序, 中斷程序執(zhí)行完后再返回至主函數中。
圖7 系統軟件開發(fā)流程圖
中斷服務函數實現了BLDCM 主要控制功能,包括換向邏輯查詢、位置反饋調節(jié)、速度反饋調節(jié)、編碼器捕獲等[7]。設計采用H-PWM-L-ON 模式驅動逆變電路,并插入了死區(qū)時間,保證同相上下橋臂不會同時導通。定時器4 配置采用霍爾接口模式,三個霍爾傳感器任意值發(fā)生變化都會觸發(fā)高級定時器COM 事件中斷,在此中斷服務函數中進行換相處理[8]。周期定時器中斷主要用于記錄固定周期內霍爾脈沖數的變化獲取速度值。PID 位置速度雙閉環(huán)控制算法驅動電機根據編碼器反饋的位置信息自動調節(jié)轉速。
采用STLink 將軟件代碼下載到主控制器中,設置電機目標位置為50 mm,目標速度為7 mm/s,啟動電機并通過串口發(fā)送位置和轉速數據,通過MATLAB繪制動態(tài)響應曲線[9-11]。位置閉環(huán)控制曲線如圖8所示,PID 位置速度雙閉環(huán)控制曲線如圖9 所示。
圖8 位置環(huán)PID 控制圖
圖9 速度環(huán)位置環(huán)PID 雙閉環(huán)控制
由數據曲線分析可得,相較于位置環(huán)控制,位置速度雙閉環(huán)控制的速度變換率更加平緩,可以根據編碼器反饋信息調節(jié)最佳行駛速度,避免由于速度過大引起的電機震動,保證系統的穩(wěn)定性。雙閉環(huán)控制輸出速度與目標速度誤差小至0.11, 遠低于位置環(huán)單環(huán)控制時的誤差0.65。
介紹了基于STM32F407IGT6 主控芯片設計的有感直流無刷電機PID 雙閉環(huán)系統,采用位置環(huán)和速度環(huán)雙閉環(huán)控制的策略,根據電機行駛的目標距離自動調節(jié)在某一特定位置的旋轉速度,實現電機的加減速運動。相較于傳統的加減速算法和PID 單環(huán)控制,PID 雙閉環(huán)控制具有系統運行穩(wěn)定,響應速度快,電機位置精確度高,速度變化率平緩,超調量小等優(yōu)點。設計已應用到軌道式巡檢機器人控制系統中,獲得了良好的實用效果。