论文部分内容阅读
[摘 要]此水温控制系统采用市场上常见的89C51单片机进行数据的处理,使用DS18B20数字传感器进行温度的采集和数据的处理,利用单片机进行设置和储存温度的上限和下限。单片机对接收到的温度信号与设定值进行比较判断,从而进行是否启动继电器来打开加热器等设备。系统分为四个部分:温度检测部分、单片机部分、水位检测部分和驱动电路的设计。
[关键词]DS18B20数字温度传感器;89C51;水温水位电路
中图分类号:G712 文献标识码:A 文章编号:1009-914X(2019)08-0081-01
目前市场上的太阳能热水器控制系统大多存在功能单一、运行困难、控制不准确等问题。市场上的加热器只显示温度和水位,实现不了对温度的精确控制,即使有部分热水器有辅助加热功能,也极易发生过烧或者干烧,从而浪费大量的电能,更有甚者会发生危险。为此,我们以89C51单片机为核心的控制和检测,采用数字管显示温度,设计了太阳能热水器微控制器,从而实现了温度、水位、温度设定和水位控制功能。炉温可手动设定在一定范围之内,当水箱水温发生变化时可以实现自动控制。通过继电器的开合,控制加热的时间,使水箱水温保持在人工设定的温度范围之内,从而达到对水温的精确控制。(1)温度的设定范围为25到85摄氏度,最小区分度为0.1摄氏度,温度控制的误差控制在正负0.5摄氏度之内。(2)使用四位一体数码管实时显示温度的精确值
1总体设计方案
使用DS18B20温度传感器进行温度的采集,实时发送给89C51单片机,让单片机对接收到的数据进行分析与处理,并判断是否开合继电器进行加热或者冷却,自行设计水位电路,通过LED灯来显示实时的水位,使用三个按键来设定所需的温度,当水温超过设定值时启动蜂鸣器报警,而且当水箱缺水时,启动控制水泵的继电器进行加水的操作。
2总体结构设计
在整个系统的电路设计主要分为三个部分:
(1)主控芯片89C51;(2)数据显示部分;(3)传感器部分。
温度计电路总体设计方案
(1)控制部分。采用相对传统的数模电路,也可以实现,但是电路太复杂,造成的误差也比较大,成本相对更高,可靠性较差;所以我们选择采用了单片机89C51进行控制,它可以减少搭建外围电路,并且89C51使用更加方便,成本比较低,性能稳定,还可以控制各模块输入输出。但是由于其不能直接进行模数转换,因此要做外围电路设計中加AD0809芯片。(2)显示部分。四位一体的共阳数码管。(3)传感器部分。温度传感器DS18B20的优点是可以直接将采集的温度模拟信号,转换成数字信号,可以直接传送给单片机进行数据的处理,而且可以减少引线的连接。DS18B20的分辨率也极高,可以进行精确的温度控制,具有许多传统热电偶传感器不具备的优点。(4)水位检测部分。水位传感器的核心使用单片机进行数据的分析和处理。89C51使用更加方便,成本比较低,性能稳定,还可以控制各模块输入输出。但是由于其不能直接进行模数转换,所以水位检测使用电极式水位传感器实时检测水位的改变,然后在外围电路的设计中加AD0809芯片进行数模转换,并通过LED灯显示实时的水位。
3整体设计
3.1单片机模块设计
控制模块是本方案的设计核心,它实现了温度的采集、处理和显示、温度上下限的设定和温度超限的时候控制电路的开合。
3.2温度检测模块
达拉斯公司生产的DS18B20温度传感器的温度采集的范围为55摄氏度到+125摄氏度,温度的最小分辨率为0.0625摄氏度。它只需要三条引线就可以实现温度的采集,仅需一个I/O口与单片机进行连接,在节省端口的同时,可以实现对温度的实时采集和传输,并且可以节省大量的逻辑电路设计
3.3A/D转换电路采集
本系统是采用adc0809芯片,这种大规模集成电路所选用的单+5v供电,采用逐步收敛的原理,由8个具有通用可编程模块并行变换,在传感器微控制器上产生周期振荡,然后对每个测量参数进行后台和数据处理。
3.4键盘设计
键盘在应用系统为主要的组成部分,可以实现在单片机系统中,数据输入指令的传输和发送的功能,是人工干预单片机的手段,当按钮按下时单片机接收到低电平动作,那些没有按下按钮的为高电平,通过I/O口的状态进行动作读数,来判断是否按下按钮。
3.5系统软件设计整体思路
有三种类型的编程语言:机器语言,汇编语言和高级语言。机器语言是唯一一台机器可以“理解”的语言。用汇编语言或高级语言写成的程序(称为源程序)最终必须再翻译成机器语言程序(成为对象程序)计算机“理解”和执行。
高级语言是面向问题和面向计算的过程语言。它可用于各种计算机。用户不需要仔细理解他们在编程中使用的计算机的特定性能和命令系统。此外,句子的功能也很强。一般来说,语句等同于许多计算机指令,所以如果程序是用高级语言编写的,则系统反应快、容易学习和通信,但是我们的系统却选择使用了汇编语言。其原因是该系统是单片机控制系统,其具有编程工作量小、规模小等特点。使用汇编语言不能像高级语言那样占用更多的存储空间,适合于像单片机这样存储容量小的系统,同时,本设计的系统需要较高的位处理,需要解决许多逻辑控制问题,所以在三种语言中我们选择了汇编语言。
系统流程图
3.6程序编写
程序的主要功能是启动DS18B20进行实时温度的采集,发送给单片机,单片机对接收到的数据进行分析和处理,将接收回来的温度与设定的温度值进行比较,通过PID算法来控制继电器的开合时间,从而控制加热器的加热时间,实现对水箱温度的精确控制,减少对电能的浪费。在此期间对水温和水位进行实时的监测,保持水温的同时,确保水箱有水,防止过烧,一旦缺水立即启动水泵进行加水。系统十分钟之内无动作时可视为无人操作,进而切断电路,防止危险的发生,在保持安全性的同时,节省电能。
4结论
基于89C51单片机的温度控制系统的设计和软硬件全部实现。整个系统一共包括了五个部分,分别为:数据采集部分、单片机控制部分、显示部分、温度设定部分和驱动电路。完成了既定的任务,达到了预期的目标。该系统具有以下特点:(1)采用数字型温度传感器DS18B20进行温度数据的采集和转换,简化了外围硬件电路的设计,也将采集的温度数据的精度进行了提高。(2)采用89C51单片机有利于功能扩展。(3)在电路的设计中充分考虑到了整个系统的安全性和可使用性。
参考文献
[1] 马忠梅.单片机的C语言应用程序设计[M].北京:北京航空航天大学出版社,1998.
[2]李晓荃.单片机原理与应用[M].北京:电子工业出版社,2000年8月.
[3] 何立民AVR单片机原理与接口技术[M].北京:北京航空航天大学出版社,2002.
[4] 杨帮文新型继电器实用手册[M].北京:北京人民邮电出版社.2004.
[关键词]DS18B20数字温度传感器;89C51;水温水位电路
中图分类号:G712 文献标识码:A 文章编号:1009-914X(2019)08-0081-01
目前市场上的太阳能热水器控制系统大多存在功能单一、运行困难、控制不准确等问题。市场上的加热器只显示温度和水位,实现不了对温度的精确控制,即使有部分热水器有辅助加热功能,也极易发生过烧或者干烧,从而浪费大量的电能,更有甚者会发生危险。为此,我们以89C51单片机为核心的控制和检测,采用数字管显示温度,设计了太阳能热水器微控制器,从而实现了温度、水位、温度设定和水位控制功能。炉温可手动设定在一定范围之内,当水箱水温发生变化时可以实现自动控制。通过继电器的开合,控制加热的时间,使水箱水温保持在人工设定的温度范围之内,从而达到对水温的精确控制。(1)温度的设定范围为25到85摄氏度,最小区分度为0.1摄氏度,温度控制的误差控制在正负0.5摄氏度之内。(2)使用四位一体数码管实时显示温度的精确值
1总体设计方案
使用DS18B20温度传感器进行温度的采集,实时发送给89C51单片机,让单片机对接收到的数据进行分析与处理,并判断是否开合继电器进行加热或者冷却,自行设计水位电路,通过LED灯来显示实时的水位,使用三个按键来设定所需的温度,当水温超过设定值时启动蜂鸣器报警,而且当水箱缺水时,启动控制水泵的继电器进行加水的操作。
2总体结构设计
在整个系统的电路设计主要分为三个部分:
(1)主控芯片89C51;(2)数据显示部分;(3)传感器部分。
温度计电路总体设计方案
(1)控制部分。采用相对传统的数模电路,也可以实现,但是电路太复杂,造成的误差也比较大,成本相对更高,可靠性较差;所以我们选择采用了单片机89C51进行控制,它可以减少搭建外围电路,并且89C51使用更加方便,成本比较低,性能稳定,还可以控制各模块输入输出。但是由于其不能直接进行模数转换,因此要做外围电路设計中加AD0809芯片。(2)显示部分。四位一体的共阳数码管。(3)传感器部分。温度传感器DS18B20的优点是可以直接将采集的温度模拟信号,转换成数字信号,可以直接传送给单片机进行数据的处理,而且可以减少引线的连接。DS18B20的分辨率也极高,可以进行精确的温度控制,具有许多传统热电偶传感器不具备的优点。(4)水位检测部分。水位传感器的核心使用单片机进行数据的分析和处理。89C51使用更加方便,成本比较低,性能稳定,还可以控制各模块输入输出。但是由于其不能直接进行模数转换,所以水位检测使用电极式水位传感器实时检测水位的改变,然后在外围电路的设计中加AD0809芯片进行数模转换,并通过LED灯显示实时的水位。
3整体设计
3.1单片机模块设计
控制模块是本方案的设计核心,它实现了温度的采集、处理和显示、温度上下限的设定和温度超限的时候控制电路的开合。
3.2温度检测模块
达拉斯公司生产的DS18B20温度传感器的温度采集的范围为55摄氏度到+125摄氏度,温度的最小分辨率为0.0625摄氏度。它只需要三条引线就可以实现温度的采集,仅需一个I/O口与单片机进行连接,在节省端口的同时,可以实现对温度的实时采集和传输,并且可以节省大量的逻辑电路设计
3.3A/D转换电路采集
本系统是采用adc0809芯片,这种大规模集成电路所选用的单+5v供电,采用逐步收敛的原理,由8个具有通用可编程模块并行变换,在传感器微控制器上产生周期振荡,然后对每个测量参数进行后台和数据处理。
3.4键盘设计
键盘在应用系统为主要的组成部分,可以实现在单片机系统中,数据输入指令的传输和发送的功能,是人工干预单片机的手段,当按钮按下时单片机接收到低电平动作,那些没有按下按钮的为高电平,通过I/O口的状态进行动作读数,来判断是否按下按钮。
3.5系统软件设计整体思路
有三种类型的编程语言:机器语言,汇编语言和高级语言。机器语言是唯一一台机器可以“理解”的语言。用汇编语言或高级语言写成的程序(称为源程序)最终必须再翻译成机器语言程序(成为对象程序)计算机“理解”和执行。
高级语言是面向问题和面向计算的过程语言。它可用于各种计算机。用户不需要仔细理解他们在编程中使用的计算机的特定性能和命令系统。此外,句子的功能也很强。一般来说,语句等同于许多计算机指令,所以如果程序是用高级语言编写的,则系统反应快、容易学习和通信,但是我们的系统却选择使用了汇编语言。其原因是该系统是单片机控制系统,其具有编程工作量小、规模小等特点。使用汇编语言不能像高级语言那样占用更多的存储空间,适合于像单片机这样存储容量小的系统,同时,本设计的系统需要较高的位处理,需要解决许多逻辑控制问题,所以在三种语言中我们选择了汇编语言。
系统流程图
3.6程序编写
程序的主要功能是启动DS18B20进行实时温度的采集,发送给单片机,单片机对接收到的数据进行分析和处理,将接收回来的温度与设定的温度值进行比较,通过PID算法来控制继电器的开合时间,从而控制加热器的加热时间,实现对水箱温度的精确控制,减少对电能的浪费。在此期间对水温和水位进行实时的监测,保持水温的同时,确保水箱有水,防止过烧,一旦缺水立即启动水泵进行加水。系统十分钟之内无动作时可视为无人操作,进而切断电路,防止危险的发生,在保持安全性的同时,节省电能。
4结论
基于89C51单片机的温度控制系统的设计和软硬件全部实现。整个系统一共包括了五个部分,分别为:数据采集部分、单片机控制部分、显示部分、温度设定部分和驱动电路。完成了既定的任务,达到了预期的目标。该系统具有以下特点:(1)采用数字型温度传感器DS18B20进行温度数据的采集和转换,简化了外围硬件电路的设计,也将采集的温度数据的精度进行了提高。(2)采用89C51单片机有利于功能扩展。(3)在电路的设计中充分考虑到了整个系统的安全性和可使用性。
参考文献
[1] 马忠梅.单片机的C语言应用程序设计[M].北京:北京航空航天大学出版社,1998.
[2]李晓荃.单片机原理与应用[M].北京:电子工业出版社,2000年8月.
[3] 何立民AVR单片机原理与接口技术[M].北京:北京航空航天大学出版社,2002.
[4] 杨帮文新型继电器实用手册[M].北京:北京人民邮电出版社.2004.