作者:沈阳师范大学 李乾华 许辅承 赵宽
指导老师:张浩华 邓玉福
作品简介:
本作品是基于STC IAP15F2K61S2单片机和WIFI技术实现的履带式无线视频监控机器人,根据履带式机器人的功能要求设计了机器人的机械结构和驱动系统,并通过单片机实现对各个步进电机和驱动电机的控制及全方位的视频、语音采集。采用2.4G无线通讯技术实现机器人与遥控计算机、手机之间控制、语音、图像、视频等信号的无线传送,使用C#语言开发的PC端(或手机)控制软件实现机器人的无线控制,实时监控,基本行走等功能。并通过增加超声波传感器,机械臂等扩展了机器人的温湿度监测、测距、搬运等功能,具有扩展性强、灵活度高等特点。
作品实物和上位机控制软件界面如下图所示:
作品特色:
1. 机
器人上的高清摄像头,可实时传输高清的视频监控画面,让控制人员清晰的了解被控现场情况;
2. PC
或手机在实时监控的同时可通过控制软件对机器人及摄像头、机械臂进行灵活的现场操控,实现自由移动,机械臂动作等;
3. 通
过WIFI模块的“端口映射”和“动态域名”相配合,可实现在互联网的任何地方对机器人进行数据采集和控制;
4. 安
装的多个传感器,可实时监测现场环境状态并显示在机器人上的显示屏中;
5. 温
湿度传感器可将监控区域的温度和湿度通过WIFI网络传输到远端PC机(或手机)。
6. 超
声波传感器可以监测机器人前后左右的距离,弥补了摄像头的盲区,可保证机器人在安全区域内工作。
该机器人有很强的载重、越障、爬坡、地面机动能力和行驶平顺性,且结构简单、运动稳定、控制可靠,可适应复杂地形环境,满足监控、反恐、排爆、搜索、救援、侦察等任务。该机器人还可以帮助用户应用于紧急营救场景分析,代替工作人员进入高危无人区,查看工作现场突发紧急情况,并为控制人员提供现场状态信息和对现场的简单控制,如拨动紧急开关、清除路障、搬运等。
使用说明:
1、打开电源开关,等待WIFI模块启动。
2、WIFI启动后,上位机连接WIFI并启动上位机软件,开启视频图像。
3、选择相应控制按钮控制机器人动作。
平台选型说明:
使用IAP15F2K61S2单片机为控制核心,此款单片机不需外部晶振,不需外部复位,使系统电路更简单。
设计说明:
1、机器人结构与工作原理
机器人系统包括上位机软件、WIFI数据模块、云台摄像头模块、控制系统(单片机系统)、供电系统、电机驱动、机械臂、电机等。工作原理如图所示:
上位机使用C#语言开发,通过窗体内嵌浏览器方式连接到WIFI模块,通过访问窗体内的浏览器获取视频信息。控制信息通过无线网络传输到WIFI模块,在WIFI模块中通过Ser2net软件把控制信息转成串口输出,从而控制单片机执行相应指令。单片机接到指令后分析指令,然后控制相应的控制模块,实现机器人行走、监控、动作功能。
2、硬件设计
2.1 WIFI模块
WIFI模块是上位机与下位机通信的桥梁,机器人的控制信息以及视频数据传感器数据都是通过WIFI模块实现传输。通过刷入开源的Openwrt系统,使无线路由器成为一个运行Linux系统的小电脑,在上面安装Ser2net程序、驱动,加载USB摄像头。通过WIFI模块里安装的mjpg-streamer程序,将摄像头的视频进行编码,将路由预留的TTL串口引出用来调试和刷机,WIFI信道的指令转到串口输出与单片机芯片MCU通信返回给上位机,实现视频的实时采集监控和相应控制操作。
2.2舵机云台摄像头模块
摄像头是视频采集的重要部件,使用天敏S301免驱高清摄像头直接通过USB与WIFI模块连接,同时通过控制双轴舵机云台,实现云台的上下、左右180度旋转,从而增大摄像头扫描范围。
2.3机械臂
机械臂使用的是6自由度机械臂,使用6个MG996R大扭矩舵机。通过钢架结构组合到一块,实现6自由度的旋转。
2.4控制系统
本系统采用增强型单片机IAP15F2K61S2 作为控制核心,单片机最小系统采用大赛组委会指定的STC15单片机开发板。
STC15系列单片机具有超强抗干扰,超级加密,采用STC第八代加密技术,并且不需要外部晶振和外部复位电路,可简化控制系统的硬件电路。可省掉外部的EEPROM,利用IAP技术在线编程,无需编程器/仿真器。STC15系列是高速单片机,使用单时钟/机器周期,增强型8051内核,速度比传统的8051快7~12倍。单片机内部集成高精度R/C时钟,±1%温漂,常温下温漂5‰,此单片机系统结构简单功能强大。
在本系统中,单片机接收WIFI模块转发的控制指令,并分析指令,通过串口接收和发送数据,根据指令信息产生控制信号控制相应的执行机构,如机械臂、舵机云台、电机、温湿度传感器和超声波传感器等。
单片机控制过程:
2.4.1对电机的控制
IAP15F2K61S2单片机具有三路PCA模块,可产生三路频率相同占空比不同的PWM信号,用于电机调速。PWM脉冲宽度调制是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在测量、通信、功率控制与变换的许多领域中。其工作原理是采用调整脉冲占空比达到调整电压、电流、功率的目的。
通过控制PWM占空比的大小调整输出脉冲,通过电机驱动改变电机的电压从而实现电机调速。通过改变单片机I/O的输出状态,电机驱动根据I/O信号的不同状态组合实现电机的正反转,从而实现机器人前进后退,左转右转等功能。
2.4.2对机械臂和舵机云台的控制
机械臂和云台都使用舵机,对机械臂和云台的控制就是对舵机的控制。舵机是一种位置伺服的驱动器,适用于那些需要角度不断变化并可以保持的控制系统。其工作原理是:控制信号由接收机的通道进入信号
调制芯片,获得直流偏置电压。它内部有一个基准电路,产生周期为20ms,宽度为1.5ms的基准信号,将获得的直流偏置电压与电位器的电压比较,获得电压差输出。最后,电压差的正负输出到电机驱动芯片决定电机的正反转。当电机转速一定时,通过级联减速齿轮带动电位器旋转,使得电压差为0,电机停止转动。舵机的控制信号是PWM信号,利用占空比的变化改变舵机的位置。
舵机的控制一般需要一个20ms左右的时基脉冲,该脉冲的高电平部分一般为0.5ms~2.5ms范围内的角度控制脉冲部分。以180度角度伺服为例,那么对应的控制关系是这样的:
0.5ms--------------0度;
1.0ms-------------45度;
1.5ms-------------90度;
2.0ms------------135度;
2.5ms------------180度;
IAP15F2K61S2单片机具有三路PCA模块,可产生三路PWM,但是其中两路用于电机调速。剩下一路完全不能满足机械臂和云台的8路舵机控制。于是我们使用单片机的定时器0模拟产生PWM,但是8路舵机需要8路PWM,根据舵机的控制时序,我们考虑到了定时器复用。由于舵机控制信号的周期是20ms,高电平只占用0.5ms -2.5ms的时间,剩余周期都为低电平,我们在一个周期内在不同时段让I/O输出0.5ms -2.5ms的高,然后拉低,延时到2.5ms,之后一直为低电,同时其他控制口中的某一个为高电平。如此循环,从而控制8路舵机。例如想让舵机转到45度角,它的正脉冲为1ms,则负脉冲为20ms-1ms=19ms,所以开始时在控制口发送高电平,然后设置定时器在1ms后发生中断,中断发生后,在中断程序里将控制口改为低电平,在定时2.5ms-1ms=1.5ms延时,再次产生中断,此时控制口为低,直到下一次周期来到。同时可将其他控制口设为高,以同样的方式定时,可实现多路舵机控制。
2.5电机驱动
电机驱动采用恒压恒流桥式2A驱动芯片L298N,L298N芯片可以驱动两个二相电机,也可以驱动一个四相电机,输出电压最高可达50V,可以直接通过电源来调节输出电压,也可以直接用单片机的IO口提供信号,而且电路简单,使用方便。设计的电路中使用光耦隔离,很好的保护了控制系统。
2.6供电模块
机器人采用两块可充电锂电池供电,单块电池电压12V,能够连续输出6A电流。由于系统的每个模块供电电压不一样,单片机系统使用5V供电,电机使用12V供电,舵机采用7V供电。由于舵机功率比较大,所以采用LT1083可调稳压芯片,独立使用锂电池降压供电。电机直接使用锂电池供电,单片机及WIFI模块与电机共用一快电池,使用大赛组委会指定开发板上自带的降压系统获得5V电压。
3、系统软件设计
3.1下位机软件设计
单片机的主要任务是接收和解析控制命令,然后执行命令,本系统使用了IAP15F2K61S2单片机所有的3个定时器资源,其中的定时器2用于PCA模块产生PWM脉冲控制电机转速,定时器1产生波特率用于串口通信,定时器0用于控制机械臂舵机和超声波传感器。单片机的主循环控制程序流程如图所示:
命令接收程序放在中断服务程序中,这样能最大限度地减少命令接收延时和防止数据丢失。路由器发来数据时,单片机产生串口中断,进入中断服务程序,在中断服务程序中接收数据,并保存在数组中。在接收完数据后调用数据分析函数,把数据赋值给相应变量,最终执行命令。
3.2上位机软件设计
上位机软件是基于C#.NET语言开发,IDE为Visual Studio 2010,软件的主要功能是实时接收并显示WIFI模块传输的视频数据、下位机传感器数据和发送控制命令。软件主界面中包含视频显示窗口和若干控制按钮,控制按钮用来进行网络连接、开关视频、设置参数、发送机器人移动命令、机械臂动作命令等。
可通过上位机看到无线智能视频监控机器人采集的视频信息,并且通过上位机的对应按钮的操作,控制机器人实现前进、后退、左转、右转等基本移动功能,并可在上位机上看到机器人采集的温度、湿度和超声波测量的距离,控制机械臂和摄像头实现全方位的动作。