智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 2459|回复: 10
打印 上一主题 下一主题

谁能给我一段PID控制的程序

[复制链接]

6

主题

279

帖子

0

精华

高级会员

Rank: 4

积分
869
QQ
威望
676
贡献
107
兑换币
0
注册时间
2011-10-18
在线时间
43 小时
跳转到指定楼层
1#
发表于 2012-2-14 20:57:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
看的pid的资料都是写没用的废话,我想学习一下pid程序到底怎样写啊?求帮助啊!

15

主题

331

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1714
威望
1003
贡献
417
兑换币
106
注册时间
2011-10-27
在线时间
147 小时
2#
发表于 2012-2-14 21:11:53 | 只看该作者
回复 支持 反对

使用道具 举报

6

主题

279

帖子

0

精华

高级会员

Rank: 4

积分
869
QQ
威望
676
贡献
107
兑换币
0
注册时间
2011-10-18
在线时间
43 小时
3#
 楼主| 发表于 2012-2-14 21:15:14 | 只看该作者
:'(:'(:'(
回复 支持 反对

使用道具 举报

4

主题

30

帖子

0

精华

高级会员

Rank: 4

积分
639
威望
472
贡献
109
兑换币
30
注册时间
2010-8-14
在线时间
29 小时
4#
发表于 2012-2-15 09:04:05 | 只看该作者
这东西没得给的 - -去年也是这么过来的
回复 支持 反对

使用道具 举报

6

主题

124

帖子

0

精华

高级会员

Rank: 4

积分
712
QQ
威望
488
贡献
146
兑换币
3
注册时间
2012-2-12
在线时间
39 小时
5#
发表于 2012-3-5 10:30:40 | 只看该作者
,这东西不能给的,告诉你舵机一般PD控制就可以了,电机用PID控制会更好,目前还好用。
回复 支持 反对

使用道具 举报

5

主题

366

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2124
威望
1227
贡献
555
兑换币
29
注册时间
2011-7-23
在线时间
171 小时
6#
发表于 2012-3-5 10:46:37 | 只看该作者
xufang 发表于 2012-3-5 10:30
,这东西不能给的,告诉你舵机一般PD控制就可以了,电机用PID控制会更好,目前还好用。

请问为什么电机用PID控制比较好呢。。。
回复 支持 反对

使用道具 举报

6

主题

124

帖子

0

精华

高级会员

Rank: 4

积分
712
QQ
威望
488
贡献
146
兑换币
3
注册时间
2012-2-12
在线时间
39 小时
7#
发表于 2012-3-5 19:41:06 | 只看该作者
控制得更好,反馈更及时。
回复 支持 反对

使用道具 举报

2

主题

85

帖子

0

精华

高级会员

Rank: 4

积分
710
威望
365
贡献
259
兑换币
57
注册时间
2012-2-21
在线时间
43 小时
毕业学校
襄樊学院
8#
发表于 2012-7-5 16:11:01 | 只看该作者

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

27

主题

420

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4823
QQ
威望
2464
贡献
1341
兑换币
929
注册时间
2010-12-25
在线时间
509 小时
9#
发表于 2012-7-6 01:00:52 | 只看该作者
int PID(unsigned int SpeedSet)
{
   
   SpeedError=SpeedSet-SpeedBack;
   d_SpeedError=SpeedError-SpeedPreError;
   dd_SpeedError=d_SpeedError-d_PreSpeedError;
   SpeedPreError=SpeedError;     
   d_PreSpeedError=d_SpeedError;
   //////////////////////////////////////////////////////////////////
   if(abs(SpeedError)>PID_BangBang)
   {
     if(SpeedError>0) return Speed_Max;
     else return -Speed_Max;
   }
   else if(abs(SpeedError)<PID_Dead) return 0;
   else return (v_Kp*d_SpeedError+v_Ki*SpeedError+v_Kd*dd_SpeedError);
}
回复 支持 反对

使用道具 举报

4

主题

33

帖子

0

精华

高级会员

Rank: 4

积分
640
QQ
威望
346
贡献
102
兑换币
0
注册时间
2012-3-4
在线时间
96 小时
10#
发表于 2012-7-7 15:07:09 | 只看该作者
9楼的    问一下这是速度闭环的程序吗
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-22 01:40 , Processed in 0.062414 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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