356053261
发表于 2024-8-5 18:06
356053261 发表于 2024-8-5 18:02
空载和重载的PWM脉宽是不一样的,数字电源中PID用增量PID控制,PID返回的是需要调整多少当前电压与目标电 ...
如果输出电压高了需要回调,则会返回负数,要考虑这里负数计算会不会有问题
yutingwei
发表于 2024-12-31 00:39
与浮点数运算相比,整数运算通常更为高效,因为整数运算不需要额外的硬件支持,且生成的代码通常较小,执行速度更快。
Amazingxixixi
发表于 2024-12-31 14:15
放大倍数
地瓜patch
发表于 2025-1-21 21:38
好主意
朝生
发表于 2025-1-24 07:52
我用浮点数来计算,所以无法体会速度的差异
AIsignel
发表于 2025-1-24 14:12
整数取代了浮点,只能在极其苛刻的性能条件下使用
jtracy3
发表于 2025-2-4 16:27
整数运算比浮点运算更高效,可以显著提高MCU的执行速度并减少生成的代码量。
biechedan
发表于 2025-2-4 18:07
由于积分项是不断累加的,可能会出现积分饱和的问题。可以通过积分限幅的方式来避免积分饱和,即当积分项超过一定范围时,将其限制在该范围内。
uiint
发表于 2025-2-4 22:04
采用增量式PID算法代替位置式PID算法。增量式PID算法只需要计算当前控制量与前一次控制量的差值,不需要每次计算都累加积分项,从而减少了计算量和代码复杂度。例如,在计算过程中,可以直接使用上一次的误差和积分值来计算本次的控制量,避免了重复计算。
yeates333
发表于 2025-2-5 08:42
由于浮点数运算在MCU上通常比较耗时且占用较多的资源,可以将所有参数和计算结果都转换为定点数进行运算。通过选择一个合适的固定小数点位置,将整数部分和小数部分组合成一个整数来表示实际的数值。在计算完成后,再根据需要将结果转换回浮点数形式。例如,可以将数值放大一定的倍数后进行整数运算,最后再除以相同的倍数得到实际结果。
maqianqu
发表于 2025-2-5 09:14
根据实际应用调整比例、积分和微分常数,以达到最佳控制效果。
1988020566
发表于 2025-2-5 10:18
合理安排变量的定义和使用顺序,避免重复声明和初始化变量,减少代码的冗余。同时,尽量使用局部变量来代替全局变量,以提高代码的可读性和执行效率。
caigang13
发表于 2025-2-5 11:17
PID算法看起来很简单,但是要把参数调好还是不容易的。
yorkbarney
发表于 2025-2-5 11:52
在进行定点数运算时,需要注意数值范围和精度的控制,避免因溢出或舍入误差导致计算结果不准确。
sesefadou
发表于 2025-2-5 15:20
为了将误差、积分和微分项转换为整数,需要选择一个合适的比例因子(scaling factor)。比例因子的选择取决于误差和增益的范围,确保所有计算结果在整数表示范围内。
qiufengsd
发表于 2025-2-5 15:50
将PID控制器的比例系数(Kp)、积分系数(Ki)和微分系数(Kd)分别乘以一个缩放因子,转换为整数形式。
backlugin
发表于 2025-2-5 16:16
使用整数计算PID以提高MCU效率和减少生成代码量需综合多方面考量。
lzmm
发表于 2025-2-5 17:35
在进行整数运算时,需要注意检查是否会发生溢出。可以在关键的计算步骤中添加溢出检查代码
robertesth
发表于 2025-2-5 19:17
由于运算速度更快,MCU可以更快完成任务并进入低功耗模式,从而降低整体功耗。
pl202
发表于 2025-2-5 19:51
整数运算的代码通常更紧凑,占用的闪存空间更少。