關(guān) 閉

新聞中心

EEPW首頁 > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 基于模糊PID的兩輪自平衡代步小車的設(shè)計(jì)*

基于模糊PID的兩輪自平衡代步小車的設(shè)計(jì)*

作者:黃義豪1,符長友1,2(1.四川輕化工大學(xué)計(jì)算機(jī)學(xué)院,四川宜賓 644000;2.企業(yè)信息化與物聯(lián)網(wǎng)測(cè)控技術(shù)四川省高校重點(diǎn)實(shí)驗(yàn)室,四川自貢 643000) 時(shí)間:2023-02-22 來源:電子產(chǎn)品世界 收藏
編者按:兩輪自平衡代步小車集姿態(tài)信息感知、電機(jī)驅(qū)動(dòng)、動(dòng)態(tài)平衡控制于一體,設(shè)計(jì)難點(diǎn)在于姿態(tài)信息準(zhǔn)確感知與自平衡控制。姿態(tài)信息感知通過帶有自適應(yīng)降階卡爾曼濾波器的陀螺儀、加速度計(jì)集成傳感器來實(shí)現(xiàn)。針對(duì)傳統(tǒng)PID、LQR、人工神經(jīng)網(wǎng)絡(luò)等自平衡控制方式的缺陷與不足,提出采用模糊PID控制。利用陀螺儀、加速度計(jì)、ARM微處理器、語音播報(bào)、LoRa通信等技術(shù),設(shè)計(jì)出基于模糊PID的兩輪自平衡代步小車。詳細(xì)闡述了系統(tǒng)工作原理、系統(tǒng)架構(gòu)、硬件設(shè)計(jì)及相關(guān)程序設(shè)計(jì)。實(shí)踐表明,基于模糊PID的兩輪自平衡代步小車具有平衡穩(wěn)定、續(xù)航距離遠(yuǎn)

*基金項(xiàng)目:1. 企業(yè)信息化與物聯(lián)網(wǎng)測(cè)控技術(shù)四川省院士(專家)工作站基金項(xiàng)目(2016WZY201);2.四川省教育廳重點(diǎn)科研項(xiàng)目(16ZA0258);3.2017年教育部產(chǎn)學(xué)合作協(xié)同育人項(xiàng)目(201702109051)

本文引用地址:http://m.butianyuan.cn/article/202302/443610.htm

0   引言

代步小車作為一個(gè)新興的行業(yè),近年來在我國迎來爆炸式增長,其行業(yè)年產(chǎn)值已超過了100 億元,生產(chǎn)廠家也已超過了300 家[1]。與其他代步工具相比,代步小車具有噪音小、操作方便簡(jiǎn)單、低碳環(huán)保等優(yōu)點(diǎn)[2]。這種新穎的個(gè)人可移動(dòng)代步工具已成功地應(yīng)用于城市車站、廣場(chǎng)、購物中心等場(chǎng)所,起著城市短途代步、安保巡邏、休閑娛樂等作用[3]。

代步小車集姿態(tài)信息感知、電機(jī)驅(qū)動(dòng)、動(dòng)態(tài)平衡控制于一體。其設(shè)計(jì)難點(diǎn)在于車體姿態(tài)信息的準(zhǔn)確感知與自平衡控制。車體姿態(tài)信息的感知可通過、加速度等傳感器來實(shí)時(shí)采集,再通過互補(bǔ)濾波[4]、[5]等方式能很好地獲得準(zhǔn)確的姿態(tài)信息。而自平衡控制現(xiàn)有傳統(tǒng)PID、LQR、人工神經(jīng)網(wǎng)絡(luò)等控制方式。由于傳統(tǒng)PID(比例、積分、微分控制)的參數(shù)固定,無法進(jìn)行自行修正,缺乏靈活性與應(yīng)變性。而兩輪自平衡代步小車是一個(gè)非線性、多階次、不穩(wěn)定的系統(tǒng),采用傳統(tǒng)PID 就難以保證控制的準(zhǔn)確性、穩(wěn)定性。LQR(Linear Quadratic Regulator,線性二次型調(diào)節(jié)器)利用系統(tǒng)的狀態(tài)方程與數(shù)學(xué)模型,由于兩輪自平衡代步小車數(shù)學(xué)模型過于理想化,與實(shí)際所需相差較遠(yuǎn),導(dǎo)致LQR 參數(shù)不準(zhǔn)確,不能達(dá)到所需的控制效果[6]。人工神經(jīng)網(wǎng)絡(luò)是一種仿生物神經(jīng)傳導(dǎo)特性的控制,但其算法過于復(fù)雜,需占用微處理器大量的系統(tǒng)資源而影響微處理器的整體性能,在實(shí)際應(yīng)用中也有很大難度[7]。

