基于单片机的恒温控制系统Word格式文档下载.docx

上传人:b****5 文档编号:19106783 上传时间:2023-01-03 格式:DOCX 页数:22 大小:213.58KB
下载 相关 举报
基于单片机的恒温控制系统Word格式文档下载.docx_第1页
第1页 / 共22页
基于单片机的恒温控制系统Word格式文档下载.docx_第2页
第2页 / 共22页
基于单片机的恒温控制系统Word格式文档下载.docx_第3页
第3页 / 共22页
基于单片机的恒温控制系统Word格式文档下载.docx_第4页
第4页 / 共22页
基于单片机的恒温控制系统Word格式文档下载.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

基于单片机的恒温控制系统Word格式文档下载.docx

《基于单片机的恒温控制系统Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于单片机的恒温控制系统Word格式文档下载.docx(22页珍藏版)》请在冰豆网上搜索。

基于单片机的恒温控制系统Word格式文档下载.docx

参考文献资料21

1.选题布景

对不合场合、不合工艺、所需温度高低规模不合、精度不合,则采取的测温元件、测温办法以及对温度的控制办法也将不合;

产品工艺不合、控制温度的精度不合、时效不合,则对数据收集的精度和采取的控制算法也不合,因而,对温度的测控办法多种多样。

技术和微型计算机的迅速成长,微机丈量和控制技术也获得了迅速的成长和广泛的应用。

利用微机对温度进行测控的技术,也便随之而生,并获得日益成长和完善,越来越显示出其优越性。

目前,单片微机已普遍地作用于生产过程的自动控制领域中。

单片机以其体积小、价格昂贵、可用其构成计算机控制系统中的智能控制单位和可靠性高等特点,受到广年夜工程技术人员的重视。

温度是生产过程中最罕见的物理量,许多生产过程是以温度作为其被控参数的。

因此,温度控制系统是典范的控制系统

2.课题设计要求:

2.1设计任务

设计并制作一个水温自动控制系统,控制对象为300W或400W电阻炉,容器为薄壁不锈钢可以加温的器皿。

2.2设计要求

2.2.1基本要求

(1)调温功能,水温可以在0~100℃规模内由人工设定,人工设定温度后系统自动控制加热或降温,最小区分度为0.1℃,所测温度和实际温度偏差≤1℃。

(2)恒温功能,在环境温度变更时(例如用电电扇降温,电压摆荡)实现自动控制,以坚持容器内根据设定的温度坚持基本不变。

(3)用LCD或LED显示:

水的设定温度、实际温度、工作时间等参数信息。

2.2.2阐扬部分

(1)采取适当的控制办法,当设定温度突变(由70℃提高到90℃)时,减小系统的调节时间和超调量。

(2)采取适当的控制办法,当突加凉水扰动时,减小系统的调节时间和超调量。

(3)温度控制的静态误差≤0.5℃。

3.计划论证比较

3.1温度检测电路的计划选择:

计划一:

用普通半导体温度传感器作为敏感元件,再结合电压放年夜器和AD转换器将感应到的温度数值转换为数字量存储在某一单位内。

但由于该计划所需元件较多,且电路较繁,调试起来较庞杂,所以舍之不必。

计划二:

使用数字温度传感器DS18B20检测温度,内含AD转换器,因此线路连接十分简单,它无需其他外加电路,直接输出数字量,可直接与单片机通信,读取测温数据,电路十分简单,它能够达到0.5℃的固有辩白率,使用读取温度暂存寄存器的办法还能达到0.2℃以上精度,应用便利,这样的电路主要工作量就集中到了单片机软件编程上,故我们选用该计划。

3.2显示电路的计划选择:

使用数码管显示,通过数码管显示被测温度和设定温度。

该计划法度简单,但硬件占用单片机I/O口较多,对尽量节约端口,让线路简单来说不是好办法,并且显示也不敷直观灵活,只能显示数字,不克不及显示汉字显示功能提示,故不适合本次设计应用。

使用液晶屏lcd12864,可以显示字母,数字及汉字,并且一次可以显示4行,显示很直观,通过字幕显示模式、温度、曲线。

