首页 理论教育 智能汽车速度闭环解析

智能汽车速度闭环解析

时间:2023-09-21 理论教育 版权反馈
【摘要】:电流速度环串级PID流程框图如图9.35所示,其中V代表速度,A代表电机电流,E代表误差,P代表比例系数,I代表积分系数,PWM代表最后输出的占空比大小,内环为电流环,外环为速度环。速度环与电流环当两块单片机建立起通信之后,就开始进行闭环控制,这里使用的是电串级PID控制。图9.36增量式光电编码器速度环计算的基本流程:①测出轮子实际的转速,然后与期望速度作差,得到误差项E。

智能汽车速度闭环解析

车模想要达到一个稳定的期望速度,需要使用PID对车模速度进行闭环控制,简单的PID控制达不到控制效果,因此引入了电流环与速度环的串级PID控制,这种控制相比传统PID控制方式更快更稳定,相对于模糊PID来讲,结构更加简单且易于调节。电流速度环串级PID流程框图如图9.35所示,其中V代表速度,A代表电机电流,E代表误差,P代表比例系数,I代表积分系数,PWM代表最后输出的占空比大小,内环为电流环,外环为速度环。

图9.35 电流速度串级PID

(1)电机开环驱动

利用电机驱动模块可以用一个简单的程序让电机转起来,利用K60芯片的FTM功能模块生成一个可控占空比的PWM信号,通过驱动电流放大后,来控制电机,电机的转速通过PWM信号的占空比来控制,一般PWM信号的频率设置在10 kHz~16 kHz比较合适,单个轮子开环控制具体代码实现如下:

程序中,将FTM模块初始化后,通LPLD_FTM_PWM_ChangeDuty()函数来控制PWM的相位和占空比。利用电机驱动模块就可以在主函数中调用这个函数,使电机转起来,占空比越大,输出功率越大,电机转速也就越高。

由于一块K60的FTM通道不够用,只能输出两路可控占空比的PWM信号,只能控制两个轮子的转动。单片机,H型车模有四个电机,是四轮驱动,因此还需要一块单片机来控制另外两个电机,控制方法一样。

为方便控制四个电机,使用了两块单片机,一块命名为主机,另一块命名为从机,因速度解算是在一块单片机里面完成,主机和从机之间需要相互通信。在这里使用串口通信,除了交换设定速度,反馈速度外,还会交换一些必要的控制信息,如图像上灯的位置信息等,这个后面会提到。串口通信的例子很多,这里就不再细讲,有需要的读者可以自主学习。串口通信的配置程序如下,其主要由配置函数、中断回调函数和接受函数组成。

(2)速度环与电流环(www.xing528.com)

当两块单片机建立起通信之后,就开始进行闭环控制,这里使用的是电串级PID控制。通过电流、速度环进行串联来实现串级PID控制。速度的测量使用的是增量式的光电编码器,通过控制单片机的计数器测量固定时间间隔内速度脉冲信号的个数,即可测量电机的转速,使用单片机正交解码的功能来实现对速度的采集,其基本原理如图9.36所示。

图9.36 增量式光电编码器

速度环计算的基本流程:

①测出轮子实际的转速,然后与期望速度作差,得到误差项E。

②将误差项与比例放大系数P相乘,得到比例调节输出。

③将误差进行积分后与积分项I相乘,再进行限幅(防止输出过大损坏电机),得到积分项和积分输出。

④最后对比例调节输出与积分项进行求和,得到最后的速度环输出,这个输出作为下一级电流环的输入,可以认为此输出为理想电流大小。

电流的采集使用电流转电压芯片,再用单片机采集电压的功能来实现对电流的控制。电流环控制与速度环控制相似,主要区别在于限幅的大小不同以及控制的变量不同。速度环的输入是实际速度与期望速度的误差,输出是期望电机电流的大小;而电流环输入是实际电流大小与期望值的差值,输出是PWM信号,其他流程完全一样。值得注意的是,以上控制均为一个轮胎的控制,不同轮胎相对独立,互不影响。注意,不能在一块单片机完成全部的PID计算,再将PWM信号传至另一块单片机,因为串口通信太慢,满足不了实时性。

串级PID其实就是在普通PID上面的进行改进的一种PID,它有响应快、抗干扰的能力,在个人看来,是目前最适合H型车模控制的一种方案。虽然模糊PID也可以达到这种效果,但是模糊PID的代码结构十分复杂,也很难调节,如果调节得不好,模糊PID可能还没有普通PID好用。串级PID单个轮胎的实现程序如下:

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