由于上述自平衡控制方式均存在某些缺陷與不足,需尋求一種全新的自平衡控制方式,而模糊控制魯棒性強(qiáng),且專門針對(duì)于非線性、不穩(wěn)定的復(fù)雜系統(tǒng),其算法也完全不依賴于系統(tǒng)的數(shù)學(xué)模型、狀態(tài)空間方程等[8]。因此將模糊控制與傳統(tǒng)PID 有機(jī)結(jié)合起來,構(gòu)成 來實(shí)現(xiàn)兩輪自平衡代步小車的自平衡控制。

1   系統(tǒng)工作原理

1.1 兩輪自平衡小車

兩輪自平衡小車為了實(shí)現(xiàn)自平衡,必須使得其整個(gè)狀態(tài)維持在平衡態(tài),如圖1 所示。當(dāng)車體傾斜角θ 為0 時(shí),其重心恰好落在兩個(gè)車輪的軸線上,此時(shí)系統(tǒng)便處于自平衡點(diǎn)上。若這時(shí)θ 對(duì)時(shí)間的高階導(dǎo)數(shù)全為0 且外界沒有對(duì)系統(tǒng)有擾動(dòng)的情況下,小車將會(huì)一直維持著這穩(wěn)定的平衡態(tài)。事實(shí)上這平衡態(tài)是不穩(wěn)定的,若外界有很小很小的擾動(dòng),系統(tǒng)的平衡態(tài)就會(huì)被破壞。只有加以控制,否則整個(gè)狀態(tài)還會(huì)發(fā)散,更不會(huì)自行恢復(fù)到平衡態(tài)。因此必須使系統(tǒng)的各個(gè)參數(shù)一直維持在平衡態(tài),或者在平衡態(tài)附近波動(dòng)[9]。下面對(duì)兩輪自平衡小車的運(yùn)動(dòng)狀態(tài)分三類情況進(jìn)行闡述。

image.png

圖1 兩輪自平衡小車自平衡示意圖

1)靜止?fàn)顟B(tài)。車體重心恰好垂直落在兩個(gè)電機(jī)軸線上,此時(shí)小車處于平衡態(tài),無需做任何控制。

2)前傾狀態(tài)。車體向前傾斜,其重心向前偏離車軸線,此時(shí)若要恢復(fù)到平衡態(tài),必須使車輪向前加速運(yùn)動(dòng),使重心重新回到車軸線,系統(tǒng)保持平衡。

3)后仰狀態(tài)。車體向后傾斜,其重心向后偏離車軸線,此時(shí)若要恢復(fù)到平衡態(tài),與前傾狀態(tài)相反,必須使車輪向后加速運(yùn)動(dòng),使重心重新回到車軸線。

1677040470879294.png

在實(shí)際運(yùn)行中,兩輪自平衡小車的工作狀態(tài)始終在這三類狀態(tài)中變換。平衡控制就是通過姿態(tài)傳感器實(shí)時(shí)監(jiān)測(cè)車體的傾斜角度,一旦發(fā)現(xiàn)傾角偏離了平衡點(diǎn),即車體的重心偏離了車軸線,微處理器就會(huì)自動(dòng)控制驅(qū)動(dòng)電機(jī)轉(zhuǎn)動(dòng)方向與速度,以向前或向后、加速或減速使車體再次恢復(fù)到平衡點(diǎn)上。并且這個(gè)過程一直持續(xù)著,系統(tǒng)才能保持動(dòng)態(tài)平衡。


1677567332138253.png

圖3 兩輪自平衡小車系統(tǒng)設(shè)計(jì)圖

1.2 控制

