太阳能热水器的设计
摘要
针对现在的太阳能加热,我们的系统分为三部分:信号输入部分,加热控制控制部分以及电机控制出水温度部分。信号输入部分我们采用便于现场控制的键盘输入和便于用户控制的红外输入,加热部分采用的是温度和容量可调的加热系统,而电机控制采用的是发展较为成熟的PID控制以及定位准确的步进电机控制。三个系统相互联系,总体上达到淋浴控温和加热目的。
关键词:单片机;太阳能热水器;智能控制;水位;温度;时间。
绪论
当今计算机技术在飞速发展,微机应用日益普及深入,微机在通信自动化、工业自动控制、电子测量、信息管理和信息系统等方面得到广泛的应用。嵌入式计算机系统是以应用为中心,以计算机技术为基础,软、硬件可裁剪,适应应用系统对功能,可靠性,成本,体积,功效等严格要求的专业计算机系统。其最初应用是基于单片机的。单片机小巧灵活,成本低,易于产品化。它面向控制,能针对性的解决从简单到复杂的各种控制任务。
单片机具有体积小,功耗低,价格便宜等优点,近年来还开发了一些以单片机母片为核,在片中嵌入更多的专用型单片机,因此单片机在计算机控制领域中应用越来越广泛。单片机的应用意义不仅限于它的广泛及所带来的巨大的经济效益。更重要的是在于单片机的应用正是从根本上改变着传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能使用单片机通过软件的方法实现。这种以软件取代硬件并提高系统性能的控制技术,称之为微控制技术。微控制技术标志着一种全新概念的出现,是对传统控制技术的一次革命。随着单片机应用的推广和普及,微控制技术必将不断发展,日益完善。作为目前炙手可热的太阳能热水器,以其智能化和人工化为其显著特点。其中就是以单片机为中央处理器核心,完成了诸多的功能,发挥了至关重要的作用。
设计方案
设计总框图:
系统的总体构造思想是:用户可以在任意时候设定需要的目标值,例如水位,热水箱的温度,以及出水时候的温度。而对于系统,我们的做法是:水位超过的时候不给予进水,低于最低水位的时候为了保护系统必须关闭出水强行进水同时关闭加热控制。加热控制和水位控制并行操作,可以为用户节约时间。在超低水位时进行过热保护等措施。
为了让洗澡时候的供水温度稳定,只有水位和热水温度到了设定的参数才准许用户开水洗澡。
在出水控制这一模块,为了更好地获得稳定快速的输出,我们会采用现在较为成熟的PID算法对在出水控制这一块电机输出进行控制。
最后,为了方便用户控制,我们同时采用红外和按钮键盘的方式给系统设定参数。用红外的方式可以更好的让用户进行控制。而按钮键盘则为了更容易对系统进行调试以及在应急情况下对系统进行控制。
硬件系统设计
单片机应用系统的硬件电路设计包含两部分内容:一是系统扩展,即单片机内部的功能单元,如ROM、RAM、I/O、定时器/计数器、中断系统等不能满足应用系统的要求时,必须在片外进行扩展,选择适当的芯片,设计相应的电路。二是系统的配置,即按照系统功能要求配置外围设备,如键盘、显示器、打印机、A/D、D/A转换器等,要设计合适的接口电路。本设计中只用最小系统加上键盘、显示、ISP接口电路,单片机本身资源可以满足设计要求,所以不必对单片机进行扩展。系统的硬件系统以AT89S51单片机为
核心,主要分两部分:直流稳压电源和智能电热水器控制电路,其原理图见附录二。直流稳压电源由变压器、整流桥、滤波电路、稳压电路组成。智能电热水器系统由时钟电路、复位电路、电源电路、温度检测电路、温度显示电路、ISP在线编程接口电路键盘和显示接口电路组成。
1.电源电路
由于该系统需要稳定的5V电源,因此设计时必须采用能满足电压、电流和稳定性要求的电源。该电源采用三端集成稳压器LM7805。它仅有输人端、输出端及公共端3个引脚,其内部设有过流保护、过热保护及调整管安全保护电路,由于所需外接元件少,使用方便、可靠,因此可作为稳压电源。
电源电路连接图
2.复位电路和复位状态
MCS-52单片机的复位是靠外部电路实现的。MCS-52单片机工作后,只要在它的RST引线上加载10ms以上的高电平,单片机就能够有效地复位。
1)复位电路
MCS-52单片机通常采用上电自动复位和按键复位两种方式。最简单的复位电路如图2所示。上电瞬间,RC电路充电,RST引线端出现正脉冲,只要RST端保持10ms以上的高电平,就能使单片机有效地复位。
简单的复位电路
2)复位状态
复位电路的作用是使单片机执行复位操作。复位操作主要是把PC初始化为0000H,使单片机从程序存储器的0000H单元开始执行程序。程序存储器的0003H单元即MCS-51单片机的外部中断0的中断处理程序的入口地址。留出的0000H~0002H 3个单元地址,仅能够放置一条转移指令,因此,MCS-52单片机的主程序的第一条指令通常情况下是一条转移指令。除PC之外,复位还对其他一些特殊功能的寄存器有影响,它们的复位状态如表3所示。 由表3可知,除SP=07H,P0~P3 4个锁存器均为FFH外,其他所有的寄存器均为0。此外,单片机的复位不影响片内RAM的状态(包括通用寄存器Rn)。P0、P1、P2、P3共有4个8位并行I/O口,它们引线为:P0.0~P0.7、P1.0~P1.7、P2.0~P2.7、P3.0~P3.7,共32条引线。这32条引线可以全部用做I/O线,也可将其中部分用做单片机的片外总线。
3.寄存器的复位状态
1)单片机中断的作用
当MCS-C51单片机的CPU正在处理某件事情的时候,单片机外部或内部发生的某一时间请求CPU立即去处理,于是,CPU暂时中止当前的工作,转到终端服务处理程序处理所发生的事件。中断服务处理程序处理完该事件后,再回到原来被中止的地方,继续原来的工作,这称为中断。我们这次设计就用到了定时中断(INT0,INT1)。
中断系统:能够实现中断处理功能的部件称为中断系统。
功能:消除了CPU在查询方式中的等待现象,大大提高了CPU的工作效率。
2)总线结构
单片机的引线除了电源、复位、时钟输入、用户I/O口外,其余引线都是为实现系统扩展则设置的,这些引线构成了单片机外部的3总线形式 。
1、地址总线
地址总线宽度为16位,由P0口经地址锁存器提供低8位地址(A7~A0),P2口直接提供高8位地址(A15~A8)。
由口的位结构可知,MCS-51单片机在进行外部寻址时,P0口的8根引绠低8位地址和8位数据的复用线。P0口首先将低8位的地址发送出去,然后再传送数据,因此要用锁存器将先送出的低8位地址锁存。MCS-52常用74LS373或8282做地址锁存器。
2、数据总线
数据总线宽度为8位,由P0口提供。
3、控制总线
MCS-51用于外部扩展的控制总线除了它自身引出的控制线外,还有由P3口的第二功能引线:外部中断0和外部中断1输入线,以及外部RAM或I/O端口的读选通和写选通信号RD和WR。
4.温度检测电路
采用温度传感器DS18B20采集电热水器的实时温度, 提供给AT89S52的
作为数据输入。在本次设计中我们所控的对象为水温。
DS18B20是DALLAS公司生产的一线式数字温度传感器,具有3引脚TO-92小体积封装形式;温度测量范围为-55℃~+125℃,可编程为9位~12位A/D转换精度,测温分辨率可达0.0625℃,被测温度用符号扩展的16位数字量方式串行输出,支持3V~5.5V的电压范围,
使系统设计更灵活、方便;其工作电源既可在远端引入,也可采用寄生电源方式产生;多个DS18B20可以并联到3根或2根线上,CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。以上特点使DS18B20非常适用于远距离多点温度检测系统。分辨率设定,及用户设定的报警温度存储在EEPROM中,掉电后依然保存。DS18B20使电压、特性有更多的选择,让我们可以构建适合自己的经济的测温系统。DS18B20的2脚DQ为数字信号输入/输出端;1脚GND为电源地;3脚VDD为外接供电电源输入端。
温度检测电路
5. 温度显示电路
在设计中有显示电路,是共阴极八段码数码管组成显示测量的温度。
6.自动报警电路
自动报警电路是本毕业设计中的另外一个重要的部分。在生活中,人们因为不慎被电热水器中的水烫的案例多不胜数。于是,通过单片机控制蜂鸣器,当温度达到预设的温度时,单片机对驱动口输出驱动电平并通过三极管放大驱动电流就使蜂鸣器发出声音。
自动报警电路
系统软件设计
详细介绍算法设计与算法流程图(不得大量复制源代码)
系统软件的设计上,在主程序开始之前,是参数的设定,有目标热水温度(aim_hot_temp),目标出水温度(aim_temp),目标水位设置(aim_water_level), 用户是否使用(use)。主程序开始部分是对各个端口的设定,以及关闭watch dog,开启各个中断模块的标识。 对单片机的资源分配如下:
P1.0~P1.6 键盘输入
P1.7 红外输入
P2.0~P2.3 水位检测
P3.0,P3.1 数码管显示
P4.0 DAC步进电机电机电压控制输出
P4.1 步进电机电机转向控制输出
P4.2 冷水紧热水箱阀门
P4.3 淋浴热水放出阀门
P4.4 淋浴冷水放出阀门
P5.3 P5.4 热水加热模块(低速高速)
P6.0 P6.1 接ds18b20温度检测模块接收温度
电机控制的部分我们采用PID算法。
PID控制算法框图如下:
输出结果会直接反馈到DAC目的。为了防止在水温变化环境异常,比如热水箱收到破坏而造成温度骤降,以及让温度控制系统调节的时候超调量幅值较小,在这个环节里面,我们在积分环节和输出环节都采用限幅环节。有限幅环节的PID算法会更加平稳,安全性更高,在工业现场的应用也相对广泛。
系统创新
对于我们的系统,在整体上说考虑到的因素比较多。例如水位的控制,安全的控制,以及一些节能的思想。我们采用电压控制步进电机,利用430内有的资源DAC资源,可以得到精度为1/256甚至更高的精度。与此同时,我们采用PID算法,让水温的控制的速度更敏捷,而且更稳定。系统的创新性,更多会体现在系统总体的节能,安全和控制的快捷和精确方面。作为一个纯粹的智能家用淋浴系统,在节能上、功能上、安全保护上是一个不错的选择。
结论
基于AT89S51单片机的智能电热水器控制器,经过调试可以满足设计要求。首先由传感器检测水温,经过模数转换,发送到单片机控制中心,当水温小于设臵范围1℃时,单片机控制继电器对电热水器加热;当水温超过温度设臵范围1℃时,单片机控制继电器断电,停止加热;当温度超过99℃时,蜂鸣器报警断电;当水位小于系统设定值时,单片机控制继电器断电,停止加热。
本设计有些方面需要进一步讨论,进一步完善的方面:
(1)AT89S51单片机本身的存储空间很小,只有4KB,在实际运用中无法达 到更多的设计要求。
(2)由于AT89S51单片机结构简单,相比其他单片机(如:MC68HC05SR)来说,不能完成更多的要求,影响了其实用性。
(3)水温检测的精度不太高。这是硬件的问题,由于没有找到很好的检测器
件,造成实验结果有较小的误差。
参考文献
[1] 吴国经.单片机应用技术[M].北京:中国电力出版社.2004:10.
[2] 张振荣.MCS-51单片机原理及实用技术[M].北京:人民邮电出版社.2000: 10-13.
[3] 沈红卫.基于单片机的智能系统设计与实现[M].北京:电子工业出版 社.2005:30-35.
[4] 肖洪兵.跟我学用单片机[M].北京:北京航空航天大学出版社.2002:100-103.
[5] 楼然苗.51系列单片机设计实例[M].北京:北京航空航天大学出版社.2003: 50-60.
[6] 李光飞.单片机课程设计实例指导[M].北京:北京航空航天大学出版 社.2004:14-17.
[7] 张丰.电子开发论坛[EB/OL].http://bbs.dzkf.net/pub/txt/9888.html,1996-8-14.
[8] 徐惠民、安德宁.单片微型计算机原理接口与应用[M].北京:北京邮电大 学出版社.1996:80-88.
[9] 夏继强.单片机实验与实践教程[M].北京:北京航空航天大学出版社.2001: 71-76.
[10] 何立民.单片机高级教程[M].北京:北京航空航天大学出版社.2001:51-59.
[11] 张友德,涂时亮,陈章龙.MC68HC08系列单片机原理与应用[M].上海: 复旦大学出版社.2001:16-18.