基于PID的单片机温度控制系统设计

基于PID的温度控制系统设计

摘要

温度是工业上最基本的参数,与人们的生活紧密相关,实时测量温度在工业生产中越来越受到重视,离不开温度测量所带来的好处,因此研究控制和测量温度具有及其重要的意义。

本设计介绍了以AT89C52单片机为主控器件,基于PID的温度控制系统的设计方案和设计的基本原理。由DS18B20收集温度信号,并以数字信号的方式送给单片机进行处理,从而达到温度控制的目标。主要包括硬件电路的设计和系统程序的设计。硬件电路由主控器件、温测电路、温控电路和显示电路等组成。软件设计部分包括:显示电路、温度信号处理,超温警报、继电器控制、按键处理等程序。


目录

摘  要

Abstract

1绪论

1.1课题的来源

1.2课题的意义

1.3课题研究的主要内容

2硬件设计

2.1单片机控制模块的设计

2.1.1 AT89C52单片机简介

2.1.2 单片机的引脚功能

2.1.3 单片机控制模块的电路设计

2.1.4 电源设计

2.2温度采集模块的设计

2.2.1 DS18B20芯片的简介

2.2.2 DS18B20的内部结构

2.2.3 DS18B20的供电方式

2.2.4 DS18B20的引脚功能

2.3温度控制模块的设计

2.4按键及显示模块的设计

2.4.1 LCD1602的参数和引脚功能

2.4.2 LCD1602的特点

2.4.3 按键电路的设计

2.5报警模块的设计

3软件设计

3.1主程序的设计

3.2DS18B20读温度程序的设计

3.3键盘扫描程序的设计

3.4报警处理程序的设计

3.5PID控制算法

4系统仿真

参考文献

致谢

附录

1


 

基于PID的温度控制系统设计

1绪论1.1课题的来源

在食品加工、化工、冶炼等工业控制和生产中,在工业生产和日常生活中经常要用到温度检测和控制。以及各种各样的加热炉、热处理器等,都对温度有着严格的要求。传统的测温元件有热电偶和热电阻。而热电偶和热电阻测出的通常是电压,再转换成相应的温度值,在硬件方面是个难点,而且从设计和调试的角度来讲都是很复杂的,以及高昂的制作成本。但采用DS18B20作为温测元件,然后用单片机对温度进行控制,可以大幅度提高温度控制的技术指标,而且还具有控制方便、简单、灵活等特点。单片机已经渗透到我们生活的各领域,仪表仪器、家用电器、航空航天、计算机通讯网络和数据的传输,包括工业自动化的实时控制和数据处理等,这些都离不开单片机。用单片机可构成丰富多样的数据采集系统和控制系统。像工厂流水线智能化的管理、电梯智能化的控制、多种报警系统,都可以与计算机联网构成二级控制系统等。

1.2课题的意义

温度传感器是测量温度的关键,现在温度传感器正由模拟式向数字式、集成化向智能化、网络化的方向发展。在测量温度的电路中,使用热敏电阻之类的器件利用其感温效应,将随被测温度变化的电压或电流采集过来,先进行A/D转换,然后用单片机进行数据的处理,再在显示电路上,将被测温度显示出来。这种设计需要用到A/D转换电路,因此电路的设计比较复杂。
继而想到可以采用智能温度传感器来设计数字温度计。本数字温度计的设计采用美国半导体公司DALLAS推出的一种改进型智能温度传感器DS18B20作为检测元件,其温度值可以直接被读出来,通过单片机AT89C52的读写和显示,然后用LCD1602来进行显示。它的测温范围为-55℃~+125℃,最大分辨率可达0.0625℃。而且采用3线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的特点。

1.3课题研究的主要内容

1、总体设计的内容
总体设计的主要内容有:利用单片机作为系统的主控制器,利用DS18B20作为温度传感器,将信号送入单片机进行处理,经过PID算法后,单片机的输出用来控制加热棒的输出功率,从而实现对温度的控制。
2、总体设计的基本要求
总体布置的基本要求主要有:
(1)温度控制系统的总体设计和思路;
(2)各部分原理说明;
(3)温度控制系统硬件设计,有理论依据,有分析计算过程,主要元件有原理和说明,所有元件必须要有型号和参数;
(4)温度控制系统软件设计,可以使用汇编语言或C语言编程。主要软件必须能在设计好的硬件电路上正确运行。