控制是將模糊技術(shù)與傳統(tǒng)PID 控制有機(jī)結(jié)合起來,以達(dá)到有效的控制精度。當(dāng)姿態(tài)數(shù)據(jù)偏差較大時(shí)采用模糊控制,響應(yīng)速度快、動(dòng)態(tài)性能高;當(dāng)姿態(tài)數(shù)據(jù)偏差較小時(shí)采用傳統(tǒng)PID 控制,靜態(tài)性能高,這樣才能滿足系統(tǒng)的控制精度[10]。因此模糊PID 控制比單獨(dú)的模糊控制和單獨(dú)的傳統(tǒng)PID 控制都有更好的控制效果與控制精度。

2   系統(tǒng)設(shè)計(jì)

兩輪自平衡代步小車由兩輪自平衡小車與遙控器構(gòu)成,二者之間通過 (Long Range Radio,遠(yuǎn)距離無線電) 無線通信進(jìn)行數(shù)據(jù)交換,如圖2 所示。兩輪自平衡小車通過、實(shí)時(shí)感知運(yùn)動(dòng)姿態(tài)信息,中央微處理器根據(jù)姿態(tài)信息控制兩個(gè)獨(dú)立的步進(jìn)電機(jī)的方向與轉(zhuǎn)速,以實(shí)現(xiàn)車體的平衡控制。同時(shí),在不平衡或突然加速、減速時(shí),通過語音發(fā)預(yù)警信號(hào),以友情提醒使用人注意安全;而在勻速行駛時(shí),語音可提示當(dāng)前時(shí)速或播放使用人喜歡的音樂、評(píng)書、小品等節(jié)目。再者,可把當(dāng)前的姿態(tài)信息通過 無線傳輸給遙控器。此外,也可通過 無線接收遙控器發(fā)來的控制指令。因此兩輪自平衡小車由中央微處理器、、、步進(jìn)電機(jī)、LoRa 通信、語音播報(bào)等模塊等構(gòu)成,如圖3 所示。而遙控器可通過操作桿遠(yuǎn)程無線控制兩輪自平衡小車的方向與轉(zhuǎn)速,同時(shí)有LED 燈顯示兩輪自平衡小車的運(yùn)行狀態(tài)。

image.png

3.2 LoRa通信模塊

LoRa 是一種基于擴(kuò)頻技術(shù)的低功耗、遠(yuǎn)距離無線通信方式,其特點(diǎn)是在同樣的功耗條件下比其他無線方式傳播的距離更遠(yuǎn)。采用SZ15-01 模塊,其工作頻段為(470~510)MHz,可實(shí)現(xiàn)數(shù)據(jù)透明傳輸,具有超高接收靈敏度,波特率為1 200~115 200 bit/s[12]。其電路設(shè)計(jì)如圖5 所示。

image.png

3.3 語音播報(bào)模塊

語音播報(bào)模塊不僅具有播放音樂、評(píng)書、小品等使用人心情愉快,而且還具有若遇到不平衡或突然加速、減速時(shí),友情語音提醒讓使用人多注意安全。語音模塊采用MX6100。該模塊嵌入了串口的MP3 芯片,集成了MP3、WAV 的硬解碼。通過簡(jiǎn)單的串口指令即可完成播放指定的語音文件,穩(wěn)定可靠。該模塊支持比特率11172-3 和ISO13813-3 layer3 音頻解碼,支持Normal、Jazz、Classic、Pop、Rock 等音效,24 位DAC輸出,支持FAT16、FAT32 文件系統(tǒng)與32 G的TF/SD 卡;30 級(jí)音量可調(diào)[13],其電路設(shè)計(jì)如圖6 所示。

1677049447991379.png

3.4 中央處理器

