文档视界 最新最全的文档下载
当前位置:文档视界 › 智能饮水机控制系统设计之令狐文艳创作

智能饮水机控制系统设计之令狐文艳创作

智能饮水机控制系统设计之令狐文艳创作
智能饮水机控制系统设计之令狐文艳创作

毕业设计(论文)

令狐文艳

智能饮水机控制系统设计

Design of control system for intelligent drinking water machine

班级

学生姓名学号 1

指导教师职称

导师单位徐州工业技术职业学院

论文提交日期

论文真实性承诺及指导教师声明

学生论文真实性承诺

本人郑重声明:所提交的作品是本人在指导教师的指导下,独立进行研究工作所取得的成果,内容真实可靠,不存在抄袭、造假等学术不端行为。除文中已经注明引用的内容外,本论文不含其他个人或集体已经发表或撰写过的研究成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。如被发现论文中存在抄袭、造假等学术不端行为,本人愿承担本声明的法律责任和一切后果。

毕业生签名:日期:

指导教师关于学生论文真实性审核的声明

本人郑重声明:已经对学生论文所涉及的内容进行严格审核,确定其内容均由学生在本人指导下取得,对他人论文及成果的引用已经明确注明,不存在抄袭等学术不端行为。

指导教师签名:日期:

摘要

在现代生活当中中,饮水机已经成为了我们日常生活中必不可少的家用电器。但是,有的饮水机的功能只是普通的加热功能,有的功能比较强大,如可以掌控水温的具体控制,但往往这样的饮水机价格使很多人望而止步,根本不能适用于普通家庭。根据这个情况,我设计了这款智能饮水机,这款饮水机的价格相对低廉但是功能却非常强大。一部分利用单片机对水温的控制,在加上液晶屏幕显示温度,得到稳定的人与机器的操作,这款饮水机有很多的模式可以使用,如:冲咖啡和沏茶等。这个设计也添加了团情况的紧急措施,如果水箱在缺水的情况下使用,无法使之加热,它会通过智能报警的方式告知饮水机主人提醒主人以保证其该系统的安全性,让人用起来更加稳定。对于这个设计来说,在确保用户使用过程中的安全的情况下为用户的使用更加方便、舒心。这个设计的智能化水平相对来说比较高,自动化操作可以根据用户自己来实现。

关键词:智能饮水机,单片机,控制

Abstract

In modern life, drinking water machine has become essential household appliances in our daily life. However, some drinking water heating machine function is normal, some more powerful features, such as the specific control can control water temperature, but often drinking machine price this makes a lot of people stop, not suitable for the ordinary family according to this situation, I designed the intelligent water dispenser, the water dispenser is relatively inexpensive but the function is very powerful. A part of the use of single-chip temperature control, temperature display and LCD screen, get the human and machine stable operation, the water dispenser has a lot of die Type can be used, such as coffee and tea. This design also added a group of emergency measures, if the tank used in the absence of water, heating can not make it, it will be through the intelligent alarm way to inform the drinking machine owner to remind the owner to ensure the safety of the system, let people use them more stable. For this design, comfortable to ensure more convenient use for users, users in the process of security. The design of the intelligent level is relatively high, automatic operation according to the user to achieve.

目录

摘要2 Abstract (2)

引言 (4)

第一章系统功能设计5

第二章系统硬件设计6

2.1 51单片机最小系统6

2.2 温度检测部分6

2.3按键设计7

2.4 继电器控制部分8

2.4.1 电磁阀控制8

2.4.2 加热电阻控制8

2.5显示电路9

2.6液位检测10

2.7 报警电路11

2.8红外控制电路11

第三章系统软件设计12

3.1主程序设计12

3.2温度子程设计13

3.5按键子程序设计17

3.6继电器控制子程序设计21

3.7显示子程序设计22

第四章PCB板的设计25

参考文献26

总结27

致谢28

附录:29

引言

