PID调参心得

首先我采用的是PD控制,积分I部分虽然写了,但仍存在问题,故不作介绍。

1.        从零开始增大比例部分Kp,一定要记住,只要使电机从超调变为收敛即可,因为过大的Kp虽然也能使电机收敛,但是会对之后调其他参数产生极大的影响,我今天刚开始一直把Kp调是的30+,不论怎么调Kd也不能解决震荡的问题,最后降低Kp到20时调节Kd才终于有效,最后获得的完美参数是 5,0,4。说明30明显过大了。

2.        Kd不能比Kp大,不晓得为什么,但是一旦超过Kp电机就会停转,尚待解决。

3.        一定要注意公式的对错,一直调不出来的伙伴们也可以检查几遍自己的公式,公式一旦错误,参数怎么调都不能成功。这里列出我今天犯的错误:

        (1)第一处红线(比例部分):Target与Encoder写反,图中写的是对的,可以这样理解,首先我们设置的三个参数均为正值,假设目标是T=60,第一次实际值Ex1=40,必须用(60-40)*Kp才有效,否则就是反的,即T-Ex,下图中就是   Target-Encoder

        (2)第二处红线(微分部分):也是正反的问题,一样的理解,结果如图。

        从这两处错误可以知道,学习控制算法必须深入了解推导步骤,理解每一个公式,每一个变量,否则就会像我一样迷茫了几个月,不理解原理,就算一次成功,也不能保证之后的每次成功,更不能做出更好的优化版本。

4.        仍然存在的问题:

        (1)积分项不能用,我通过串口助手观察下图中出现的I变量,每次的误差平均值都在0~3,但是不知道为什么就算Kd取1,一旦加入积分项,系统就会超调,电机转速拉满。积分项的缺失使得当控制目标是快接近系统的最大值时,误差变大。

        (2)电机起步超调,需要给单片机复位2~3遍才能实现正常的控制目的。

 

PID调参是一种常用的控制算法用于调整控制系统中的比例、积分和微分参数,以实现系统的稳定性和性能优化。在Matlab中,可以使用PID工具箱来进行PID调参PID调参的目标是通过调整比例系数Kp、积分时间Ti和微分时间Td,使得系统的响应满足要求。一般来说,调参的过程可以分为以下几个步骤: 1. 确定系统模型:首先需要建立系统的数学模型,可以通过实验数据或者理论推导得到。 2. 初始参数设定:根据经验或者系统特性,设置初始的PID参数。 3. 调整比例系数Kp:从较小的值开始,逐渐增大Kp,观察系统的响应。如果响应过冲严重,则减小Kp;如果响应不足,则增大Kp。 4. 调整积分时间Ti:增大Ti可以减小稳态误差,但会增加系统的超调量。根据实际需求,逐渐增大或减小Ti,观察系统的响应。 5. 调整微分时间Td:增大Td可以提高系统的响应速度,但会增加噪声的放大。根据实际需求,逐渐增大或减小Td,观察系统的响应。 6. 优化参数:根据实际需求,反复调整参数,直到系统的响应满足要求。 在Matlab中,可以使用PID工具箱来进行PID调参。具体步骤如下: 1. 打开PID工具箱:在Matlab命令窗口中输入"pidtool",打开PID工具箱。 2. 导入系统模型:在PID工具箱中,选择"Import Model",导入系统模型。 3. 设定初始参数:在PID工具箱中,设置初始的PID参数。 4. 调整参数:通过手动调整参数或者使用自动调参功能,逐步优化PID参数。 5. 保存参数:在PID工具箱中,保存最优的PID参数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值