【位置式PID控制下直流有刷电机的位置环及速度双环深度解析】

今天看野火的直流有刷电机pid控制的教程视频,整个代码实现过程看了好几遍后还是感觉云里雾里,尤其是速度环、位置环、位置速度双环这样看下来,虽然老师视频里该说的都说了,自己也能明确感受到位置环与位置速度双环是有区别的,但不好好捋一下还真没一下领略到位置环与双环的核心区别所在。

关于pid算法的具体公式在此就不做说明了,网上能轻易搜索到。本篇主要从思路层面进行阐述。

一、位置环的本质

了解位置环之前必须要先了解速度环,因为位置环的本质是根据位置关系输出速度, 控制速度环(这点视频里没明确说,感受了老半天才理解透了这点)

二、速度环工作流程

①设定一个目标速度值
②读取当前电机速度数据值
③对所读到的速度数据进行pid计算
④根据计算结果配置PWM控制电机(把速度数据送到速度设置函数里面从而改变PWM进而控制电机)

三、位置环工作流程

①设定一个目标位置值
②读取当前电机位置值
③对所读到的位置数据进行pid计算
④根据计算结果配置PWM控制电机(是直接把位置数据送到速度设置函数里面从而更改PWM进而控制电机)

四、位置速度双环工作流程

①设定一个目标位置值
②读取当前电机位置值
③对所读到的位置数据进行pid计算
④将计算结果设置为电机速度目标值
对电机当前速度数据进行pid算法计算
⑥根据计算结果配置PWM进而控制电机

区别一目了然,重点的地方已经加粗了
了解上述区别有利于自己编写pid算法相关的程序(我本次项目中就用到了这些),个人感觉是理清之后有一种豁然贯通的感觉,编写代码也算是有思路了。

以上是个人在项目开发中的一些感悟,如有不对之处,请务必不吝赐教!有什么看法也可以发表在评论区进行交流,感谢!

物联沃分享整理
物联沃-IOTWORD物联网 » 【位置式PID控制下直流有刷电机的位置环及速度双环深度解析】

发表评论