中央微處理器整個(gè)系統(tǒng)的最核心部件,負(fù)責(zé)讀取陀螺儀、加速度傳感器的姿態(tài)數(shù)據(jù),然后進(jìn)行匯總、分析與處理,并控制步進(jìn)電機(jī)按所需要的方式平穩(wěn)轉(zhuǎn)動(dòng)。同時(shí)把自平衡小車的當(dāng)前運(yùn)行姿態(tài)數(shù)據(jù)通過LoRa 方式發(fā)送給遙控器,讓遙控器及時(shí)知曉自平衡小車的當(dāng)前的運(yùn)行狀態(tài)。此外,也通過LoRa 方式接收遙控器發(fā)來的控制指令及相關(guān)數(shù)據(jù)。因此需要功能強(qiáng)大的中央微處理器,為此采用STM32F103。該芯片使用高性能的32位/Cortex M3 內(nèi)核, 內(nèi)置20KB SRAM、128KB Flash,含有2 個(gè)12bit 的A/DC、3 個(gè)通用16bit 定時(shí)器和多種串行接口,如I2C、SPI 與USART 等接口[14]。STM32F103 外接了實(shí)時(shí)時(shí)鐘芯片SZ2058 以及驅(qū)動(dòng)步進(jìn)電機(jī),其電路設(shè)計(jì)如圖7 所示。

1677049542799231.png

4   程序設(shè)計(jì)

4.1 運(yùn)動(dòng)姿態(tài)檢測(cè)程序

運(yùn)動(dòng)姿態(tài)檢測(cè)采用CruizCore R1370P 集成傳感器,其程序部分代碼如下:

void Attitude_Data(void)

{ X_ACCEL=Get_Data(ACCEL_XOUT);

Y_ACCEL=Get_Data(ACCEL_YOUT);

Z_ACC EL=Get_Data(ACCEL_ZOUT);

X_GYROS=Get_Data(GYROS_XOUT);

Y_GYROS=Get_Data(GYROS_YOUT);

Z_GYROS=Get_Data(GYROS_ZOUT);

......

}

4.2 程序

對(duì)陀螺儀、加速度采集的數(shù)據(jù)進(jìn)行深度融合、優(yōu)化處理,其程序部分代碼如下:

void Kalman_Filter(void)

{

rate=(data_str[0]&0xFF)|((data_str[1]<<8)&0xFF00);

a n g l e = ( d a t a _ s t r [ 2 ] & 0 x F F ) | ( ( d a t a _

str[3]<<8)&0xFF00);

x _ a c c = ( d a t a _ s t r [ 4 ] & 0 x F F ) | ( ( d a t a _

str[5]<<8)&0xFF00);

y _ a c c = ( d a t a _ s t r [ 6 ] & 0 x F F ) | ( ( d a t a _

str[7]<<8)&0xFF00);

z _ a c c = ( d a t a _ s t r [ 8 ] & 0 x F F ) | ( ( d a t a _

str[9]<<8)&0xFF00);

sum=data_str[0]+data_str[1]+data_str[2]+data_

str[3]+

data_str[4]+data_str[5]+data_str[6]+data_str[7];

gRate=rate/100.0;

gAngle=angle/100.0;

gX_accel=x_acc;

gY_accel=y_acc;

gZ_accel=z_acc;

......

}

4.3 語音模塊程序

語音模塊可友情提示和播放音樂等節(jié)目,程序部分代碼如下:

void Voice(void)

