M2006+C610驱动方案(三)pid调参

首先没有用中断的方式接收总线上的信息,因为来自c610的信号是1KHz的所以if (CAN_MSGAVAIL == CAN.checkReceive()) {是不需要的,因为10微妙一个控制周期是一定有数据进来的

https://zhuanlan.zhihu.com/p/39573490

关于pid调参这里有个可以参考的文章。
首先前提是固定下来死循环里的delay(10);和其他控制参数,只留下Kp,Ki,Kd是变量, 因为其他参数变化都会打破稳定,参数得重新调

首先,只配Kp, Ki Kd设为0。其实只设Kp在精确性要求不高的场景是可以的
在这里插入图片描述
(括号里加上:,保持速度稳定,而不关注目标值和实际值的差别)

这里就可以看到pid算法的直观表现,有一种直观感受,有一个目标值,输入是10ms一次的观测值,输出是电流(插入一个基础知识,电流和扭矩是在有效范围内成正比) 。算法的目标是要达到目标值,少了就加多,多了就减少,有负荷了就顶着干,没了就放松干

之后的参数之后再补

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值