作者:南阳理工学院 张波 王康 杨柳
指导老师:朱清慧 薛晓
作品简介:
开发环境:红外遥控检测小车以人体不能正常进入的危险环境为背景(如毒气、火灾现场)。用遥控小车来进入并进行实时的检测(如寻找火源)。也可以用于对当先环境的检测和对障碍物的距离测量。
结构说明:小车以最新版的IAP15F2K61S2作为主芯片,用来产生驱动小车电机正反转的两路PWM波,同时搭载电机驱动模块,以实现小车的正常运行。以STC12C5A60S2为辅助芯片,用以控制舵机的转动方向。在此基础上,利用红外遥控器对红外接收头发出红外信号,以此来控制小车的运行。为了是红外接收的范围变得广泛,我们安装了三个方向的红外接收头,更无误的全方位控制小车的运行。在以遥控小车为载体的基础上,我们利用IAP15F2K61S2芯片搭载了18B20温度传感器用以对小车所运行地方的温度作检测。若温度超过了设定的范围,小车的报警系统就会发出警报用以表示当前温度到达到了一定的限度。小车同时还装有超声波传感器,用以检测小车当前离障碍物的距离。并且当前的温度和当前的距离,都在小车上用NOKIA5110液晶显示屏显示出来,操控者只要看着小车就可以知道当前小车离障碍物的距离,用以做出相应的判断和超控。
功能与使用说明:本作品以遥控小车作为载体,用于对环境进行监测、障碍物距离测量、温控警报等多功能应用场景。
利用红外遥控器上的按键对准小车的红外接收头,发出相应的控制信号。
作品特色:流动性前,克服固定性的检测工具。人工控制,易于控制。功能多样,既能准确检测距离,检测温度,同时还能对温度过高时发出警报。环保经济,低污染。
平台选型说明:
以STC公司的IAP15F2K61S2单片机为核心芯片控制遥控小车的运行,在此芯片上外围拓展温度传感器,超声波传感器等检测传感器模块,以此来实现小车的遥控运行、对环境的检测和温度报警器对温度阈值的报警。
设计说明:
设计原理:
根据题目要求,本作品采用STC公司新发行的IAP15F2K61S2芯片为主要设计芯片,同时还用到STC公司的STC12C5A60S2芯片作为辅助设计。首先是在IAP15F2K61S2芯片中产生两路PWM波,通过一个电机驱动模块,接在小车的电机上。然后在用红外遥控器控制PWM波的产生和停止从而控制小车的前行、倒退以及停止。并且,在小车前行和倒退的过程中通过调节占空比的大小来控制小车运行的速度。通过控制STC12C5A61S2芯片来控制舵机的方向。在以小车为载体的基础上,作品还设计了对环境的检测和处理。其中以18B20温度传感器为温度的测量仪器。超声波传感器为距离测量仪器。蜂鸣器为报警仪器。三个仪器共同检测环境的变换,做出相应的响应。
IAP15F2K61S2芯片:IAP15F2K61S2是STC公司生产的单时钟/机器周期为1T的单片机,是高速、高可靠、低功耗、超强抗干扰的新一代8051单片机。全兼容传统的8051,速度要快8-12倍。内部集成高精度R/C时钟。3路PWM波输出。在系统可编程、在应用可编程,无需编程器,无需仿真器。自身就是一个仿真器。共6个定时器,3个16位可重装载定时器,均可独立实现对外可编程时钟输出。IAP15F2K61S2支持仿真功能,即芯片本身就是仿真器,和芯片是一体的。没有专门的EEPROM,但可在用户程序区修改用户程序。在IAP15F2K61S2板子上还加有自动冷启动功能。在遥控小车上,我们用红外的RF信号端接到芯片的P3^2口也就是外部中断0的接口,用以接收红外信号。芯片在没有哦接收到红外信号时,是没有PWM波产生的。当有前进启动按键按下时,P1^1口就会有PWM波产生。同样,当有后退启动按键按下时,P1^0口就会有PWM波产生。再通过电机驱动模块,从而驱动电机的转动。
STC12C5A60S2:此芯片只是一个辅助芯片,用以控制舵机的转动,从而控制方向。同样,舵机的控制也是需要红外接收和红外遥控器的操控。把红外的RF信号端用跳线接到STC12C5A60S2芯片的P3^2口,以此来产生中断信号,单片机来响应。舵机的控制就是脉冲的控制。我们用芯片的P1^2来产生相应的脉冲信号,接到舵机的信号控制端从而控制舵机的转动。
电机驱动:作品采用的电机驱动模块是两路控制。其中IN1,IN2是PWM波信号的输入端,OUT1,OUT2是信号输出端。将OUT1,OUT2接到电机的两端,从而控制电机的转动。电机驱动模块本应该用12V的电压供电,这里我们采用8V电压的电池给电机驱动模块供电。也可以驱动电机的转动。
红外接收模块:此模块是作品的核心,小车的运行全靠此模块的连接。我们采用VS183B红外接收头,对红外遥控器的红外信号进行接收。同时红外接收头的外围电路,我们用5V的电源给红外接收头供电,用一个100欧姆的上拉电阻接在红外接收头电源端,同时在红外接收头的电源端和地端,我们接一个0.1uf的电容,与上拉电阻构成滤波回路。由于5V电源中的信号会有许多的干扰信号产生,因此我们想用一个滤波回路简单的滤掉电源中的一个信号,使红外信号更加稳定的接收。最后我们再将红外接收头的信号端RF分别接到IAP15F2K61S2和STC12C5A60S2的P3^2端口,即外部中断0的接收端。为了多方位的,准确的控制红外小车的运行,我们将三个红外接收头并联组成多方位的接收方向。使小车接收红外信号更加的精准。
温度传感器:我们用DS18B20温度传感器来探测温度。DS18B20温度传感器一共有三个端口,电源端、地端、信号端。18B20采用全数字温度转换及输出。先进的单总线数据通信。高分辨率,高精度。寄生工作方式可供选择。测量温度范围广等优点。我们将电源端供5V电压,与单片机共地。将信号端接入IAP15F2K61S2单片机的P0^5口。通过软件程序探测信号端口的数据传输,然后处理探测到的数据,从而在Nokia5110液晶屏上显示出来。与此同时,我们还设计了一个蜂鸣器报警装置。当18B20感知的温度超过我们设定的阈值温度时,蜂鸣器就会报警警示当前的温度。其中蜂鸣器有两个端口,一端接高电平,一端接低电平。在这里我们用的是无源蜂鸣器。由于I/O口的驱动能力较低。因为,我们将蜂鸣器的一端接至5V点源端,一端接至P0^7口。只要温度超过了设定的范围,P0^7口就会给出低电平,使蜂鸣器报警。起到警示的作用。
超声波传感器:作品使用超声波传感器来测量小车到障碍物的距离。我们使用的是US-100超声波传感器模块。US-100 超声波测距模块可实现2cm~4.5m 的非接触测距功能,拥有2.4~5.5V 的宽电压输入范围,静态功耗低于2mA,自带温度传感器对测距结果进行校正,同时具有GPIO,串口等多种通信方式,内带看门狗,工作稳定可靠。此模块超声波有四个端口供我们使用。电源端,地端,TX端,RX端。在使用时,我们将TX端,RX端在程序中定义好端口,TX端为P2^4口,RX端为P2^5口。在模块上电前,首先去掉模式选择跳线上的跳线帽,使模块处于电平触发模式。然后在TX管脚输入一个10us以上的高电平,系统便会发出8个40KHZ的超声波脉冲,此时RX管脚会被置低,这时就开始用软件计数。然后检测回波信号。当检测到回波信号后,RX端管脚会被拉高,这时应该用软件停止计数。模块还要进行温度值的测量,然后根据当前温度对测距结果进行校正,将校正后的结果通过RX管脚输出。在此模式下,模块将距离值转化为340m/s时的时间值的2倍,通过计算时间值计算出距离值。这时因为距离值已经经过温度校正,此时无需再根据环境温度对超声波声速进行校正,即不管温度多少,声速都应该选择340m/s即可。当检测到当前的温度,在将温度值用液晶显示出来。完成超声波传感器测距的功能。
Nokia5110液晶显示屏:这里我们的作品用Nokia5110液晶显示屏用来显示温度值和距离值。Nokia5110液晶显示屏共有8个管脚。我们将电源端供上3.3V的电压,将其和单片机共地。同时用IAP15F2K61S2单片机的P3^3-P3^7来定义液晶屏的其余管脚。Nokia5110液晶显示屏有接口简单,速度快,工作电压低等诸多优点。在我们的作品中我们用5110液晶屏显示“当前的温度:”和“当前的距离:”两项显示。使温度值和距离值清晰可见。
设计方案:
本作品采用IAP15F2K61S2芯片设计出一个红外遥控环境检测小车。由于IAP15F2K61S2芯片的诸多优点。我们在设计方面也可以得心应手。其中我们用到了芯片2路PWM波来驱动电机的转动从而带动小车。外部中断0和定时器0来接收红外信号,从而控制电机转动方向,电机转动的快慢以及舵机转动的方向。用串口中断和定时器1来发送当前检测到的温度值,从而可以在PC机上。接受到当前的温度值。并且还用到定时器2来使超声波传感器探测到障碍物的距离。定时器2的16位自动重装模式计时超声波从发出到接收的时间,来计算出探测到的距离。用IAP5F2K61S2控制小车的运行搭载传感器模块来测量环境。完美的实现了人控小车,移动环境检测的功能,克服了常规的固定式传感器的探测方式。我们用遥控小车这种移动方式很好的实现了人为控制环境检测系统更能去探测一些人体无法到达的地方。
此文档的相关视频来自:http://v.eepw.com.cn/video/play/id/13427