鄧良益 易佳 王浩 顏雁軍 單飛橋
摘? 要:文章基于PID算法設(shè)計了一種智能小車,該小車包括控制模塊、探測模塊、驅(qū)動模塊、人機(jī)交互模塊。以STM32F103芯片為控制模塊核心,采用雙路全H橋驅(qū)動芯片TB6612驅(qū)動直流電機(jī),探測模塊包括一個超聲波測障模塊、四個紅外循跡對管和光電編碼器、人機(jī)交互模塊包括一個手機(jī)藍(lán)牙APP和LCD彩色液晶顯示屏。采用增量式PID算法實現(xiàn)了小車軌跡的精確控制。小車設(shè)計的功能有:直行、左右轉(zhuǎn)彎、超聲波避障及測距、紅外循跡、APP藍(lán)牙遠(yuǎn)程控制及測速。
關(guān)鍵詞:增量式PID;STM32;超聲波測障;藍(lán)牙透傳;紅外尋跡
中圖分類號:TP23? ? ? ? ?文獻(xiàn)標(biāo)志碼:A? ? ? ?文章編號:2095-2945(2019)30-0093-02
Abstract: This paper designs an intelligent car based on PID algorithm, which includes control module, detection module, driving module and human-computer interaction module. With STM32F103 chip as the core of the control module, the DC motor is driven by a dual H-bridge driver chip TB6612. The detection module includes an ultrasonic obstacle detection module, four infrared tracer pairs and photoelectric encoder, and a human-computer interaction module including a Bluetooth APP and LCD color LCD display. The incremental PID algorithm is used to realize the precise control of car trajectory. The functions of car design include: straight line, left and right turn, ultrasonic obstacle avoidance and ranging, infrared tracing, APP Bluetooth remote control and speed measurement.
Keywords: incremental PID; STM32; ultrasonic barrier detection; Bluetooth transmission; infrared tracing
1 系統(tǒng)結(jié)構(gòu)
1.1 系統(tǒng)整體結(jié)構(gòu)
本系統(tǒng)的主控制器采用STM32系列單片機(jī)STM32F103VET6。系統(tǒng)整體框圖如圖1所示。
1.2 系統(tǒng)硬件設(shè)計
(1)電機(jī)及驅(qū)動模塊
電機(jī)使用2個有刷直流電機(jī),高的轉(zhuǎn)速控制靈活簡便。電機(jī)的驅(qū)動由1個TB6612FNG雙H橋大電流驅(qū)動芯片實現(xiàn),它具有大電流MOSFET-H橋結(jié)構(gòu),雙通道電路輸出,可同時驅(qū)動2個電機(jī)。TB6612FNG每通道輸出最高1.2A的連續(xù)驅(qū)動電流,啟動峰值電流達(dá)2A/3.2A(連續(xù)脈沖/單脈沖);4種電機(jī)控制模式:正轉(zhuǎn)/反轉(zhuǎn)/制動/停止;PWM支持頻率高達(dá)100kHz。
(2)測速模塊
本系統(tǒng)采用在電機(jī)上安裝測速碼盤,利用光電開關(guān)實現(xiàn)脈沖輸出,通過程序?qū)崿F(xiàn)測速,其優(yōu)點(diǎn)是獲取信息準(zhǔn)確,體積小,不增加車輪的負(fù)擔(dān)。
(3)超聲波測障模塊
本系統(tǒng)使用超聲波模塊HC-SR04來實現(xiàn)障礙物的有無檢測和距離檢測。HC-SR04超聲波測距模塊可提供2cm-400cm的非接觸式距離感測功能,測距精度可達(dá)高到3mm;模塊包括超聲波發(fā)射器、接收器與控制電路。
機(jī)器內(nèi)部超聲波只需要提供一個10uS以上脈沖觸發(fā)信號,該模塊內(nèi)部將發(fā)出8個40kHz周期電平并檢測回波。一旦檢測到有回波信號則輸出回響信號。回響信號的脈沖寬度與所測的距離成正比。由此通過發(fā)射信號到收到的回響信號時間間隔可以計算得到距離。
(4)紅外循跡模塊
本系統(tǒng)采用四個紅外光電對管實現(xiàn)循跡功能,每個紅外對管的發(fā)射管不斷的發(fā)射紅外線,當(dāng)發(fā)射出的紅外線沒有被反射回來或者被反射回來但是強(qiáng)度不夠大時,紅外接收一直處于關(guān)斷狀態(tài),此時模塊的TTL輸出為高電平,相應(yīng)的指示二極管一直處于熄滅狀態(tài);當(dāng)黑線出現(xiàn)在檢測范圍內(nèi)時,紅外線被吸收且強(qiáng)度足夠大,紅外接受管關(guān)斷,此時模塊的TTL輸出為高電平,指示二極管熄滅。
(5)藍(lán)牙無線收發(fā)模塊
本系統(tǒng)采用HC-05主從一體藍(lán)牙模塊,通過該藍(lán)牙模塊控制實現(xiàn)小車的前進(jìn)、后退、右轉(zhuǎn)彎、左轉(zhuǎn)彎、倒車右轉(zhuǎn)、倒車左轉(zhuǎn)、測速、避障等功能??刂品椒樵谛≤囆凶哌^程中通過Android手機(jī)利用APP界面的“按鈕”控制改變小車運(yùn)動狀態(tài)。
2 智能小車軟件設(shè)計
2.1 增量式PID的算法實現(xiàn)
本系統(tǒng)采用PID調(diào)節(jié)方式來完成小車的運(yùn)動狀態(tài)調(diào)節(jié)。該方法的調(diào)節(jié)效率高,絕對誤差小。
傳統(tǒng)的PID控制結(jié)構(gòu)如圖2所示:
在算法層面本系統(tǒng)使用單級增量式PID,輸入為目標(biāo)角度,輸出為PWM的增減量。其計算公式(1)如下:
其中Kp、Ki、Kd分別為比例系數(shù),積分系數(shù)和微分系數(shù)。ek為第k次采樣的實時輸出與設(shè)定值的誤差。
其算法流程如下:
在整定PID參數(shù)時先進(jìn)行比例系數(shù)的整定,然后進(jìn)行積分系數(shù)的整定以消除穩(wěn)態(tài)誤差,最后進(jìn)行微分系數(shù)的整定以減小角度的超調(diào)量。
智能小車機(jī)器人通過串口通信發(fā)送速度值,上位機(jī)用 Visual Basic 6.0編制的PID曲線繪制軟件通過串口接收速度值,在校驗通過后,實時的繪制出PID速度曲線,進(jìn)行在線整定數(shù)字PID的三個參數(shù)Kp、Ki和Kd。
3 測試結(jié)果
3.1 直行及變向測試結(jié)果
實驗結(jié)果:小車反應(yīng)很迅速,不會出現(xiàn)程序跑飛的現(xiàn)象。前進(jìn)后退、左轉(zhuǎn)右轉(zhuǎn)、加速減速均已實現(xiàn)。其中左轉(zhuǎn)右轉(zhuǎn)是通過改變左右輪的速度來實現(xiàn)的。加速減速是改變輸出給電機(jī)驅(qū)動TB6612的PWM的占空比實現(xiàn)。
3.2 避障及循跡測試結(jié)果
尋跡的原理是通過紅外對管來實現(xiàn)檢測黑線的位置,通過程序判斷黑線的位置來了解小車本身所處的位置,從而決定小車下一步的行進(jìn)路線。經(jīng)過試驗測試效果非常好完全可以按照黑線所指示的路線行進(jìn),而且程序穩(wěn)定性十分好。
3.3 藍(lán)牙控制及數(shù)據(jù)回傳實驗現(xiàn)象
在stm32最小系統(tǒng)板上,藍(lán)牙模塊連接的是USART2的RX和TX,通過在程序的USART2的接收終端所接收的字符來判斷小車下一步該執(zhí)行什么程序。并且小車將當(dāng)前所處的狀態(tài)(左右輪的轉(zhuǎn)速以及超聲波探頭所測的距離值)返回手機(jī)。
4 結(jié)束語
本文闡述了智能小車的總體設(shè)計思路和系統(tǒng)框圖,主要研究了智能小車機(jī)器人的軟硬件設(shè)計, 并給出了系統(tǒng)架構(gòu)和軟件流程。采用數(shù)字增量PID控制算法對直流減速電機(jī)的轉(zhuǎn)速進(jìn)行控制。在上位機(jī)編制 PID 曲線繪制軟件方便整定 PID 參數(shù)。經(jīng)過模塊測試和整機(jī)測試,該系統(tǒng)控制精度高,運(yùn)行可靠,具有很強(qiáng)的抗干擾能力,可被廣泛用于教學(xué)、智能玩具和搬運(yùn)等場合,有很好的實用價值。
參考文獻(xiàn):
[1]蔣龍,羅亮,王欣.基于積分分離PID控制的自平衡小車設(shè)計[J].西南科技大學(xué)學(xué)報,2015,30(2):56-58.
[2]史敬灼,劉玉.超聲電機(jī)簡單專家PID速度控制[J].中國電機(jī)工程學(xué)報,2013,5(36):148-152.
[3]張群,楊絮,張正言,等.藍(lán)牙模塊串口通信的設(shè)計與實現(xiàn)[J].實驗室研究與探索,2012,6(3):251-253.