<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 汽車電子 > 設(shè)計(jì)應(yīng)用 > 基于線性CCD的兩輪自平衡智能小車控制系統(tǒng)設(shè)計(jì)

          基于線性CCD的兩輪自平衡智能小車控制系統(tǒng)設(shè)計(jì)

          作者: 時(shí)間:2016-10-22 來源:網(wǎng)絡(luò) 收藏

          近年來,隨著技術(shù)的不斷進(jìn)步,兩輪小車以其結(jié)構(gòu)簡(jiǎn)單、輕盈小巧、運(yùn)動(dòng)靈活、高效節(jié)能等特點(diǎn),在許多個(gè)領(lǐng)域得到了較大的發(fā)展。本文設(shè)計(jì)并制作了一臺(tái)兩輪小車,用飛思卡爾公司生產(chǎn)的MK60DN512ZVLQ10單片機(jī)作為核心控制器,加速度計(jì)MMA7260和陀螺儀ENC03作為車身姿態(tài)控制測(cè)量元件,實(shí)現(xiàn)兩輪小車的。根據(jù)設(shè)定速度與小車速度的偏差控制電機(jī)的電壓,以實(shí)現(xiàn),并利用采集賽道信息,根據(jù)路徑的彎度控制小車兩個(gè)輪子的轉(zhuǎn)速實(shí)現(xiàn)轉(zhuǎn)向控制,從而實(shí)現(xiàn)兩輪直立車的尋跡方案。

          本文引用地址:http://www.ex-cimer.com/article/201610/309880.htm

          1 系統(tǒng)組成

          系統(tǒng)主要由單片機(jī)核心控制器、直立控制模塊、模塊、模塊等功能模塊構(gòu)成。直立控制模塊包含陀螺儀及加速度計(jì),將它們安裝在小車的重心位置,這樣能保證傳感器不會(huì)太敏感或太遲鈍,兩者的數(shù)據(jù)融合使小車能保持一定的傾角前進(jìn)。模塊:電機(jī)驅(qū)動(dòng)模塊驅(qū)動(dòng)直流電機(jī)運(yùn)轉(zhuǎn),通過安裝于左、右輪的編碼器測(cè)速,與設(shè)定速度進(jìn)行比較,控制小車按設(shè)定速度行駛。模塊:通過安裝于小車運(yùn)動(dòng)上方支架上的,控制兩輪實(shí)現(xiàn)差速轉(zhuǎn)彎,以控制運(yùn)動(dòng)方向,系統(tǒng)框圖如圖1所示。

          基于線性CCD的兩輪自平衡智能小車控制系統(tǒng)設(shè)計(jì)

          2 各個(gè)控制模塊

          2.1 直立控制模塊

          兩輪車行走的首要條件是車的直立平衡,我們?cè)O(shè)計(jì)的參考方案如圖2所示。它是通過陀螺儀ENC03采集到車傾斜的角速度w,通過加速度計(jì)采集車傾斜的角度θacc,與陀螺儀積分得到的角度θ比較,得到偏差量e2(t)經(jīng)過比例1/Tg轉(zhuǎn)換作為反饋量給陀螺儀,偏差量e1(t)與陀螺儀采集到的角速度相加再積分作為車傾斜的角度θ。由于陀螺儀會(huì)有積分誤

          差及溫漂,采用加速度計(jì)就可以減少陀螺儀的誤差,加速度由于受外界的干擾比較大,瞬間值不夠準(zhǔn)確,所以配合陀螺儀的使用,兩者共同作用來采集車模的傾角。

          基于線性CCD的兩輪自平衡智能小車控制系統(tǒng)設(shè)計(jì)

          2.2 速度控制模塊

          電機(jī)驅(qū)動(dòng)采用4個(gè)BTS7960組成H橋電路來驅(qū)動(dòng)直流電機(jī)的轉(zhuǎn)動(dòng),另外采用MK60N512VMD10單片機(jī)兩路脈沖計(jì)數(shù)器,通過編碼器分別測(cè)出小車左、右輪的脈沖量。利用4路PWM分別控制兩個(gè)電機(jī)的正反轉(zhuǎn)。如圖3所示,當(dāng)開關(guān)QA、QD接通,電機(jī)為正向轉(zhuǎn)動(dòng),開關(guān)QB、QC接通則電機(jī)反向轉(zhuǎn)動(dòng),從而實(shí)現(xiàn)電機(jī)的正反轉(zhuǎn),電流的大小,決定電機(jī)的轉(zhuǎn)速,通過PWM占空比來決定電流的大小,從而間接地控制了電機(jī)的轉(zhuǎn)速。

          基于線性CCD的兩輪自平衡智能小車控制系統(tǒng)設(shè)計(jì)

          小車的速度控制是建立在小車直立的基礎(chǔ)上的,通過給小車一個(gè)設(shè)定速度,然后將編碼器測(cè)得的小車實(shí)際速度與設(shè)定速度進(jìn)行比較,偏差量作為反饋量,經(jīng)過比例PSPEED、積分ISPEED的和作為速度的輸出,進(jìn)一步控制PWM的輸出從而使小車按設(shè)定速度行走,如圖4所示。

          基于線性CCD的兩輪自平衡智能小車控制系統(tǒng)設(shè)計(jì)

          2.3 模塊

          小車運(yùn)行方向控制是通過兩個(gè)輪子的差速來實(shí)現(xiàn),而差速是由采集賽道信息來計(jì)算彎道兩邊黑線與直道時(shí)兩邊黑線的偏差值來確定。我們比賽使用的CCD型號(hào)為TSL1 401,屬于線性CCD,與面陣CCD相比,線性CCD只是采集一行的數(shù)據(jù),而這一行數(shù)據(jù)是由線性CCD傳感器128個(gè)光電二極管通過積分電路所采集的圖像灰度值。

          對(duì)于采集回來的128個(gè)數(shù)據(jù),要確定一個(gè)閾值Th,一般情況下為200左右(還能通過撥碼開關(guān)根據(jù)現(xiàn)場(chǎng)環(huán)境亮度來選擇幾個(gè)不同的閾值Th),來區(qū)分開白色跑道與其它顏色灰暗的非跑道區(qū)域。對(duì)于白色跑道反饋回來的值肯定是比其它反饋回來的值大,取這些數(shù)的一個(gè)中值來作為閾值,來區(qū)分賽道的黑白點(diǎn)(除了白色賽道,其余都是黑點(diǎn)),就可以判別

          出白色跑道,然后就可以計(jì)算出彎道時(shí)與正常跑道的偏差值,將兩邊的偏差值相減再轉(zhuǎn)換成電壓值加到方向輸出函數(shù)中,就可以控制小車的轉(zhuǎn)向了。程序框圖如圖5所示。

          基于線性CCD的兩輪自平衡智能小車控制系統(tǒng)設(shè)計(jì)

          由于比賽的賽道有虛線,所以我們將采集到128個(gè)點(diǎn)的數(shù)據(jù)從中間(第64個(gè)點(diǎn)的數(shù)據(jù))往兩邊處理(左邊64-0跟右邊64-127的情況是一樣的),目的是尋找兩邊的黑點(diǎn),與設(shè)定的閾值Th相比,如果小于閾值Th,再判斷3個(gè)點(diǎn)是否都小于閾值Th,如果是,則認(rèn)為是檢測(cè)到了賽道邊上的黑線。

          程序?qū)崿F(xiàn)部分(左邊64-0的64個(gè)點(diǎn)檢測(cè)部分):

          基于線性CCD的兩輪自平衡智能小車控制系統(tǒng)設(shè)計(jì)
          基于線性CCD的兩輪自平衡智能小車控制系統(tǒng)設(shè)計(jì)

          3 結(jié)束語

          文中討論了基于線性CCD的兩輪小車控制系統(tǒng)的設(shè)計(jì)思想及實(shí)現(xiàn)方法,對(duì)系統(tǒng)中通過線性CCD完成對(duì)賽道識(shí)別的方向控制模塊,以及直立控制模塊、速度控制模塊等模塊的軟硬件進(jìn)行了分析,并給出了關(guān)鍵程序段。通過測(cè)試及參加飛思卡爾智能車比賽,證明這個(gè)系統(tǒng)是合理的,也提高了小車運(yùn)行的速度。開展對(duì)兩輪自平衡車的深入研究對(duì)提高我國(guó)在這一領(lǐng)域的科研水平、擴(kuò)展機(jī)器人的應(yīng)用背景等具有重要的理論及現(xiàn)實(shí)意義。



          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();