基于PIC单片机设计的热水控制器
引言
当前市场上的热水控制器基本上采用双金属片温控,控温精度低、可靠性差、功能单一。随着微电子技术的发展,单片微处理器功能日益增强,价格低廉,在各方面得到广泛应用。在热水控制器中应用单片机,具有设计简单、可靠性高、功能易扩展等优点。
热水控制器主要实现对水温的控制,并满足不同用户的个性需求。因此一个较完善的控制器应具有以下功能:
水温的测量与显示;
水量的测量与显示;
用户设定功能(如水温设定,定时设定等);
对电加热管的控制功能;
一些功能键(如定时自动加水,恒温控制,手动加水,手动加热等)。
安全措施(漏电检测,安全失效保护,限温保护等)。
图1 总体布局图
2(a)基本温度水温测量电路
图2 (b)基本显示电路图图
图2(c)水闸加热管控制电路
硬件电路设计
根据热水控制器的功能要求,并结合对PIC16C5X系列单片机的资源分析,采用此系列中的主流型号PIC16C57作为电路系统的控制核心。电热水控制器的总体布局如图1所示。
基本硬件电路图如图2(a)~(c)所示。在本系统中,RA0~RA3用于七段码显示,RB6控制水闸开关,RB7控制电加热管,RC3~RC5用于按键设计和读取水量,RC0~RC2用于跟DS1820通信进行水温测量,RB0~RB1对七段码进行扫描,RB2~RB5 LED指示灯显示,RC6漏电检测,RC7控制扬声器用于报警和指示。
水温测量电路
测温元件采用DALLAS的单线数字温度传感器DS1820。DS1820提供九位温度读数,测量范围-55℃~125℃,采用独特1-WIRE 总线协议,只需一根口线即实现与MCU的双向通讯,具有连接简单,高精度,高可靠性等特点。在工作时,通过总线向其提供电源,单片机发出指令码读取温度值。
键盘与水量测量电路
由于在本系统中,只要求显示四个档位的水量值,因此水量传感器采用的是开关式传感器,当水量达到某一档时会拉低该档电平,接口电路与按键按下类似。因此在电路设计中,将水量档位信号与按键通过一片74HC148优先编码器连接到单片机的I/O口上。按键的优先权高于水量信号,水量高档位信号优先权高于低档位信号,以保证能优先响应按键。
显示电路
温度采用二位七段码显示,显示范围0℃~99℃。水量采用一位七段显示,显示1、2、3、4,四档水位。对温度和水量进行循环扫描显示。四个LED用于当前按键功能设定。
水温和水量控制电路
单片机通过光电耦合对继电器进行控制,用来切断或接通加热管电源,关闭或打开水阀,从而达到对水温和水量的控制。
漏电检测及报警电路
由于热水器工作在潮湿的场合,因此需具备漏电检测与报警功能。漏电检测由漏电检测线圈的输出经整形后输入到RC6口,电路原理图如图3(a)所示。当漏电流超过一定阈值时,比较器输出低电平,否则保持高电平,再通过一单稳态触发器电路产生如图3(b)所示波形,低电平保持时间t可由单稳态触发器进行调整设定。在本系统中t为10ms,由于PIC16C57没有中断功能,因此程序中必须每隔一定时间(小于10ms)对RC6口进行查询,以检测是否漏电,一旦检测到RC6变低,经过确认后切断加热管电流,同时进行报警。报警电路还在传感器出现故障、超温时报警提示。
PIC16C57本身具有看门狗定时器,当系统出现异常时,能自动进行掉电保护和系统复位。
图3(a)电路原理图
系统软件设计
系统软件采用PIC16C5X精简指令编写。由于PIC16C57没有中断功能,因此本系统中键盘扫描、漏电检测等子程序都通过查询实现,并采用4MHz的时钟频率,对指令的运行时间进行了精确计算和设计,保证软件的可靠性和稳定性。系统主程序框图如图4所示,本文讨论键盘显示与水温测量两个模块。
键盘和显示
本系统中,有四个功能按键:定时加水、恒温控制、手动加水和手动加热;三个七段码显示与四个LED灯指示。
a) 按下定时加水按钮时,定时LED变亮,并以当前时间为定时时标,每24小时自动加水至设定水量;若长按此钮超过5秒,定时LED灭,并听到“嘟”一声进行水量设定,此后每按一下钮,水量显示加一档,1~4档循环显示,不按此钮超过5秒,再次听到“嘟”一声,水量设定完毕。系统的定时功能主要通过软件完成。PIC16C5X内带一个8位定时器/计数器RTCC,在进行24小时定时加水时采用了该定时器,RTCC及其相关电路如图5所示。
由图5可知,RTCC工作状态由OPTION寄存器控制,其中OPTION寄存器的RTS位用来选择RTCC的计数信号源,当RTS为“1”时,信号源为来自RTCC引脚的外部信号,RTS为“0”时,信号源为内部时钟。OPTION寄存器的PSA位控制预分频器分配对象,当PSA为“1”,分配给RTCC,即外部或内部信号经过预分频器分频后再输出给RTCC。预分频器的分频比率由OPTION内
- 基于PIC单片机的智能型漏电断路器设计(11-25)
- 基于PIC单片机的无线实时监控防盗系统的设计与实现(11-18)
- PIC单片机键盘矩阵扫描C语言程序(12-02)
- PIC单片机控制第一个发光管闪动程序(12-02)
- PIC单片机驱动LCD12864液晶显示闪动字体程序(12-02)
- PIC单片机控制8位流水灯C语言程序(12-02)