亿加合和智能车制作

标题: 飞思小车PID控制的通俗理解[1] [打印本页]

作者: whut_wj    时间: 2010-3-15 12:45
标题: 飞思小车PID控制的通俗理解[1]
很多同学都不清楚PID是个什么东西,因为很多不是自动化的学生。他们开口就要资料,要程序。
这是明显的学习方法不对,起码,首先,你要理解PID是个什么东西。
本文以通俗的理解,以小车纵向控制举例说明PID的一些理解。
首先,为什么要做PID?
由于外界原因,小车的实际速度有时不稳定,这是其一,
要让小车以最快的时间达达到既定的目标速度,这是其二。
速度控制系统是闭环,才能满足整个系统的稳定要求,必竟速度是系统参数之一,这是其三.

    小车调速肯定不是线性的,外界因素那么多,没人能证明是线性的。如果是线性的,直接用P就可以了。
比如在PWM=60%时,速度是2M/S,那么你要它3M/S,就把PWM提高到90%。因为90/60=3/2,这样一来太完美了。
完美是不可能的。
    那么不是线性的,要怎么怎么控制PWM使速度达到即定的速度呢?即要快,又要准,又要狠。(即快准狠

)系统这个速度的调整过程就必须通过某个算法调整,一般PID就是这个所用的算法。
    可能你会想到,如果通过编码器测得现在的速度是2.0m/s,要达到2.3m/s的速度,那么我把pwm增大一点不
就行了吗?是的,增大pwm多少呢?必须要通过算法,因为PWM和速度是个什么关系,对于整个系统来说,谁也
不知道。要一点一点的试,加个1%,不够,再加1%还是不够,那么第三次你还会加1%吗?很有可能就加2%了。
通过PID三个参数得到一个表达式:△PWM=a *△V1+b *△V2+c *△V3,a b c是通过PID的那个长长的公式展开
,然后约简后的数字,△V1 ,△V2 ,△V3 此前第一次调整后的速度差 ,第二次调整后的速度差,第三次。。
。。。一句话,PID要使当前速度达到目标速度最快,需要建立如何调整pwm和速度之间的关系。

输入输出是什么:
输入就是前次速度,前前次速度,前前前次速度。
输出就是你的PWM应该增加或减小多少。



作者: wzdjwlt    时间: 2010-3-15 18:02
顶了,谢谢
作者: jiutian0396    时间: 2010-3-15 19:05
新手领教了!谢谢!
作者: 宇宙之神    时间: 2010-3-15 19:32
有点眉目了!呵呵呵
作者: 孤舟之踏雪无痕    时间: 2010-3-16 16:26
henhao
作者: 晴空    时间: 2010-3-16 17:20
还行
作者: lmvlmv    时间: 2010-3-16 22:43
写的还行,对准备资料的新手来说尤其如此!
作者: langtao    时间: 2010-3-17 00:03
呵呵!不错哦!
作者: oo7ak47666    时间: 2010-3-17 00:07
很不错哈~~
作者: oo7ak47666    时间: 2010-3-17 00:07
很不错哈~~
作者: fengneedning    时间: 2010-3-17 08:37
学习了,谢谢!
作者: lfllcy    时间: 2010-3-18 11:10
学习中!
作者: 新手大兵    时间: 2010-3-19 00:39
正在研发中
作者: huajiangxuetu    时间: 2010-3-19 01:59
多明白了点
作者: 时代还怪    时间: 2010-3-19 22:06
不错不错!让我衷心的留言!
作者: lfllcy    时间: 2010-3-24 18:19
了解了解!谢了!
作者: jiao19880804    时间: 2010-3-24 19:13
hao
作者: 769777850    时间: 2010-4-17 19:52
很厉害!
作者: 202218    时间: 2010-4-17 23:42
有用啊。入门了
作者: 202218    时间: 2010-4-17 23:42
有用啊。入门了
作者: realbank    时间: 2010-4-18 20:03
看完才发现我自动控制原理白学了,哎
作者: glace12123    时间: 2010-4-20 14:38
顶一下
作者: 424602394tclrw    时间: 2010-9-25 14:50
我再顶
作者: ftx920    时间: 2010-9-26 13:16
不知道啊
作者: wanghuilong520    时间: 2010-10-1 16:06
领教了
作者: jiaMCU    时间: 2010-10-14 23:09
回复 1# whut_wj


   有点明白了,多谢……
