lzmm 发表于 2024-4-21 16:18

使用PID调速的理解

1.对于Kp系数的理解: u(t) - u(t-1)是两次偏差之间的差值, Kp就是系数, P = (1/Kp)*, 我们调节的就是Kp这个值。
从公式可以明白,P表示的就是偏差的趋势,如果偏差的趋势增大了(正数),就要增大调节量让当前值更快的接近目标值从而抑制偏差增大。如果偏差的趋势减小了(负数),就要减小调节量让当前值更快的接近目标值从而抑制偏差增大;

2.对于Ki系数的理解: u(t)=目标值 - 实际值, Ki就是系数, I = (1/Ki)* u(t), 我们调节的就是Ki这个值。从公式可以明白,I表示
的就是当前的偏差值,如果当前的实际值大于目标值,那么I<0,就要减小调节量抑制偏差增大。如果当前的实际值小于目标值,那么I>0,就要增大调节量抑制偏差增大;

3.最终的输出公式,假如占空比的值用y表示,则y(t) = y(t-1) + P + I,实际中,y往往表示定时器PWM高电平周期的装载数;

4.明白上面原理后,我们再理解Kp,Ki 取值对于调节量的意义。 假如占空比的范围是0 - 100. 那么如果我们取Kp=5, 那么速度的偏差趋势超过5rpm我们就增加或者减小1个占空比(5 / 5 =1),如果取Ki = 20, 那么目标值和实际值相差20rpm,我们就调节1个占空比。可以看出Kp取值越小,那么调节的速度就会越快,也就是从当前值达到目标值的时间越短,整个系统越加灵敏,Kp值过小会导致严重的震荡。另外,如果Ki取值越小,那么最终的值就约接近目标值。如果Ki=20,那么目标值跟实际值会靠近20rpm的偏差,如果Ki=500,那么就是接近500rpm的偏差。同样,Kp值过小会导致严重的震荡;

5.启动占空比的确定,BLDC启动的时候要按一个相对可靠的占空比启动,换句话说,在需要启动BLDC的时候,要发送一个稳定可靠启动的占空比值比如duty=20%稳定20秒左右,再开始PID速度调节,这样做可以提高电机的启动速度,以及调速的稳定性。

6.关于加减速度,比如从0rpm 到达 10000rpm, 我们的目标值直接设为10000rpm, 那么速度会增加得非常的块,所以我们需要设置一个步长step,调节这个step,sstep的值越大,加速度就越大,反之亦然。

7.关于系统的响应,周期:   这里牵涉到几个时间的参数: 转速采集周期t1, PI调节周期t2,电机的响应时间t3。t3必须尽可能的小,t1最好是小于t2,表示采样速度快于PI的调节速度, 理想的关系是: t3 < t1 < t2。

8.问题:我们在调节PID的时候,主要存在三个问题:
   8.1震荡问题:一种是边震荡边接近目标值,还有一种是在目标值附近震荡,电机转速忽高忽低噪音明显;
解决方法:先让step尽量小些甚至从1开始,让Ki,Kp尽量大些,比如Ki=100,Kp=100,如果此时系统稳定,则减小Ki的值,如果不稳定,继续增加Kp,Ki的值直到系统稳定,然后逐步减低Kp,Ki的值得到尽可能快的加减速时间和尽可能接近目标值。同时,还需要注意占空比的分辨率,比如占空比0-100对应的定时器装载值也是0-100,且对应转速0-10000,那么占空比的分辨率就是100rpm,也就是调节一个占空比值就会导致100rpm的变化,那样系统是相当灵敏的,特别是在低速阶段容易产生震荡。可以把占空比对应的装载值放大10倍,0-100的占空比对应装载值是0-1000,然后0-1000对应0-10000rpm。公式:y(t) = y(t-1) + P + I 计算的一般是定时器的装载值。这样就会给系统带来很好的稳定性,特别是低速阶段。
   8.2目标值偏差大:这个通过调节Ki值来缩小偏差。
   8.3加减速时间问题:这个可以通过step值来调节。假如step=10,每隔50ms调节一次,那么目标值5000rpm,n = 5000/50=100,那么就是100个周期5秒目标值变为5000,根据自己的需要来调节这个值。在低速段可以减小这个step的值来提高系统稳定性。


9.关于PWM的频率:PWM的频率会影响占空比和速度曲线的对应关系,并且影响启动和停止的占空比值。具体的意思是:PWM的频率f=1kHz的时候,duty=22%,此时的速度值是3000rpm,电机需要在duty>15%才可以启动,启动后duty<10%电机会停止。PWM的频率f=25kHz的时候,duty=20%,此时的速度值是3000rpm,电机需要在duty>12%才可以启动,启动后duty<11%电机会停止。
如果频率很高,那么响应的速度非常快但是在低速段震荡明显,因为稍微调节下占空比的值转速变化很大,比如f=25kHz,那么占空比只有在高于20%的时候才可以得到稳定的转速,低于20%的时候,系统震荡很明显。另外一个因素是这个时候定时器的装载值范围比较小,1/8us的定时器时钟源得到25kHz的PWM频率装载值是320,占空比的分辨率比较大对应转速敏感.
如果频率比较低,那么响应的速度比较慢但是在低速段容易稳定,因为稍微调节下占空比的值转速变化不大,比如f=1kHz,那么占空比只有在低于20%的时候也可以得到稳定的转速,低于20%的时候,系统震荡不明显,甚至可以得到很低的稳定转速。另外一个因素是这个时候定时器的装载值范围比较大,1/8us的定时器时钟源得到1kHz的PWM频率装载值是8000,占空比的分辨率比较小对应转速不敏感。

