OpenEdv-开源电子网

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

一个位置PID电机调参问题(有代码)

[复制链接]

26

主题

52

帖子

0

精华

初级会员

Rank: 2

积分
157
金钱
157
注册时间
2019-12-27
在线时间
40 小时
发表于 2020-6-17 17:18:09 | 显示全部楼层 |阅读模式
20金钱
我用F1的板子,按位置PID算法给电机PWM,我只调了P的值,但是总是出现等幅振荡,电机一直在抖,请问是哪里错了呢
int Position_PID(u16 Encoder,u16 Target)
{
        int err,pwm;
        static int integral_Err,last_Err;
        err = Encoder - Target;
        integral_Err += err;
        pwm = Position_KP * err + Position_KI * integral_Err + Position_KD * (err - last_Err);
        last_Err = err;
        if(pwm>7200) pwm = 7200;
        if(pwm<-7200)pwm = -7200;
        return pwm;
}


主函数就只有这个在循环
SET_MOTOR1_PWM(Position_PID(Read_Encoder(),aim));
                        Test_Send_User(Read_Encoder(),aim);

后面一直等幅振荡

后面一直等幅振荡

最佳答案

查看完整内容[请看2#楼]

除非误差是0 但不可能调得这么精确。 正误差 冲过去 变负误差 拉回来 一直循环这个过程。 可以做一点模糊 if(err
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

89

帖子

0

精华

高级会员

Rank: 4

积分
844
金钱
844
注册时间
2020-6-12
在线时间
303 小时
发表于 2020-6-17 17:18:10 | 显示全部楼层
本帖最后由 rektito 于 2020-6-18 11:58 编辑

除非误差是0  但不可能调得这么精确。   正误差 冲过去  变负误差  拉回来  一直循环这个过程。 可以做一点模糊  if(err<100) 就不调节了   当然100是我举例  实际需要根据角度对应的误差 自己调整 。  
如果对位置精度的要求比较高    模糊不得做到的话   可以随着离目标位置越来越近  动态减小 Kp  。当然这种情况可能还是有可能振荡   不过振荡幅度一定比  固定Kp要小。   如果全程固定Kp的话  又得在初始的响应速度 和 最后的振荡之间做权衡。
回复

使用道具 举报

12

主题

3397

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8670
金钱
8670
注册时间
2020-5-11
在线时间
4138 小时
发表于 2020-6-17 20:43:33 | 显示全部楼层
减小KI试试,KD可以给0.
专治疑难杂症
回复

使用道具 举报

26

主题

52

帖子

0

精华

初级会员

Rank: 2

积分
157
金钱
157
注册时间
2019-12-27
在线时间
40 小时
 楼主| 发表于 2020-6-17 21:32:56 | 显示全部楼层
LcwSwust 发表于 2020-6-17 20:43
减小KI试试,KD可以给0.

只有Kp..其他都是0
回复

使用道具 举报

1

主题

41

帖子

0

精华

高级会员

Rank: 4

积分
504
金钱
504
注册时间
2019-3-21
在线时间
103 小时
发表于 2020-6-17 21:35:34 | 显示全部楼层
你这应该是增加了P,你可以增加D试试
回复

使用道具 举报

26

主题

52

帖子

0

精华

初级会员

Rank: 2

积分
157
金钱
157
注册时间
2019-12-27
在线时间
40 小时
 楼主| 发表于 2020-6-17 22:17:44 | 显示全部楼层
还有,这不是仿真啊,这是真实的电机。。。希望大佬回答一下。。
回复

使用道具 举报

12

主题

3397

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8670
金钱
8670
注册时间
2020-5-11
在线时间
4138 小时
发表于 2020-6-18 10:55:52 | 显示全部楼层
dyydy 发表于 2020-6-17 21:32
只有Kp..其他都是0

那就减小Kp
专治疑难杂症
回复

使用道具 举报

1

主题

3

帖子

0

精华

新手上路

积分
32
金钱
32
注册时间
2019-7-1
在线时间
10 小时
发表于 2020-7-21 10:40:14 | 显示全部楼层
像是KP太大
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-10 22:54

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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