以AVR單片機(jī)ATmega128L為核心,提出了一種智慧探測小車的軟硬件設(shè)計方案。系統(tǒng)可以預(yù)先設(shè)定小車的行走路線,能夠?qū)崿F(xiàn)小車與計算機(jī)之間的無線通訊,通過超聲測物和紅外測障電路使小車安全行走。另外,系統(tǒng)通過JTAG接口在線調(diào)試程序。軟件設(shè)計中采用神經(jīng)網(wǎng)絡(luò)自學(xué)習(xí),大大增強(qiáng)了小車
1 引言
智能探測車能根據(jù)任務(wù)及環(huán)境信息做出全局路徑規(guī)劃,可在行進(jìn)中不斷感知局部環(huán)境信息并做出決策,從而能夠安全行駛并到達(dá)目標(biāo)。本文以ATmegal28L單片機(jī)為核心介紹了一種智能探路車的設(shè)計雛形,該系統(tǒng)利用各種傳感器獲取周圍環(huán)境信息,采用多傳感器信息融合技術(shù)對接收到的信息進(jìn)行處理與判斷,從而自動繞開障礙物:能與計算機(jī)實(shí)現(xiàn)無線通訊;具有預(yù)先設(shè)定路線的功能;通過JTAG接口可以方便地在線調(diào)試程序或下載程序。
美國Atmel公司推出的ATmegal28L是基于AVR RISC的低功耗8位單片機(jī),最高工作頻率可達(dá)16 MHz,具有128 KB Flash內(nèi)部存儲器、4 KBEEPROM和4 KB SRAM數(shù)據(jù)存儲空間,并且采用了JTAG技術(shù)。它具有很高的性價比,并有超低的功耗和豐富的片上外圍資源,很適合作為移動設(shè)備的微控制器。
2 硬件結(jié)構(gòu)
ATmegal28L內(nèi)含128 KB寫操作可讀在系統(tǒng)可編程Flash、53個通用I/O口、32個通用工作寄存器、實(shí)時計數(shù)器(RTC)、4個具有比較模式和PWM的定時器/計數(shù)器、2個UART、2線(I2C)串行接口、一個帶內(nèi)部振蕩器的可編程看門狗定時器、一個SPI口、一個符合IEEE Std的JTAG等。ATmegal28L主要
對超聲波和紅外傳感器測得的信息進(jìn)行處理,產(chǎn)生兩路PWM信號來控制直流電機(jī),通過I/O控制步進(jìn)電機(jī)。同時,ATmegal28L引出JTAG接口進(jìn)行在線調(diào)試程序或下載程序。另外。系統(tǒng)通過鍵盤與顯示電路來實(shí)現(xiàn)人機(jī)對話;選用電機(jī)驅(qū)動器件1298N來驅(qū)動直流電機(jī);超聲波測物模塊和紅外避障測量模塊用來獲取環(huán)境信息;利用無線模塊nRF401與:PC機(jī)端口的無線模塊進(jìn)行通訊。系統(tǒng)的路線設(shè)置功能主要由軟件實(shí)現(xiàn),硬件選取24C02用于存放路線。
2.1 鍵盤與顯示電路
為了方便人機(jī)對話和功能選擇,本系統(tǒng)設(shè)計了 5個按鍵和液晶顯示模塊。5個按鍵分別是:單片機(jī)復(fù)位按鍵,小車自動行走按鍵(接A15(PC7))、超聲波測物按鍵(接A14(PC6))、無線發(fā)射按鍵(接A13(PC5))和小車設(shè)置路線按鍵(接A12(PC4))。
采用液晶模塊LCM103顯示按鍵的選擇和執(zhí)行結(jié)果。LCM103為10位多功能通用型8段式液晶顯示模塊,內(nèi)置顯示RAM,可顯示任意字段筆劃,3-4線串行接口,可與任何單片機(jī)接口。由于LCM130與MCU的工作電壓相同,因此LCM103與MCU直接連接。其中WR直接與ATmegal28L的WR連接.DATA端與ATmegal28L的AD4(PA4)連接,CS與ATmegal28L的A12(PC4)連接。
2.2 JTAG接口電路
在設(shè)計系統(tǒng)中,引出ATmegal28L的JTAG接口進(jìn)行在線編程和下載,以方便調(diào)試和程序更新。對AVR器件進(jìn)行編程是由JTAG端口的TCK、TMS、TDI和TDO實(shí)現(xiàn)的。通過JTAG可以實(shí)現(xiàn)如下的編程功能:
(1)Flash編程及校驗;
(2)EEPROM編程及校驗;
(3)熔絲位編程及校驗;
(4)鎖定位編程及校驗。
2.3 電機(jī)驅(qū)動電路
系統(tǒng)采用直流電機(jī)驅(qū)動兩個前輪實(shí)現(xiàn)小車的前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)。ATmega128L具有2個帶預(yù)分頻器和比較模式的8位定時/計數(shù)器、2個擴(kuò)充的帶預(yù)分頻器和比較/捕獲模式的16位定時/計數(shù)器、2通道8位PWM、6通道2~16位精度:PWM。這里采用ATmegal281。的16位定時/計數(shù)器l來產(chǎn)生兩路PWM信號,分別接1298N的EN A和EN B,用于控制兩個電機(jī)的起停、轉(zhuǎn)向及速度。它工作在相位和頻率修正PWM模式下,該工作模式可以產(chǎn)生高精度、相位與頻率都準(zhǔn)確的PWM波形。通常用OCRnA作為TOP值。改變TOP值即可改變PWM信號的占空比,從而改變電機(jī)轉(zhuǎn)速。
L1298N是SGS公司生產(chǎn)的恒壓恒流橋式2 A驅(qū)動器件,內(nèi)部包含4通道邏輯驅(qū)動電路。
系統(tǒng)采用了步進(jìn)電機(jī)來控制超聲波旋轉(zhuǎn)平臺的上下左右運(yùn)動,驅(qū)動電路與此類似。
2.4 超聲波測物電路和紅外測障電路
系統(tǒng)采用一組超聲波傳感器和五組紅外傳感器感知環(huán)境信息。超聲波通過一個可以上下左右旋轉(zhuǎn)的平臺安裝在小車的正前方,用來測量物體的大小。在普通行車中,超聲波傳感器的用途和紅外傳感器一樣。紅外傳感器分別安裝在小車的左前方、右前方、左側(cè)、右側(cè)和后面。本系統(tǒng)利用ATmegal28I。產(chǎn)生40 kHz的脈沖信號,驅(qū)動發(fā)射電路發(fā)送超聲波。紅外傳感器測量小車在五個方向的一定距離內(nèi)(本系統(tǒng)為30 cm)是否有障礙物,輔助小車避開障礙物。
2.5 無線發(fā)射接收電路
本系統(tǒng)選用集成度較高的無線數(shù)據(jù)傳輸產(chǎn)品nRF401來實(shí)現(xiàn)PC與小車的無線通信。 nRF40l收發(fā)模塊的主要特點(diǎn):工作頻段為433MHz;采用FSK調(diào)制,抗干擾能力強(qiáng):頻率穩(wěn)定性好;靈敏度高,功耗小;具有多頻段切換功能。
通過ATmega128L的PA5(AD5)控制PWR UP。當(dāng)PWR-UP=“l(fā)”時,表示進(jìn)入正常工作模式:當(dāng)PWR-UP=“0”時,表示進(jìn)入接收待機(jī)模式。PANAD6) CS=“1”時,表示中心頻率為434.32 MHz,當(dāng)CS=“0”時,表示中心頻率為433.92 MHz。PA7 (AD7)控制nRF40l的TXEN端,當(dāng)TXEN=“1”時,表示進(jìn)入發(fā)送模式,當(dāng)TXEN=“0”時,表示進(jìn)入接收模式。數(shù)據(jù)輸入端DIN與ATmegal28L的PEO(RXD0)相連。數(shù)據(jù)輸出端DOUT與ATmegal28L的PEl(TXD0)相接。
2.6 充電電路
由于電機(jī)啟動時瞬間電流很大,且PWM驅(qū)動的電動機(jī)電流波動較大,導(dǎo)致車載電源電壓不穩(wěn),從而影響其他電路的正常工作,所以系統(tǒng)采用雙電源供電的方法。將電機(jī)驅(qū)動電源與單片機(jī)及傳感器電源完全隔離開來,利用耦合器進(jìn)行連接。
3 軟件設(shè)計
系統(tǒng)軟件的主要功能是:能夠根據(jù)傳感器信息正確避開障礙物:小車與PC的無線通信;預(yù)先設(shè)定路線;測量物體的大小。為了提高小車避障的智能性,軟件設(shè)計采用了神經(jīng)網(wǎng)絡(luò)自學(xué)習(xí)。軟件設(shè)計的重點(diǎn)在于小車的神經(jīng)網(wǎng)絡(luò)訓(xùn)練程序和小車與PC機(jī)的無線通訊程序。
3.1 神經(jīng)網(wǎng)絡(luò)訓(xùn)練程序
BP神經(jīng)網(wǎng)絡(luò)應(yīng)用廣泛,具有較好的分類和記憶功能,同時有很強(qiáng)的容錯性和魯棒性。采用兩層前向BP網(wǎng)絡(luò)實(shí)現(xiàn)多傳感器信息的融合,輸入層有6個節(jié)點(diǎn)(分別對應(yīng)6組傳感器。其中超聲波傳感器測得距離在30 cm之內(nèi)記為1),輸出層有4個節(jié)點(diǎn)(前進(jìn)F、左轉(zhuǎn)L、右轉(zhuǎn)R、后退B)。
樣本確立后,需要進(jìn)行網(wǎng)絡(luò)訓(xùn)練。網(wǎng)絡(luò)訓(xùn)練就是對網(wǎng)絡(luò)的連接權(quán)系數(shù)進(jìn)行學(xué)習(xí)和調(diào)整,使該網(wǎng)絡(luò)實(shí)現(xiàn)給定的輸入輸出映射關(guān)系。權(quán)系數(shù)修改按照式
(1)進(jìn)行:
uij(t+1)=uij(t)+λ[dj(t)-yj(t)xi(t)+α△uij(t-1) (1)
式中:λ表示學(xué)習(xí)速率(取0.3);α表示學(xué)習(xí)動量(取0.3);dj(t)和yj(t)分別表示j單元在t時刻的目標(biāo)輸出和實(shí)際輸出;xi(t)表示單元i在t時刻的輸入;△uij(t-1)表示前一次迭代中;;單元i和J連接權(quán)系數(shù)更新增量。
BP網(wǎng)絡(luò)算法采用C語言編程,訓(xùn)練好的網(wǎng)絡(luò)權(quán)系數(shù)存放于Flash內(nèi)存之中。采用的是離線訓(xùn)練方式。
3.2 小車與PC機(jī)的無線通訊程序
PC機(jī)在小車行駛過程中可以通過無線通訊對小車進(jìn)行控制。
4 結(jié)束語
本文討論了基于ATmega128L的智能探測車的設(shè)計思路,對系統(tǒng)中的各個模塊接口作了簡要描述,利用神經(jīng)網(wǎng)絡(luò)來增強(qiáng)小車的智能性,并提出了系統(tǒng)軟件的總體設(shè)計思想。該電路各部分功能模塊化,易于調(diào)試,并且容易擴(kuò)展其他功能。本設(shè)計的應(yīng)用前景廣闊,可用于骯臟、危險等不適宜人類工作或者是人類難以到達(dá)的環(huán)境,可作為特殊應(yīng)用器材的載體工具,為無線檢測、信息傳輸及遠(yuǎn)距離控制技術(shù)提供了一個很好的應(yīng)用平臺。
編輯:jq
-
AVR
+關(guān)注
關(guān)注
11文章
1122瀏覽量
78583 -
FlaSh
+關(guān)注
關(guān)注
10文章
1621瀏覽量
147747 -
液晶
+關(guān)注
關(guān)注
6文章
606瀏覽量
69610 -
單機(jī)片
+關(guān)注
關(guān)注
0文章
50瀏覽量
11733
發(fā)布評論請先 登錄
相關(guān)推薦
評論