| 
 | 
	
    
 
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册  
 
x
 
PID控制算法的C语言实现一PID 算法原理* p: W0 V; d* | 
最近两天在考虑- -般控制算法的C 语言实现问题,发现网络上尚没有一套完.* g- D: {% c: \3 J# ~6 H 
整的比较体系的讲解。于是总结了几天,整理-套思路分享给大家。 
# I+ e9 W) b9 j, t4 {# v7 K在工业应用中PID 及其衍生算法是应用最广泛的算法之-,是当之无愧的万 
6 [0 s( {: w' y$ q能算法,如果能够熟练掌握PID 算法的设计与实现过程,对于- -般的研发人员来 
( q3 ]! H4 {. A& {! J/ x* r8 U讲,应该是足够应对- -般研发问题了,面 难能可贵的是,在 我所接触的控制算法- O: z$ h6 F. s' i 
当中,PID 控制算法又是最简单,最能体现反馈思想的控制算法,可谓经典中的 
* }& M/ A8 |" b8 [经典。经典的未必是复杂的,经典的东西常常是简单的,而且是最简单的,想想 
4 ?; s7 d2 {- E2 ]. x5 a( y牛顿的力学三大定律吧,想想爱因斯坦的质能方程吧, 何等的简单! 简单的不是 
+ \& ?) V0 e$ g- l  G) h  m原始的,简单的也不是落后的,简单到了 美的程度。先看看PID算法的一-般形式:3 T0 {" V; ]+ S$ u$ S 
比例环节) {% J% M( D5 e9 G 
积分环节, C; u: U  u/ \2 I4 E 
执行器 
  N+ h" ~! m  _! \- F不2 b, g* K' n- v3 S 
微分环节9 l- T. y3 ]* Z$ K6 L 
传感器 
9 d8 Z9 m% l! j; v' v0 qPID的流程简单 到了不能再简单的程度,通过误差 信号控制被控量,而控制: Z- s. {9 a! [' Q 
器本身就是比例、积分、微分三个环节的加和。这里我们规定(在t 时刻) :: b( I+ O8 p; f 
1.输入量为 rin(t);8 n* m. C# P/ R8 o7 ^# W+ } 
2.输出量为rout(t);' T% D  p- [9 t& d) j" Q1 j! J& p: v 
3.偏差量为 r(=in()rou(t); 
- c. `9 |: S- \4 Hpid的控制规律为 
3 a/ E$ e; S0 Q6 A# e3 C+ uu(x)= kler(+)=J; I. h+ }; R$ Y$ y 
err(t)dt+- 
- |* n7 z. B: z" K# Q" ~+ S3 @' `Tpderr(t)" [  E+ H$ z& L 
dt 
' W* B; Q2 |: a4 d* Y6 V! G& W, b理解- -下这个公式,主要从下面几个问题着手,为了便于理解,把控制环境 
- G, f& Y! l5 H2 i5 z4 _具体一下: 
- V6 y; l( @3 |3 U% y1.规定这个流程是用来 为直流电机调速的;: M; i& u& ~* D0 ^( h 
& w% m0 F4 q7 q1 M. r4 H$ Z 
 
! W) X1 z  j. ~+ {0 T |   
 
 
 
 |