打印
[其他]

使用整数来计算PID,以提高MCU效率及减少生成的代码量

[复制链接]
楼主: 356053261
手机看帖
扫描二维码
随时随地手机跟帖
61
sdCAD| | 2025-2-13 17:40 | 只看该作者 回帖奖励 |倒序浏览
尽量减少不必要的判断语句和分支结构,使代码更加简洁高效。例如,在更新误差和控制量的计算中,如果某些条件的判断对最终结果影响较小,可以考虑将其省略或合并。

使用特权

评论回复
62
qiufengsd| | 2025-2-13 19:22 | 只看该作者
选择一个合适的缩放因子(通常是2的幂次,如2^16或2^32),将浮点数乘以该因子并取整,得到固定点数。

使用特权

评论回复
63
uiint| | 2025-2-13 21:04 | 只看该作者
初始化PID控制器的参数,包括比例常数、积分常数、微分常数和设定目标值。

使用特权

评论回复
64
primojones| | 2025-2-14 09:29 | 只看该作者
使用32位中间变量来防止溢出,但在最终结果中需要右移15位来缩放结果。

使用特权

评论回复
65
primojones| | 2025-2-14 11:26 | 只看该作者
合理选择比例因子非常重要,过大的比例因子可能导致整数溢出,而过小的比例因子可能会影响计算精度。

使用特权

评论回复
66
cemaj| | 2025-2-14 13:07 | 只看该作者
固定点表示法是一种用整数来模拟浮点数的方法。通过选择一个固定的二进制小数点位置,可以将实数映射到整数上进行运算。

使用特权

评论回复
67
yeates333| | 2025-2-14 14:51 | 只看该作者
整数运算比浮点运算更快,适合资源受限的MCU。

使用特权

评论回复
68
cashrwood| | 2025-2-14 16:46 | 只看该作者
对于设定值和反馈值等较大的数值,也可以根据实际情况选择合适的整数类型,以确保能够准确表示和处理这些数据。

使用特权

评论回复
69
fengm| | 2025-2-14 18:28 | 只看该作者
对于较大的缩放因子,可能需要进行分步乘法以避免溢出。

使用特权

评论回复
70
AutoMotor| | 2025-2-15 15:21 | 只看该作者
如果出现十进制数,如何处理

使用特权

评论回复
71
lllook| | 2025-2-16 20:37 | 只看该作者
计算的准确性会受到很大影响吗

使用特权

评论回复
72
LinkMe| | 2025-2-17 14:36 | 只看该作者
整数运算比浮点运算快,适合资源受限的MCU。

使用特权

评论回复
73
digit0| | 2025-2-18 22:23 | 只看该作者
对于较大的比例因子,可能需要逐步乘法来避免溢出。

使用特权

评论回复
74
物联万物互联| | 2025-2-26 19:38 | 只看该作者
使用整数计算可能会降低精度,因为整数没有小数部分,无法表达某些小数点的精度数值。

使用特权

评论回复
75
suncat0504| | 2025-2-26 22:27 | 只看该作者
空载和重载的PWM脉宽是不一样的?

使用特权

评论回复
76
结合国际经验| | 2025-2-27 14:26 | 只看该作者
使用整数替代浮点数,虽然可能会降低某些算法的精度,但对于许多嵌入式控制应用来说,适当的精度已足够。

使用特权

评论回复
77
地瓜patch| | 2025-2-28 22:10 | 只看该作者
扩大多少倍

使用特权

评论回复
78
单芯多芯| | 2025-3-2 08:47 | 只看该作者
整数替代浮点仅在极端性能要求下使用,如需要极高运算速度且精度损失可接受的场合。

使用特权

评论回复
79
鹿鼎计| | 2025-3-3 08:39 | 只看该作者
可以,但要小心数据过大导致的溢出问题,这可能会影响结果的准确性。

使用特权

评论回复
80
未来AI| | 2025-3-4 08:48 | 只看该作者
用整数进行计算可能会降低精度,因为整数无法表示小数部分,对于一些需要精确到小数点后多位数的计算,使用整数计算会导致误差

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则