西安学校网站建设哪家好,icp经营性许可证申请条件,2023最近的新闻大事,辽中网站建设今天我们来聊一聊pid如何控制轮子转动位置 前期准备调试过程 前期准备
需要准备的几个条件#xff1a; 1.获取实时编码器的计数值 2.写好pid控制算法的函数 3.设定好时间多久执行一次pid计算#xff0c;并设置限幅输出。 4.多久执行一次pid输出
接下来我们看看这几个部分的… 今天我们来聊一聊pid如何控制轮子转动位置 前期准备调试过程 前期准备
需要准备的几个条件 1.获取实时编码器的计数值 2.写好pid控制算法的函数 3.设定好时间多久执行一次pid计算并设置限幅输出。 4.多久执行一次pid输出
接下来我们看看这几个部分的代码 第1部分通过在定时器中断里来定时去计算编码器的累计值。 第2部分写好pid算法 第三部分我这里是50ms进行一次PID计算(放在中断时间为1ms的定时器且累积中断50次才进行PID计算)并设置输出限幅。
第4部分多久执行一次PID输出我这里是150ms执行一次
调试过程
首先确保数据能发送给PID调试助手我这里是50ms就上传一次波形。 通过按键来设置我们想要达到的位置(相让车轮再正转几圈或反转几圈) 因为4分频所以一圈编码器计数44次又因为减速比为30(电机转1次编码转30次。)所以一圈编码累计的变化次数绝对值为44*30 1320. 接下来实际调参用的是增量式PID位置式效果也差不多因为编码器有自带积分效果所以我们积分项就设置为0只使用PD接下来我们看看曲线。 可以看到轮子回先正转超过一圈再反转一点再维持再一圈的效果上单单用位置环来控制位置超调量明显 效果不理想下章节我们来用双环pid(速度位置环)调调看。