無線智能小車控制系統
實物照片:
本文引用地址:http://www.104case.com/article/149032.htm
概要:
本系統由上位機控制軟件,無線串口收發模塊,子機控制主板,子機機械執行部分等構成。由上位機(電腦)控制軟件或人作出決策,把命令通過串口傳給半雙工無線串口通訊模塊發射,又由子機的無線通訊模塊接收命令,交給子機MCU處理后由機械執行機構執行。同時子機MCU可采集傳感器數據,再通過無線通訊反饋給上位機,上位機可通過此數據做出決策。

技術細節:
(1)上位機軟件
使用VB開發。通過MSComm控件來發送和接收串口數據,通過對子機發來數據的處理或由人控制作出決策,然后再通過串口發送出去。
例程:手動控制小車運動的簡易程序:
DimxAsInteger
DimsAsString
PrivateSubForm_Keydown(KeyCodeAsInteger,ShiftAsInteger)
Ifs>Chr(KeyCode)Then
MSComm1。Output=Chr(KeyCode)
s=Chr(KeyCode)
Label1。Caption=Label1。Caption+Chr(KeyCode)
EndIf
EndSub
PrivateSubForm_KeyUp(KeyCodeAsInteger,ShiftAsInteger)
MSComm1。Output=0
s=0
Label1。Caption=Label1。Caption+0
EndSub
PrivateSubForm_Load()
MSComm1。CommPort=1
MSComm1。Settings=4800,N,8,1
MSComm1。RThreshold=1
MSComm1。SThreshold=1
MSComm1。PortOpen=True
EndSub
PrivateSubMSComm1_OnComm()
SelectCaseMSComm1。CommEvent
CasecomEvReceive
Label1。Caption=MSComm1。Input
CasecomEvSend
EndSelect
EndSub
(2)無線通訊PC端
本系統使用的無線通訊模塊是上海桑博電子科技有限公司生產的STR-18型微功率無線通訊模塊。它的調制方式是FSK半雙工,波特率為1。2Kbit–9。6Kbit。提供8個可選信道,頻率為433-919MHz,發射功率10mW,靈敏度-105dBm,工作電壓3。6–5。5V,可支持TTL/RS232/RS485三種電平標準,有效距離400M。
此模塊雖然支持3種電平標準,但是實驗表明當1方為RS232電平,一方為TTL電平時是沒有辦法正常傳輸數據的。所以在信號從上位機到達無線模塊之前,先要進行電平轉換。這里使用的是MAXIM公司生產的MAX232電平轉換芯片,把電腦的RS232電平轉換為TTL電平后再交給無線模塊發射。
此模塊并不自帶電源穩壓的功能,所以又使用了一片7805給MAX232芯片與無線通訊模塊供電。電平轉換與電源穩壓被做在了一塊小的電路板上,固定在了無線通訊模塊后面。
由于串口盜電并不是非常穩定,功率也不大,所以這里使用了9V堆疊式干電池給前者單獨供電。
(3)無線通訊子機端
無線通訊子機端所采用的無線通訊模塊和上位機端是一樣的。由于先前已經作過電平轉換,所以單片機可以直接通過無線通訊模塊收發數據。子機端的模塊配置必須與上位機通訊模塊相同,既波特率相同,信道相同,數據位相同才能正常通訊。模塊與單片機共用一個5V穩壓電源。
(4)子機控制端
目前本系統所采用的子機控制電路為本人設計的WUDI-T型機器人控制主板。它使用ATMEL公司生產的ATMEGA16芯片作為主控芯片,ST公司生產的L293橋芯片作為馬達控制芯片。它有電源穩壓,LCD顯示,PWM控制2路馬達,一個三極管驅動,1個LED,一個按鈕,一個蜂鳴器,8位拓展口等功能。串口通訊的引腳在WUDI-T上被預留了出來。WUDI-T型機器人控制主板是一個簡易的控制主板,它可以完成所有的基本任務。
子機控制端的程序使用BASCOMAVR來編寫。
(5)子機執行端
子機執行端為一輛電動小車。它的動力來源為2個直流馬達,電源為4節干電池或充電電池。前方有一個萬向輪,底盤為單面覆銅板所制。
(6)子機傳感器
目前并沒有添加傳感器的需要。如果添加,可以采集地面顏色,聲音,環境光等環境變量。甚至可以安裝無線攝像頭在子機上。傳感器暫時不在研究范圍內。
發展和改進的方向:
本系統應為多機器人同時由一臺上位機控制,同時由上位機來協調他們的運動和任務。通訊方面即上位機為主站,單片機為從機,通過主從機制來完成通訊。

評論