楊 楠 王恩澤 霍艷忠
(佳木斯大學(xué) 信息電子技術(shù)學(xué)院,佳木斯 154007)
如圖1所示,該設(shè)計采用STM32G4 MCU單片機作為電機的控制單元[1]。該款單片機資源豐富,內(nèi)置運行速度可達(dá)170 MHz的32位ARM? Cortex?-M4內(nèi)核(支持FPU和DSP指令集)與兩種不同的硬件加速器——程序執(zhí)行加速器和數(shù)學(xué)運算加速器,數(shù)據(jù)處理速度可達(dá)微秒級,大大提高了電機的轉(zhuǎn)角精度和控制精度。L9110S為控制和驅(qū)動電機設(shè)計的雙通道推挽式功率放大專用集成電路器件[2],將分立電路集成在單片機IC中,使外圍器件成本降低。內(nèi)置的鉗位二極管能釋放感性負(fù)載的反向沖擊電流,使它在驅(qū)動繼電器、直流電機、步進(jìn)電機或開關(guān)功率管中的整機可靠性提高。N20減速電機的減速比為1:100,電壓為6 V,具有體積小、扭矩大的特點[3];齒輪減速模塊組合的傳動比分級細(xì)密,傳動效率高,耗能低,性能優(yōu)越。
圖1 系統(tǒng)總體框圖
智能小車采用獨立雙輪驅(qū)動模式,前輪固定不動作,為從動輪提供支點,后輪驅(qū)動。控制轉(zhuǎn)向時以前輪中心為中心點,后輪驅(qū)動提供扭矩轉(zhuǎn)向,使小車沿標(biāo)記線行駛。普通萬向輪只適應(yīng)于干凈平整的地面,不適用于坡道定點停車的要求,所以需要使用3D打印為電動小車定制車輪。車輪表面包裹塑料泡沫減震[4],通過控制左右驅(qū)動輪的轉(zhuǎn)速差,實現(xiàn)前進(jìn)、后退和轉(zhuǎn)向等各種基本動作。當(dāng)旋轉(zhuǎn)半徑為零時,由于小車能繞輪距中心旋轉(zhuǎn),因此十分有利于在狹窄場所中改變方向。智能小車樣車圖,如圖2所示。
圖2 智能小車樣車圖
STM32G4作為控制器,通過控制算法將模擬信號轉(zhuǎn)化為能被控制器識別的數(shù)字信號。單片機控制信號的變化完全依靠硬件計數(shù),完成運算后將計算結(jié)果轉(zhuǎn)化為脈沖寬度調(diào)制(Pulse Width Modulation,PWM)信號輸出到電機。
由于在上坡過程中車輛需要提供足夠的驅(qū)動力控制速度,通常不需要額外的制動力,可以利用模糊PID控制器,實現(xiàn)時變坡角下的縱向速度的跟隨控制。其中,設(shè)坡道的角度θ為0°~90°,輸入變量為坡道角度,輸出變量為左右兩輪的速度差,定義的全部模糊子集存放在規(guī)則庫中[5],與傳統(tǒng)控制器依賴于系統(tǒng)行為參數(shù)的控制設(shè)計及方法不同,改善模糊控制性能的最有效方法是優(yōu)化模糊控制規(guī)則。每3°為一個層級,共30個層級,設(shè)0~10級為不太陡,15~20級為稍陡,20~30級為非常陡。將此推理寫入數(shù)據(jù)庫和規(guī)則庫,從而精確控制電動小車在坡道上的行駛。
電動小車處于坡道工況下時,車輛所受重力G可分解為平行于路面方向的分力G1和垂直于路面方向的分力G2[6]。平行于路面方向的分力G1將以坡道阻力F1的形式作用于車輛的坡道運動,而垂直于路面方向的分力G2將以正壓力F的形式作用于路面。在坡度值為α的坡道上起步時,受驅(qū)動力Ft、空氣阻力Fw、坡道阻力Fi、加速阻力Fj以及滾動阻力Ff的共同作用,有:
式中:Tm為電機驅(qū)動轉(zhuǎn)矩;i0為單級減速器傳動比;η為傳動系統(tǒng)效率;r為車輪半徑;Cd為風(fēng)阻系數(shù);A為迎風(fēng)面積;m為整車質(zhì)量;g為重力加速度;υ為車速;δ為汽車旋轉(zhuǎn)質(zhì)量換算系數(shù);a為車輛加速度;f為滾動阻力系數(shù)。
車輛可以發(fā)出的最大驅(qū)動力Ft應(yīng)大于沿坡道向下的各種阻力之和,即Ff>Ft+Fw+Fi+Fj+f,車輛才不會沿坡道滑下。該條件也對應(yīng)于驅(qū)動輪發(fā)生打滑導(dǎo)致的驅(qū)動力不足而引起的通過失效[7]。
電動小車滿足剛體運動規(guī)律,運動方程為:
而電動小車的質(zhì)心運動方程為:
式中:v為電動小車質(zhì)心的線速度;ω為電動小車質(zhì)心的角速度;VL和VR分別為左右輪的線速度;ωL、ωR分別為左右輪角速度;θ為質(zhì)心運動轉(zhuǎn)向角;R為左右輪的半徑;L為兩輪的間距;x、y代表電動小車質(zhì)心的二維平面坐標(biāo)。
方程(13)中各變量相互關(guān)聯(lián),設(shè)計控制器時比較復(fù)雜,因此需要先對方程(13)進(jìn)行解耦處理。因為θ只與質(zhì)心的角速度有關(guān),x、y只與質(zhì)心的線速度有關(guān),故可將控制變量轉(zhuǎn)為質(zhì)心的線速度和角速度,方程如下:
由式(14)可知,根據(jù)移動電動小車(質(zhì)心)設(shè)定的目標(biāo)線速度和角速度,可分別求得左右輪的實時角速度。當(dāng)x′=y′時,質(zhì)心的角速度ω為0,即電動小車沿直線運動;當(dāng)x′=-y′時,質(zhì)心的線速度為0,則智能小車可實現(xiàn)原地轉(zhuǎn)身,此時電動小車將以零半徑轉(zhuǎn)彎。電機驅(qū)動機構(gòu)響應(yīng)單片機完成速度調(diào)節(jié),從而實現(xiàn)移動機器人運動方向和速度的實時控制。
在前期測試中,進(jìn)行無程序時小車坡道行駛的測試、轉(zhuǎn)速控制、舵機直線及轉(zhuǎn)向運動測試,測試達(dá)到滿足要求的最小時間。在取得較好的效果后,利用5 V電池供電保證小車可正常爬坡,給穩(wěn)壓電源測試電機轉(zhuǎn)速比,實驗電機是否符合題目對于時間的要求,以保證小車在穩(wěn)定性、速度以及時間上均達(dá)到要求。
通過模糊PID算法,模仿出PWM波并測量是否能通過電機驅(qū)動來使電機控制小車運動。通過多次測試,找出小車轉(zhuǎn)向調(diào)速的PWM值。此外,通過串口向主控板發(fā)送數(shù)據(jù),檢測數(shù)據(jù)是否正確。通過軟件編程對顯示的數(shù)據(jù)進(jìn)行修改,再進(jìn)行小車在不同角度時各方面性能表現(xiàn)距離的測試。
在木板上作一全程為1 m的圓弧標(biāo)記線,電動小車從出發(fā)點開始計時騎線行駛,在停車點停止計時,逐漸增大坡度角,得到行駛該標(biāo)記線所用時長的測試結(jié)果,如圖3所示。圖3對比了坡道起步系統(tǒng)改進(jìn)前后的爬坡性能,證明爬坡性能有所改善,系統(tǒng)適應(yīng)性良好。
圖3 測試結(jié)果圖
針對智能小車坡道行駛性能的優(yōu)化問題,提出了以STM32G4 MCU為核心,利用模糊PID算法控制智能小車的轉(zhuǎn)向并完成爬坡任務(wù)的設(shè)計。根據(jù)仿真與試驗分析顯示,該設(shè)計改善了電動小車坡道起步的性能,減少了起步延遲,電動機輸出轉(zhuǎn)矩足以克服坡道起步所需轉(zhuǎn)矩,解除了駐車制動力,從而使電動小車在坡道上行駛更省力,并利用模糊PID控制算法優(yōu)化算法規(guī)則庫實現(xiàn)了更加精準(zhǔn)的控制。