logo资料库

基于单片机的智能温控仪毕业设计.doc

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