基于单片机的无线视频监控智能车外文翻译资料
2023-08-17 15:22:14
英语原文共 6 页,剩余内容已隐藏,支付完成后下载完整资料
基于单片机的无线视频监控智能车
摘要
针对企业仓库的管理,设计并实现了一种无线视频监控智能小车,取代了人工巡检和记录。智能小车采用STM32单片机作为主控制器,利用PWM信号控制电机,实现运动控制。安装在车上的摄像头、温湿度传感器、烟雾传感器等设备可以采集视频数据和环境参数信息。上位机通过Wi-Fi与智能车通信,传输数据和控制指令,并实时监控环境,确保安全。设计了自主避障控制和非接触遥控两种控制方式。操作人员可以根据不同的工作需要选择小车的控制方式,从而更有效地管理仓库。
关键词:单片机;智能车;传感器;视频监控
一.介绍
目前,智能机器人技术得到了迅速发展,并广泛应用于各个行业,尤其是多功能智能汽车。作为自动控制领域的一个新的研究热点,它已经应用于各种复杂、危险、恶劣的工作环境或工业场合。
对于对环境参数和安全性要求很高的企业仓库管理来说,传统的工作模式复杂、效率低下、易受人为因素影响。它们容易出现数据造假、人力资源浪费、维护成本高等问题。稍有疏忽就可能危及仓库的安全。
针对上述问题,设计并实现了一种基于STM32单片机的无线视频监控智能小车。采用视频监控无线通信和传感器对仓库环境进行实时监控,确保仓库安全。它可以改善传统企业仓库管理模式的弊端,具有一定的经济效益和社会效益。
二.系统总体设计
总体设计分为硬件模块设计和软件程序设计。总体设计框图如图1所示。
图1总体设计框图
硬件模块由8部分组成,包括单片机主控模块、电机及其驱动模块,内置避障模块、电源和电压调节模块、摄像头模块、pan-tilt模块、环境参数采集模块和Wi-Fi模块。软件程序设计分为两部分。下位机的程序设计包括各硬件模块的驱动和功能实现。上位机程序设计主要由数据接收线程、数据发送线程、数据库管理及功能实现、人机交互界面等部分组成。
三.智能汽车的硬件设计
系统各硬件模块按照性价比高、可扩展性强的原则进行选择,降低了开发难度,便于后续建设、维护和硬件升级。
3.1. 硬件模块选择
3.1.1.微控制单元模块
单片机型号为STM32F103ZET6。由于它配备了256KB的闪存和64KB的静态随机存取存储器(SRAM),它的计算能力非常强大。同时,它有11个定时器、13个通信接口、4个可选静态存储控制器和112个快速I/O端口。具有很强的扩展性,能够很好地协调各模块的有序工作,满足系统设计的要求。
3.1.2. 红外避障模块
采用HJ-IR2红外传感器。他们通过三角测量来探测障碍物的存在。该方法检测精度高,反应速度快,能够满足实验的需要。
3.1.3. 电机及其驱动模块
电机由L298N双桥电机驱动芯片驱动,可同时驱动两台直流电机,输出功率高。
3.1.4. 摄像头模块
该模块采用Hjduino-cusb数码相机。相机结构完整,集成度高。它的驱动过程相对容易。只需在USB主机驱动程序上加载摄像头的USB驱动程序,即可实现数字视频信息的实时采集。
3.1.5. 转向机云台模块
采用两个TS90A转向器组成一个云台来控制摄像机的角度,该角度可由PWM信号控制。其额定输入电压为4.8V,工作转速约为1100rpm。它体积小,价格低,稳定性好,能很好地满足实验的需要。
3.1.6. Wi-Fi模块
Wi-Fi模块主要由GL-INET无线路由器改造而来。通过开放的Wrt固件安装USB视频类(UVC)摄像机驱动程序、Ser2net串口转发软件和Mjpg-Streamer视频流服务器后,无线路由器可以作为中转站实现主机间的无线数据传输计算机与智能汽车[3]。同时,无线传输速率可达150Mbps,可以满足视频传输的需要。
3.1.7. 环境参数传感器模块
DHT1l温湿度传感器用于温度和湿度测量。具有响应快、抗干扰能力强、信号传输距离长、数字信号输出、标定准确等优点。该系统完成了环境温湿度信息采集的任务,具有良好的性能。温度和湿度的采集范围分别为-20℃~60°C和5%~95%。
选择Mq-2烟雾传感器进行烟雾检测。它具有模拟输出和TTL电平输出两种信号输出,响应快,恢复特性好,稳定性好,很好地完成了环境烟气浓度信息采集的任务。
3.1.8. 电源和电压调节器模块电源模块
由两个可充电的1 8650锂电池组成。电池标称电压3.7V,充电截止电压4.2V,容量2200mA-2600mah。将两个电池串联可获得7.4V的标称电压。电压调节芯片选用LM2596S,独立输出两条5V电压。方向盘和Wi-Fi模块的电源使用3A电流输出。STM32单片机的电源采用1A电流输出。
3.2. 硬件系统建设
根据图1,构建了硬件模块形成汽车的硬件系统。体格检查智能车的图片如图2所示。
图2智能车实物图片
该车长约30厘米,宽约16厘米,底盘下设有4台直流电机驱动该车。该车的主体部分采用铜气缸在底盘上搭建STM32系统板、L298N电机驱动芯片、LM2596S调压芯片集成板。无线路由器固定在机箱和系统板之间,用于无线数据传输。前端安装三个红外传感器,分别用于探测障碍物和实现红外避障功能。摄像头通过USB数据线固定在转向机云台上连接到无线路由器接口。这辆车的后面装有一个电池槽,可以装两个电池18650块锂电池。温湿度传感器和烟度传感器用铜柱固定在电池槽的两侧。
四.软件设计
软件设计基于Linux,如图3所示。它由一台主机和一台从机组成。下位机程序由Keil-MDK-uVision-5编写,实现各硬件模块的功能。然后用otcreators设计主机。数据接收线程接收并处理来自车内的视频数据和环境参数信息,数据发送线程发送各种控制指令。它们显示在人机交互界面上。
图3软件设计框图
4.1. 下位机程序设计
4.1.1. 电机驱动模块程序设计
智能汽车采用的是PWM信号L298N电机驱动芯片改变方向和方向电机转速。电机驱动器程序采用STM32单片机的PWM功能定时器,连接L298N分别为高水平或低水平,以及输出PWM信号使能引脚A和B,然后这辆车可以做各种各样的动作。混凝土实现方法如下。首先,定义启用计时器和相关IO端口。其次,初始化定时器。设置自动重装值和预设分频值,计数方式设置为向上计数1最后,通过改变使能预加载寄存器的比较值CCRX和使能定时器,输出占空比可变的PWM信号。马达驱动器流程图如图4所示(以M1为例)。
图4电机驱动流程图。
4.1.2.自主红外避障模块程序设计
三个红外传感器被用来探测汽车前、右、左方向的障碍物。车辆首先判断同一传感器在10ms内采集到的障碍物信息是否一致。如果采集到的信息一致,障碍物状态将返回到微机指定的I0端口。在程序设计中,每个方向上的障碍物被赋予不同的状态变量,三个状态变量之和用来表示障碍物的信息车周围有障碍物。同时,相应的无线视频监控智能小车针对小车周围的每一种障碍物情况,分配不同的运动状态,实现自主避障,如表1所示。自主避障模块的程序流程图如图5所示。
表1智能小车周围障碍物与其运动状态对应关系表
汽车周围的障碍物 |
移动 |
前方.左侧和右侧没有障碍物(状态=0) |
前进 |
前方.左侧和右侧都有障碍物(状态==9) |
回头再转身 |
左侧和右侧只有障碍物(状态=-8) |
前进 |
前方和左侧只有障碍物(状态=4) |
右转 |
前方和右侧只有障碍物(状态==6) |
左转 |
左侧只有障碍物(状态=3) |
右转,并使标志=1 |
右侧只有障碍物(状态=5) |
左转,并使标志=-1 |
前方只有障碍物(状态=1) |
如果标志=1,左转,使标志=0; 如果标志ne;1,右转,使标志=0; |
图5.自主红外避障模块程序流程图
4.1.3. 舵机云台模块程序设计
转向机云台由两个TS90A转向系统组成用于在水平面和垂直面上旋转云台的齿轮。转向器的旋转角度由STM32微型计算机通过IO端口输出给转向器的PWM信号的脉冲宽度控制。标准PWM信号周期固定为20ms,脉冲宽度分布在0.5ms~2.5ms之间,对应于0°~180°的舵机转角。当STM32微机发出PWM信号时,转向器将旋转一定角度并保持在这个位置。
这个程序类似于马达驱动程序。定时器TIM2输出PWM信号以控制转向机旋转角度。首先配置定时器和相应的I0端口。通过串口接收上位机的控制指令,调整PWM脉冲宽度端口图图6是云台模块程序的流程图。
图6.云台模块程序流程图
4.1.4. 温湿度采集模块程序设计
STM32单片机向温湿度采集模块发送启动命令后,DHT1l将从低功耗模式进入高速模式,采集环境的温湿度,生成40位数据信息,并返回低电平信号,指示数据的存在[5]。在主程序检测到信号存在后,它首先逐位读取所有数据并将它们形成5个字节。采集完成后,DHT1 1将再次进入低速模式,直到发出下一个启动命令。同时,该模块还设计了报警装置。当传感器采集到的环境温湿度参数超过预设的报警值时,会引起蜂鸣器报警。给出了温湿度采集模块的程序流程图。如图7所示。
图7.温湿度采集模块程序流程图
4.1.5. 烟气浓度采集模块的程序设计
该模块使用模数转换器(ADC)采集MQ-2传感器信号。当环境中烟雾浓度增加时,MQ-2传感器体电阻减小,输出电压升高,ADC转换的值也随之增加。当浓度降低时,情况正好相反。然后根据MQ-2的特点,对ADC转换后的信号进行校正,并根据相应的公式进行转换,得到实际浓度值61。该模块还设计了温湿度采集模块等报警装置。烟气浓度采集模块的程序流程图如图8所示。
图8.烟气浓度采集模块程序流程图
4.1.6. 视频采集模块程序设计
该模块采用USB数码相机,具体工作流程如下。打开电源后,Linux内核驱动摄像头,视频捕获模块开始工作。摄像机通过图像传感器采集发散色光,得到模拟电信号。经过模数转换后,由DSP中的图像信号处理器进行处理,按照JPEG压缩标准压缩成标准的视频流数据。最后,Linux内核中的MJPG Streamer视频流服务器实现了视频数据的解析[7]。
4.1.7. 无线数据传输模块的程序设计
无线数据传输模块选择TCP/IP协议簇作为传输控制协议,无线路由器作为TCP服务器,主机作为TCP客户端。程序采用Socket实现基于TCP/IP协议的网络通信。Socket服务器初始化完成后,使用bind函数将Socket与IP地址和端口号绑定,然后进入监控模式,等待Socket客户端发送连接请求[8]。Socket服务器收到请求后调用accept函数,实现TCP连接。无线数据传输模块的程序流程图如图9所示。
图9.无线数据传输模块程序流程图
4.2. 上位机程序设计
上位机是在Qt-Creator环境下开发的。首先,创建一个小部件窗口项目,然后选择适当的控件并调整主机界面的布局。然后利用qtcsocket相关函数建立Socket通信。一个线程发送各种控制指令,另一个线程接收从机发送的包括环境参数信息和视频信号在内的数据。整个上位机程序设计流程图如图10所示。
图10.上位机程序流程图
上位机人机交互界面如图11所示,界面由视频监控区、运动控制区、环境参数显示区三部分组成。视频监控区域中的“开始监控”和“停止监控”按钮可以分别与TCP服务器连接和断开。连接成功后,界面左上角的QLable窗口将显示实时视频,并可拖动底部的滚动条调整云台。视频监控区域下方是运动控制区,可控制智能车前进、后退、左转、右转9种运动状态。环境参数显示区可显示环境烟气浓度、温度、湿度,并记录在右侧文本框中。
图11.主机人机交互界面
五.全系统实验
在完成系统软硬件设计后,进行了整个系统的实验,测试了非接触式遥控模式和自主红外避障
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[606120],资料为PDF文档或Word文档,PDF文档可免费转换为Word