当前位置:文档之家› 基于单片机的恒温箱控制器的设计

基于单片机的恒温箱控制器的设计

唐山学院测控系统原理课程设计题目恒温箱控制器的设计系 (部) 机电工程系班级姓名学号指导教师2014 年 03 月 02 日至 03 月 13 日共两周2014年 03 月 13 日测控系统原理课程设计任务书课程设计成绩评定表目录摘要 (1)一.系统的硬件设计 (2)1.恒温箱控制系统框图 (2)2.微处理器AT89C52 (2)3.温度传感器 (3)4.显示部分 (4)5.键盘输入电路 (5)6.输出控制 (5)7.温度越线报警电路 (6)二.系统的软件设计 (7)1.温度传感器模块软件设计 (7)2.键盘管理模块 (7)3.显示模块 (8)4.控制模块 (8)5.温度报警模块 (9)三.PID控制算法 (10)1.PID的数学模型 (10)2.PID控制规律的离散化 (10)四.设计总结 (11)五.参考文献 (12)附录1元件清单 (13)附录2硬件电路图 (14)附录3程序清单 (15)摘要随着社会发展的需求,人们对恒温箱的应用和需求越来越广泛,在工业生产和日常生活或科学实验中,我们随处都可以看到恒温箱的应用。

如,可以根据动物生活习性的需要控制饲养棚合适的温度来进行孵卵或动物培养;在农业上,可用于种子的发芽;在医学上,可用于做细菌培养、放射免疫分析、血清溶化、石腊熔化、试管消毒等。

常用的恒温箱主要分为三类:高温恒温箱(高于60℃);中温恒温箱(-10~60℃);低温恒温箱(低于-1O℃)。

恒温箱的温度控制系统可分为人工调节和自动调节两种方式,人工调节是通过温度计进行测量后手动调节变压器,从而控制产生热量的大小;而自动调节往往通过热电偶传感器进行测温,输出电压值,经放大后加到电机上驱动电机来调节变压器,其优点是可以连续、实时、准确的来控制温度。

基于单片机技术的温控器和可编程温度传感器相结合使用是目前恒温箱温度控制较为先进的一种方式。

单片机是一种集CPU、RAM、ROM、I/O接口和中断系统等部分于一体的器件,只需要外加电源和晶振就可实现对数字信息的处理和控制。

如果能利用单片机进行温度的测量和控制,将会大大提高温度测量和控制的可靠性和灵活性。

单片机对温度测量控制过程是借助于传感器、A/D转换器以及扩展接口和执行机构来进行的。

在闭环型过程控制中,过程的实时参数由传感器和A/D转换器来实时采集,并由单片机自动记录、处理并控制执行机构动作来进行调节和控制。

关键词:恒温箱,单片机,AT89C52,A/D转换,温度传感器,DS18B20一.系统的硬件设计1.恒温箱控制系统框图根据上面对工作流程的分析,系统可以分为以下几个功能模块:(1) 键盘管理:监测键盘输入,接收温度预置,启动系统工作。

(2) 显示:显示设置温度及当前温度。

(3) 温度检测及温度值变换(4) 温度控制:根据检测到的温度控制电炉工作。

(5) 报警:当预置温度或当前炉温越限时报警。

根据恒温箱控制器的功能要求,并结合对51系列单片机软件编程自由度大,可用编程实现各种控制算法和逻辑控制。

所以采用AT89C52作为电路系统的控制核心。

按键将设置好的温度值传给单片机,通过温度显示模块显示出来。

初始温度设置好后,单片机开启输出控制模块,使电热器开始加热,同时将从数字温度传感器DS18B20测量到的温度值实时的显示出来,当加热到设定温度值时,单片机控制声光报警模块,发出声光报警,同时关闭加热器。

当自然冷却到设定温度50摄氏度以下时,单片机再次启动加热器,如此循环反复,以达到恒温控制的目的。

2.微处理器AT89C52AT89C52单片机是一种低功耗、高性能内含8K字节闪电存储器的8位CMOS 微控制器,与工业标准MCS—51指令系列和引脚完全兼容有超强的加密功能,其片内闪电存储器的编程与擦除完全用电实现,数据不易挥发,编程/擦除速度快。

如图所示:AT89C52的引脚结构它的主要特点有:(1)内部程序存储器为电擦除可编程只读存储器EEPROM,容量8KB,内部数据存储器容量256B(不包括专用寄存器),外部数据存储器寻址空间64KB,外部程序存储器寻址空间64KB;(2)有三个16位的定时器/计数器;(3)可利用两根I/O口线作为全双工的串行口,有四种工作方式,可通过编程选定;(4)内部ROM中开辟了四个通用工作寄存器区,共32个通用寄存器,以适应多种中断或子程序嵌套的情况;(5)内部有6个中断源,分为二个优先级,每个中断源优先级是可编程的;(6)堆栈位置是可编程的,堆栈深度可达128字节;3.温度传感器采用数字温度传感器DS18B20,DS18B20提供九位温度读数,测量范围-55℃~125℃,采用独特1-WIRE 总线协议,只需一根口线即实现与MCU 的双向通讯,具有连接简单,高精度,高可靠性等特点。

并且,DS18B20支持一主多从,若想实现多点测温,可方便扩展。

DS18B20的特点:(1)独特的单线接口方式,与单片机通信只需一个引脚,DS18B20与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。

(2)在使用中不需要任何外围元件。

(3)可用数据线供电,电压范围:+3.0~+5.5 V。

(4)测温范围为-55~+125 ℃。

在-10~+85℃范围内误差为0.5 ℃。

(5)通过编程可实现9~12位的数字读数方式。

(6)用户可自设定非易失性的报警上下限值。