该计划法度较庞杂,并且lcd12864的价格昂贵,对节约本钱的角度来说,我们选择保持选择计划二。

计划三:

使用液晶屏1602显示,可以显示设定温度及丈量温度,但显示时1602能显示两行能显示字符及数字,不克不及显示汉字及曲线,完全满足本次设计的要求,并且本钱昂贵,设计简单可靠,故选择计划三。

3.3加热计划的选择:

使用电热炉进行加热,控制电炉的功率即可控制加热速度,当水温过高时,关失落电炉即可,但考虑到电炉本钱较高,且精度欠好控制,故不选用。

固态继电器控制加热器工作,固态继电器使用很是简单,并且没有触点,无需外加光耦,自身就可以实现电气隔离,还可以频繁举措。

可以使用类似pwm的方法,通过控制固态继电器的开,断时间比来达到控制加热器功率的目的,适合功率不年夜精度不高,简易水温控制系统。

方法三:

是使用可控硅控制加热器的工作。

可控硅是一种半控器件,通过控制导通角的方法来控制,对每个周期的交流电进行控制,因为导通角连续可调,故控制精度较高,且元件廉价,易于制作,我们选择计划三。

3.4控制办法选择计划:

采取普通的控制办法,即随着水温的变更调节温度,但局限性太小,由于水温变更快,且惯性年夜,不容易控制精度,故采取普通控制办法显得力不从心。

采取PWM控制加PID算法,通过采取PWM可以产生一个PWM波形,而PWM波形的占空比是通过PID算法调节,这样就可以调节加热棒的功率进而控制温度的变更,从而使精度提高,我们选择计划二。

4.总体计划及工作原理

温度传感器DS18B20从设备环境的不合位置收集温度,单片机AT89S51获取收集的温度值,经处理后获得以后环境中一个比较稳定的温度值,再根据以后设定的温度上下限值,通过加热和降温对以后温度进行调整。

当收集的温度经处理后超出设定温度的上限时,,当收集的温度经处理后低于设定温度的下时,单片机通过控制晶闸管开启升温设备(加热器)。

系统总体的原理框图如下;

 

系统工作原理框图

5.系统硬件设计

对题目进行深入的阐发和思考,可以将整个系统硬件总体分为以下几个方面:

5.1温度传感器电路单位

测温电路是使用DS18b20数字式温度传感器,它无需其他的外加电路,直接输出数字量,可直接与单片机通信,读取测温数据,电路十分简单。

它能够达到0.5

的固有辩白率,使用读取温度的暂存寄存器的办法还能达到0.2

以上的精度。

DS18B20温度传感器只有三根外引线:

单线数据传输总线端口DQ,外供电源线VDD,共用地线GND。

