编辑: 摇摆白勺白芍 | 2019-09-23 |
1 HT46R48 HT46R48 HT46R48 HT46R48 在瓦斯热水器中的应用 在瓦斯热水器中的应用 在瓦斯热水器中的应用 在瓦斯热水器中的应用 文件编码 文件编码 文件编码 文件编码: : : :HA0134 HA0134 HA0134 HA0134 S S S S 简介 简介 简介 简介 本款强排式热水器采用 Holtek HT46R48 MCU 作为天燃热水器的控制芯片,安全性能高,具 有故障停点火、关煤气阀的保护功能.
其基本特征如下: ? 温度测量误差±1 度;
? 输出高压≥12KV;
? 点火频率 8~18 次/秒;
? 火焰感应反应时间≤1S;
? 火焰检测灵敏度≥3.3M;
? 气阀吸合电压≥3V,气阀维持电压 3.5V±0.3V. HT46R48 HT46R48 HT46R48 HT46R48 特性 特性 特性 特性 ? 工作电压:fSYS = 4MHz:2.2V~5.5V、fSYS = 8MHz:3.3V~5.5V;
? 最多有
15 个双向输入/输出口;
?
1 个与输入/输出口共享引脚的外部中断输入;
?
8 位可程序定时/计数器,具有溢出中断和
7 级预分频器;
? 内置晶体和 RC 振荡电路;
? 看门狗定时器;
? 2048*14 程序内存 ROM;
? 64*8 数据存储器 RAM;
? 具有 PFD 功能,可以用来发声;
? HALT 和唤醒功能可降低功耗;
? 在VDD=5V,系统频率为 8MHz 时,指令周期为 0.5μs;
?
6 层硬件堆栈;
?
4 通道
9 位分辨率的 A/D 转换器;
? 一通道
8 位的 PWM(脉宽可调)输出通道,与输入/输出口共享引脚;
? 位操作指令;
HT46R48 HT46R48 HT46R48 HT46R48 在瓦斯热水器中的应用 在瓦斯热水器中的应用 在瓦斯热水器中的应用 在瓦斯热水器中的应用
2 ? 查表指令,表格内容字长
14 位;
?
63 条指令;
? 指令执行时间为
1 或2个指令周期;
? 低电压复位功能;
? 20-pin DIP/SOP. 热水器功能描述 热水器功能描述 热水器功能描述 热水器功能描述 ? 停电保护 控制器开启电源即检测到有水流信号,热水器不启动. ? 风压开关保护 ? 风压开关开路保护:风机故障及风机控制电路故障不能正常转动或烟道堵塞使风压开 关不能正常闭合,热水器停止工作. ? 风压开关短路保护:非风机运转状态开机(开水)时检测到风压开关已闭合,(风机惯 性除外)热水器不启动. ? 火焰电路故障保护 ? 阀关不死漏气保护:点火在开阀前就检测到火焰信号则停止工作,风机转至无火焰信 号为止. ? 点火及气路故障保护:点不着火或意外熄火,热水器停止工作. ? 温度传感器故障保护 温度传感器故障(开路或短路)则停止工作. ? 高温保护 当检测到水温超过
85 度时控制器关闭电磁阀,热水器停止工作. ? 干烧保护 控制接有温度器接口,如温度过高使温控器断开,控制器会关掉气阀. ? 定时关机
20 分钟定时关机功能,定时关机后显示 En. ? 实时显示水温和工作状态 水温是实时加热时水的温度,工作状态即指各种出错显示. ? 前清扫 控制器点火前,让风机强行运转一段时间,以排除烟道中的残留废气. ? 后清扫 热水器关机后,让风机强行运行一段时间,以排除烟道中的残留废气及降低停机温升. HT46R48 HT46R48 HT46R48 HT46R48 在瓦斯热水器中的应用 在瓦斯热水器中的应用 在瓦斯热水器中的应用 在瓦斯热水器中的应用
3 硬件方块图 硬件方块图 硬件方块图 硬件方块图 PB4 PB5 PA4-PA7 PB2 PA2 PB3 PA0/PA1 PB1 PA3 PB0 PD0 水压开关检测 风压开关检测 温度检测 20分定时关机检测 火焰侦测 气阀控制 蜂鸣器驱动 风扇控制 数码管显示 点火控制 HT46R48 HT46R48 HT46R48 HT46R48 HT46R48 HT46R48 HT46R48 HT46R48 在瓦斯热水器中的应用 在瓦斯热水器中的应用 在瓦斯热水器中的应用 在瓦斯热水器中的应用
4 硬件电路说明 硬件电路说明 硬件电路说明 硬件电路说明 图1主机板电路图 HT46R48 HT46R48 HT46R48 HT46R48 在瓦斯热水器中的应用 在瓦斯热水器中的应用 在瓦斯热水器中的应用 在瓦斯热水器中的应用
5 3
1 2
7805 P2 5.6K R1 + 1000uF/25v C
1 QNPN Q1 Trans Ideal T1 220V V S1
4007 D
2 4007 D
3 4007 D
5 4007 D
4 + 47uF/16v C
2 10K R2 Relay-SPDT K1 csb +5v +12v
4007 D
1 +12V L1 L2 L1 P1 10K R3
1 2
3 POWER JP1 GND +5v CSB 图2电源和风机控制电路 电路图说明: ? 点火电路,通过控制 PA2 使Q2 导通,T
1、C4 产生振荡,T2 输出端产生高压点火. ? 火焰侦测电路:有火焰时感应针产生离子电流拉低 PB2 口,通过 ADC 检测其有无火焰信 号. ? 电磁阀开启电路:通过控制 PA
0、PA1 使三极管 Q
3、Q4 导通,使电磁阀吸合,电磁阀吸 合0.5 秒后再关闭吸合阀,使电磁阀处在维持状态以达到省电目的. ? 开关侦测电路及温度侦测电路. S1:温控开关,温度过高时自动断电,使电磁阀省电关闭. S2:水压开关,打开水阀时,此开关闭合,通过检测 PB3 判断是否打开水阀. S3:凤压开关,风机开启时闭合,通过 PB1 判断是否闭合. S4:定时开关:通过 PB4 判断是否选择
20 分定时关机,为高说明选择. PB0 为A/D 转换口,通过此口来检测温度的变化. HT46R48 HT46R48 HT46R48 HT46R48 在瓦斯热水器中的应用 在瓦斯热水器中的应用 在瓦斯热水器中的应用 在瓦斯热水器中的应用
6 软件设计流程图 软件设计流程图 软件设计流程图 软件设计流程图 判断TO=0 是否上电重置 ? 初始化RAM,I/O, 设置旗标55H,AAH Y 水控开关闭与否? 呼叫温度显示子程式显示温度 显示E0,电源保护 SET F_FAILURE 水控开关闭合 否?是否开水 初始化I/O 旗标55H,AAH 是否正确 ? N N MOV A,R_PROGRAMCN AND A,0FH ADDM A,PCL 跳入相应的程序中) POLLING_EVENT N Y Y PROC1 PROC2 PROC3 PROC4 PROC5 PROC6 PROC7 PROC8 PROC11 PROC10 PROC9 Y N START PROC0 Y HT46R48 HT46R48 HT46R48 HT46R48 在瓦斯热水器中的应用 在瓦斯热水器中的应用 在瓦斯热水器中的应用 在瓦斯热水器中的应用
7 POLLING_EVENT PROC0 风压开关闭与否? INC R_PROGRAMCN R_TEMP[2]=A7 R_PROGRAMCN=0 F_FAILURE=1 显示故障 E7 N Y POLLING_EVENT PROC1 R_TIMER_COUNTER4 =4 INC R_PROGRAMCN R_TIMER_COUNTER3=00H R_TIMER_COUNTER4 =00H Y N SET P_CSB_PD0 开风机 HT46R48 HT46R48 HT46R48 HT46R48 在瓦斯热水器中的应用 在瓦斯热水器中的应用 在瓦斯热水器中的应用 在瓦斯热水器中的应用
8 POLLING_EVENT PROC2 风压开关闭与否 ? R_TEMP[2]=A6 R_PROGRAMCN =0 F_FAILURE=1 显示故障E6 INC R_PROGRAMCN R_TIMER_COUNTER3=00H R_TIMER_COUNTER4 =00H N Y R_TIMER_COUNTER4 =12 N Y POLLING_EVENT PROC3 有无火焰信号 ? R_TEMP[2]=A1 R_PROGRAMCN=0 F_FAILURE=1 显示故障E1 INC R_PROGRAMCN R_TIMER_COUNTER3=00H R_TIMER_COUNTER4 =00H Y N HT46R48 HT46R48 HT46R48 HT46R48 在瓦斯热水器中的应用 在瓦斯热水器中的应用 在瓦斯热水器中的应用 在瓦斯热水器中的应用
9 POLLING_EVENT PROC4 R_TEMP[2]=A2 R_PROGRAMCN =0 F_FAILURE=1 SET PA.2 显示故障E2 INC R_PROGRAMCN CLR PA.0 CLR PA.1开气阀 R_TIMER_COUNTER3=00H R_TIMER_COUNTER4 =00H N Y 有无火焰信号 ? CLR PA.2 CLR P_CSB_PD0 开始点火,关闭风机 POLLING_EVENT PROC5 R_TEMP[2]=A3 H R_PROGRAMCN=0 F_FAILURE=1 SET PA.2 显示故障E3 INC R_PROGRAMCN R_TIMER_COUNTER3=00H R_TIMER_COUNTER4 =00H N Y R_TIMER_COUNTER4 =16 有无火焰信号 ? Y N HT46R48 HT46R48 HT46R48 HT46R48 在瓦斯热水器中的应用 在瓦斯热水器中的应用 在瓦斯热水器中的应用 在瓦斯热水器中的应用
10 POLLING_EVENT PROC6 R_TIMER_COUNTER4 =2 SET PA.2 1S后停点火 INC R_PROGRAMCN R_TIMER_COUNTER3=00H R_TIMER_COUNTER4 =00H Y N R_TIMER_COUNTER3 =100 SET PA.0 0.5s 关闭吸合阀 R_TIMER_COUNTER3=0 Y N HT46R48 HT46R48 HT46R48 HT46R48 在瓦斯热水器中的应用 在瓦斯热水器中的应用 在瓦斯热水器中的应用 在瓦斯热水器中的应用
11 PROC7 F_WATER_STREAM =1 R_TEMP[2]=A3 H F_FAILURE=1 显示故障E3 INC R_PROGRAMCN Y N 有无火焰信号? R_TIMER_COUNTER3 =200 POLLING_EVENT PROC11 N PROC8 R_TEMP[2]=A6 H F_FAILURE=1 显示故障E6 N Y R_TIMER_COUNTER4=4 风压开关闭合否 ? Y N PROC11 INC R_PROGRAMCN R_TIMER_COUNTER3=00H R_TIMER_COUNTER4=00H POLLING_EVENT HT46R48 HT46R48 HT46R48 HT46R48 在瓦斯热水器中的应用 在瓦斯热水器中的应用 在瓦斯热水器中的应用 在瓦斯热水器中的应用
12 PROC9 R_TEMP[2]=A5 H F_FAILURE=1 显示故障E5 N Y R_TIMER_COUNTER4=6 温度超过85度C PROC11 INC R_PROGRAMCN R_TIMER_COUNTER3=00H R_TIMER_COUNTER4 =00H POLLING_EVENT Y N PROC10 R_TEMP[2]=AB H F_FAILURE=1 显示EN N Y R_TIMER_COUNTER7=20 温度开关闭合否 ? PROC11 R_PROGRAMCN=7 R_TIMER_COUNTER3=00H R_TIMER_COUNTER4 =00H POLLING_EVENT Y N HT46R48 HT46R48 HT46R48 HT46R48 在瓦斯热水器中的应用 在瓦斯热水器中的应用 在瓦斯热水器中的应用 在瓦斯热水器中的应用
13 PROC11 CLR F_GASGATEOPEN CLR R_PROGRAMCNT CLR P_CSB_PD0 Y R_TIMER_COUNTER4=20 POLLING_EVENT N SET P_CSB_PD0 R_PROGRAMCN=0BH SET PA.0 SET PA.1 开风机关闭电磁阀 Y PUSH 取反F_500ms (0.5s) 旗标 Y R_TIMER_COUNTER2=C8H ? POP N SET F_5ms SET F_5000us 设置5ms旗标 Y TIMER中断程序 R_TIMER_COUNTER1=14H ? RETI N HT46R48 HT46R48 HT46R48 HT46R48 在瓦斯热水器中的应用 在瓦斯热水器中的应用 在瓦斯热水器中的应用 在瓦斯热水器中的应用
14 流程图说明 流程图说明 流程图说明 流程图说明 主程序开头判断是上电复位还是 WDT 溢出复位 (或RESET 复位), 上电复位 INITIAL RAM, INITIAL I/O,并判断水控开关是否闭合,水控开关闭合输入错误标志,显示 E0,并跳入循 环程序主体,水控开关断开直接跳入循环程序主体. 如判断是 WDT 溢出复位 INITIAL I/O , 并判断缓存器标 志R_NORMAL_FLAG1 , R_NORMAL_FLAG2 是否为 55H,0AAH,如缓存器标志正常,跳入循环程序主体,否则认 为是冷启动,跳入上电复位子程序. 循环主程序中子程序 SBR_SHOWPROCEDURE中包含有温度测试子程序和 LED 显示程序通 过Timer 定时 5ms调用显示程序 (扫描频率=66.66Hz), 如有错误标志不调用温度测试子程序, 正常或待机状态在 5ms 检测温度,温度测试子程序通过 A/D 转化
8 次求其转换的平均值, 根据转换的值查表查出相应的温度. SBR_WATERSWICH_CHECK:根据是否有水流信号设置相应的标志判断是否程序继续往下 行. L_PROCEDURE0:开水后判断风压开关是否闭合,闭合置起错误标志并显示 E7,清除程序 计数器 R_PROGRAMCNT,否则 R_PROGRAMCNT 加1,程序继续执行. L_PROCEDURE1:开启风机,延时 2s. L_PROCEDURE2:6s 检测风压开关是否闭合. 闭合:R_PROGRAMCNT 加1,程序继续执行. 开启:置起错误标志并显示 E6 清除程序加入计数器 R_PROGRAMCNT. L_PROCEDURE3:检测有无火焰信号. 有:置起错误标志并显示 E1 清除程序加入计数器 R_PROGRAMCNT. 无:R_PROGRAMCNT 加1,程序继续执行. L_PROCEDURE4:关闭风机,开始点火,1s 内检测有无火焰信号. 有:置起错误标志并显示........