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

下载本文档

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

文档简介

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

2、位灯不亮。 (4) 设置3个轻触按钮,分别为电源开关键、“ +”键和“-”键。加热功率分 09档,按 “ +”键依次递增至 9 档,按“ -”键依次递减至 0o 0-9 档功率依次为 0、 1/9P、 2/9P、 3/9P、 4/9P、 5/9P、 6/9P、 7/9P、 8/9P、 Po (5) 出水温度超过 65C时停止加热,并蜂鸣报警,温度降到45C以下时恢复。 (6) 内胆温度超过105 C时停止加热,防止干烧。 按快热式电热水器的功能要求,决定采用如图1 所示的模块组成系统,主要包括电源电 路、单片机控制器、温度检测电路、按键输入电路、LED 数码管及指示灯电路、报警电路 和加热控制

3、电路。 快热式电热水器为了达到“快热”的效果,取消了储水罐,使冷水在在进入加热管后立即 被加热,这就要求加热管有较大的功率,家用电热水器一般采用方便、可靠的电热丝加热 方法。根据热学及流体力学原理,结合实际实验室测试,可以得到水温与流量、加热功率 之间的关系如表1。 表1中所列水温值和流量值可以满足大多数家庭用户使用要求。当最大的加热功率为 7.5KW时,按220V供电计算电流约为 34A,所以要求专线供电。 表1水温与流量、加热功率的关系 温度/? 水流量 /(L/mi 弋 功率 2 2.5 3 3.5 4 4.5 47 42 36 34 32 5.5 54 48 41 38 35 6.5

4、62 54 46 42 38 7.5 70 60 51 46 41 注:进水温度为 15? C,输入电压为 AC 220V。 对于加热功率的控制,最简单的方法是由若干不同功率的电热丝组合得到几种加热功率, 但由于快热式热水器的加热功率较普通的大,且档位设置较多,用电热丝组合的方法需要 几组电热丝和继电器,成本增高且工作可靠性降低,所以比较理想的是采用可控硅控制功 率,电路简单又控制方便。 温度检测的方法较多,最经典的方法就是用热敏电阻(或热敏传感器)组成电桥来采集信 号,再经放大、 AD 转换后送单片机。目前比较先进的方法是采用专门的集成测温传感器 (如DS18B20),直接将温度转换成数字信

5、号传送给单片机。为了简化电路又降低成本, 本文采用了温度 / 频率转换测温法,直接将温度信息转换成频率信号,用单片机测出频率大 小,从而间接测出温度值,温度 /频率转换电路简单可靠,成本低廉。 控制器的选择 系统硬件电路的设计 快热式热水器控制系统电路如图 2,由 7 个部分电路组成:单片机系统及外围电路、电源 电路、按键输入电路、 LED 数码管及指示灯电路、报警电路、加热控制电路和温度检测电 路。 控制器采用成本低廉且工作可靠的 89C51 或其兼容系列的单片机,采用 12M 的晶振。 89C51 对电源要求不甚严格,电源电路采用普通的市电降压整流,然后经集成稳压器 ( 7805)稳压输出

6、 +5V 电压。按键采用轻触小按钮。显示电路采用两位共阳数码管,由两 个三极管9012驱动,3个LED指示灯用于指示加热功率。报警电路采用5V的自鸣式蜂鸣 器。 U3CA C1 U3DA R2 22DV U3BA U3AA P1.5 R24 R4 P1.7 ).06uf 10 14 3PF 10JF Y1 1MHZ 1UF -t IM D1 IN4)07 1000UF/ 22J/9V IN430X4 Q2 9012 U4 5V P10 P(0 P11 P0 P12 P(2 P13 P(3 P14 P01 P15 P(5 P16 P(6 P17 PU P30/RXD P2) P3I/TXD P2

7、 PP/INT0 P2 P/INT1 P3 P3VT0 PZ P35/T1 P3 P倉 X1 P2 EA/VP RD/P3 X2 WR/P3 ALE/PRI RESET PSEI U? 2 37 35 34 7 8- 32 23 W 19 28 31 18 9 Al8C5 21 22 G79 34- -24 25 27 P1J 39 8- .6 R7 4ZZ1- 510 22DX8 I1 16 1 14 3 11 6 10 DS? DPY_7-SEG 1 a DPY 3- c b cf_ d g| e 8- 902 R10 R19 -5.- R20 R21 510 DS? DPY_7-SEG

8、1 a DPY 3 3- 5 5 6 6 / / 2 2 e f g ip dpLEDgn f d g 一 dp c 9012 +5V 4 r R23 P1.7 Ih 4.7K OQ5 9012 R25 U? heater VOLTREG 1 Vin N 20 Tabtemp,说明实际温度应该在 Tmin和Temp之间(因为递减函数特 性),所以修改查找范围令 Tmax=Temp,同理,若TOrig Tabtemp,说明实际温度应该在 Temp 禾口 Tmax之间,则令 Tmin=Temp; 检查查找范围,如果 Tmax-Tmin1,那么重复第步骤直到完成查找。 温度检测程序完成温度计算后便刷

9、新系统当前温度寄存器,并判断有无超温、置位或清除 相应的标志位。图12为温度检测程序程序流程图。 图12温度检测程序流程图 单片机使用外中断INTO和计时器TO检测输入的频率大小,为了减少测量的系统误差相 对值和随机误差对测量精度的影响,程序中取100个方波周期的和作为测量结果。程序 中使用静态变量 pxOcount进行外中断的计数,在测量开始时,我们给pxOcount赋值2 是为了让频率测量有准确的起点。 TOtst和测频完成标志位 另外,为了区分测频的开始和结束,还使用了测频开始标志位 Testok。 图13为频率测试程序程序流程图。 图13频率测试程序流程图 调试及性能分析 快热式热水器

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

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

12、 MCU AT89C51 XAL 12MHz */ #in clude #in clude vintrin s.h #in clude void delay(unsigned int)。/延时函数 void display(void)。显示函数 un sig ned char keysca n( void)。/ 按键扫描处理函数 void heatctrl(void) 。/加热控制函数 void temptest(void)。测温函数 sbit swkey=P1A0。 sbit upkey=P1Al。 sbit downkey=P1A2 。 sbit buzz=P1A05。 sbit tria

13、c=P1A6 。 sbit relay=P1A7。 sbit led1 =P2A5 。 sbit led2=P2A6 。 sbit led3=P2A7 。 signed char data ctemp 。 /开关键 /加热档位“ +”键 /加热档位“ - ”键 /蜂鸣器输出端 /可控硅触发信号输出端 /继电器控制信号输出端 /加热档位指示灯 1 /加热档位指示灯 2 /加热档位指示灯 3 / 当前测得水温寄存器 0 计数器 unsigned char data dispram2=0 x10,0 x10 。/ 显示区缓存 unsigned char data heatpower,px0count

14、 。/ 加热档位寄存器、外中断 bit tempov,t0tst,testok 。/ 超温标志、测温开始标志、测温完成标志 /* 主函数 void main(void) 无参数,无返回值 循环调用显示、键扫描、温度检测、加热控制函数 */ void main(void) unsigned char i,j 。 ctemp=15 。 /初始化水温寄存器 heatpower=5 。 /初始化加热档位为 5 档 tempov=0 。 /清除超温标志 swkey=0。 /默认开关键被按下,进入待机状态 TMOD=0 x11。 /设定 T0 和 T1 工作方式为 16 位定时器 TCON=0 x05。

15、/设置外中断 0 和 1 为下降沿触发 IP=0 x01。 /设置外中断 0 优先 IE=0 x80。 /打/ 开总中断 while (1) i=1。 do for (j=0。j100。j+)/循环 100 次约 0.5s if (keyscan() i=6。/如果有键按下,显示当前档位3s display()。 /调用显示函数一次约 4ms heatctrl()。 /调用加热控制函数 /end for (b=0 。 b100。 b+) temptest() 。 /每 0.5s 进行一次测温 while (-i)。 /通过改变循环次数i 的大小决定是否刷新显示 j=abs(ctemp) 。 /

16、取温度绝对值 dispram1=j%10 。 /取个位数送显示 j/=10。 /取十位数 dispram0=j?j:0 x11 。/送显示(带灭零) /end while (1) /* 延时函数 void delay(unsigned int dt) 参数: dt ,无返回值 延时时间 =dt*500 机器周期 */ void delay(unsigned int dt) register unsigned char bt 。/定义寄存器变量 for (。 dt。 dt-) for (bt=250。 -bt。)。/此句编译时以“ DJNZ实现,250*2=500机器周期 /* 显示函数 voi

17、d display(void) 无参数,无返回值 两位共阳数码管扫描显示 */ void display(void) unsigned char code table=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90, 0 x88,0 x83,0 xc6,0 xa1,0 x86,0 x8e,0 xbf,0 xff。 unsigned char i,a 。 a=0 xfe。 for (i=0 。 i2。 i+) P2|=0 x1f 。 P0=tabledisprami 。 P2&=a。 delay(4) 。 a=_crol_(

18、a,1) 。 P0=0 xff。 /位/ 选赋初值 /循环扫描两位数码管 /清除位选 / 送显示段码 /选/ 通一位 /延时 2ms /改变位选字 /消影 /* 按键扫描处理函数 unsigned char keyscan(void) 无参数,返回值:无符号字符型,无键按下为0,有键按下为其它 影响全局变量: heatpower */ unsigned char keyscan(void) unsigned char i,ch 。 if (upkey=0)/“ +”键 buzz=0。/打开蜂鸣器(发出按键音) for (i=0 。 i5。 i+) display()。 / 延时消抖 buzz=

19、1。/关闭蜂鸣器 if (heatpower9) heatpower+ 。 / 档位加一 dispram0=0 。 dispram1=heatpower 。/ 显示当前档位 while (upkey=0) display() 。 / 等待键释放 return (1) 。 /返回有键按下 else if (downkey=0) / “-”键 buzz=0。 /打开蜂鸣器(发出按键音) for (i=0 。 i0) heatpower- 。 / 档位减一 dispram0=0 。 dispram1=heatpower 。/ 显示当前档位 while (downkey=0) display() 。

20、/ 等待键释放 return (2) 。 /返回有键按下 else if (swkey=0) r / 开关键 buzz=0。 /打开蜂鸣器(发出按键音) for (i=0。 i30。 i+) display()。 / 延时消抖 buzz=1。 /关闭蜂鸣器 swkey=1。 /置位开关键 while (swkey=0) display() 。 / 等待键释放 ch=IE。 /暂存中断控制字 IE IE=0 x00。 /禁止中断 P0=0 xff。 P1=0 xff。 P2=0 xff。 /清除端口输出 dispram0=0 x10 。 dispram1=0 x10 。 / 显示“ -” dis

21、play()。 while (1) while (swkey) display() 。 / 等待开关键按下 buzz=0。 /打开蜂鸣器(发出按键音) for (i=0。i10。i+) display。/ 延时消抖 buzz=1。/关闭蜂鸣器 if (swkey=0) break。/确认开关键被按下 while (swkey=0) display() 。/等待键释放 IE=ch。/还原中断控制字 IE return (0) 。/返回无键按下 else return (0)。 /无任何键按下时由此返回 /* 加热控制函数 void heatctrl(void) 无参数,无返回值 判断是否加热、加

22、热功率及档位指示灯处理 */ void heatctrl(void) if (!tempov) relay=0。 buzz=1。 switch (heatpower) /当没有超温标志时 /接通继电器 /关闭蜂鸣器 / 判断加热档位 case 0: EX1=0。 ET1=0。 triac=1 。 led1=1。 led2=1。 led3=1。 break。 / 0档不加热,指示灯 不亮 case 1: case 2: case 3: case 4: led1=0。 led2=1。 led3=1。 EX1=1。 break。 /14 档1号指示等亮 case 5: case 6: case 7:

23、 case 8: led仁0b led2=0。Ied3=1。EX仁1。break。/58 档 1 号、2 号指示灯亮 case 9: EX1=0。 ET1=0。 led1=0。 led2=0。 led3=0。 triac=0。 break。 /9 档全功率,指示灯 全亮 else/当/ 有超温标志时 relay=1 。/断开继电器 EX1=0。 ET1=0。 triac=1 。/关闭可控硅 buzz=0。/蜂鸣报警 /* 测温函数 void temptest(void) 无参数,无返回值, 影响全局变量: ctemp , tempov 测量并查表计算温度,判断是否超温 */ void temp

24、test(void) signed char temp,tempmin,tempmax 。 unsigned int t0rig 。 unsignedintcode temptab=0 x6262,0 x61eb,0 x6171,0 x60f7,0 x6047,0 x5ff7,0 x5f6e,0 x5eef,0 x5e53,0 x5dbe,0 x5d4b, 0 x5ca5,0 x5c17, 0 x5b6b,0 x5ada,0 x5a5c,0 x599b,0 x58ff,0 x5869,0 x57b0,0 x570d,0 x5663,0 x55c6,0 x550e,0 x5444,0 x5 39

25、6, 0 x52dd,0 x5240,0 x5189,0 x50b0,0 x5005,0 x4f20,0 x4e69,0 x4db1,0 x4cef,0 x4c42,0 x4b64,0 x4aaa,0 x4 9e1, 0 x48fc,0 x4847,0 x476c,0 x46b1,0 x4604,0 x4503,0 x4449,0 x4356,0 x4299,0 x41c0,0 x40ce,0 x3ff0,0 x3f 2b, 0 x3e33,0 x3d86,0 x3ca6,0 x3bd2,0 x3b26,0 x3a39,0 x3973,0 x38a6,0 x37ef,0 x373f,0 x36

26、87,0 x35c3,0 x3 507, 0 x3487,0 x33bc,0 x32ed,0 x324f,0 x319e,0 x3106,0 x3053,0 x2fa6,0 x2f2a,0 x2e88,0 x2e00,0 x2d63,0 x2 cd6, 0 x2c65,0 x2bae,0 x2b28,0 x2a97,0 x2a07,0 x298e,0 x2914,0 x287a,0 x280d,0 x278a,0 x2703,0 x2687,0 x 2626, 0 x25e5,0 x256d,0 x24ee,0 x2489,0 x2414,0 x23bc,0 x2356,0 x22d9,0 x2278,0 x2203 。 / 温度频率表 px0count=2 。/测频中断函数参数 t0tst=1 。/置/ 测频程序开始标志 EX0=1。/打/ 开测频外中断 testok=0 。/清除测频程序完成标志 while (!testok) display() 。 / 等待测试完成 t

温馨提示

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

评论

0/150

提交评论