北京信息科技大學 自動化學院,北京100192
隨著社會經(jīng)濟的發(fā)展,汽車的定位導航技術被利用的日益廣泛,它將GPS和現(xiàn)代通訊技術相結(jié)合,具有監(jiān)控、調(diào)度、報警、自檢等功能。它通過采集汽車的地理位置信息,設備自動跟蹤汽車信息,以及其周邊信息,然后將其信息顯示出來。它還有一個重要的功能,那就是它存儲了很多交通網(wǎng)信息,包括我國城市交通圖,以及精度比較高的全國公路網(wǎng),方便自動控制行駛路線,使其應用前景廣闊。
自定位技術在各個領域有重要的應用。在無人機上也有很強的應用性,導航系統(tǒng)指引無人機到達正確的位置,例如農(nóng)業(yè)領域中有農(nóng)藥噴灑無人機等,遙感測繪無人機用此技術來測繪地理信息,此技術的開發(fā)與應用在國內(nèi)蓬勃發(fā)展。
設計出AVR單片機作為控制自定位控制系統(tǒng)的樞紐,該系統(tǒng)通過設計相關硬件模塊以及相關的電路的設計實現(xiàn)汽車導航系統(tǒng)的功能,可以根據(jù)GPS信息以及綜合車流信息,控制轉(zhuǎn)向舵機和直流驅(qū)動電機的工作,實現(xiàn)調(diào)整小車的行駛方向和速度的目的。通過設計一些非常實用的內(nèi)容來實現(xiàn)相關功能,例如顯示車輛相關信息,該系統(tǒng)把常見的道路圖、停車設施、道路屬性、等信息實時傳給主控人員。有助于在不熟悉的環(huán)境中處理交通問題,在未知的道路中,可以比較準確掌握道路的情況。
首先主控人員將前往目標輸入系統(tǒng)中,然后電腦便能根據(jù)各種道路情況選出最好的路徑,這些情況包括速度限制、紅綠燈數(shù)等,并將這些信息顯示出來讓駕駛員觀察。這樣的系統(tǒng)具有很多優(yōu)點,它不但幫助司機避開忙碌的交通路線,還具有利于疏散擁擠的車流。除此之外,它還有適時改變路線的功能,例如司機沒有按照設定的路線行走,新的路線會被系統(tǒng)從新設計出來。通過小車的測試,最終實現(xiàn)到達的目的地,其實驗對實際自定位工程技術的研究具有重要借鑒意義,其對生產(chǎn)生活具有重要的影響。
系統(tǒng)主要包括AVR單片機最小系統(tǒng)[1]、電子羅盤、GPS模塊、無線信息傳輸模塊、舵機轉(zhuǎn)向模塊、電機驅(qū)動模塊以及電源模塊,系統(tǒng)結(jié)構(gòu)如圖1所示。
首先利用GPS將數(shù)據(jù)傳給單片機,單片機將當前數(shù)據(jù)與目標數(shù)據(jù)進行比較,得到正確的航向,再通過電子羅盤得到車當前的航向,通過與當前航向與正確航向的比較,將比較結(jié)果送給單片機控制模塊進行實時控制,為了實現(xiàn)驅(qū)動電機轉(zhuǎn)動和舵機運轉(zhuǎn),需要輸出相應的電信號來滿足其需求。
在此系統(tǒng)中,通過無線模塊,小車可以將當前位置信息息、時間信息發(fā)送到電腦上。操作者同樣可以在小車運行的時候,改變程序,并通過無線模塊傳送到小車,實現(xiàn)對小車的在線控制。
本設計用的ATMEL公司的AVR單片機[2],其典型特點就是增強型RISC,具有內(nèi)載Flash的特征的單片機,芯片上的Flash存儲器附在用戶的產(chǎn)品中,具有可隨時編程和再編程的功能。為了使其具有較強的信息處理能力,故設計的AVR單片機有增強的RISC結(jié)構(gòu)[3],使其具有在單位時間內(nèi)處理復雜的信息。2.7~6V的電壓即可滿足AVR單片機的工作。通過其他的電源、頻率、復位以及下載電路的設計來滿足其最小系統(tǒng)的需求。
通過設計的分級電源電路的設計,為控制板、舵機和電機提供不同電壓值的電源,為系統(tǒng)各模塊供電。小車系統(tǒng)根據(jù)各部件正常工作的需要,對配發(fā)的7.2V蓄電池進行調(diào)節(jié)電壓。其中,為AVR單片機提供5V電壓,為舵機供電3.5~6V電壓,電機驅(qū)動芯片的供電電壓直接用電池電壓,驅(qū)動芯片的邏輯控制電平小于7V。電壓分配如圖2所示。
(1)單片機芯片的供電
為了穩(wěn)定的得到3.3V電壓,在本設計中采用LM1117穩(wěn)壓芯片。LM1117-3.3芯片產(chǎn)生1A輸出電流,可以為單片機和大部分芯片提供工作電壓。通過在穩(wěn)壓芯片兩端都并聯(lián)了一個電解電容,得到波形準確的3.3V電壓。3.3V穩(wěn)壓電路如圖3所示。
(2)舵機及驅(qū)動電路的供電
電壓與電機的速度成正比例關系,電壓越高,舵機反應越快。3.5~6V的電壓為舵機供電范圍,正常情況,為舵機的供電電壓為6V,可以通過電池電壓經(jīng)過三個限流管得到6V電壓,以供舵機使用。3個限流管的壓降是2.1V,電池的標準電壓為7.2V,由于電池充滿電后電壓會達到8V左右,所以使用三個限流管。為了實現(xiàn)對電機的驅(qū)動,特使用L298N芯片來實現(xiàn)其功能,4.5~46V電壓為其提供的標準電壓范圍,由于其電壓與電流成正比關系,為了得到大電流,通常需要提供一個較大的電壓。因為L298N芯片有一個邏輯控制電壓,由電池電壓經(jīng)過兩個限流管得到限高電壓。驅(qū)動電路的供電與舵機電路的供電如圖4所示。
GPS[4]接口電路為GPS向AVR單片機傳輸GPS數(shù)據(jù)提供了支持,是系統(tǒng)能夠?qū)崿F(xiàn)定位功能的重要部分。為了實現(xiàn)GPS模塊的輸出電平與單片機電平兼容,特設計MAX232芯片實現(xiàn)RS232電平轉(zhuǎn)換為TTL電平。AVR單片機具有兩個USART,通過USART進行數(shù)據(jù)的傳輸,將GPS模塊經(jīng)過電平轉(zhuǎn)換電路后與單片機的USART0相連,GPS模塊接口電路得到了實現(xiàn),如圖5所示。在數(shù)據(jù)傳輸過程中,首先對USART模塊初始化,GPS模塊將字符逐一傳給單片機,通過USART的數(shù)據(jù)寄存器UDR來將字符存放在這里,每來一個數(shù)據(jù),可由相應的標志位置位產(chǎn)生中斷,在中斷程序中,系統(tǒng)通過軟件編程將UDR里的數(shù)據(jù)取走放在定義的數(shù)組里,并且標志位會清零,以接收下一個字符,通過這樣的過程,最后GPS數(shù)據(jù)就被成功地保存在數(shù)組中了。原理如圖5所示。
本系統(tǒng)選用的芯片是L298N[6],共有15個引腳,VS接動力電源,范圍為4.5~46V,直接將電源電壓接至VS上,將電源電壓經(jīng)過兩個限流管分壓后接至VSS,每個限流管有0.7V的壓降,所以接至VSS的電壓不會超過7V。ENA與ENB為使能端,將他們分別接至PD4與PD5,這樣通過輸入0或1就可以起使能作用。IN1與IN2分別接PWM2與PWM3,在ENA為1的情況下,通過設置IN1=1,IN2=0使其控制電機正轉(zhuǎn),這時令PWM2為一個占空比不是0的PWM波,PWM3為一占空比為0的PWM波即可得到實現(xiàn),為了改變速度,可以通過改變PWM2占空比的大小來實現(xiàn)。如需要實現(xiàn)反轉(zhuǎn),只需要令PWM2占空比為0,PWM3占空比非零即可。電機驅(qū)動電路如圖6所示。
在此系統(tǒng)中,選用的是GY-26電子指南針,其工作原理是感應地球磁場的磁分量,因為其器件有兩個相互垂直軸,使其具有能夠同時得出方位角度的功能,此羅盤以RS232 協(xié)議,及I2C 協(xié)議與其他設備通信。這個芯片還具有重新標定方位的功能,再加上其具有磁偏角補償功能,使其方位角能夠在各種環(huán)境下得到。GY-26電子指南針是一個12引腳模塊,1~6號引腳為主要引腳,9號引腳用于矯正。將9號引腳連接的開關閉合,并將電子羅盤緩慢旋轉(zhuǎn)一周,則實現(xiàn)了對電子羅盤的矯正。電路連接圖如圖7所示。
無線模塊是調(diào)試與控制小車的重要部分,通過無線模塊解決了電腦與單片機只能通過串口線進行通訊的問題。通過無線模塊可以在小車行駛的時候通過電腦讀取單片機里面變量的數(shù)據(jù),也可以用電腦通過無線模塊來修改單片機里面變量的數(shù)據(jù),這樣就可以實時了解小車的位置信息,可以實時改變小車的速度與轉(zhuǎn)角,也可以隨時更改小車的目標位置[5]。圖8為其連接電路。
小車在工作中的路況:
①小車通過低速調(diào)整自己的舵機轉(zhuǎn)向,使航向逐漸調(diào)整正確,這樣來解決小車的航向與當前位置和目標位置連線構(gòu)成的方向不一致的問題;
②為了節(jié)省時間,在小車航向正確的狀態(tài)時,也就是小車按當前的航向可以直線到達目的地時,應加大小車的速度;
③當小車快要到達目標時,為了實現(xiàn)小車減速的功能,要求設計轉(zhuǎn)向識別功能和調(diào)速功能[6]。
在各個模塊的有機配合下,使小車可以正確地行駛到給定位置。其工作的主流程圖如圖9所示。當系統(tǒng)初始化開始正常工作時,通過傳感器采集信息傳遞到系統(tǒng)中,系統(tǒng)自動調(diào)節(jié)舵機和電機,并顯示出相關信息,實現(xiàn)對小車的控制。
系統(tǒng)為了完成對定位信息的采集[7],需要使用GPS定位信息的采集程序。由于單片機RX、TX端口被占用,且單片機只有一個硬件實現(xiàn)的UART數(shù)據(jù)通信,因此需要采用軟件模擬UART的方式進行數(shù)據(jù)傳遞。在設計中所采用的是中斷方式模擬軟UART。按照一定的頻率更新一次采集過程。程序流程圖如圖10所示。單片機初始化后,通過串口實現(xiàn)對GPS的控制,采集定位信息,并將信息傳給單片機,完成GPS定位信息采集任務。
單片機的PWM波提供小車的電機與舵機的驅(qū)動信號,改變PWM波的占空比就可以改變控制。在本系統(tǒng)中,定時器1的通道A與通道B產(chǎn)生的兩路PWM波用于控制電機 ,定時器3的通道C產(chǎn)生的PWM用于控制舵機。PWM的兩個主要參數(shù)為周期與脈寬,這兩個參數(shù)都在定時、計數(shù)器對應的寄存器中設置。
定時器1的A、B、C三個通道的PWM初始化如下所示:
通過設計,電子指南針能夠輸出小車的航向,我們可以得到小車與正北方向的夾角。通過GPS技術可以將定位信息及時的傳給應用者。給定一個經(jīng)緯度的位置數(shù)據(jù),小車能夠按照一定的路線走到目標位置。
小車實現(xiàn)的主要功能為:在操場上兩邊禁區(qū)的四個頂點處,將小車放在第一個頂點處,小車能緩慢啟動,然后以較快速度運行至第二個頂點處,在即將到達第二個頂點時,會減速和提前拐彎,在轉(zhuǎn)彎90°時,繼續(xù)以較快速度運行至第三個頂點和第四個頂點處,在到達第四個頂點時,小車會停車,最后,小車在操場上跑了一個近似的長方形,誤差為10m左右,最終能夠完成設計的目標。
通過硬件各個模塊的設計以及其軟件設計,實現(xiàn)了所設計的目標。本系統(tǒng)運用了L298N驅(qū)動芯片,確保了驅(qū)動電路的質(zhì)量,系統(tǒng)只用一個LM1117-3.3穩(wěn)壓電路,簡化了系統(tǒng)的電路結(jié)構(gòu)。在本系統(tǒng)中,在原有小車的基礎上,使用機械傳動原理安裝了舵機,舵機通過機械固定,運行可靠穩(wěn)定。單片機及大部分芯片采用3.3V供電,這樣在電池電壓下降一定范圍后仍可以正常提供3.3V電壓,最終實現(xiàn)了設計目標。
隨著新技術的發(fā)展,研究串口和SPI協(xié)議的應用,使用更加精密的加工方式安裝舵機裝置,盡可能使舵機工作穩(wěn)定、可靠,轉(zhuǎn)彎角度較大,使其自控小車性能更佳。