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