2硬件设计

硬件设计方框图如图2-1所示,它主要由五个模块组成:
  • 单片机控制模块;
  • 温度采集模块;
  • 温度控制模块;
  • 按键及显示模块;
  • 报警模块。

图2-1 硬件设计方框图

2.1单片机控制模块的设计

方案一:
采用8031芯片,其内部没有程序存储器,需要进行外部扩展,这给电路增加了复杂度。
方案二:
采用2051芯片,其内部有2KB单元的程序存储器,不需外部扩展程序存储器。但由于系统用到较多的I/O口,因此此芯片资源不够用。
方案三:
采用AT89C52单片机,其内部有4KB单元的程序存储器,不需外部扩展程序存储器,而且它的I/O口也足够本次设计的要求。
方案评价:
比较这三种方案,综合考虑单片机的各部分资源,本次设计选用方案三。

2.1.1 AT89C52单片机简介

AT89C52是ATMEL公司生产的51系列单片机。片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度,兼容51指令系统,Flash存储单元和8位中央处理器置于片内,AT89C52单片机功能强大,在许多复杂的应用场合都可以用到。
单片机是微型机的一个分支,单片机的最大特点就是在超大规模的集成电路芯片上集成了定时器、存储器、CPU、和多种输入/输出接口电路。由于单片机的这种结构,相应的它具有很多的特点。
它的特点包括:
  • 可靠性高;
  • 抗干扰能力强;
  • 控制能力强;
  • 性价比高;
  • 低电压;
  • 能扩展了多种串行口。

2.1.2 单片机的引脚功能

AT89C52单片机的引脚图如图2-2所示。

图2-2 AT89C52引脚图

  • 电源引脚VCC和VSS
VCC(40引脚):电源端,+5V。
VSS(20引脚):接地端。
  • 外接晶体引脚XTAL 2和XTAL 1
XTAL 2(18引脚):接微调电容和外部晶体的端口。作为振荡电路的输出端。
XTAL 1(19引脚):接微调电容和外部晶体的端口。作为振荡电路的输入端。
  • 控制信号引脚RST、ALE、PSEN、EA
RST(9引脚):复位信号输入端,高电平有效。完成复位操作,输入端必须为两机器周期(即为24个时钟振荡周期)的高电平。
ALE/PROG(30引脚):地址锁存允许信号端。当单片机上电正常工作后,ALE引脚不断向外输出正脉冲信号,此频率为振荡器平率的1/6。输出信号作为锁存低8位地址的控制信号。如果想确认单片机芯片的好坏,可用示波器查看ALE端是否有脉冲信号输出。若有脉冲信号输出,则单片机基本上是好的。
PSEN(29引脚):程序存储允许输出信号端。
EA(31引脚):外部程序存储器地址允许输入端/固化编程电压输入端。
  • 输入/输出端口P0、P1、P2和P3
P0端口(P0.0~P0.7,39~32引脚)
P1端口(P1.0~P1.7)
P2端口(P2.0~P2.7)
P3端口(P3.0~P3.7)
P3端口还用于一些复用功能,如表2-1所示。

表2-1 P3各口线与第2功能表

口线

替代的第2功能

P3.0

RXD(串行口输入)

P3.1

TXD(串行口输出)

P3.2

INT0(外部中断0输入)

P3.3

INT1(外部中断1输入)

P3.4

T0(定时器0的外部输入)

P3.5

T1(定时器1的外部输入)

P3.6

WR(片外数据存储器“写选通控制”输出)

P3.7

RD(片外数据存储器“读选通控制”输出)



2.1.3 单片机控制模块的电路设计

