PD或PID控制器。
图4.2常规PID控制系统原理框图
PID控制算法可分为位置型和增量型两种:
(1)位置型算法
模拟调节器的调节动作是连续的,任何瞬间的输出控制量 u 都对应于执行机构(如调节阀)的位置。数字控制器的输出控制量也和阀门位置相对应,故称为位置型算式(简称位置式)。
图4.3 位置型算法流程图
16
(2)增量型算法
增量型算法仅仅是在算法设计上的改进,其输出是相对于上次控制输出量的增量形式,并没有改变位置型算法的本质,即它仍然反映执行机构的位置开度。如果希望输出控制量的增量,则必须采用具有保持位置功能的执行机构。
图 4.4 增量型算法流程图
4.3 程序的初始化
初始化部分包括参数的读取、PID初始化、定时器和脉冲计数器的初始化、I/O端口的初始化、PWM控制器的初始化和键盘显示控制器7279的初始化。
17
程序入口初始化EEPROM从EEPROM里读出参数初始化PID初始化定时器和脉冲计数器初始化I/O口初始化PWM初始化7279图4.5 初始化程序流程图
18
4.4 位置速度控制
程序首先读取前方传感器组的状态来判断赛车和黑线的位置关系,通过该位置关系给出相应的转向舵机的转角和电机的转速。具体程序流程图如图。
程序入口判断赛车的当前位置转向舵机转角控制电机转速控制是否单向制动?否是制动舵机控制赛车状态实时显示图4.6 位置速度控制程序
4.5 中断处理程序
中断处理程序每20毫秒执行一次,中断处理函数的主要目的是定时读取脉冲计数器的值并把该值反馈给PID控制程序,然后调用PID控制程序。图给出了程序流程图。
19
进入中断清中断标志读取码盘脉冲值脉冲计数寄存器清零PID速度控制返回图4.7 中断程序流程图
4.6 PID控制程序
系统采用增量式的速度PID,具体流程图如图4.8 。
程序入口偏差计算设置调节死区增量式速度PID计算是否超过最大值?是否输出最大值是否低于最小值?是否输出最小值返回驱动电机占空比 20