这是一个比较典型的PID处理程序,在使用单片机作为控制cpu时,请稍作简化,具体的) x( N8 P& e7 V
PID参数必须由具体对象通过实验确定。由于单片机的处理速度和0 \8 t1 F$ S X( z
ram资源的限制,一般不采用浮点数运算,而将所有参7 F* J2 y1 C( t( I' j. d1 L; Y
数全部用整数,运算到最后再除以一个2的N次方数据(相当于移位) ,作类似定点数运算,可大大提高" Z; m U5 j. b0 G1 D' X$ m0 q2 N0 r
运算速度,根据控制精度的不同要求,当精度要求很高时,注意保留移位引起的( }& o; W/ o' T* F
余数”,做好余数补偿。7 T9 o8 Q l) L. ~4 u, H0 n
这个程序只是一般常用pid算法的基本架构,没有包含输入输出处理部分。 ) P' e& M$ {; l2 ?+ X) e