OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 13427|回复: 14

双环PID该怎么嵌套,求帮忙

[复制链接]

5

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
60
金钱
60
注册时间
2014-3-23
在线时间
0 小时
发表于 2014-8-17 21:10:25 | 显示全部楼层 |阅读模式
5金钱
这两天在做一阶倒立摆,双环PID控制步进电机 两个编码器( 一个测摆杆角度 一个测电机转速) ,角度的PID弄好了 现在摆杆能直立起来 但是转一两圈就倒了,所以需要加速度闭环 ,但是不知道 角度的pid和速度的Pid该怎么嵌套在一起,分别计算出控制量 然后让输出量叠加在一起吗? 有没有类似的代码分享一下,或者提供思路,在下先谢了!

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

17

主题

342

帖子

0

精华

高级会员

Rank: 4

积分
544
金钱
544
注册时间
2014-4-24
在线时间
20 小时
发表于 2014-8-17 21:53:49 | 显示全部楼层
顶一个!好高深,没玩过。。。。。。。。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-8-17 22:23:00 | 显示全部楼层
帮顶.....
回复

使用道具 举报

20

主题

232

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
335
金钱
335
注册时间
2013-6-1
在线时间
0 小时
发表于 2014-8-17 22:53:27 | 显示全部楼层
两个pid的关系是串联(pid1的输入是(目标平衡点-当前角度),输出是步进速度,pid2的输入是(目标速度-步进速度),输出是目标平衡点)
回复

使用道具 举报

5

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
60
金钱
60
注册时间
2014-3-23
在线时间
0 小时
 楼主| 发表于 2014-8-19 11:29:03 | 显示全部楼层
回复【4楼】Scy:
---------------------------------
PID2怎么输出是目标平衡点?目标平衡点不是PID1的设定值么?
回复

使用道具 举报

2

主题

582

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2690
金钱
2690
注册时间
2014-5-23
在线时间
188 小时
发表于 2014-8-20 08:34:38 | 显示全部楼层
一个PID的输出作为另外一个PID的输入
回复

使用道具 举报

2

主题

582

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2690
金钱
2690
注册时间
2014-5-23
在线时间
188 小时
发表于 2014-8-20 08:37:36 | 显示全部楼层
回复【5楼】Mr.kevin:
---------------------------------
输出是实际的平衡点,要反馈回去
回复

使用道具 举报

6

主题

40

帖子

0

精华

初级会员

Rank: 2

积分
98
金钱
98
注册时间
2013-11-16
在线时间
2 小时
发表于 2014-8-20 20:59:50 | 显示全部楼层
搞清楚了输入量和输出量即可
回复

使用道具 举报

5

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
60
金钱
60
注册时间
2014-3-23
在线时间
0 小时
 楼主| 发表于 2014-8-21 14:33:51 | 显示全部楼层
回复【7楼】awsawzj:
---------------------------------
输出是平衡点?平衡点不是确定的180度吗?我的代码是这样写的,先通过一个编码器测摆杆的角度 范围是0-360度 作为测量值1  , 180度为设定值1,然后通过PID计算出控制量1,再把这个控制量作为下一个PID的设定值2,通过另一个编码器测电机转速 作为 下一个PID的测量值2 再计算出控制量2 ,最后根据控制量2 控制电机的转速 。 也即 角度外环,速度内环嵌套。这样对不对?
回复

使用道具 举报

5

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
60
金钱
60
注册时间
2014-3-23
在线时间
0 小时
 楼主| 发表于 2014-8-21 14:34:46 | 显示全部楼层
回复【8楼】Jalon:
---------------------------------
具体怎么个思路呢 ?
回复

使用道具 举报

1

主题

11

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
355
金钱
355
注册时间
2014-10-3
在线时间
4 小时
发表于 2014-10-10 10:41:17 | 显示全部楼层
首先你先把速度环给搞好,速度环的输出直接给到PWM输出作为速度的收敛控制,这是角度闭环控制的前提、、、然后再搞角度PID闭环,它的输出是给到速度环的输入,作为角度的收敛控制
回复

使用道具 举报

7

主题

26

帖子

1

精华

初级会员

Rank: 2

积分
178
金钱
178
注册时间
2014-11-16
在线时间
1 小时
发表于 2015-4-27 12:41:45 | 显示全部楼层
回复【9楼】Mr.kevin:
---------------------------------
你好我也刚做倒立摆,和你控制方法一样,请问你这样控制调出来了吗?网上也看到有人说第二个PID是输出平衡点有点不理解
回复

使用道具 举报

5

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
50
金钱
50
注册时间
2014-7-22
在线时间
0 小时
发表于 2015-6-10 13:59:56 | 显示全部楼层
http://www.mathworks.com/help/slcontrol/ug/designing-two-degree-of-freedom-pid-controllers.html#bsg5g_b
我也刚刚在做跟踪系统,貌似这就是你要的 2DOF_PID ,也就是两自由度PID,分别是给定值跟踪和给定值维稳,包含一个PD,一个PID,matlab有自整定参数
对控制策略感兴趣。
回复

使用道具 举报

2

主题

9

帖子

0

精华

新手上路

积分
37
金钱
37
注册时间
2014-8-15
在线时间
0 小时
发表于 2015-8-4 21:16:41 | 显示全部楼层
回复【11楼】jasonlin:
---------------------------------
能不能给个例子呢
回复

使用道具 举报

2

主题

9

帖子

0

精华

新手上路

积分
37
金钱
37
注册时间
2014-8-15
在线时间
0 小时
发表于 2015-8-9 10:01:44 | 显示全部楼层
回复【9楼】Mr.kevin:
---------------------------------
最终有没有实现的效果呢
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-18 19:16

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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