QQ624353765 发表于 2024-11-26 15:19:49

有关RTC内部32K时钟误差纠正







使用RTC的1/2秒计数,用这个中断去测电机的转速

单片机内置的32K误差很大,想通过公式减少误差

电机转速/分钟=每次中断测得的速度*120


我看了下内置32K时钟频率差不多有3KHZ的误差,如何把这3KHZ的误差带进公式抵消掉

DebugLab 发表于 2024-11-26 15:31:18

还会受温度和电压影响,要对温度和电压逐点校准,并且每个单片机都不一样,要挨个对温度和电压逐点校准,总结就是不现实

QQ624353765 发表于 2024-11-26 16:47:33

DebugLab 发表于 2024-11-26 15:31
还会受温度和电压影响,要对温度和电压逐点校准,并且每个单片机都不一样,要挨个对温度和电压逐点校准,总 ...

什么不现实,每个单片机32K都有误差,而且误差值都给你写在寄存器里了。什么温度又电压的,只要用一个公式扣除官方给的误差就行了

DebugLab 发表于 2024-11-26 16:48:56

QQ624353765 发表于 2024-11-26 16:47
什么不现实,每个单片机32K都有误差,而且误差值都给你写在寄存器里了。什么温度又电压的,只要用一个公 ...

那你可以试一试

QQ624353765 发表于 2024-11-26 16:50:25

DebugLab 发表于 2024-11-26 16:48
那你可以试一试

那你把公式给我呀

DebugLab 发表于 2024-11-26 16:52:26

QQ624353765 发表于 2024-11-26 16:50
那你把公式给我呀

这个没有公式,以你实测的频率为准

_奶咖君_ 发表于 2024-11-26 17:02:09

QQ624353765 发表于 2024-11-26 16:50
那你把公式给我呀

谁给你说的官方有公式啊,,

倒是手册里面有两个图,,剩下的自己测把

DebugLab 发表于 2024-11-26 17:04:13

QQ624353765 发表于 2024-11-26 16:47
什么不现实,每个单片机32K都有误差,而且误差值都给你写在寄存器里了。什么温度又电压的,只要用一个公 ...

写到寄存器里的是出厂测试的频率,有3K误差的原因是你测试环境和出厂环境不一致,就是温度和电压不一致
你需要测试每个温度和电压下的频率,画出曲线,然后你自己想办法用公式拟合这个曲线,软件中按照你的测试结果运行
因为不知道出厂测试的温度和电压,单片机内部保存的32K时钟频率你可以无视,以你自己的测试结果为准
你需要实测出这个曲线并用公式拟合,两个变量,非常复杂,还都是非线性的,每个单片机还有制造误差所以各不相同,所以说不现实




DebugLab 发表于 2024-11-26 17:06:53

内部32K时钟是给你掉电唤醒用的,掉电LCD显示用的,低功耗的,出于低功耗考虑,没有设计抗温飘压飘电路,所以只是个粗略的低功耗低频时钟,无法精确计时,不是你这么用的

QQ624353765 发表于 2024-11-26 17:59:56

DebugLab 发表于 2024-11-26 17:06
内部32K时钟是给你掉电唤醒用的,掉电LCD显示用的,低功耗的,出于低功耗考虑,没有设计抗温飘压飘电路,所 ...

测个速而已,知道了误差值我就想和实际速度尽可能的逼近就行了,我已经解决了
页: [1]
查看完整版本: 有关RTC内部32K时钟误差纠正