作者: vgonlan    时间: 2010-11-26 23:29
很有心得,受教了!
作者: penny    时间: 2010-11-29 14:39
顶!解释的很好!
作者: penny    时间: 2010-11-29 14:39
顶!解释的很好!
作者: penny    时间: 2010-11-29 14:39
顶!解释的很好!
作者: 沧海一粟    时间: 2010-12-2 19:12
能再详细地么? 总之非常感谢
作者: qqhengg    时间: 2011-1-26 21:49
classical!
作者: zbl9212    时间: 2011-2-18 22:27
不错
作者: chencong829    时间: 2011-2-19 20:03
LZ果然理解深刻
作者: zzy123    时间: 2011-2-25 16:03
haixing
作者: LYW@    时间: 2011-2-25 18:32
谢谢了
作者: znczz525    时间: 2011-2-26 20:52

作者: 骗你是小狗    时间: 2011-2-28 18:58
经验收集!谢谢!
作者: woyouduohenni    时间: 2011-2-28 19:48
还是有点不懂
作者: 飞思卡尔chen    时间: 2011-3-1 21:37
顶一个,
作者: yayadianzhang    时间: 2011-3-1 21:52
顶啦LZ
作者: mashilin4    时间: 2011-3-16 20:04
领教了、
作者: 一剑卡卡    时间: 2011-3-23 13:10
好的
作者: xiaoshagua    时间: 2011-3-29 21:22
很好
作者: xiaoshagua    时间: 2011-3-30 20:45

作者: 梦境梧桐    时间: 2011-4-2 18:11
多谢楼主  已经看到三了
作者: robotong    时间: 2011-4-4 17:07
楼主威武
作者: 20097522    时间: 2011-8-2 10:28
谢前辈指教
作者: 柯南一梦    时间: 2011-8-4 09:28
对于新手来说很有用...
作者: weiweiwsk    时间: 2011-8-6 12:45
有收获,顶!
作者: 竹子    时间: 2011-8-21 15:28
所谓的PID原来如此。。谢谢楼主
作者: 万仁全    时间: 2011-11-5 20:27
顶,谢谢楼主
作者: 彭彭3611    时间: 2011-11-10 21:16
顶一个
作者: dich    时间: 2011-11-10 21:48
小明接到这样一个任务:
有一个水缸点漏水(而且漏水的速度还不一定固定不变),
要求水面高度维持在某个位置,
一旦发现水面高度低于要求位置,就要往水缸里加水。  

小明接到任务后就一直守在水缸旁边,
时间长就觉得无聊,就跑到房里看小说了,
每30分钟来检查一次水面高度。水漏得太快,
每次小明来检查时,水都快漏完了,离要求的高度相差很远
,小明改为每3分钟来检查一次,结果每次来水都没怎么漏
,不需要加水,来得太频繁做的是无用功。几次试验后,
确定每10分钟来检查一次。这个检查时间就称为采样周期。  

开始小明用瓢加水,水龙头离水缸有十几米的距离,
经常要跑好几趟才加够水,于是小明又改为用桶加,
一加就是一桶,跑的次数少了,加水的速度也快了,
但好几次将缸给加溢出了,不小心弄湿了几次鞋,小明又动脑筋,
我不用瓢也不用桶,老子用盆,几次下来,发现刚刚好,不用跑太多次,
也不会让水溢出。这个加水工具的大小就称为比例系数。  

小明又发现水虽然不会加过量溢出了,有时会高过要求位置比较多
,还是有打湿鞋的危险。他又想了个办法,在水缸上装一个漏斗,
每次加水不直接倒进水缸,而是倒进漏斗让它慢慢加。这样溢出的问题解决了,
但加水的速度又慢了,有时还赶不上漏水的速度。
于是他试着变换不同大小口径的漏斗来控制加水的速度
,最后终于找到了满意的漏斗。漏斗的时间就称为积分时间 。

