標(biāo)題:
零基礎(chǔ)制作平衡小車【連載】12---平衡小車控制原理
[打印本頁]
作者:
自動化工程師
時間:
2020-12-17 22:07
標(biāo)題:
零基礎(chǔ)制作平衡小車【連載】12---平衡小車控制原理
前言
截止目前,初代小車已經(jīng)調(diào)試完畢,功能上只能直立,后期還會加上更多功能。
前面關(guān)于pid的內(nèi)容也已經(jīng)更新完畢,如果你是跟著我的教程走的話,那么現(xiàn)在的你最起碼對PID已經(jīng)有所了解了,那么后面我就主要講解一下平衡小車的控制原理。結(jié)合理論和實踐,徹底學(xué)會PID。
一、平衡小車為什么會倒?
說到這,那就不得不復(fù)習(xí)一下高中的物理知識-----受力分析。先看看下面一張圖–單擺,來個受力分析:
受力分析說明:如圖所示,單擺擺長為L,擺球質(zhì)量為m,從平衡位置О運動到某點A(不是最高點)時的速度為V,此時擺線拉力為T,擺角為θ。對擺球所受重力和拉力進行受力分析,此時小球應(yīng)該只受兩個力,一個是重力mg,一個是線的拉力T。把重力進行分解為徑向分力F’( = mgcosθ)和切向分力F( = mgsinθ):
徑向:T - mgcosθ = mv’/L(徑向合力充當(dāng)物體做圓周運動的向心力)切向:F= mgsinθ (切向合力充當(dāng)物體做簡諧運動的回復(fù)力)
徑向力我們不用管,我們來分析一下切向力。1.假設(shè)空氣沒有阻力由于小球一直受到一個切向力,那么小球會一直做自有震蕩運動2.假設(shè)空氣阻力很小空氣阻力會慢慢消耗切向力,小球會停下來,但是時間會很長3.假設(shè)空氣阻力很大空氣阻力會慢慢消耗切向力,小球也會停下來,但是時間先對與2會縮短
因為在空氣中運動的單擺,由于受到空氣的阻尼力,單擺最終會停止在垂直平衡位置?諝獾淖枘崃εc單擺運動速度成正比,方向相反。阻尼力越大,單擺越會盡快在垂直位置穩(wěn)定下來。
看到這里,我們在聯(lián)想一下平衡小車,看看有什么區(qū)別。下圖是平衡小車傾斜時上方某一點的受力分析:
平衡小車有個現(xiàn)象,當(dāng)你沒有上電時,小車如果機械結(jié)構(gòu)比較好的情況下,在垂直的時候是可以單獨直立不到的。但是只要稍微有點角度,他就會順著這個角度加速倒下。因為在垂直的時候,小車受到的回復(fù)力=mgsinθ,而θ=0,因此回復(fù)力等于0,。此時只有一個mg和地面對小車的支撐力,兩者相抵消,受力平衡,從而直立不到。但是稍微有點角度就會打破這一受力平衡。因為在它偏離平衡位置的時候,所受到的回復(fù)力與位移方向相同,而單擺卻相反!因此,平衡小車便會加速偏離垂直位置,直到倒下。如何通過控制使得平衡小車能夠像單擺一樣,穩(wěn)定在垂直位置呢?要達到這一目的,只有兩個辦法:一個是改變重力的方向;另一個是增加額外的受力,使得回復(fù)力與位移方向相反才行。顯然能夠做到的只有第二種方法。
二、平衡小車直立原理
怎么增加一個額外力使得回復(fù)力與位移方向相反呢?看下圖:
讓電機旋轉(zhuǎn),使得小車運動方向和傾倒方向一致。這樣就能產(chǎn)生一個力F1,使得小車保持平衡。
那么問題來了,新手都會遇到一個問題,為啥讓電機旋轉(zhuǎn),會使得小車保持平衡?知其然,更要知其所以然
解決這一問題只有一個辦法----還是受力分析、在這之前呢,先給大家說一個現(xiàn)象,幫助大家理解。
老司機當(dāng)然還是要開車呀,當(dāng)你坐在車?yán)铮_踩油門加速的時候,你會發(fā)現(xiàn),你的上半身會向后仰,仿佛有個人坐在你的大腿上想放倒你。不巧的是后面有個座椅支撐著你,座椅對你產(chǎn)生推背感。
這一現(xiàn)象從物理的角度怎么解釋呢?汽車發(fā)動的瞬間你的身體因為慣性會保持靜止?fàn)顟B(tài),但因為你的下半身腰部以下(坐立時)都直接接觸汽車,因為摩擦力的緣故會伴隨車子向前移動。于是見證奇跡的時刻到了,你下半身隨著車子移動,上半身因為慣性保持不動,結(jié)果就變成了下身拉動上身即出現(xiàn)了你所謂的身體后仰狀態(tài)。類比我們的平衡小車,當(dāng)電機旋轉(zhuǎn)時,會產(chǎn)生一個力使得小車下半身向傾倒方向加速,這個力會使得上半身產(chǎn)生一個回復(fù)力與位移方向相反,這樣就能保持平衡了。
下圖為受力分析圖,圖中省略一部分受力,比如摩檫力、輪子對上半身的支持力等等,主要是F和-F1COSθ。
受力分析之后就能列出回復(fù)力Y的關(guān)系式了:
又因為在實際運用當(dāng)中,平衡小車擺動角度很小,因此進行線性化簡化。并假設(shè)負(fù)反饋控制是車輪加速度 a 與偏角 θ 成正比,比例為 k。代入公式得出:
如果比例k>g ,( g是重力加速度)那么回復(fù)力的方向便于位移方向相反了,這樣就能使小車直立了。
為了使得倒立擺能夠盡快地在垂直位置穩(wěn)定下來,還需要增加阻尼力。雖然存在著空氣和摩擦力等阻尼力,相對阻尼力比較小。因此需要另外增加控制阻尼力。增加的阻尼力與偏角的速度成正比,方向相反。最終得出下圖公式:
綜上所述可得控制車輪加速度的控制算法:式中 θ 為小車傾角,θ’ 為角速度,k 、k1 均為比例系數(shù)。
這就是小車直立環(huán)的推導(dǎo)過程,乍一看這個公式其實就是PD控制器。
三、速度環(huán)的引入
平衡小車的最高境界是什么?一個字:穩(wěn)怎么穩(wěn)?立在那不動。怎么不動?保持直立并且速度為0(保持直立也有可能是勻速運動)。怎么速度為0?加入速度環(huán)。加入速度環(huán)的原因還有以下兩點:1.配合直立環(huán),讓小車更加穩(wěn)定2.為后面遠程遙控做基礎(chǔ)
四、串級PID
由于速度環(huán)和直立環(huán)都是控制小車電機的轉(zhuǎn)速,因此兩者需串在一起。又因為平衡小車最主要的是直立,因為速度環(huán)的輸出作為直立環(huán)的輸入,直立環(huán)的輸出最終作用到小車電機上。最終形成下圖框圖的形式:
總結(jié)
重點理解直立原理,受力分析圖。知識點都不難,回憶回憶高中物理就能分析出來了。至此,理論部分已經(jīng)差不多了,把理論部分理解透徹,代碼部分也就好理解了。代碼實現(xiàn)見下一節(jié)。
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1