实在不理解PID算法,希望高手可以指点一下
之前做一个三轮寻迹小车,后两轮用直流减速电机控制,前面一个万向轮。现在可以实现寻迹功能,可是速度很慢,一旦调快就会跑出去。在做的过程中发现,利用两个轮的差速转弯不是很好控制,而且两个直流电机本身的性能也不一样,因此在直线跑道上也没有办法沿直线一直走。现在在两个电机的轴上都装有霍尔传感器,可以测出当前的速度,试着调整小车可以直线行走。当然,对于小车的控制算法,仅是知道用PID算法比较好,看了书上的公式,感觉还是不理解。
主要是对于速度式PID,公式如下
http://cache.amobbs.com/bbs_upload782111/files_28/ourdev_549723.jpg
(原文件名:未命名1.jpg)
这里输出的速度是直接控制小车的,那么如果我直接调节PWM输出,而不用PID,两者都是输出一个值去控制小车,有什么不一样呢?希望有高手看到并帮忙一下,先谢了。 因为你不知道什么时候应该给出什么样的占空比数值,因此才需要算法。如果你能算得比MCU快的话,而且又能迅速的高速MCU,那你就不需要算法了。 谢谢1楼
再次请教,比如说现在小车要转弯,我输入一个速度值V,如果不用PID算法的话可能小车得到的速度未必是V,有可大于或者小于,而用了算法,则可以把速度控制在V这个值上。而实际上转弯要转多少还是要自己给定的个值,不知道这样理解对不对? 简单说就是两个轮子的电机由于性能参数不完全一样,导致给定的PWM信号完全相同时转速不同,这时候你需要调节其中的一个电机转速或两个电机同时调节,使得两个电机转速(或速度)相同,才能走出直线,但是调少了和调多了都不行,调少了反应太慢,调多了容易振荡,而你又很难知道要调多少是合适的。这时候可以使用PID,通过调节不同的参数使得速度的调节接近相同。 PID算法是用于使得系统能“快、准、稳”地响应输入
输入是多少当然是要自己给定了 是的 好文章,有一定感悟,多谈一会啊 感觉戳到痛点了,但是没有后续...
页:
[1]