資源描述:
《平衡車平衡原理 Arduino》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、平衡原理一、平衡小車原理平衡小車是通過兩個(gè)電機(jī)運(yùn)動(dòng)下實(shí)現(xiàn)小車不倒下直立行走的多功能智能小車,在外力的推拉下,小車依然保持不倒下。這么一說可能還沒有很直觀的了解究竟什么是平衡小車,不過這個(gè)平衡小車實(shí)現(xiàn)的原理其實(shí)是在人們生活中的經(jīng)驗(yàn)得來的。如果通過簡(jiǎn)單的練習(xí),一般人可以通過自己的手指把木棒直立而不倒的放在指尖上,所以練習(xí)的時(shí)候,需要學(xué)會(huì)的兩個(gè)條件:一是放在指尖上可以移動(dòng),二是通過眼睛觀察木棒的傾斜角度和傾斜趨勢(shì)(角速度)。通過手指的移動(dòng)去抵消木棒傾斜的角度和趨勢(shì),使得木棒能直立不倒。這樣的條件是不可以缺一的,實(shí)際上加入這兩
2、個(gè)條件,控制過程中就是負(fù)反饋機(jī)制。而世界上沒有任何一個(gè)人可以蒙眼不看,就可以直立木棒的,因?yàn)闆]有眼睛的負(fù)反饋,就不知道筆的傾斜角度和趨勢(shì)。這整個(gè)過程可以用一個(gè)執(zhí)行式表達(dá):平衡小車也是這樣的過程,通過負(fù)反饋實(shí)現(xiàn)平衡。與上面保持木棒直立比較則相對(duì)簡(jiǎn)單,因?yàn)樾≤囉袃蓚€(gè)輪子著地,車體只會(huì)在輪子滾動(dòng)的方向上發(fā)生傾斜??刂戚喿愚D(zhuǎn)動(dòng),抵消在一個(gè)維度上傾斜的趨勢(shì)便可以保持車體平衡了。所以根據(jù)上述的原理,通過測(cè)量小車的傾角和傾角速度控制小車車輪的加速度來消除小車的傾角。因此,小車傾角以及傾角速度的測(cè)量成為控制小車直立的關(guān)鍵。我們的亞博智
3、能平衡小車使用了測(cè)量?jī)A角和傾角速度的集成傳感器陀螺儀-MPU6050(模塊詳細(xì)介紹在亞博智能平衡小車光盤資料3.硬件資料中)。二、角度(物理分析PD算法)圖1圖2控制平衡小車,使得它作加速運(yùn)動(dòng)。這樣站在小車上(非慣性系,以車輪作為坐標(biāo)原點(diǎn))分析倒立擺受力,它就會(huì)受到額外的慣性力,該力與車輪的加速度方向相反,大小成正比。這樣倒立擺(如圖2)所受到的回復(fù)力為:公式1F=mgsinθ-macosθ≈mgθ-mk1θ式1中,由于θ很小,所以進(jìn)行了線性化。假設(shè)負(fù)反饋控制是車輪加速度a與偏角θ成正比,比例為k1。如果比例k1>g,
4、(g是重力加速度)那么回復(fù)力的方向便于位移方向相反了。而為了讓倒立擺能夠盡快回到垂直位置穩(wěn)定下來,還需要增加阻尼力。增加的阻尼力與偏角的速度成正比,方向相反,因此公式1可改為:F=mgθ-mk1θ-mk2θ`按照上述倒立擺的模型,可得出控制小車車輪加速度的算法:a=k1θ+k2θ`式中θ為小車角度,θ`為角速度。k1k2都是比例系數(shù)根據(jù)上述內(nèi)容,建立速度的比例微分負(fù)反饋控制,根據(jù)基本控制理論討論小車通過閉環(huán)控制保持穩(wěn)定的條件(這里需要對(duì)控制理論有基本了解)。假設(shè)外力干擾引起車模產(chǎn)生角加速度x(t)。沿著垂直于車模地盤方
5、向進(jìn)行受力分析,可以得到車模傾角與車輪運(yùn)動(dòng)加速度以及外力干擾加速度a(t)x(t)之間的運(yùn)動(dòng)方程。如圖3所示。圖3在角度反饋控制中,與角度成比例的控制量是稱為比例控制;與角速度成比例的控制量稱為微分控制(角速度是角度的微分)。因此上面系數(shù)k1,k2分別稱為比例和微分控制參數(shù)。其中微分參數(shù)相當(dāng)于阻尼力,可以有效抑制車模震蕩。通過微分抑制控制震蕩的思想在后面的速度和方向控制中也同樣適用??偨Y(jié)控制車模直立穩(wěn)定的條件如下:(1)能夠精確測(cè)量車模傾角θ的大小和角速度θ'的大??;(2)可以控制車輪的加速度。上述控制實(shí)際結(jié)果是小車與
6、地面不是嚴(yán)格垂直,而是存在一個(gè)對(duì)應(yīng)的傾角。在重力的作用下,小車會(huì)朝著一個(gè)方面加速前進(jìn)。為了保持小車的靜止或者勻速運(yùn)動(dòng)需要消除這個(gè)安裝誤差。在實(shí)際小車制作過程中需要進(jìn)行機(jī)械調(diào)整和軟件參數(shù)設(shè)置。另外需要通過軟件中的速度控制來實(shí)現(xiàn)速度的穩(wěn)定性。在小車角度控制中出現(xiàn)的小車傾角偏差,使得小車在傾斜的方向上產(chǎn)生加速。這個(gè)結(jié)果可以用來進(jìn)行小車的速度控制。下面將利用這個(gè)原理來調(diào)節(jié)小車的速度。三、測(cè)速(物理模型建立數(shù)學(xué)模型傳遞函數(shù)PD算法)假設(shè)小車在上面直立控制調(diào)節(jié)下已經(jīng)能夠保持平衡了,但是由于安裝誤差,傳感器實(shí)際測(cè)量的角度與車模角度有
7、偏差,因此小車實(shí)際不是保持與地面垂直,而是存在一個(gè)傾角。在重力的作用下,小車就會(huì)朝傾斜的方向加速前進(jìn)。控制速度只要通過控制小車的傾角就可以實(shí)現(xiàn)了。具體實(shí)現(xiàn)需要解決三個(gè)問題:(1)如何測(cè)量小車速度?(2)如何通過小車直立控制實(shí)現(xiàn)小車傾角的改變?(3)如何根據(jù)速度誤差控制小車傾角?第一個(gè)問題可以通過安裝在電機(jī)輸出軸上的霍爾測(cè)速來測(cè)量得到小車的車輪速度。如圖4所示。利用控制單片機(jī)的外部中斷IO口在不間斷測(cè)速,速度為脈沖信號(hào)的個(gè)數(shù)可以反映電機(jī)的轉(zhuǎn)速。圖4第二個(gè)問題可以通過角度控制給定值來解決。給定小車直立控制的設(shè)定值,在角度控
8、制調(diào)節(jié)下,小車將會(huì)自動(dòng)維持在一個(gè)角度。通過前面小車直立控制算法可以知道,小車傾角最終是跟蹤重力加速度Z軸的角度。因此小車的傾角給定值與重力加速度Z軸角度相減,便可以最終決定小車的傾角第三個(gè)問題分析起來相對(duì)比較困難,遠(yuǎn)比直觀進(jìn)行速度負(fù)反饋分析復(fù)雜。首先對(duì)一個(gè)簡(jiǎn)單例子進(jìn)行分析。假設(shè)小車開始保持靜止,然后增加給定速度,為此需要小車往前傾