智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1009|回复: 0
打印 上一主题 下一主题

[咨询] 【PID】请问电磁直立速度环PID怎么调?

[复制链接]

17

主题

92

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3674
威望
1716
贡献
1122
兑换币
1115
注册时间
2015-10-8
在线时间
418 小时
跳转到指定楼层
1#
发表于 2016-3-8 14:44:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用的官方方案,位置式PI,控制电机。只加P的话还能跑,但是速度达不到目标速度,而且不稳定。加入积分I后就经常出现PWM超限的情况。请问大家PID都是怎么调的?
这是官方程序:
void SpeedControl(void) {
float fDelta;
float fP, fI;
g_fCarSpeed = (g_nLeftMotorPulseSigma +
g_nRightMotorPulseSigma) / 2;
g_nLeftMotorPulseSigma = g_nRightMotorPulseSigma = 0;
g_fCarSpeed *= CAR_SPEED_CONSTANT;
fDelta = CAR_SPEED_SETfDelta - g_fCarSpeed;
fP = fDelta * SPEED_CONTROL_P;
fI = fDelta * SPEED_CONTROL_I;
g_fSpeedControlIntegral += fI;
g_fSpeedControlOutOld = g_fSpeedControlOutNew;
g_fSpeedControlOutNew = fP + g_fSpeedControlIntegral;
}

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-26 00:33 , Processed in 0.113588 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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