飛思卡爾直立平衡智能車的制作_第1頁
飛思卡爾直立平衡智能車的制作_第2頁
飛思卡爾直立平衡智能車的制作_第3頁
飛思卡爾直立平衡智能車的制作_第4頁
飛思卡爾直立平衡智能車的制作_第5頁
已閱讀5頁,還剩7頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

直立平衡車的制作兩個輪子的直立小車怎么在跑道上勻速跑?這是一個關(guān)于“控制”的故事?。?!“控制”的一個基本概念:PID控制執(zhí)行機(jī)構(gòu)目標(biāo)傳感器期望u反饋c-偏差err輸出out控制要讓直立小車在賽道上跑起來,需要對小車作三個方面的控制,分別為直立控制、速度控制和方向控制。(注意:這三個方面的控制都是類似的,都是基于上面的結(jié)構(gòu)框圖,只不過它們的期望、傳感器和控制目標(biāo)不一樣而已)小車的直立控制兩軸陀螺儀+三軸加速計(jì)模塊主控制板小車的直立控制需要用到陀螺儀和加速度計(jì)兩種傳感器,它倆兒都集成在了一個模塊上(如右圖所示)。加速度計(jì)是測量角度的傳感器,有X、Y、Z三個軸,這里我們只用到Z軸。其輸出值的大小隨著模塊傾角變化而變化,當(dāng)模塊不動時候,輸出值保持,即一個輸出值代表模塊的一個角度。陀螺儀是測量角速度的傳感器,輸出值的大小與模塊角度變化的劇烈程度有關(guān),模塊角度變化越劇烈,模塊的角速度越大,陀螺儀的輸出值也越大。當(dāng)模塊不動時候,即沒有角速度,其輸出值為0。陀螺儀和加速度計(jì)兩個傳感器采集回來的都是電壓值,所以需要經(jīng)過單片機(jī)的AD轉(zhuǎn)換才能得到我們想要的角度和角速度(模塊與單片機(jī)的連接如右圖所示)小車的直立控制有了小車直立方向上的角度值和角速度值后,就可以說說怎么讓小車平衡地立起來了!?。〗o定一個小車的角度值作為期望u(注意:此角度值為小車處于直立平衡位置時加速度計(jì)采集回來的角度值)與加速計(jì)實(shí)時采集回來的小車當(dāng)前的直立角度值c作比較,得到期望值與實(shí)際值的偏差err。同時,小車上的陀螺儀采集到一個小車直立方向的角速度值angular。應(yīng)用PID控制中的P(比例)D(微分)控制,以角度值偏差err作為P項(xiàng)的輸入,以角速度值angular作為D項(xiàng)的輸入(注:因?yàn)榻嵌鹊奈⒎志褪墙撬俣?,所以用角速度值angular作為微分項(xiàng)的輸入),從而得到以下小車直立控制的關(guān)系式:其中:P為比例項(xiàng)系數(shù),D為微分項(xiàng)系數(shù)小車的速度控制檢測小車當(dāng)前實(shí)際運(yùn)行速度的傳感器為編碼器(如右上角圖片所示)。該編碼器為512線編碼器,即編碼器軸每轉(zhuǎn)動一圈,就會產(chǎn)生512個脈沖。編碼器和小車輪子通過齒輪咬合,即車輪轉(zhuǎn)動編碼器軸也跟著轉(zhuǎn)動,同時產(chǎn)生脈沖。車輪轉(zhuǎn)動得越快,產(chǎn)生的脈沖也就越多。通過主控板上的單片機(jī)捕獲編碼器產(chǎn)生的脈沖然后計(jì)算單位時間內(nèi)編碼器產(chǎn)生的脈沖數(shù)就可以測得小車當(dāng)前的運(yùn)行速度v。小車的速度控制我們要求直立小車要在跑道上勻速運(yùn)動,即我們期望小車的速度是恒定的Ve。小車的速度控制實(shí)際上就是控制小車當(dāng)前的實(shí)際速度接近或者達(dá)到我們預(yù)先設(shè)定的期望速度。這里,我們采用PID控制策略中的P(比例)I(積分)控制來控制小車的速度。給定一個小車的期望速度Ve,同時由編碼器測得小車當(dāng)前的實(shí)際速度V,小車的期望速度與實(shí)際速度作一個比較,得到速度偏差err。其中,速度偏差err作為PI控制中P項(xiàng)的輸入。PID控制策略中的積分項(xiàng)(即I項(xiàng))實(shí)際上就是偏差的累加再乘以一個積分系數(shù)I。設(shè)integration為速度偏差err的累積結(jié)果,則速度偏差累積結(jié)果integration作為PI控制中I項(xiàng)的輸入。得到以下速度PI控制的公式:其中:P為比例項(xiàng)系數(shù),I為積分項(xiàng)系數(shù)小車的方向控制小車的方向控制需要用到兩個傳感器。一個是陀螺儀+加速計(jì)模塊上的陀螺儀(注:此模塊上一共有兩個陀螺儀,它們相互垂直,一個負(fù)責(zé)測量模塊豎直方向上的角速度,另一個負(fù)責(zé)測量模塊水平方向上的角速度),負(fù)責(zé)測量小車轉(zhuǎn)向的時候車身轉(zhuǎn)動的角速度。另一個是線性CCD模塊TSL1401CL。TSL1401CL線性傳感器由128×1列光電二極管,內(nèi)部集成了電荷放大器電路,以及像素?cái)?shù)據(jù)保持功能,可同時集成啟動和停止所有像素位。該陣列由128個像素構(gòu)成,每個像素點(diǎn)都有一個3,524.3平方微米的光敏區(qū)域,讀取AO口的電壓就可以完成數(shù)據(jù)采集。小車的方向控制我們對小車進(jìn)行方向控制,就是希望小車沿著跑道的中間線跑,所以跑道的中線值mid_line就是我們對小車進(jìn)行方向控制的期望。通過線性CCD傳感器采集回來的數(shù)據(jù)可以計(jì)算出小車當(dāng)前實(shí)際的方向值direct_value。跑道的中線值與小車當(dāng)前實(shí)際的方向值作比較,可以算出當(dāng)前小車偏離跑道中線多少位置,即方向偏差err。在這里,小車的方向控制采用PID控制策略中P(比例)D(微分)控制。方向偏差err作為PD控制中P項(xiàng)的輸入,陀螺儀檢測到的小車轉(zhuǎn)動方向上的角速度angular作為PD控制中的D項(xiàng)的輸入。(注:角度的微分就是角速度,小車偏離跑道中線多少位置可以理解為小車偏離跑道中線多少角度)。由此可以得到小車的方向控制公式:其中:P為比例項(xiàng)系數(shù),D為微分項(xiàng)系數(shù)對小車電機(jī)的總輸出前面分析了要想讓直立小車在跑道上勻速地跑需要對小車進(jìn)行三個方面的控制,這三個方面的控制對應(yīng)有三個輸出,分別為直立控制輸出angle_control_out、速度控制輸出V_control_out和方向控制輸出direct_control_out。這三個輸出的控制目標(biāo)(或控制對象)雖然不同,但是執(zhí)行機(jī)構(gòu)是一樣的,都是小車上的一對電機(jī)。在這里,這三個控制輸出線性地疊加在一起,合成一個總的控制輸出,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論