论文部分内容阅读
[摘要]本文以MCS-51单片机为核心,以水箱为被控对象,将水箱给定温度与实际温度对比,利用PID算法设计了水温调节器实验装置。该实验装置的设计有利于同学们加深对单片机控制系统和PID控制算法特点的了解。且该装置结构原理简单、稳定性好、可靠性高、参数易于整定,控制精度高,有一定的实用价值,可以向实际推广。
[关键词]水温调节器 单片机 PID算法
一、前言
温度是工业生产中最常见和最基本的工艺生产参数之一,许多物理变化和化学反应的过程均与温度密切相关。因此,温度控制系统是典型的控制系统。目前,单片机已普遍应用于生产过程的自动控制领域。以其体积小、价格低廉和可靠性高等特点,用其构成计算机控制系统中的智能控制单元,受到广大工程技术人员的重视。下面的PID自动温度控制系统,采用8051单片机作为PID控制器,具有可编程、控制算法可选、体积小、稳定性好、抗干扰能力强等优点。采用单片机进行对它控制不仅具有控制方便、简单和灵活性等优点,而且大幅度提高被控温度的技术指标,从而能够大大提高产品的数量和质量。因此,单片机的温度的控制问题是一个工业生产中经常会遇到的问题。我们之所以选择该实验装置,是因为它不仅可以使我们把所学的理论知识加以升华,而且可以起到举一反三和触类旁通的效果,对单片机在其他情况下的应用,有了一个基础性的了解与掌握。
二、总体设计
本装置的主要任务,是利用MCS-51单片机实现对电热水箱水温度的控制。即预先设定要达到的理想温度值,水箱中的温度或升或降(本装置中限于实验条件,仅限于水温的升高),最终达到预设值。此过程的实现可描述如下:集成传感器AD590检测电热水箱中水的温度,得到一微弱的模拟信号,此信号经运算放大器放大后,经A/D转换器转换,实现了由模拟量到数字量的转变。该数字信号传输进单片机后,经数字PID算法处理后输出一控制信号(数字量),控制固态继电器的通断。从而实现对加热电阻丝加热功率的控制。
本课题的设计可分为硬件设计和软件设计两大部分。硬件设计主要包括温度检测电路、前向通道(A/D转换接口)、人机接口(单片机扩展存储器单片机与键盘显示器的接口电路、单片机与A/D转换器的连接)以及其他外围电路(显示电路、电源电路、温度控制电路)的设计。软件的设计主要应用MCS-51汇编语言编程,要完成的程序设计包括A/D转换子程序,键盘显示子程序,PID算法程序。其中,重点和难点是PID算法程序的设计,它是整个课题设计的中心环节。另外,考虑到外界环境存在的干扰,如机械震动,各种电磁波和环境温差都可能影响到系统的性能。为此,需进行抗干扰设计。抗干扰措施可分为软件抗干扰和硬件抗干扰,软件抗干扰措施主要采用数字滤波和指令冗余技术,硬件抗干扰措施主要采用滤波技术和接地技术。
三、温度检测电路
采用美国模拟器件公司生产集成温度传感器AD590。它是单片集成两端感温电流源,其输出电流与温度成正比。使用简便,不需外接线性补偿和零点补偿器件,精度高互换性好,线性度好,具有标准化输出,能很好地消除电源变动和交流纹波对器件产生的影响,且耐用,输出电流可用于长距离传送,不会因线路压降而影响测量精度。
实际应用电路设计:尽管AD590比其他温度传感器有较好的特性,但在使用范围内,仍然存在着一定的非线性。另外,各器件间也存在着离散性,所以在实际中,欲获得测量精度,尚需采用两点校正(零点校正和满刻度校正)。由基准电压源AD590输出一个标准的 10.000伏电压通过输入端加到AD590上。AD590的输出电流在输入端上产生压降,从而使运算放大器的输入端的电压岁温度而变化,该电压经过运算放大后输出。这样,该测量电路可大大改善由传感器本身非线性误差而引起的误差。
四、信号输入通道(前向通道A/D)
本装置采用逐次逼近型的ADC0809是 8位A/D转换芯片,它由单一的 5V电源供电,片内带有锁存功能的8路模拟多路开关,可对8路0-5V的输入模拟电压信号分时进行转换,完成一次转换约100us。片内具有多路开关的地址译码器和锁存电路、高阻抗斩波器、稳定的比较器,256欧电阻T型网络和树状电子开关以及逐次逼近寄存器。输出具有TTL三态锁存缓冲器,可直接接到单片机数据总线上。通过适当的外接电路,ADC0809可对0-5V的双极性模拟信号进行转换。在本实验中,见于简单起见,只选取了一个温度控制信号,故A/D0809只接一路输入信号IN0。
五、人机接口
1.键盘、显示器接口电路
键盘显示电路中,采用的是8031单片机扩展I/O接口芯片8255A实现的四位LED显示和16键的键盘显示器接口电路。8255A的PA口地址为7CH,PB口地址为7DH,PC口的地址为7EH,控制字寄存器地址为7FH。这里8031单片机对8255A采用了线性选址法。8255A的RAM的地址为7E00H~7EFFH,I/O口地址为7F00H~7F05H,8255A的PB口为输出口,控制键盘的列线的电位,PB口作为键扫描口,同时又是4位共阴极显示器的位扫描口。PC口作为显示器的段码输出口,8255A的PA口作为输入口,PC0~3接行线X0~X3,称为键输入口。键盘需输入参数Kp、Ti、Td、T及PID算法的给定值,显示器显示温度值。
在8051单片机上扩展一片8255A芯片,无需外加任何逻辑电路,74LS373时地址锁存器,8255A的地址线A1、A0经74LS373接于P0.1、P0.0;片选端CS经74LS373与P0.7接通,其它地址线悬空;8255A的控制线/RD、/WR直接接于8031的RD、/WR端;数据线D0~D7接于P0.0~P0.7。
8255A的B口作为显示器接口,采用静态显示,74LS373为锁存器。74LS48为共阴极译码/驱动器,LED数码管采用8 HEADER,键盘处理为中断方式。由此可见,8255A的B口工作在两种方式下:在显示状态下R。键盘为4×4矩阵键盘,8255A口的PA3 -PA0为行扫描接口,从B口的PB3-PB0读入列值,该系统键为输出方式;在键盘中断服务程序处理过程中为输入方式。为此,只需在相应操作前重新设置8255A的工作方式即可。
2.存储器的扩展
在MCS-51单片机的16位地址,分为高8位和低8位,高位由P2输出,低位由P0输出。但P0同时又是数据输入输出接口,故在传送时采用分时方式,先输出低8位地址,然后,在传送数据。但是,在对外部存储器进行读写操作时,地址必须保持不变,这就需要选择适当的寄存器存放低8位地址,这个外界的寄存器就是地址锁存器。在进行外部存储器扩展时,凡具有输入输出控制的8位寄存器均可作为地址锁存器。这里选用的是27128。
3.输出执行电路(反馈部分)
这一部分主要完成经单片机控制系统后的控制信号如何反作用于被控对象,在MCS-51单片机控制各种各样的高压、大电流负载,这些大功率负载如电动机、电磁铁、继电器、灯泡等,显然不能用单片机的I/O线来直接驱动,而必须通过各种驱动电路和开关电路来驱动。此外,为了隔离和抗干扰,有时需加光电耦合器。
本装置主要完成电热负载的调功输出控制。此处选用的核心元件为SSR(Solid State Relay),即固态继电器。它是一种新颖的四端以弱控强的无触点功率控制元件。
其特点是输入控制电压低(3V-14V),驱动电流小(3mA-15mA),输出与输入采用光电隔离,使强电与弱电完全分离,输出无触点、无噪声,开关速度快。它事实上将光电隔离器、驱动器、可控硅、阻容吸收等器件做在一起,用环氧树脂全灌封装,具有防尘、耐湿、耐振、寿命长等优点。
这里采用的固态继电器是非过零触发的SSR。当中断服务程序将P1.5置“1”时,BG 导通,SSR 导通,电阻丝上得到完整周波,当P1.5置“0”时,SSR被关断,电阻丝上得不到完整的周波。单片机通过控制P1.5的高低电平的占空比来控制电阻丝的功率输出。
六、硬件抗干扰措施
为了防止外界交流电路产生的工频干扰对模拟信号的影响,在电路设计中(放大器和比较器)采用低通滤波器和有源滤波器。为了防止由于外时钟是高频噪声源引起的硬件电路产生的干扰,选用低频率的单片机来提高提高抗干扰性,本装置中采用8051的时钟频率为6MHz。为了切断干扰信道,避免强电流对回路的冲击,常用光电隔离方法,本装置中采用的SSR集成了光电耦合器,应用于输出通道。为了防止电磁波干扰,在开关电源内部把高频电压器和扼流圈进行屏蔽,对整个开关电源进行屏蔽保护。
七、软件设计部分
软件的主要任务是完成初始化工作,如参数显示、键盘命令识别、信号的采集、滤波和工程量转换控制算法处理、中断处理等。
主程序包括:键盘置数程序、键盘数值处理程序、系统初始化。
中断服务程序:A/D转换结束中断、系统时钟溢出中断、8255A读键盘中断。
子程序:数据采集子程序、数字滤波子程序、显示子程序、A/D转换子程序、控制算法子程序。
本装置中重点完成A/D转换子程序和PID控制算法子程序的设计。
八、结语
本装置给出了一个基于MCS51系统的PID温度控制系统较完整的解决方案和实现方法,该实验装置在教学中极具典型性,可以使同学们把所学的理论知识加以升华,而且可以起到举一反三和触类旁通的效果,对单片机在其他情况下的应用,有了一个基础性的了解与掌握。在装置实现的过程中采用的一些芯片也许不能很好地满足工业现场的要求,可作一些更换。
参考文献:
[1]潘新民.微型计算机控制技术[M].北京:电子工业出版社,2003,1.
[2]张毅刚.MCS-51单片机应用设计[M].哈尔滨工业大学出版 社,1997,12(第二版).
[3]李树华.数字PID自动温度控制系统的设计与实现[J].内蒙古大学学报(自然科学版),1997.28(6).
(作者单位:浙江理工大学信息与电子学院)
[关键词]水温调节器 单片机 PID算法
一、前言
温度是工业生产中最常见和最基本的工艺生产参数之一,许多物理变化和化学反应的过程均与温度密切相关。因此,温度控制系统是典型的控制系统。目前,单片机已普遍应用于生产过程的自动控制领域。以其体积小、价格低廉和可靠性高等特点,用其构成计算机控制系统中的智能控制单元,受到广大工程技术人员的重视。下面的PID自动温度控制系统,采用8051单片机作为PID控制器,具有可编程、控制算法可选、体积小、稳定性好、抗干扰能力强等优点。采用单片机进行对它控制不仅具有控制方便、简单和灵活性等优点,而且大幅度提高被控温度的技术指标,从而能够大大提高产品的数量和质量。因此,单片机的温度的控制问题是一个工业生产中经常会遇到的问题。我们之所以选择该实验装置,是因为它不仅可以使我们把所学的理论知识加以升华,而且可以起到举一反三和触类旁通的效果,对单片机在其他情况下的应用,有了一个基础性的了解与掌握。
二、总体设计
本装置的主要任务,是利用MCS-51单片机实现对电热水箱水温度的控制。即预先设定要达到的理想温度值,水箱中的温度或升或降(本装置中限于实验条件,仅限于水温的升高),最终达到预设值。此过程的实现可描述如下:集成传感器AD590检测电热水箱中水的温度,得到一微弱的模拟信号,此信号经运算放大器放大后,经A/D转换器转换,实现了由模拟量到数字量的转变。该数字信号传输进单片机后,经数字PID算法处理后输出一控制信号(数字量),控制固态继电器的通断。从而实现对加热电阻丝加热功率的控制。
本课题的设计可分为硬件设计和软件设计两大部分。硬件设计主要包括温度检测电路、前向通道(A/D转换接口)、人机接口(单片机扩展存储器单片机与键盘显示器的接口电路、单片机与A/D转换器的连接)以及其他外围电路(显示电路、电源电路、温度控制电路)的设计。软件的设计主要应用MCS-51汇编语言编程,要完成的程序设计包括A/D转换子程序,键盘显示子程序,PID算法程序。其中,重点和难点是PID算法程序的设计,它是整个课题设计的中心环节。另外,考虑到外界环境存在的干扰,如机械震动,各种电磁波和环境温差都可能影响到系统的性能。为此,需进行抗干扰设计。抗干扰措施可分为软件抗干扰和硬件抗干扰,软件抗干扰措施主要采用数字滤波和指令冗余技术,硬件抗干扰措施主要采用滤波技术和接地技术。
三、温度检测电路
采用美国模拟器件公司生产集成温度传感器AD590。它是单片集成两端感温电流源,其输出电流与温度成正比。使用简便,不需外接线性补偿和零点补偿器件,精度高互换性好,线性度好,具有标准化输出,能很好地消除电源变动和交流纹波对器件产生的影响,且耐用,输出电流可用于长距离传送,不会因线路压降而影响测量精度。
实际应用电路设计:尽管AD590比其他温度传感器有较好的特性,但在使用范围内,仍然存在着一定的非线性。另外,各器件间也存在着离散性,所以在实际中,欲获得测量精度,尚需采用两点校正(零点校正和满刻度校正)。由基准电压源AD590输出一个标准的 10.000伏电压通过输入端加到AD590上。AD590的输出电流在输入端上产生压降,从而使运算放大器的输入端的电压岁温度而变化,该电压经过运算放大后输出。这样,该测量电路可大大改善由传感器本身非线性误差而引起的误差。
四、信号输入通道(前向通道A/D)
本装置采用逐次逼近型的ADC0809是 8位A/D转换芯片,它由单一的 5V电源供电,片内带有锁存功能的8路模拟多路开关,可对8路0-5V的输入模拟电压信号分时进行转换,完成一次转换约100us。片内具有多路开关的地址译码器和锁存电路、高阻抗斩波器、稳定的比较器,256欧电阻T型网络和树状电子开关以及逐次逼近寄存器。输出具有TTL三态锁存缓冲器,可直接接到单片机数据总线上。通过适当的外接电路,ADC0809可对0-5V的双极性模拟信号进行转换。在本实验中,见于简单起见,只选取了一个温度控制信号,故A/D0809只接一路输入信号IN0。
五、人机接口
1.键盘、显示器接口电路
键盘显示电路中,采用的是8031单片机扩展I/O接口芯片8255A实现的四位LED显示和16键的键盘显示器接口电路。8255A的PA口地址为7CH,PB口地址为7DH,PC口的地址为7EH,控制字寄存器地址为7FH。这里8031单片机对8255A采用了线性选址法。8255A的RAM的地址为7E00H~7EFFH,I/O口地址为7F00H~7F05H,8255A的PB口为输出口,控制键盘的列线的电位,PB口作为键扫描口,同时又是4位共阴极显示器的位扫描口。PC口作为显示器的段码输出口,8255A的PA口作为输入口,PC0~3接行线X0~X3,称为键输入口。键盘需输入参数Kp、Ti、Td、T及PID算法的给定值,显示器显示温度值。
在8051单片机上扩展一片8255A芯片,无需外加任何逻辑电路,74LS373时地址锁存器,8255A的地址线A1、A0经74LS373接于P0.1、P0.0;片选端CS经74LS373与P0.7接通,其它地址线悬空;8255A的控制线/RD、/WR直接接于8031的RD、/WR端;数据线D0~D7接于P0.0~P0.7。
8255A的B口作为显示器接口,采用静态显示,74LS373为锁存器。74LS48为共阴极译码/驱动器,LED数码管采用8 HEADER,键盘处理为中断方式。由此可见,8255A的B口工作在两种方式下:在显示状态下R。键盘为4×4矩阵键盘,8255A口的PA3 -PA0为行扫描接口,从B口的PB3-PB0读入列值,该系统键为输出方式;在键盘中断服务程序处理过程中为输入方式。为此,只需在相应操作前重新设置8255A的工作方式即可。
2.存储器的扩展
在MCS-51单片机的16位地址,分为高8位和低8位,高位由P2输出,低位由P0输出。但P0同时又是数据输入输出接口,故在传送时采用分时方式,先输出低8位地址,然后,在传送数据。但是,在对外部存储器进行读写操作时,地址必须保持不变,这就需要选择适当的寄存器存放低8位地址,这个外界的寄存器就是地址锁存器。在进行外部存储器扩展时,凡具有输入输出控制的8位寄存器均可作为地址锁存器。这里选用的是27128。
3.输出执行电路(反馈部分)
这一部分主要完成经单片机控制系统后的控制信号如何反作用于被控对象,在MCS-51单片机控制各种各样的高压、大电流负载,这些大功率负载如电动机、电磁铁、继电器、灯泡等,显然不能用单片机的I/O线来直接驱动,而必须通过各种驱动电路和开关电路来驱动。此外,为了隔离和抗干扰,有时需加光电耦合器。
本装置主要完成电热负载的调功输出控制。此处选用的核心元件为SSR(Solid State Relay),即固态继电器。它是一种新颖的四端以弱控强的无触点功率控制元件。
其特点是输入控制电压低(3V-14V),驱动电流小(3mA-15mA),输出与输入采用光电隔离,使强电与弱电完全分离,输出无触点、无噪声,开关速度快。它事实上将光电隔离器、驱动器、可控硅、阻容吸收等器件做在一起,用环氧树脂全灌封装,具有防尘、耐湿、耐振、寿命长等优点。
这里采用的固态继电器是非过零触发的SSR。当中断服务程序将P1.5置“1”时,BG 导通,SSR 导通,电阻丝上得到完整周波,当P1.5置“0”时,SSR被关断,电阻丝上得不到完整的周波。单片机通过控制P1.5的高低电平的占空比来控制电阻丝的功率输出。
六、硬件抗干扰措施
为了防止外界交流电路产生的工频干扰对模拟信号的影响,在电路设计中(放大器和比较器)采用低通滤波器和有源滤波器。为了防止由于外时钟是高频噪声源引起的硬件电路产生的干扰,选用低频率的单片机来提高提高抗干扰性,本装置中采用8051的时钟频率为6MHz。为了切断干扰信道,避免强电流对回路的冲击,常用光电隔离方法,本装置中采用的SSR集成了光电耦合器,应用于输出通道。为了防止电磁波干扰,在开关电源内部把高频电压器和扼流圈进行屏蔽,对整个开关电源进行屏蔽保护。
七、软件设计部分
软件的主要任务是完成初始化工作,如参数显示、键盘命令识别、信号的采集、滤波和工程量转换控制算法处理、中断处理等。
主程序包括:键盘置数程序、键盘数值处理程序、系统初始化。
中断服务程序:A/D转换结束中断、系统时钟溢出中断、8255A读键盘中断。
子程序:数据采集子程序、数字滤波子程序、显示子程序、A/D转换子程序、控制算法子程序。
本装置中重点完成A/D转换子程序和PID控制算法子程序的设计。
八、结语
本装置给出了一个基于MCS51系统的PID温度控制系统较完整的解决方案和实现方法,该实验装置在教学中极具典型性,可以使同学们把所学的理论知识加以升华,而且可以起到举一反三和触类旁通的效果,对单片机在其他情况下的应用,有了一个基础性的了解与掌握。在装置实现的过程中采用的一些芯片也许不能很好地满足工业现场的要求,可作一些更换。
参考文献:
[1]潘新民.微型计算机控制技术[M].北京:电子工业出版社,2003,1.
[2]张毅刚.MCS-51单片机应用设计[M].哈尔滨工业大学出版 社,1997,12(第二版).
[3]李树华.数字PID自动温度控制系统的设计与实现[J].内蒙古大学学报(自然科学版),1997.28(6).
(作者单位:浙江理工大学信息与电子学院)