如今生活中,社会发展异常迅速,人们开始对平时生活的要求也是一步一步上升中,在现在打社会生活中,有许多的家用品、办公用品都开始智能化了、自动化了。向饮水机已经在所有家庭、办公室许多地方普遍使用的电器而言也朝着自动化、智能化发展方向。但是现在的水源污染比较严重,人们对于自己的健康生活要求也越来越重视,所以对于用水而言,变得着外看重,当人们在商店选饮水机时会格外注意一些比较智能、而且很安全的饮水机。这个就是这个课题研究的意义所在,怎么样才能使饮水机更加智能化呢?还有实现对饮用水消毒呢?

传统的饮水机在国外已经被淘汰了,传统饮水机只拥有普通的加热功能,而加热过程总会导致水的矿物质流失,喝这种水不利于人体健康。所以在国外和国内生产的饮水机都会有一个设计,防止千滚水设计,而且已经实现了温度可随意调节控制,从而真正做到了安全饮水健康饮水。[1]还有些功能更加强大的饮水机拥有制冷效果,智能化水平也相对来说比较高。因此,这也为本设计提供了设计要求:安全健康、智能化水平较高。

第一章系统功能设计

本设计由单片机本模块、传感器模块、用户按键模块、LCS12864显示模块、电磁阀模块构成。传感器模块采用了DS18B20数字温度传感器实现温度采集、显示部分使用芯片LCD12864实现数据的显示,可以形成一个良好的人机界面信息交换。液位检测部分采用光电液位传感器监测液位,当饮水机的水位过低时,蜂鸣器发出报警,LED指示灯亮。重置按钮设计实现用户模式选择和用户所需的温度设置。用户可以根据不同的需要选择性地设置不同的参数。系统运行比较稳定,操作更加简单,如图1所示系统框图。

图1系统框图

第二章系统硬件设计

2.1 51单片机最小系统

STC89C52是一种相对来说比较高性能、低功耗CMOS 8位微控制器,它拥有8K在系统中可以编程FLASH存储器,而且它在单芯片上,拥有在系统FLASH可编程、灵巧的CPU 8位、定时器、三十二位I/O 口线、512字节R A M,内置M A X810、4 K B EEP R O M复位电路、外部中断四个、一个4级7向量中断结构全双工串行口、3个十六位计数器/定时器。使得该芯片更能适用各种场合。[2]最小系统由晶振电路和复位电路组成,复位电路如图2所示。

图2复位电路

当单片机复位端口出现有高电平信号而且多于两个或者两个以上的机器周期时单片机将会复位。基本上都是用11 M晶振作为系统时钟。晶振电路图如图3所示。

图3 晶振电路原理图

2.2 温度检测部分

饮水机经常被用作温度开关的温度控制装置,当温度达到温度时锁定开关的温度,温度开关会使适当的闭幕式和开幕式。温度开关的价格相对比较低,但是因为设计所需要实现的智能控制和用户温度的控制,因此温度开关已经无法满足这个设计要求。所以,D S18 B20数字温度传感器的使用,传感器并不需求外部电路通过程序在完成对温度的采集工作,A/D转换通常采用的是for.ds18b20单片机读取单总线数据传输方式,有6个临时存储单元存储器单元49字节,和单片机温度采集所需的值存储在9个字节的零字节,第一个字

节。因为信号读出芯片为数字信号,所以他们需要被转换为一个二进制数十进制数为收购人员使用更直观的温度value.ds18b20精确度最高,使用了一系列的算法12,L最低精确度是9,范围为55°~125°满足与设计的要求并且价格比较低,所以这个设计所采用的是D S18B20为温度检测部分为核心装置。因为该传感器的输出电路较小,因此它需要添加 4.7k以上的拉电阻从而确保该标准的数据传输。[4]具有少量的I / 0,这就是它的优点,温度检测电路如图4所示。

图4 温度检测电路原理图

2.3按键设计

KEY1为进入外部中断的按键,KEY4,KEY3,KEY2三个按键的工作模式工作模式为:沏茶模式,固定的水温85℃;咖啡模式,固定的水温65℃;还有用户想要自己设置的温度,也可以通过按键进行选择确定。KEY5为自动检测水箱液位按键。设计原理如图5所示。

图5按键模块

