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