基于单片机的车载自动饮水机控制系统的设计.docx
- 文档编号:12832292
- 上传时间:2023-04-22
- 格式:DOCX
- 页数:29
- 大小:122.50KB
基于单片机的车载自动饮水机控制系统的设计.docx
《基于单片机的车载自动饮水机控制系统的设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的车载自动饮水机控制系统的设计.docx(29页珍藏版)》请在冰豆网上搜索。
基于单片机的车载自动饮水机控制系统的设计
基于单片机的车载自动饮水机控制系统的设计
摘要:
温度控制系统可以说是无所不在,热水器系统、空调系统、冰箱、电饭煲、电风扇等家电产品以至手持式高速高效的计算机和电子设备,均需要提供温度控制功能。
本系统的设计可以用于热水器温度控制系统和饮水机等各种电器电路中。
它以单片机AT80C51为核心,通过3个数码管显示温度和4个按键实现人机对话,使用单总线温度转换芯片DS18B20实时采集温度并通过数码管显示,并提供各种运行指示灯用来指示系统现在所处状态,如:
温度设置、加热、停止加热等,整个系统通过四个按键来设置加热温度和控制运行模式。
关键词:
单片机;数码管显示;单总线;DS18B20
TheDesignofAutomaticDrinkingMachineControlSystemBasedOnSingleChipMicrocomputerOn-board
Abstract:
Temperaturecontrolsystemcanbesaidtobeubiquitous,waterheaterssystem,airconditioningsystems,refrigerators,ricecookers,electricfansandotherhomeappliancesaswellashigh-speedandefficienthand-heldcomputersandelectronicequipmentarerequiredtoprovidetemperaturecontrol.Thesystemdesigncanbeusedfordrinkingwaterheatertemperaturecontrolsystemsandotherelectricalcircuits.AT80C51microcontrollerasthecoreofit,throughthethreetemperaturedigitaldisplayand4keystoachieveman-machinedialogue,theuseofsingle-chipbustemperatureconversiontemperatureDS18B20real-timeacquisitionandthroughthedigitaldisplayandoffersavarietyofoperatinglighttoindicatesystemnowliveinthestate,suchas:
temperaturesetting,heating,andstopheating,theentiresystemthroughthefourbuttonstosettheheatingtemperatureandcontroltheoperatingmode.
Keywords:
Microcontroller;DigitalDisplay;SingleBus;DS18B20
1前言
1.1研究的目的及意义
本设计是基于单片机的车载自动饮水机控制系统的设计,此设计主要是要求采用单片机为控制核心,设计车载自动饮水机电控系统,并对饮水机的温度控制,使其在工作中达到预期的目的效果。
而车载饮水机的温度控制,无论是在工业生产过程中,还是在日常生活中都起着非常重要的作用,过低的温度或过高的温度都会使水资源失去应有的作用,从而造成水资源的巨大浪费。
特别是在当前全球水资源极度缺乏的情况下,我们更应该掌握好对水温的控制,把身边的水资源好好地利用起来。
本次设计为一个基于单片机的车载饮水机的温度控制系统,该系统可以实时检测饮水机水箱的水温,并且可以通过数码管显示饮水机水箱水温度数,可以通过键盘或开关选择制冷或加热,可以人为设置水的温度的上下限,如加热,当温度在设定的范围内时正常工作,当低于水温下限时控制加热器加热;如制冷,当温度高于水温上限时控制压缩机制冷,温度检测范围0~95℃,精度±1℃,当温度超过设定值时具有示警功能。
1.2车载饮水机的发展趋势
从1992年安吉尔生产出中国第一台饮水机开始,饮水机加桶装水的方便,快捷,健康的饮水方式便在中国兴起,到了1999年,饮水机市场逐渐成熟,美的,沁园,浪木等企业也开始生产符合国家标准的饮水机。
2006年以后,研究发现,有内胆饮水机的水垢和节能问题渐渐暴露。
所以安吉尔和美的推出了外置加热的沸腾胆饮水机产品,以独特的热胆外置方式加热饮用水,现喝现烧更节能,更易清洁加热内壁。
沁园推出了无热胆系列产品,由于宣传角度和内部造型新颖,曾热卖一时,但是火爆之后,大量的问题暴露,水垢,二次污染,节能,安全这些问题都没有解决,导致顾客投诉增多,身败名列。
所以饮水机的发展趋势近10年左右还会以外形优美的外热饮水机为主,传统饮水机为辅。
中国水家电行业发展十余年,2002年以前少数有规模的企业在做全国市场,并进行了一些宣传推广工作,虽然是独步难行,可也很好的推动了市场的发展。
在2002年前后,更多企业认识到了中国水处理市场的巨大商机,进来的企业多了。
据有关部门统计中国在国家有关部门登记在册的水家电企业有2000余家,还有一些未在统计范围之内,这些企业多半在从事水家电的OEM生产。
规模不足给中国家电中小企业形成几大风险:
一是规模成本不经济,产品在市场最终还是缺乏竞争力。
二是规模不足导致企业在产业环境即上下游的博弈能力不强,一旦产业环境发生变化,企业的应变力不足。
三是规模不足导致企业抗风险能力差,尤其是难以抗拒大品牌大资本企业的进入。
在未来中国饮水机结构就产生了二极分化:
一极为末流品牌(或称为弱势品牌)的产品阵营。
一极为主流品牌未来的市场份额也将由他们主宰。
本设计是基于单片机车载自动饮水机系统的设计,单片机对对温度的控制是工业生产中经常使用的控制方法。
单片机主要用于控制,它的应用领域遍及各行各业,大到航天飞机,小至日常生活中的冰箱、彩电,单片机都可以大显其能。
采用单片机对整个测量电路进行管理和控制,使得整个系统智能化、功耗低、使用电子元件较少、内部配线少、成本低,制造、安装、调试及维修方便。
我相信此设计是非常有前景的。
1.3主要研究的内容
(1)本系统上电后数码管显示当前测量温度,此时加热指示灯和保温指示灯均不点亮;若此时按“自动加热”键,则单片机自动将预加热温度设置为80℃并开始加热,送出一个加热信号,并点亮加热指示灯;若按“温度设置”键,则进入预加热温度设置界面,此时数码管闪烁显示预设置温度,此时通过按键“+”和“-”进行设置温度,预设置温度按“5”递增或递减,设置好温度后再按一次“温度设置”键确定,单片机保存预设置温度,并开始加热;
(2)如果实测温度大于或等于预设置温度,则单片机发出停止加热信号并熄灭加热指示灯,点亮保温指示灯,且当超过预设温度时发出报警;
(3)当温度下降到预设置温度以下5度时,单片机再次发出加热信号,同时熄灭保温指示灯,点亮加热指示灯,依次循环控制;
(4)完成加热管控制电路、报警电路设计,重点设计好临界点问题;
(5)必要时有防冻功能,当冬天气温太低,要有防止管内结冰装置,有人工可以选择语音是否播放的功能。
2系统整体的设计
2.1硬件整体的设计
设计并制作一个基于单片机的热水器温度控制系统的电路,其结构框图如图1:
图1系统机构框图
Fig1Thesystemblockdiagram
硬件系统子模块:
(1)单片机最小系统电路部分;
(2)键盘扫描电路部分;
(3)数码管温度显示和运行指示灯电路部分;
(4)温度采集电路部分;
(5)继电器控制部分;
(6)报警部分。
2.2软件整体的设计
良好的设计方案可以减少软件设计的工作量,提高软件的通用性,扩展性和可读性。
本系统的设计方案和步骤如下:
(1)根据需求按照系统的功能要求,逐级划分模块;
(2)明确各模块之间的数据流传递关系,力求数据传递少,以增强各模块的独立性,便于软件编制和调试;
(3)确定软件开发环境,选择设计语言,完成模块功能设计,并分别调试通过;
(4)按照开发式软件设计结构,将各模块有机的结合起来,即成一个较完善的系统。
首先接通电源系统开始工作,系统开始工作后,通过按键设定温度值的上限值和下限值,确定按键将设定的温度值存储到指定的地址空间,温度传感器开始实时检测,调用显示子程序显示检测结果,调用比较当前显示温度值与开始设定的温度值比较,如果当前显示值低于设定值就通过继电器起动加热装置,直到达到设定值停止加热,之后进行保温,如果温度高于上限进行报警。
3硬件系统设计
3.1硬件电路分析及设计报告
本次设计主要思路是通过对单片机编程将由温度传感器DS18B20采集的温度外加驱动电路显示出来,包括对继电器的控制,进行升温,当温度达到上下限蜂鸣器进行报警。
P1.7开关按钮是用于确认设定温度的,初始按下表示开始进入温度设定状态,然后通过P1.5和P1.6设置温度的升降,再次按下P1.7时,表示确认所设定的温度,然后转入升温或降温。
P2.3所接的发光二极管用于表示加热状态,P2.5所接的发光二极管用于表示保温状态。
P2.3接继电器。
P3.1是温度信号线。
整个电路都是通过软件控制实现设计要求。
3.1.1单片机最小系统电路
因为80C51单片机内部自带8K的ROM和256字节的RAM,因此不必构建单片机系统的扩展电路。
如图2,单片机最小系统有复位电路和振荡器电路。
值得注意的一点是单片机的31脚
必须接高电平,否则系统将不能运行。
因为该脚不接时为低电平,单片机将直接读取外部程序存储器,而系统没有外部程序存储器,所以
必须接VCC。
在按键两端并联一个电解电容,滤除交流干扰,增加系统抗干扰能力[1]。
图2单片机最小系统图
Fig2Thesystemblockdiagram
AT80C51的管脚说明:
VCC:
供电电压。
本设计供电电压为+5V。
GND:
接地。
P0口:
P0口为一个8位漏极开路双向I/O口,每个管脚可吸收8个TTL门电流。
当P1口的管脚第一次写“1”时,被定义为高阻输入。
P0口能够作为外部程序数据存储器,它可以被定义为数据/地址的低八位。
在Flash编程时,P0口作为原码输入口,当Flash进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4个TTL门电流。
P1口管脚写入“1”后,被内部上拉为高电平,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为低八位地址接收。
P2口:
P2口为一个带内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被上拉电阻拉高,且作为输入。
P2口的管脚被外部下拉为低电平时,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉电阻,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在Flash编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流,这是由于上拉的缘故。
RST:
复位输入端。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时。
ALE:
当访问外部存储器时,地址锁存于锁存地址的低位字节。
在FLASH编程期间,该引脚用于输入编程脉冲。
在平时,ALE端口以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而,要注意的是:
每当其用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出,可将SFR8EH地址置0。
此时,ALE只有在执行MOVX,MOVC指令时ALE才起作用[1]。
PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指令期间,每个机器周期PSEN两次有效。
但在访问外部数据存储器时,这两次有效的PSEN信号将不出现。
EA:
EA功能为内外程序存储器选择控制端。
当EA保持低电平时,单片机访问外部程序存储器。
当EA端保持高电平时,单片机访问内部程序存储器。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入端。
XTAL2:
来自反向振荡器的输出端。
3.1.2水位监测电路
水位检测传感器采用两根不锈钢针,一根和地连接,另一根通过100K电阻接到+5V电源,控制芯片采用NE555,当水位低时,不足以使两个电极导通时,NE555的2脚为高电平,第3脚输出低电平,即P1.2=1.单片机通过检测P1.2的电平,可以判断热水箱水位是否满[2]。
水位检测电路原理图如图3所示:
图3水位监测电路原理图
Fig3Levelmonitoringcircuitprinciplediagram
3.1.3键盘电路
键盘是单片机应用系统中的主要输入设备,单片机使用的键盘分为编码键盘和非编码键盘。
编码键盘采用硬件线路来实现键盘的编码,每按下一个键,键盘能够自动生成按键代码,并有去抖功能。
因此使用方便,但硬件较复杂。
非编码键盘仅仅提供键开关状态,由程序来识别闭合键,消除抖动,产生相应的代码,转入执行该键的功能程序。
非编码键盘中键的数量较少,硬件简单,在单片机中应用非常广泛。
图为按键和AT80C51的接线图,检测仪共设有4个按键,每个按键由软件来决定其功能,4个按键功能分别为[3]:
(1)SW1:
设定按键(设定按键);
(2)SW2:
加法按键(当前位加5);
(3)SW3:
减法按键(当前位减5);
(4)SW4:
退出设置键(系统初始化)。
图4单片机按键和AT80C51的接线图
Fig4KeysofsinglechipmicrocomputerandAT80C51
3.1.4数码管及指示灯显示电路
(1)数码管显示说明
表1数码管编码表
Table1Digitalcodetable
段码位码显示器状态
08H01H□□□□□□□0
abH02H□□□□□□1□
12H04H□□□□□2□□
22H08H□□□□3□□□
a1H10H□□□4□□□□
24H20H□□5□□□□□
04H40H□6□□□□□□
aaH80H7□□□□□□□
各个数码管的段码都是单片机的数据口输出,即各个数码管输入的段码都是一样的,为了使其分别显示不同的数字,可采用动态显示的方式,即先只让最低位显示0(含点),经过一段延时,再只让次低位显示1,如此类推。
由视觉暂留,只要我们的延时时间足够短,就能够使得数码的显示看起来非常的稳定清楚,过程如表1。
本论文中使用了3个数码管,其中前两位使用动态扫描显示实测温度,在设置加热温度的时候,两个数码管是闪烁,以提示目前处在温度设置状态。
第三位数码管静态显示符号“℃”。
(2)运行指示灯说明
本热水器温度控制系统中共使用到3个LED指示灯和3个数码管。
右上角的红色LED是电源指示灯。
数码管右边的红色LED是加热指示灯,当刚开机或温度降到设定温度5℃以下时,该灯会亮,表示目前处于加热状态;当温度上升到设定温度时,该LED灭,同时数码管右边的绿色LED亮,表示目前处于保温状态,用户可以使用热水器;当温度再次下降到设定温度5℃以下时,绿色LED灭,红色加热的LED灯亮,不断循环[7]。
图5LED数码管显示电路图
Fig5LEDdigitaltubedisplaycircuitdiagram
3.1.5温度采集电路
此处省略?
NNNNNNNNNNNN字。
如需要完整说明书和设计图纸等.请联系?
扣扣:
九七一九二零八零零另提供全套机械毕业设计下载!
该论文已经通过答辩
3.1.6电源电路
采用L7805稳压块,输出为5V。
电子组件要正常运作都需要电源电压供电,一般常用的电源电压为+5V或+12V,因为数字IC(IngegratedCircuit:
集成电路)所供给的电压为+5V,而CMOSIC所供给的电压为+12V,7805是一个稳压块。
7805稳压管把高电压转换到低电压,7805稳压管具有保护单片机的作用。
L7805输出端要并联上一个电解电容,滤除交流电干扰,防止损坏单片机系统。
本设计采用两种供电方式,一种为DC7~18V直流稳压电源变换成5V的直流电;另一种为四节干电池共6V经二极管加压后得到将近5V的直流电源,电源配以开关和指示灯,以方便使用。
黄色发光二极管表示保温,红色的表示加热状态[8]。
图13系统电源设计图
Fig13Thesystempowersupplydesign
3.1.7报警电路设计
同时可以在系统里设定温度上限值,由于加热停止后,加热管还有余热当采集到的外界温度高于当前所设定温度上限值时,程序就会进入报警子程序,触发蜂鸣器进行报警。
报警电路原理图如图14所示。
图14报警电路图
Fig14Alarmcircuitdiagram
图中的三极管8550的作用是增加驱动能力,比9012的驱动电流还大些,因此选用8550[9]。
当程序进入报警子程序时,把P2.7置0,就会触发蜂鸣器,为了使报警声音效果更好,对P2.7取反,发出报警嘟噜声音。
3.1.8加热管控制电路设计
继电器是常用的输出控制接口,可以做交直流信号的输出切换。
它具有控制系统(又称输入回路)和被控制系统(又称输出回路),通常应用于自动控制电路中,它实际上是用较小的电流去控制较大电流的一种“自动开关”。
故在电路中起着自动调节、安全保护、转换电路等作用。
继电器控制接点操作说明如下:
COM:
Common,共同点。
输出控制接点的共同接点。
NC:
NormalClose常闭点。
以Com为共同点,NC与COM在平时是呈导通状态的。
NormalOpen常开点。
NO与COM在平时是呈开路状态的,当继电器动作时,NO与COM导通,NC与COM则呈开路状态。
当89S52的P2.5输出高电平时,继电器不导通,反之当输出低电平时,继电器导通,这样就激活了连接回路[10]。
图14单片机控制继电器电
Fig.14MCUcontrolrelay
3.2系统硬件总图
4系统总设计
本系统采用的是循环查询方式,来显示和控制温度的。
主要包括四段程序的设计:
DS18B20读温度程序,数码管的驱动程序,键盘扫描程序,以及抱经处理程序。
4.1主程序流程图
图15主程序流程图1
Fig15Theflowchartofmainprogram
图16主程序流程图2
Fig16Theflowchartofmainprogram2
4.2各模块的流程图
4.2.1读取温度DS18B20模块的流程
由于DS18B20采用的是一根数据线实现数据的双向传输,而对AT89S52单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。
DS18B20单线通信功能是分时完成的,它有严格的时隙概念。
因此系统对DS18B20的各种操作必须按协议进行。
操作协议为:
初始化DS18B20(发复位脉冲)→发ROM功能命令→发存储器操作命令→处理数据DS18B20虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点。
DS18B20必须首先调用启动温度转换函数,根据数据手册上对应转换时间来超作,如为12位转换,则应该是最大750mS,另外在对DS18B20超作时,时序要求非常严格,因此最好禁止系统中断。
由于DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。
DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。
该协议定义了几种信号的时序:
初始化时序、读时序、写时序[11]。
所有时序都是将主机作为主设备,而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。
数据和命令的传输都是低位在先。
DS18B20的读时序:
(1)对于DS18B20的读时序分为读0时序和读1时序两个过程;
(2)对于DS18B20的读时隙是从主机把单总线拉低之后,在15秒之内就得释放单总线,以让DS18B20把数据传输到单总线上。
DS18B20在完成一个读时序过程,至少需要60us才能完成。
DS18B20的写时序:
(1)对于DS18B20的写时序仍然分为写0时序和写1时序两个过程;
(2)对于DS18B20写0时序和写1时序的要求不同,当要写0时序时,单总线要被拉低至少60us,保证DS18B20能够在15us到45us之间能够正确地采样IO总线上的“0”电平,当要写1时序时,单总线被拉低之后,在15us之内就得释放单总线[12]。
系统程序设计主要包括三部分:
读出温度子程序、温度转换命令子程序、显示温度子程序。
流程图如图17所示:
图17读取温度DS18B20模块的流程图
Fig.17ReadthetemperatureDS18B20moduleflowchart
程序代码为:
GET_TEMPER:
SETBDQ;读出转换后的温度值
LCALLINIT_1820;先复位DS18B20
JBFLAG1,TSS2;
RET;判断DS1820是否存在若DS18B20不存在则返回
TSS2:
MOVA,#0CCH;DS18B20已经被检测到!
跳过ROM匹配
LCALLWRITE_1820;
MOVA,#44H;发出温度转换命令
LCALLWRITE_1820;
LCALLDISPLAY;这里通过调用显示子程序实现延时一段时间,等
待AD转换结束,12位的话750微秒
LCALLINIT_1820;准备读温度前先复位
MOVA,#0CCH;跳过ROM匹配
LCALLWRITE_1820;
MOVA,#0BEH;发出读温度命令
LCALLWRITE_1820;
LCALLREAD_18200将读出的温度数据保存到35H/36H
RET[13]
4.2.2键盘扫描处理流程
此流程为键盘扫描处理,CPU通过检测各数据线的状态(0或1)就能知道是否有按键闭合以及哪个按键闭合[14]。
键盘管理程序的功能是检测是否有按键闭合,如果有按键闭合,消除抖动,根据键号转到相应的键处理程序,按键流程图如图18所示。
图18键盘扫描子程序流程图
Fig18Keyboardscanningsubroutineflowchart
4.2.3报警处流程图
运行程序后,温度传感器DS18B20即可对环境进行温度采集,并送LED数码管显示。
我们可以在程序里设定温度上限值,当采集到的外界温度高于当前所设定温度上限值时,程序就会进入报警子程序,触发蜂鸣器进行报警。
其程序流程图如图4.4所示[14]。
图19报警子
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 车载 自动 饮水机 控制系统 设计