找回密码
 立即注册
楼主: QQ624***

提供一套RTC温度补偿算法

[复制链接]

该用户从未签到

46

主题

2932

回帖

6611

积分

超级版主

积分
6611
发表于 2023-3-21 17:05:57 | 显示全部楼层
社区闲人 发表于 2023-3-21 12:01
我用电网的50HZ频率信号,代替DS1302这类外部晶振的芯片。年误差在10秒内。

90年代我就用这种电子钟,但是当年常停电。
  • TA的每日心情

    8 小时前
  • 签到天数: 106 天

    [LV.6]常住居民II

    13

    主题

    45

    回帖

    1010

    积分

    金牌会员

    积分
    1010
    发表于 2023-3-21 17:28:02 | 显示全部楼层
    先计算出每多少秒误差1毫秒,然后将毫秒补上。

    点评

    我按10天误差N秒来修正,换算成ms就是6750秒修正N/128 秒。  详情 回复 发表于 2023-3-24 11:32
  • TA的每日心情
    开心
    昨天 10:51
  • 签到天数: 113 天

    [LV.6]常住居民II

    28

    主题

    103

    回帖

    866

    积分

    高级会员

    积分
    866
    发表于 2023-3-24 11:12:06 | 显示全部楼层
    梁工 发表于 2023-3-21 17:04
    真要玩时钟,我建议用BPC电波钟模块校时(中国码发射台在河南商丘,深圳市都能可靠接收),每天校时一次 ...

    多谢指点,电波表玩过了信号时好时坏经常无法校时,后来查看那个服务范围图发现我这里恰好在那个圆周线上就放弃了,gps在室内接收也不靠谱、北斗模块不知道价格如何,眼下使用的是ESP8266的wifi校时,但真心感觉还是精度稳定的时钟源最简单省事,如果能控制在年误差几十秒以内就能满足普通计时了。

    点评

    我不喜欢WIFI校时,离开WIFI就没辙。北斗模块我买的27元,放窗口即可。以前用的GPS模块,有北斗立马换掉了。 STC带的RTC,校准之后,年误差30~60秒左右,不难,要精确测量误差,然后数字修正,我一般用10天误差值来  详情 回复 发表于 2023-3-24 11:29

    该用户从未签到

    46

    主题

    2932

    回帖

    6611

    积分

    超级版主

    积分
    6611
    发表于 2023-3-24 11:29:07 | 显示全部楼层
    本帖最后由 梁工 于 2023-3-24 11:30 编辑
    乐此不疲 发表于 2023-3-24 11:12
    多谢指点,电波表玩过了信号时好时坏经常无法校时,后来查看那个服务范围图发现我这里恰好在那个圆周线上 ...

    我深圳这里电波钟信号还可以,钟附近没有电器即可,靠窗更好。我不喜欢WIFI校时,离开WIFI就没辙。北斗模块我买的27元,放窗口即可。以前用的GPS模块,有北斗立马换掉了。
    STC带的RTC,校准之后,年误差30~60秒左右,不难,要精确测量误差,然后数字修正,我一般用10天误差值来修正,理论误差是0.5秒/10天,加上一点温漂,大约1~2秒/10天。我的周期计时自己做的,使用五十四所出产的二手恒温10MHz晶振,北斗模块校准后(校准1小时),精度达到0.01ppm,用于测量STC RTC的秒脉冲,多测即秒提高测量精度。

    该用户从未签到

    46

    主题

    2932

    回帖

    6611

    积分

    超级版主

    积分
    6611
    发表于 2023-3-24 11:32:58 | 显示全部楼层
    123 发表于 2023-3-21 17:28
    先计算出每多少秒误差1毫秒,然后将毫秒补上。

    我按10天误差N秒来修正,换算成ms就是6750秒修正N/128 秒。
  • TA的每日心情
    开心
    昨天 10:51
  • 签到天数: 113 天

    [LV.6]常住居民II

    28

    主题

    103

    回帖

    866

    积分

    高级会员

    积分
    866
    发表于 2023-3-24 11:58:04 | 显示全部楼层
    梁工 发表于 2023-3-24 11:29
    我深圳这里电波钟信号还可以,钟附近没有电器即可,靠窗更好。我不喜欢WIFI校时,离开WIFI就没辙。北斗模 ...

    说的是,其实多年前用STC12C**做的LED时钟,用普通的12MHz晶振采用定时器计时经过精细校准后也能做到半年左右才出现分钟误差,但如果单片机芯片内能够集成温补晶振的话应用就会更加方便了,个人认为毕竟用单片机做计时、定时、长期实时监控等应用也很多的,而单片机集成高精度RTC的单片机芯片在接口丰富、简化编程、低功耗、高稳定性等方面也必然可以甩掉以往单片机+外部高精度RTC的模式好几条街的。

    点评

    专业的IC做专业的事,带温补的RTC交给专门的RTC吧。 MCU自带的RTC做得好都不错了,带温补的我还没见过。 带温补的RTC只用过一款(不是模块,是芯片):DS3231,校准之后能做到1ppm,年误差30秒。  详情 回复 发表于 2023-3-24 14:14

    该用户从未签到

    46

    主题

    2932

    回帖

    6611

    积分

    超级版主

    积分
    6611
    发表于 2023-3-24 14:14:20 | 显示全部楼层
    乐此不疲 发表于 2023-3-24 11:58
    说的是,其实多年前用STC12C**做的LED时钟,用普通的12MHz晶振采用定时器计时经过精细校准后也能做到半年 ...

    专业的IC做专业的事,带温补的RTC交给专门的RTC吧。
    MCU自带的RTC做得好都不错了,带温补的我还没见过。
    带温补的RTC只用过一款(不是模块,是芯片):DS3231,校准之后能做到1ppm,年误差30秒。
  • TA的每日心情
    开心
    昨天 10:51
  • 签到天数: 113 天

    [LV.6]常住居民II

    28

    主题

    103

    回帖

    866

    积分

    高级会员

    积分
    866
    发表于 2023-3-31 12:15:47 | 显示全部楼层
    本帖最后由 乐此不疲 于 2023-3-31 12:21 编辑
    梁工 发表于 2023-3-24 14:14
    专业的IC做专业的事,带温补的RTC交给专门的RTC吧。
    MCU自带的RTC做得好都不错了,带温补的我还没见过。
    ...

    说的也是,我以前多用DS3231现在基本都是RX8025T,几毛钱的东西精度也凑合,只是不知道是原装还是翻新的,现在用这个芯片的32K输出为STC8H提供外部时钟(连接到P1.7上)用的效果也很不错的,既保障了STC-RTC的走时精度又简化了编程控制。
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    4

    主题

    85

    回帖

    642

    积分

    高级会员

    积分
    642
    发表于 2023-5-15 12:34:07 | 显示全部楼层
    3 seconds a day over what temperature range ?
    1 second a day is 11.6ppm, so 3 seconds is off by about 33ppm.
    At room temperature that is a large error, but over -20°C ~ + 70°C that is more normal.

    This is how a typical 32kHz Xtal varies with temperature.

    32kHz OSC temperature curve

    With correct Xtal cap choice, and a top quality precision crystal of ±5ppm, you should have units within about 0.5 second per day at room temperature ( 25°C) .

    If you want stability over an extended temperature range, then a TCXO of some form is needed, or you need to track temperature and correct manually.

    This is a new TCXO
    https://ecsxtal.com/ecs-electron ... ts/ecs-327txo-2012/
    Specs 2.0 mm x 1.2 mm x 1.1 mm 4-pad footprint  32.768 kHz frequency  Stability ±5ppm @ -40ºC ~ +85ºC  Current consumption: 1.0 µA
    and an older, larger model
    https://www.lcsc.com/product-det ... 510002_C383430.html
    - but you do pay for that higher precision.


    Between the tuning fork cylinder crystals and the TCXO, there are oscillators that use higher MHz Xtals and divide to 32.768kHz, at intermediate prices.
    eg
    https://www.lcsc.com/product-det ... JBA4SL_C725996.html
    https://www.lcsc.com/product-det ... 188081_C709192.html
    etc
    Note they do draw higher current, due to the higher internal frequency.

    If size matters, there are also less common parts like
    https://www.murata.com/-/media/w ... ingdevice_mems.ashx
    tho those seem quite expensive, for 'just a bit better' than a tuning fork xtal.
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    4

    主题

    85

    回帖

    642

    积分

    高级会员

    积分
    642
    发表于 2023-5-15 16:55:27 | 显示全部楼层
    I want to add a temperature compensation algorithm to reduce the error.

    For that, you first need to measure Temperature.
    It seems STC MCU STC8H etc cannot self-measure temperature ?, so an external temperature sense is needed, which adds to BOM.

    The STC8H RTC also lacks a fine trim ability, on Divider or Oscillator caps, but it looks like you can read 7 time registers then reload 7 time registers, via SETRTC, as a crude means of SW correction.
    If you did that correction once every 30 minutes, you have an adjust LSB step of 4.3ppm, or once every hour, you have adjust of 2.17ppm steps.
    回复 支持 反对 送花

    使用道具 举报

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

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-5-3 17:19 , Processed in 0.074038 second(s), 69 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表