2.4 继电器控制部分

继电器的种类多种多样如中间继电器时间、继电器电磁继电器、固态继电器、因此继电器的工作原理动是相同的,简单点来说它就是保护流控开关可以实现小电流控制大电流,属于控制的功能。[ 6 ]这个设计使用的继电器是电磁式继电器,这种类型的继电器是用触点和由线圈两部分组合而成的,当电流流过这个线圈他将会产生磁力因此使触电吸和,而它就会使常闭触点所断开,常开触点所导通达到控制的功能。5V直流电压控制电磁阀和3000W的加热电阻丝这样就能够完成了。继电器的型号一定要选择准确,选择能通过电流金额正确的如最大承受功率,如果选择错误会使继电器的破损,

2.4.1 电磁阀控制

等到热水箱中的水加热完成之后,当系统检测到出水口放有水杯时,系统电磁阀门将会开启。如果水口没有水杯,电磁门不会开启。因为电磁阀门是一个通过电磁控制的工业设备,用来控制流体的元器件之一。当铁芯出现磁力的时候,就说明阀门里面的线圈有电流通过,从而吸引弹簧取消弹簧的压力让阀口打开来,还有在额定工作电压之内,阀口的打开幅度越大,流进电磁们的电流就愈大。这个系统所采用也是12V供电,还是单向电磁阀。[ 7 ]这样一来将会非常节约成本而且大大的减少了设计的难度。使用电磁式继电器可以实现小的电流对大的电流的控制。原理图如图6所示。

图6 阀门控制电路

2.4.2 加热电阻控制

一般的加热电阻基本上都是依靠焦耳定理的。电阻的发热值就是电阻的阻值和流过电阻电流值的平方的乘积。因此加热电阻的功率一般都是比较大,而且基本上都是220V交流电直接通电。所以在使用直流稳压电源已经无法完成它的要求,而且只要稍微处理不当将会使系统损坏和导致用户人身安全。如果要继续用电磁式继电器使弱电和强电两个的控制,就必须慎重选择继电器的型号。控制原理虽然一样但是因控制的是220 V功率电子装置,因此一定要使用大功率继电器,让它通过10 A电流,这也是为了预防安全事故的发生,还是

为了保障系统的稳定性。这个也是这个设计的重点难关,使用弱电控制强电必须通过不断的测试。由于这个设计需要迅速加热的功能,因此热水箱容水量中不能太大,而且加热电阻的功率一定要满足条件,经过反复测试,3KW的加热电阻就非常稳定。[8]而且使用软件编程控制热水箱中的水将不会进行多次煮沸,预防千滚水对于人体的潜在危害。原理图如图7所示。

图7 电阻丝的控制电路

2.5显示电路

为了实现具有良好稳定的人机交换界面,而且也能够将采集的信息完全显示出来,所以采用的液晶显示屏是LCD12864。[10]选用LCD12864的主要原因是LCD12864自带文字库可以直接显示文字。并且屏幕显示较大方便直观如图8所示。

图8 显示电路

LCD12864汉字图形点阵液晶显示模块可以显示64×256点阵显示是的

RAM和图形汉字建成8192文字和128字符,拥有背光功能3.3-5v电源具有很多种功能,比如:睡眠模式,自定义字符,屏幕转换。[ 11 ]可以适用于并行读和读写串行写两种工作方式。运作的模式是利用单片机P2.7口控制在LCD12864拥有复位的功能,如果复位端有一个高层次的LCD12864复位时,因设计的LCD12864控制,就会并行读取方式,使单片机的P0口和LCD12864接口连接数据,在利用单片机控制E口和RS,R /W实现控制LCD12864。

2.6液位检测

