- 收藏
- 加入书签
定型机烘箱温度控制系统设计
摘要:本文温度控制系统具有读数方便,测温范围广,测温精确,数字显示,适用范围宽等特点,可以手动设置上下报警温度的临界值,当测量温度显示不在设置范围内时,可以报警蜂鸣。本文设计的数字衬布定型机烘箱温度控制系统选用DS18B20数字温度传感器,可测温度范围为-55~125 ℃,它与单片机组成一个测温系统,具有线路简单、体积小等特点,而且一条总线可连接多个器件,可以构成一个低电压低功耗的多点数字测温系统,十分方便,也适合于恶劣环境下进行现场温度测量,有广泛的应用前景。
关键词:单片机;数字控制;温度控制;DS18B20
1引言
随着单片机技术的不断发展和电子技术的飞速发展,温度控制系统的自动化、数字化、便捷化变得非常容易实现。目单片机在日常电子产品中的应用越来越广泛,数字温度控制系统具有读数方便、测温范围宽、测温准确、灵敏度高、抗干扰能力强、性能稳定等优点。其输出温度采用数字显示,主要用于比较温度测量精度的要求。广泛用于工业测温,电子产品温度设计。
2系统总体设计
2.1电路总框图设计
采用热敏电阻-半导体作为传感器的衬布定型机烘箱温度控制系统需要A/D转换电路,但A/D转换电路工作速度慢,温度传感电路复杂。它具有温度测量范围小、变化率大、固有电阻大、延伸导线时无误差补偿等特点。然而,热敏电阻电阻值的稳定性并不理想(年变化率约为0.1%),影响了精度的提高。二是温度与电阻的关系是非线性的,变化速率是非线性的。它不适合测量高温区域。此外,在制作仪器时,需要进行线性化处理,且过程复杂。
热电偶衬布定型机烘箱温度控制系统可以在很小的范围内测量温度,具有快速的热响应、抗振动和抗冲击性能。它可以很好地测量高温区。由于热电偶直接与测量对象接触,不受中间介质的影响,测量范围宽,结构简单,使用方便[9]。然而,它具有较小的变化率,并且需要修改冷接触温度。
在单片机的电路设计中,大多采用传感器,因此可以使用温度传感器DS18B20。该传感器可以方便地直接读取被测温度值,并将其转换为满足设计要求。
衬布定型机烘箱温度控制系统电路的总体设计框图如图2.1所示。采用单片机AT89S51作为控制器,DS18B20作为温度传感器,LCD1602液晶显示管实现温度测量。整个系统的硬件电路由LCD1602显示电路、DB18B20温度传感器与单片机的接口电路、振荡电路、复位电路、电源电路和报警电路组成。
2.2电路总原理图
在图2.2中,有三个独立的键用于调整衬布定型机烘箱温度控制系统的上下限报警设置。图中的蜂鸣器可以在测量温度不在上下限时发出报警声。同时,LED数字管将不被测量的温度值显示。此时,可以调整报警器的上下限来测量测量的温度值。
在图2.2中,复位电路是上电复位加手动复位。使用方便。程序运行时,可手动复位,无需重新启动单片机电源,即可实现复位。
3系统各部分硬件电路
3.1显示电路
LCD1602液晶显示器是工业字符型液晶,能够同时显示16×02即32个字符。是一种专门显示字母、数据、符号等的点阵型液晶。每个点阵都可以显示一个字符。
3.1.1 引脚定义
LCD1602具有16个引脚。引脚示例如图3.2。
3.1.2 显示自定义字符
显示自定义字符步骤如下:
(1)先将自定义字符写入CGRAM。
LCD160内含的CGROM字符代码表中的00H~07H地址中的内容没有定义,它是用户自定义区域。用户可以向CGRAM中定义内容。在设定内容时,要逐行设定,每行对应一个CGRAM,每行5点,共8行。
(2)将CGRAM中的自定义字符传送到DDRAM中。
首先写入行地址。格式见表3.3。然后设定CGRAM数据的内容。见表3.4。
显示电路如图3.5所示。
3.2 DS18B20温度传感器与单片机的接口电路
DALLAS 最新的单线数字温度传感器DS18B20是一种新型“一线器件”,它的体积更小、更适用于多种场合,而且适用电压更宽、也更经济。其温度的测量范围为-55~+125 摄氏度,能编程为9位~12 位转换精度,0.0625摄氏度的测温分辨率,分辨率的设定参数及用户设定的报警温度会存储在EEPROM 中,掉电后依然能保存。用符号扩展的16位数字量方式串行的输出被测温度。
当DS18B20处于写存储器操作和温度A/D转换操作时,总线上必须有强的上拉,上拉开启时间最大为10us。采用寄生电源供电方式时VDD端接地。由于单线制只有一根线,因此发送接口必须是三态的。
DS18B20温度传感器的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的EERAM。高速暂存RAM的结构为8字节的存储器。头2个字节包含测得的温度信息,第3和第4字节TH和TL的拷贝,是易失的,每次上电复位时被刷新。第5个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。该字节各位的定义如表3.7所示。低5位一直为1,TM是工作模式位,用于设置DS18B20在工作模式还是在测试模式,DS18B20出厂时该位被设置为0,用户要去改动,R1和R0决定温度转换的精度位数,来设置分辨率。
由表3.6可见,DS18B20温度转换的时间比较长,而且分辨率越高,所需要的温度数据转换时间越长。因此,在实际应用中要将分辨率和转换时间权衡考虑。
当符号位S=0时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当符号位S=1时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制数值。表3.7是一部分温度值对应的二进制温度数据。
DS18B20完成温度转换后,就把测得的温度值与RAM中的TH、TL字节内容作比较。若T>TH或T<TL,则将该器件内的报警标志位置位,并对主机发出的报警搜索命令作出响应。
在64位ROM的最高有效字节中存储有循环冗余检验码(CRC)。主机ROM的前56位来计算CRC值,并和存入DS18B20的CRC值作比较,以判断主机收到的ROM数据是否正确。
DSl8B20多路测量简介:
图3.8中先有跳过ROM,即是启动所有DS18B20进行温度变换,之后通过匹配ROM 再逐一地读回每个DS18B20的温度数据。在DS18B20组成的测温系统中,主机在发出跳过ROM命令之后,再发出统一的温度转换启动码44H,就可以实现所有DS18B20的统一转换,再经过1s后,就可以用很少的时间去逐一读取。这种方式使其T值往往小于传统方式。(由于采取公用的放大电路和A/D转换器只能逐一转换)。显然通道数越多,这种省时效应就越明显了。
在DB18B20温度传感器与单片机的接口电路中另一个有重要作用的就是主控制器——单片机AT89C51。
单片机AT89S51具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。
3.3振荡电路
AT89C51单片机内部的振荡电路是一个高增益反向放大器,引线XTAL1和XTAL2分别是放大器的输入端和输出端。单片机内部虽然有振荡电路,但要形成时钟,外部还需附加电路。AT89C51的时钟产生方式有两种:内部时钟电方式和外部时钟方式。由于外部时钟方式用于多片单片机组成的系统中,所以此处选用内部时钟方式。即利用其内部的振荡电路在XTAL1和XTAL2引线上外接定时元件,内部振荡电路产生自激振荡。最常用的是在 XTAL1和XTAL2之间接晶体振荡器与电路构成稳定的自激振荡器。单片机最常用的时钟振荡电路的接法,其中晶振可选用振荡频率为12MHz的石英晶体,电容器一般选择30PF左右。
3.4复位电路
本设计中AT89C51是采用上电自动复位和按键复位两种方式。最简单的复位电路中,上电瞬间,RC电路充电,RST引线端出现正脉冲,只要RST端保持10ms以上的高电平,就能使单片机有效地复位。其中R14选择 10KΩ的电阻,电容器选择10μF。
3.5报警电路
报警是由单片机产生一定频率的脉冲,由P1.4引脚输出,P1.4外接一只PNP的三极管来驱动扬声器发出声音,以便操作员来维护,从而达到报警的目的。
3.6 键盘显示系统
本系统的用户界面利用人机工程学原理,运用系统科学理论和系统科学方法进行设计,使其能够适合操作者的应用需求。LCD的应用使操作者能够用容易理解的方式显示控制系统的当前状态和操作者关心的信息,例如当前时间、当前温度、上限温度、下限温度。系统启动时,液晶显示器的时间显示为“00—00—00”,当前温度显示为当前的环境温度值,用户设定的上、下限温度默认为30℃和10℃。表示系统已经正常启动,可以工作。
系统给操作者提供容易理解和充分的信息提示,以方便操作者的正确使用。同时,还考虑了用户操作界面有较好的容错能力,提高了系统的整体综合能力。本设计由STC8952芯片控制的3键键盘和液晶显示器组成,以实现用户的输入与数据输出。S2按键的功能是对温度值进行减小,S3按键的功能是对温度值进行增加,S4按键的功能是对温度的上限及下限进行设定。
4软件部分设计
系统程序主要包括主程序、读取温度子程序、数据转换子程序、显示数据子程序等。
4.1主程序流程图
主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量的当前温度值,温度测量每1s进行一次。这样可以在一秒之内测量一次被测温度,其程序流程见图4.1所示。
4.2各子程序流程图
4.2.1初始化程序
所有操作都必须由初始化脉冲开始,波形如图,单片机先输出一个480~960us低电平到DQ引脚,再将DQ引脚置高电平,过15~60us后检测DQ引脚状态,若为低电平则DS18B20工作正常,否则初始化失败,不能正常测量温度。如图4.2初始化程序:
4.2.2读取温度子程序
读取温度子程序的主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。主要包括以下三个命令:
(1)写暂存器命令 【4EH】
这个命令为由TH寄存器开始向DS18B20暂存器写入数据,4EH命令后的3字节数据将被保存到暂存器的地址2、3、4(TH、TL、CONFIG)三个字节。所有数据必须在复位脉冲前写完。即如果只想写一个字节的数据到地址2,可按如下流程:
初始化;
写0CCH,跳过ROM检测;
写4EH;
写1字节数据;
复位,即向DQ输出480~960us低电平。
(2)读暂存命令【BEH】
这个命令由字节0读取9个暂存器内容,如果不需要读取所有暂存内容,可随时输出复位脉冲终止读取过程。
(3)转换温度命令【44H】
这个命令启动温度转换过程。转换温度时DS18B20保持空闲状态,此时如果单片机发出读命令, DS18B20将输出0直到转换完成,转换完成后将输出1。
4.2.3写流程图
写时隙:写时隙由DQ引脚的下降沿引起。18B20有写1和写0两种写时隙。所有写时隙必须持续至少60μs,两个时隙之间至少有1μs的恢复时间。DS18B20在DQ下降沿后15μs~60μs间采样DQ引脚,若此时DQ为高电平,则写入一位1,若此时DQ为低电平,则写入一位0,如图4.4所示。所以,若想写入1,则单片机应先将DQ置低电平,15us后再将DQ置高电平,持续45μs;若要写入0,则将DQ置低电平,持续60μs。
4.2.4读流程图
读时隙:读时隙由DQ下降沿引起,持续至少1μs的低电平后释放总线(DQ置1)DS18B20的输出数据将在下降沿15μs后输出,此时单片机可读取1位数据。读时隙结束时要将DQ置1。所有读时隙必须持续至少60μs,两个时隙之间至少有1μs的恢复时间。
5仿真调试
5.1系统调试
液晶显示器上能够显示当前温度及设定的最高温度值及最低温度值,当温度高于设定的最高温度值时,报警器报警,D4灯亮起,此时加热器开启;当温度低于设定的最低温度值时,报警器报警,D3灯亮起,此时散热器开启。DS18B20是模拟当前温度的传感器,通过“设置”按键能够对当前的最高温度和最低温度进行设置,并通过“减键”按键和“加键”按键进行阈值的调整,达到智能控制温度的功能。
仿真电路图如图5.1所示。
双击单片机出现下图所示画面图5.2,在Program File一栏中选取仿真项目的源程序代码,点击OK。
5.2仿真结果
单击Play按钮,进入仿真状态,设置的温度临界值为30.0°,出现下图5.3所示。
(1)当温度值为31.0°时,温度值在设定值之间,温度正常,蜂鸣器不报警;
(2)当温度值为42.5°时,温度值在超出设定值,温度过高,蜂鸣器报警,并且温度过高报警三极管亮起。
6总结
时代的进步和快速发展,使我们在科研等领域中,对数据准确性的要求越来越高,而传统的温度控制系统,和早期数字温度控制系统,已经越来越不能满足人们对准确性,便捷性的需求。
经过设计方案的论证、系统的硬件和软件的设计、系统的调试等。我查阅了大量关于传感器DS18B20、单片机基础及其接口电路,以及控制方面的理论知识。通过本文分析表明:本设计是一个性价比较为优越的数字衬布定型机烘箱温度控制系统的设计。本设计能够准确,快捷的测量温度,并且能对设定测量值的温度以外的数值有一个蜂鸣器报警功能,很好的起到报警提醒的作用。
参考文献
[1]江伟,齐群.基于AT89S52单片机的智能小车设计与制作[J].广东交通职业技术学院学报,2013,01:24-27.
[2]丁春霞.基于51单片机的LCD数字钟设计与制作[J].中国科技信息,2013,18:87+95.
[3]姜宝华,齐强.基于单片机的无线遥控智能小车的设计与制作[J].电子世界,2013,03:24-25.
[4]殷蔚,黄清华,胡微.高职《电子设计与制作》课程设计与实施[J].职业技术教育,2011,02:30-32.
[5]陆中宏.基于Proteus软件的单片机控制系统设计与制作[J].工业技术与职业教育,2011,01:40-41.
[6]彭真真.单片机驱动LCD12864的应用——科学计算器的设计与制作[J].电子制作,2011,07:40-44.
[7]夏晓玲.《单片机小系统的设计与制作》课程“一体化”教学设计改革[J].鄂州大学学报,2015,05:92-93.
[8]姜波,佟巳刚.基于单片机的温度监测系统设计与制作[J].数字技术与应用,2012,06:13.












京公网安备 11011302003690号