PID应用于小车恒速笔记_第1页
PID应用于小车恒速笔记_第2页
PID应用于小车恒速笔记_第3页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、作者:日期:PID原理及程序引言:开始我接触PID的时候很不理解,周围的人也没有多少懂得PID的,尤其是程序设计及具体实际应用随着对PID的了解,也渐渐的知道是怎么回事了.要想学会应用PID首先要知道,提出PID这个概念或者PID理论存在的价值, 或者直接说他是用来干什么的:工业生产过程中,对于生产装置的温度、压力、 流量、液位等工艺变量常常要求维持在一定的数值上,或按一定的规律变化,以满足生产工艺的要求。PID控制器是根据PID控制原理对整个控制系统进行偏差 调节,从而使被控变量的实际值与工艺要求的预定值一致。应用于恒速,就是说被控物理量(车速)经传感器(测速码盘)检测到的反馈信号对速度进行

2、调整, 从而达到设定的速度下面将从原理和程序设计来解析 PID.控制原理:在工程实际中,应用最为广泛的调节器控制规律为比例、积分、微分控制,简称PID控制:比例(P)控制:比例控制是一种最简单的控制方式。其控制器的输出与输入误差信号 成比例关系。当仅有比例控制时系统输出存在稳态误差(Steady state error )。积分(I)控制:在积分控制中,控制器的输出与输入误差信号的积分成正比关系.对一个自动控制系统,如果在进入稳态后存在稳态误差,则称这个控制系统是有稳态误差的或简称有差系统(System with Steady state Error )。为了消除稳态误差,在控制器中必须引 入

3、 积分项".积分项对误差取决于时间的积分,随着时间的增加,积分项会增大。这样 ,即便误差很小,积分项也会随着时间的增加而加大,它推动控制器的输出增大使稳态误差进一步减小,直到等于零。因此,比例 +积分(PI)控制器,可以使系统在进入稳态后无稳态误差.微分(D)控制:在微分控制中,控制器的输出与输入误差信号的微分(即误差的变化率)成正比关系.自动控制系统在克服误差的调节过程中可能会出现振荡甚至失稳。其原因是由 于存在有较大惯性组件(环节)或有滞后(delay)组件,具有抑制误差的作用,其变化总是落后于误差的变化.解决的办法是使抑制误差的作用的变化超前”,即在误差接近零时,抑制误差的作用

4、就应该是零。这就是说,在控制器中仅引入比例”项往往是不够的,比例项的作用仅是放大误差的幅值,而目前需要增加的是微分项”,它能预测误差变化的趋势,这样,具有比例+微分的控制器,就能够提前使抑制误差的控制作用等于零,甚至为负值,从而避免了被控量的严重超调。所以对有较大惯性或滞后的被控对象,比例+微分(PD)控制器能改善系统在调节过程中的动态特性.模拟PID控制原理在模拟控制系统中,控制器最常用的控制规律是PID控制。常规的模拟PID控制系统原理框图如图所示。比例3峪彳积分IVr (t)+(t)e(t)U( t)模拟PID控制系统原理图该系统由模拟PID控制器和被控对象组成。图中, r(t)是给定值

5、,y(t)是系统的实际输 出值,给定值与实际输出值构成控制偏差e(t)( te )= r(t )- y ( t)(式 1 1)e (t)作为PID控制的输入,u (t)作为PID控制器的输出和被控对象的输入。所以模拟 PID控制器的控制规律为u(t) =Kp : e(t)deft)+dt+Td 矗(式 12)其中:Kp 控制器的比例系数Ti 控制器的积分时间,也称积分系数Td控制器的微分时间,也称微分系数1、比例部分比例部分的数学式表示是:Kp * e (t)在模拟PID控制器中,比例环节的作用是对偏差瞬间作出反应偏差一旦产生控制器立即产生控制作用,使控制量向减少偏差的方向变化。控制作用的强弱

6、取决于比例系数Kp,比例系数Kp越大,控制作用越强,则过渡过程越快,控制过程的静态偏差也就越小;但是Kp越大,也越容易产生振荡,破坏系统的稳定性。故而,比例系数Kp选择必须恰当,才能过渡 时间少,静差小而又稳定的效果 2、积分部分积分部分的数学式表示是:从积分部分的数学表达式可以知道,只要存在偏差,则它的控制作用就不断的增加;只 有在偏差e(t)=O时,它的积分才能是一个常数,控制作用才是一个不会增加的常数。可见, 积分部分可以消除系统的偏差。积分环节的调节作用虽然会消除静态误差,但也会降低系统的响应速度 ,增加系统的超调量。积分常数Ti越大,积分的积累作用越弱,这时系统在过渡时不会产生振荡;

