基于视觉的危险环境探测小车研究与设计田凯摘要版.docx
- 文档编号:7250804
- 上传时间:2023-01-22
- 格式:DOCX
- 页数:20
- 大小:1MB
基于视觉的危险环境探测小车研究与设计田凯摘要版.docx
《基于视觉的危险环境探测小车研究与设计田凯摘要版.docx》由会员分享,可在线阅读,更多相关《基于视觉的危险环境探测小车研究与设计田凯摘要版.docx(20页珍藏版)》请在冰豆网上搜索。
基于视觉的危险环境探测小车研究与设计田凯摘要版
基于视觉的危险环境探测小车研究与设计
1绪论
机器人作为人类20世纪最伟大的发明之一,在短短的40年内发生了日新月异的变化。
无线遥控小车作为机器人的一种,也得到了长足的发展。
在工业应用方面,智能小车可以代替人进入危险环境进行探测和工作,如进入矿井下测量有毒瓦斯浓度,进入辐射区域搜索辐射源,人只需在控制中心进行监控。
利用导航技术、路径规划技术、多传感器信息融合技术,智能小车将更加智能化,应用更广。
本文介绍了基于视觉的危险环境探测小车总体方案,并进行了核心器件的选择。
对各功能模块进行了硬件和软件设计与实现,如电源模块、电机驱动模块、温湿度检测模块、空气质量检测模块、测速模块、路障检测模块、射频调制模块、无线通信模块等,并对各模块进行方案论证,合理的选择各模块器件以及实现电路。
此外本设计做了硬件的安装并进行了整体的调试,给出了调试中出现问题的解决方法,完成了系统设计所要求的功能。
2基于视觉的危险环境探测小车的总体方案设计
2.1系统整体设计
基于视觉的危险环境探测小车主要由主控制器、被控小车和图像显示终端组成。
主控制器主要一方面向被控小车发送控制指令,另一方面接收被控小车传送回来的信息并显示。
被控小车用于对危险环境的探测,车上的摄像头由两个舵机驱动,用于改变监控角度。
另外,小车上还有危险环境检测传感器和温湿度传感器,用于对环境信息进行实时检测,小车四周的障碍物传感器用于向主机返回小车周边的路况信息。
显示终端主要用于接收被控小车发出的视频信息并显示。
其控制系统结构如图2-1。
2.1.1系统硬件设计
本设计采用自顶向下的设计方法,将本系统的功能进行了合理的划分,使其每一部分分别完成较小的任务,形成应用系统常用的结构形式—积木式结构框架,有利于功能的扩大和更换,能够增加了系统的灵活性。
本设计主控制器采用ATmega16作为主控芯片,被控小车采用功能强大的MC9S12XS128单片机作为主控芯片。
系统主机硬件框图如图2-2所示,被控小车硬件框图如图2-3所示。
图2-1基于视觉的危险环境探测小车系统结构图
图2-2基于视觉的危险环境探测小车主机硬件框图
图2-3被控小车硬件框图
2.1.2系统软件设计
系统主机软件流程框图如图2-4所示,从机软件流程图如图2-5所示。
图2-4主控制器软件流程图
图2-5被控小车软件流程图
本系统中,主控制器主要用于向被控小车发送控制命令,并接收小车传回来的危险环境温湿度、空气质量、小车电池电量、小车速度、小车周围障碍物等数据。
主控制器接收到数据处理后并在液晶屏上显示出来。
系统的主控制器采用ATmega16作为主控芯片。
3系统硬件功能模块的设计与实现
3.1基础功能模块
3.1.1电源功能模块设计与实现
本设计采用LM2596S开关电压调节器构成系统的开关稳压电源,LM2596S是降压型电源管理单片集成电路,能够输出3A的驱动电流,同时具有很好的线性和负载调节特性。
固定输出版本有3.3V、5V、12V,可调版本可以输出小于37V的各种电压。
本设计采用的是12V电压输入,5V电压固定输出模式。
具体电路如图3-1。
图3-1电源电路图
3.1.2人机接口功能模块设计与实现
1.输入功能模块
在本系统中,输入功能模块用于用户控制被控小车的运动状态。
其电路原理图如图3-2所示。
图3-2输入功能模块电路图
2.输出功能模块
本系统中,选用金鹏电子的LCD128*64汉字液晶作为输出显示界面。
它能显示字母、数字、符号、中文字型及图形,足以满足本设计需要。
另外,用一个LED指示灯来指示老年人拨打电话的状态。
LCD128*64液晶屏的电路原理图如图3-3所示。
主机发送成功指示灯电路如图3-4所示,当主机数据发送成功后,指示灯亮,用来指示数据发送成功。
图3-3LCD128*64接口电路图
图3-4通话指示灯电路图
3.1.3蜂鸣器报警模块设计与实现
蜂鸣器报警模块主要用于在主控制器发出控制指令后,若被控制器返回控制成功指令,则蜂鸣器鸣叫两声。
同时,若被控制器检测到危险气体浓度超标或者小车周围有障碍物,蜂鸣器会鸣叫五声。
本模块选用大功率蜂鸣器,用于增强报警效果,主要用于系统各部分的报警,原理图如图3-5所示。
图3-5蜂鸣器报警电路图
3.2检测功能模块
3.2.1温湿度检测功能模块设计与实现
由于系统既要对湿度进行测量,又要对温度进行测量,为了降低硬件和软件复杂度,节约成本,本设计采用DHT11温湿度传感器。
硬件电路如图3-6所示。
图3-6温湿度传感器电路原理图
3.2.2空气质量检测功能模块设计与实现
本文采用MQ-2作为危险气体检测功能模块的主元件。
该元件具有以下特点。
1)在较宽的浓度范围内对可燃气体有良好的灵敏度;
2)对液化气、丙烷、氢气的灵敏度较高;
3)长寿命、低成本;
4)简单的驱动电路即可。
其结构图如图3-7所示。
图3-7MQ-2结构图
2.信号调理电路
危险气体检电路工作原理如图3-8所示。
图3-8MQ-2可燃气体检电路原理图
3.2.3障碍物检测功能模块设计与实现
因为在小车的前后都要加路障检测传感器,考虑成本,在本设计中选用红外线光电传感器。
以透射式为例,如图3-9所示。
接收光电管在没收到红外光信号时,光电管阻值较大,通过电阻分压连接到比较器的反向输入端,低于正向输入端的电压,比较器输出端为高电平,发光二极管灭;反之,二极管亮。
图3-9红外线发射与接收
3.2.4测速模块设计与实现
通过速度检测,将小车当前速度反馈回来给控制器会很大程度上方便控制者的控制。
通过实验与比较,本设计采用旋转编码器。
将旋转编码器转轴与电机转轴以一定的齿轮比啮合。
则电机每转一周,编码器便会输出固定的脉冲。
这种方案精度最高,受外界环境影响最小。
后轮的周长为20.9cm,轮子每转动2圈,旋转编码器输出11个脉冲发送给单片机的内部计数器。
如果想知道当前机器人的行驶速度,只要看在程序规定的时间内检测到的脉冲数即可求得。
在实际程序设计中,设定的采集速度时间为10ms,而不是1s,因为1s的时间来采集当前速度周期太长,不能及时有效的对机器人行驶速度速进行控制。
3.2.5小车电池电量检测模块设计与实现
在小车运行过程中,控制者必须实时监测小车电池电量,防止小车电池耗尽而无法从危险环境中回来。
电量检测电路如图3-10所示。
图3-10小车电池电量检测原理图
3.3驱动功能模块
3.3.1电机驱动模块设计与实现
本设计中驱动模块包括前轮舵机驱动和后轮电机驱动两部分。
本设计使用的驱动电机型号为RS-380,工作电压7.2V,空载电流为0.5A,转速为16200r/min。
在工作电流为3.3A,转速达到1460r/min时,工作效率最大,并采用BTS7960B作为机器人电机驱动芯片。
其驱动电路如图3-11所示。
如图所示,采用2个半桥智能功率驱动芯片BTS7960B组合成一个全桥驱动器,驱动直流电机转动。
通过对下桥臂开关管进行频率为25kHz的脉宽调制(PWM)信号控制BTS7960B的开关动作,实现对电机的正反向PWM驱动、反接制动、能耗制动等控制状态。
图3-11电机驱动电路图
2.舵机驱动
舵机工作原理如下:
减速齿轮组由电机驱动,其输出轴带动一个线性的比例电位器作位置检测,该电位器把转角线性地转换为电压并反馈给控制线路板,然后控制线路板将其与输入的控制脉冲信号比较,产生纠正脉冲,并驱动电机正向或反向转动,使齿轮组的输出位置与期望值相符,从而达到使伺服马达精确定位的目的,如图3-12示。
图3-12舵机控制框图
图3-13舵机插头图
如图3-13,当机器人转向时,微控制器向舵机的信号线发出PWM波,对其进行控制。
为使小车的转向更加灵敏,迅速。
本设计对舵机进行了以下系列的机械结构改进。
(1)舵机柄的长度加长到约为原来三倍。
这样舵机轮转过相同的角度与没加长之前相比只需转过比较小的角度,也就是机器人转向的速度更快了,但也增加了舵机的转向负荷,甚至出现舵机里面齿轮损坏的情况。
(2)将舵机立起来放置,使舵机位于两轮的中心线上,同时把轮胎到舵机的连杆改为等长。
这样改动之后,舵机左右转向时受力比较均匀,从而能够灵活的转向。
3.3.2摄像头照明驱动模块设计与实现
本系统增加了摄像头照明模块,用于在外界光线不足时打开照明,提高监控效果。
LED驱动芯片选用 华润矽威科技有限公司新推出的PT4115。
PT4115 是一款连续电感电流导通模式的降压恒流源,可满足驱动点亮1-7颗串联的大功率LED或N颗串并联的小功率LED,驱动恒流大小可按应用方案设定。
应用电路如图3-14所示
图3-14摄像头照明驱动模块电路原理图
3.4射频调制模块
射频调制模块应用的是飞思卡尔公司生产的MC44BS373CA。
它是一款优秀的安防监控IC,支持中国的全部电视频道,只需一片单片机向MC44BS373CA的I2C发送指令即可控制MC44BS373CA具体工作频道等参数。
3.4.1射频调制模块设计与实现
将摄像头输出的模拟视频信号调制到某个电视的频道上,电视的频道选择由AT89C205控制,最后构成射频信号,将此射频信号发射出去,即可被接收终端接收显示。
其电路原理图如图3-15所示。
图3-15射频调制电路
3.5通信功能模块
SRW1012是一款先进的低成本射频收发模块,可提供覆盖240MHz至930MHz的频率选择。
极佳的接收灵敏度(-121dBm)可保证大范围、高连接的卓越性能。
2.SRW1012的应用
本模块通过标准的4线SPI接口与外边MCU进行通信,4线为NSEL、SCLK、SDI和SDO。
外部MCU通过SDI往模块中配置数据,通过SDO从模块中读出寄存器数值。
图3-16为SPI口的时序图,图3-17为SRW1012与单片机接线图。
图3-16SRW1012SPI时序图
图3-17SRW1012与单片机接线图
4系统软件及通信功能模块设计与实现
4.1数据采集模块软件设计与实现
传感器是的数据采集的主要元件,MCU采集到传感器信息后会及时反馈给主控制器,以便控制者实时了解环境信息。
4.1.1温湿度传感器数据采集
本设计中通过使用温湿度传感器—DHT11对外界环境的温湿度进行监测。
由于DHT11是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。
DHT11有严格的通信协议来保证各位数据传输的正确性和完整性。
读取DHT11温湿度程序如下,软件流程图如图4-1所示。
voidCOM(void)
{
U8i;
for(i=0;i<8;i++)
{
U8FLAG=2;
while((!
PORTK_PK7)&&U8FLAG++);
delay_us(40);
U8temp=0;
if(PORTK_PK7)U8temp=1;
U8FLAG=2;
while((PORTK_PK7)&&U8FLAG++);//超时则跳出for循环
if(U8FLAG==1)break;//判断数据位是0还是1
U8comdata<<=1;
U8comdata|=U8temp;
}
}
图4-1读取温度程序流程图
4.1.2空气质量数据采集
本设计利用空气质量传感器对可燃气体浓度信号进行监测并且转变成电压信号,然后与设定的电压信号进行比较,当气体浓度超过设定值时输出电压信号至单片机的PA6引脚,使单片机立刻发送危险气体浓度过高信息给主控制器。
空气质量检测程序流程图如图4-2所示:
图4-2空气质量检测程序流程图
4.1.3小车电池电量采集
小车电量的采集主要利用单片机的A/D来实现的。
程序如下,电量采集流程图如图4-3所示。
voidcheck_battery(void){
while(!
ATD0STAT2_CCF0);//等待转换结束
if(ATD0STAT2_CCF0==1)
{
data_feedback[1]=ATD0DR0L;//取值
}
}
图4-3危险气体质量报警程序流程图
4.1.4小车周围障碍物信息数据采集
整个系统有5个红外传感器用于检测小车周围的路况信息。
五个传感器分别安置于车头和车尾。
当5个中有一个检测到有障碍物时,小车会立刻向控制者发送报警信息,并将障碍物的位置也一起发送,便于控制者控制小车躲开障碍物。
路况检测程序流程图如图4-4所示。
图4-4小车周围障碍物检测程序流程图
4.1.5小车速度数据采集
为了方便控制者实时了解小车的速度信息,便于控制,本系统选用测速精度高的旋转编码器来对小车的速度进行测量,程序如下。
/---------实时时钟初始化---------------------/
voidRtiInit(void){
RTICTL=0X00;
CRGINT|=0x80;
}
/---------脉冲累加初始化---------------------/
voidPACInit(void){
PACTL=0X50;
PACNTL=0x00;
}
/---------实时中断--------------------/
#pragmaCODE_SEG__NEAR_SEGNON_BANKED
voidinterrupt7Rti_interrupt(void){
speed_cnt=PACNTL;//计数寄存器
sign=1;
CRGFLG|=0X80;//Write1toclearRTIFbit
RTICTL=0x00;
}
#pragmaCODE_SEGDEFAULT
/--------------------开启实时中断读取速度数据--------------------/
voidread_speed(void){
PACNTL=0x00;
sign=0;//初始化标志位
RTICTL=0xBF;//初定10MS实时时钟
}
4.2人机接口模块软件设计与实现
本设计采用金鹏公司OCMJ(奥可拉中文集成模块)C系列液晶作为人机显示模块,主要显示系统工作状态、家居环境参数和设定工作模式及参数,其管脚功能如表4-1所示。
表4-1OCMJ管脚功能
管脚号
管脚名
功能
1
VSS
GND(地)
2
VDD
SupplyVoltageForLogic(+5V)
3
VO
SupplyVoltageForLCD(悬空)
4
RS(CS)
H:
DATAL:
InstructionCode(chipenableforserialmode)
5
R/W(STD)
H,Read;L,Write(serialdataforserialmode)
6
E(SCLK)
EnableSignal,高电平有效(serialclock)
7~14
DB0~DB7
数据端口
15
PSB
H,ParallelMode;L,SerialMode
16
NC
空脚
17
RST
ResetSignal,低电平有效
18
NC
空脚
19
LEDA
背光源正极(+5V)
20
LEDK
背光源负极(0V)
单片机与液晶的接口有并行与串行两种,由于应用并行接口将占用单片机较多的I/O资源,因此在本系统中液晶与单片机之间的数据传输通过串行接口实现。
单片机与液晶的连接图如图4-5所示。
图4-5单片机与液晶连接图
液晶的串行传输信号如图4-6所示。
图4-6串口通信时序图
4.3驱动电机软件设计与实现
小车速度的控制采用PWM调速的方式,当控制者发送改变速度的指令时,被控小车根据修改值改变小车速度。
具体程序如下,软件流程图如图4-7所示。
voidPWMInit(){
PWME=0X00;//关闭PWM
PWMCTL=0XD0;//级联67通道级联45级联
PWMPRCLK=0X11;//ClockA=ClockB=Bus/2=40M
PWMCLK=0xFF;
PWMSCLA=8;
PWMSCLB=8;
PWMPOL=0XFF;//起始为高电平
PWMCAE=0x00;//左对齐方式
/***************************转向舵机部分*****************************/
PWMPER45=50000;
PWMDTY45=3559;
/*******************摄像头垂直转动舵机部分************************/
PWMPER01=50000;
PWMDTY01=3200;
/*****************摄像头水平转动舵机部分********************/
PWMPER67=50000;
PWMDTY67=3100;
/***************************电机部分**************************/
PWMPER3=250;
PWMDTY3=70;
PWMPER2=250;
PWMDTY2=10;
PWME=0XAE;
}
图4-7驱动电机软件流程图
4.4无线通信模块设计与实现
本设计选择SRW1012无线传输模块来实现主机与被控小车之间的通讯,系统主机软件流程图如图4-8所示,被控小车软件流程图如图4-9所示。
图4-8主控制器软件流程图图4-9被控小车软件流程图
5系统测试及结论
软件调试环境主要包括几个部分:
PC、串口调试助手、ICCAVR集成开发环境,Codewarrior开发环境、程序下载器等。
在设计的电路图基础上,采取先静态后动态,先部分后整体的调试方法,进行了各个模块的测试,包括显示模块调试、温湿度检测模块调试和SRW1012通信模块调试。
本设计以ATmega16单片机和Freescale公司的MC9S12XS128单片机作为控制核心,合理选用传感器检测元件、通信方式、驱动芯片及视频采集模块,较好地完成了空气质量检测、温湿度检测、视频采集等功能,从而完成了基于视觉的危险环境探测小车的设计与实现。
实物图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 视觉 危险 环境 探测 小车 研究 设计 摘要