今天看野火的直流有刷电机pid控制的教程视频,整个代码实现过程看了好几遍后还是感觉云里雾里,尤其是速度环、位置环、位置速度双环这样看下来,虽然老师视频里该说的都说了,自己也能明确感受到位置环与位置速度双环是有区别的,但不好好捋一下还真没一下领略到位置环与双环的核心区别所在。
关于pid算法的具体公式在此就不做说明了,网上能轻易搜索到。本篇主要从思路层面进行阐述。
一、位置环的本质
了解位置环之前必须要先了解速度环,因为位置环的本质是根据位置关系输出速度, 控制速度环(这点视频里没明确说,感受了老半天才理解透了这点)
二、速度环工作流程
①设定一个目标速度值
②读取当前电机速度数据值
③对所读到的速度数据进行pid计算
④根据计算结果配置PWM控制电机(把速度数据送到速度设置函数里面从而改变PWM进而控制电机)
三、位置环工作流程
①设定一个目标位置值
②读取当前电机位置值
③对所读到的位置数据进行pid计算
④根据计算结果配置PWM控制电机(是直接把位置数据送到速度设置函数里面从而更改PWM进而控制电机)
四、位置速度双环工作流程
①设定一个目标位置值
②读取当前电机位置值
③对所读到的位置数据进行pid计算
④将计算结果设置为电机速度目标值
⑤对电机当前速度数据进行pid算法计算
⑥根据计算结果配置PWM进而控制电机
区别一目了然,重点的地方已经加粗了
了解上述区别有利于自己编写pid算法相关的程序(我本次项目中就用到了这些),个人感觉是理清之后有一种豁然贯通的感觉,编写代码也算是有思路了。文章来源:https://www.toymoban.com/news/detail-411449.html
以上是个人在项目开发中的一些感悟,如有不对之处,请务必不吝赐教!有什么看法也可以发表在评论区进行交流,感谢!文章来源地址https://www.toymoban.com/news/detail-411449.html
到了这里,关于直流有刷电机位置环控制与位置速度双环控制(位置式PID)流程解析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!