7、但是增大 积分常数会减慢静态误差的消除过程,消除偏差所需的时间也较长,但可以减少超调量, 提高系统的稳定性。当Ti较小时,则积分的作用较强, 这时系统过渡时间中有可能产生振荡, 不过消除偏差所需的时间较短。所以必须根据实际控制的具体要求来确定Ti。3、微分部分微分部分的数学式表示是:Kp衣Td二实际的控制系统除了希望消除静态误差外,还要求加快调节过程.在偏差出现的瞬间,或在偏差变化的瞬间,不但要对偏差量做出立即响应(比例环节的作用),而且要根据偏差的变化趋势预先给出适当的纠正。 为了实现这一作用, 可在pi控制器的基础上加入微分环节,形成PID控制器。微分环节的作用使阻止偏差的变化。它是根据偏

8、差的变化趋势(变化速度)进行控制。 偏差变化的越快,微分控制器的输出就越大,并能在偏差值变大之前进行修正。微分作用的 引入,将有助于减小超调量,克服振荡,使系统趋于稳定,特别对髙阶系统非常有利,它加快了系统的跟踪速度但微分的作用对输入信号的噪声很敏感,对那些噪声较大的系统一般不用微分,或在微分起作用之前先对输入信号进行滤波。微分部分的作用由微分时间常数 Td决定。Td越大时,则它抑制偏差e (t)变化的作用越 强;Td越小时,则它反抗偏差e (t)变化的作用越弱。微分部分显然对系统稳定有很大的作 用。适当地选择微分常数 Td,可以使微分作用达到最优。数字式PID控制算法可以分为位置式 PID和

9、增量式PID控制算法.这里只介 绍增量式PID算法:当执行机构需要的不是控制量的绝对值,而是控制量的增量(例如去驱动步进电动机)时,需要用PID的“增量算法”。1 扩匚L I| V罂琲.口打厂山|, . *3-2(b) WMitPID控射席汎响闻优亲凰團增量式PID控制算法可以通过(2-4)式推导出.由(2 4)可以得到控制器的第k 1个采样时刻的输出值为:uk-i=耳%|+££ 勺+町% 'T(2-5)将(2 4)与(2-5)相减并整理,就可以得到增量式 PID控制算法公式为: 人叫T1严1上冷=KJ ek - ekA十£陽+乙孤"一彳1瓦&#

10、176;+彳+¥旭-乩+半)+忍¥也心汽.匸.(2 6)其中冲二石(】+訂¥)£ - KQ+ 学)C二碍由(2-6)可以看出,如果计算机控制系统采用恒定的采样周期T,一旦确定A、B、C,只要使用前后三次测量的偏差值,就可以由(2 6)求出控制量。增量式PID控制算法与位置式PID算法(2-4 )相比,计算量小得多,因此在实际中得到广泛的应用。位置式PID控制算法也可以通过增量式控制算法推出递推计算公式:(2 7)(2 7)就是目前在计算机控制中广泛应用的数字递推PID控制算法。程序设计:通过对上述原理的理解,PID的概念渐渐清晰起来.要想构建PID系统,

11、首先要 有一个反馈系统,所以小车必须有一个测速装置,这里选用的是光电开关和100孔 的码盘。其次是要想构建一个稳定的 PID系统,必须确定合理的P、I、D常数, 通过经验及多次试验慢慢修改。第一步:获得速度思路:行驶一定的距离,测量所用总时间T,轮子所产生的总得脉冲N与行 驶距离S,那么距离与脉冲的关系K=S/N ;平均速度V=S/T ;获得这个参数后, 程序就可以根据码盘所返回的脉冲数算出速度,v=n * K/t t为定时器定时中断的时间n是t时间内所产生的脉冲数数据记录与分析:delay(12000)行走了 2738mm 左轮脉冲为 1887 那么 K=2738/1887=1.450del

