基于紅外傳感器的智能車系統(tǒng)設計
摘要:以飛思卡爾半導體公司的MC9S12DGl28B系列MCU為核心,設計智能車的系統(tǒng)框架,軟件和硬件的設計方案。詳細介紹了電源模塊和電機驅(qū)動模塊在設計過程中遇到的問題和解決方案。
關鍵詞:智能車;HCSl2單片機;紅外傳感器
0 引言
“飛思卡爾杯”智能車大賽起源于韓國,是韓國漢陽大學汽車控制實驗室在飛思卡爾半導體公司資助下舉辦的以HCSl2單片機為核心的大學生課外科技競賽。組委會提供一個標準的汽車模型、直流電機和可充電式電池,參賽隊伍要制作一個能夠自主識別路徑的智能車,在專門設計的跑道上自動識別道路行駛,誰最快跑完全程而沒有沖出跑道并且技術報告評分較高,誰就是獲勝者。其設計內(nèi)容涵蓋了控制、模式識別、傳感技術、汽車電子、電氣、計算機、機械、能源等多個學科的知識,對學生的知識融合和實踐動手能力的培養(yǎng),具有良好的推動作用。我校于2007年8月參加第三屆大學生智能模型車競賽,并取得三等獎的好成績。
1 系統(tǒng)分析
智能車系統(tǒng)一般由電源模塊、傳感器模塊、直流電機驅(qū)動模塊、路徑識別模塊、通訊及調(diào)試模塊、單片機模塊等組成。
本智能車的核心處理單元采用飛思卡爾半導體公司的MC9S12DGl28B系列MCU,系統(tǒng)框圖如圖l所示,本智能車的設計采用了多模塊技術:運用反射式紅外傳感器設計路徑檢測模塊和速度監(jiān)測模塊;采甩PWM技術,控制舵機的轉(zhuǎn)向和電機轉(zhuǎn)速:系統(tǒng)還擴展了液晶顯示屏和鍵盤模塊實現(xiàn)人機交互操作,以便于智能車的相關參數(shù)調(diào)整。此外,PID尋跡算法結(jié)合ABS(Anti—skid Brake System.:防抱死系統(tǒng))技術,使我們的小車能在曲折的賽道上以較快的速度穩(wěn)定行駛。
2 系統(tǒng)硬件設計
2.1 電源部分硬件各部分所需的電源大小不一樣,為滿足這一要求,本系統(tǒng)對電源部分進行設計。供電電源為配發(fā)的標準車模用7.2V 2000mAh Ni—cd蓄電池,通過穩(wěn)壓芯片分別提供6V、5V電壓以及接地端。6V穩(wěn)壓電路如圖2所示。其中6V電壓供給伺服電機,5V的電壓供給單片機系統(tǒng)、路徑識別的光電傳感器和接收器電路、車速傳感器電路,LCD顯示電路。在電路設計中,考慮到由于電機驅(qū)動所引起的電源輸出不穩(wěn)定(主要為瞬態(tài)脈沖),在電源輸出端,各芯片電源引腳都加入了濾波電路。為了避免由于驅(qū)動電機轉(zhuǎn)動時所引起的電磁干擾,在印制板上做了敷銅處理,將電路中的“地”與敷銅面相連接。
2.2 信息采集模塊在該模塊中包括速度信息采集和位置信息采集兩個子模塊,分別采集智能車當前的位置信息和速度信息,并將采集到的信息傳給MCU,其核心是反射式紅外傳感器。測速傳感器安裝于智能車右后輪附近,在靠近車輪的軸上貼一黑白相問、36等分的圓盤,用反射式紅外傳感器檢測黑線,通過對黑色標志的記數(shù)可得車輪轉(zhuǎn)過一周所用的時間T,通過公式進行計算即可得到智能車當前的運行速度V。
2.3 信息處理模塊信息處理模塊包括信息處理和控制模塊,其核心是MCU,MCU接收到采集來的信號,對信號進行處理后作出判斷,并發(fā)出控制命令。
2.4執(zhí)行模塊該模塊包括了驅(qū)動電機和舵機,當接收到MCU的命令后便執(zhí)行相應的操作,同時信息采集模塊又采集到電機和舵機的狀態(tài)信息,反饋給MCU。從而整個系統(tǒng)構(gòu)成一個閉環(huán)系統(tǒng),在運行過程中,系統(tǒng)自動調(diào)節(jié)而達到正確行駛的目的。
用芯片MC33886來驅(qū)動電機,通過調(diào)節(jié)加在電機兩端的電壓控制電機的轉(zhuǎn)速從而控制小車的速度。利用芯片的全橋控制,對電機進行反接制動。由實驗知,使用單片芯片的時候發(fā)熱嚴重,以至芯片過熱而自動保護。為此我們采取了三項措施來解決芯片發(fā)熱問題:一、多片并聯(lián),減小單片的通過電流;二、在MC33886上部加裝散熱片;三、在電路板上留有大片覆銅區(qū),通過片子的下部與覆銅區(qū)緊貼,進行散熱。為了提高散熱效果,在片子的上下表面都涂有導熱硅脂,使其與散熱片和覆銅區(qū)緊貼。由實驗知,驅(qū)動芯片能夠穩(wěn)定運行。
2.5人機交互模塊 在該模塊中包含了按鍵輸入與LCD液晶顯示,其中按鍵用于調(diào)節(jié)小車的工作模式,同時也用于調(diào)節(jié)小車行駛時所需的一些參數(shù);結(jié)合LCD液晶顯示,從而使整個小車系統(tǒng)更具人性化。
3 系統(tǒng)軟件設計
軟件設計是整個系統(tǒng)的重要組成部分之一,軟件設計是否合理直接影響智能車能否穩(wěn)定行駛。飛思卡爾MC9S12DGl28B系列單片機可使用C語言和匯編語言來編寫源代碼,使用C語言編寫更為簡單和易于移植。在IAR環(huán)境下編寫源代碼,經(jīng)編譯生成十六進制文件后可以通過JTAG下載到程序存儲器中,并且可以在線調(diào)試和修改,大大提高了開發(fā)效率。本系統(tǒng)軟件包括主程序、系統(tǒng)初始化子程序、液晶顯示屏子程序、按鍵子程序、定時器中斷服務程序等。各子程序可以完成相對獨立的功能,而主程序需要完成以下任務:
(1)初始化各功能子模塊:
(2)檢測用戶按鍵輸入;
(3)調(diào)用各子模塊的功能;
(4) 協(xié)調(diào)分配各子模塊占用的系統(tǒng)資源。其系統(tǒng)控制流程如圖3所示。
4 結(jié)束語
本論文結(jié)合實際設計經(jīng)驗,從智能車的硬件設計、軟件設計等方面討論了智能車如何能夠平穩(wěn)運行。在設計中筆者發(fā)現(xiàn)選擇合適的器件、選用合理的控制算法、設計合理的軟件程序是決定智能車能否快速、平穩(wěn)行駛的關鍵。