3. 软件设计
硬件功能的实现需要软件的支持,这里用的软件集成开发环境是ADS1.2(ARM Developer Suite),它是由ARM 公司提供的专门用于 ARM 相关应用开发和调试的综合性软件,用户可用它的CodeWarrior IDE来开发、编译、调试采用包括C、C++和 ARM 汇编语言编写的程序。集成控制软件流程见图8所示,程序开始初始化后进入循环,等待中断,响应后进入中断子程序返回采集信号,ARM对其进行PID控制和模糊处理,输出控制信号到执行机构,同时返回输出信号进行反馈对比。程序中两个关键是PID算法和模糊算法的实现。
为便于在计算机中实现PID控制,当采样信号足够小时,用求和代替积分,用向后差分代替微分,将PID控制方程:
(1)
离散化为差分方程得到数字PID控制方程:

(2)
式中,Kp,Ki,Kd分别是比例系数、积分系数和微分系数,由仿真整定出这三个参数。

图8 软件流程示意图
在模糊控制子程序中,首先定义模糊控制规则表,再对车身和车轮加速度差值及其变化率进行模糊化,限定论域的饱和值后进行模糊推理,最后反模糊化得到步进电机的方向和脉冲数,进而控制电机的转向和步距角。这里为了易于编程实现,模糊化采用的是三角隶属函数,模糊规则使用最常用的if-then规则,反模糊化采用重心法。
|