《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 基于STM32的热水器控制器与网络接口设计
基于STM32的热水器控制器与网络接口设计
来源:微型机与应用2014年第2期
蔡妍娜
(无锡机电高等职业技术学校,江苏 无锡214028)
摘要: 针对太阳能热水器的智能化控制和网络监控功能进行了研究并提出设计方案,给出了整机原理图,完成了以STM32F103芯片为核心的测控电路及各接口电路的设计,选用ENC28J60以太网控制器定时上传数据,为实现局域网功能做好准备。控制器具有良好的人机交互功能及初步智能化特征。
Abstract:
Key words :

摘  要: 针对太阳能热水器的智能化控制和网络监控功能进行了研究并提出设计方案,给出了整机原理图,完成了以STM32F103芯片为核心的测控电路及各接口电路的设计,选用ENC28J60以太网控制器定时上传数据,为实现局域网功能做好准备。控制器具有良好的人机交互功能及初步智能化特征。
关键词: 太阳能热水器;智能控制;网络接口

    随着以微控制器为代表的嵌入式控制技术的充分应用,家用电器的功能越来越多[1],对它的智能控制要求也越来越高。本控制器以STM32F103ZE为核心,可以智能检测当前的水温水位,判决加热及上水;数据通过网络接口上传。
1 总体设计方案
    根据本智能控制器的功能需求,可划分为6大部分:主控模块(STM32芯片)、测量电路(包括水位测量和水温测量)、显示电路、用户面板、数据采样与存储电路以及基本控制模块,实际电路模块结构以及各电路基本功能如图1所示。

    控制器电路中以STM32芯片为系统核心,负责各种数据的处理;操作电路采用独立式按键,设定参数并选择功能;使用数字温度传感器采集实时水温,传感器采集表示水位的电压信号;存储电路用来存储系统的程序代码、数据等;显示电路用LED显示电路状态、LCD来实时显示各种数据;基本控制电路直接用控制信号输出到继电器、控制触点开闭来完成;网络接口电路用来上传数据、实现系统的远程网络监控。
2 关键硬件设计
2.1 电路主控核心

    意法半导体公司的微控制器产品STM32系列资源丰富,有强大的嵌入式实时操作系统支持,并同时支持以太网接口,在设计上提供了最大的便捷。最终选定的STM32F103ZE[2]增强型系列芯片使用高性能的ARM CortexTM-M3 32位RISC内核,电路最小系统只需最简单的复位操作和外部晶振即可搭建完成,内部的复位信号在NRST引脚上输出,在每路电源引线处都并联一个0.1 μF的电容用于消除电源的高频干扰。
2.2 水位检测电路
    电路采用了由UN2003集成电路和探针电极组成的水位检测报警电路,使用寿命长,结构简单,电路结构如图2所示。


    集成电路UN2003(IC6)是一个非门电路,其内部是7通道达林顿矩阵电路。水箱中的P1~P6电极探针分别与IC6的输入端相连(选择了6个通道,也可在电极与引脚间接入电阻)。IC6输出端的发光二极管作为水位状态指示。水位每上升20%都可得到相应指示。STM32通过检测IC6输出电压,判断水位、控制电磁阀工作。
    水箱水位低于下限时,立即控制电磁阀开始注水;此时水位上升,信息送入控制芯片,将当前水位与设定水位进行比较判断操作,发光二极管相应点亮显示当前水位状态;一旦达到最高水位,判“溢出”,立即控制电磁阀停止注水。
2.3 水温检测电路
    采用I2C总线型数字温度传感器芯片LM75来进行温度测量,测量范围能够达到-55 ℃~+125 ℃,同时具备自校准功能[3]。将LM75焊接在远离高压电源又能良好传导水箱内水温的独立位置,芯片将测量的温度转换为数字信号存入内部温度寄存器,获得读指令时,I2C兼容的2线串行接口输出温度信息到控制芯片。电路如图3所示。

    LM75通过I2C总线与STM32连接,进行数据传输,在从属状态工作。采集到的温度数据直接以数字方式传输,提高了系统的抗干扰性。当温度上升到TOS寄存器设置的门限时(预设的水温),触发OS报警输出,可实现对水箱水温的控制。
