基于WiFi视频监控的智能小车控制系统的设计与实现
2020-12-14林青松
李 迪 郑 智 林青松 李 志
(沈阳工学院,辽宁 抚顺 110136)
近年来,随着人们生活水平的提高,以智能小车为载体的轮式机器人走进了我们的生活,特别是在一些布线复杂、施工现场需要监控的安全生活区,必须依靠轮式机器人的视频监控技术。因此,基于嵌入式技术的无线通信视频监控轮式机器人诞生。与人工实际操作相比,突出其成本低和安全稳定等优点。目前已广泛应用于许多危险作业和工业场合。另外,轮式机器人不像人类一样要采用很多的防护方式,所以更加适用于在困难和危险的作业环境中工作。
1 总设计方案
本文采用STM32作为智能小车的主控制器,驱动智能小车的直流电机。该小车的使用了电机驱动模块,该驱动模块的芯片使用的是L298N微集成电路电机驱动芯片,配合STM32核心板实现4台直流电机的运行和PWM软件调速。通过对直流电机的占空比电压和平均电压值的改变,电机的转速也随之变化,并驱动轮式机器人。轮式机器人的驱动状态为:前进、后退、左转、右转和停止。当轮式机器人在行驶过程中遇到障碍物时,红外传感器会对周围障碍物进行检测,轮式机器人自动停止或转向。该系统的传输媒介是WiFi无线信号,控制终端使用手机或者主机,控制机器人的运动,并在控制界面上显示摄像机捕捉到的视频信息,从而对轮式机器人的周围环境进行观察和实时监控。主要设计步骤如下:
(1)依据所给出方案中的实现要求,设计了智能小车的结构;
(2)依据主控制器的基本结构和特点,设计了整体硬件电路模块。整个系统硬件部分主要分3块,分别为无线传输电路设计、红外避障电路设计、电机驱动电路设计等。
(3)选择符合系统设计要求的系统软件,并用其软件进行驱动程序代码和应用软件代码的编写。依据系统所需的功能,从系统信号稳定传输的角度出发,对电机驱动、调速、无线路由器系统改造、视频信息接收与传输、红外避障模块改造及控制接口设计进行了分析和设计,并完成了代码的编写和调试。
(4)实行软件与硬件的结合,对整个系统进行了多次测试。为了提高系统的准确性和稳定性,对试验中存在的问题进行了改进。
2 系统硬件设计
硬件部分主要由单片机控制模块、电机驱动模块、电源模块、红外避障模块控制终端模块和无线视频监控模块组成。硬件系统图如下图1示:
图1 硬件系统图
2.1 主控模块
主控模块STM32F103C8T6C8T6是主控模块的主控制器。STM32F103C8T6C8T6是一款32位ARM的低端微控制器。该系列芯片由ST公司生产,核心为Cortex-M3。根据片上闪存的大小,芯片可分为小容量(16K和32K)、中容量(64K和128K)和大容量(256K、384K和512K)3类。该芯片集成了定时器、can、ADC、SPI、I2C、USB、UART等功能。STM32 F103C8T6C8T6采用keil编译环境,利用c语言编程,支持stlink SWD在线调试。它主要用于收集信息,处理数据,协调系统中各功能模块的预期任务。
2.2 电源模块
在机器人运行过程中,电源模块需要向单片机、电机、模块和传感器供电。为保证系统可靠供电,选用18650可充电锂电池。锂离子电池的标称电压为3.7V,充电截止电压为4.2V,LiFePO4电池的标称电压为3.2V,充电截止电压为3.6V,容量通常为1200mah~3350mah,常用容量为2200mah~2600mah。
2.3 电机驱动模块
电机驱动模块采用L298N芯片。L298N芯片是ST公司生产的,该芯片具有高电压、大电流的特点。芯片封装有15个引脚。主要优势是:电压高,最大电压为46v;输出电流值大,瞬时峰值电流值达到3A,连续电流2A;额定功率25W,包含两个H桥高压大电流全桥驱动器,可驱动步进电机、直流电机,继电器线圈等感性负载;采用标准逻辑电平信号控制;本研究采用L298N与STM32核心板无缝结合,实现四台电机的无损扩展驱动和PWM调速。
2.4 红外避障模
红外避障模块采用HJ-IR2传感器,不怕光。它相当于一个红外电子开关。它检测障碍物输出的低电平,通常是高电平。当识别到障碍物存在时,接收器接收来自红外管的红外信号。芯片放大对比后,以低电平输出,使模块上的LED发光管发光,并且以低电平信号输出。该信号可以成为单片机的信号输入,并可对各种外部驱动模块进行检测和控制。
2.5 控制终端模块
控制终端模块有两种:PC和Android手机。这两种方式都可以掌控智能小车的多种运动方式。
2.6 无线视频监控模块
该模块通过USB接口实时采集轮式摄像机的运动状态,并通过该接口实现对机器人运动状态的实时采集监视。这个模块主要用来完成轮式机器人及其各控制接口。由于机器人的机动性,其采用无线通信方式来完成传输数据。实现无线通信主要是通过无线路由器来完成的,使用路由器完成一个局域网的搭建,并在该局域网上执行各种底层协议。该传输方式用于信号控制和控制终端与轮式机器人的交互。通过终端局域网,将机器人的运行控制程序与终端相连。连接成功后,用户可以使用控制终端设备,进入软件用户界面,可以向轮式机器人发送各种命令,获得摄像机的视频信息等数据。在该系统中,数码相机的驱动程序被加载到无线路由器的固件中。当主控制器发送采集视频的命令时,摄像机开始记录。
3 系统软件设计
软件设计包括:主程序设计、电机驱动程序设计、红外障碍物程序设计、视频图像采集程序设计、无线网络数据传输程序设计。
3.1 电机驱动程序
电机的驱动主要由L298N驱动芯片操作,采用PWM调速方式对电机进行驱动和控制。脉冲宽度调制(简称PWM调制),PWM调制是利用微处理器的数字输出控制模拟电路的一种非常有效的技术。PWM波的产生可以通过时钟频率、自动复位值等参数进行设定,从而调整PWM波的占空比和输出频率,即控制脉冲宽度。
3.2 红外避障控制程序
红外避障采用的是红外避障传感器模块。模块有3个引脚,电源VCC和地GND,还有用于传输信号的OUT引脚,信号是由高低电平两种状态组成的(高电平为3.3V,低电平为0V;高电平读出来就是“1”,低电平读出来就是“0”)。
模块通电后,OUT引脚初始默认高电平输出,当检测到前方有障碍物时OUT会输出低电平,因此会有一个高电平到低电平的变化过程,称之为“下降沿”。通过区程序在单片机中设置“下降沿”为触发外部中断的条件。所以当红外避障模块检测到前方有障碍物的时候,就会触发中断机制,从而执行我们事先编写好的一段程序,通过调整小车电机的转速实现小车的转弯,完成避障动作
3.3 无线视频图像采集程序
数字摄像头的工作过程是将光信号转化成电信号的过程。物镜通过图像传感器模块转变成电信号,然后再通过A/D转换成数字图像信号,最后再将数字图像信号传入数字摄像头的内部的DSP芯片进行处理。
在该系统中,数字摄像头的驱动程序被加载到无线路由器的固件中。当主控制器发出视频采集命令时,摄像头开始工作,通过TCP协议将采集到的视频信息发送到显示界面,并通过WiFi无线路由器连接信号进行无线视频显示。
3.4 主程序
系统主程序主要完成子程序调用和各种初始化操作。首先,系统上电后,启动初始化程序,判断是否有避障中断发送。当发生避障中断时,执行避障子程序。执行完子程序后,发送电机控制信号。
4 结语
以STM32F103C8T6C8T6单片机为控制器,在keil软件中用C语言编程,对智能小车进行控制,完成小车的前进、后退、左转、右转等动作。小车的运行状态是由红外传感器检测外部信号,然后传入单片机进行处理,再由单片机控制电机状态实现。视频监控模块可以捕捉轮式机器人的运动状态和周围环境,然后通过无线信号将采集到的视频数据返回到控制界面,达到实时监控的目的。无线路由模块完成智能小车与各控制接口之间的通信。最后,实现了一个具有视频监控、自动避障和WiFi控制的智能小车控制系统。