《匠人手记》推荐网上购书渠道:
EDN网(ednchina)购书入口   >>>
互动出版网(china-pub)购书入口   >>>
当当网(dangdang)购书入口   >>>
淘宝网(taobao)购书入口   >>>
更多购书渠道……   >>> 

设为首页加入收藏联系匠人管理入口21IC首页21IC博客21IC社区侃单片机回复的贴参与的贴

天气预报
百宝日历

百宝专栏

  • 首页 相册 标签
  • 电脑应用(65)
  • 供需信息(22)
  • 写书近况(82)
  • 匠人文集(115)
  • 硬件技术(171)
  • 匠人公告(86)
  • 与非门专栏(545)
  • 匠人笔记(115)
  • 团队撰写(96)
  • 汽车电子(52)
  • 编程技巧(465)
  • 程序宝典(476)
  • 网络酷文(472)
  • 开发工具(19)
  • 资料宝藏(274)
  • 项目管理(11)
  • 藏经宝阁(42)
  • 趣味设计(5)
  • 社区热贴(2)
  • 比尔盖茨熊专栏(0) 
  • 百宝信息

    载入中...

    百宝流量

    (2006-07-01开始)



    匠人手记

    基于PIC单片机的热水控制器设计
    程序匠人 发表于 2006-3-22 20:50:00  阅读全文 | 回复(0) | 引用通告 | 编辑

     

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

    [日期:2006-3-20] 来源:电子设计应用  作者:上海交通大学 甘贤海 丁国清

     

     

      本文介绍了用PIC16C57单片机设计的一种多功能热水控制器,具有自动和手动加水、设置水温、实时显示水量及温度和报警功能,并且具有结构简单、可靠性高、成本低等特点。

      关键词: PIC单片机;DS1820数字温度传感器;热水控制器

      引言

      当前市场上的热水控制器基本上采用双金属片温控,控温精度低、可靠性差、功能单一。随着微电子技术的发展,单片微处理器功能日益增强,价格低廉,在各方面得到广泛应用。在热水控制器中应用单片机,具有设计简单、可靠性高、功能易扩展等优点。

      热水控制器主要实现对水温的控制,并满足不同用户的个性需求。因此一个较完善的控制器应具有以下功能:

      水温的测量与显示;

      水量的测量与显示;

      用户设定功能(如水温设定,定时设定等);

      对电加热管的控制功能;

      一些功能键(如定时自动加水,恒温控制,手动加水,手动加热等)。

      安全措施(漏电检测,安全失效保护,限温保护等)。


    图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)电路原理图


    图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用作定时暂存。

      当设置定时加水功能时,初始化RTCC、OPTION、F0EH、F0FH,开始进行定时,每隔256ms查询一次RTCC的值,RTCC每循环一次,F0EH-F0FH增1,当增到1318时,24小时定时到,寄存器复位,自动加水。

      b) 按下恒温控制钮,恒温LED变亮,表示进行恒温控制,再按一下LED灭,取消恒温控制。与水量设定类似,长按后,进行温度设定。

      c) 按下手动加热钮时,加热LED变亮,加热至65℃,如水量少于1档,则先加水到1档,再按一次取消加热。

      d) 按下手动加水钮时,加水至设定水量值,长按可设定水量。手动加水过程中,再次按下取消加水。

      正常情况下,两个七段码显示当前水温,另一个显示当前水位。

      水温测量

      温度读取是通过与DS1820通信完成。DS1820通信功能是分时完成的,它有严格的时隙概念。因此系统对DS1820的各种操作必须按协议进行。操作协议为:初始化DS1820(发复位脉冲 →发ROM功能命令 →发存储器操作命令 →处理数据)。各操作时序图如图6和图7所示。

      本程序中需用到的操作命令如下:

      SKIPROM命令(CCH):此命令执行后,表示以后的存储器操作命令将针对在线的所有DS1820,由于本系统中只有一片DS1820,因此发出此命令后,就可对其进行操作。

      CONVERT命令代码[44H]:启动在线DS1280进行温度A/D转换。
      
      READSCRATCHPAD命令代码[BEH]:读取温度寄存器的温度值。

      对DS1820操作的总体流程图如图8所示。

      其他功能程序

      漏电检测、数据处理、定时计数等其他功能程序都根据程序运行时间进行了统筹设计,在此不再进行详述。


    图6 读写时序图


    图7 初始化时序


    图8 DS1820操作流程图

      结语

      电热水器单片机控制器具有新颖、价廉、安全、实用等优点,并且在国产电热水器上获得了成功应用。本文的一些方法也适用于冰箱、空调等家用电器的电脑控制设计中。

    看《匠人手记》,与匠人同行!北航出版,正在热卖!

    发表评论:
    载入中...

    芯片专题

    器件专题

    软件专题

    硬件专题

    综合专题

    项目专题

    原创专题

    器件检测
    LCD LED
    按键 触摸键
    E2PROM
    电池 电机
    电阻 电容 电感

    指令系统
    软件算法
    编程规范
    滤波算法
    串行通讯

    PCB设计
    I2C PWM
    红外遥控
    充电技术
    中断 ADC 

    匠人手记
    匠人夜话
    网络心路
    一周热点串烧
    从零开始玩PIC
    DIY旋转时钟

    广告5号位 [投放]


    学习板、开发板、编程器、下载器、仿真器(查看详情……)

    站内搜索


    站外搜索


    百度  google
    mp3  歌词 
    图片  FLASH 
    知道  文档
    新闻  词典 
    地图  mp3 
    软件  天网 
    雅虎  爱问 
    搜狗  讯雷 
    网讯  华军 
    天空 

    21IC器件搜索
    百宝箱分站
  • 《匠人的百宝箱》21IC站
  • 《匠人的百宝箱》21IC笔记团队
  • 《匠人的百宝箱》MCUBLOG站
  • 《匠人的百宝箱》MCUBLOG笔记团队
  • 《匠人的百宝箱》EDN站
  • 《匠人手记》EDN书友会
  • 《匠人的百宝箱》与非网站
  • 《匠人的百宝箱》新浪站
  • 《匠人的百宝箱》百度站
  • 《匠人的百宝箱》网易126站
  • 《匠人的百宝箱》网易163站
  • 《匠人的百宝箱》互动出版网站
  • 广告4号位 [投放]

     
     
     

    新鲜货色

    匠人手记

    近期动态

    载入中...

      《匠人手记》购书全攻略 
     书友近况:淘书手记答疑与讨论:什么是散转程序 
     《匠人手记》新书艳照
     EDN《匠人手记》签名售书优惠活动开始报名啦!
     欢迎加入《匠人手记》EDN书友会
     欢迎加入《匠人手记》书友会Q群
     《匠人手记》终稿目录
     《匠人手记》封面,请大家先睹为快
     上周六收到了北航寄来的《匠人手记》清样,让大家先睹为快

    匠人原创

    粉丝评论

    往日酷贴

    载入中...

    载入中...



     网络酷文:博客,改变的不仅仅是图书 
     网络酷文:C语言宏定义技巧C语言 条件编译详解

      21IC上海2008-04聚会报名进行中。。。 
     两分钟让你明白什么是ERP![转]
      神奇的Duff's Device 算法
      实用一线通讯电路及软件设计方法
      程序员的“七年之痒”
      史上最短但最精彩的武侠小说
      网络无厘头文学《缺钙水浒》(爆笑)

     你的博客还能持续多久(转贴)
     电动车无刷电机控制器软件设计要点(作者:谢渊斌)

    大千八卦

    友情连接

    新浪新闻:
    新浪财经:
    AK58新闻:
    新浪股票:
    新浪股票:
    证券之星:

     [更多酷站连接]

     

     

    [欢迎交换连接]

    [百宝箱之与非门分舵]

    [电脑圈圈的家当]

    [IC921的博客]

    [柔月阁]

    [八楼的呼吸]

    [hotpower 的水潭]

    [xwj的文君阁]

    [所长的BLOG]

    [阿摆手记]

    [电子伙伴]

    [unaided的笔记]

    [小飞的笔记]

    [单片机开发联盟]

    [网址之家]

    [好东西网址大全]

    [美萍中文精选]

    [数字电视之家]

    [SMARTCODE电子书斋]

    [软件开发之窗]

    [Armoric]

    [我爱研发网]

    [infernal的笔记]

    [雄鹰的空中加油站]

    [SunK]

    [逍遥电子]

    [ningpanda的博客]

    [C-Design]

    [一网见天下]

    [海边淘沙]

    [嵌入式365]

    [水牛的仓库]

    [股剩是怎样炼成的]

    [PIC论坛]

    [ICC AVR开发网]

    [中国高校自动化网]

     

     

     

    MCU博客-中国电子工程师博客网 

    大学生电子网 

     

     

     

     

     

    !!! 《匠人的百宝箱》 !!!