蔣永超
摘 要:隨著物聯(lián)網(wǎng)時代的到來,科技的發(fā)展,使得雙輪平衡小車控制器無論在日常生活中還是在機械生產(chǎn)都得到了廣泛使用。本文提出了一種基于PID的雙輪小車控制器,包括MCU為STM32F103C8T6、NFR24L01無線收發(fā)、HC-SR04超聲波、LM2596s DC-DC、MPU6050中的三軸加速度計和內(nèi)置陀螺儀。本文對設(shè)計具有無線控制的雙輪平衡小車控制器的各個模塊做了詳細的硬件原理分析,以及規(guī)范的軟件編程調(diào)試,實現(xiàn)了當(dāng)有外力作用于小車讓小車失衡時,小車通過控制器實現(xiàn)自平衡靜止,當(dāng)小車運行時遇到障礙物,小車通過控制器反向運動一段距離,并且可以通過無線控制小車。
關(guān)鍵詞:PID;NFR24L01;MPU6050
引 ?言
隨著電子信息技術(shù)的發(fā)展,短距離無線通訊也有了很大的提升。兩輪自平衡車運動靈活、智能控制、操作簡便,適合單人使用且適用范圍廣。本文就是圍繞對兩輪平衡小車控制器進行研究,在自平衡控制中利用MPU6050內(nèi)置陀螺儀和三軸加速度計都可以通過算法得到傾斜角利用互補濾波得到穩(wěn)定的傾斜角度。再引入PID對小車運動狀態(tài)精準(zhǔn)控制使小車穩(wěn)定系數(shù)增加。通過將雙輪平衡車控制系統(tǒng)與短程無線技術(shù)的結(jié)合,設(shè)計出了一種自平衡穩(wěn)定,功耗較低,可以進行無線控制的平衡控制器。
1. 雙輪小車平衡控制系統(tǒng)總體設(shè)計方案
總控制系統(tǒng)分為主機和從機兩部分,分機對平衡車進行控制,主機對分機進行無線控制。此無線傳輸屬于雙工通信,主機發(fā)送信息,從機應(yīng)答,主機接收到應(yīng)答。從機系統(tǒng)通過MCU讀取MPU6050產(chǎn)生的信息通過編程實現(xiàn)小車的自平衡和轉(zhuǎn)向。利用單片機產(chǎn)生PWM輸入電機驅(qū)動芯TB6612對電機進行速度控制不同的占空比速度不同,占空比與速度成正比。通過編碼器獲得脈沖,利用IO口讀取脈沖程序單位時間內(nèi)對其上升沿和下降沿進行計數(shù),這里用了四倍頻技術(shù),從而得到精確的車輪的轉(zhuǎn)速。利用HC-SRO4超聲波模塊和單片機端口讀取軟件編程對小車前方進行障礙物距離測量設(shè)定一定的距離,當(dāng)距離很近進行反向慢速運動。
2. 雙輪平衡車控制系統(tǒng)硬件電路設(shè)計
硬件電路由以下幾個部分組成電源模塊,MPU6050陀螺儀6DOF模塊,HC-SRO4超聲波測距模塊,NFR24L01模塊,電機驅(qū)動模塊。
MPU6050是全球首例9軸運動處理傳感器內(nèi)置3軸陀螺儀和3軸加速度計。其工作電壓2.5±5%,3.0±5%,3.3±5% ,我們采用3.3V供電,用SPI傳輸數(shù)據(jù)。無線收發(fā)模塊是全球開放ISM頻段免認(rèn)證可用,最高頻率2M,內(nèi)置硬件RCR檢錯和對點通訊地址控制低功耗,內(nèi)置2.4Ghz天線體積小巧可以直接與所選MCUIO口相連。
無線收發(fā)模塊采用NFR24L01,它一款新型單片射頻收發(fā)器件,工作于2.4 GHz~2.5 GHz ISM頻段。內(nèi)置頻率合成器、功率放大器、晶體振蕩器、調(diào)制器等功能模塊。發(fā)射數(shù)據(jù)時,首先將NFR24L01配置為發(fā)射模式:接著把地址TX_ADDR和數(shù)據(jù)TX_PLD按照時序由SPI口寫入NFR24L01緩存區(qū),TX_PLD必須在CSN為低時連續(xù)寫入,而TX_ADDR在發(fā)射時寫入一次即可,然后CE置為高電平并保持至少10μs,延遲130μs后發(fā)射數(shù)據(jù);若自動應(yīng)答開啟,那么NFR24L01在發(fā)射數(shù)據(jù)后立即進入接收模式,接收應(yīng)答信號。如果收到應(yīng)答,則認(rèn)為此次通信成功,TX_DS置高,同時TX_PLD從發(fā)送堆棧中清除;若未收到應(yīng)答,則自動重新發(fā)射該數(shù)據(jù)(自動重發(fā)已開啟),若重發(fā)次數(shù)(ARC_CNT)達到上限,MAX_RT置高,TX_PLD不會被清除;MAX_RT或TX_DS置高時,使IRQ變低,以便通知MCU。最后發(fā)射成功時,若CE為低則nRF24L01進入空閑模式1;若發(fā)送堆棧中有數(shù)據(jù)且CE為高,則進入下一次發(fā)射;若發(fā)送堆棧中無數(shù)據(jù)且CE為高,則進入空閑模式2。
超聲波距離測試模塊,使用RS232轉(zhuǎn)串口與MCU通信,利用壓電效應(yīng)可以監(jiān)測對障礙物的距離。
電機驅(qū)動模塊采用驅(qū)動芯片增加負(fù)載能力使用TB6612FNG直流電機驅(qū)動,其負(fù)載較強,這個芯片由東芝半導(dǎo)體公司生產(chǎn)可驅(qū)動2個電機,其熱耗低,對于PWM的頻率限制可以達到100KHZ,其內(nèi)置過熱保護和低壓檢測。
3. 雙輪平衡車控制系統(tǒng)(分機)軟件設(shè)計
PID由3個單元組成,分別是比例(P)單元、積分(I)單元、微分(D)單位。在微處理器中,因為控制器要實現(xiàn)其控制算法必須通過軟件實現(xiàn),因此要對模擬調(diào)節(jié)器進行離散化處理,如此它只需根據(jù)采樣時刻的偏差值來計算控制量。于是,我們需要使用離散的差分方程代替連續(xù)的微分方程。 常用一階差分代替一階微分;常用累加代替積分。根據(jù)位置式離散 PID 公式:e(k)為本次偏差,e(k-1)上一次的偏差,Σe(k)為e(k)以及之前的偏差的累積和;其中 k 為 常數(shù);Pwm代表輸出。關(guān)于 P、I、D 三個參數(shù)的主要作用,P 用于提高響應(yīng)速度、I 用于減小靜差、D 用于抑制震蕩。對角速度進行測量可以采用陀螺儀,我使用的MPU6050里面根據(jù)其英文手冊其內(nèi)部集成了三軸陀螺儀,所以我將繼續(xù)使用MPU6050測量角速度。我從陀螺儀得到的是角速度,角速度的測量不受小車運動的影響。角度得到之后可以通過積分得到2格努同時按內(nèi)的角度變化,用陀螺儀可以間接測量某段時間角度變化。通過在10ms的定時中斷服務(wù)函數(shù)里面執(zhí)行語句就可以得到10ms后的角度的變化有多大。
陀螺儀測量傾斜角度理論是可以的,但在聯(lián)系實際情況進行分析角速度信號存在微小的偏差和漂移。傳感器靜止的情況下,輸出不為零時會產(chǎn)生誤差,經(jīng)過積分放大誤差,誤差的不斷疊加最終無法測得正確的角度。所以可以將角加速度計和線加速度計聯(lián)合使用,通過互補濾波實現(xiàn)的自平衡控制系統(tǒng)更加穩(wěn)定。
4. 結(jié)論
本文介紹了雙輪平衡小車控制器系統(tǒng)的硬件電路和無線接收發(fā)模塊,按鍵控制模塊,超聲波探測距離模塊,MCU控制模塊等。實現(xiàn)了主機對從機的運動控制,而且對其控制是極其靈活,可以進行速度控制,運行方向控制,實現(xiàn)設(shè)定距離位移和設(shè)定角度旋轉(zhuǎn)。實現(xiàn)小車在操作不當(dāng)情況下,遇到障礙物后退的功能,可以反向行走。在KEIL開發(fā)環(huán)境中使用JLINK在線仿真調(diào)試,使各個模塊協(xié)調(diào)運行。事實表明調(diào)試很成功。雙輪平衡車的控制器實現(xiàn)了基本功能,其使用價值較高。
參考文獻:
[1]戴偉,岳明,肖鵬程,張躍杰. 單軸雙輪自平衡小車的設(shè)計研究[J]物理實驗,2014(12):19 —23.
[2] 葛文盡, PID 控制技術(shù)平衡動態(tài)倒立擺的探索[J]信息通信,2017(5)136-137.
[3]馬傳翔,楊名利雙輪自平衡機器人的滑模變結(jié)構(gòu)控制研究[J].微計算機信息,2011(1):70 —71 .
[4]符秀輝,趙茂鑫.基于互補濾波算法的移動機器人姿態(tài)檢測[J].測控技術(shù),2015,36(6 ):31 —33.
[5]阮曉鋼,劉江狄海江,等.兩輪自平衡機器人系統(tǒng)沒汁、建模及LQ控制[J].現(xiàn)代電子技術(shù),2008,281(18):52—56.
[6]盧海曦,王壽榮,周百令.微機械陀螺儀反饋控制器魯棒分析已經(jīng)閉環(huán)接檢測電路分析[J].東南大學(xué)學(xué)報,2011,41(3):526-532.
(成都理工大學(xué) ?四川 ?成都 ?610059)