你的位置:首頁(yè) > 測(cè)試測(cè)量 > 正文
新手入門:超聲自平衡小車最佳方案
發(fā)布時(shí)間:2015-11-17 責(zé)任編輯:sherry
【導(dǎo)讀】閑得沒事干,就想做一款成本低,易上手,最小配置和最基本功能的自平衡小車,其目的就是給那些沒有什么經(jīng)驗(yàn)的剛?cè)胄械男率謧兲峁┮粋€(gè)入門的解決方案。
1、項(xiàng)目概述
在網(wǎng)上看到各種制作自平衡小車的帖子,也跟著做了起來(lái)。因?yàn)榈谝淮巫觯睦餂]底,也就沒有投入過多的資金,一切按照最小配置進(jìn)行,所以選擇“TT馬達(dá)”,俗稱“香蕉電機(jī)”的小車底盤。
在等快遞送貨期間,才看到各種說用“香蕉電機(jī)”做自平衡小車的問題,最大的問題就是電機(jī)啟動(dòng)對(duì)傳感器和單片機(jī)的干擾問題,還有就是平衡的穩(wěn)定性不好等問題。在我以Arduino + MPU6050 + L298N為核心做完后,閑得沒事干,就想做一款成本低,易上手,最小配置和最基本功能的自平衡小車,其目的就是給那些沒有什么經(jīng)驗(yàn)的剛?cè)胄械男率謧兲峁┮粋€(gè)入門的解決方案。所以這個(gè)項(xiàng)目的目標(biāo)有以下幾點(diǎn):
a、成本低;
b、目標(biāo)功能明確,就是實(shí)現(xiàn)小車的自平衡;
c、系統(tǒng)穩(wěn)定可靠;
d、調(diào)試、操作方便簡(jiǎn)單。
2、項(xiàng)目方案
基于上述目標(biāo),本方案采用超聲波測(cè)距模塊作為小車平衡狀態(tài)的檢測(cè),免去了對(duì)加速度、陀螺儀傳感器的理解和復(fù)雜處理算法。小車的平衡控制仍然采用網(wǎng)絡(luò)上流行的Arduino開源硬件,再加上電機(jī)驅(qū)動(dòng)模塊 L298N,電機(jī)仍然采用TT馬達(dá)(香蕉電機(jī))。
該方案為了降低成本,采用電位器調(diào)整設(shè)定小車的平衡參數(shù),不使用藍(lán)牙無(wú)線模塊或有線串口在線調(diào)整參數(shù)。
用超聲波測(cè)距的方式實(shí)現(xiàn)的自平衡小車,網(wǎng)絡(luò)上有人提出這種方案無(wú)法在坡度變化的斜坡上保持平衡,這種說法經(jīng)過我的實(shí)踐,是有解決方案的,這個(gè)問題我將在后面進(jìn)行闡述。
平衡控制的算法還是采用平衡車中經(jīng)典的PD算法。
3、硬件設(shè)計(jì)
硬件設(shè)計(jì)比較簡(jiǎn)單,以Arduino Nano為核心控制模塊,采用HC-SR04超聲波測(cè)距模塊,L298N電機(jī)驅(qū)動(dòng)模塊,供電采用7.4V/2200mAh鋰電池。圖中三個(gè)10K電位器分別用于平衡點(diǎn)設(shè)置、PD算法中Kp和Kd系數(shù)設(shè)置的調(diào)整。
電路原理圖如下所示:
圖中J1為HC-SR04超聲波測(cè)距模塊,J2、J3為L(zhǎng)298N模塊,Arduino Nano為核心控制模塊,MG1、MG2分別為左右電機(jī)。
與之前用香蕉電機(jī)+MPU6050做的自平衡小車相比較要簡(jiǎn)單很多,在MPU6050方案中,用了兩塊電池,其中一塊單獨(dú)用于電機(jī)供電,而且L298N必須用光耦隔離的。
而用超聲波做的自平衡小車,雖然用的是TT馬達(dá)(俗稱香蕉電機(jī)),但僅一塊電池供電,L298N電機(jī)驅(qū)動(dòng)模塊也沒有光耦隔離,從最終調(diào)試后的效果上看,還比前者更穩(wěn)定。
成品照:
材料清單
這個(gè)材料清單比較完整,是帶遙控器的。在電商平臺(tái)可以收集齊全,大家可以i自行搜索。
4、程序設(shè)計(jì)
程序源代碼:http://www.52solution.com/auto-dl/7374
5、調(diào)試流程
最新版超聲平衡小車裝配完畢后如下圖所示。
串口調(diào)試助手程序:http://www.52solution.com/auto-dl/7375
a、準(zhǔn)備工作
將Kp與Kd調(diào)為0,調(diào)整方法是,旋轉(zhuǎn)電位器后,按下Arduino模塊上的復(fù)位鍵調(diào)整方可有效。調(diào)整后用串口調(diào)試助手(sscom42.exe)發(fā)送 “F”命令,讀取超聲自平衡小車參數(shù)的設(shè)定值。在使用串口調(diào)試助手前,首先選擇串口調(diào)試助手對(duì)應(yīng)的串口號(hào),設(shè)置好波特率,方可發(fā)送上述命令讀取超聲自平衡小車參數(shù)的設(shè)定值,操作界面如下圖所示。
第一個(gè)數(shù)據(jù)為平衡點(diǎn)設(shè)定值,第二個(gè)數(shù)據(jù)為Kp,第三個(gè)數(shù)據(jù)為Kd。
b、超聲波測(cè)距測(cè)試
發(fā)送相應(yīng)“L”命令,讀取超聲波的測(cè)距值,注意,這里不是實(shí)際的mm或cm值,而是對(duì)應(yīng)距離來(lái)回的傳播時(shí)間值,是單片機(jī)內(nèi)部計(jì)時(shí)的輸出值。
操作界面如下圖所示。
第一個(gè)數(shù)為超聲波測(cè)距模塊的直接輸出值,第二個(gè)數(shù)為一階濾波后的值。改變超聲波測(cè)距模塊與被測(cè)界面的距離,這兩個(gè)值會(huì)發(fā)生相應(yīng)的改變,距離近,測(cè)得的值變小,距離遠(yuǎn)測(cè)得的值就增大。
c、尋找物理平衡點(diǎn)
在Kp、Kd為0時(shí),用手尋找自平衡小車的物理平衡點(diǎn),同時(shí)用“L”命令(500ms定時(shí)發(fā)送)讀取超聲波測(cè)量的返回值,確定平衡點(diǎn)的返回值,并記錄下來(lái)。
d、平衡點(diǎn)PB的設(shè)定
調(diào)整PB電位器,并在Arduino復(fù)位后,用“F”命令讀取超聲自平衡小車參數(shù)的設(shè)定值,使得第一個(gè)返回的數(shù)據(jù)與上述確定的物理平衡點(diǎn)相一致。
e、判斷電機(jī)運(yùn)轉(zhuǎn)方向是否正確
在完成上述調(diào)整后,逐漸增大Kp(請(qǐng)記住,每次調(diào)整后,都必須復(fù)位Arduino模塊,調(diào)整才能生效),看到電機(jī)能夠動(dòng)作時(shí),停止調(diào)整Kp。這時(shí)將超聲波模塊一端稍稍下壓(也就是使超聲波探頭與地面距離縮短),觀察兩個(gè)電機(jī)的轉(zhuǎn)動(dòng)方向,往前(超聲波測(cè)距模塊一端為前)轉(zhuǎn)測(cè)試正確的,往后轉(zhuǎn)則說明相應(yīng)的電機(jī)兩根線接反了,將接反的線調(diào)換過來(lái)即可。
f、Kp參數(shù)整定
在電機(jī)接線正確后,再逐漸增大Kp,使得小車能夠來(lái)回有點(diǎn)擺動(dòng)即可進(jìn)入調(diào)整Kd參數(shù)階段。
g、Kd參數(shù)整定
在調(diào)整完Kp后,逐漸增大Kd,使得擺動(dòng)消失,如果繼續(xù)增大Kd,小車會(huì)出現(xiàn)明顯的抖動(dòng),此時(shí)將Kd往回調(diào)整,使得抖動(dòng)消失即可。
h、平衡點(diǎn)PB的進(jìn)一步調(diào)整
在上述參數(shù)調(diào)整完畢后,小車一般就能保持平衡了,如果出現(xiàn)小車往一邊跑的現(xiàn)象,可通過調(diào)整PB電位器加以修正。如果小車往前跑(超聲波模塊一端為前),調(diào)整PB使得平衡點(diǎn)設(shè)定值增大;如果小車往后跑,調(diào)整PB使得平衡點(diǎn)設(shè)定值減小,直到小車能夠長(zhǎng)時(shí)間穩(wěn)定為止。
6、總結(jié)與展望
超聲自平衡小車的基本版已經(jīng)完成,在制作過程中與我之前用MPU6050制作的小平衡車相比有以下幾點(diǎn)體會(huì):
a、在用TT馬達(dá)的情況下,如果系統(tǒng)使用同一組電池供電,電機(jī)一啟動(dòng)Arduino與MPU6050立即死機(jī),或者M(jìn)PU6050的數(shù)據(jù)受干擾極為嚴(yán)重,不可使用。解決辦法是用另一組電池單獨(dú)給L298N供電,并且L298N要選擇帶光耦隔離的。但同樣的使用TT馬達(dá)的情況下,用超聲波測(cè)距方案,系統(tǒng)僅用一組電池即可,而且L298N也無(wú)需光耦隔離,系統(tǒng)很穩(wěn)定。
b、超聲波傳感器的選擇要選擇最小測(cè)量周期短的模塊,第一次我使用的是US-015 超聲波測(cè)距模塊,US-015是目前市場(chǎng)上分辨率最高,重復(fù)測(cè)量一致性最好的超聲波測(cè)距模塊,US-015的分辨率高于1mm,可達(dá)0.5mm,測(cè)距精度高,重復(fù)測(cè)量一致性好,測(cè)距穩(wěn)定可靠。但他的最小測(cè)量周期大于10ms,而且對(duì)輸出數(shù)據(jù)經(jīng)常有跳動(dòng)(這是由于它的靈敏度很高,在近距離時(shí)超聲波在模塊與地面之間的來(lái)回反射的二次信號(hào)都能被檢測(cè)到),為此在地面墊上一個(gè)地毯吸收了部分能量的超聲波,才能穩(wěn)定工作。在第二版中更換了HC-SR04超聲波模塊,這個(gè)模塊的測(cè)距精度雖然只有3mm,但它的最小測(cè)量周期僅略大于3ms。但這種模塊市場(chǎng)上有兩種,一種沒有晶體,一種是帶晶體的,帶晶體的很不穩(wěn)定,建議大家不要選擇。
c、小車的平衡穩(wěn)定性與多種因素有關(guān),建議在結(jié)構(gòu)上,重心越低越好。
d、另外,我還做了一個(gè)對(duì)比測(cè)試,數(shù)據(jù)見下表:
誤差絕對(duì)值是指小車在一段時(shí)間內(nèi),實(shí)測(cè)距離與設(shè)定平衡點(diǎn)距離誤差絕對(duì)值的平均值;濾波是指程序中對(duì)超聲波測(cè)量的距離濾波或不濾波直接使用;循環(huán)周期是程序中的延時(shí)時(shí)間,超聲波測(cè)量需要大約704us,一個(gè)周期大約為3.84ms,程序處理時(shí)間大約為136us.
特別推薦
- AMTS 2025展位預(yù)訂正式開啟——體驗(yàn)科技驅(qū)動(dòng)的未來(lái)汽車世界,共迎AMTS 20周年!
- 貿(mào)澤電子攜手安森美和Würth Elektronik推出新一代太陽(yáng)能和儲(chǔ)能解決方案
- 功率器件熱設(shè)計(jì)基礎(chǔ)(六)——瞬態(tài)熱測(cè)量
- 貿(mào)澤開售Nordic Semiconductor nRF9151-DK開發(fā)套件
- TDK推出用于可穿戴設(shè)備的薄膜功率電感器
- 日清紡微電子GNSS兩款新的射頻低噪聲放大器 (LNA) 進(jìn)入量產(chǎn)
- 中微半導(dǎo)推出高性價(jià)比觸控 MCU-CMS79FT72xB系列
技術(shù)文章更多>>
- 意法半導(dǎo)體推出首款超低功耗生物傳感器,成為眾多新型應(yīng)用的核心所在
- 是否存在有關(guān) PCB 走線電感的經(jīng)驗(yàn)法則?
- 智能電池傳感器的兩大關(guān)鍵部件: 車規(guī)級(jí)分流器以及匹配的評(píng)估板
- 功率器件熱設(shè)計(jì)基礎(chǔ)(八)——利用瞬態(tài)熱阻計(jì)算二極管浪涌電流
- AHTE 2025展位預(yù)訂正式開啟——促進(jìn)新技術(shù)新理念應(yīng)用,共探多行業(yè)柔性解決方案
技術(shù)白皮書下載更多>>
- 車規(guī)與基于V2X的車輛協(xié)同主動(dòng)避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車安全隔離的新挑戰(zhàn)
- 汽車模塊拋負(fù)載的解決方案
- 車用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
生產(chǎn)測(cè)試
聲表諧振器
聲傳感器
濕度傳感器
石英機(jī)械表
石英石危害
時(shí)間繼電器
時(shí)鐘IC
世強(qiáng)電訊
示波器
視頻IC
視頻監(jiān)控
收發(fā)器
手機(jī)開發(fā)
受話器
數(shù)字家庭
數(shù)字家庭
數(shù)字鎖相環(huán)
雙向可控硅
水泥電阻
絲印設(shè)備
伺服電機(jī)
速度傳感器
鎖相環(huán)
胎壓監(jiān)測(cè)
太陽(yáng)能
太陽(yáng)能電池
泰科源
鉭電容
碳膜電位器