快热式家用热水器方案设计书_第1页
快热式家用热水器方案设计书_第2页
快热式家用热水器方案设计书_第3页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、快热式家用热水器设计快热式家用热水器的现状功能要求当前,热水器已成为日常生活中不可缺少的家用电器,设计制造更实用、更方便、更安全、 更节能的热水器是产品设计师和生产厂家不断追求的目标。快热式电热水器与普通电热水器最大的区别在于它取消了储水罐,热水随开随用,无需预热,减少了电能浪费。另外,它还 具有体积小,使用安全,安装方便等优点。其设计要求如下:(1) 用2位数码管显示出水温度,能显示设定功率档位。(2) 温度检测显示范围 0099 C,精确度土 1 Co(3) 设置3个功率档位指示灯,14档一个灯亮,58档两个灯亮,9档3个灯全亮。0档 无功率输出,档位灯不亮。(4) 设置3个轻触按钮,分别

2、为电源开关键、“ +”键和“-”键。加热功率分09档,按“ +” 键依次递增至9档,按“-”键依次递减至0 o 0-9档功率依次为0、1/9P、2/9P、39P、 4/9P、5/9P、6/9P、7/9P、8/9P、P。(5) 出水温度超过 65C时停止加热,并蜂鸣报警,温度降到45C以下时恢复。(6) 内胆温度超过105 C时停止加热,防止干烧。按快热式电热水器的功能要求,决定采用如图1所示的模块组成系统,主要包括电源电路、单片机控制器、温度检测电路、按键输入电路、LED数码管及指示灯电路、报警电路和加热控制电路。快热式电热水器为了达到“快热”的效果,取消了储水罐,使冷水在在进入加热管后立即被