小明终于喘了一口,但任务的要求突然严了,
水位控制的及时性要求大大提高,一旦水位过低,
必须立即将水加到要求位置,而且不能高出太多,否则不给工钱。
小明又为难了!于是他又开努脑筋,终于让它想到一个办法,常放一盆备用水在旁边,
一发现水位低了,不经过漏斗就是一盆水下去,这样及时性是保证了,但水位有时会高多了。
他又在要求水面位置上面一点将水凿一孔,再接一根管子到下面的备用桶里这样多出的水会从上面的孔里漏出来。
这个水漏出的快慢就称为微分时间。
作者: bluered    时间: 2011-11-12 10:54
嗯,写的不错。
作者: PANRJ    时间: 2011-11-12 11:09
楼主对新手的建议很不错!
作者: 疯使    时间: 2011-11-23 13:52
我这入行不深还没到这一步啊
作者: c_do0123    时间: 2011-11-23 23:26
恩  好东西 ,谢谢啦
作者: 清明    时间: 2011-11-24 18:25
真不错。
作者: 1013343553    时间: 2011-12-7 21:22
学习了
作者: HITHZF    时间: 2011-12-7 21:42
新手受教
作者: linwantong90711    时间: 2011-12-19 15:11
惭愧了,我学自动化的也不知道PID是啥,看来这两年半都白交学费了…………
作者: sunabeng    时间: 2011-12-19 22:04
谢谢,LZV5,太感谢了
作者: 篪骋    时间: 2011-12-19 23:42

作者: xuekaige1990    时间: 2011-12-20 20:40
顶一个
作者: ab123369ab    时间: 2011-12-21 09:27
名人啊,你写的增量式PID思想,位置似的PID你觉得怎么样?
作者: linwan55    时间: 2011-12-21 10:18
呵呵,顶下
作者: 小车one2    时间: 2011-12-25 19:29
学习了
作者: 一夜白头    时间: 2011-12-27 10:35
感谢你有爱心的人
作者: 一夜白头    时间: 2011-12-27 10:41
解释很到位,我不是自动控制的,是学汽车的,但是深深的感谢
作者: 飞翔111    时间: 2012-2-2 20:44
不错,
作者: 君子兰    时间: 2012-2-25 01:08
好的

作者: 成年家酿    时间: 2012-2-27 21:19
确实不错,
作者: 王谦623    时间: 2012-3-8 21:37
很好!
作者: fxiangyou    时间: 2012-3-23 18:01
好贴,敢问大侠是whut的哪位啊,我也是whut的,再做光电组~~
作者: 清水闲人    时间: 2012-3-24 00:18
半夜顶起来
作者: 奥特曼11    时间: 2012-3-24 14:02
不错
作者: 男孩梦醒    时间: 2012-3-25 10:37
不错不错,顶个吧
作者: DONS007    时间: 2012-3-26 19:43

作者: 封号式寂寞    时间: 2012-5-7 21:26

作者: 封号式寂寞    时间: 2012-5-7 21:27
不错
作者: lin134340    时间: 2012-5-8 19:11
我也想了解了解!!!先顶一个
作者: 海彬    时间: 2012-5-9 09:14
多谢楼主
作者: 李阳东    时间: 2012-6-7 19:49
顶了    佩服
作者: 天涯々湖畔    时间: 2012-11-20 15:10
正如你所说,小车的实际速度有时会不稳定,但不稳定就不稳定呗,干嘛非得要保持在你设定的值?

作者: qidong92    时间: 2012-11-20 18:38
学习,Mark。

作者: 白白白白_子    时间: 2012-11-21 10:02
顶。。总结的很易懂呢
作者: 穆旦阿斗    时间: 2013-1-18 20:13
ctrl+c  ctrl+v
作者: zhifei    时间: 2013-1-27 00:46
通俗易懂,嘿嘿
作者: 琴歌    时间: 2013-1-27 12:27
不错不错哦
作者: HIT120220    时间: 2013-1-28 21:57
赞一个!就喜欢大虾们分享自己的经验,这样才好理解!
作者: 飘渺孤鸿~    时间: 2013-1-29 12:27
有点眉目了
作者: 枫恣零    时间: 2013-1-30 14:17

作者: yangbw4978    时间: 2013-2-8 11:20
学习学习了
作者: 黄美纯    时间: 2013-2-8 12:36
终于理解了,多谢楼主。
作者: zanran8    时间: 2013-3-6 15:30
比较通俗
作者: 木子若    时间: 2013-3-31 11:07
谢谢,学习了
作者: 11463322    时间: 2013-4-26 18:26

作者: oscarpanpan    时间: 2013-5-4 10:31

作者: 酱油-哥    时间: 2013-5-4 16:32
dich 发表于 2011-11-10 21:48
小明接到这样一个任务:
有一个水缸点漏水(而且漏水的速度还不一定固定不变),
要求水面高度维持在某个 ...

good





欢迎光临 亿加合和智能车制作 (http://www.znczz.com/) Powered by Discuz! X3.2