控制/MCU
随着人们生活水平的提高, 各种热水器的使用已相当普及, 与之相配套的控制仪也相继问世。然而, 目前市场上的各种热水器控制电路还与理想要求相差甚远。消费者需要真正的全自动 控制, 以实现使用的最简单化, 就像家用电视机、电冰箱一样, 接通电源、设定完毕就不用再操心了。鉴于国内太阳能热水器市场不断扩大, 而与其相配套的控制器却急需改进的情况, 研制了这套太阳能热水器控制器。本文设计的太阳能热水器是以AVR Meg a 32 单片机为检测控制核心,不仅实现了温度、水位两种参数的实时显示功能, 而且具有温度设定与控制功能。控制器可以根据天气情况利用辅助加热装置使蓄水箱内的水温达到预先设定的温度, 从而达到24 小时供应热水的目的。实际应用结果表明, 该控制器和以往的显示仪相比具有性价比高、温度控制与显示精度高、使用方便和性能稳定等优点,提高了我国太阳能应用领域控制水平, 具有可观的经济效益和社会效益。
系统原理图如图1 所示。其中:W 为水位传感器( 压力式) , 包含T2 ; T1 为集热器顶部温度传感器; T2 为水箱温度传感器, 与水位W一体; T3 为防冻循环温度传感器( 安装于集热循环管路最低温度点) ; T4 为用水管道温度传感器( 安装于用水循环管路最低温度点) ; T5 为管道电伴热温控传感器( 一般安装于自来水上水管道, 位置可根据实际情况而定) ; P1 为集热管路循环泵, 亦作为防冻循环泵; P2 为用水管路循环泵( 亦可用电磁阀+ 自动增压泵形式);E1 为上水电磁阀( 自来水直接进水箱补水) ;E2 为顶水电磁阀( 自来水进集热器, 顶水入水箱) ; EH1为电加热器; EH2 为电伴热带( 选用) 。
图1 系统原理图。
在太阳能热水工程控制系统中, 需实现:LED 显示, 温差循环, 定温出水, 定温上水, 自动上水, 定时上水, 低水位上水, 自动加热, 定时加热, 电加热防干烧, 防冻电加热, 防冻循环, 定时间段定温管路循环, 高温保护, 警戒水位保护, 防炸管, 断电参数与运行状态记忆,出厂参数复位, 故障及相关报警提示, 安全防护, 管道防冻电伴热, 用水管道防冻, 水灯显示方式, 键盘锁, 紧急断电, 开机自检等众多功能。可以将这些功能分为以下6 类:键盘输入、A / D 转换、实时时钟、数据显示、E2PROM的使用和故障报警。该系统利用低功耗高性能的RISC 单片机AVR 作为控制电路的核心, AVR 微处理器是Atmel 公司的8 位嵌入式RISC 处理器, 具有高性能、高保密性、低功耗等优点。程序存储器和数据存储器为可独立访问的哈佛结构, 代码执行效率高。系统采用的AVR Meg a 32 处理器包含有32 KB 片内可编程FLA SH 程序存储器; 1 KB 的E2PROM 和2 KB的RAM; 同时片内集成了看门狗; 8 路10 位ADC; 3 路可编程PWM 输出; 具有在线系统编程功能, 片内资源丰富, 集成度高, 使用方便。AVR Mega 32 可以很方便地实现外部输入参数的设置, A / D 转换, E2PROM 的数据存储, 工作状态的指示等。
键盘输入部分可用4*4 按键组成0~ 9 数字键及确认键, 8 位数码管组成显示电路提示信息。单片机应用系统中, 键盘扫描只是单片机的工作内容之一。单片机在忙于各项工作任务时, 如何兼顾键盘的输入, 取决于键盘的工作方式, 而键盘的工作方式取决于CPU 的忙、闲情况而定。其原则为既要保证能及时响应按键操作, 又不要浪费过多的CPU 工作时间。通常, 键盘的工作方式有3 种, 即编程扫描, 定时扫描和中断扫描。
为进一步提高扫描键盘的工作效率, 可以采用中断扫描方式, 只有在键盘有按键按下时, 才执行键盘扫描并执行按键功能程序。而键盘的识别方法又可以分为3 种:
扫描法, 线反转法和编码法。对于按键较少的独立式键盘可采用编码法, 如4 * 4 的键盘, 键盘可以编码为:
01H, 02H, ……, 0FH, 10H 共16 个。
关于温差循环, 定温出水, 定温上水, 自动上水, 低水位上水, 自动加热, 电加热防干烧, 防冻电加热, 防冻循环, 高温保护, 警戒水位保护, 防炸管, 安全防护, 管道防冻电伴热, 用水管道防冻等大多数功能就是对系统多处进行水温水位检测, 也就是将传感器的模拟量通过AVR Mega 32 自带的8 路10 位ADC 进行A/ D 转换。
检测水温现多采用PT100 传感器, 电路图如图2所示。
图2 Pt100 电路图。
R2 , R 3 , R4 和Pt100 组成传感器测量电桥, 为了保证电桥输出电压信号的稳定性, 电桥的输入电压通过TL431 稳至2. 5 V。从电桥获取的差分信号通过两级运放放大后输入单片机。电桥的一个桥臂采用可调电阻R3 , 通过调节R3 可以调整输入到运放的差分电压信号大小, 通常用于调整零点。放大电路采用LM358集成运算放大器, 为了防止单级放大倍数过高带来的非线性误差, 放大电路采用两级放大, 如图3 所示, 前一级放大倍数约为10 倍, 后一级约为3 倍。温度在0 ~100 # 变化, 当温度上升时, Pt100 阻值变大, 输入放大电路的差分信号变大, 放大电路的输出电压AV 对应升高。
一般在使用Pt100 的温度采集方案中, 都会对放大器LM358 采集来的模拟信号AV 进行温度采样, 即进行A/ D 转换。
在对数值进行滤波操作之后, 还要将A/ D 值转换为温度, 只需要确定比例系数K 和基准偏差B 即可。
温度转换的C 语言实现过程为:
temper ature= ( adc_data* K) - B; / / 换算成温度值
采用DALLAS 公司推出的涓流式充电时钟芯片,它内部集成了实时时钟/ 日历和31 B 静态RAM, 可以通过串行接口与单片机进行通信。实时时钟、日历电路电路提供秒、分、时、星期、月、年的信息, 每个月的天数和闰年天数可自动调整, 时钟操作可通过AM/ PM 标志位决定采用24 小时或12 小时时间格式。DS1302 与单片机之间能简单地采用同步串行的方式通信, 仅需3 根线:复位( RST ) 、I/ O 数据线、串行时钟( SCLK) 。
DS1302 工作功耗很低, 保持数据和时钟信息时, 功耗小于1 mW。利用它很容易实现自动上水、自动加热的控制和时间显示。假设这里单片机设置报警为凌晨3 点整, 启动电加热, 当CPU 读出DS1302 时间为3 点即可使对应的I/ O 管脚输出高电平, 打开继电器启动加热器, 定时上水功能同理。同时在不显示温度和水位时,它还可作为精确的电子钟进行时间显示。
该系统采用静态显示的方式, 用3 个数码管交替显示水温、时间、报警的信息, 在按键时, 也将用数码管显示。水位级别显示则用LED 显示。显示电路由3 个移位寄存器74H C164 和3 个数码组成。每个数码管接有8 个1 k 电阻, 保护数码管, 防止电流过大烧坏数码管。具体的电路如图3 所示。
图3 数码管静态显示。
本系统除复位键、手动上水和手动加热允许键外,其余的按键为选择设定项目( 温度显示或定时显示) , 每按一下choose 键, 设定功能变换1 次。按1 次 + 键,设定值对应加1。按1 次 - 键, 设定值对应减1。为了防止设定的参数在掉电后丢失, 利用了E2PROM 存储各设定参数。
本文设计的太阳能工程热水器控制器, 硬件设计简单, 功能强大。经试验证明系统稳定, 操作方便, 值得推广。本文给出的电路是一种最基本最简单的电路, 其目的是给出一种单片机的控制模式, 亦可以根据用户需求, 添加更多附加功能。
全部0条评论
快来发表一下你的评论吧 !