摘" 要:智能家居走進(jìn)人們生活,為像清潔機(jī)器人這樣的移動(dòng)性機(jī)器人設(shè)計(jì)一套高性能驅(qū)動(dòng)電機(jī)控制系統(tǒng)有很強(qiáng)的實(shí)用意義。通過參數(shù)辨識(shí)實(shí)驗(yàn)獲取選用電機(jī)的傳遞函數(shù),用MATLAB軟件進(jìn)行PID控制器和模糊PID控制器仿真設(shè)計(jì),得到的參數(shù)通過搭建的硬件系統(tǒng)進(jìn)行驗(yàn)證。結(jié)果表明,該控制器有優(yōu)良的動(dòng)態(tài)性能和抗干擾性。
關(guān)鍵詞:清潔機(jī)器人;小型直流電機(jī);電機(jī)建模;MATLAB參數(shù)整定;模糊PID
中圖分類號(hào):TP273 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):2095-2945(2023)15-0109-04
Abstract: Smart home has come into people's life, so it is of great practical significance to design a high-performance drive motor control system for mobile robots such as cleaning robots. The transfer function of the selected motor is obtained through the parameter identification experiment, and the PID controller and fuzzy PID controller are simulated and designed with MATLAB. The parameters obtained are verified by the built hardware system. The results show that the controller has excellent dynamic performance and anti-interference.
Keywords: cleaning robot; small DC motor; motor modeling; MATLAB parameter tuning; fuzzy PID
直流電動(dòng)機(jī)是一種將電能變換成機(jī)械能的旋轉(zhuǎn)裝置,因其轉(zhuǎn)矩大、噪聲小、能量轉(zhuǎn)化效率高和體積小等特點(diǎn),被廣泛應(yīng)用于運(yùn)動(dòng)控制領(lǐng)域[1]。直流電機(jī)的啟動(dòng)和制動(dòng)性能比較優(yōu)秀,調(diào)速范圍廣且平滑穩(wěn)定。像汽車自動(dòng)玻璃、電動(dòng)后視鏡、電動(dòng)滑板車、空氣凈化機(jī)、智能門鎖和洗地機(jī)等電器中,使用多種不同型號(hào)種類的直流電機(jī)作為驅(qū)動(dòng)。體積小、性能穩(wěn)定、惡劣環(huán)境中仍能正常運(yùn)行及價(jià)格便宜等特點(diǎn)使得小型直流電機(jī)也非常適用于清潔機(jī)器人。
以適用于清潔機(jī)器人的直流電機(jī)為對(duì)象,記錄實(shí)驗(yàn)測(cè)得電機(jī)的輸入輸出響應(yīng),在MATLAB軟件中使用工具箱辨識(shí)電機(jī)的傳遞函數(shù),在搭建的Simulink框圖中進(jìn)行控制器的參數(shù)整定,設(shè)計(jì)模糊PID,得出仿真結(jié)果,并搭建硬件系統(tǒng)進(jìn)行驗(yàn)證。
1" 控制系統(tǒng)硬件結(jié)構(gòu)
控制系統(tǒng)以主控STM32F103C8T6為核心,外加通訊模塊與上位機(jī)通訊,電機(jī)驅(qū)動(dòng)模塊BTS7960組成的H橋并以單極模式驅(qū)動(dòng)直流電機(jī),啟動(dòng)快,能剎車,可以進(jìn)行能耗制動(dòng),負(fù)載超速時(shí)也能提供方向力矩,兼顧控制效果和實(shí)際器件性能。電機(jī)的轉(zhuǎn)速由AB相正交霍爾編碼器檢測(cè)。
2" 直流電機(jī)建模
控制直流電機(jī)型號(hào)為有刷直流電機(jī)GA370,相關(guān)參數(shù)見表1。
2.1" 直流電機(jī)傳遞函數(shù)
有刷直流電機(jī)模型如圖1所示。
式中:U-電樞電壓;Ea-感應(yīng)電動(dòng)勢(shì);Ia-回路電流;Ra-電樞繞組電阻;?駐Ub-電刷在回路中接觸電阻的壓降;?覫-磁極間的磁通量;Ce-電勢(shì)常數(shù)與電機(jī)結(jié)構(gòu)有關(guān);TL-負(fù)載轉(zhuǎn)矩;Tem-電磁轉(zhuǎn)矩;J-運(yùn)動(dòng)系統(tǒng)總轉(zhuǎn)動(dòng)慣量;T0-轉(zhuǎn)軸的摩擦轉(zhuǎn)矩;CT-電機(jī)結(jié)構(gòu)有關(guān)的轉(zhuǎn)矩常數(shù)[2]。在控制的時(shí)候,將負(fù)載看作干擾,所以建模時(shí)將負(fù)載設(shè)為0,摩擦轉(zhuǎn)矩較小,直接忽略。接觸電阻折算到電樞繞組中,所以簡(jiǎn)化后的方程如下
2.2" 參數(shù)辨識(shí)
參數(shù)未知的被控對(duì)象可以通過系統(tǒng)辨識(shí)來確定其傳遞函數(shù)。由于電機(jī)的電樞供電電壓來自BTS7960 H橋驅(qū)動(dòng)模塊,階躍響應(yīng)的輸入值由主控內(nèi)設(shè)定的轉(zhuǎn)速占空比表示,由于PWM信號(hào)頻率較高,本系統(tǒng)選取了10 kHz,故將直流調(diào)壓模塊與小型直流電機(jī)共同看作無延時(shí)一階慣性系統(tǒng)。理想的電機(jī)轉(zhuǎn)速與輸入電壓之間應(yīng)該是線性的。實(shí)際上,電機(jī)具有一定的死區(qū),并且轉(zhuǎn)速與電壓之間存在著一定的非線性。在識(shí)別模型參數(shù)之前,先測(cè)電機(jī)的輸入輸出特性曲線,進(jìn)而確定比較合適的工作區(qū)間。選取間隔相同的不同占空比15組,測(cè)量穩(wěn)定狀態(tài)下電機(jī)的轉(zhuǎn)速。將測(cè)得的轉(zhuǎn)速數(shù)據(jù)導(dǎo)入MATLAB軟件進(jìn)行分析,系統(tǒng)的輸入輸出曲線橫軸為比較寄存器的值,除以3 600就是驅(qū)動(dòng)信號(hào)的占空比。首先選取輸入占空比為50%的PWM信號(hào),采樣周期設(shè)為5 ms,記錄輸出的階躍響應(yīng)值個(gè)數(shù)1 000以上。為了使結(jié)果更加準(zhǔn)確,測(cè)量4組數(shù)據(jù)。利用MATLAB軟件通過system Identification命令打開工具箱進(jìn)行模型辨識(shí)。在Estimate下拉菜單選取Process models,直流伺服電機(jī)是一階慣性環(huán)節(jié),Poles極點(diǎn)選1個(gè),不要勾選“Delay”,因?yàn)镻WM頻率高以及采樣時(shí)間很小,延時(shí)可忽略。然后點(diǎn)擊estimate,出現(xiàn)辨識(shí)結(jié)果,將所測(cè)量的4組數(shù)據(jù)都導(dǎo)入MATLAB進(jìn)行辨識(shí)。記錄得到的辨識(shí)結(jié)果。改變輸入信號(hào)的占空比為2 100/3 600,測(cè)量4組辨識(shí)結(jié)果進(jìn)行對(duì)比,發(fā)現(xiàn)參數(shù)都較為接近,取平均值得到最終的傳遞函數(shù)如下
3" 控制器設(shè)計(jì)
在Simulink中搭建常規(guī)PID控制方框圖。在PID模塊中大致填寫3個(gè)PID參數(shù),驅(qū)動(dòng)芯片輸出有上限,在控制器輸出后加入限幅,控制器輸出為比較寄存器的值,所以上下限設(shè)為3 500和-3 500。
雙擊打開PID模塊,在彈出的界面中找到Select tuning method,選擇Transf Function Based(PID Tuner App),點(diǎn)擊Tune,調(diào)整滑塊,觀察響應(yīng)曲線,自動(dòng)調(diào)整PID參數(shù)。根據(jù)自動(dòng)調(diào)參給出的參考,最終選取PID參數(shù)為P為0.05,I為10。轉(zhuǎn)速誤差輸入E和誤差變化EC的論域?yàn)閇-6,6],輸出論域?yàn)閇-1,1]。定義輸入、輸出量的模糊分布,將具體輸入輸出的清晰值通過隸屬函數(shù)映射到模糊子集。選擇三角型隸屬度函數(shù),形式簡(jiǎn)單,計(jì)算量小,便于在微控制器上實(shí)現(xiàn)。輸入輸出變量的模糊子集采用7個(gè)變量值:負(fù)大(NB)、負(fù)中(NM)、負(fù)?。∟S)、零(ZO)、正小(PS)、正中(NM)、正大(PB)表示。定義模糊規(guī)則,對(duì)于PID控制而言,已經(jīng)有很多可行的規(guī)則庫,建立7個(gè)變量,針對(duì)每個(gè)參數(shù)即49條控制規(guī)則的專家系統(tǒng)目前被廣泛使用[3],見表2。這張表根據(jù)誤差的變化動(dòng)態(tài)調(diào)整控制參數(shù),原理是初段加大Kp的值以提高響應(yīng)速度,減小積分作用。調(diào)節(jié)中段,適當(dāng)減小Kp,避免超調(diào),保證一定的響應(yīng)速度,同時(shí)適當(dāng)加大積分作用。調(diào)節(jié)過程后段再將Kp提高到較大值,繼續(xù)增大積分作用來減小靜差,提高控制精度。通過對(duì)輸入論域的模糊推理,得到了輸出模糊量,輸出進(jìn)行去模糊化,將其映射到清晰值。選用平均值法。將得到的ΔKp、ΔKi與原來整定好的參數(shù)相加,作為新的參數(shù)作用到控制器。模糊邏輯控制器輸入為誤差和誤差變化率的量化值。由于在數(shù)字系統(tǒng)中誤差變化率用誤差的差值表示,所以用Delay模塊將誤差延時(shí)一個(gè)采樣周期,先將其與誤差做差,在進(jìn)行量化。
確定好模糊系統(tǒng)參數(shù)后,輸入幅值為4 000的階躍信號(hào)進(jìn)行仿真測(cè)試,搭建的仿真框圖如圖2所示。
測(cè)得PID調(diào)節(jié)時(shí)間為300 ms,模糊PID調(diào)節(jié)時(shí)間為157 ms,如圖3所示,上方曲線為模糊PID,常規(guī)PID與模糊控制器整定后的PID都能使電機(jī)快速穩(wěn)定,模糊PID算法控制效果更好。在t=0.6 s時(shí)加入干擾信號(hào),2種控制器均使電機(jī)轉(zhuǎn)速穩(wěn)定到給定值。相同參數(shù)下,模糊PID控制器調(diào)節(jié)時(shí)間短于常規(guī)PID,表明模糊PID控制器有著更強(qiáng)的抗干擾能力。
4" 實(shí)物驗(yàn)證
設(shè)計(jì)的控制系統(tǒng)是否實(shí)用,仿真算法是否有效,需要進(jìn)行實(shí)物驗(yàn)證。利用清潔機(jī)器人主控發(fā)來的速度信號(hào)控制電機(jī)轉(zhuǎn)動(dòng),并將測(cè)得的速度進(jìn)行打包,由串口將數(shù)據(jù)發(fā)送到Wincc上位機(jī)展示。圖4(a)為常規(guī)PID運(yùn)行的實(shí)時(shí)曲線,設(shè)定速度為4 000 r/min,曲線表明電機(jī)轉(zhuǎn)速很快響應(yīng)到給定值并保持穩(wěn)定,受到干擾后,曲線有少許波動(dòng),仍能保持穩(wěn)定運(yùn)行。圖4(b)為模糊PID運(yùn)行的實(shí)時(shí)曲線,設(shè)定速度仍為4 000 r/min,曲線表明電機(jī)轉(zhuǎn)速很快響應(yīng)到給定值,并保持穩(wěn)定運(yùn)行,受到干擾后,曲線波動(dòng)程度比常規(guī)PID小,仍能保持穩(wěn)定運(yùn)行。
5" 結(jié)束語
首先建立小型直流電機(jī)的數(shù)學(xué)模型,利用MATLAB軟件辨識(shí)工具箱識(shí)別出傳遞函數(shù)。然后借助PID Tuner進(jìn)行常規(guī)PID參數(shù)整定,在此參數(shù)基礎(chǔ)上進(jìn)行模糊PID控制器設(shè)計(jì)。MATLAB仿真結(jié)果表明,模糊PID控制系統(tǒng)的調(diào)節(jié)時(shí)間、超調(diào)量和抗干擾性比常規(guī)PID控制器性能更強(qiáng)。利用硬件實(shí)物進(jìn)行實(shí)驗(yàn),結(jié)果表明,控制系統(tǒng)能夠作為移動(dòng)性機(jī)器人的一套高性能驅(qū)動(dòng)電機(jī)控制系統(tǒng)。
參考文獻(xiàn):
[1] 韓戰(zhàn)義.機(jī)械自動(dòng)化中的運(yùn)動(dòng)控制技術(shù)應(yīng)用[J].科技創(chuàng)新導(dǎo)報(bào),2020,17(19):1-2,5.
[2] 賴九才.數(shù)字式直流伺服系統(tǒng)的研究與設(shè)計(jì)[D].哈爾濱:哈爾濱工業(yè)大學(xué),2011.
[3] 張一夫,孫麗君,田樂樂,等.小型直流電機(jī)建模及其模糊PID控制研究[J].電子設(shè)計(jì)工程,2020,28(22):113-117.