检测液位最重要的就是为了预防热水箱无水空烧的危险。如果热水箱空烧,不仅会导致加热电阻的破损,还会造成较大安全危险。检测液位的方法有很多种,最简单方便的办法就是利用两个导线直接放入水箱之中,如果两个导线完全浸没在水平表面上的时候,水就会像导线,两根导线导通I/0口就可以检测到相对应的电信号。这样来说,虽然廉价简单,毕竟可靠性和稳定性优点缺失。因此利用稳定性更好而且用起来也非常方便的光电式液位传感器。这个设计所采用传感器型号为XKC-W001-NPN,这款型号的液位传感器不仅可以适应不相同颜色、不同程度透明度的液体液位的检测。这个液位传感器特点功能有,可以用红外光电效应,只要这个传感器上电之后,就会使传感器当中的红外发射头发出红外线,如果没有遇到液体时,红外线就不会发生任何效应。当检测到液位时就会发出反射现象使红外接收头立马就会接收到反射信号,这样一来传感器的输出端口将会实现低高电平的转换,把光信号转换成了电信号让使用者收集。输出端口的传感器,就是黄线可以直接和单片机I/0相连接,因为输出信号的电流不够,所以必须在传感器黄线和白线之间加入10K拉电阻放大电流信号,确保信号传输的可靠性。传感器红线接5V电源,蓝线接地实传感器供电,确保传感器正常工作[ 8 ]。如图9所示

图9液位传感器典型接线图

2.7 报警电路

报警电路通常是采用无源蜂鸣器作为报警的电路主器件。无源蜂鸣器它是流控器件,只要当它在规定范围之内流进的电流值越大,蜂鸣器它的响度就会越大。而且如果频率不固定还能够利用编程控制,为了确保流经蜂鸣器的电流,所以必须要利用三极管使电流放大。设计所用的三极管是2N222 NPN型三极管,128倍放大值更加容易实现饱和度。[ 12 ]利用1 K电阻当作限流电阻预防三极管烧坏如图10所示。

图10蜂鸣器报警电路

2.8红外控制电路

红外线自动控制是用来控制红外探测的设计在热水箱中的水,发射红外屏蔽遇到的被反射接收到的红外接收头。通过放大器和一个用于外围设备的电压比较器的外部设备的出口检测容器。电压比较器是多种多样的,因为只有一个运算放大器,美国E单操作amplifier,op29是一个低噪声双极运算放大器的开环增益,低输入失调电压,可用于多种场合。[ 13]电源供应范围 F +3 ~ + 18v 。图13显示原理图。原理图显示,红外发射器和红外发射头与RPR220,和设计简单,R16是电位器,可用来设置比较电压.如图11所示。

图11 光电检测电路

第三章系统软件设计

3.1主程序设计

程序进行按键检测,通过不同的按键可以输入到一个不同的子程序,实现对各功能的控制。系统主流图如图12所示。

图12主程序流程图

3.2温度子程设计

温度子程序它可以控制DS18B20的单总线,它所进行的初始化,还有的是温度读取后和温度的读取对二进制的数据进行改变从而转换十进制,以便其他子程序的调用根据芯片手册上的时序图编程即可完成对DS18B20的控制。[ 14 ]总线从开始到的时候就已经开始准备发出一个480us的较短短复位脉冲,它会在T1时释放,总线在等待中,只要复位成功,就会在15 ~ 60us之后让DS18B20 DS18B20发射出这个高脉冲到主机上面,接着它复位成功T2时刻就会发出长60 ~ 240us的低脉冲,但是每一次进行温度采集时都将需要复位。参考程序如下;程序控制采用的是单总线DS18B20,DS18B20的读取读取温度和初始化和二进制数据转换成十进制数据的温度,方便使其他子程序C一切。在根据时序图的芯片手工编程就可以完全控制。

复位时序图如图13所示。

图13复位时序图

主机总线刚开始发出短480us的复位脉冲,T1时在等待释放的总线,只要复位成功,它就会在15 ~ 60us到DS18B20发送出高P后信号反映给主机,然后在时间T2脉冲60 ~ 240usD S18B20是一个低温度采集每一次成功复位。必须要重置。该程序如下;

void Init18b20 (void)//初始化DS18B20子程序

