21ic电子技术开发论坛

标题: 这种波动是正常的吗? [打印本页]

作者: chuxh    时间: 2018-7-25 22:31
标题: 这种波动是正常的吗?
基于STM32单片机开发一款应用,功能是接收PWM波形信号,计算出占空比。PWM信号源的占空比是50%。但是,接收到PWM信号,计算出的占空比在49%和50%之间变化。调试代码发现,TIM1->CCR1的值为3331,且一直不变。而TIM1->CCR2的值在1665和1666之间变化。请教各位高手,这种波动是正常的吗?谢谢!

作者: juventus9554    时间: 2018-7-25 22:32

在时间很快的情况,也不能保证信号源绝对精准,经过电路后时间毫无偏差。
从精度上看:
( 1665/3331)  * 100%    =  49.98%
(1666/3331)  *  100%    =  50.015%
也就是说基本一样,关键是精度问题。建议处理的时候不要直接整型操作(或分子部分扩大10-100倍),软件做好4舍5入

作者: songqian17    时间: 2018-7-25 22:34

纯属正常,因为晶振本身就是波动的,你要求太精密,只能这样了。

作者: houcs    时间: 2018-7-25 22:36

精度也不错了。

作者: huanghuac    时间: 2018-7-25 22:38
计数的时候,一个字的量子化误差,是正常的。

作者: happy_10    时间: 2018-7-25 22:40
精度问题,四舍五入一下不就OK了。

作者: bqyj    时间: 2018-7-25 22:42
正常的不要不要的

作者: chuxh    时间: 2018-7-25 22:43
哦,那我就知道怎么回事了,多谢大家,结贴了哈

作者: 观海    时间: 2018-7-26 08:40
但是 timer因该是正常的啊  虽然晶振不太准确

作者: 木木guainv    时间: 2018-7-26 09:19
这种波动 很正常啊

作者: HKingS    时间: 2018-7-26 11:33
我认为是正常的,才变化一位数,精度是在允许范围内的。

作者: 静听风易    时间: 2018-7-26 22:34
huanghuac 发表于 2018-7-25 22:38
计数的时候,一个字的量子化误差,是正常的。

同意,只要误差在范围内,就是允许的。





欢迎光临 21ic电子技术开发论坛 (https://bbs.21ic.com/)