赵学浩,钱卫国
(常熟理工学院计算机科学与工程学院,江苏常熟215500)
基于单片机的无线智能小车设计
赵学浩,钱卫国
(常熟理工学院计算机科学与工程学院,江苏常熟215500)
介绍了以STM32F103单片机为核心设计的无线遥控智能小车.本设计把机械手安置在装有Wifi摄像头的小车上,根据传输到手机的视频图像通过手机控制小车及机械手动作.以安卓智能手机作为遥控平台,通过WiFi车载模块实现全方位控制,使小车工作稳定.该无线遥控智能小车可以代替工作人员对危险区域进行探测,具有广阔的应用前景.
智能小车;单片机;WiFi模块;控制系统
轮式移动机器人研究领域中,智能小车是其中的一项重要内容.同时智能小车也是陆地自主行驶车辆(Autonomous Ground Vehicle,AGV)的一种.在社会生活的各个领域中,AGV的应用前景都非常广阔.在西方发达国家,移动式自主服务机器人已广泛应用于医疗福利服务、商场超市服务、家庭服务等领域;AGV在军事领域也有着重要的应用价值,美国军方把部分机器人技术视为未来战斗系统(Future Combatsystem)的重要组成部分[1].
本文主要介绍智能机器人中的无线遥控智能小车.该小车可以通过无线遥控器自由指挥小车移动,实现遥控小车及机械手在高危环境中进行各种作业,如受泄漏危险性气体的现场勘测、严重破坏的公路的现场勘测、火灾现场探测、发生事故的矿区现场勘测、地震以及泥石流等.
图1 整体设计图
图1为基于STM32F103的WIFI视频遥控机械手的智能小车的整体设计图.本设计方案中USB高清摄像头由WIFI模块驱动,通过USB高清摄像头捕捉图片信息将数据传输给上位机(手机、电脑等客户端).小车的运动及机械手的动作由控制板MUC控制,通过WIFI模块接收来自上位机的控制命令,再通过UART串口协议把控制命令传给MCU,MCU根据命令控制小车及机械手.
本设计主要由无线发送接收模块、控制模块、单片机模块组成.下面就其主要组成部分做简要说明:
2.1无线接收及发送模块
无线接收及发送模块采用ST-MW-08S模块,该模块采用通用的CortexM3内核的STM32F103RC处理器作为系统主控,并结合Marvell8385 802.11网络控制器完成无线局域网的通信.模块内置有完整的TCP/IP协议栈,支持ARP、IP、ICMP、UDP、TCP、DHCP客户端以及DHCP服务器等诸多协议.同时具备通用串口、PWM以及多路通用IO的输入输出等功能,具有系统接口灵活,编程控制方便等诸多优点.网络结构上,模块支持基础网络(infra)和特殊的Adhoc网络结构.加密认证方面,模块支持开放性、WEP 64/128,WPA,TKIP,AES等诸多安全协议[2].由于灵活的结构设计使得模块在功能完备的前提下拥有更低功耗和较高的数据吞吐率.
其主要功能为:
1符合802.11b/g标准;支持AdHoc点对点基础模式
2数据安全标准WEP64/128、WPA/RSN(WPA2)-PSK;
3支持静态IP设置和DHCP获取地址
4SNet模式(UDP、TCPs/C三种数据透传模式)
5支持可调节的串口波特率设置2400~115200
6可编程的4通道输出端口、2通道输入端口以及2通道PWM输出端口
7支持在线串口设置模块参数等功能
模块主要框图如图2所示.
图2 模块内部原理框图
2.2控制模块
本设计的结构为轮式结构,转向机械和驱动机械是机械部分的主要组成部分.转向机构主要由三个部分组成:转向架,舵机和两个前轮.转向信号的正向或反向控制舵机旋转,使其自动调节一定角度;小车的前轮为从动轮,内外侧车轮会自动调节它的转速,转速大小是由转向角度的大小控制的;驱动机构也由三个部分组成:两个后轮、减速装置和一个直流电机,小车的主动轮是后轮,由直流电机控制其转速大小.
在控制器选择方面,我们选用了STM32系列的Cortex-M内核,它的时钟频率达到72 MHz,在同类产品中,它的性能是最高的,一般类型的时钟频率为36 MHz.这种内核的价格是一般16位产品的价格,但是它的性能却比16位产品有大幅提升,因此它成为用户在32位产品中的最佳选择.两个系列都内置32 K到128 K的闪存,不同的是SRAM的最大容量和外设接口的组合.时钟频率72 MHz时,从闪存执行代码,STM32功耗36 mA,是32位市场上功耗最低的产品,相当于0.5 mA/MHz[3].其原理图如图3所示.
控制模块的控制过程为:控制信号传送到控制电路板,控制电路板控制电机转动,之后齿轮组减速,舵盘转动,最后位置反馈电位计给控制电路板传送反馈流.舵机的控制信号周期为20 ms的脉宽调制(PWM)信号,其中脉冲宽度从0.5~2.5 ms,相对应的舵盘位置为0~180度,呈线性变化.经过实际测试和规划,将0-185分为250份,每份0.74度.控制所需的PWM宽度为0.5~2.5 ms,宽度2 ms.2 ms÷250=8 us;所以得出:PWM信号=1度/8 us.
程序设计由安卓智能手机程序设计和小车车体程序设计两个部分组成.
手机设备软件设计需要基于小车功能进行开发.以Java语言为基础,主要涉及视频流的输入输出、驱动模块设计、系统设置模块等.无线模块在单片机上电后初始化,之后再选择串行口的工作方式,随后主程序开始循环检测按键,如果程序检测到有按键按下,则通过调用串行口来发送数据.当指令发送到Wifi模块,此模块将控制信号通过串口发送到MCU,MCU读取后,执行指令代码,将指令发送到引脚,让左右马达差速运转实现转向功能.因为车身只是包含有四个小型马达,所以定义了四个button,进而设置监听事件setontouchlistener,在事件中设置控制指令,通过onclick实现指令传输;另外设置6个滚动条控制镜头云台和机械手动作.视频设计模块采用摄像头采集实时录像信息,借由Wifi视频流传输到Android端,呈现于手机界面之上.视频传输是基于socket通信、视频媒体传输界面、字节流的输入输出,因此要导入BufferedReader、IOException、Input-StreamReader、PrintWriter、Socket、URL、Android.graphics.Bitmap等框架包,实现视频的实时传输控制.
小车车体程序通过将信号线的控制信号发送给控制电路板来控制电机转动,受到控制的电机带动一系列齿轮组转动,并在减速后传动到输出舵盘.舵机的位置反馈电位计和输出轴是相连的,在舵盘转动的同时,位置反馈电位计也被带动,一个电压信号会被电位计输出到控制电路板,进行反馈,然后控制电路板根据所在位置决定电机转动的方向和速度,从而达到目标停止[4].其主要的工作流程为:控制信号传送到控制电路板,控制电路板控制电机转动,之后齿轮组减速,舵盘转动,最后位置反馈电位计给控制电路板传送反馈流.小车程序通过串行口接收到遥控器遥控信息,则根据指令前进、后退等.
图3 STM32原理图
由于采用手机或计算机对机械手进行控制,具有很好的灵活性,实现了使用手机对机械手和小车进行控制操作.操作者可以根据小车传过来的视频来遥控操作机械手和小车而不用直接看到小车.并在小车上加上机械臂,通过手机操作将某一物体用机械手抓起,再控制小车到指定地点放下.在人工操作时精准的从地面抓取方盒,并放到了指定的位置,实现了上述所有操作.
在测试过程中发现MCU控制板直接连接机械手时无法驱动机械手,并且mcu升温过快,查找原因后发现是通过mcu供电时,电压较低,并且通过mcu供电会使mcu升温较快,容易烧坏mcu,因此制作了一个转接板(如图4所示),给机械手单独供电,解决了上述问题.
图4 电源转接板
同时,在测试过程中,由于所有的线都是由自己组装,连接部分容易脱落,我们通过将多条线固定在一起,并绑在小车上的方式,尽可能避免在遥控小车供电运行时,线轻易的脱落,导致断电或小车控制信号接收不到的问题.最后,小车由于车载机械手较重,遥控机械手向前伸取物品时,小车容易倾倒,我们便在小车后部加上了负重,使小车能够前后平衡,不易翻倒.
智能小车经过多次实验,解决一系列问题后,终于能正常运行.本次实验的测试结果表明,智能小车能平稳的按照指示移动并夹取物体,效果良好,具有一定的稳定性和抗干扰能力,并达到了预期的效果.在未来,智能小车将会成为对智能车辆进一步研究的平台.
[1]梁丽勤,王岩,张宝健.基于Freescale单片机的智能赛车设计[J].机电产品开发与创新,2010(6):114-116.
[2]密友电子科技有限公司.ST-MW-08S使用手册[Z].2012.
[3]周卫东;无线数据传送在移动基站后备电源中的应用[J].通信电源技术,2012(05):59.
[4]郑卫娟,冯麟翔.基于单片机的柴油发动机冷却水温控制系统[J].数字技术与应用,2015(02):12.
A Design of Intelligent Minicar Based onsingle Chip Control
ZHAO Xuehao,QIAN Weiguo
(School of Computerscience and Engineering,Changshu Institute of Technology,Changshu 215500,China)
This paper mainly introduces thesTM32F103 microcontroller as a core design of the intelligent wireless remote control car.Based on the video transmission to the mobile phone,the robot is designed with a Wifi camera mounted on the car to control the car and the robot arm movements.Taking the Androidsmart mobile phone as a remote control platform,WiFi vehicle module is employed to achieve a comprehensive control of the car,so that the car can work in astable way.Therefore,this intelligent wireless remote control car can take the place of thestaff to detect hazardous areas,which will enjoy a broad application prospect.
intelligent vehicle;MCU;WiFi module;controlsystem
TP242.6
A
1008-2794(2015)04-0093-05
2015-04-10
江苏省高校大学生创新训练计划项目“ARM循迹/避障及机器手智能车的设计”(2015103330192)
钱卫国,高级工程师,研究方向:计算机应用,E-mail:qianwg@cslg.cn.