基于单片机的温度控制系统设计

时间:2022-10-24 18:20:02 来源:网友投稿

【摘要】介绍了基于单片机的温度控制系统设计思路,对一个小型鸡蛋孵化箱的温度控制系统进行软硬件设计,仿真结果符合设计要求。

【关键词】温度控制系统;单片机;鸡蛋孵化箱

温度的测量与控制,是现代工业控制中最常碰到的问题之一。随着电子技术的飞速发展,特别是大规模集成电路单片机的产生,使工业温度控制进入了自动化的时代。使用单片机对温度进行测控具有控制方便和灵活性大等优点,可以大幅度提高被控温度的技术指标。本文主要介绍一个小型鸡蛋孵化箱的温度控制系统,该系统能够在设定的温度范围类进行自动调节,具有高度自动化且人为可控。

1.设计方案及论证

本设计的整体思路是:利用DS18B20温度传感器直接输出数字温度信号给单片机AT89S51进行处理,在LCD1602屏幕上显示当前环境温度值以及预设温度值。再根据当前设定的温度上下限值,通过对半导体制冷元件的正接或反接来实现温度的调整。当采集的温度经处理后超过设定温度的上限时,单片机通过三极管驱动继电器导通进而正接半导体制冷元件从而降低孵化箱环境温度。当采集的温度经处理后低于设定温度的下时,单片机通过三极管驱动继电器反接半导体制冷元件,从而升高环境温度。当由于环境温度变化太剧烈或由于加热或降温设备出现故障,或者温度传感头出现故障导致在一段时间内不能将环境温度调整到规定的温度限内的时候,单片机通过三极管驱动扬声器发出警笛声。本系统可预置多个时段的温度值,由非易失性存储器24C02存储温度预置值。

针对孵化室的具体应用场景,结合单片机应用系统集成度高的特点,采用反馈—响应的基本设计思路进行具体的方案分析。

孵化室的温度数据采集采用集成的温度传感器DS18B20,其独特的一线接口通信简化了分布式温度传感应用。DS18B20可用数据总线供电,电压范围为3.0V至5.5V无需备用电源 测量温度范围为-55℃至+125℃。范围内精度为±0.5℃本次设计采用多个DS18B20并联在唯一的三线上,来达到多点组网的功能,实现温度的分布式监视。

对采集到的孵化室温度数据的分析,是根据预置的温度值来进行决策的:系统中的MCU程序会对采集到的温度进行判断,若温度超过预置的孵化室标准温度上限值,那么单片机会发送降低温度的控制信号到温控电路,让温度下降;若温度超过预置的孵化室标准温度下限值,那么单片机会发送升高温度的控制信号到温控电路,让温度上升。根据孵化的不同时期需要的不同温度来调节孵化箱的温度,已达到更高的孵化效率。

本次设计考虑使用一个半导体制冷模块(具体型号为TEC1),半导体制冷器件有两种功能,既能制冷,又能加热,因此使用一个器件就可以代替分立的加热系统和制冷系统。半导体制冷器是电流换能型器件,通过输入电流的控制,可以实现高精度的温度控制,半导体制冷器的温差范围,从正温90℃到负温130℃都可以实现。以正接制冷反接制热的方式来实现孵化箱内的温度的实现,这个正反方向的连接可用差动电路或者继电器来实现。半导体制冷器件也叫温差制冷器件,它是依据珀尔贴效应为基础的一种制冷技术,它的散热吸热工作原理是:当把N型和P型半导体元件联接成电偶对并在两块半导体上通上直流电时,如图所示,点偶对的一端就会吸热逐渐变冷,另一端会放热,这放热一端称为热端。

2.具体模块设计

本系统主要包括DS18B20数字温度传感器、LCD1602液晶显示器、AT89S51单片机、键盘等部件。

2.1 DS18B20测温原理

DS18B20测温原理是通过计数时钟周期来实现的,低温系数振荡器输出的时钟信号通过由高温度系数振荡产生的门周期而被计数。DS18B20初始化时预置了-55℃对应位基数值,将对低温系数振荡器输出脉冲减数,A等于0时会重置,温度寄存器的值加1。如此循环,直到减数计数器B的值为0,温度寄存器的值将停止累加,此时温度寄存器中存放的值就是测量到的环境温度的数码。只需将其读出即可。DS18B20的单总线接口,仅使用复用的一根数据线与主机通信,使用DS18B20的一般步骤为:初始化DS18B20—跳过ROM操作—启动温度转换—等待转化完成—再次初始化—跳过ROM操作—读取温度寄存器的值。DS18B20在使用时,一般都采用单片机来实现数据采集。只须将DS18B20信号线与单片机1位I/O线相连,且单片机的1位I/O线可挂接多个DS18B20,就可实现单点或多点温度检测。

2.2 半导体制冷电路

系统启动后,检测一旦超过预置的适宜孵化的温度,半导体制冷片驱动电路会接受MCU的控制信号,这个控制信号决定的是温度调节是该升温还是降温。该信号控制光耦的导通,来改变半导体制冷片TEC1的正接和反接,从而调节温度,使温度保持在合理范围。

2.3 DS18B20温度格式转换

DS18B20温度寄存器中存放的温度值格式是以16位符号扩展的二进制补码形式提供的,以0.0625C/LSB形式表达,其中S是符号位。获得12位温度编码的程序如下。

//温度转换

unsigned int DS18B20_Retem(void) {

uchar a=0;

uchar b=0;

unsigned int t=0;

DS18B20_Ini();

DS18B20_Wridir(0xcc);//跳过ROM

DS18B20_Wridir(0x44);//启动温度转换

DS18B20_Ini();

DS18B20_Wridir(0xcc);

DS18B20_Wridir(0xbe);

a= DS18B20_Reodir(); //读取低8位

b= DS18B20_Reodir(); //读取高8位

t=b;

t<<=8;

t=t|a;

return(t);//返回12位数据

}

2.4 温度预置

孵化室中的温度是孵化最重要的条件,所以有规(下转第286页)(上接第189页)律的控制孵化箱内的温度,才能获得高孵化率和优质雏。我们把鸡的21天孵化期分为两个阶段:1到19天孵化箱内的温度应该在37.8℃,19到21天孵化箱内的温度应该在37~37.5℃。通过对温度的预置,可以事先知道孵化室的最佳温度,再与采集的实时温度数据比对,可以自动对环境温度进行调节。

3.仿真测试

本系统可通过Proteus软件仿真运行,系统采集的当前孵化室温度为20.0摄氏度,时间为21:30分39秒,孵化室温度指标为Norm,即正常温度。系统采集的当前孵化室温度为33.0摄氏度,时间为21:30分06秒,孵化室温度指标为Warn,即预警温度,,MCU会发出控制信号给报警电路和温度控制电路。

4.结束语

利用单片机处理能力强,运行速度快等优点,对温度进行实时的监测和控制,通过数字温度传感器采集温度环境,对各种信号处理,然后实现对温度的控制,这将极大地提高了工业企业的自动化程度和技术水平。[科]

【参考文献】

[1]陈妙芳,胡晓东.基于AT89S51单片机的温度控制系统设计.机械工程师,2009.

[2]张玉峰.基于单片机的蔬菜大棚温度控制系统设计.农机化研究,2010.

推荐访问:单片机 控制系统 温度 设计

猜你喜欢