智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 12560|回复: 36
打印 上一主题 下一主题

[控制类] 关于PID的问题~~~

  [复制链接]

0

主题

2

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
267
威望
206
贡献
43
兑换币
22
注册时间
2009-5-9
在线时间
9 小时
跳转到指定楼层
1#
发表于 2009-5-9 18:03:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1贡献
本帖最后由 mtlegolas 于 2009-5-9 19:18 编辑

我是刚接触PID的新手,看了很多PID的理论知识,有一点不明白。我是用位置式PID对电机进行调速。那个PID控制器的输入量和输出控制量是什么对应关系了?或者换句话说就是输入量是什么,输出控制量是什么.。输入量是速度的偏差,假如我设定转速时5m/s,实际转速是4m/s,那么偏差就是1m/s ,把这个偏差当做输入量送到PID控制器并进过计算的输出控制量与PWM如何对应,那个输出我怎么处理,难道直接就送给电机?PID运算出的控制量需经过映射到实际控制量从而实现对系统的调节,速度的偏差如何映射成PWM?

0

主题

18

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
236
威望
200
贡献
22
兑换币
0
注册时间
2009-3-4
在线时间
7 小时
2#
发表于 2009-5-9 18:20:27 | 只看该作者
静等高手回答楼主的问题,对这个我也不太懂。公式中的偏差e(t)到底是谁和谁的差呀?
回复

使用道具 举报

0

主题

150

帖子

0

精华

高级会员

Rank: 4

积分
749
QQ
威望
361
贡献
238
兑换币
0
注册时间
2009-3-20
在线时间
75 小时
3#
发表于 2009-5-9 18:56:30 | 只看该作者
线性,电机转速-电流脉冲占空比-PWM占空比-控制量-PID输出值,一般情况下,也是理想情况下,都将这一个链环节间都当做线性处理,ax+b.....
回复

使用道具 举报

0

主题

2

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
267
威望
206
贡献
43
兑换币
22
注册时间
2009-5-9
在线时间
9 小时
4#
 楼主| 发表于 2009-5-9 19:21:08 | 只看该作者
3# 烙铁头
你可不可以说的详细点,我还不太明白,我主要是第一次接触PID,那个速度的偏差如何映射成实际控制量也就是PWM
回复

使用道具 举报

0

主题

50

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
431
威望
301
贡献
76
兑换币
54
注册时间
2009-1-10
在线时间
27 小时
5#
发表于 2009-5-9 20:57:08 | 只看该作者
我也不太清楚   楼主尽快答复
回复

使用道具 举报

0

主题

50

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
431
威望
301
贡献
76
兑换币
54
注册时间
2009-1-10
在线时间
27 小时
6#
发表于 2009-5-9 20:57:10 | 只看该作者
我也不太清楚   楼主尽快答复
回复

使用道具 举报

0

主题

30

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
238
威望
202
贡献
22
兑换币
0
注册时间
2009-4-14
在线时间
7 小时
7#
发表于 2009-6-10 17:58:41 | 只看该作者
就是找到占空比与脉冲数的关系,应该是一个线性的。
比如你5m/s的时候输入4m/s,然后读到一个脉冲数,假如是20,而5m/s得时候应该产生25个脉冲。这时候,有了5的差值,如果用P控制,那P参数就是5.出来是25,你不是已经知道脉冲数与占空比的关系了吗,再用这个关系转换。假如5m/s的时候,占空比是60%,那你最后根据输出的25,把脉冲数转换成占空比。
其实他们三个,脉冲数,占空比,速度应该是一一对应的。
回复

使用道具 举报

0

主题

5

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
269
威望
213
贡献
46
兑换币
24
注册时间
2009-4-29
在线时间
5 小时
8#
发表于 2009-10-14 23:30:15 | 只看该作者
该输出 什么???
代码 是???
回复

使用道具 举报

0

主题

14

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
284
威望
220
贡献
44
兑换币
22
注册时间
2009-9-12
在线时间
10 小时
9#
发表于 2009-10-16 16:27:47 | 只看该作者
回复

使用道具 举报

14

主题

929

帖子

1

精华

功勋会员

WJ

Rank: 10Rank: 10Rank: 10

积分
6304

特殊贡献奖章

威望
1456
贡献
4674
兑换币
17
注册时间
2008-4-6
在线时间
87 小时
10#
发表于 2009-10-16 22:07:17 | 只看该作者
首先,为什么要做PID?
由于外界原因,小车的实际速度有时不稳定,这是其一,要让小车以最快的时间达达到既定的目标速度,这是其二。这个速度的调整过程就必须通过某个算法调整,一般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应该增加或减小多少。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-6-17 23:12 , Processed in 0.045002 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表