无线智能小车控制系统
扫描二维码
随时随地手机看文章
实物照片:
<center>概要:
本系统由上位机控制软件,无线串口收发模块,子机控制主板,子机机械执行部分等构成。由上位机(电脑)控制软件或人作出决策,把命令通过串口传给半双工无线串口通讯模块发射,又由子机的无线通讯模块接收命令,交给子机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)子机传感器
目前并没有添加传感器的需要。如果添加,可以采集地面颜色,声音,环境光等环境变量。甚至可以安装无线摄像头在子机上。传感器暂时不在研究范围内。
发展和改进的方向:
本系统应为多机器人同时由一台上位机控制,同时由上位机来协调他们的运动和任务。通讯方面即上位机为主站,单片机为从机,通过主从机制来完成通讯。