新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 采用光電傳感器的智能車控制研究

        采用光電傳感器的智能車控制研究

        作者: 時間:2012-09-14 來源:網絡 收藏


        在程序中建立兩個數組,一個存儲每次檢測到的信號,另一個存儲實施控制后的當前信號作為歷史數據。加入這種帶歷史紀錄判斷的思想后,使得控制更為精確[4]。

        除了以上判斷法則之外,還有兩種情況需要考慮。即只有一個傳感器檢測到黑線的情況以及交叉賽道的情況。對于只有一個傳感器檢測到黑線的情況,同樣需要檢查上一時刻的傳感器信號,例如,某一時刻只有s6檢測到黑線,若上一時刻s5檢測到黑線,則車模左轉,若上一時刻s7檢測到黑線,則車模右轉。

        對于交叉賽道的情況,則利用一種“濾波”的思想將其“濾”除掉。遇到交叉賽道時,必然會出現同一排幾個傳感器同時檢測到黑線的情況,此時就給模型車一個命令使其直線前進,將交叉賽道排除掉。

        這就是本系統基于經驗邏輯判斷的循線控制算法,在此基礎上通過不斷實驗調整各個參數可達到較好的控制效果。

        實驗結果

        硬件設計

        電機驅動電路

        電機驅動采用mc33886作為驅動芯片,其原理如圖6所示。通過向in1、in2口送出pwm波來控制電機的正轉和反轉,正轉為智能車加速,反轉減速。改變pwm波的占空比,可控制電機的轉動速率[5]。



        速度檢測電路

        本文采用增量式光電編碼器來測量車速,其輸出脈沖的頻率正比于轉速,可以通過測量單位周期內脈沖個數或者脈沖周期得到脈沖的頻率,具有較高的精度。

        電源變換電路

        智能車系統配有7.2v的蓄電池,可直接為直流電機供電。單片機、和光電編碼器所需電壓為5v,伺服舵機為6v。這些電壓則由7.2v蓄電池調節得來。

        單片機和光電編碼器通過穩壓芯片7805穩壓輸出5v電壓供電。數目多、功耗大,對電源穩定性要求更高,故單獨采用效率較高的芯片lm2575對它供電。給舵機供電的芯片選用的是低壓差可調輸出三端線性穩壓器lm1117,片上提供安全操作保護等功能。

        軟件設計

        軟件設計分模塊實現,其中主程序包括時鐘初始化、i/o口初始化、舵機電機初始化、采集信號和控制算法,程序流程見圖7。



        實驗結果及其分析

        程序開發過程中完全采用了組委會提供的s12核心開發板,它是由mc9s12dg128單片機構成的最小系統。mc9s12dg128屬于hcs12系列單片機,是motorola推出的高性能16位微控制器。它能夠提供32-512kb的第三代快閃嵌入式存儲器,總線速度可達50mhz,外圍時鐘可達25mhz。還具備編碼效益、片上糾錯能力,并與mc68hc11和mc68hc12結構編碼向上兼容。mc9s12dg128單片機具有112個引腳,其中與cpu相關的引腳都是兼容的。

        s12開發板上有構成最小系統的復位電路、晶體振蕩器及時鐘電路,串行接口的rs-232驅動電路,+5v電源插座。單片機中已經寫入了開發的監控程序。8個小燈用于調試應用系統。單片機的所有i/o端口都通過兩個64芯的歐式插頭引出。

        硬件調試時,分別對各模塊功能進行測試,重點調節,它感知黑白線時輸出信號應不同,感知白線時經過比較器輸出為低電平,感知黑線時輸出為高電平。軟件調試時,可利用bdm開發工具,顯示單片機運行時其內部存儲器中的數據。

        通過硬件軟件的聯合調試和實驗,出現了一些問題,但通過對程序的完善和車模的重新裝配后效果大大改善。最終車模可在跑道上循線運行,但仍存在功耗較大,轉向延時等問題。

        結語

        本文基于自動控制原理,利用探路模塊的道路偏差信號使智能車實現尋跡跟蹤,利用pwm技術控制電機的轉速和舵機的轉向。

        本文重點介紹了光電傳感器的排布“w”形布局以及循線控制算法,它們是保證智能車循線運行的關鍵。“w”形布局使智能車具備了道路預測能力,而循線控制算法使得車體轉向快速正確。

        通過對智能車仿真和實驗表明,整個系統的方案可行,系統的控制策略和軟硬件基本合理。控制方面,雖然經典的pid控制在電機調速方面有良好的控制效果,但由于車模的動力學模型因車況不同而變化等原因,使得pid控制效果受到影響,以后可考慮采用模糊控制,使算法更加智能化,系統的適應性更強。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 荣成市| 苏尼特右旗| 靖州| 朝阳区| 湛江市| 棋牌| 湖北省| 白朗县| 叶城县| 扎囊县| 德钦县| 资兴市| 惠东县| 彭泽县| 泰来县| 宣武区| 黄陵县| 新宁县| 伊通| 鹤壁市| 尚义县| 恩施市| 抚松县| 柯坪县| 甘孜县| 彰武县| 修文县| 宣武区| 阿城市| 六枝特区| 呼玛县| 大渡口区| 高邮市| 东安县| 南溪县| 安西县| 哈巴河县| 霍城县| 富蕴县| 城步| 白玉县|