基于单片机的饮水机温度控制系统设计Word格式.docx
《基于单片机的饮水机温度控制系统设计Word格式.docx》由会员分享,可在线阅读,更多相关《基于单片机的饮水机温度控制系统设计Word格式.docx(35页珍藏版)》请在冰豆网上搜索。
![基于单片机的饮水机温度控制系统设计Word格式.docx](https://file1.bdocx.com/fileroot1/2023-1/10/bec3a3f7-c440-49e7-8595-05c304f5fea1/bec3a3f7-c440-49e7-8595-05c304f5fea11.gif)
3)温度控制的静态误差≤2℃。
二、系统设计原理
2.1水温控制系统总体框图
该水温控制系统主要由AT89C51单片机控制系统、前向通道(温度采样转换电路)、显示电路等四部分组成,其总体设计框图如图2.1所示。
图2.1单片机控制系统原理框图
2.2总体方案论证
根据题目的要求。
我们提出以下两种方案:
方案1:
此一方案是采用传统的二位模拟控制方法,选用模拟电路,用电位器给定值不加热,采用上下限比较电路将反馈的温度值与给定的温度值比较后,用电位器设定决定加热或者不加热。
由于采用模拟控制方式,系统受环境的影响大,不能实现复杂的控制算法使控制精度做得较高,且不能用数码显示。
方案2:
采用单片机AT89C51为核心。
采用温度传感器DS18B20采集温度变化信号,该传感器可以直接采集数字信号并通过单片机处理后去控制温度,使其达到稳定。
使用单片机具有编程灵活,控制简单的优点,使系统能简单的实现温度的控制及显示,并且通过软件编程能实现各种控制算法使系统还具有控制精度高的特点。
比较上述两种方案,方案2明显的改善了方案1的不足及缺点,并具有控制简单、控制温度精度高的特点,此设计电路采用方案2。
2.3各部分电路论证
本电路以单片机为基础核心,系统由键盘显示模块、后向控制模块、系统主模块、前向通道模块组成
现将各部分主要元件及电路做以下的论证:
(1)温度采样部分
采用温度传感器DS18BZ0。
DS18B20具有体积小、质量轻、性能稳定等优点。
(2)显示部分
采用单片机AT89C51的串口对上电路进行通信,并对LED显示进行控制这种方案既能很好的控制显示,又为主单片机大大的减少了程序的复杂性,且具有体积小,价格便宜等特点。
(3)控制电路部分
采用AT89C51.单片机,不需外部扩展程序存储器,且它的I/O也足够本次设计的一要求。
三、硬件电路设计
3.1温度传感器的选择
温度传感器是该系统的关键器件,系统采用美国数字式温度传感器DS18B20,由具有结构简单,不需要外接电路数据线既供电又传输数据,且具有体积小,分辨率高,转换快等优点,被广泛用采用
DS18B20性能特点:
(1)独特的单线接口方式:
DS18B2O仅需要一个I/O接口,即实现微处理器同DS18B20的双向通讯。
(2)测温范围:
-55℃~+125℃,在一10℃~+85℃时,其精度为0.5℃。
(3)分辨率:
DS18820的分辨率由9~12位(包1位符号位)数据在线编程决定。
(4)温度转换时间DS18B20的转换时间与设定的分辨率有关。
9位为93.75ms,10为187.5ms,12位为750ms。
DS18820其温度检测电路如下图3.1所示:
图3.1温度检测电路图
DS18B20管脚GND为电源地,DQ为数字信号输入/输出端,VDD为外接供电电源接入端。
在本系统中用外接电源,DQ接到AT89C51的P13端,R1为信号和5V电源之间的上拉电阻。
在实际中,若需耍多点检测时,可在单总线上挂多个DS18B20,但超过8个时一要考虑驱动问题,软件设计也变得复杂多了,同时要考虑挂DS18B20单总线的一长度问题,一般不要超过50m。
为实现更远程的控制,一可以考虑把系统设计成无线系统,以突破DS18B20单总线的长度的限制。
3.2温度控制电路
此部分电路上要由光电祸合器MOC3041和IGBT组成。
采用脉宽调制输出控制电炉与电源的接通和断开比例,以通断控制调压法控制电炉的输入功率;
MQC3041光电耦合器的耐压值为400V,它的输出级由过零触发的双向可控硅构成,它控制主电路双向可控硅的一导通和关闭。
电路原理图如图3.3所示。
3.3单片机控制部分
此部分是电路的核心部分,系统的控制采用单片机AT89C51;
单片机AT89C51内部有8KB单元的程序存储器及256字节的数据存储器。
因此系统不必扩展外部程序存储器和数据存储器这样大大的减少了系统硬件部分。
执行控制部分电路如图3.2所示。
(1)AT89C51的特点
1)AT89C51与MCS-51系列的单片机在指令系统和引脚上完全兼容;
2)片内有4K字节在线可重复编程快擦写程序存储器;
3)全静态工作,工作范围:
0Hz~24Hz;
4)三级程序存储器加密;
5)32位双向输入输出线;
6)一个全双工的异步串行口。
图3.2控制执行部分电路
(2)AT89C51的功能描述
AT89C51是一种低损耗、高性能、CMOS八位微处理器,片内有4k宇节的在线可重复编程、快速擦除快速写入程序的存储器,能重复写入/擦除1000次,数据保存时间为十年。
它与MCS-5l系列单片机在指令系统和引脚上完全兼容,不仅可完全代替MCS-51系列单片机,而且能使系统具有许多MCS-51系列产品没有的功能。
AT89C51可构成真正的单片机最小应用系统,缩小系统体积,增加系统的可靠性,降低系统的成本。
(3)AT89C51引脚图如图3.3所示
图3.3AT89C51引脚图
3.4I/O通道的硬件电路的设计
就本系统来说,需要实时采集水温数据,然后将传感器采集到的数字信号,直接送入单片机中的特定单元,然后一部分送一去显示;
另一部分与设定值进行比较,通过PlD算法得到控制量并经由单片机输出的PWM波去控制IGBT的通断从而控制电热炉加热。
3.5电源电路
电源是整个系统的能量来源,它直接关系到系统能否运行。
由于单片机的供电电源为5V,光电祸合器需要的电源是7V,显示模块等其它电路需要5V的电源,因此电路中选用7805和7807两种稳压芯片,其最大输出电流为1.5A.能够满足系统的要求,其电路如上图3.4所示。
图3.4电源电路
3.6控制执行电路的设计
由输出来控制电炉,电炉可以近似建立为具有滞后性质的一阶惯性环节数学模型。
可控硅可以认为是线形环节实现对水温的控制。
单片机输出与电炉功率分别属于弱电与强电部分,需要进行隔离处理,这里采用光耦元件在控制部分进行光电隔离,实现弱强电的电源隔离。
PWM(PulseWidthModulation)控制就是对脉冲宽度进行调制的技术,通过对一系列脉冲的宽度进行调制,来等效地获得所需要波形(含形状和幅值)。
PWM控制技术在逆变电路中应用最广,对逆变电路的影响也最为深刻。
PWM控制的基本原理在采样控制埋论中有一个重要的结论:
冲量相等而形状不同的窄脉冲加在具有一惯性的环节上时,其效果基本相同。
冲量即窄脉冲的面积。
这里所说的效果基本相同,是指环节的输出响应波形基本相同;
如果将输出波形进行傅氏分解,则低频段非常接近,仅在高频段略有差异。
下面分析如何用一系列等幅不等宽的脉冲来代替一个正弦半波如图3.7。
正弦半波分成N等份,就一可以把正弦半波肴成是由N个彼此相连的脉冲序列组成的波形,这些脉冲宽度相等,但幅值不等,且脉冲顶部都不是水平直线,而是曲线,各脉冲的幅值按正弦规律变化。
如果把上述脉冲序列利用相同数量的等幅而不等宽的矢矩形冲代替,使矩形脉冲的中点和相应正弦波部分的中点重合,且使矩形脉冲和相应的正弦波部分面积(相等,就得到相应的脉冲序列。
这就是PWM波形。
可以看出,各脉冲的幅值相等,而宽度是按正弦规律变化的根据面积等效原理PWM波形和正弦半波是等效的。
对于正弦波的负半周,也可以用同样的方法得到PWM波形。
像这种脉冲的宽度按正弦规律变化而和正弦波等效的PWM波形,也称SPWM(SinusidalPWM)波形。
要改变等效输出正弦波的幅值时,只要按照同一比例系数改变上述各脉冲的宽度即可。
PWM波形可分为等幅PWM波和不等幅PWM波两种。
由直流电源产生的PWM波通常是等幅PWM波。
如直流斩波电路及本一主要介绍的PWM逆变电路,由于直流电源电压幅值基本恒定,因此PWM波是等幅的。
将耍介绍的P认;
尹人理整流电路中,其PWM波也是等幅的。
其输入电源都是交流,因此所得到的PWM波也是不等幅的。
不管是等幅PWM波还是不等幅PWM波,都是基一于面积等效原理来进行控制的,因此其本质是相同的。
用PWM波代替正弦波如图3.6所示。
图3.6用PWM波代替正弦波
光耦隔离驱动电路如图3.2所示。
由于IGBT是高速器件,所选用的光耦必须是小延时的高速型光耦,由PWM控制器输出的方波信号加在三极管V1的基极,V1驱动光耦将脉冲传递至整形放人电路IC1经IC1放大后驱动由V2、V3组成的对管。
对管的输出经电阻RI驱动IGBT,R3为栅射结提供保护,R2与稳压管VS1构成负偏压产生电路,VS1通常选用此电路的特点是只用1组供电就能输出正负驱动脉冲,使电路比较简洁。
当单片机输出的是高电平1时光电耦合器导通从而使IGBT导通,电阻炉工作;
反之单片机输出电平为0时,光耦元件不能导通,IGBT不能形成有效偏置而截止,电炉丝不工作,饮水机不加热。
3.7温度传感器的工作原理
DS18B20是由美国DALLAS公司提供的一种一线总线系统的数字温度传感器,它提供二进制9位温度信息,经过一线总线接口送入主机处理器。
因此从主机到DS18B20仅需一条线进行通信。
该器件采用单线通讯,可以允许在通讯总线上级联多个DB18B20器件,所以很适合多点测温。
DS18B20的内部结构如图3.7所示,包括寄生电源电路、64位只读存储器(ROM)和单线接口、存储器和控制逻辑、存放中间数据的高速暂存存储器、温度传感器、报警上限寄存器TH、报警下限寄存器TL、配置寄存器和8位CRC(循环兀余校验码)发生器。
DS18B20的核心是数字温度传感器,精度一可以通过用户编程配置为9、10、11和12位,其分别对应于0.50℃、0.25℃、0.1℃和0.0625℃,可以满足各种不同分辨率要求,开始一次温度转换时,微处理器需要向DS18B20发出Convert'
指令。
转换完成之后,该温度数据存放在高速暂存存储器的温度寄存器中,占用2字节,并且DS18B20返回到空闲状态。
当DS18B20采用外部供电方式时,主机可以在发送温度转换指令后发起一次读时隙。
若此时该DS18B20已经完成温度转换,它将会返回“1”,否则返回“0”DS18B20.的电源可以从数据线本身提供而不需要外部电源。
每一个DS18B20在出厂时已经给定了唯一的64位长的序号。
该序号值存放在DS18B20内部的ROM,低8位是产品类型编码,中间48位是每个器件唯一的序号,高8位是前面56位的CRC(循环冗余校验)码。
DS18B20得的温度值的两个8位存贮器RAM,编号分别为0和1号。
1号存贮器存放温度值的符号,如果温度为负,则1号存贮器8位全为1,则全为0。
0号存贮器用于存放温度值的补码。
将存贮器中的二进制数求补,再转换十进制数并除以2,就得到测量的实际温度。
,DS18B20结构框图如图3.8所示,DB18B20测温原理如图3.9所示,DB18B20引脚说明如表3.1所示。
图3.7DS18B20的内部结构图
图3.8DS18B20结构框图
图3.9DB18B20测温原理
表3.1DB18B20引脚说明
引脚
符号
说明
1
GND
地
2
DQ
单线运用的数据输入/输出引脚漏极开路
3
VDD
可选VDD引脚供电方式
3.8LED数码管显示电路
LED显示器的工作情况有两种:
一种是温度显示;
另一种是ROM显示,DS18B20测温上限是150℃,此温度的十进制显示需要用4位,还有一个显示单位,在这里设置了4位的LED
LED数码管是由发光而极管作为显示字段的数码型显示器件。
图3.10(a)为LED数码管的外形和引脚图,其中7只发光二极管分别对应a~g笔段,构成”g”字形,另一只发光二极管Dp作为小数点,因此这种LED显示器称为八段数码管。
LED数码管按电路中的连接方式可以分为共阴极型和共阳极型两大类:
共阴极型是将各段发光二极管的负极连在一起,作为公共端COM接地,a~g,Dp各笔段接控制端,笔段接高电平时发光,低电平时不发光,控制某几段笔段发光,就能显示出某个数码或字符。
如图3.10(b)显示。
共阳极型是将各段发光二极管的正极连在一起,作为公共端COM,某笔段接低电平发光,高电平时不发光,如图3.11(c)所示。
本设计选用的是共阳极LED数码管。
图3.10七段LED显示器的结构原理
四、系统软件设计
系统的软件由下大模块组成:
主程序模块、功能实现模块和运算控制模块。
4.1.主程序模块
在主程序中首先给定PID算法的参数值,然后通过循环显示当前温度,并且设定键盘外部中断为最高优先级,以便能实时响应键盘处理;
软件设定定时器T0为5秒定时,在无键盘响应时每隔5秒响应一次,以用来采集温度信号;
设定定时器T1为嵌套在T0之中的定时中断,初值由PID算法子程序提供。
程序流程图如下图所示在一程序中必须分配好每一部分程序的起始地址,形式如图4.1所示:
图4.1主程序流程图
子程序起始地址如下
4.2运算控制模块
在工程实际中,应用最为广泛的调节器控制规律为:
比例、积分、微分控制简称PID控制。
1)比例(P)控制
比例控制是一种最简单的控制方式。
其控制器的输出与输入误差信号成比例关系。
当仅有比例控制时系统输出存在稳态误差。
2)积分(I)控制
在积分控制中,控制器的输出与输入误差信号的积分成正比关系。
对一个自动控制系统如果在进入稳态后存在稳态误差,则称这个控制系统是有稳态误差的或简称有差系统。
为了消除稳态误差,在控制器中必须引入”积分项”。
积分项对误差取决于时间的积分,随着时间的增加,积分项会增大。
因此,比例+积分(PI)控制器,一可以使系统在进入稳态后无稳态误差。
3)微分(D)控制
在微分控制中,控制器的输出与输入误差信号的微分成正比关系。
自动控制系统在克服误差的过程中可能会出现振荡甚至失稳。
其原因是由于存在有较大惯性组件(环节)或有滞后组件,具有抑制误差的作用,其变化总是落后于误差的变化。
解决的办法是使抑制误差的作用的变化”超前方”,即在误差接近零时,抑制误差的作用就应该是零。
(2)实际应用中,一可以根据受控对象的特性和控制的性能要求,灵活地采用不同的控制组合,构成比例(P)控制器
比例积分(PI)控制器
比例积分微分(PID)控制器
在PID的三个参数中,比例控制(P)能迅速反映一误差,从而减少误差,但比例控制不能消除稳态一误差,KP的加大,会引起系统的不稳定。
积分控制(I)的作用是,只要系统存在误差,积分控制作用就小断的累积,输出控制量以消除误差,因此,只要有足够的时间,积分控制将能完全消除误差,积分作用太强会使系统超调过大,甚至使系统出现震荡。
微分控制(D)可以减少超调量,克服震荡,使系统的稳定性提高,同时加快系统的动态响应速度,减少调整时间,从而改善系统的动态性能。
如图4.2为PID控制算法流程图。
图4.2PID控制算法流程图
(4)PID控制器的参数整定
PID控制器的参数整定是控制系统设计的核心内容;
它是根据被控过程的特性确定PID控制器的比例系数、积分时间和微分时间的大小。
PID控制器参数整定的方法很多,概括起来有两大类:
一是理论计算整定法,它主要是依据系统的数学模型;
一是工程整定方法;
它主要依赖工程经验。
4.3数字显示
编一小程序,实现数字显示分别实现数码管1、数码管2、数码管3、数码管4的显示。
双机串口通讯流程图如图4.3所示。
图4.3双机串口通讯流程图
4.4PWM输出
编一小程序,实现PWM电压自动可调宽度脉冲波输出电路。
自动可调宽度脉冲控制程序如下:
4.5温度传感器DS18B20模块
主机控制DS18B20完成温度转换必须经过3个步骤:
初始化、Rangy操作指令、存储器操作指令。
设一单片机系统所用的品振频率为12MHZ,根据DS18B20的初始化时序、写时序和读时序,分别编写了3个子程序:
INIT为初始化子程序,WRITE未写(命令或数据)子程序,READ为读数据子程序,所有的数据读写均由最低开始。
DS18B20初始化子程序INIT_1820:
DS18B20在下作之前必须按照指定的要求完成初始化工作,古则无法正常工作,图4.4为DS18B20初始化流程图。
DS18B20读写子程序WRITE1820、READ_1820、READ_1820T完成对1820的读写功能,其中,READ_1从18B20中读出一个字节的数据,READ_1824T从DS18B20中读出两个字节的温度数据图4.5和图4.6为其流程图。
DS18B20初始化程序
图4.4DB1820初始化程序流程图
写DS18B20的程序
读DS18820的程序,从DS18B20中读出两个字节的温度数据。
五、试验仿真结果分析
Proteus是一款Labcenter出品的电路分析实物仿真系统,可仿真各种电路和IC并支持单片机,元件库齐全,使用方便,是单片机软件的仿真系统。
5.1仿真结果及分析
图5.1传感器采集温度信号仿真图
图5.2为传感器DS18B20所采集温度信号的仿真图,首先由传感器采集饮水机中的水温,由于DS1采集的是数字信号所以无需进行A/D转化可直接送入单片机中,通过单片机的分析送入显示单路中,从而显示出传感器所采集到的温度值。
图5.2单片机输出的温度控制波形的仿真图
由于单片机的饮水机温度控制系统的控制电路仿真结果并不直观所以把控制电路用一个虚拟示波器代替其仿真图如图5.2所示,这样可以直观的看出.单片机输出的控制波形。
图5.3单片机输出的控制PWM波
由传感器采集的温度送入单片机中,如果其温度低于设定值则由单片机控制PWM波形来控制,单片机PWM输出电平为0时,光祸元件导通,从而使三极管形成有效偏置而导通,通过整流桥的电压经过集电极电阴_以及射集反向偏压,有7V左右的电压加在双向可控硅控制端,从而使可控硅导通,交流通路形成,电阻炉工作;
反之单片机输出电平为0时,光祸元件不能导通,三极管不能形成有效偏置而截止,可控硅控制端电压几乎为零,可控硅截止从而截断交流通路,电炉停止工作。
其控制波形图如图5.3所示。
六、小结
本课题的设计是以AT89C51为核心,通过软件编程,用相关软件仿真模拟,进而控制电炉的加热来实现温度控制。
在系统的软硬件调试过程中,虽然遇到了很多问题,但都得到了很好的解决,所以在这次调试过程中,学到了很多知识,同时也大大地提高了我们的实际动手能力,这对我们以后的系统设计会有很大的帮助。
同时,该系统还存在着一些问题,如温度显示精度高,影响水温达到稳定的时间等问题。
真心感谢老师与同学对于设计相关的帮助,使自己在人生的道路中不断的成长,谢谢!
附录一主程序
1双机串口通讯源程序
ACALLHH
SIMPLL
E0:
JBP3.7,F0
ACALLHH
L1:
CLRP3.4
SETBP3.3
JNBP3.2,H1
JNBP3.1,E1
RET
H1:
JBP3.2,Y1
SJMPH1
Y1:
MOVP1,#83H
LJMPLL
E1:
JBP3.7,F1
SJMPE1
F1:
MOVP1,#0A4H
SJMPLL
L2:
CLRP3.5
SETBP3.4
CLRP3.3
JNBP3.2,H2
JNBP3.7,E2
RET
H2:
JBP3.2,Y2
SJMPH2
Y2:
MOVP1,#0C6H
LIMPLL
E2:
JBP3.7,F2
SJMPE2
F2:
MOVP1,#0B0H
ACALLHHLJMPLL
L3:
JNBP3.2,H3
JNBP3.7,E3
H3:
JBP3.2,Y3
SJMPH3
Y3:
MOVP1,#0A1H
E3:
JBP3.7,F3
SJMPE3
F3:
MOVP1,#99H
L4:
SETBP3.5
CLRP3.3
JNBP3.2,H4
JNBP3.7,E4
H4:
JBP3.2,Y4
SJMPH4
Y4:
MOXP1,#86H
E4:
JBP3.7,F4
SJMPE4
F4:
MOVP1,#92H
L5:
JNBP3.2,H5
JNBP3.7,E5
H5:
JBP3.2,Y5
SJMPE5
Y5:
MOVP1,#8EH
ACAL