ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:299.51KB ,
资源ID:17483859      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/17483859.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(PID控制算法程序设计Word下载.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

PID控制算法程序设计Word下载.docx

1、PID控制器问世至今已有近70年历史,它以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。当被控对象的结构和参数不能完全掌握,或得不到精确的数学模型时,控制理论的 其它技术难以采用时,系统控制器的结构和参数必须依靠经验和现场调试来确定,这时应用PID控制技术最为方便。即当我们不完全了解一个系统和被控对象,或 不能通过有效的测量手段来获得系统参数时,最适合用PID控制技术。PID控制,实际中也有PI和PD控制。PID控制器就是根据系统的误差,利用比例、 积分、微分计算出控制量进行控制的。PID(比例-积分-微分)控制器作为最早实用化的控制器已有50多年历史,现在仍是应用最广

2、泛的工业控制器。PID控制器简单易懂,使用中不需精确的系统模型等先决条件,因而成为应用最为广泛的控制器。PID控制器由比例单元(P)、积分单元(I)和微分单元(D)组成。其输入e (t)与输出u (t)的关系为 u(t)=kp(e(t)+1/TIe(t)dt+TD*de(t)/dt) 式中积分的上下限分别是0和t 因此它的传递函数为:G(s)=U(s)/E(s)=kp(1+1/(TI*s)+TD*s)其中kp为比例系数; TI为积分时间常数; TD为微分时间常数。PID 控制器的方块图PID 控制器是一个在工业控制应用中常见的反馈回路部件。这个控制器把收集到的数据和一个参考值进行比较,然后把这

3、个差别用于计算新的输入值,这个新的输入值的目的是可以让系统的数据达到或者保持在参考值。和其他简单的控制运算不同,PID控制器可以根据历史数据和差别的出现率来调整输入值,这样可以使系统更加准确,更加稳定。可以通过数学的方法证明,在其他控制方法导致系统有稳定误差或过程反复的情况下,一个PID反馈回路却可以保持系统的稳定。1.2反馈回路基础PID回路是要自动实现一个有量具和控制旋钮的操作人员的工作。这个操作人员会用量具测系统输出的结果,然后用控制旋钮来调整这个系统的输入,直到系统的输出在量具上显示稳定的需求的结果。在旧的控制文档里,这个过程叫做“复位”行为。量具被成为“测量”。需要的结果被成为“定值

4、”。定值和测量之间的差别被成为“误差”。 一个控制回路包括三个部分:(1)系统的传感器得到的测量结果;(2)控制器作出决定;(3)通过一个输出设备作出反应。控制器从传感器得到测量结果,然后用需求结果减去测量结果来得到误差。然后用误差来计算出一个对系统的纠正值来作为输入结果,这样系统就可以从它的输出结果中消除误差。在一个PID回路中,这个纠正值有三种算法,消除目前的误差,平均过去的误差,和透过误差的改变来预测将来的误差。比如说,假如一个水箱在为一个植物提供水,这个水箱的水需要保持在一定的高度。一个传感器就会用来检查水箱里水的高度,这样就得到了测量结果。控制器会有一个固定的用户输入值来表示水箱需要

5、的水面高度,假设这个值是保持65的水量。控制器的输出设备会连在一个马达控制的水阀门上。打开阀门就会给水箱注水,关上阀门就会让水箱里的水量下降。这个阀门的控制信号就是我们控制的变量,它也是这个系统的输入来保持这个水箱水量的固定。PID控制器可以用来控制任何可以被测量的并且可以被控制变量。比如,它可以用来控制温度,压强,流量,化学成分,速度等等。汽车上的巡航定速功能就是一个例子。一些控制系统把数个PID控制器串联起来,或是链成网络。这样的话,一个主控制器可能会为其他控制输出结果。一个常见的例子是马达的控制。我们会常常需要马达有一个控制的速度并且停在一个确定的位置。这样呢,一个子控制器来管理速度,但

6、是这个子控制器的速度是由控制马达位置的主控制器来管理的。连合和串联控制在化学过程控制系统中是很常见的。1.3理论PID是以它的三种纠正算法而命名的。这三种算法都是用加法调整被控制的数值。而实际上这些加法运算大部分变成了减法运算因为被加数总是负值。这三种算法是:(1)比例- 来控制当前,误差值和一个负常数P(表示比例)相乘,然后和预定的值相加。P只是在控制器的输出和系统的误差成比例的时候成立。比如说,一个电热器的控制器的比例尺范围是10C,它的预定值是20C。那么它在10C的时候会输出100%,在15C的时候会输出50%,在19C的时候输出10,注意在误差是0的时候,控制器的输出也是0。 (2)

7、积分- 来控制过去,误差值是过去一段时间的误差和,然后乘以一个负常数I,然后和预定值相加。I从过去的平均误差值来找到系统的输出结果和预定值的平均误差。一个简单的比例系统会振荡,会在预定值的附近来回变化,因为系统无法消除多余的纠正。通过加上一个负的平均误差比例值,平均的系统误差值就会总是减少。所以,最终这个PID回路系统会在预定值定下来。(3)微分- 来控制将来,计算误差的一阶导,并和一个负常数D相乘,最后和预定值相加。这个导数的控制会对系统的改变作出反应。导数的结果越大,那么控制系统就对输出结果作出更快速的反应。这个D参数也是PID被成为可预测的控制器的原因。D参数对减少控制器短期的改变很有帮

8、助。一些实际中的速度缓慢的系统可以不需要D参数。用更专业的话来讲,一个PID控制器可以被称作一个在频域系统的滤波器。这一点在计算它是否会最终达到稳定结果时很有用。如果数值挑选不当,控制系统的输入值会反复振荡,这导致系统可能永远无法达到预设值。第2章 设计原理基本的设计核心是运用PID调节器,从而实现直流电机的在带动负载的情况下也能稳定的运行。运用A/D转换芯片将滑动变阻器的模拟电压转换为数字量作为控制直流电机速度的给定值;用压控振荡器模拟直流电机的运行(电压高-转速高-脉冲多),单片机在单位时间内对脉冲计数作为电机速度的检测值;应用数字PID模型作单片机控制编程,其中P、I、D参数可按键输入并

9、用LED数码显示;单片机PWM调宽输出作为输出值,开关驱动、电子滤波控制模拟电机(压控振荡器)实现对直流电机的PID调压调速功能。基于以上的核心思想,我们把这次设计看成五个环节组成,其具体的原理如下见原理图PID调速设计原理图 如图可以知道,这是一个闭环系统,我们借助单片机来控制,我们现运用AD芯片,运用单片机来控制AD芯片来转换模拟电压到数字电压,AD给定的电压越大,则产生的数字量越大,单片机再控制这个数字量来产生一个PWM,PWM占空比越大,就驱动晶体管导通的时间越长,这样加到压频转换器的电压也就越大,电压越大,则压频转换器输出的计数脉冲再单位时间也就越多,这样就相当于电机的电压越大,其转

10、速也就会越快,我们再用单片机对压频转换器的输出脉冲计数,PID调节器就把这个计数脉冲和预先设定的 值进行比较,比设定值小,这样就会得到一个偏差,再把这个偏差加到AD的给定电压,这样就相当于加大了PWM的占空比,要是比设定值大,这样也会得到一个偏差,就把这个变差与给定的电压向减,这样就可以减少PWM的占空比,通过改变占空比来改变晶体管的导通时间,就可以改变压频转换器的输入电压,也就改变压频转换器的单位计数脉冲,达到调电动机速度的目的。第3章 设计方案3.1 PWM的调制 AD芯片给定一定的电压,应用单片机来控制来产生一个PWM,给定的电压不同,就会的得到不同的PWM波形。在产生PWM波形我们采用

11、ADC0808芯片和AT89C51两个核心器件。ADC0808芯片是要外加电压和时钟,当输入不同的电压的时候,就可以把不同的电压模拟量转化为数字值,输入的电压越大,其转换的相应的数字也就会越大,ADC0808芯片有8个通道输入和8个通道输出。其具体的管脚图如下ADC0808芯片管脚图AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以

12、反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如图所示AT89C51芯片管脚图3.2 基于单片机的数字PID控制直流电机PWM调压调速器系统3.2.1 调速原理当基于以上产生一个PWM后,就可以借助PWM脉冲来控制晶体管的导通和关断,来给压频转换器来提供一定的电压,在PROTUES中仿真中,给定一个+12V的

13、电压,就通过晶体管的导通和关断来给压频转换器供电,压频转换器就会输出很多的脉冲,借助单片机P3.5来计数,其计数送给P0来显示,通过给定不同的ADC的输入电压,就可以的得到不同的计数显示,电压越大,其计数显示也就越大,通过改变计数脉冲的周期和硬件压频转换器(LM331)的电阻和电容,就可以得到与输入电压接近的数值显示,可能由于干扰的原因,其显示值和实际值有一点偏差,这是在没有什么负载的情况下,或者说是在空载的情况下,这样就可以得到一个很理想的开环系统,也为闭环PWM调节做好准备。当开环系统稳定后,加上一个扰动,或者说是加上负载,这样就使的压频转换器的电压减少,在给定一定电压的时候,当负载分压的

14、时候,也就相当于直流电机的电压就会减少,这样直流电机的转速就会下降,或者说当有负载的时候,压频转换器的输入电压就会减少,这样输入的脉冲在单位时间就会减少,这样PID调节器,通过改变PID的参数,PID控制器由比例单元(P)、积分单元(I)和微分单元(D)组成。 TD为微分时间常数这样就会得到一个偏差,通过这个偏差来改变原来的PWM的占空比,使得晶体管的导通时间加长或减少,这样就改变了直流电机的输入电压,也就是该变了在PROTUES压频转换器的输入电压,使得输出的计数脉冲在单位时间发生改变,也就是模拟了直流电机的转速的改变,我们希望通过PID的调节,使得输出的计数脉冲的显示值和预先设定的值接近,

15、由于偏差的存在,使得PID调节器不断的去修正,使得显示值近可能的接近我们所预期的设定值。3.2.2 PID控制直流电机PWM调压调速器系统原理图 PID调速原理图3.2.3 波形仿真在不同的给定电压下开换系统会有不同的PWM波形和计数脉冲个数,当给定电压为较高时其波形见如下图低电压给定对应的波形3.2.4 相关程序1.PWM源程序ADC EQU 35H ;定义ADC0808时钟芯片CLOCK BIT P2.4ST BIT P2.5EOC BIT P2.6OE BIT P2.7PWM BIT P3.7 ORG 00H SJMP START ORG 0BH LJMP INT_TOSTART: MO

16、V TMOD,#02H MOV TH0,#00H MOV TL0,#00H MOV IE ,#82H SETB TR0WAIT:CLR ST SETB ST CLR ST ;启动A/D转换等待结果 JNB EOC,$ SETB OE MOV ADC,P1 ;启动/D转换结果 CLR OE SETB PWM ;PWM输出 MOV A,ADC LCALL DELAY CLR PWM MOV A,#0FEH SUBB A,ADC SJMP WAITINT_TO:CPL CLOCK RETI ;提供ADC0808时钟信号 DELAY: CJNE A ,#00H, L INC AL: MOV R6,#1

17、 D1:DJNZ R6 ,D1 DJNZ ACC,D1 RET END2.PID调速程序ADC EQU 35H CLK BIT P2.4 ST BIT P2.5 EOC BIT P2.6 OE BIT P2.7 PWM BIT P3.7;PID 调节设置 EK0 EQU 40H EK1 EQU 41H EK2 EQU 42H PP EQU 43H II EQU 44H DD EQU 45H UK0 EQU 70H UK1 EQU 71HORG 00H START: MOV TMOD, #62H MOV TH0, #00H MOV TL0, #00H MOV IE, #86H ;SETB TR1

18、 MOV R0, #00 MOV R1, #00 MOV R2, #00 MOV R3, #00 MOV R4, #00 MOV R5, #00 MOV R6, #00 MOV R7, #00PID 赋值 MOV PP, #05 MOV II, #03 MOV DD, #02 MOV EK0,#00H MOV EK1,#00H MOV EK2,#00H MOV UK0,#00H MOV UK1,#00H WAIT: INC R7 CLR ST JNB EOC, $ ;等待转换完成 MOV ADC, P1 MOV R0,ADC MOV A,70H ADDC A,ADC MOV ADC ,ACLR

19、 OE SETB PWM SETB TR1 MOV A, ADC LCALL DELAY ; 高电平延时 MOV A, #255 SUBB A, ADC 低电平延时 CJNE R7, #20, WA2 WA1: CLR TR1 MOV A, TL1 MOV 50H,A mov P0,50HPID求偏差 MOV A,EK1 MOV EK2,A MOV A,EK0 MOV EK1,A MOV A,R0 SUBB A,50H MOV EK0,APP的计算 SUBB A,EK1 MOV B,PP MUL AB MOV R1,A MOV R2,B AJMP X WAIT1:AJMP WAITII的计算

20、X: MOV B,II MOV R3,A MOV R4,BDD的计算 RL A ADDC A,EK2 MOV B,DD MOV R5,A MOV R6,BPID总的计算 MOV A,R1 ADDC A,R3 ADDC A,R5 MOV 60H,A MOV A,R2 ADDC A,R4 ADDC A,R6 MOV 61H,A MOV A,60H ADDC A,70H MOV 70H,A MOV A,61H ADDC A,71H MOV 71H,A MOV TL1,#00H ; WA2: SJMP WAIT1 INT_TO: CPL CLK RETI MOV R6, #1 DJNZ R6, D1

21、DJNZ ACC, D1 END第4章 心得体会我们进行了为期两周的课程设计。通过这两周的课程设计,我拓宽了知识面,锻炼了能力,综合素质得到了提高。刚刚拿到课题,我感到有些茫然,对于以前没有做过的人来说要全部做完的确有一定的难度。由于我对计算机控制不是很熟悉,在设计的过程中走了不少弯路。通过亲身体验做课程设计,我觉得安排课程设计的基本目的,在于通过理论与实际的结合,进一步提高观察、分析和解决问题的实际工作能力,以便培养成为能够主动适应社会主义现代化建设需要的高素质的复合型人才。运用学习成果,把课堂上学到的系统化的理论知识,尝试性地应用于实际设计工作,并从理论的高度对设计工作的现代化提出一些有针

22、对性的建议和设想。检验学习成果,看一看课堂学习与实际工作到底有多大距离,并通过综合分析,找出学习中存在的不足,以便为完善学习计划,改变学习内容与方法提供实践依据。我的收获有以下几点:(1)我对所学专业有了一些了解,增强了自己的兴趣和对以后可能从事的职业的热爱。(2)通过课程设计我明白到了理论到实践有一段很远的路程。设计过程中的每一步都是一门学问,我终于知道了每一个实现的过程,每一个认识的过程都存有人类无数的的汗水与对待事物一丝不苟得,缜密的思考以及不懈的努力,只有这样才会有一个新生事物的诞生。而以上种种的过程必须要你亲自去体会去认识去发现,那才是属于你的“收获”,只有这时才会对自己的作品无比的

23、骄傲。(3)通过这次设计加强了我们的设计创新能力。使我们的理论知识与实践充分地结合。(4)通过两周的课程设计,我学到了很多书本上学习不到的知识。对我们机电专业的学生来说,实际能力的培养至关重要,而这种实际能力的培养单靠课堂教学是远远不够的,必须从课堂走向实践。通过课程设计,让我们找出自身状况与实际需要的差距,并在以后的学习期间及时补充相关知识,为求职与正式工作做好充分的知识、能力准备。通过课程设计,我发现了自身存在的更多不足之处和实际应用能力方面的欠缺,这些不足之处在今后的学习之中要有意识的弥补和改变。 (5)感谢杜老师的悉心指导!感谢帮助我的同学!参考文献 1微型计算机原理与应用戴梅萼.清华大学出版社2单片机技术王炳实.机械工业出版社.2004.第3版3基于数字PID设计易泓可.机械工业出版社.20044微型计算机控制技术于海生.清华大学出版社.2000.第1版5单片机基础李广弟.航天航空大学出版社.2007.第3版

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1