12、ay (10000)行走了 2230mm 左轮脉冲为 1541 那么 K=2230/1541=1。447delay (8000) 行走了 1820mm 左轮脉冲为 1262 那么 K=1820/1262=1。442综上述实验,取 K=1 0 45“算速度”的程序采样率为50ms/次 (即每50ms取一次脉冲数算速度)连续4次采样取平均,所得速度单位cm/s由串口上显示的数据 023 023 024 023 023 024 023 022 023 024 023 023 0; 023 024 023 024 024 023 023 023 023 024 023 024 023 023 024

13、024 023 023 023 023 024 023 023 023 023看,其数据本身就有浮动,获得的不是一个稳定的当前值。结束语:50ms的采样间隔,对于单片机是一个相当长得时间,但是在这50毫秒 内只产生8或者9个脉冲。轮子转一圈是100个脉冲,就相当与一个采样的时间内 只转了 0.08圈,这是个相当无语的结果.ooo也由此导致上述的浮动.究其浮动的 根源可能来自电源的震荡,可能是码盘装得不对称、不均匀。第二步:构建系统PID系统,来思路:给定的速度预想速度,测量的速度是反馈信号,输入 计算控制量u从而控制占空比,所以选择增量式 PID ,,由于测得的速度不是一个稳定的量,所以输入P

14、ID系统会产生震荡。需要加限制 处理对于这个测速系统,限幅D_speed的绝对值小于等于2附程序:/* * * * * * * * * * *文件:PID.h用途:PID算法,提高控制精度用法:* * * * * * * * * * * * * * * * * * * * * * * * * * */#ifndef _PID_H_#defi ne _PID_H_# in elude math。h>float Kp=2;/PID调节的比例常数float Ti=0.4;/PID调节的积分常数float T=0.2;/采样周期float Td=0.01;/PID调节的微分时间常数float a

15、0;float a1;float a2;float ek;偏差ekfloat ek1 ;偏差 ek-1 float ek2;偏差 e k2float uk;u kint PIDCalc(float ek)if(fabs(ek) 3)/设定阀值return (0);elseuk=a0* ek+a1 * ek1+a2* ek2;ek2=ek1;ek仁ek;return (ceil (uk) ');# endif / * * * * * * * * * * * * * * * * * * * * * * * *用途:主程序* * * * 未 * 未 * 未 * 未 * 未 * 未 * 未 *

16、 未 * * 未 * 未 /# in elude <iom128v。h>#inelude macros h>#include "delay.h"#include ” T3_counter.h”# include ” T1_counter.h”# include "INT。h"#include "car。h"#include ” USART。h"# include ” PID.h"#defi ne uchar un sig ned char#defi ne uint un sig ned intui

17、nt count,speed5, Avr_speed, i;# pragma interrupt_handler INT0_isr:2void INT0_isr(void )cou nt+;/计数脉冲un sig ned char Number 6= '',' 0',' O' ,' O' ,'0',0' ;void Data_co nvert(ui nt temp)/ 整数转换成字符串Number1 =' 0'+temp/1000;Number 2= ' 0' +(temp%

18、1000)/100;Number 3= ' 0'+(temp%100)/10;Number4 =' 0' +temp% 10;int set_speed,D_speed,adjust,Uk;#pragma interrupt_handler timer3_ovf_is: 30/定时采样void timer3_ovf_isr(void)TCNT3=15535;i+;speed i = count*2.9/i;if(i=4)i=0;coun t=0;Avr_speed = (speed 1+speed 2+speed 3+speed4) /4;/取平均Data_c

19、onv ert(Avr_speed)USARTTransmitString ( Number) ;/传到串口D_speed=set_speed-Avr_speed;差值个人收集整理勿做商业用途Uk=PIDCalc(D_speed);/计算增量if(Uk ! =0)adjust+=Uk;if(adjust1023)adjust=1023;0CR1A=adjust;/调整PWM0CR1B=adjust;void main (void)carportnit();T1_10KPWM_init();INTOnit ();USARTInit();EN_T3_interrupt();SEI();TCNT3=15535;car_go_ahead();T3_ON();aO=Kp* (1+T/Ti+Td/T );a仁-Kp* (1+2* Td/T);a2=Kp*Td/T;set_speed=15;adjust=0CR1A;while(1)取Kp=2;Ti=0°4; T=0.2 ; Td=0.01;所得1cm/s的速度差对应4个PWM值 也 就是说如果设定的速度为10,测得的速度为0,那么PWM每次加40,如果测得 的速度始终为0,那么每200ms OCR1A就加40,即使初值为0,经过(1030/40)*

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论