{

D18B20=1; // 拉高输出1

_nop_();//空操作延时1US左右

D18B20=0; //拉低信号

TempDelay(80); //delay 530 uS//80大概延时530US

_nop_();//空操作延时1US左右

D18B20=1; // 拉高输出1

TempDelay(14); //delay 100 uS//14 延时100US 样子

if(D18B20==0)//判断器件是否存在

flag = 1; //detect 1820 success! //传感器反馈正常则让flag=1 flag = 0; //detect 1820 fail! else

TempDelay(20); //20 //延时20US样子

_nop_();

_nop_();

D18B20 = 1;

}

写数据时序图如图14所示

图14写时序图

当主机总线从t0就开始保持稳定在15us的低电平然后在t1时使电平拉高稳定在45us之上,主机就可以从总线上读取DS18B20放在总线上面的数据。

[15]

读取每个位数据之间的间隔一定大于1us。参考程序如下:

void WriteByte (uchar wr) //单字节写入

{

unsigned char idata i;//定义变量i

for (i=0;i<8;i++)//循环8次写8位数据

{

D18B20 = 0;//拉低准备数据

_nop_();//稍作延时

D18B20=wr&0x01;// 数据最低位给到总线上

TempDelay(3); //delay 45

_nop_();//稍作延时

_nop_();//稍作延时

D18B20=1;//拉高数据

wr >>= 1;//数据左移移位高位移入低位

}

}

图15读取序图

当主机总线从t0时就开始稳定在15us的低电平然后当它在t1时就将电平拉高稳定45之上,主机就能够从总线上面读取DS18B20放在总线上面的数据。读取每个位数据之间间隔一定大于1us。

参考程序如下:

unsigned char ReadByte (void) //读取单字节

{

unsigned char idata i,u=0;//声明变量

for(i=0;i<8;i++)//循环8次读取8位数据

{

D18B20 = 0;//拉低准备信号

u >>= 1;//数据左移一位

D18B20 = 1;//拉高准备读取

if(D18B20==1)//判断总线高电平的话

u |= 0x80;//保存数据

TempDelay (2);//延时一下

_nop_();//稍作延时

}

return(u);//8位数据读取完返回

}

3.5按键子程序设计

这个设计一共设计出了五个按键,这五个按键主要功能是为了修改标志位flag,从而可以使程序稳定的通过判断标志位flag进入到相应的程序中。程序流程图如图17所示。

图16按键子程序流程图

这个程序设计思路是,(按键1)S1与单片机中的外部中断1相连接,如果按下S1就会进入外部中断1相应的子程序当中,而且在这个子程序当中进行循环。在通过S4,S3,S2选择系统这三个不同的工作模式,它们的模式为:沏茶模式,固定的水温85℃;咖啡模式,固定的水温65℃;还有用户想要自己设置的温度,也可以通过按键进行选择确定。假如用户想要退出选择模式选择,就会进入到普通的冷水使用。S5按下就会终止按键子程序的循环。这个设计也是为了预防空烧的情况发生,它将会在每次循环前时候自动检测水箱液位波动。故因此,绝对不会出现程序逻辑混乱从而导致水箱空烧的情况,参考程序如下:

if(s2==0)//咖啡模式

{

delay(5);//延时5MS消除按键抖动

if(s2==0)//再次判断S2是否按下是则不是干扰

{

while(!s2); //等按键松开

lcd_wcmd(0x01); //LCD 清屏

init_disp3();//调用对应咖啡模式显示子程序

hot=0;//开启加热

green=1;//绿指示灯灭

yellow=0;//黄指示灯亮

red=1;//红指示灯灭

while(1)//循环控制

{

TemperatuerResult();//读取温度值

if(Temperature>30)//判断温度是是否达到设定

{

finish();//调用完成子函数

lcd_wcmd(0x01);//显示先清屏

init_disp2();//调用显示

break;//达到设定温度返回

}

if(s5==0)//S5按键检测

{

delay(5);//延时5MS消除按键抖动

if(s5==0)//再次确认按下

{

lcd_wcmd(0x01); //清屏

init_disp2();//调用对应显示

red=1;//红指示灯灭

yellow=1;//黄指示灯灭

green=1;//绿指示灯灭

break;//返回退出

}

}

}

}

}

/************************************************/

相关文档