(7)支持多点组网功能,通过识别芯片各自唯一的产品序列号从而实现单线多挂接,多个DS18B20可以并联在唯一的线上,简化了分布式温度检测的应用,实现多点测温。

(8)负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。

(3)DS18B20在电路中的连接,见图:DS18B20测温电路4.显示部分显示采用 3 位共阳LED 动态显示方式,显示内容有温度值的十位、个位及小数点后一位。

用P2 口作为段控码输出,并用74ls164 作驱动。

P0.0—P0.2作为位控码输出,用PNP型三极管做驱动。

如下图所示:显示部分5.键盘输入电路键盘设定:用于温度设定。

共三个按键。

KEY1(P1.1): 状态切换;温度设置确认;温度重新设置。

KEY2(P1.2): 设置温度“+”。

KEY3(P1.3): 设置温度“-”。

如图所示:键盘输入电路6.输出控制采用光电藕合器,控制信号与输出信号可以很好的隔离,增强了系统的安全性和抗干扰能力。

输出控制电路,MOC3021内部带有过零控制电路,MOC3021输出端额定电压为400V。

加热电路中采用MOC3021的目的有两个:其一是实现强电与弱电的隔离;其二是实现双向可控硅的过零触发,从而使流过双向可控硅的电流波形为正弦波,减少谐波。

电路连接如图所示,其在电路中的工作原理是单片机根据传感器和设定开关输入的控制指令,控制电器的电源通断。

SW1为双向开关,其最大通态电流为1A。

当电源控制电路的输出管脚P1.6送出的开关控制指令为高电平,MOC3021截止,Q2截止,电器被关闭;当电源控制电路的输出管脚P1.6送出的开关控制指令为低电平,MOC3041导通,Q2导通,电器被打开。

通过MOC3021内部的过零触发电路,保证Q2在电压过零时导通和截止,对供电系统干扰极小。

R6和C6是Q2的保护电路。

如下图:光耦控制输出电路7.温度越线报警电路报警电路如图所示,该电路采用一个小功率三极管Q2驱动蜂鸣器,当单片机接收到超额温度信号或危险信号时,输出脚P1.7输出高点平,Q2导通,致使蜂鸣器得电工作,发出报警声。

同时,电路中的发光二极管指示出电路的工作状态。

报警电路二.系统的软件设计1.温度传感器模块软件设计对DS18B20操作时,首先要将它复位。

复位时,DQ线被拉为低电平,时间为480~960us;接着将数据线拉为高电平,时间为15~60us;最后DS18B20发出60~240us的低电平作为应答信号,这时主机才能进行读写操作。

进行写操作时,将数据线从高电平拉至低电平,产生写起始信号。

从DQ线的下降沿起计时,在15us到60us这段时间内对数据线进行检测,如数据线为高电平则写1;若为低电平,则写0,完成了一个写周期。

在开始另一个写周期前,必须有1us以上的高电平恢复期。

每个写周期必须要进行写操作时,将数据线从高电平拉至低电平,产生写起始信号。

从DQ线的下降沿起计时,在15us到60us这段时间内对数据线进行检测,如数据线为高电平则写1;若为低电平,则写0,完成了一个写周期。

温度转换读取温度数值程序流程如下图所示。

温度转换读取温度数值程序流程2.键盘管理模块键盘管理子程序流程如图所示:当通电或复位以后,系统进入键盘管理状态,单片机只接收设定温度和启动。

当检测到有键闭合时先去除抖动,这里采用软件延时的方法,延时一段时间后,再确定是否有键闭合,然后将设定好的值送入预置温度数据区,并调用温度合法检测报警程序,当设定温度超过最大值如100℃时就会报警,最后当启动键闭合时启动加热。

键盘设定:用于温度设定。

共三个按键。

KEY1(P1.1): 状态切换;温度设置确认;温度重新设置。

KEY2(P1.2): 设置温度“+”。

KEY3(P1.3): 设置温度“-”。

系统上电后,数码管全部显示为零,根据按 KEY1 次数,决定显示的状态,根据相应的状态,利用KEY2、KEY3进行加减,当温度设定好之后,再按KEY1确定,系统开始测温,启加热器。

3.显示模块显示子程序的功能是将缓冲区的二进制数据先转换成3个BCD码,再将其分别存入百位、十位、个位3个显示缓冲区,送往串行口,利用单片机的P0口进行扫描,让数据动态的显示出来,可显示设置温度和测量温度。

4.控制模块温度控制子程序流程如图所示,将当前温度与设定好的温度比较,若当前温度小于设定温度时,开启电热器;若当前温度大于设定温度时,关闭电热器;若二者相等时,电热器保持这一状态。

5.温度报警模块报警子程序流程如图所示。

根据设计要求,当检测到当前温度值高于设定温度值1℃时报警,报警的同时关闭电热器。

为了防止误报,设置了报警允许标志,只有在允许报警的情况下,温度值高于设定温度值时才报警。

三.PID 控制算法1.PID 的数学模型PID 控制是一种比较成熟的控制理论,它通过比例、积分、微分三部分的合理组合可以用比较简单的方法获得令人满意的控制效果。

PID 的数学模型如图表示:PID 数学模型给定值R(t)与实际值Y(t)构成控制误差:E (t )=R (t )-Y (t ) 式2-1 PID 控制器根据E(t)将误差的比例(P)、积分(I)、和微分(D)通过线性组合构成控制量,对受控对象进行控制,其控制规律如式2所示:U(t)=K P [e(t)+()1()td iT de t E t dt T dt+⎰] 式2-2 U(t)——控制器输出函数;E(t)——控制器误差函数; K P ——比例系数;T i ——积分时间常数;T d ——微分时间常数。

相关主题