当前位置: 首页 > news >正文

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(速度位置环)调调看。

http://www.lryc.cn/news/69648.html

相关文章:

  • 内存基础知识
  • 快速入门matlab——运算方法
  • 2009.03-2022.06华证ESG季度评级(季度)
  • 【大数据模型】LeonardoAi让心中所想跃然纸上
  • 如何区别BI、大数据、信息化和数字化转型
  • ESP32-C2开发板Homekit例程
  • 快速搭建一个 Kubernetes+Crane 环境,以及如何基于 Crane 优化你的集群和应用初体验
  • 深度学习图像识别模型:递归神经网络
  • 上门家教预约小程序开发 良师就在你身边
  • CMake Practice 学习笔记五--cmake常用变量
  • Facebook 广告效果越来越差,怎么办?
  • Netty核心组件模块(三)
  • k8s 集群搭建详细教程
  • 国有行面试:掌握这11个测评要素
  • 云视如何实现流量转化
  • Metersphere+jar+beanshell+连接linux
  • 前端开发工程师如何提升个人审美
  • 【软件测试】Python自动化软件测试算是程序员吗?
  • react函数组件常用的几个钩子函数
  • 如何进行大数据测试
  • java版本企业电子招标采购系统源码Spring Cloud + Spring Boot +二次开发
  • Redis哨兵集群搭建及其原理
  • 读书笔记--读数学之美有感
  • [PyTorch][chapter 33][卷积神经网络]
  • Lift, Splat, Shoot 论文学习
  • 【密码产品篇】动态口令系统密钥体系结构(SM3、SM4)
  • PDF工具Adobe Arcrobat Pro DC下载安装教程
  • 大量从IT培训班出来的程序员们最后都怎样了?
  • 【论文阅读笔记】Federated Unlearning with Knowledge Distillation
  • 常用MQ介绍与区别