3、 加热,这就要求加热管有较大的功率,家用电热水器一般采用方便、 可靠的电热丝加热方法。根据热学及流体力学原理,结合实际实验室测试,可以得到水温与流量、加热功率之间的关 系如表1。表1中所列水温值和流量值可以满足大多数家庭用户使用要求。当最大的加热功率为 7.5KW时,按220V供电计算电流约为 34A,所以要求专线供电。表1水温与流量、加热功率的关系温度/? 水流量 /(L/mi功率 /KW22.533.544.547423634325.554484138356.562544642387.57060514641注:进水温度为 15? C,输入电压为 AC 220V。对于加热功率的控制,最简单的

4、方法是由若干不同功率的电热丝组合得到几种加热功率,由于快热式热水器的加热功率较普通的大,且档位设置较多,用电热丝组合的方法需要几组电热丝和继电器,成本增高且工作可靠性降低,所以比较理想的是采用可控硅控制功率,电路简单又控制方便。温度检测的方法较多,最经典的方法就是用热敏电阻 (或热敏传感器)组成电桥来采集信号, 再经放大、AD转换后送单片机。目前比较先进的方法是采用专门的集成测温传感器(如 DS18B20),直接将温度转换成数字信号传送给单片机。为了简化电路又降低成本,本文采 用了温度/频率转换测温法,直接将温度信息转换成频率信号,用单片机测出频率大小,从 而间接测出温度值,温度/频率转换电路

5、简单可靠,成本低廉。控制器的选择系统硬件电路的设计快热式热水器控制系统电路如图2,由7个部分电路组成:单片机系统及外围电路、电源电路、按键输入电路、LED数码管及指示灯电路、报警电路、加热控制电路和温度检测电路。控制器采用成本低廉且工作可靠的 89C51或其兼容系列的单片机, 采用12M的晶振。89C51 对电源要求不甚严格, 电源电路采用普通的市电降压整流, 然后经集成稳压器(7805)稳压 输出+5V电压。按键采用轻触小按钮。显示电路采用两位共阳数码管,由两个三极管9012驱动,3个LED指示灯用于指示加热功率。报警电路采用5V的自鸣式蜂鸣器。U?U3BA123U3CAU3AAR2478-

6、TLs19Q11893:PFAT8C5IMQ29012U4D2D5C7 -C51000UF/0.1UF22I/9VIN400X4C21UFP1.5 二U3DAR2R64.7KP1.7Y1|1MHZ10UFP10P(0P11P0P12P(2P13P(3P14P01P15P(5P16P(6P17PUP30/RXDP2)P3I/TXDP2PP/INT0P2P/INT1P3P3VT0PgP35/T1P3PJBX1P2EA/VFX2WR/P3ALE/PRIRESETPSE371014VinDVouNGU?VOLTREG239220X81 16 1DS?DPY_7-SEG 1 a DPYDS?DPY_7-

7、SEG 1 a DPY14 334bcd eedcb:p gip d严曲335346666337777328-88-82328R10R19510R239012P1J.64.7KQ52122R74ZZK5102425F27dP dpLEDgnarn5?R20L丐I35101R21LED4Q+5VLED10.1UFU5MOC023R25!-heater上C9丄C64RUFM0VR22Ob-20K2W口D6IN407Q6BTA41F1FUSE加热控制电路图3所示为加热控制电路原理图,电热丝的加热功率由双向可控制硅控制,单片机通过光耦给可控硅触发信号, 控制可控硅的导通角, 从而控制电热丝的有效加热功

8、率。为了在关机和超温保护的状态下能可靠地关断加热电源,电路中设计了继电器来控制加热电源。其中串联在继电器线圈回路的熔丝为 105 C的热保险丝,当温度超过105 C时,热保险丝会熔断,防止加热管干烧。与电热丝并联的LED发光管用来指示电热丝的工作状态。可控硅触发信号中需要对市电进行过零检测,以实现触发脉冲的相位延时。 本电路中是利用00 72Ti t leSi zeBD ate:Fi l e:5温度检测电路温度检测电路组成如图 5所示,温度/频率变换电路是利用反相器组成的RC多谐振荡器,其中的R24是一个热敏电阻,当温度变化时引起热敏电阻的阻值变化,从而改变了振荡器输出的方波频率该频率的估算可

9、用如下公式f : 1.1RC系统软件程序的设计按快热式热水器的功能,系统程序必需实现以下任务:显示扫描、按键扫描处理、加热控制、 温度检测(包括超温报警)。51系列单片机实现多任务运行的方法就是分时复用,在程序设 计的时候要相应地分配好各任务的CPU占用时间。对于以上几个任务稍加分析可以看出,显示扫描、按键扫描和加热控制任务相对而言有实时要求,而温度检测任务则可用定时(0.51s)实现。主程序系统在上电复位后, 先对温度寄存器、档位寄存器赋默认值,并进行清除超温标志,设置定 时器及中断系统的工作方式等初始化工作。由于51系列单片机没有停机指令,我们可以利用主程序设置死循环反复运行各个任务。我

10、们把有实时要求的子程序(显示扫描、按键扫描、加热控制)放在最内层的循环中,计算其 运行一次占用的 CPU时间,然后根据温度检测定时的间隔时间,计算出该循环的循环次数。本例中每运行一次有实时要求的子程序(即显示扫描、按键扫描、加热控制)约占用5ms CPU时间,运行测温子程序的时间间隔为0.5s,那么循环次数应为100 次。图6为主函数程序流程图。显示扫描子程序显示子程序完成两位共阳数码管的扫描显示任务,图7为显示扫描子函数程序流程图。开始开始图7显示扫描子程序流程图图6主程序流程图按键扫描处理子程序按键扫描子程序负责逐个扫描档位“+”键、档位“-”键和开关键是否被按下,若有键被按下则作出相应处

11、理。图 8为按键扫描子程序程序流程图。加热控制程序加热控制程序根据用户设定的加热档位和系统当前的状态,来决定是否加热和控制加热的功率并点亮相应的指示灯。如有超温标志还应打开蜂鸣器报警。 图9为加热控制程序程序流程 图。加热控制程序通过控制继电器的通断来决定是否给电热丝通电加热,而加热的功率大小则由双向可控硅的导通角决定。 系统程序利用外中断INT1检测市电的过零点, 检测到过零点后, 立即根据设定的加热档位给定时器 T1赋一个延时参数,并打开定时器 T1,允许其中断。当 定时器T1计满溢出后触发中断, T1中断程序就会给可控硅发一个触发信号,使其导通。图10、11分别是过零检测函数程序流程图和

12、可控硅触发信号控制程序程序流程图图8按键扫描子程序流程图开始图9加热控制程序流程图开始(T1中断)开始(过零 信号)图10过零检测程序流程图图11可控硅触发信号控制程序流程图温度检测程序温度检测程序的基本原理就是将温度/频率转换电路测得的频率与事先建立好的温度/频率表进行比较,查找出与该频率相应的温度值。事先在实验测试后建立的温度/频率表是0100C温度所对应的频率值,它是一个频率对应于温度递减的非线性函数,我们在C语言中用一个一维数组 Tab101来表示,下标为温度,数组元素为频率值。计算温度的方法采 用高效、准确的二分法查表,查表的过程如下: 先给定查找的温度的最大值 Tmax和最小值Tm

13、in,即确定查找的范围,我们根据已有的 温度表默认最大值 Tmax=100,最小值Tmin=0。 假定测得温度Temp为最大值和最小值之中间值即Temp=(Tmax+Tmin)/2。 将实际测得的频率值 TOrig与假定温度Temp在表格中对应的频率 Tabtemp相比较,如 果相等,那么假定温度就是当前实际温度,即完成查找。 如果TOrig Tabtemp,说明实际温度应该在 Tmin和Temp之间(因为递减函数特性),所以修改查找范围令 Tmax=Temp,同理,若 TOrig Tabtemp,说明实际温度应该在Temp禾口 Tmax之间,则令 Tmin=Temp; 检查查找范围,如果 T

14、max-Tmin1,那么重复第步骤直到完成查找。温度检测程序完成温度计算后便刷新系统当前温度寄存器,并判断有无超温、置位或清除相应的标志位。图12为温度检测程序程序流程图。图12温度检测程序流程图单片机使用外中断INTO和计时器TO检测输入的频率大小,为了减少测量的系统误差相对 值和随机误差对测量精度的影响,程序中取100个方波周期的和作为测量结果。程序中使用静态变量pxOcount进行外中断的计数,在测量开始时,我们给 pxOcount赋值2是为了 让频率测量有准确的起点。另外,为了区分测频的开始和结束,还使用了测频开始标志位 TOtst和测频完成标志位 Testok。图13为频率测试程序程

15、序流程图。图13频率测试程序流程图调试及性能分析快热式热水器硬件电路不包括任何可调节原件,因此只要器件质量可靠,引脚焊接正确,硬件电路无需测试。该电路中测温部分的振荡电路对电容才才C1的容量比较敏感,若此电路要批量生产,可在热敏电阻R24上再串一个可变电阻,以补偿 C1的容量变化。在初次做本电路或关键硬件参数有调整时,应对系统软件中控制加热功率的可控硅导通角延时参数表和温度/频率转换表这两部分进行调试。可控硅导通角延时参数主要由市电的频率和过零检测电路的脉冲宽度决定,可以先根据市电频率,按等功率的要求计算理论值,再根据过零检测电路的脉冲宽度加以调整。图14所示为用实际电路在实验温度/频率转换表

16、可以对照标准温度计实测的办法进行测试。 室测得的温度/频率曲线图。用这个方案设计的快热式家用电热水器,电路简单,成本较低,经试验运行证明工作稳定、 可靠,在无需改变硬件的条件下,如加入PID等自动控制程序还可以升级成自定温控的电热水器。频率 /Hz 300002500020000150001000050000 816 24 32 40 48 56 64 72 80 88 96图14温度/频率曲线图控制源程序清单以下是快热式电热水器控制源程序清单,采用C51编写,在Keil uVision2 V2.30 (C51.exe V7.0)环境下调试通过,并下载到AT89C51测试运行成功。/*快热式热

17、水器程序MCU AT89C51 XAL 12MHz*/#in clude #in clude vintrin s.h#in clude void delay(u nsig ned in t);/ 延时函数void display(void);/ 显示函数un sig ned char keysca n( void);/ 按键扫描处理函数void heatctrl(void);/ 加热控制函数sbit swkey=P1A0;/开关键sbit upkey=P1A1;sbit down key=P1A2;sbit buzz=P1A05;sbit triac=P1A6;sbit relay=P1A7;

18、sbit led 仁 P2A5;sbit led2=P2A6;sbit led3=P2A7;sig ned char data ctemp;加热档位“+”键/加热档位“-”键/蜂鸣器输出端/可控硅触发信号输出端/继电器控制信号输出端/加热档位指示灯1/加热档位指示灯2/加热档位指示灯3/当前测得水温寄存器unsigned char data dispram2=0x10,0x10;/ 显示区缓存unsigned char data heatpower,pxOcount;II加热档位寄存器、外中断 0计数器bit tempov,t0tst,testok;II超温标志、测温开始标志、测温完成标志II

19、初始化水温寄存器II初始化加热档位为5档II清除超温标志II默认开关键被按下,进入待机状态II设定T0和T1工作方式为16位定时器II设置外中断0和1为下降沿触发II设置外中断0优先II打开总中断I*主函数 void main(void)无参数,无返回值循环调用显示、键扫描、温度检测、加热控制函数*Ivoid mai n(void)un sig ned char i,j;ctemp=15;heatpower=5;tempov=0;swkey=0;TMOD=0x11;TCON=0x05;IP=0x01;IE=0x80;while (1)i=1;doif (keysca n() i=6;displ

20、ay。;heatctrl();/end for (b=0;b100;b+)temptest(); while (-i);j=abs(ctemp);dispram1=j%10;j/=10;dispram0=j?j:0x11;/end while (1)/如果有键按下,显示当前档位3s/调用显示函数一次约4ms/调用加热控制函数/每0.5s进行一次测温/通过改变循环次数i的大小决定是否刷新显示/取温度绝对值/取个位数送显示/取十位数/送显示(带灭零)/*延时函数 void delay (un sig ned int dt)参数:dt,无返回值延时时间=dt*500机器周期*/ void delay

21、 (un sig ned int dt)register un sig ned char bt;/ 定义寄存器变量for (; dt; dt-)for (bt=250; -bt; );/此句编译时以“ DJNZ实现,250*2=500机器周期/*显示函数 void display(void)无参数,无返回值两位共阳数码管扫描显示*/un sig ned char code table=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,un sig ned char i,a;a=0xfe;for (i=0; i2; i+)P2|=0x1f;PO=

22、tabledisprami;P2&=a;delay(4);a=_crol_(a,1);P0=0xff;0x88,0x83,0xc6,0xa1,0x86,0x8e,0xbf,0xff;/位选赋初值/循环扫描两位数码管/清除位选/送显示段码/选通一位/延时2ms/改变位选字/消影/*按键扫描处理函数un sig ned char keysca n( void)无参数,返回值:无符号字符型,无键按下为0,有键按下为其它影响全局变量:heatpower*/un sig ned char keysca n( void)un sig ned char i,ch;if (upkey=0)buzz=0;/ “

23、 +” 键/打开蜂鸣器(发出按键音)for (i=0;i5;i+) display();/延时消抖buzz=1;/关闭蜂鸣器if (heatpower0) heatpower-; / dispram0=0;dispram1=heatpower;while (dow nkey=0) display(); / return (2);else if (swkey=0)buzz=0;for (i=0;i30;i+) display(); / buzz=1;swkey=1;while (swkey=0) display(); ch=IE;IE=0x00;P0=0xff;P1=0xff;P2=0xff;d

24、ispram0=0x10;dispram1=0x10;display();while (1)while (swkey) display();buzz=0;else if (downkey=O)/ “-” 键buzz=0;/打开蜂鸣器(发出按键音)for (i=0;i5;i+) display();/ 延时消抖buzz=1;/关闭蜂鸣器档位减一/显示当前档位等待键释放/返回有键按下/开关键/打开蜂鸣器(发出按键音)延时消抖/关闭蜂鸣器/置位开关键/等待键释放/暂存中断控制字IE/禁止中断/清除端口输出/显示“-”/等待开关键按下/打开蜂鸣器(发出按键音)buzz=1;if (swkey=O) b

25、reak;while (swkey=0) display。;IE=ch;return (0);else return (0);/关闭蜂鸣器/确认开关键被按下/等待键释放/还原中断控制字IE/返回无键按下/无任何键按下时由此返回/*加热控制函数void heatctrl(void)无参数,无返回值判断是否加热、加热功率及档位指示灯处理*/void heatctrl(void)if (!tempov)/当没有超温标志时relay=0;/接通继电器buzz=1;/关闭蜂鸣器switch (heatpower)/判断加热档位case 0: EX1=0;ET1=0;triac=1;led1=1;led2

26、=1;led3=1;break; 0 档不加热,指示灯不亮case 1:case 2:case 3:case 4: led仁0;led2=1;led3=1;EX1=1;break; 14 档 1 号指示等亮case 5:case 6:case 7:case 8: led仁0;led2=0;led3=1;EX1=1;break; 58 档 1 号、2 号指示灯亮case 9: EX1=0;ET1=0;led1=0;led2=0;led3=0;triac=0;break;/9 档全功率,指示灯全亮else/当有超温标志时relay=1;/断开继电器EX仁0; ET仁0; triac=1;/关闭可控

27、硅buzz=0;/蜂鸣报警/*测温函数 void temptest(void)无参数,无返回值,影响全局变量:ctemp, tempov测量并查表计算温度,判断是否超温*/void temptest(void)sig ned char temp,tempm in ,tempmax;un sig ned int t0rig;un sig nedintcodetemptab=0x6262,0x61eb,0x6171,0x60f7,0x6047,0x5ff7,0x5f6e,0x5eef,0x5e53,0x5dbe,0x5d4b, 0x5ca5,0x5c17,0x5b6b,0x5ada,0x5a5c,

28、0x599b,0x58ff,0x5869,0x57b0,0x570d,0x5663,0x55c6,0x550e,0x5444,0x5396,0x52dd,0x5240,0x5189,0x50b0,0x5005,0x4f20,0x4e69,0x4db1,0x4cef,0x4c42,0x4b64,0x4aaa,0x49e1,0x48fc,0x4847,0x476c,0x46b1,0x4604,0x4503,0x4449,0x4356,0x4299,0x41c0,0x40ce,0x3ff0,0x3f2b,0x3e33,0x3d86,0x3ca6,0x3bd2,0x3b26,0x3a39,0x3973,0x38a6,0x37ef,0x373f,0x3687,0x35c3,0x3507,0x3487,0x33bc,0x32ed,0x324f,0x319e,0x3106,0x3053,0x2fa6,0x2f2a,0x2e88,0x2e00,0x2d63,0x2cd6,0x2c65,0x2bae,0x2b28,0x2a97,0x2a07,0x298e,0x2914,0x287a,0x280d,0x278a,0x2703,0x2687,0x2626,0x25e5,0x256d,0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论