第5章3电子系统设计PIDand常用算法andCRC校验

《第5章3电子系统设计PIDand常用算法andCRC校验》由会员分享,可在线阅读,更多相关《第5章3电子系统设计PIDand常用算法andCRC校验(45页珍藏版)》请在文档大全上搜索。
1、1 1第5章 信 号 处 理第5章 信 号 处 理5.1 运算放大器运算放大器5.2 无源滤波器无源滤波器5.3 有源滤波器有源滤波器5.4 ADC5.5 PID5.6 FIR5.7 常用算法常用算法2 2第5章 信 号 处 理PID应用案例应用案例1、加热控制系统加热控制系统 设计一个水温自动控制系统,该系统通过加热棒使水设计一个水温自动控制系统,该系统通过加热棒使水温升高,通过电风扇使水温降低,水温可以在温升高,通过电风扇使水温降低,水温可以在定范围内定范围内由人工通过按键设定,并能在受外界环境温度影响的情况由人工通过按键设定,并能在受外界环境温度影响的情况下实现快速水温自动控制,以保持设
2、定的温下实现快速水温自动控制,以保持设定的温度基本不变度基本不变。 2、直流电机转速控制系统直流电机转速控制系统 要求通过控制使直流电机的转速,要求通过控制使直流电机的转速,保持在保持在一个预置一个预置(预置可通过按键来设定)的转速上。(预置可通过按键来设定)的转速上。 为了达到上面的为了达到上面的快速快速、精确精确控制,就需要一个闭环控控制,就需要一个闭环控制,就需要用到制,就需要用到PID算法。算法。5.5 PID3 3第5章 信 号 处 理PID应用案例应用案例2、直流电机转速控制系统直流电机转速控制系统 要求通过控制使直流电机的转速,要求通过控制使直流电机的转速,保持在保持在一个预置一
3、个预置(预置可通过按键来设定)的转速上。(预置可通过按键来设定)的转速上。 为了达到上面的为了达到上面的快速快速、精确精确控制,就需要一个闭环控控制,就需要一个闭环控制,就需要用到制,就需要用到PID算法。算法。5.5 PIDMCU电机驱动电机测速装置A/DPWM4 4第5章 信 号 处 理 自从计算机进入控制领域以来,用数字计算机代替模拟计算机调节器组成计算机控制系统,不仅可以用软件实现PID控制算法,而且可以利用计算机的逻辑功能,使PID控制更加灵活。数字PID控制在生产过程中是一种最普遍采用的控制方法,在机电、冶金、机械、化工等行业中获得了广泛的应用。它将偏差的比例它将偏差的比例(P)、
4、积分、积分(I)和微分和微分(D)通通过线性组合构成控制量,对被控对象进行控制,故称过线性组合构成控制量,对被控对象进行控制,故称PID控制器控制器。 PID调节器,调节器,本质上本质上是是通过闭环控制通过闭环控制使一个系统的输使一个系统的输出达到理想的目标状态。出达到理想的目标状态。 5.5 PID5 5第5章 信 号 处 理5.5.1 PID算法原理算法原理图5-54 模拟PID控制系统原理框图error(t)u(t)6 6第5章 信 号 处 理PID控制器是一种线性控制器,它根据给定值rin(t)与实际输出值yout(t)构成控制偏差: (5.5.1)PID的控制规律为 (5.5.2)(
5、yout)(rin)(errorttttttTttTtktu 0 DIpd)(derror d)(error1)(error)(7 7第5章 信 号 处 理或写成传递函数的形式: (5.5.3)sTsTksEsUsGDIp11)()()(式中,pk为比例系数;IT为积分时间常数;DT为微分的时间常数。 8 8第5章 信 号 处 理简单来说,PID控制器各校正环节的作用如下:比例环节比例环节:成比例地反映控制系统的偏差信号,偏差一旦产生,控制器立即产生控制作用,以减小偏差。积分环节积分环节:主要用于消除静差,提高系统的无差度。积分作用的强弱取决于积分时间常数,越大,积分作用越弱,反之则越强。微分
6、环节微分环节:反映偏差信号的变化趋势(变化速率),并能在偏差信号变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减少调节时间。9 9第5章 信 号 处 理5.5.2 PID算法及程序算法及程序数字式数字式PID控制根据控制对象的特点,演变出不同的控制根据控制对象的特点,演变出不同的算法,常见的有算法,常见的有位置式位置式PID控制算法控制算法、增量式增量式PID控制算法控制算法、积分分离积分分离PID控制算法控制算法、抗积分饱和、抗积分饱和PID控制算法、梯形积控制算法、梯形积分分PID控制算法、变速积分控制算法、变速积分PID算法、不完全微分算法、不完全微分PID控
7、制控制算法、微分先行算法、微分先行PID控制算法、带死区的控制算法、带死区的PID控制算法、基控制算法、基于前馈补偿的于前馈补偿的PID控制算法、步进式控制算法、步进式PID控制算法等。在此控制算法等。在此只讲解电机控制常用的一种算法只讲解电机控制常用的一种算法增量式增量式PID控制算法。控制算法。根据递推原理可得:根据递推原理可得:1010第5章 信 号 处 理说明:当采样周期相当短时,用说明:当采样周期相当短时,用求和代替积分求和代替积分,用用差商代替微商差商代替微商,将描述,将描述连续时间连续时间PID算法的微分算法的微分方程变为描述方程变为描述离散时间离散时间PID算法的微分方程。算法
8、的微分方程。1111第5章 信 号 处 理位置式PID程序流程图方法二:1212第5章 信 号 处 理位置式位置式PID程序程序/*积分分离积分分离PID控制算法控制算法(即:上一次输出值即:上一次输出值+增量,特点:减少增量,特点:减少了超调量,即输出不会超出目标值了超调量,即输出不会超出目标值)应先定义:应先定义:#define Kp ?/比例系数比例系数 #define Ki ? /积分系数积分系数#define Kd ? /微分系数微分系数int PID_MAX; /PID_MAX即是输入控制量即是输入控制量u(t)的最大值的最大值int Uk1=0,ek1=0,ek2=0;则:输入控
9、制量则:输入控制量u(t)PID(目标值目标值,测量测量值值)*/1313第5章 信 号 处 理位置式位置式PID程序程序int PID(int Set_value,int Real_value) /积分分离积分分离PID控控制算法制算法int ek,Uk;float Up,Ui,Ud; ek=Set_value - Real_value;/误差量误差量 Up=Kp*(ek-ek1); /比例量比例量 if(UpPID_MAX) Up=PID_MAX;/限定限定积分量上限积分量上限 else if(UpPID_MAX) Ui=PID_MAX;/限定积分量限定积分量上限上限 /else if(U
10、iPID_MAX) Uk=PID_MAX;/控制量上限控制量上限=PID_MAX else if(Uk0) Uk=0;/控制量下限控制量下限=0 ek2=ek1; ek1=ek; Uk1=Uk;return(Uk); 1515第5章 信 号 处 理有限长单位脉冲响应(FIR)数字滤波器可以做成具有严格的线性相位,同时又具有任意的幅度特性。此外FIR滤波器的单位抽样响应是有限长的,因而滤波器一定是稳定的。只要经过一定延时,任何非因果有限长序列都可以变成因果有限长序列,因而总能用因果系统来实现。FIR滤波器由于单位冲激响应是有限长的,因而可以用快速傅里叶变换(FFT)算法来实现过滤信号,从而大大提
11、高运算效率。5.6 FIR1616第5章 信 号 处 理虽然滤波程序有很多优点,但是由于单片机运行速度较慢,复杂的运算程序无法在单片机运算时保证其实时性,所以很少使用。FIR、FFT、IIR等算法程序一般用于等算法程序一般用于DSP、FPGA的工程设计中,的工程设计中,而在单片机中一般用较简单的处理算法程序,这些程序设计简单,所需运行时间短,且在一定应用场合使用时也可达到很好的处理效果。5.7 常常 用用 算算 法法1717第5章 信 号 处 理5.7.1 均值滤波均值滤波均值滤波是最简单、有效的滤波方法,它能在一定范围内消除干扰信号对测量数据的影响,且该算法所耗指令周期最短,有利于低速单片机