基于STM32单片机的视频遥控小车研究
2016-01-02黄祥
黄祥
基于STM32单片机的视频遥控小车研究
黄祥
湖北工程学院新技术学院,湖北 孝感 432000
在当前社会当中,随着科技的发展,STM32单片机在很多领域中都得到了应用。可利用STM32单片机来遥控视频小车,同时实现数据的传输。在计算机和小车之间,可利用Wi-Fi模块,基于PWM电机调速原理、IP通信原理等,实现数据传输。在基于STM32单片机的视频遥控小车中,还采用了多传感器信息融合技术,从而能够远程操作无线视频监控,用户通过Wi-Fi无线网连接,可以利用收集、计算机等视频终端设备来获取视频监控画面,同时控制小车的移动。
STM32单片机;视频遥控小车
引言
随着科技的发展,智能遥控技术、自动化技术在各个领域当中都得到了越来越广泛的应用。在对移动机器人进行研究的过程中,机器人小车是一个重要的部分,包含了通信技术、传感技术、计算机技术等。利用无线网络视频技术对路径进行识别,从而对小车的转向、速度等进行控制。在基于STM32单片机的视频遥控小车当中,利用STM32单片机作为控制器,对拍摄到的视频画面利用Wi-Fi模块进行远程传输,取得了良好的应用效果。
1 底层驱动层
1.1 云台驱动原理
在视频遥控小车上,摄像头是由云台进行控制的,在应用的二自由度舵机云台中,具有较大的扭矩,在垂直和水平方向上,都能够完成180度的而自由度运动。对摄像头进行安装,能够进行定位追踪、图像识别、图像监控。还可安装红外传感器、超声波测距传感器,从而对周围的障碍物进行探测和躲避。
1.2 电机调速原理
在控制器的两个信号输入端口当中,其作用是对信号使能进行控制,在低电平的状态下会发挥效果。在拉低信号线之后,控制器就会发出相应的运动模式控制。在控制器当中,由于具有控制使能的信号线,因此可以通过对相应端口信号的控制,进行PWM调速[1]。在一个周期时间内,开关管导通一定时间,从而得出电机两端的平均电压。
1.3 电机驱动原理
在视频遥控小车当中,将两个电机分别配在现车左右轮,两个电机的旋转方向和停止,对小车的运行进行控制。在STM32单片机通过4根电机控制信号线,对输入端进行连接,另外两根PWM调速信号线也与相应端口进行连接。其中,前两条输入信号线对左轮电机进行控制,直流电机与输出端相连,小车右轮的电机运动模式控制原理与左轮相同。
2 中层传输层
2.1 Ser2net
Ser2net是一种IP转串口软件,在STM32单片机资源当中,使用的是串口通信协议,而在计算机通信当中,采用的则是IP协议。因此,需要通过Ser2net对两种不同的协议进行转换和连接,从而可以通过计算机的IP编程,实现对视频遥控小车的控制[2]。在平台中开启一个服务端口,与计算机连接,从而获取IP数据流,最终转发到远程IP终端,从而在小车和IP协议之间建立联通。
2.2 RT5350芯片
RT5350芯片内部对射频功率放大器、基带处理器等进行了集成,同时含有五端口百兆以太网交换机。RT5350芯片具有较大的成本优势,在低端路由器市场当中,占据着较大的份额。其中配备了USB2.0扩展,与3G网卡共同应用,可得到3G路由器,综合USB摄像头,就能得到Wi-Fi摄像机,从而实现对视频画面的传输。
2.3 OpenWrt系统
OpenWrt系统使主要的路由器系统之一,在很多智能路由器当中都有着广泛的应用。当前应用的OpenWrt系统能够对RT5350系统进行全面的支持。在相应系统中对源码进行下载,对相应的交叉编译器进行安装,对相应的驱动软件进行配置,从而对需要的OpenWrt系统进行编译,在配合相应的功能软件,就能够发挥良好的作用。
2.4 MJPG-streamer
MJPG-streamer是一种视频流服务器,具有通用摄像头插件,同时具有网站服务器输出插件[3]。对这两种插件进行综合应用,在HTTP服务器中对USB摄像头获取的数据进行复制,用户通过对服务器的访问,就能够对摄像头中得到的视频流进行获取,通过相应的解码操作,就能够对视频图像进行获取。
3 顶层控制层
3.1 通信协议定义
在STM32单片机当中,主要对控制协议进行了定义,可以对这一协议进行自行定义,例如,发送0xff、0xff、0x01、0x01的数据包,可以控制小车向前行进。其中,数据包当中的前两位表示的是对头码进行标识,第三位表示的是对对象进行标识,第四位表示的是对数据值进行标识。
3.2 MJPG视频解码
在视频遥控小车但当中,对于以HTTP协议为基础的MJPG视频流,使通过RT5350模块所提供的,因此,需要在上位机软件端,对相应的软件解码视频流进行编写,从而对小车拍摄到的视频画面进行获取[4]。例如,在VS2010当中的C#,其解码思路主要是,首先视频地址由HTTP请求获取,然后对相应的视频流进行获取,再对JPEG的头和尾进行准确的寻找,从而通过相应的终端设备,显示出获取的JPEG图像。
3.3 控制小车电脑程序
在控制小车的过程当中,需要对一个TCP创建,并且与小车的相应端口进行连接,将控制命令通过这一端口进行直接的发送,根据相关的通信协议,就能够对小车的运行状态进行控制。例如,在VS2010当中的C#,其编程思路主要是首先对一个套接字进行创建,其次是要对小车的控制端口、IP地址等进行连接,然后对相应的控制按键、控制按钮等进行绘制,最后对按键、按钮的响应事件进行编写,对相应的控制命令,采用已连接的套接字进行发送。
4 结论
在智能机器人领域的研究当中,视频遥控小车是一个十分重要的研究部分,在实际应用中也具有很多方面的作用。基于STM32单片机,视频遥控小车能够被计算机进行良好的控制,在控制小车移动的同时,对小车拍摄的视频进行获取,从而使其作用得到更为充分的发挥。
[1]罗回彬,巫敏锋.基于Wi-Fi的可实时视频同传的探测小车[J].单片机与嵌入式系统应用,2015(6):41-43.
[2]郭俊杰,朱洪应,蔡超敏,黄培鑫,陈如麒.基于STM32单片机的视频遥控小车[J].大学物理实验,2015(4):47-50.
[3]宋扬,朱江.基于STC12C5A60S2单片机的视频遥控小车设计[J].电脑知识与技术,2014(1):180-184.
[4]徐迎曦,李传锋,张亚威.基于无线图像传输的智能侦察系统研究[J].计算技术与自动化,2013(3):46-51.
U469.6
A
1009-6434(2016)03-0079-01