论文部分内容阅读
摘要:本系统以AT89C51,AT89C2051单片机为核心,主要包括传感器温度采集,A/D模/数转换,按扭操作,单片机控制,数码管数字显示等部分。本系统采用PID算法实现温度控制功能,通过串行通信完成两片单片机信息的交互而实现温度设定、控制和显示。为了实现高精度的水温控制,本单片机系统采用PID算法控制和PWM脉宽调制相结合的技术,通过控制双向可控硅改变电炉和电源的接通、断开,从而改变水温加热时间的方法来实现对水温的控制。
总体方案的确定
比例积分加微分控制(PID控制)
比例積分加微分控制的特点是微分的作用使控制器的输出与偏差变化的速度成正比例,它对克服对象的容量滞后有显著的效果。在比例基础上加上微分作用,使稳定性提高,再加上积分作用,可以消除余差。因此,PID控制适用于负荷变化大、容量滞后较大、控制品质要求又很高的控制系统。
系统组成
本例是一个典型的检测、控制型应用系统,它要求系统完成从水温检测、信号处理、输入、运算到输出控制电炉加热功率以实现水温控制的全过程。因此,应以单片微型计算机为核心组成一个专用计算机应用系统,以满足检测、控制应用类型的功能要求。另外,单片机的使用也为实现水温的智能化控制以及提供完善的人机交互界面及多机通讯接口提供了可能,而这些功能在常规数字逻辑道路中往往是难以实现或无法实现的。所以,本例采用以单片机为核心的直接数字控制系统(DDC)。
温度控制
键盘输入一个需要控制的温度,通过单片机2051的串口把数据传送到AT89C51,AT89C51通过数据比较,PID分析,T0,T1产生PWM波来控制电炉是否继续加热还是停止加热。
方案选择
用A/D590:通过AD590温度传感器采集温度,由于AD590是电流传感器,经过电阻转换为电压。虽然价格较高但是精度高。
程序流程
系统软件由主程序、键盘扫描、LED显示、串行口中断组成。由于本模块就进行键盘与显示任务,且键盘扫描与LED扫描是用同个74LS138来完成,可以将程序精简,即把键盘和显示的程序合在一起放在主程序里。
(1)初始化。设定可编程芯片的工作方式,对内存中的工作参数区进行初始化,显示系统初始状态。
(2)读温度程序. 通过DS18B20的侧温.
(3)调用PID算法子程序通过键盘模块发送过来的数据,即给定值,和测量值进行计算,输出PWM波.对电炉的水温度进行控制.
(4)返回
第4节 参数计算
系统调试包括硬件调试和软件调试。按+键设定温度值加一;按-键设定温度值减一;按设温键,可任意设置温度,输入相应的数值,按确定键即可,按取消键则返回前一次设置的值;按初始键则返回刚一开机的状态。软件的调试府在仿真器提供的单步、断点、跟踪等功能的支持下对各子程序分别进行调试.将调试完的工程序连接起来再调试.逐步扩大调试范围。
系统硬件调试
温系统经温度传感器和信号放大器产生0~5V的模拟电压信号送入A/D转换器的输入端,A/D转换器将模拟量转换为数字量通过系统总线送入单片机进行运算处理。
硬件电路的调试应依次对单片机基本系统、前向通道和后向通道分别进行调试。调试时可利用仿真器对各接口地址进行读写操作,静态地测试电路各部分的连接是否正确;对于动态过程(如中断响应、脉宽调制输出等)可以编写简短的调试程序配合硬件电路的调试。
单片机基本系统调试
(a)晶振电路
将仿真器晶扳开关打到外部,如果仿真器出现死机现象,说明用户系统晶振电路有问题,此时应用示波器观察单片机时钟信号,或输入端是否振荡信或检查品振电路各器件参数。
(b)复位电路
按下复位按钮应使系统处于复位状态,否则用用表检查复位电路各点信号和器件参数。
(2)LED显示电路
本电路采用8个共阴的数码管动态显示,前4个为设定温度,后4个为实测温度。动态扫描时采用74LS138对这8个数码管轮流扫描,进行位控,而P1口是进行段控信号的控制,为了增加数码管的亮度,共阴端有三极管来驱动它的电流。
(3)键盘接口电路
本电路采用键盘扫描法对16个按键进行读取状态。使用行列式,把这16个按键分为82,采用74LS138对8行键盘轮流扫描,再通过P3.2和P3.7这2列读进来,从而判断按键是否按下
(6) 传感器电路部分
温度传感器种类较多。热电偶由于热电势较小,因而灵敏度较低;热敏电阻由于非线性而影响精度;铂电阻温度传感器由于成本高,在一般小系统中很少使用。AD590是美国Analog Devices公司生产的二端式集成温度传感器,具有体积小、重量轻、线性度好、性能稳定等一系列优点。它的测温范围为-50~+155C,满刻度误差为0.3C,当电源电压在5~10V之间,稳定度为1%,误差只有0.01C,完全适用于本设计对水温测量的要求。另外AD590是温度——电流传感器,对于提高系统抗干扰能力也有很大帮助,因此本设计选用AD590作为温度传感器。
测试方法
由于系统不完善,我采用的是分步调试的方法,步骤如下:
(1)在水杯中存放1L净水,放置在1KW的电炉上,打开控制电源,系统进入准备工作状态。
(2)先调零,先将OP07的2、3脚短路,然后调节滑动变阻器,使六脚输出为0。
(3)在改变温度使温度为35℃时输出为0V,温度为95℃时输出为5V。在65℃时为2.5V。
(4)在结合软件进行水温控制,假如设定温度为88℃,而实际温度为55℃,那么就加热使水问到达88℃,此时水炉会自动断电,当水温低与88℃,水炉有会自动加热实现控制的作用。
结束语
根据设计要求,调试完成的系统应作全面的指标测试。测试过程如下:
a.通过键盘输人水温给定值,输入范围能满足40一90C区分度为1 C的要求。
b.运行水温控制系统,观察水温变化情况.测量水温静态误差,该误差应能满足要求。
通过这次实验, 了解了传感器A/D590的特性和其应用。也收获了很多关于单片机相互通信的知识。特别是对PID算法有了一定的了解。在整个系统的制作过程中,温度的采样遇到了很大的困难,电阻值没有调准。
参考文献
电子系统设计 主编:何小艇 浙江大学出版社
8051单片机实践与应用 编著:吴金戎,沈庆阳等 清华大学出版社
单片机应用系统设计 编著:韩志军,王振波等 机械工业出版社
(中北大学朔州校区 山西 朔州 036000)
总体方案的确定
比例积分加微分控制(PID控制)
比例積分加微分控制的特点是微分的作用使控制器的输出与偏差变化的速度成正比例,它对克服对象的容量滞后有显著的效果。在比例基础上加上微分作用,使稳定性提高,再加上积分作用,可以消除余差。因此,PID控制适用于负荷变化大、容量滞后较大、控制品质要求又很高的控制系统。
系统组成
本例是一个典型的检测、控制型应用系统,它要求系统完成从水温检测、信号处理、输入、运算到输出控制电炉加热功率以实现水温控制的全过程。因此,应以单片微型计算机为核心组成一个专用计算机应用系统,以满足检测、控制应用类型的功能要求。另外,单片机的使用也为实现水温的智能化控制以及提供完善的人机交互界面及多机通讯接口提供了可能,而这些功能在常规数字逻辑道路中往往是难以实现或无法实现的。所以,本例采用以单片机为核心的直接数字控制系统(DDC)。
温度控制
键盘输入一个需要控制的温度,通过单片机2051的串口把数据传送到AT89C51,AT89C51通过数据比较,PID分析,T0,T1产生PWM波来控制电炉是否继续加热还是停止加热。
方案选择
用A/D590:通过AD590温度传感器采集温度,由于AD590是电流传感器,经过电阻转换为电压。虽然价格较高但是精度高。
程序流程
系统软件由主程序、键盘扫描、LED显示、串行口中断组成。由于本模块就进行键盘与显示任务,且键盘扫描与LED扫描是用同个74LS138来完成,可以将程序精简,即把键盘和显示的程序合在一起放在主程序里。
(1)初始化。设定可编程芯片的工作方式,对内存中的工作参数区进行初始化,显示系统初始状态。
(2)读温度程序. 通过DS18B20的侧温.
(3)调用PID算法子程序通过键盘模块发送过来的数据,即给定值,和测量值进行计算,输出PWM波.对电炉的水温度进行控制.
(4)返回
第4节 参数计算
系统调试包括硬件调试和软件调试。按+键设定温度值加一;按-键设定温度值减一;按设温键,可任意设置温度,输入相应的数值,按确定键即可,按取消键则返回前一次设置的值;按初始键则返回刚一开机的状态。软件的调试府在仿真器提供的单步、断点、跟踪等功能的支持下对各子程序分别进行调试.将调试完的工程序连接起来再调试.逐步扩大调试范围。
系统硬件调试
温系统经温度传感器和信号放大器产生0~5V的模拟电压信号送入A/D转换器的输入端,A/D转换器将模拟量转换为数字量通过系统总线送入单片机进行运算处理。
硬件电路的调试应依次对单片机基本系统、前向通道和后向通道分别进行调试。调试时可利用仿真器对各接口地址进行读写操作,静态地测试电路各部分的连接是否正确;对于动态过程(如中断响应、脉宽调制输出等)可以编写简短的调试程序配合硬件电路的调试。
单片机基本系统调试
(a)晶振电路
将仿真器晶扳开关打到外部,如果仿真器出现死机现象,说明用户系统晶振电路有问题,此时应用示波器观察单片机时钟信号,或输入端是否振荡信或检查品振电路各器件参数。
(b)复位电路
按下复位按钮应使系统处于复位状态,否则用用表检查复位电路各点信号和器件参数。
(2)LED显示电路
本电路采用8个共阴的数码管动态显示,前4个为设定温度,后4个为实测温度。动态扫描时采用74LS138对这8个数码管轮流扫描,进行位控,而P1口是进行段控信号的控制,为了增加数码管的亮度,共阴端有三极管来驱动它的电流。
(3)键盘接口电路
本电路采用键盘扫描法对16个按键进行读取状态。使用行列式,把这16个按键分为82,采用74LS138对8行键盘轮流扫描,再通过P3.2和P3.7这2列读进来,从而判断按键是否按下
(6) 传感器电路部分
温度传感器种类较多。热电偶由于热电势较小,因而灵敏度较低;热敏电阻由于非线性而影响精度;铂电阻温度传感器由于成本高,在一般小系统中很少使用。AD590是美国Analog Devices公司生产的二端式集成温度传感器,具有体积小、重量轻、线性度好、性能稳定等一系列优点。它的测温范围为-50~+155C,满刻度误差为0.3C,当电源电压在5~10V之间,稳定度为1%,误差只有0.01C,完全适用于本设计对水温测量的要求。另外AD590是温度——电流传感器,对于提高系统抗干扰能力也有很大帮助,因此本设计选用AD590作为温度传感器。
测试方法
由于系统不完善,我采用的是分步调试的方法,步骤如下:
(1)在水杯中存放1L净水,放置在1KW的电炉上,打开控制电源,系统进入准备工作状态。
(2)先调零,先将OP07的2、3脚短路,然后调节滑动变阻器,使六脚输出为0。
(3)在改变温度使温度为35℃时输出为0V,温度为95℃时输出为5V。在65℃时为2.5V。
(4)在结合软件进行水温控制,假如设定温度为88℃,而实际温度为55℃,那么就加热使水问到达88℃,此时水炉会自动断电,当水温低与88℃,水炉有会自动加热实现控制的作用。
结束语
根据设计要求,调试完成的系统应作全面的指标测试。测试过程如下:
a.通过键盘输人水温给定值,输入范围能满足40一90C区分度为1 C的要求。
b.运行水温控制系统,观察水温变化情况.测量水温静态误差,该误差应能满足要求。
通过这次实验, 了解了传感器A/D590的特性和其应用。也收获了很多关于单片机相互通信的知识。特别是对PID算法有了一定的了解。在整个系统的制作过程中,温度的采样遇到了很大的困难,电阻值没有调准。
参考文献
电子系统设计 主编:何小艇 浙江大学出版社
8051单片机实践与应用 编著:吴金戎,沈庆阳等 清华大学出版社
单片机应用系统设计 编著:韩志军,王振波等 机械工业出版社
(中北大学朔州校区 山西 朔州 036000)