扬州大学能源与动力工程学院
课程设计报告
题 目: 数字PID控制系统设计(I) 课 程: 计算机控制技术课程设计 专 业: 电气工程及其自动化 班 级: 姓 名: 学 号:
第 一 部 任
务 书
1
分
《计算机控制技术》课程设计任务书
一、课题名称
数字PID控制系统设计(I)
二、课程设计目的
课程设计是课程教学中的一项重要内容,是达到教学目标的重要环节,是综合性较强的实践教学环节,它对帮助学生全面牢固地掌握课堂教学内容、培养学生的实践和实际动手能力、提高学生全面素质具有很重要的意义。
《计算机控制技术》是一门理论性、实用性和实践性都很强的课程,课程设计环节应占有更加重要的地位.计算机控制技术的课程设计是一个综合运用知识的过程,它需要控制理论、程序设计、硬件电路设计等方面的知识融合.通过课程设计,加深对学生控制算法设计的认识,学会控制算法的实际应用,使学生从整体上了解计算机控制系统的实际组成,掌握计算机控制系统的整体设计方法和设计步骤,编程调试,为从事计算机控制系统的理论设计和系统的调试工作打下基础。
三、课程设计内容
设计以89C51单片机和ADC、DAC等电路、由运放电路实现的被控对象构成的计算机单闭环反馈控制系统。
1。 硬件电路设计:89C51最小系统加上模入电路(用ADC0809等)和模出电路(用TLC7528和运放等);由运放实现的被控对象。
2. 控制算法:增量型的PID控制.
3. 控制算法仿真:在simulink中建立系统仿真图,编写S-function, 对算法进行仿真。
四、课程设计要求
1。 模入电路能接受双极性电压输入(-5V~+5V),模出电路能输出双极性电压(-5V~+5V)。 2. 模入电路用两个通道分别采集被控对象的输出和给定信号。 3. 每个同学选择不同的被控对象:
G(s)4,s(0.2s1)G(s)4 s(0.8s1)
5,(0.8s1)(0.3s1)5G(s),(s1)(0.8s1)8G(s),s(0.8s1)(0.4s1)G(s)G(s)5(0.8s1)(0.2s1)10G(s)(s1)(0.4s1)8 G(s)s(0.4s1)(0.5s1) 4。 PID参数整定,根据情况可用扩充临界比例度法,扩充响应曲线法等.
2
5. 对象输出端加上扰动:扰动可选择小幅度正弦信号、小幅度阶跃信号、小幅度的脉冲信号。 扰动的出现时刻选择在系统进入稳态后的适当时刻。
6. 对采样信号加上滤波算法.算法可选择滑动平均值法,复合滤波,惯性滤波等。
7。 simulink仿真采用ode4定步长,仿真步长可取0。1—1ms.采样周期可取20—100ms,由实验结果确定。
8。 S—function的函数名由各人姓名拼音缩写+学号后3位数组成.
五、课程设计实验结果
1. 控制系统能正确运行。
2. 正确整定PID参数后,系统阶跃响应超调<10%,调节时间尽量短。
六、进度安排
序号 1 2 3 4 5 6 7 内容 布置任务,熟悉课题要求 总体方案确定,硬件电路设计 学习matlab及simulink的使用,研读范例程序 控制算法设计 Simulink编程,调试 实验 总结,撰写课程设计报告 天数 0。5 1。5 1 1 1 1 1
七、课程设计报告内容:
总结设计过程,写出设计报告,设计报告具体内容要求如下: 1.课程设计的目的和设计的任务。 2.课程设计的要求。
3.控制系统总框图及系统工作原理。
4.控制系统的硬件电路连接图(含被控对象),电路的原理。 5.控制算法及其原理。
6. Simulink仿真图及S—function的算法实现说明. 7.实验结果及其分析。
8.电路设计、仿真调试中遇到的问题及解决方法. 9.体会。
3
第 二 部 分
课
程 设 计 报 告
4
目 录
1 课题简介 .................................................................................................................................................................... 6
1。1 课程设计的目的 .......................................................................................................................................... 6 1。2 课题任务和要求 .......................................................................................................................................... 6 2 数字PID控制系统方案设计 .................................................................................................................................. 6
2。1 控制系统总体介绍 ...................................................................................................................................... 6 2.2 系统闭环工作原理 ......................................................................................................................................... 7 3 数字PID控制硬件电路设计 .................................................................................................................................... 7
3。1 A/D转换单元 ............................................................................................................................................ 7 3。2 D/A转换单元 ............................................................................................................................................ 8 3。3 被控对象的实现 .......................................................................................................................................... 8 4 数字PID控制算法设计 ............................................................................................................................................ 9
4.1 数字PID增量型控制算法 ............................................................................................................................. 9 4.2 采样周期的选择 ............................................................................................................................................. 9 5 数字PID控制Simulink仿真设计 ............................................................................................ 错误!未定义书签。
5。1 主程序设计 ................................................................................................................... 错误!未定义书签。 5.2 定时中断程序设计 .......................................................................................................... 错误!未定义书签。 5.3 外部中断程序设计 .......................................................................................................... 错误!未定义书签。 5.4 滤波程序设计 .................................................................................................................. 错误!未定义书签。 6实验与结果分析 ....................................................................................................................................................... 11
6.1 凑试法确定PID参数 ................................................................................................................................... 12 6.2 实验结果分析 ............................................................................................................................................... 13 7 小结与体会 .............................................................................................................................................................. 13 参考文献 .................................................................... 错误!未定义书签。
5
1 课题简介
1.1 课程设计的目的
课程设计是课程教学中的一项重要内容,是达到教学目标的重要环节,是综合性较强的实践教学环节,它对帮助学生全面牢固地掌握课堂教学内容、培养学生的实践和实际动手能力、提高学生全面素质具有很重要的意义。
计算机控制技术的课程设计是一个综合运用知识的过程,它需要控制理论、程序设计、硬件电路设计等方面的知识融合.通过课程设计,加深对学生控制算法设计的认识,学会控制算法的实际应用,使学生从整体上了解计算机控制系统的实际组成,掌握计算机控制系统的整体设计方法和设计步骤,编程调试,为从事计算机控制系统的理论设计和系统的调试工作打下基础. 1。2 课题任务和要求
本课题的任务:
设计以89C51单片机和ADC、DAC等电路、由运放电路实现的被控对象构成的计算机单闭环反馈控制系统.
1。 硬件电路设计:89C51最小系统加上模入电路(用ADC0809等)和模出电路(用TLC7528和运放等);由运放实现的被控对象。
2。 控制算法:增量型的PID控制.
3。 控制算法仿真:在simulink中建立系统仿真图,编写S—function, 对算法进行仿真。
本课题的要求:
1。 模入电路能接受双极性电压输入(-5V~+5V),模出电路能输出双极性电压(-5V~+5V). 2。 模入电路用两个通道分别采集被控对象的输出和给定信号。
883。被控对象为:G(s) (s ) , G
s(0.8s1)(0.4s1)s(0.4s1)(0.5s1)4. PID参数整定,要求用扩充临界比例度法。
5. 定时中断时间可在10-50ms中选取,采样周期取定时中断周期的整数倍,可取20-100ms,由实验结
果确定。
6. 滤波方法可选择平均值法,中值法等.
6
2 数字PID控制系统方案设计
2.1 控制系统总体介绍
该闭环控制系统的被控对象为 G(s)给定值R 88PID控制系统框图如下图所示: ,数字G(s)s(0.8s1)(0.4s1)s(0.4s1)(0.5s1)U(t)D/AU(k)被控量Y被控对象 A/D控制器
图2.1 数字PID控制系统方框图
其中被控对象由一个积分环节和一个惯性环节串联而成.
首先利用模数转换单元对两路信号(给定和输出)进行采样,经过A/D转换器进行转换后,由单片机进行计算偏差,控制器采用的是增量型数字PID控制,由比例(P)、积分(D)和微分(I)叠加而成。经过A/D转换的数字信号再通过PID程序进行增量型计算,输出的信号值经过D/A转换得到控制信号,在D/A转换器中利用双运放实现双极性输出,经过被控对象得出被控量Y。
2。2 系统闭环工作原理
由图2。1可知,被控对象的响应Y(t)经采样电路离散为Y(k)。偏差E(k)=R(k)—Y(k),作为PID调节的输入,经过PID运算输出,得到控制输出U(k)。控制输出U(k)经采样保持器产生连续的控制输出信号U(t),作用于控制对象,使控制输出值U(t)达到给定值R,消除偏差E(k).
7
3 数字PID控制硬件电路设计
3.1 A/D转换单元
模数单元采用ADC0809芯片,主要包括多路模拟开关和A/D转换器两部分。 其主要特点为:单电源供电、工作时钟CLOCK最高可达到1200KHz、8位分辨率、8个单端模拟输入端(IN0~IN7)、TTL电平兼容等,可以很方便地和微处理器接口。
图3。1 A/D转换单元
如图3.1,通过三端地址译码A、B、C多路开关可选通8路模拟输入的任何一路进行A/D转换.其中IN0对地接500欧电阻,构成温度控制实验中的温度传感器专用输入通道;IN1~IN5的模拟量输入允许范围;0V~4。98v,对应数字量00H~FFH,2。5V对应80H; IN6、IN7两路由于接上了上拉电阻,所以模拟输入允许范围—5V~+4.96V,对应的数字量为00H~FFH,0V对应80H。这样就实现了双极性电压的输入。本课程设计中采用的ADC0809,其输出8位数据线已连接到计算机控制系统的数据线。由于89C51外部时钟为12 MHz,其ALE端输出6分频时钟(2 MHz),再经过D触发器分频得到所需的应用时钟1MCLK(1 MHz),输入CLOCK端。
在本课程设计中要求模入电路用两个通道分别采集被控对象的输出和给定信号,并且要双极性电压输入,所以选择ADC0809的IN6、IN7两个通道采集输入模拟信号。
3.2 D/A转换单元
数模转换单元采用TLC7528芯片,它是8位、并行、两路、电压型输出数模转换器。其主要参数如下:转换时间100ns,满量程误差1/2LSB,参考电压—10V~+10V,供电电压+5V~+15V,输入逻辑电平与TTL兼容。输入数字范围为00H~0FFH,80H对应0V,输出电压为—5V~+4。96V.本课程设计中采用的TLC7528,其输入数字量的八位数据线、写线和通道选择控制线已接至控制计算机的总线上。片选线预留出待实验中连接到相应的I/O片选上,具体接线图如下:
8
图3.2 D/A转换单元
3。3被控对象的实现
88本课程设计中选取的被控对象为:G(s), 电路如图G(s)3.3。
s(0.8s1)(0.4s1)s(0.4s1)(0.5s1)
图3.3 控制对象
9
4 数字PID控制算法设计
4。1 数字PID增量型控制算法 对于连续系统,PID控制规律为: u(t)KP[e(t)1TIt0e(t)dtTDde(t)] (4.1。dt1)
其中,KP为比例增益,KP与比例带δ成倒数关系即KP=1/δ,TI为积分时间常数,TD为微分时间常数,u(t)为控制量,e(t)为偏差。
在计算机控制系统中,PID控制规律的实现必须用数值逼近的方法。当采样周期相当短时,用求和代替积分、后向差分代替微分,使模拟PID离散化为差分方程,得数字PID位置型控制算式:
T u(k)KP[e(k)TIe(i)TDi0ke(k)e(k1)] (4.1。
T2)
为了便于编写程序,避免积分累加占用过多的存储单元,我们需对式(4。1.2)进行改进。 由式(4.1。2)易写出u(k—1)的表达式,即
T u(k1)KP[e(k1)TIe(i)TDi0k1e(k1)e(k2)1。] (4。
T3)
将式(4.1。2)和式(4。1。3)相减,即得数字PID增量型控制算式为
u(k)u(k)u(k1) (4.1。4)
KP[e(k)e(k1)]KIe(k)KD[e(k)2e(k1)e(k2)]其中:KP称为比例增益;KI=KPT/TI称为积分系数;KD=KPTD/T称为微分系数。
为了编程方便,可将式(4.1.4)整理成如下形式:
u(k)q0e(k)q1e(k1)q2e(k2) (4.1。
5)
其中:q0KP(1最后输出为:
1TkTe(kk)e(k1)e(k1)e(k2)u()k)que((kk))qqe(k)1q)e(qke(1k)2q2iekT2) (4。1。 u(kKu(k[1)K[e(ke(i)1)T)(01P12P0De(DTIi0TIi0TTTTD2TT) ,q1KP(1D),q2KPDTITTT (4.1。6)
7)
4.2 采样周期的选择
(1)首先,香农采样定理给出了采样周期的上限。根据采样定理,采样周期应满足
T≤π/ωmax 其中,ωmax为被采集信号的上限角频率.采样周期的下限为计算机执行程序和输入输出所耗的时间,系统的采样周期只能在Tmax与Tmin之间选择。
10
(2)其次,要综合考虑给定值的变化频率、被控对象的特性、执行机构类型和控制回路等因素。
具体就本次课程设计的课题来说,一方面,给定方波的周期为10~20s间可调,且控制对象时间常数接近1s,变化较慢;另一方面,A/D转换时间在100μs左右,D/A转换时间在100ns左右,而程序执行时间估计在100μs左右。故综合考虑上述因素,对于我的控制对象,我选择的采样周期为20ms。
5 数字PID控制软件编程设计
5.1 主程序设计
主程序设计图如图5。1所示,其中两个输入(一个给定,一个反馈),一个输出U。本次课程设计重点在于对控制算法的原理,控制器设计,控制算法计算机实现的公式推导,采样周期选择进行研究。
图5。1主程序设计图
5。2 主程序设计
function sys=mdlOutputs(t,x,u,Kp,Ti,Td)
为输出, global umax uk ek yk //uk ek 为偏差
ek(1)=u(1)-u(2); // u(1)是给定量,u(2)是输出反馈量
yk=Kp*(ek(1)-ek(2))+Ti*ek(1)+Td*(ek(1)-2*ek(2)+ek(3));//为数
字PID增量型控制算式
ek(3)=ek(2); //保存偏差
ek(2)=ek(1); //保存偏差
if uk>umax uk=umax; end //当输出超过最大值5V,则输出为5V,并停止
if uk<-umax uk=-umax; end //当输出小于最小值-5V,则输出为-5V,并
停止
sys=[yk];
% end mdlOutputs
5.3 滤波程序设计
滤波程序主要完成输入值的程序滤波.相对于模拟滤波 ,数字滤波有以下几个优点: ①数字滤波是用程序实现的,不需要增加硬件设备,所以可靠性高,稳定性好; ②数字滤波可以实现对频率很低的信号的滤波,克服了模拟滤波的缺陷;
③数字滤波可以根据信号的不同,采用不同的滤波参数,具有灵活、方便、功能强的特点。
由于数字滤波器具有以上优点,所以数字滤波在控制系统中得到了广泛的应用.
在我们的课题中,我们对A/D转换输入到单片机的给定和控制响应分别进行滤波,采用的是滑动窗口平均值滤波。其部分程序如下:
char M,N; //滑动窗口大小为2 M=N=0;
YK= (ADC_7 - 128+M)/2; //取平均值 M=ADC_7 - 128; //“滑动” N=ADC_7 — 128; //取平均值
RK= (ADC_7 — 128+N)/2; //“滑动”。
11
6实验与结果分析
6.1 凑试法确定PID参数
增大比例系数KP一般能将加快系统的响应,在有静差的情况下有利于减小静差。但过大的比例系数会是系统有较大的超调,产生振荡,使系统稳定性变坏。增大积分时间TI有利于减少超调,减少振荡,使系统更加稳定,但系统静差的消除将随之减慢。增大微分时间TD也有利于加快系统的响应,使超调减小,稳定性增加,但系统对扰动的抑制减弱,对扰动有较敏感的响应。 综上,采用凑试法的整定步骤为:
①首先只整定比例部分。即将比例系数由小变大,并观察相应的系统响应,直到得到反应快,超调小的 响应曲线。
②如果比例调节响应曲线的静差不满足要求,则需加入积分环节。积分时间TI由大往小调,同时略为减 小比例系数KP,直到消除静差。
③若得到的曲线的动态性能不满足要求,需加入微分环节。微分系数TD初值为0,逐渐调大TD,同时 相应地改变积分时间和比例系数,逐步凑试,以获得满意的调节效果和控制参数。
采用上述步骤,对于我的控制对象(传递函数见式3。3.1),得到的参数为:KP取0.5,ti取6,td取0。05,
用虚拟示波器观察到的未加滤波程序的响应曲线如图6。1,加滤波程序后,响应曲线如图6.2所示。
Time Series Plot:2.521.5data10.500510152025Time (seconds)3035404550
图6。1未加滤波时的响应曲线
12
Time Series Plot:2.521.5data10.500510152025Time (seconds)3035404550
图6。2 加滤波时的响应曲线
6。2 实验结果分析
由上两图对比可得,加滤波后控制输出变得平稳了许多。相对于不加滤波时,在相同的参数(KP取0.7,ti取200,td取0)下,加滤波后的超调较小。加滤波和不加滤波的曲线的超调量都小于10%满足要求.
7 小结与体会
为期一周半的计算机控制课程设计已经结束了,这次的课程设计做的是增量型数字PID控制系统设计。通过这次的课程设计我充分认识到了自己的不足之处,首先是计算机控制知识储备方面,其次是DXP,和matlab的simulink仿真方面,对于一个电路设计我们不仅要知道原理更为重要的是要知道如何设计,设计的过程是一个比原理理解过程复杂的多的一个过程,原理易懂,参数整定难,这是我对它的认识。
课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,电力电子技术的应用日益广泛。这次课程设计,加强了我们动手、思考和解决问题的能力。在整个设计过程中,我得体会们通过这个方案包括设计了一套电路原理和连接图,和器件上的选择。
通过此次实验设计,使我熟悉并掌握计算机控制的应用,对增量型数字PID电路等有了深入的了解.更加
13
深刻的了解了数字PID控制器的设计,掌握了数字PID的工作原理,通过仿真对电路和工作原理进一步理解,在设计以及仿真过程中所遇到的问题能过综合运用所学知识,或者在网上找些资料解决在设计中的一些问题,因此对数字PID的控制的方法,系统的主电路、控制电路的设计方法,元器件的选择有了较深刻的体会.在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足.实践出真知,通过亲自动手制作,使我们掌握的知识不再是纸上谈兵。
这次课程设计对我来说是一个很大的考验,在设计中遇到了很多专业知识问题,最后在老师的辛勤指导下,终于游逆而解。同时,在老师的身上我们学也到很多实用的知识,在次我们表示感谢!同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢!此次课程设计,学到了很多课内学不到的东西,比如独立思考解决问题,出现差错的随机应变,和与人合作共同提高,都受益非浅,今后的制作应该更轻松,自己也都能扛的起并高质量的完成项目。
参 考 文 献
[1] 于海生主编,微型计算机控制技术,北京:清华大学出版社,1999 [2] 张艳兵等编著,计算机控制技术,北京:国防工业出版社,2008 [3] 张毅刚主编,单片机原理及应用,北京:高等教育出版社,2004
[4] 陈涛编著,单片机应用及C51程序设计,北京:机械工业出版社,2008
[5] 楼然苗﹑李光飞编著,单片机课程设计指导,北京:北京航空航天大学出版社,2007 [6] 夏扬﹑李敏艳﹑蒋步军编,计算机控制技术实验指导书,扬州大学,2011
14
因篇幅问题不能全部显示,请点此查看更多更全内容