您现在的位置是:首页 > 数字电源 > 技术解析

一种基于STM32单片机的视频遥控小车的设计

时间:2018-01-09 来源:

随着各种科学技术的不断提高,自动化技术的不断加深,智能遥控技术将跨领域应用,并深入普及。机器人小车的研究是移动机器人分支的一部分,是一项涉及到计算机技术、传感技术、通讯技术等相关技术的综合系统。它的主要功能是利用无线网络视频技术实现识别路径,控制车速及操纵转向等。

本文引用地址: http://power.21ic.com//digi/technical/201801/59330.html

小车采用STM32单片机作为主制器,通过一款Wifi射频模块RT5350实现远程视频画面的传输,整个项目涵盖的知识面广,包括单片机编程技术,OpenWrt路由器系统以及Windows上位机软件开发等等不同技术领域。下面分为三个层面来介绍视频小车的实现方法:

(1)底层驱动层:以STM32单片机实现对小车的驱动控制;

(2)中层传输层:借助RT5350路由器平台传输控制命令以及视频流;

(3)顶层控制层:在Windows平台实现对小车的控制。

1、底层驱动层

小车整体是实现STM32单片机控制小车电机的运动和控制摄像头的舵机云台的运动。由于STM32单片机提供的电流非常微小,不足以让小车动起来,所以需要电机驱动模块,这里使用了L298N模块驱动小车的直流电机。

1.1、电机驱动原理

小车左轮右轮上分别配有两个电机,左轮电机A与右轮电机B的正转、反转和停止决定着小车的运动模式。而STM32单片机4根电机控制信号线连接着L298N的IN1~IN4,另外两根PWM调速信号线连着ENA和ENB。电路图详情见图1。

 

一种基于STM32单片机的视频遥控小车的设计

 

图1 电路原理图

输入信号线IN1和IN2控制电机A的运动,直流电机A接OUT1和OUT2。同理,IN3和IN4合起来控制了电机B的运动。对应小车的对应的运动模式详情见表1。

表1小车的对应的运动模式

 

一种基于STM32单片机的视频遥控小车的设计

 

1.2、电机调速原理

如上图1中L298N上还有有ENA和ENB两个信号输入端口,这两个端口的作用是控制信号的使能,低电平有效。只有当信号线拉低时候,L298N才会遵循表1中列出的运动模式。

由于L298N有控制使能的信号线,则可以通过控制ENA和ENB的信号来进行PWM调速。原理是开关管在一个周期T的时间内导通的时间为t,那么电机两端的平均电压U=V*t/T=aV。其中,a=t/T(占空比),V是电源电压。电动机的转速与电动机两端的电压成正比,而电动机两端的电压与控制波形的占空比成正比,因此电动机的转动速度与PWM信号的占空比成比例,信号的占空比越大电动机转动得越快。

1.3、云台驱动原理

云台控制摄像头的运动,这里采用了MG995舵机云台。二自由度的MG995舵机云台是一款扭矩大、性价比高的小型云台,可以在水平方向和垂直方向做180°的二自由度运动。安装上摄像头可以实现图像监控、图像识别和定位追踪等功能;加装超声波测距传感器或红外传感器可以组合成一体化探测装置,使机器人能感测周围的障碍物,从而可以实现机器人自动避障功能。

舵机云台驱动原理也是PWM调速信号控制,舵机最早用于船舶上实现特定的转向功能,由于通过程序可以控制其连续转角,因而被广泛应用在智能小车和机器人等关节运动上。舵机的控制信号周期为20ms的脉宽调制信号,脉冲宽度0.5~1.5ms相对应的舵盘位置为0~180°,这个过程呈线性变化。给舵机提供周期为20ms宽度在0.5~1.5ms中的某个的脉宽信号,舵机的输出轴就会保持相对应角度。无论外界转矩怎么改变,输出轴的位置不会改变。除非提供一个新的脉宽信号,舵机才会改变输出角度到新的对应位置上。

STM32单片机上给出两条信号线分别连接水平方向和垂直方向上的两个舵机,通过调制出周期为20ms宽度在0.5~1.5ms的PWM信号即可控制舵机在两个方向上的角度,即可控制云台摄像机的位置。初始化时将脉宽调制到1.5ms,使舵机在90度的中间位置,程序正常运行时通过上位机的指令来调整脉宽的宽度来控制舵机相应的位置。