21mengnan 发表于 2024-4-21 17:56

控制基础,必须会PID。带DSP内核的MCU都会提供PID库函数。

robincotton 发表于 2024-4-29 16:58

包含的三个主要环节:比例(Proportional)、积分(Integral)、微分(Derivative)。这三个环节各自有不同的作用,共同协作以达到精确控制的目的。

zerorobert 发表于 2024-5-1 20:09

比例控制依据当前的偏差大小来调整控制量。偏差越大,控制作用越强,反之亦然。这有助于系统快速响应外部变化。

averyleigh 发表于 2024-5-1 22:32

积分控制主要用于消除静态误差。当系统存在静态误差时,积分控制作用会不断累积,直到误差为零。积分系数(Ki)决定了积分作用的强弱和消除静态误差的速度。然而,积分控制可能会导致超调和振荡,尤其是在响应速度较快的系统中。

janewood 发表于 2024-5-2 16:38

微分控制是根据误差的变化率来产生控制作用的一种控制规律。微分控制可以预测误差的未来趋势,从而提前采取措施来减小误差。微分系数(Kd)决定了微分作用的强弱。微分控制可以提高系统的稳定性,但也可能对噪声敏感。

belindagraham 发表于 2024-5-2 18:11

PID调速的基本思想是通过不断地测量系统的实际输出(例如电机的转速),并将其与期望的设定值(目标转速)进行比较,然后根据这个差值(误差)来调整电机的输入(例如电机的电压或电流),以使实际输出尽可能地接近设定值。

chenci2013 发表于 2024-5-2 20:29

积分控制考虑到偏差的历史积累,有助于消除稳态误差。
它通过对过去偏差的积分来调整控制信号,使得系统能够达到期望的设定点。
过度的积分可能导致振荡或不稳定,因此与其他部分配合使用很重要。

jimmhu 发表于 2024-5-3 12:53

PID控制可以通过模拟电路或数字算法实现。位置式PID是数字PID的一种形式,它根据系统实际位置与预期位置的偏差来进行控制。

jonas222 发表于 2024-5-4 12:15

PID控制器的三个参数(比例系数P、积分时间常数I和微分时间常数D)需要根据具体应用进行调整。
这些参数的调整直接影响控制效果,需要通过实验或者自动调节方法来优化。

alvpeg 发表于 2024-5-4 14:16

PID调速通常伴随着硬件接口和控制策略的选择,例如使用PWM(脉冲宽度调制)信号来调整电机供电电压。

youtome 发表于 2024-5-6 10:14

比例控制直接与速度误差成正比,可以迅速响应速度偏差,并产生一个与偏差成比例的控制作用。
比例系数决定了系统响应速度和稳定性,但单独的比例控制可能导致稳态误差。

tifmill 发表于 2024-5-6 18:40

在实际应用中,需要根据被控对象的动态特性和控制要求,合理选择和调整比例、积分和微分三个参数,以获得最佳的控制效果。

linfelix 发表于 2024-5-6 22:30

比例控制是根据当前偏差(设定转速与实际转速之差)来进行控制的。
它会调整控制信号的大小,以试图减少偏差。
仅使用比例控制可能会导致系统存在稳态误差(当偏差不再变化时,控制作用仍不为零)。

fengm 发表于 2024-5-7 08:32

积分环节的作用是消除稳态误差,即系统长时间运行后仍然存在的小偏差。积分控制会逐步增加控制力度,直至偏差完全消除。然而,过强的积分作用可能导致系统响应迟缓。

backlugin 发表于 2024-5-7 13:32

PID调速也存在一些缺点,例如信号处理可能过于简单,误差的产生方式可能不太合理,误差的微分信号的产生没有太好的办法,误差积分反馈的引入可能带来负作用,以及线性组合方式可能不是最佳的选择等。

i1mcu 发表于 2024-5-7 18:54

通过仿真和实验的方法来寻找最优的PID参数组合

gygp 发表于 2024-5-8 12:43

PID调速的核心在于通过比较设定目标值与实际输出值之间的偏差(误差),计算出一个修正值,并将这个修正值反馈给控制系统以减小未来的偏差。

biechedan 发表于 2024-5-8 15:55

PID调速是一种基于反馈控制思想的调速方法,其核心是通过对被控对象的反馈信号进行分析和处理,调整控制器输出信号的大小和方向,使被控对象的输出信号尽可能地接近于目标值。PID调速控制器由比例(P)、积分(I)和微分(D)三个部分组成,分别对应于控制器输出信号的大小、累积误差和变化率。

eefas 发表于 2024-5-8 19:37

在PID调速中,首先计算设定值与实际输出值之间的误差,然后对误差进行比例、积分和微分运算,得到控制信号。控制信号经过限幅、滤波等处理后,驱动被控对象(如电机)进行调速。
页: [1] 2 3
查看完整版本: 使用PID调速的理解