PID控制算法,使用的数值一般是模拟值还是数字值?

[复制链接]
 楼主| Nivans 发表于 2016-7-16 19:20 | 显示全部楼层 |阅读模式
请问PID算法中采样的值需要转成模拟值吗?比如说我从AD读到的是512,根据基准电压换算过来是2.5V。那么我传进PID控制算法的时候,用的是数字值512还是电压值2.5。
静海惊天 发表于 2016-7-17 10:47 | 显示全部楼层
最好转换,这样AD 和DA 能对应上,如果不转换,那么你AD和DA的码值代表的实际值相同也可以,其实无所谓,关键是在固定的数值模式下,调整好参数。
supertankhzt 发表于 2016-7-20 10:35 | 显示全部楼层
什么叫模拟值?能保存在RAM里的都是阶级式的数字值,你转成电压值也不会变成模拟量,只是便于人类理解,仅用于参与运算的话,最好是用原始的值,转换过的会一定程度丢失精度,比如不能整除的情况。
cuya 发表于 2016-7-20 12:06 | 显示全部楼层
这其实是 定点 vs 浮点。如果你的 cpu 速度较快或者pid 周期较长, 对于你来说, "模拟值"较好。

定点运算就是用整数运算, 也就是你的 512。优点是高效, 缺点是不直观, 还容易溢出。
浮点运算就是使用 float, double, 也就是你的 2.5V, 优点是直观,不易出错, 不会溢出。缺点是运行效率较低。

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

本版积分规则

117

主题

692

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部

117

主题

692

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部