扬州大学能源与动力工程学院课程设计报告题目:数字PID控制系统设计(I)课程:计算机控制技术课程设计专业:电气工程及其自动化班级:姓名:学号:第一部分任务书《计算机控制技术》课程设计任务书一、课题名称数字PID 控制系统设计(I )二、课程设计目的课程设计是课程教学中的一项重要内容,是达到教学目标的重要环节,是综合性较强的实践教学环节,它对帮助学生全面牢固地掌握课堂教学内容、培养学生的实践和实际动手能力、提高学生全面素质具有很重要的意义。
《计算机控制技术》是一门理论性、实用性和实践性都很强的课程,课程设计环节应占有更加重要的地位。
计算机控制技术的课程设计是一个综合运用知识的过程,它需要控制理论、程序设计、硬件电路设计等方面的知识融合。
通过课程设计,加深对学生控制算法设计的认识,学会控制算法的实际应用,使学生从整体上了解计算机控制系统的实际组成,掌握计算机控制系统的整体设计方法和设计步骤,编程调试,为从事计算机控制系统的理论设计和系统的调试工作打下基础。
三、课程设计内容设计以89C51单片机和ADC 、DAC 等电路、由运放电路实现的被控对象构成的计算机单闭环反馈控制系统。
1. 硬件电路设计:89C51最小系统加上模入电路(用ADC0809等)和模出电路(用TLC7528和运放等);由运放实现的被控对象。
2. 控制算法:增量型的PID 控制。
3. 控制算法仿真:在simulink 中建立系统仿真图,编写S-function, 对算法进行仿真。
四、课程设计要求1. 模入电路能接受双极性电压输入(-5V~+5V ),模出电路能输出双极性电压(-5V~+5V )。
2. 模入电路用两个通道分别采集被控对象的输出和给定信号。
3. 每个同学选择不同的被控对象:44(),()(0.21)(0.81)G s G s s s s s ==++ 55(),()(0.81)(0.31)(0.81)(0.21)G s G s s s s s ==++++ 510(),()(1)(0.81)(1)(0.41)G s G s s s s s ==++++88(),()(0.81)(0.41)(0.41)(0.51)G s G s s s s s s s ==++++ 4. PID 参数整定,根据情况可用扩充临界比例度法,扩充响应曲线法等。
5. 对象输出端加上扰动:扰动可选择小幅度正弦信号、小幅度阶跃信号、小幅度的脉冲信号。
扰动的出现时刻选择在系统进入稳态后的适当时刻。
6. 对采样信号加上滤波算法。
算法可选择滑动平均值法,复合滤波,惯性滤波等。
7. simulink仿真采用ode4定步长,仿真步长可取0.1-1ms。
采样周期可取20-100ms,由实验结果确定。
8. S-function的函数名由各人姓名拼音缩写+学号后3位数组成。
五、课程设计实验结果1. 控制系统能正确运行。
2. 正确整定PID参数后,系统阶跃响应超调<10%,调节时间尽量短。
六、进度安排七、课程设计报告内容:总结设计过程,写出设计报告,设计报告具体内容要求如下:1.课程设计的目的和设计的任务。
2.课程设计的要求。
3.控制系统总框图及系统工作原理。
4.控制系统的硬件电路连接图(含被控对象),电路的原理。
5.控制算法及其原理。
6. Simulink仿真图及S-function的算法实现说明。
7.实验结果及其分析。
8.电路设计、仿真调试中遇到的问题及解决方法。
9.体会。
第二部分课程设计报告目录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仿真设计 (10)5.1 主程序设计 (10)5.2 定时中断程序设计 (10)5.3 外部中断程序设计 (11)5.4 滤波程序设计 (12)6实验与结果分析 (12)6.1 凑试法确定PID参数 (12)6.2 实验结果分析 (14)7 小结与体会 (14)参考文献 (15)1 课题简介1.1 课程设计的目的课程设计是课程教学中的一项重要内容,是达到教学目标的重要环节,是综合性较强的实践教学环节,它对帮助学生全面牢固地掌握课堂教学内容、培养学生的实践和实际动手能力、提高学生全面素质具有很重要的意义。
计算机控制技术的课程设计是一个综合运用知识的过程,它需要控制理论、程序设计、硬件电路设计等方面的知识融合。
通过课程设计,加深对学生控制算法设计的认识,学会控制算法的实际应用,使学生从整体上了解计算机控制系统的实际组成,掌握计算机控制系统的整体设计方法和设计步骤,编程调试,为从事计算机控制系统的理论设计和系统的调试工作打下基础。
1.2 课题任务和要求本课题的任务:设计以89C51单片机和ADC、DAC等电路、由运放电路实现的被控对象构成的计算机单闭环反馈控制系统。
1. 硬件电路设计:89C51最小系统加上模入电路(用ADC0809等)和模出电路(用TLC7528和运放等);由运放实现的被控对象。
2. 控制算法:增量型的PID控制。
3. 控制算法仿真:在simulink中建立系统仿真图,编写S-function, 对算法进行仿真。
本课题的要求:1. 模入电路能接受双极性电压输入(-5V~+5V),模出电路能输出双极性电压(-5V~+5V)。
2. 模入电路用两个通道分别采集被控对象的输出和给定信号。
3.被控对象为:88(),()(0.81)(0.41)(0.41)(0.51)G s G ss s s s s s==++++4. PID参数整定,要求用扩充临界比例度法。
5. 定时中断时间可在10-50ms中选取,采样周期取定时中断周期的整数倍,可取20-100ms,由实验结果确定。
6. 滤波方法可选择平均值法,中值法等。
2.1 控制系统总体介绍该闭环控制系统的被控对象为88(),()(0.81)(0.41)(0.41)(0.51)G s G ss s s s s s==++++数字PID控制系统框图如下图所示:图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)。
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片选上,具体接线图如下:图3.2 D/A转换单元3.3被控对象的实现本课程设计中选取的被控对象为:88(),()(0.81)(0.41)(0.41)(0.51)G s G ss s s s s s==++++电路如图3.3。
图3.3 控制对象4 数字PID 控制算法设计4.1 数字PID 增量型控制算法对于连续系统,PID 控制规律为: ])()(1)([)(0⎰++=tDIP dtt de T dt t e T t e K t u (4.1.1)其中,K P 为比例增益,K P 与比例带δ成倒数关系即K P =1/δ,T I 为积分时间常数,T D 为微分时间常数,u(t)为控制量,e(t)为偏差。
在计算机控制系统中,PID 控制规律的实现必须用数值逼近的方法。
当采样周期相当短时,用求和代替积分、后向差分代替微分,使模拟PID 离散化为差分方程,得数字PID 位置型控制算式:])1()()()([)(0∑=--++=ki DIP Tk e k e T i e T Tk e K k u(4.1.2)为了便于编写程序,避免积分累加占用过多的存储单元,我们需对式(4.1.2)进行改进。
由式(4.1.2)易写出u(k-1)的表达式,即])2()1()()1([)1(1∑-=---++-=-k i DIP Tk e k e T i e T Tk e K k u(4.1.3)将式(4.1.2)和式(4.1.3)相减,即得数字PID 增量型控制算式为)]2()1(2)([)()]1()([)1()()(-+--++--=--=∆k e k e k e K k e K k e k e K k u k u k u D I P (4.1.4)其中:K P 称为比例增益;K I =K P T/T I 称为积分系数;K D =K P T D /T 称为微分系数。