外部供电方法(VDD接+5V,且数据传输总线接4.7k的上拉电阻。

综上,在本系统中我采取温度芯片DS18B20丈量温度。

该芯片的物理化学性很稳定,它能用做工业测温元件,且此元件线形较好。

在0—100摄氏度时,最年夜线形偏差小于1摄氏度。

该芯片直接向单片机传输数字信号,便于单片机处理及控制。

DS18B20接口电路DS18B20实物图

5.2输入电压单位

控制系统主控制部分电源需要用5V直流电源供电,其电路所示,把频率为50Hz、有效值为220V的单相交流电压转换为幅值稳定的5V直流电压。

其主要原理是把单相交流电经过电源变压器、整流电路、滤波电路、稳压电路转换成稳定的直流电压。

由于输入电压为电网电压,一般情况下所需直流电压的数值和电网电压的有效值相差较年夜,因而电源变压器的作用显现出来起到降压作用。

降压后还是交流电压,所以需要整流电路把交流电压转换成直流电压。

由于经整流电路整流后的电压含有较年夜的交流分量,会影响到负载电路的正常工作。

需通过低通滤波电路滤波,使输出电压平滑。

稳压电路的功能是使输出直流电压基本不受电网电压摆荡和负载电阻变更的影响,从而获得稳定性足够高的直流电压。

本电路使用集成稳压芯片7805解决了电源稳压问题。

5.3液晶显示单位

LCM1602是2行×

16个字符的字符型LCD显示器,它由32个字符点阵块组成,每个字符点阵块由5×

7或5×

10个点阵组成,可以显示ASCII码表中的所有可视的字符。

它内置了字符产生器ROM(CharacterGeneratorROM,CGROM)、字符产生器RAM(CharacterGeneratorRAM,CGRAM)和显示数据RAM(DataDisplayRAM,DDRAM)。

CGROM中内置了192个经常使用字符的字模,CGRAM包含8个字节的RAM,可寄存用户自界说的字符,DDRAM就是用来寄存待显示的字符代码。

P3.0、P3.1、P3.2接LCD1602的三个控制引脚,P4口作为LCD1602的数据接口。

通过对控制引脚的控制,从而实现温度显示的功能。

5.4温度上下限键盘设置模块

温度上下限设置模块包含四个按键:

(1)模式切换键:

进行模式之间的切换,模式包含设置温度上限模式、设置温度下限模式,每次按下该键就在这两种模式之间切换。

(2)温度上下限增加键:

增加温度上下限的值。

(3)温度上下限减少键:

减少温度上下限的值。

(4)温控开关键:

是温控与非温控之间的切换键。

它用于设置是否进行温度控制即是否让越界的温度值触发加热器的启动

5.5主控制单位设计:

AT89S51是一个低功耗,高性能CMOS8位单片机,片内含8kBytesISP(Insystemprogrammable)的可频频擦写1000次的Flash只读法度存储器,器件采取ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单位,功能强年夜的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决计划。

AT89S51具有如下特点:

40个引脚,4kBytesFlash片内法度存储器,128bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程按时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。

另外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。

空闲模式下,CPU暂停工作,而RAM按时计数器,串行口,外中断系统可继续工作,失落电模式解冻振荡器而保管RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。

同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不合产品的需求。

由于系统控制计划简单,数据量也不年夜,考虑到电路的简单和本钱等因素,因此在本设计中选用ATMEL公司的AT89S51单片机作为主控芯片。

主控模块采取单片机最小系统是由于AT89S51芯片内含有4kB的E2PROM,无需外扩存储器,电路简单可靠,其时钟频率为0~24MHz,并且价格昂贵,批量价在10元以内。

其主要功能特性:

兼容MCS51指令系统4k可频频擦写(>

1000次)ISPFlashROM

32个双向I/O口4.55.5V工作电压2个16位可编程按时/计数器时钟频率033MHz

全双工UART串行中断口线128x8bit内部RAM

2个外部中断源低功耗空闲和省电模式

中断唤醒省电模式3级加密位

看门狗(WDT)电路软件设置空闲和省电功能

灵活的ISP字节和分页编程双数据寄存器指针

可以看出AT89S51提供以下标准功能:

4K字节Flash闪速存储器,128字节内部RAM,32个I/O口线,看门狗(WDT),两个数据指针,两个16位按时器/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟。

同时,AT89S51可降至0Hz的静态逻辑操纵,并支持两种软件可选的节电工作模式。

空闲方法停止CPU的工作,但允许RAM,按时/计数器,串行通信口及中断系统继续工作。

失落电方法何在RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直接到一个硬件复位。

AT89S51单片机引脚图

6.系统软件设计

6.1PID控制法度算法

6.1.1PID算法简介

PID控制算法是控制理论中应用很广泛的一种算法,对一般控制系统来说,PID算法从某种意义来说具有通用性,对各种系统具有广泛的适用性,通过现场的参数调试,可以达到很好的控制效果。

对我们这次水温控制系统的设计,我们同样也可以使用PID控制算法,具体算法如下:

e(i)=t测t设

E=

(2)

算法中,u(i)为那时的功率输出。

T为采样时间,E为误差积累,KP为比例常数,Ti为积分常数,Td为微分常数。

根据实际系统,调节这三个常数,可以达到很好的效果。

年夜大都的温度控制系统可以看作一阶纯滞后环节,由于本系统纯滞后时间较小,故可采取PID(比例、积分、微分)控制算法实施控制。

6.1.2PID控制作用

PID是比例(P)、积分(I)和微分(D)3个控制作用的组合。

连续系统PID控制器的微分方程为:

y(t)=KPP[e(t)+

](41)

式中y(t)为控制器的输出;

e(t)为控制器的输入;

KP比例放年夜系数;

TI为控制器的积分时间常数;

TD为控制器的微分时间常数。

显然,KP越年夜,控制器的控制作用越强;

只要e(t)不为0,积分项会因积分而使控制器的输出变更;

只要e(t)有变更的趋势,控制器就会在微分作用下,在偏差呈现且偏差不年夜时提前给输出一个较强的控制作用。

6.1.3PID算法的微机实现

由于微机控制系统是一种时间离散控制系统,故必须把微分方程离散化为差分方程,最终写出递推公式才干直接应用。

显然:

(42)

(43)

于是,

KP{e(n)+

+

[e(n)e(n1)]}(44)

式中Δt=T,为采样周期;

e(t)为第n次采样的偏差值;

e(n1)为第(n1)次采样时的偏差值;

n为采样序列,n=0,1,2,…。

由式(44)可以看出:

计算一次Y(n),不但需要的存储器空间年夜,并且计算量也很年夜,于是进一步写出递推公式:

由Y(n1)=KP{e(n1)+

[e(n1)e(n2)]}(45)

由式(4)减去式(5)得:

ΔY(n)=Y(n)Y(n1)

=KP{[e(n)e(n1)]+

[e(n)2e(n1)+e(n2)]}

=KP[e(n)e(n1)]+KIe(n)+KD[e(n)2e(n1)+e(n2)](46)

或Y(n)=Y(n1)+KP[e(n)e(n1)]+KIe(n)+KD[e(n)2e(n1)+e(n2)](47)

式中KI=KP

,称为积分常数;

KD=KP

,称为微分常数。

6.1.4数字PID控制的参数选择

一、数字PID参数的原则要求和整定办法

1、原则要求:

被控过程是稳定的,能迅速和准确地跟踪给定值的变更,超调量小,在不合干下系统输出应能坚持在给定值,操纵变量不宜过年夜,在系统与环境参数产生变更控制应坚持稳定。

显然,要同时满足上述各项要求是困难的,必须根据具体过程的要求,满足主要方面,并兼顾其它方面。

2、PID参数整定办法:

理论计算法――依赖被控对象准确的数学模型(一般较难做到)

工程整定法――不依赖被控对象准确的数学模型,直接在控制系统中进行现场整定(简单易行)

二、经常使用的简易工程整定法

1、扩充临界比例度法――适用于有自平衡特性的被控对象

整定命字调节器参数的步调是:

(1)选择采样周期为被控对象纯滞后时间的十分之一以下。

(2)去失落积分作用和微分作用,逐渐增年夜比例度系数

直至系统对阶跃输入的响

应达光临界振荡状态(稳定边沿),记下此时的临界比例系数

及系统的临界振荡

周期

(3)选择控制度。

通常,当控制度为1.05时。

就可以认为DDC与模拟控制效果相当。

(4)根据选定的控制度,查表532求得T、KP、TI、TD的值。

2、扩充响应曲线法――适用于多容量自平衡系统

参数整定步调如下:

(1)让系统处于手动操纵状态,将被调量调节到给定值邻近,并使之稳定下来,然后突然修改给定值,给对象一个阶跃输入信号。

(2)用记录仪表记录被调量在阶跃输入下的整个变更过程曲线,如图所示。

(3)在曲线最年夜斜率处作切线,求得滞后时间τ,被控对象时间常数Tτ以及它们的比值Tτ/τ。

(4)由求得的τ、Tτ及Tτ/τ查表533,即可求得数字调节器的有关参数KP、TI、TD及采样周期T。

3、归一参数整定法

则增量型PID控制的公式简化为

修改KP,观察控制效果,直到满意为止。

5.4数字PID控制的工程实现

6.2PWM脉宽调制技术

脉宽调制(PWM)基来源根基理:

控制方法就是对逆变电路开关器件的通断进行控制,使输出端获得一系列幅值相等的脉冲,用这些脉冲来取代正弦波或所需要的波形。

也就是在输出波形的半个周期中产生多个脉冲,使各脉冲的等值电压为正弦波形,所获得的输出平滑且低次谐波少。

按一定的规则对各脉冲的宽度进行调制,即可修改逆变电路输出电压的年夜小,也可修改输出频率。

例如,把正弦半波波形分红N等份,就可把正弦半波看成由N个彼此相连的脉冲所组成的波形。

这些脉冲宽度相等,都即是∏/n,但幅值不等,且脉冲顶部不是水平直线,而是曲线,各脉冲的幅值按正弦规律变更。

如果把上述脉冲序列用同样数量的等幅而不等宽的矩形脉冲序列取代,使矩形脉冲的中点和相应正弦等分的中点重合,且使矩形脉冲和相应正弦部分面积(即冲量)相等,就获得一组脉冲序列,这就是PWM波形。

可以看出,各脉冲宽度是按正弦规律变更的。

根据冲量相等效果相同的原理,PWM波形和正弦半波是等效的。

对正弦的负半周,也可以用同样的办法获得PWM波形。

在PWM波形中,各脉冲的幅值是相等的,要修改等效输出正弦波的幅值时,只要按同一比例系数修改各脉冲的宽度即可,因此在交-直-交变频器中,整流电路采取不成控的二极管电路即可,PWM逆变电路输出的脉冲电压就是直流侧电压的幅值。

根据上述原理,在给出了正弦波频率,幅值和半个周期内的脉冲数后,PWM波形各脉冲的宽度和间隔就可以准确计算出来。

依照计算结果控制电路中各开关器件的通断,就可以获得所需要的PWM波形。

6.3控制系统法度

6.3.1系统主函数:

#include<

reg52.h>

//包含51单片机头文件

math.h>

//包含数学计算头文件

#include"

Delay.h"

//包含用户头文件delay.h,作用:

延时

LCD1602.h"

//包含用户头文件LCD_1602.h,作用:

驱动1602液晶显示器显示

DS18B20.h"

//包含用户头文件ds18b20.h,作用:

驱动温度传感器丈量以后温度

KeyScan.h"

//包含用户头文件Keyscan.h,作用:

键盘扫描,获取按键值

#defineucharunsignedchar//用uchar取代unsignedchar

#defineuintunsignedint//用uint取代unsignedint

sbitkaitong=P2^0;

//界说电热杯开通关断引脚

intPrevError=0;

//界说上上一次偏差值

intLastError=0;

//界说上一次偏差值

intError=0;

//界说以后偏差值

intPError,IError,DError;

//中间变量

intLastValue;

//上一次的输出值

intNowValue;

//本次的输出值

intFull,Part;

//加热占空比调节参数

intSetValue=600;

//初始化温度值60度

floatProportion=0.5;

//界说比例参数

floatIntegral=0.1;

//界说积分参数

floatDerivative=1;

//界说微分参数

intPIDCalc(intNextValue)//增量式PID计算部分

{

PrevError=LastError;

//将上一次偏差LastError赋给上上一次偏差PrevError

LastError=Error;

//将以后偏差Error赋给上一次偏差LastError

Error=keyscan()NextValue;

//将新的偏差赋给以后偏差Error偏差是绝对值,有错

LastValue=NowValue;

//将本次输出值赋给上一次输出值

if(Error>

=100)

{

return(20);

}

elseif((Error<

100)&

&

(Error>

=50))

return(14);

}

50)&

=0))

{

PError=Proportion*(ErrorLastError);

IError=Integral*Error;

DError=Derivative*(Error2*LastError+PrevError);

NowValue=PError+IError+DError+LastValue;

returnNowValue;

//计算PID控制值

}

else

return0;

}

voidmain()

{

//uintccc=100;

LCD_init();

//初始化LCD

setPosition(1,2);

//从第1行第2个字符位开始显示“Welcomto”

prints("

Welcomto"

);

setPosition(2,5);

//从第1行第2个字符位开始显示“SUST”

SUST"

delayl(1000);

//延时,使欢迎界面在屏幕上停留片刻

while

(1)

Part=PIDCalc(readtemp());

Full++;

//加1,

if(Full>

20)//如果full年夜于20,则复位为1

{

Full=1;

}

if(Full<

=Part)//判断PID计算值,如果Full小于即是该值,则开通发热管;

不然关断

kaitong=0;

else

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 生物学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1