刘博 霍家亮
摘要:本文介绍了一款基于红外遥控技术与单片机控制技术的遥控温度检测报警小车的设计。采用C语言编程控制单片机核心,设计和完成了能够遥控测温并在显示器上实时显示温度的小车。文章阐述了项目背景、模块设计、业务流程以及模块功能实现的分析;经测试达到功能目的,配合相关的电路设计图,可做为在校学生的实践项目进行使用。
关键词:单片机 无线遥控 温度检测小车
现代信息技术的三大基础是信息采集(即传感器技术)、信息传输(通信技术)和信息处理(计算机技术)。传感器属于信息技术的前沿尖端产品,尤其是温度传感器被广泛用,数量高居各种传感器之首。数字温度传感器可以直接将被检测的温度信息以数字化形式输出,而单片机微处理器越来越丰富的外围功能模块,更加方便了数字式温度传感器输出信号的处理。将单片机控制的小车和数字温度传感器结合起来,形成一个遥控的实时测温平台,对于在学院学习单片机控制专业课的学生来讲是一个好的研究项目。
1 总体设计思路及分析
本设计主要包括以下部分:主控制器STC89C52,红外收发,温度采集与显示,蜂鸣器报警,红外遥控,小车装置。为求的系统的稳定,且有较大的灵活性,其中温度采集采用高精度的数字温度传感器DS18B20,蜂鸣器进行报警,实测温度值通过数码管显示。同时为增加系统绝对可控性,自动化性,红外遥控发射遥控小车做大范围的测控无人化测控。如图1所示。
2 项目实现
2.1 单片机控制模块。STC89C52控制器是增强型的51微型控制器,本系统的软件程序用C语言编写,主要分为主程序,外部中断解码子程序,定时器1中断程序,显示子程序,小车行进子程序。主程序完成系统的硬件初始化,子程序调用的功能。关于定时器和外部中断初始化的部分设置如下:
TMOD=0x02;
TH0=0x00;
TL0=0x00;
EA=1;
ET0=1;
TR0=1;
IT0=1;
EX0=1;
......
2.2 温度检测模块。温度报警器采用DALLAS公司生产的单线数字温度传感器DS18B20,可以把温度信号直接转换成串行数字信号供微机处理;其测温范围-55℃~+125℃,可实现高精度测温在9位分辨率时最多在93.75ms内把温度转换为数字,且硬件电路十分简单。
本测温系统只有一个从机DS18B20,所以进行温度转换时先初始化,然后直接向ds18B20发温度转换命令进行温度转换,其过程如下所示:①初始化DS18B20:init();②紧接着发送温度转化指令write_byte(0xcc);write_byte(0x44);③再次初始化温感init();④发送温度读取指令write_byte(0xcc) ;write_byte(0xbe);⑤定义一个整形或字符型内存变量接受温度数据的高低位low=read_byte() ;high=read_byte();⑥合并温度数据的高低位使温度数据的二进制表示,转化后可得十进制温度。
2.3 红外遥控模块。TC9012作为红外遥控器控制核心,遥控编码脉冲信号是由引导码、系统码、系统反码、功能码、功能反码等信号组成。以PPM码(脉冲位置调制码)对红外数据调制在38KHz的载波上对外进行发射信号。
HS1838是用于红外遥控接收的小型一体化接收头,集成红外线的接收、放大、解调,不需要任何外接元件,就能完成从红外线接收到输出与TTL电平信号兼容的所有工作,而体积和普通的塑封三极管大小一样,它适合于各种红外线遥控和红外线数据传输,中心频率38.0kHz。
2.4 小车电机驱动模块。L9110直流电机的驱动芯片是为控制和驱动电机设计的两通道推挽式功率放大专用集成电路器件,将分立电路集成在单片IC 之中,使外围器件成本降低,整机可靠性提高。
Cargo()子程序完成从主程序接受从遥控器传递的参数,实现对应的小车控制操作:
void cargo(uchar right1,uchar right2,uchar left1 ,uchar left2)
{
youdj1=right1 ;
youdj2=right2 ;
zuodj1=left1 ;
zuodj2=left2 ;
}
其中youdj1,youdj2,zuodj1,zuodj2对应单片机P10,P11,P12,P13端口,对应的电机端分别是右电机负极,右电机正极,左电机正极,左电机负极。
传递参数对应小车控制为:
cargo(0,1,1,0) 左右电机全部正转,小车前进
cargo(0,0,1,0) 左电机停止,右电机正转,小车左拐
cargo(0,1,0,0) 右电机停止,左电机正转,小车右拐
cargo(0,1,1,0) 左右电机全部反转,小车后退
cargo(0,0,0,0) 左右电机全部停止,小车停止
3 结束语
设计采用STC89C52单片机作为控制器,使用C语言编写相关程序,调试完成了无线小车自动测温功能。电源部分应用轻便的锂电池材料使得动力得到保障,由于红外遥控下的电机灵敏度略低,故在小车行进控制上略显不足,后期将主要改进小车温度远程传送的问题,总体上满足在校大学生初级阶段的学习需要。
参考文献:
[1]吴健,侯文,郑宾.基于STC89C52单片机的温度控制系统[J]. 电脑知识与技术,2011(04).
[2]周鹏.基于STC89C52单片机的多功能测温仪设计[J].微型机与应用,2013(01).
[3]周鹏.基于STC89C52单片机的温度检测系统设计[J].现代电子技术,2012(22).