摘 要:提出了一种基于C8051F020单片机的PID参数自整定控制器设计,制作了实物并在液位控制设备中验证。该系统采用自校正控制原理和常规PID控制相结合的算法,能快速整定出PID控制器的参数。用单片机C8051F020为主芯片完成控制器系统设计,能根据当前输出值和目标值的偏差求出控制增量输出,使被控对象能快速达到目标值并保持。所有数据通过串口发送至PC保存,以便进行进一步数据分析。
关键词:C8051F020;PID;参数自整定
随着航空航天、工业控制和各种过程控制的发展,对被控对象的控制要求越来越高。PID控制器因结构简单、容易实现,被广泛应用于各种工业控制中[1]。但PID控制的参数整定是一个问题,不合适的PID参数会使得控制效果变差,甚至不能达到控制目标。本文设计的PID参数自整定控制器基于高速单片机C8051F020,通过自校正控制原理和常规PID控制相结合,可以根据被控对象数学模型及控制要求快速整定出PID控制器参数,从而完成控制器设计,最终实现控制要求。
可通过在Matlab中以被控对象的数学模型和控制要求作为已知条件求出PID控制器参数,将参数编入单片机程序中,或通过上位机由串口设置,完成设计任务。
1 自校正PID算法
常规PID控制系统图[2]如图1所示。
自校正PID控制应用在已知被控对象数学模型和控制目标的情况下,通过自校正PID算法可快速求出自校正PID控制器参数。自校正PID控制器的设计思路是:通过系统对象离散传递函数的参数按自校正的极点配置法进行控制器参数的设计。下面介绍PID控制器的设计过程[3]。
设所调整的被控对象为:
(1)输入输出调理电路:工业控制系统中信号的传送是通过电流信号实现的,其范围为4 mA~20 mA。则输入信号调理电路的功能为将4 mA~20 mA的电流信号转化为电压信号,输出信号调理电路的功能则相反。
(2)控制器电路:主要为以单片机C8051F020为主控芯片的控制器,内置PID控制算法。包括构成单片机系统最基本的晶振电路和复位电路。
(3)实时显示、报警电路:包括实时时钟电路、蜂鸣器驱动电路。实时时钟采用低功耗的CMOS实时时钟/日历芯片。显示电路采用数码管显示。
(4)串口通信电路:单片机和PC通过串口电路进行通信,可在PC上实现对当前情况的实时监控,并可通过串口设置。
(5)按键电路:通过中断按键电路对最终控制的目标值进行设定。
3 C8051F020内部子系统
PID控制器中,A/D、D/A模块以及定时采集数据的定时器均使用C8051F020的内部资源[5]。
(1)A/D模块:本系统使用12 bit的ADC0。使用内部基准电压标准的2.4 V作为ADC0的VREF,设置其向ADC0BUSY写1为启动ADC的方式,并通过串口通信将结果输出给PC。
(2)D/A模块:DAC0采用内部基准电压作为参考电压,并采用直接赋值的方法更新输出值。更新DAC0的输出方式为直接写数据更新,当DAC0L装入新的数据后,DAC0开始工作,输出当前D/A转换结果,进而控制执行机构动作。
4 系统软件设计
根据Matlab中相关函数求得自校正PID控制器的参数F1、G和R,编写PID控制器的程序完成PID控制任务。PID控制的流程图如图4所示。
控制时间根据被控对象表达式中的采样时间间隔而定。主要过程为根据当前系统的采集值和目标值的偏差通过自校正PID控制器的计算求得控制量输出,驱动执行机构动作。当系统计算出的控制量始终为D/A输出的最大值或最小值时,可以认为系统异常,此时驱动蜂鸣器报警,请求进行人工处理。
系统可通过按键对最终控制的目标设定值进行修改。两个按键对程序中预设的目标值进行步进加和步进减,采用中断方式完成功能。
5 实验结果及测试
液位控制是一个比较传统的被控对象,因此将液位控制作为设计PID参数自整定控制器的验证被控对象。系统验证的实验设备使用东南大学过程控制实验室的液位控制设备,该装置原理图如图5所示。
从图6、图7可以看出,被控对象能较快速地达到目标值,并能根据设定的控制目标进行控制。
参考文献
[1] 王伟,张晶涛,柴天佑.PID参数先进整定方法综述[J].自动化学报,2000,26(3):20-24.
[2] 陶永华.新型PID控制及其应用[M].北京:机械工业出版社,1998.
[3] 庞中华,崔红.系统辨识与自适应控制Matlab仿真[M].北京:北京航空航天大学出版社,2008.
[4] 董宁.自适应控制[M].北京:北京理工大学出版社,2009.
[5] 潘琢金,施国君.C8051Fxxx高速SoC单片机原理及应用[M].北京:北京航空航天大学出版社,2002.