完整版基于单片机的智能温控仪毕业设计论文Word文件下载.docx
《完整版基于单片机的智能温控仪毕业设计论文Word文件下载.docx》由会员分享,可在线阅读,更多相关《完整版基于单片机的智能温控仪毕业设计论文Word文件下载.docx(49页珍藏版)》请在冰豆网上搜索。
(2)编制软件流程图及给出系统软件主要部分的源程序
二、设计背景简介
温度是科学技术中最基本的物理量之一,物理化学生物等学科都离不开温度。
在工业生产和实验研究中,像电力、化工、石油、冶金、航空航天、机械制造、粮食存储、酒类生产等领域内温度往往是表征对象和过程状态的最重要的参数之一。
本文介绍采用测温范围宽、精度高的铂热电阻进行温度系统的测量和控制。
温度控制系统具有非线性、时滞以及不确定性。
单纯依靠传统的控制方式或现代控制方式都很难以达到高质量的控制效果。
而智能控制中的模糊控制通过从专家们积累的经验中总结的控制规则,对温度进行控制,可以有效地解决温度控制系统的非线性、时滞以及不确定性。
本节采用模糊控制对温度进行控制。
三、系统总体框图
框图说明:
本系统共用到两片AT89C52单片机,即单片机A和单片机B,其中A机用于现场温度采集和显示,B机用于控制。
A、B机通过max232硬件连接串口实现全双工通信。
A机采用中断方式将采集的温度值不停的发往B机,B机采用查询方式实时接受A机发送的温度数据并将处理后的数据送往液晶显示。
B机通过按键输入温度设定值,并可将设定温度值通过按键选择发送模式发送到B机,经A机简单处理送数码管显示。
A机将接收到的温度值与当前温度值比较,将比较值作为控制加热丝和风扇
图1系统总体框图
以及PWM占空比的依据,A机通过两个四位一体的数码管现场显示当前温度和设定温度,因此可以在现场可以动态观察到当前温度变化和当前温度与设定温度之间的差值的大小。
由于需要显示日期、时间、温度等众多信息B机采用液晶显示。
B机的日期、时间等信息由实时时钟芯片DS12887提供,因为DS12887在断电情况下可长时间运行,且时间误差极小所以省去时间调整环节。
B机的存储电路采用24C02存储芯片,每次存储包括日期、时间和A机发送来的温度值在内的共5个字节的信息,每隔一分钟存储一次信息,存储芯片写满以后地址指针指向头地址,覆盖掉最初的温度值,由于24C02最多包含256个字节,因此最多可以保留51次存储记录,即最多能记录50分钟内的温度值。
所以在查询模式下最多可以查询50分钟以内的温度。
四、电路设计
1.电路设计整体思路
在温度测量控制系统中,实际温度值由铂电阻恒流工作调理电路进行测量。
为了克服铂电阻的非线性特点,在信号调理电路加入负反馈非线性校正网络;
调理电路的输出电压经8通道、多量程双极性输入、串行输出、逐次逼近型12bitAD转换器max1270转换后送入单片机AT89C52;
对采样数据进行滤波及标度变换处理后。
由高集成化的串行输入输出的共阴极LED驱动显示器max7219连接两个四位一体数码管显示。
输入的设定值则有4位的独立式键盘电路进行调整,可分别对设定值的十位和个位进行加一减一操作,送入单片机AT89c52后,有另一4位七段数码管显示。
本系统的模糊控制由单片机AT89C52的程序来实现。
首先有温度采样值与设定值之差求出温度误差,进一步求出误差变化率,经量化及限幅程序处理,得到误差语言变量E和误差变化率语言变量Ec,直接查询模糊控制表就可获的控制量U,然后有定时子程序处理,发出控制信号,控制加热片及风扇工作。
加热片及风扇的控制电路采用晶体管驱动的直流电磁继电器的通断时间,从而达到控制温度的目的。
若系统温度偏高,则控制风扇工作,进行降温;
若温度未达到设定值,则输出温度控制信号,控制加热电路,进行加热。
从而实现自动控制温度的目的。
2.基本硬件组成
(1)铂电阻测温调理电路
本系统采用恒流工作调理电路,铂电阻选用标称值为1000欧的PT1000作为温度传感器,其物理、化学性能在高温和氧化性介质中非常稳定,其灵敏度远高于PT100,在-259.34℃~630.74℃温域内可作为温度标准。
A1、A2和A3采用低温漂移运放OP07C,由于有电流流经铂电阻传感器,所以当温度为0℃时,载波电阻传感器上有压降,这个电压为铂电阻传感器的偏置电压,是运放A1输出电压的一部分,是恒流工作调理电路的输出实际不为零。
所以需要对这个偏置电压调零,图中R1为调零电阻,其作用是当温度为零度时,将恒流工作调理电路的输出调为零。
又因为铂电阻的电阻特性为非线性,铂电阻在0~100度变化范围内的非线性误差为0.4%(0.4℃),就有可能对AD量化和数码管显示造成影响,所以加入了线性化电路,图中运放AR3、及R5、R6和R7一起构成了负反馈非线性化校正化网络,R3用于调整运放A2的增益。
电路的调整方法如下(用精密可调电阻代替铂电阻进行调整):
①将精密可调电阻调整到相当于0℃的阻值(1000欧),用R1调零。
②将精密可调电阻调整到相当于50℃的阻值(1193.971欧),用R3调整增益。
③将精密可调电阻调整到相当于100℃的阻值(1385.055欧),用R6或R7调整线性。
④反复调整多次,在0~100℃温度范围内适宜为止。
图2铂电阻恒流工作调理电路
(2)AD转换电路
目前AD转换器的种类繁多,从数据输出形式上可分为串行输出与并行输出两大类。
其中串行输出AD转换器因其硬件接口简单而得到广泛应用。
另外,从可接受的输入信号极性上看,AD转换器又可分为单极性输入和双极性输入。
在很多的数据采集场合常常面对极性可变的模拟信号。
当然可将待转换信号进行电位移动以将其转化为单一极性,但如此便增加了电路的复杂性。
串行输出、双极性输入AD转换器MAX1270不增加任何硬件电路可实现对双极性模拟信号AD转换。
MAX1270是8通道、多量程双极性输入、串行输出、逐次逼近型12bitAD转换器。
其封装形式有24脚NarrowPDIP和28脚SSOP两种。
PDIP封装的引脚排列如图4所示。
各有用引脚功能如下:
1-VDD,+5V电源输入端;
2、4-DGND,数字地;
5-SCLK,串行时钟输入端;
6-CS,片选输入端,低电平有效;
7-DIN,串行数据输入,即AD转换控制字输入端;
8-SSTRB,串行数据输出选通输出端;
10-DOUT,串行数据输出端;
11-SHDN,掉电模式控制输入端,
图3MAX1270引脚排列
低电平有效;
12-AGND,模拟地;
13~20-CH0~CH7,模拟信号输入端;
21-REFADJ,参考电压输出外部调节输入;
23-REF,参考电压缓冲输出ADC的参考输入。
①MAX1270的控制字
MAX1270的8位控制字及其功能如表1所示。
最高位START为起始位(高电平),标志控制字的开始。
CS为低电平期间,控制字在时钟脉冲SCLK作用下先高位后低位通过DIN端输入。
表1控制字格式
BIT7(MSB)
BIT6
BIT5
BIT4
BIT3
BIT2
BIT1
BIT0(LSB)
START
SEL2
SEL1
SEL0
RNG
BIP
PD1
PD0
②时钟模式与转换速率
PD1PD0为掉电时钟模式选择位。
PD1PD0=10、11时为省电模式。
正常工作时MAX1270有外部时钟与内部时钟两种工作模式。
PD1PD0=01时为外部时钟模式,串行数据的移入、移出以及数据采集、转换都由SLCK端的输入脉冲控制。
PD1PD0=00时为内部时钟模式,
数据转换时钟由芯片自己产生,减轻了微处理器的负担,使得转换后的数据可在微处理器方便的任何时刻读取,利于提高微处理器的工作效率。
外部时钟模式分为25SCLKs(每个数据转换需要25个时钟周期)和18SCLKs两种方式,后者转换速率稍快的原因是在全部数
据转换期间CS始终维持有效电平。
内部时钟模式也有20、16、13SCLKs等不同转换方式。
不同的时钟模式和转换方式,其转换速率不同。
在外部时钟模式、SCLK速率为2MHz、18SCLKs时MAX1270转换速率可达110ksps。
③通道选择与输入范围
SEL2~SEL0为通道选择位,000~111分别选择输入通道CH0~CH7。
RNG~BIP为输入范围选择位,MAX1270有4种输入范围RNG~BIP置00时0~5V单极性输入,置01时0~+10V单极性输入;
置10时-5~+5V双极性输入;
置11时-10~+10V双极性输入。
④传输函数与输出数据格式
对单极性输入,1LSB=FS4096,输出数据为12位二进制码。
对双极性输入,1LSB=FS2048,输出数据为12位二进制补码。
⑤参考电压
MAX1270可使用芯片内的4.096V参考电压,也可使用外部参考。
。
图是使用片外参考和片内参考时相关管脚的接法。
图4管脚连接图(a)使用片内参考电压(b)、(c)使用片外参考电压
图5AD转换电路
(3)7219显示电路
①MAX7219功能和设置简介
MAX7219是串行输出共阴极显示性能非常卓越的驱动芯片。
其接口采用流行的同步串行外设接口SPI,可与任何一种单片机方便接口,并可同时驱动8位LED,还具有级联功能可控制更多的LED。
MAX7219为24引脚芯片,除与LED显示相连的线外,与微控制器只需3根连线相接:
芯片端管脚分别为CLK.DIN.LOAD,其中CLK为时钟输入端,DIN为数据输入端,LOAD为锁存信号。
其工作时序为:
时钟的上升沿MAX7219把DIN引脚数据移入内部移位寄存器,在时钟下降沿MAX7219把数据移向DOUT端,而LOAD的上升沿则锁存最后移入的16位串行数据。
对MAX7219的控制操作很方便其内部具有15×
8位RAM功能控制寄存器,可方便寻址,对每位数字可单独控制、刷新,不需要重写整个显示器。
显示亮度可数字控制。
MAX7219的这些功能,使系统编程简单方便,同时节省IO口。
MAX7219的控制寄存器分别为:
不工作方式寄存器、译码方式寄存器、亮度控制寄存器、扫描个数寄存器、关闭寄存器.显示测试寄存器.寄存器的操作格式为2字节的串行数据,第一个字节为寄存器地址,第二个字节为控制命令或待显示数据。
寄存器的地址分配及功能如下所示:
㈠不工作寄存器(0x00):
用于MAX7219级联控制。
㈡位寄存器(0x01·
0x08):
8位LED待显示内容。
㈢译码方式寄存器(OxOg):
决定译码方式,分B码和不译码两种。
㈣亮度控制寄存器(0x0A):
LED段电流控制.
㈤扫描个数寄存器(0x0B):
决定显示多少个LED。
㈥关闭寄存器(0xOC):
决定正常工作方式或关闭LED显示。
㈦显示测试寄存器(0x0D):
决定正常工作方式或显示测试.
2引脚功能和功能框图:
MAX1279引脚排列如图7所示
图6MAX7219引脚排列图
引脚功能如下:
㈠DIN 为串行数据输入端。
当CLK为上升沿时,数据被载入16b内部移位寄存器。
㈡CLK 为串行时钟输入端。
其最大工作频率可达10MHz。
㈢LOAD 为片选端,当LOAD为低电平时,芯片接收来自DIN的数据,接收完毕,LOAD回到高电平时,接收的数据将被锁定。
图7DIN,CLK和LOAD的工作时序。
㈣DIG0~DIG7 为吸收显示器共阴极电流的位驱动线。
其最大值可达500mA,关闭状态时,输出