李志豪 司永康 屈志揚(yáng) 李建軍 李高展 曲藝晗(河南科技大學(xué) 機(jī)電工程學(xué)院,河南 洛陽(yáng)471003)
近年來,兩輪式自平衡小車的研究在美國(guó)、日本、等國(guó)都得到了迅速發(fā)展。平衡車能夠通過自身的整體協(xié)調(diào)性操作平衡,而且體積小,容易上手,成為越來越多人的一種代步工具。平衡車的動(dòng)力來源是鋰電池,沒有碳排放,是一種綠色出行方式,能很好的保護(hù)環(huán)境。目前,平衡車已經(jīng)進(jìn)入越來越多人的視野之中,我們研究的目的是使小車能在正常的環(huán)境下正常前進(jìn)和后退,保證正常的直立運(yùn)行。
該平衡小車系統(tǒng)采用Arduino 單片機(jī)為核心,GY-85 九軸IMU 傳感器模塊負(fù)責(zé)采集平衡小車的姿態(tài),并將姿態(tài)信息傳輸回Arduino 控制器,控制器得到平衡小車的實(shí)時(shí)角速度和角度以及小車車輪當(dāng)前的速度,綜合計(jì)算出需要輸出的控制信號(hào)進(jìn)而準(zhǔn)確控制平衡小車兩個(gè)車輪的直流電動(dòng)機(jī)[1],使平衡小車保持平衡,同時(shí)將平衡小車系統(tǒng)所采集到的角度、角速度、車輪速度等通過藍(lán)牙控制模塊傳送至手機(jī)app上實(shí)時(shí)顯示,以及在小車硬件顯示屏上也能顯示。系統(tǒng)總體結(jié)構(gòu)如圖1 所示。
圖1 平衡小車系統(tǒng)
該平衡小車系統(tǒng)分別由電源降壓模塊AMS1117、Arduinouno、GY-85 姿態(tài)傳感器、電機(jī)驅(qū)動(dòng)模塊、電機(jī)及BT08b藍(lán)牙控制模塊四部分組成,小車的系統(tǒng)集成電路結(jié)構(gòu)如圖2。12v的電源經(jīng)過降壓模塊下降至5v,為Arduino 控制板提供電源,GY-85 讀取小車姿態(tài)數(shù)據(jù)再傳到Arduino 控制器;電機(jī)編碼器獲得一臺(tái)電機(jī)的轉(zhuǎn)速再通過傳感器反饋到Arduino 控制板,Arduino 控制板根據(jù)傳感器所采集的信息,通過PID 控制算法將PWM 信號(hào)輸出傳至電機(jī)驅(qū)動(dòng)模塊[2]與此同時(shí),控制器將傳感器采集到的小車姿態(tài)運(yùn)動(dòng)信息通過BT08B 藍(lán)牙模塊傳送到手機(jī)app 上,并且能在顯示屏上顯示出來。
圖2 平衡小車系統(tǒng)電路原理圖
ArduinoUNO 是基于ATmega328P 的一款微控制器板[3]。它分別設(shè)置了14 個(gè)用于數(shù)值式的進(jìn)出輸入/控制輸出引腳(其中6個(gè)引腳設(shè)計(jì)可以被直接用于PWM 輸出),6 個(gè)模擬輸入,16MHz的晶振控制時(shí)鐘,USB 的總線連接,電源的插孔,ICSP 連接頭和復(fù)位控制按鈕。只需要通過兩根USB 數(shù)據(jù)線和電腦硬件連接就可以同時(shí)進(jìn)行電源供電、數(shù)據(jù)傳輸通訊和程序下載。
GY-85 傳感器模塊系統(tǒng)是兩輪平衡小車的核心零件之一,其中包含有三個(gè)芯片:陀螺儀、加速度計(jì)和電子磁力測(cè)量器(各三個(gè)軸),通過閱讀這些參數(shù),就可以判斷出一個(gè)物體在不同時(shí)刻的姿態(tài)、轉(zhuǎn)動(dòng)速度、方向。
該系統(tǒng)采用L298N 雙橋直流電機(jī)驅(qū)動(dòng)模塊,可以同時(shí)控制2 個(gè)電機(jī)正反轉(zhuǎn),平衡小車只需要這一個(gè)電機(jī)模塊就能控制兩個(gè)輪子的運(yùn)動(dòng)。L298N 電機(jī)驅(qū)動(dòng)模塊,電機(jī)驅(qū)動(dòng)電壓5-35V,輸出最大電流范圍可達(dá)2.5-3A。主要特點(diǎn):工作時(shí)電壓高,輸出電流較大。
在自平衡小車控制系統(tǒng)中,系統(tǒng)內(nèi)部的工作原理與運(yùn)行流程如圖3。平衡小車的轉(zhuǎn)速控制狀態(tài)可以大致分為三種,即平衡驅(qū)動(dòng)控制、速度驅(qū)動(dòng)控制和方向驅(qū)動(dòng)控制,要正確實(shí)現(xiàn)這三種控制,控制的對(duì)象就是對(duì)兩個(gè)車輪電機(jī)的控制[4],我們采用了經(jīng)典型PID 控制器進(jìn)行自平衡驅(qū)動(dòng)控制。而要達(dá)到準(zhǔn)確的控制,我們就需要知道小車的姿態(tài)、速度數(shù)據(jù),這些數(shù)據(jù)對(duì)下一步控制器怎樣去控制小車的運(yùn)動(dòng)非常重要。我們通過GY-85 姿態(tài)傳感器采集小車的實(shí)時(shí)數(shù)據(jù),數(shù)據(jù)傳至控制器,用PID 控制算法對(duì)數(shù)據(jù)進(jìn)行處理,再輸出PWM 波,小車電機(jī)做出調(diào)速運(yùn)動(dòng),從而實(shí)現(xiàn)小車的平衡及運(yùn)動(dòng)。
圖3 程序流程圖
我們使用兩臺(tái)直流驅(qū)動(dòng)電機(jī),電機(jī)的引腳A、B 用來輸入PWM 脈寬調(diào)制器的信號(hào)來對(duì)電機(jī)進(jìn)行調(diào)速控制。如果左電動(dòng)機(jī)輸入信號(hào)端IN1 連接高電平,輸入信號(hào)端IN2 連接低電平,左電機(jī)正轉(zhuǎn);如果信號(hào)端IN1 接到低電平,IN2 接高電平,左電機(jī)就會(huì)逆轉(zhuǎn)??刂朴译姍C(jī)采用同樣的方式,輸入信號(hào)端IN3 接高電平,輸入端IN4 接低電平,右電機(jī)正轉(zhuǎn);反之電機(jī)就會(huì)逆轉(zhuǎn)。PWM 信號(hào)端A 控制左電機(jī)調(diào)速,PWM 信號(hào)端B 控制右電機(jī)調(diào)速。電機(jī)工作如表1。
通過對(duì)兩輪自平衡小系統(tǒng)動(dòng)力學(xué)分析和數(shù)學(xué)建模,引入PID 反饋后系統(tǒng)的傳遞函數(shù)為:
在simulink 中, 建立了平衡小車數(shù)學(xué)模型, 如圖4, 調(diào)用PID 控制器組合構(gòu)成系統(tǒng)的主要組成部分。在以單位階躍信號(hào)為干擾物時(shí),繪制出對(duì)應(yīng)的階躍響應(yīng)曲線圖,如圖5。通過這個(gè)波形我們可以清楚地看出, 系統(tǒng)能夠在受到外界干擾的條件下,能夠使其在一定的周期內(nèi)重新回到穩(wěn)定的狀態(tài)。這就說明我們所構(gòu)造的兩輪均衡小汽車體系的數(shù)學(xué)模擬機(jī)構(gòu)是有效實(shí)現(xiàn)的。
表1 電機(jī)工作邏輯表
圖4 平衡小車系統(tǒng)模型simulink 仿真
圖5 階躍響應(yīng)曲線圖
本系統(tǒng)實(shí)現(xiàn)了小車能夠基本保持平衡,實(shí)驗(yàn)過程中小車會(huì)出現(xiàn)略微的不穩(wěn)定前后的晃動(dòng)。通過藍(lán)牙在手機(jī)app 上可以顯示各個(gè)數(shù)據(jù)的變化。整個(gè)系統(tǒng)的設(shè)計(jì)成本低、項(xiàng)目完成周期為三個(gè)星期?;贏rduino 的兩輪自平衡小車基本能夠?qū)崿F(xiàn)項(xiàng)目的要求,由于知識(shí)的匱乏,時(shí)間的緊迫,Arduino 程序存在很多不夠完美的地方,simulink 仿真也存在很多未考慮的實(shí)際影響因素。
兩輪自平衡小車是一個(gè)非線性的復(fù)雜系統(tǒng),在項(xiàng)目的設(shè)計(jì)中運(yùn)用開源硬件完成了兩輪自平衡小車的項(xiàng)目設(shè)計(jì)。采用藍(lán)牙模塊實(shí)現(xiàn)更方便的控制。整個(gè)系統(tǒng)中,用姿態(tài)傳感器對(duì)小車的姿態(tài)、速度、方向進(jìn)行采集,再利用PID 控制算法對(duì)數(shù)據(jù)進(jìn)行處理,控制小車的平衡性和穩(wěn)定性。
科學(xué)技術(shù)創(chuàng)新2021年14期