1.
\$\begingroup\$

我正在建设一个基于Arduino的项目DS1307 RTC时钟模块和存储偏移值,但很少更新,在其EEPROM。但我正在观察时间漂移以及EEPROM中随时间变化的偏移值。3-4天后,EEPROM中的-18存储值变为104。我怀疑时间变化得更快,大约一天一分钟。我还使用AltSoftSerial与GSM Mini 900A模块通信。我怀疑Arduino有问题,因为这个项目在其他硬件上运行得很完美。我在地址0和1上写了两个字节,漂移之后我尝试在地址100上,但没有改进。EEPROM存储值的变化非常惊人。故障Arduino UNO板的一般特征是什么?

\ $ \ end group \ $
8.
  • \$\begingroup\$ 请指定您正在使用的RTC模块,量化您正在观察的漂移,并告诉我们如何更新“偏移量”(我理解的是存储时间的一种纠正,但如果没有,请解释)。 \ $ \ end group \ $ 4月3日17:51
  • \$\begingroup\$ “eeprom存储值的变化非常惊人。”是的。基本上,它存储在RAM中,由保持RTC运行的相同电源供电。想到串行通信错误和备用电源故障。更不用说固件错误了。 \ $ \ end group \ $ 4月3日18:18
  • \$\begingroup\$ RAM中的变量值是从eeprom更新的,即使在电源复位后,该值也不应该改变。 \ $ \ end group \ $
    seccpur
    4月3日18:23
  • \$\begingroup\$ 是的,当您更新它时,它被复制并存储在IC内部的RAM中,该IC由备用电源供电,不应损坏。 \ $ \ end group \ $ 4月3日18:33
  • \$\begingroup\$ "...和storing an offset value"-这个偏移值是从哪里来的?“…与gsm mini 900A模块通信如果不包括GSM模块会发生什么? \ $ \ end group \ $ 4月3日19:21
2.
\$\begingroup\$

任何取决于内部振荡器的RTC会相对于时间漂移,唯一的问题是速度。除了固有的漂移,温度变化,电压变化和噪声可能会影响计时。根据这一点炸薯条数据表:

在这里输入图像描述

漂移的每天1分钟(700 ppm)不仅仅是一个期望从一个水晶也许50或100 x的问题是噪声耦合Arduino读取和可怜的布局或电路安排在你的设计中实现或您的模块(大概一个廉价hobbyist-oriented产品)。

如果时钟运行得很快,这很可能就是问题所在。如果它运行缓慢,那么可能是其他原因。

\ $ \ end group \ $
1.
  • \$\begingroup\$ “每天漂移1分钟(700ppm)远远超出人们的预期”。作为参考,我已经使用相同的IC很长一段时间了,它在每周5秒左右漂移。 \ $ \ end group \ $ 4月3日18:12
1.
\$\begingroup\$

你似乎和我们大多数人有不同的思考原则。

唯一普遍确定的故障是,它们可能导致与规范不同的东西。我写过can——很可能没有什么明显的事情发生,如果发现了一些异常,它们可能是由系统其他部分的误用或错误引起的。

所以:你不能得到一个简短的常规检查表,你可以通过它来决定“董事会是好的,因为检查表中的所有步骤都是好的”。

\ $ \ end group \ $

    你的回答

    点击“发布您的答案”,您同意我们的建议服务条款,隐私政策cookie策略

    不是你想要的答案?浏览已标记的其他问题或者问你自己的问题.