步遥情感网
您的当前位置:首页双电机同步PID调试方法(一)

双电机同步PID调试方法(一)

来源:步遥情感网

        由于双电机的PID上升曲线难以完全重合,造成左右电机速度不一致。本文为了解决该问题设计了一种方法。

        主要思想是将不同速度对应的PWM占空比曲线拟合出来,减1000(总10000)占空比后作为预设值给PID,然后在预设值的基础上调左右电机的PID。这样控制的时候,左右电机在不同速度下都只需要PID控制1000的区域。具体步骤分为三步:

第一步:通过PID获取电机在不同速度下,PWM的占空比

1. 在simulink中搭建简单的PID算法,获取键盘按键指令,通过串口输出控制数据;

 2. 底盘的stm32中将当前的车速通过串口上传;在通过串口获取数据,控制电机;

 3. 通过设置不同的速度,在simulink中查看对应速度,PWM的占空比。最终获得数据如下表,其中左右轮速是指 100ms内,电机编码器获取的数据。

前进左 轮速右 轮速左 PWM右 PWM后退左 轮速右 轮速左 PWM右 PWM
-500-50012951415500500-1100-1100
-700-70015801800700700-1150-1225
-1000-10002250254610001000-1250-1360
-1500-15003200325015001500-1700-1680
-2000-20004230417020002000-1880-1999
-2500-25005180535025002500-2300-2580
-3000-30006100625030003000-3170-2980
-3500-35007000720035003500-3914-3660

 4. 为了方便,我取左右车轮的平均值,只做了两条曲线前进和后退(应该有4条);数据处理时将PWM都减了1000,这一部分的数据是用PID来控制的。

前进的曲线拟合:2.29507543e-08  1.38323405e-04 -1.656210e+00 -5.11076808e+02

后退的曲线拟合:-3.35497467e-08 -2.31317457e-06 -4.16984963e-01  1.134533e+02

因篇幅问题不能全部显示,请点此查看更多更全内容