1.4、小车实物展示

实物见图2。

 

一种基于STM32单片机的视频遥控小车的设计

 

图 2 视频小车实物图

2、中层传输层

传输层是完成对控制命令的传输,是连接小车和电脑的桥梁,同时也负责视频画面的采集和编码,这里用Ralink公司的一款RT5350路由器芯片完成工作。RT5350平台是基于MISP的Linux系统,和我们的PC配置类似,有必要的CPU、内存和硬盘。CPU是MIPS架构360M主频RT5350芯片,内存则是32MBSDRAM芯片,硬盘是8MB的FLASH闪存,采用的是基于Linux的OpenWrt路由器系统。内核里安装了UVC的USB摄像头驱动程序,并且运行了Mjpg-Streamer视频传输服务器软件,实现了对视频画面的传输。控制命令的传输是通过Ser2net一款IP转串口的软件,实现IP协议与单片机命令的对接。

2.1RT5350芯片

RT5350的特征是性价比高,成本优势大,因而迅速占领了很大部分的低端路由器市场。由于支持USB2.0的扩展,配合3G网卡能扩展成3G路由器,配合USB摄像头能扩展成Wifi摄像机,配合USB声卡能扩展成Wifi音响,还可以用来做Wifi智能插座。这里,正是运用了配合USB摄像头来实现视频画面的传输。

2.2、OpenWrt系统

OpenWrt是一个嵌入式Linux发行版,是三大主流路由器系统之一。很多智能路由器都采用了OpenWrt系统,能在系统上实现很多第三方功能,如能实现校园网认证登录功能,能支持SAMBA服务器,能支持离线下载等等功能。

由于RT5350的普及性,OpenWrt系统已经全面支持RT5350系统。大致编译方法:在Ubuntu系统上下载OpenWrt的源码,安装相应的交叉编译器,配置相应的驱动及软件即可编译出所需要的OpenWrt系统。有了操作系统,接下来安装所需要的功能软件。主要安装的是MJPG-Streamer和Ser2net软件,前者负责视频传输,后者负责命令传输。

2.3、MJPG-streamer

MJPG-streamer是一款MJPG视频流服务器,其中”input-uvc.so”输入插件是Linux上的通用摄像头插件,”ouput_http.so”输出插件是网站服务器插件,这两款插件配合使用,将USB摄像头采集的视频数据复制到了Http服务器中,用户通过访问服务器即可获得USB摄像头上的MJPG视频流,再通过相应的解码即可获得视频图像。

当系统启动完成后,MJPG-streamer正常运行,就可以在PC通过Http协议访问相应的视频地址获得MJPG视频流数据,火狐浏览器就可以播放MJPG视频流,也可以参考MJPG视频流协议写出解码程序。

2.4、Ser2net

Ser2net是运行在Linux系统上一款IP转串口软件。由于电脑上通信协议是IP协议,而STM32单片机资源有限使用了串口通信协议,Ser2net正是沟通这两种协议间的桥梁,有了它电脑就能通过IP编程对小车控制了。

大致原理是RT5350平台开启一个TCP服务端口比如2001,当电脑端连接上此端口后,所有传向2001端口的IP流数据都会转发带RT5350的串口上,所以发向RT5350串口的数据都会转发到远程IP终端。而RT5350的串口连接上STM32单片机串口,所以Ser2net软件实现了IP协议到小车的数据通路。

3、顶层控制层

3.1、通信协议定义

STM32单片机里定义了控制协议,这个协议自己定义,比如发送数据包0xff,0xff,0x01,0x01代表前进。前面两位用于标识头码,第三位标识对象,第四位标识数据值。

表2控制小车的通信协议

 

一种基于STM32单片机的视频遥控小车的设计

 

3.2、MJPG视频解码

小车上的RT5350模块已经提供了基于HTTP协议的MJPG视频流,在上位机软件端需要编写软件解码视频流即可获得小车视频画面。这里简单介绍一下在VS2010中C#的解码思路:

第一步:Http请求视频地址

第二步:获取视频流

第三步:找到JPEG头和尾

第四步:将获得的JPEG图像显示出来

3.3、控制小车电脑程序

小车的控制方法是创建一个TCP连接至小车的2001端口,向这个端口直接发送控制命令,参考表1的通信协议即可控制小车的运动。这里简单介绍一下在VS2010中C#的编程思路:

第一步:创建一个套接字

第二步:连接上小车的IP地址和控制端口

第三步:绘出控制相应的按钮和按键

第四步:编写响应按钮和按键的事件,通过已连接的套接字发送对应的控制命令

3.4、主界面

主界面见图4。

 

一种基于STM32单片机的视频遥控小车的设计

 

图4 C#编写的小车上位机软件

换一批

延伸阅读

[资讯] 一种新型光伏控制器PWM精确控制的解决方案

一种新型光伏控制器PWM精确控制的解决方案

摘 要: 本文针对现有光伏控制器控制模式的不足,提出一种精粗调组合的新型PWM精确控制的解决方案,将太阳能电池分成N个独立的太阳能子阵,只令一路子阵采用PWM控制作为精调......

关键字:控制器 精确 光伏

[资讯] 智能灵活的大电流 DC/DC 控制器简化电信和数据通信系统中的电源

智能灵活的大电流 DC/DC 控制器简化电信和数据通信系统中的电源

电信和数据通信系统中常见的下一代路由器和交换机的复杂性和可扩展性不断提高,这给电源制造带来了压力,因为人们需要提供智能灵活、可横跨多种平台扩展的高效率电源解决方案。系统设计师经常会需要几种基础架构变体,以能够提供高、中、低端系统,且每种系统......

关键字:DC/DC 控制器 电源

[资讯] “跨界智能化”将有望为未来照明带来新的火花?

“跨界智能化”将有望为未来照明带来新的火花?

伏波,广东省高级工业设计师、副教授,现任广东轻工职业技术学院艺术设计学院工业设计系主任、全国机械行指委工业设计教指委委员、国家高职教育艺术设计(工业设计)专业教学资源库建设工作子项目负责人、广东省第一批省级高职教育重点专业建设项目负责人;拥......

关键字:LED照明 智能照明 智能化控制

[资讯] 100W真做到了:USB充电大跃进

100W真做到了:USB充电大跃进

台湾钰创科技(Etron)今天宣布推出新款USB供电芯片“EJ888”,全球第一个符合“USB Power Delivery Rev. 1.0”供电规范,最大功率达到了惊人的100W,是......

关键字:USB充电 供电芯片 闪存控制器

[资讯] 德州仪器推出业界首款支持动态温度补偿电感器电流传感的模拟 DC/DC 控制器

德州仪器推出业界首款支持动态温度补偿电感器电流传感的模拟 DC/DC 控制器

20V DC/DC 同步降压控制器以最小电感器尺寸实现超过 95% 的效率21ic讯 日前,德州仪器 (TI) 宣布推出首款支持远程双极结晶体管 (BJT) 温度补偿电感器电流传感的模拟 DC/DC......

关键字:DC-DC控制器 温度补偿 电感器 电流传感

[新鲜事] 谷歌上亿大奖空置11年无人领取!难道真的没人眼馋吗?

谷歌上亿大奖空置11年无人领取!难道真的没人眼馋吗?

Google在11年前为了激励民间航天业的发展,曾设立探月大奖赛,只要满足一定条件就可以领取高达3000万美元(约合人民币1.9亿)奖金,但是直到11年后大奖还是名花无主。......

关键字:谷歌 民间航天业

[趣科技] 可以为手机充电的牛仔裤

可以为手机充电的牛仔裤

但是如果有一条神奇的既可以容纳你的手机,同时还可以给你的手机充电,让你出门在外,从此无忧,你会去购买这款神奇的牛仔裤吗?......

关键字:充电
发表评论 共有条评论
用户名: 验证码:

精确稳定 让平均电流法帮你实现模块电源并联

精确稳定 让平均电流法帮你实现模块电源并联

今天要为大家介绍的是平均电流法,这种方法能够精确稳定的帮助工程师实现电源模块的并……

九款最简单的电子镇流器电路图原理图分析

九款最简单的电子镇流器电路图原理图分析

从工作原理而言,电子镇流器是一个电源变换电路,它将交流输入市电电源的波形、频率和……

干货|交流接触器常用接线电路图和实物图

干货|交流接触器常用接线电路图和实物图

今天分享一些电气知识中的交流接触器常用接线电路图和实物图,从简单到复杂。

……

项目外包