{Open_FileName(&File_Name)

{ for(j=0,i=0;File_Name[j];j++,i++)

{ if(File_Name[j]==’’)

{File_Name[i++]=File_Name[j];

File_Name[i]=’’;

}

      wait(5);

......

}

4.4 LoRa通信程序

LoRa 通信程序部分代碼如下:

void LoRa_Send_data(void)

{ unsigned char sum = 0;

sum += Send_Byte1(0x88);

sum += Send_Byte1(4);

sum += Send_Byte1(BYTE0(Left_value));

sum += Send_Byte1(BYTE1(Left_value));

sum += Send_Byte1(BYTE2(Right_value));

sum += Send_Byte1(BYTE3(Right_value));

Send_Byte_1(sum);

......

}

5   測(cè)試數(shù)據(jù)

5.1 平緩路面續(xù)航距離測(cè)試

當(dāng)電池充滿電后,由4 名體質(zhì)量為50 kg、55 kg、60 kg、65 kg 的人員分別騎行自平衡小車在同一條相對(duì)平緩路面進(jìn)行續(xù)航距離測(cè)試。當(dāng)蓄電池電壓下降到設(shè)定閾值并蜂鳴器報(bào)警時(shí),停止測(cè)試。測(cè)試數(shù)據(jù)如表1 所示。

表1 平緩路面續(xù)航距離測(cè)試數(shù)據(jù)

1677049696656565.png

5.2 坡度路面續(xù)航距離測(cè)試

當(dāng)電池充滿電后,同樣由上述4 名人員分別騎行自平衡小車在大約15° 的坡度路面進(jìn)行續(xù)航距離測(cè)試,測(cè)試要求與5.1 一樣。測(cè)試數(shù)據(jù)如表2 所示。

表2 約15°坡度路面續(xù)航距離測(cè)試數(shù)據(jù)

1677049772126613.png

5.3 陀螺儀角度數(shù)據(jù)

當(dāng)自平衡代步小車處于駕駛狀態(tài)時(shí),Cruiz CoreR1370P輸出的角度數(shù)據(jù)如圖8 所示。

1677049872247965.png

圖8 Cruiz Core R1370P輸出的角度數(shù)據(jù)

6   實(shí)物圖片

遙控器實(shí)物如圖9 所示。

image.png

圖9 遙控器實(shí)物圖

基于模糊PID 的兩輪自平衡代步小車實(shí)物如圖10所示。

image.png

圖10 基于模糊PID的兩輪自平衡代步小車實(shí)物圖

7   結(jié)束語

基于模糊PID 的兩輪自平衡代步小車采用了陀螺儀、、微處理器、語音播報(bào)、步進(jìn)電機(jī)控制、LoRa 通信等多種物聯(lián)網(wǎng)技術(shù),具有平衡穩(wěn)定、續(xù)航距離遠(yuǎn)、語音預(yù)警、遠(yuǎn)程遙控等特點(diǎn)。

參考文獻(xiàn):

[1] 薛艷.代步出行唯選江昕—上海平衡車展江昕華麗出擊[J].電動(dòng)自行車,2016(12):20-21.

[2] 徐文凱.載人平衡車控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].哈爾濱:哈爾濱理工大學(xué),2014.

[3] 張明.載人兩輪自平衡車控制系統(tǒng)的研究與設(shè)計(jì)[D].成都:電子科技大學(xué),2017.

[4] 梁光勝,杜夢(mèng)楠,周子豪,等.基于互補(bǔ)濾波的兩輪自平衡車姿態(tài)控制[J].測(cè)控技術(shù),2015,34(5):72-73.

[5] 路成強(qiáng),曾潔,李千振.基于卡爾曼濾波的兩輪自平衡遙控小車設(shè)計(jì)[J].自動(dòng)化儀表,2017,38(9):44-47,52.

[6] 行陽陽.基于模糊PD的兩輪自平衡車的設(shè)計(jì)[D].太原:太原理工大學(xué),2013.

[7] 夏玫.BP神經(jīng)網(wǎng)絡(luò)泛化能力改進(jìn)研究[D].太原:太原科技大學(xué),2009.

[8] 許亞朝.兩輪平衡車控制系統(tǒng)的設(shè)計(jì)與研究[D].太原:太原科技大學(xué),2016.

[9] 袁帥.兩輪自平衡機(jī)器人系統(tǒng)的設(shè)計(jì)[D].北京:北京交通大學(xué),2012.

[10] 辛斌,陳杰,彭志紅.智能優(yōu)化控制:概述與展望[J].自動(dòng)化學(xué)報(bào),2013,(11):49-54.

[11] Micro infinity Co., Ltd. Cruiz Core R1370P Technical Manual Rev1.1[M/OL].

http://www.minfinity.com/Manual/CruizCore%20R1370P%20Technical%20Manual%20Rev1.1.pdf,2015,05.

[12] 上海順舟智能科技股份有限公司. SZ15-01 LoRa模塊用戶使用手冊(cè)V1.0 [M/OL]. 

http://pmo47b088.pic37.websiteonline.cn/upload/SZ15-01LoRa.pdf,2018(6).

[13] 廣州美芯電子科技有限公司.MX6100-16P模塊使用手冊(cè)V1.2[M/OL]. 

http://www.mxic168.com/sczs/hby/mp31/123.html.

[14] STMicroelectronics Co., Ltd. STM32F103t8ST usermanual [M/OL].

https://www.st.com/resource/en/datasheet/stm32f103t8.pdf,2013,08.

(本文來源于《電子產(chǎn)品世界》雜志2023年2月期)



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