2.4 辅助加热及上水控制电路
    为保证加热效率,投入两路辅助电加热。当检测到的水温低于设定温度时,STM32输出控制信号使光耦内部发光二极管发光,触发光敏三极管导通,继电器线圈得电使常开触点吸合,辅助加热器电路接通、开始加热,并点亮相应指示灯。
    上水电磁阀采用12 V直流单向电磁阀,其基本工作原理与辅助电加热电路相同,只是控制对象变为电磁阀的通断电。
2.5 数据存储电路
    STM32F103ZE采用FSMC(可变静态存储控制器)技术,能与异步或同步存储器及16位的PC存储器卡接口,能按需要进行外部存储器[4]扩展。
    NAND Flash存储器采用三星公司128 MB的K9F1-G08U芯片,储存太阳能热水器的温度、水位等重要工作参数。NOR Flash采用AMD公司16 MB的AM29LV160D芯片,用来存放液晶屏字库文件和系统表格。采用IS61LV25616作为SRAM,不需要刷新电路即能保存它内部存储的数据,用于扩展数据缓存。
3 网络接口设计
    目前围绕以太网进行的技术开发早已涉及各类企业和家庭网络[5],把家电顺利连接到互联网、实现安全高效的远程数据采集是应用的关键。
    本设计采用美国微芯科技公司(Microchip)的以太网控制器ENC28J60,性能安全可靠,占用空间少[6]。电路如图4所示,ENC28J60工作在3.3 V电压之下,与STM32的工作电压匹配,输入输出无需另加驱动电路。选用STM32的PB13作串行时钟SCK,PB12作片选信号CS,PB14作数据输出,PB15作数据输入。通过对CS脚的使能与置位设定在读写操作和工作状态间转化。

    ENC28J60的SPI接口与STM32相连接,而与网络有关的4个引脚连到网络接口,选择专用的带有变压器隔离的RJ45接口,可省略变压器。STM32收到水温水位数据后,按照协议进行UDP和IP封装。再通过SPI写指令把封装好的数据包发送到ENC28J60的发送缓冲区,自动生成前导符和帧首定界符,并添加一个包控制字节。
4 软件设计
    使用KeilμVision4 IDE开发平台,可直接进行完整的程序编译、仿真调试和下载。
    主程序流程如图5所示,是一个循环主体,首先完成系统的上电初始化(时钟、I/O口、定时器、中断源以及全局变量),之后进行按键检测,有按键就响应按键要求,没有按键就进行一系列任务处理:完成对系统外围接口电路的检测、数据判断与自动控制以及数据的读取保存和向网络发送等,数据及电路状态通过显示电路告知用户。

 

 

    该控制器以STM32为核心,能实时采集水温、水位信息并进行显示;将设定的水温、水位与当前水温、水位进行比较,自动在太阳能加热与电加热中转换,并按设定值自动上水;间隔固定时间通过网络接口向外传送水温、水位数据,实现系统的网络监控。
参考文献
[1] 赵葵银,唐勇奇.用网络接口芯片PS2000实现智能化家电与Internet连接[J].电子技术应用,2001,27(5):75-77.
[2] 刘隆吉.便携式动态心电监护系统研究[D].山东:山东科技大学,2010.
[3] Maxim.LM75传感器[EB/OL][2009-03-10].http://china.maxim-ic.com/datasheet/index.mvp/id/6004.
[4] 潘辉.FSMC机制的NOR Flash存储器扩展技术[J].单片机与嵌入式系统应用,2009(10):31-34.
[5] LIM H K,JEONG D K,KIM K T.A single-chip storage LSI for home networks[J].IEEE Communications Magazine,2005,43(5):141-148.
[6] MURRAY C J.Ethernet chip aimed at embedded market[J]. Design News,2005,60(10):44-50.

此内容为AET网站原创,未经授权禁止转载。