单片机的最小系统如图2-3所示,由单片机芯片、电源、时钟振荡电路与复位电路组成。
时钟振荡电路的设计:
单片机XIAL1和XIAL2分别接30pF的电容,中间再并个12MHz的晶振,形成单片机的晶振电路。电容器C1和C2可稳定频率并对振荡频率有微调作用。
复位电路的设计:
复位操作有按键手动复位和上电自动复位两种。本设计采用的是上电自动复位:RST引脚是复位信号的输入端。复位信号是高电平有效,其有效时间应持续24个振荡周期(即二个机器周期)以上。电容端瞬间通电,电容C通过电阻R充电,RST端为正脉冲,用以复位。只要电源VCC的上升时间不超过1ms,就可以实现自动上电复位,即接通电源就完成了系统的复位初始化。关于参数的选定,在振荡稳定后应保证复位高电平持续时间(即正脉冲宽度)大于2个机器周期。当采用的晶体频率为6MHz时,可取C=22μF,R=1kΩ;当采用的晶体频率为12MHz时,可取C=10μF,R=8.2kΩ。

图2-3 单片机的最小系统图

2.1.4 电源设计

220V交流电转5V直流电的电源设计如图2-4所示是由3个部分组成:变压器、桥式整流电路和三端稳压器。

图2-4 5V直流电电源设计图

  • 变压器:将220V交流电变成9V左右,由此可知变压器变比为220/9=25/1;
  • 桥式整流电路:经过滤波整流后,电压有效值增大为10V。如图2-5所示为桥式整流电路电压波形图;
  • 三端稳压器:一般用于直流电路的保护电路,起到降压、稳压的作用。

图2-5 桥式整流电路电压波形图

2.2温度采集模块的设计

方案一:
传统的测温元件有热电偶和热电阻。一般来说热电偶和热电阻测出的电压,再转换成相应的温度,要比较多外部硬件的支持,其缺点有:硬件电路较复杂;软件调试较复杂;制作成本较高。
方案二:
结合单片机电路的设计,决定使用温度传感器DS18B20,它是最新推出的一种智能型温度传感器,它的优点是可以直接读出被测的温度。主要是对温度信号进行采集和转换工作,电路由DS18B20温度传感器和单片机部分组成。温度传感器DS18B20把收集到的温度送到单片机的P2.6口,单片机接受温度,然后存储下来。因为电路部分只用到了温度传感器和单片机,所以硬件方面比较简单。
方案评价:
方案一这种设计需要用到A/D转换电路,感温电路比较麻烦。但方案二电路比较简单,软件设计容易实现,故实际设计中拟采用方案二。

2.2.1 DS18B20芯片的简介

DS18B20是美国著名半导体公司推出的一种可以直接读出被测温度值的温度传感器,而且采用寄生供电方式与单片机相连,具有成本低和易使用的特点。输出信号为数字信号,方便单片机控制和处理,很多外围电路因此可以减掉。且该芯片的线形较好,物理、化学性也相对稳定,在工业生产中可以用来做测量温度的元件。由于AT89C52能够带多个DSB1820,因此容易实现多点测量的目的。轻松的构建传感器网络,并且单片机可以同时进行数码显示与键盘控制,也可以通过RS232串口与上位机进行数据通讯,达到全方位立体监控的效果。
采用温度芯片DS18B20测量温度,可以更方便的实现多点测温,也体现了数据数字化的好处,便于测温数据集成显示,也方便了后期对数据的处理及其记录。

2.2.2 DS18B20的内部结构

DS18B20芯片的内部结构如图2-6所示。
DS18B20主要包括上下限触发器、储存器与控制逻辑、CRC发生器电源、温度传感器、64位ROM单线借口暂存器。

图2-6 DS18B20芯片的内部结构图

DS18B20温度数字对应关系表如表2-2所示。

表2-2 DS18B20温度数字对应关系表

温度/℃
二进制表示
十六进制表示
+125
0000 0111 1101 0000
07D0H
+85
0000 0101 0101 0000
0550H
+25.0625
0000 0001 1001 0000
0191H
+10.125
0000 0000 1010 0001
00A2H
+0.5
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

无限虚空

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值