基于PIC单片机的热水控制器设计

[09-12 17:55:24]   来源:http://www.88dzw.com  单片机学习   阅读:8639

文章摘要:显示电路温度采用二位七段码显示,显示范围0℃~99℃。水量采用一位七段显示,显示1、2、3、4,四档水位。对温度和水量进行循环扫描显示。四个LED用于当前按键功能设定。水温和水量控制电路单片机通过光电耦合对继电器进行控制,用来切断或接通加热管电源,关闭或打开水阀,从而达到对水温和水量的控制。漏电检测及报警电路由于热水器工作在潮湿的场合,因此需具备漏电检测与报警功能。漏电检测由漏电检测线圈的输出经整形后输入到RC6口,电路原理图如图3(a)所示。当漏电流超过一定阈值时,比较器输出低电平,否则保持高电平,再通过一单稳态触发器电路产生如图3(b)所示波形,低电平保持时间t可由单稳态触发器进行调整设定

基于PIC单片机的热水控制器设计,标签:单片机开发,单片机原理,单片机教程,http://www.88dzw.com

  显示电路

  温度采用二位七段码显示,显示范围0℃~99℃。水量采用一位七段显示,显示1、2、3、4,四档水位。对温度和水量进行循环扫描显示。四个LED用于当前按键功能设定。

  水温和水量控制电路

  单片机通过光电耦合对继电器进行控制,用来切断或接通加热管电源,关闭或打开水阀,从而达到对水温和水量的控制。

  漏电检测及报警电路

  由于热水器工作在潮湿的场合,因此需具备漏电检测与报警功能。漏电检测由漏电检测线圈的输出经整形后输入到RC6口,电路原理图如图3(a)所示。当漏电流超过一定阈值时,比较器输出低电平,否则保持高电平,再通过一单稳态触发器电路产生如图3(b)所示波形,低电平保持时间t可由单稳态触发器进行调整设定。在本系统中t为10ms,由于PIC16C57没有中断功能,因此程序中必须每隔一定时间(小于10ms)对RC6口进行查询,以检测是否漏电,一旦检测到RC6变低,经过确认后切断加热管电流,同时进行报警。报警电路还在传感器出现故障、超温时报警提示。

  PIC16C57本身具有看门狗定时器,当系统出现异常时,能自动进行掉电保护和系统复位。


图3(a)电路原理图


图3(b)波形图


图4 系统流程图


图5 RTCC原理图

  系统软件设计

  系统软件采用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内的PS0~PS2决定。OPTION的RTE位用于选择外部计数脉冲的触发沿,当RTE为"1"时下降沿触发,“0“时为上升沿触发。RTCC计数器采用递增方式计数,当计数至FFH时,在下一个计数发生后,将自动复零,重新开始计数,以此循环下去。在实际设计中,OPTION寄存器为“00100111“,即定时器的信号源来自RTCC引脚的外部信号,预分频器的分频比率为1:256,上升沿触发。RTCC引脚信号的输入频率为1kHz,因此RTCC计数至FFH时需65536ms。通用寄存器F0EH、F0FH用作定时暂存。

上一页  [1] [2] [3]  下一页


Tag:单片机学习单片机开发,单片机原理,单片机教程单片机学习
分类导航
最新更新
热门排行