新聞中心

        EEPW首頁 > 汽車電子 > 設計應用 > 基于線性CCD的兩輪自平衡智能小車控制系統設計

        基于線性CCD的兩輪自平衡智能小車控制系統設計

        作者: 時間:2016-10-22 來源:網絡 收藏

        近年來,隨著技術的不斷進步,兩輪小車以其結構簡單、輕盈小巧、運動靈活、高效節能等特點,在許多個領域得到了較大的發展。本文設計并制作了一臺兩輪小車,用飛思卡爾公司生產的MK60DN512ZVLQ10單片機作為核心控制器,加速度計MMA7260和陀螺儀ENC03作為車身姿態控制測量元件,實現兩輪小車的。根據設定速度與小車速度的偏差控制電機的電壓,以實現,并利用采集賽道信息,根據路徑的彎度控制小車兩個輪子的轉速實現轉向控制,從而實現兩輪直立車的尋跡方案。

        本文引用地址:http://www.104case.com/article/201610/309880.htm

        1 系統組成

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

        基于線性CCD的兩輪自平衡智能小車控制系統設計

        2 各個控制模塊

        2.1 直立控制模塊

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

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

        基于線性CCD的兩輪自平衡智能小車控制系統設計

        2.2 速度控制模塊

        電機驅動采用4個BTS7960組成H橋電路來驅動直流電機的轉動,另外采用MK60N512VMD10單片機兩路脈沖計數器,通過編碼器分別測出小車左、右輪的脈沖量。利用4路PWM分別控制兩個電機的正反轉。如圖3所示,當開關QA、QD接通,電機為正向轉動,開關QB、QC接通則電機反向轉動,從而實現電機的正反轉,電流的大小,決定電機的轉速,通過PWM占空比來決定電流的大小,從而間接地控制了電機的轉速。

        基于線性CCD的兩輪自平衡智能小車控制系統設計

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

        基于線性CCD的兩輪自平衡智能小車控制系統設計

        2.3 模塊

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

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

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

        基于線性CCD的兩輪自平衡智能小車控制系統設計

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

        程序實現部分(左邊64-0的64個點檢測部分):

        基于線性CCD的兩輪自平衡智能小車控制系統設計
        基于線性CCD的兩輪自平衡智能小車控制系統設計

        3 結束語

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



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 西峡县| 汉寿县| 高阳县| 津南区| 霍城县| 高邮市| 囊谦县| 和平县| 通榆县| 高州市| 南丹县| 科技| 特克斯县| 长海县| 连云港市| 舒城县| 武宁县| 新干县| 池州市| 西城区| 泸水县| 仁怀市| 铜陵市| 黄骅市| 崇信县| 鹤庆县| 万安县| 阿克| 靖西县| 扶余县| 安龙县| 广灵县| 唐河县| 镇康县| 北票市| 庆安县| 莱芜市| 保康县| 灵山县| 合川市| 永川市|