找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3818|回复: 6
打印 上一主题 下一主题
收起左侧

再议STC15f204单片机+DS1302制作电子钟的问题

[复制链接]
跳转到指定楼层
楼主
        本人也是初学单片机,不懂的地方请大师们指正。
        前段时间买了一套时钟套件,组装后使用基本正常,就是时间偏慢。分析原因有:
1、DS1302晶振频率误差偏差(更换晶振调试);
2、DS1302晶振外部电容误差偏差(更换较小的电容调试);
3、电路设计影响,主要体现在闹钟设置、光控开关设置时的影响。因为电路设计为2键设置,设置闹钟和光控开关在按键1按第三次后开始,而前两次为时间设置。在按前两次时如果时间秒数刚好在59秒附近,这时分钟数可能因我们设置时的影响不能进位,导致时间会慢一分(这是个概率问题)。(在设计电路时多设计一键作为时间设置专用键,可避免这个问题)。
        请大师们指正。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:1 发表于 2019-1-8 15:12 | 只看该作者
ds1302精度不如DS3231
回复

使用道具 举报

板凳
ID:149389 发表于 2019-1-8 16:35 | 只看该作者
我手里有几个个类似的时钟,单片机是STC15F204EA,或者STC15W408AS,DS1302时钟芯片,一个月大概慢1~2分钟,算起来每天误差大概3~4秒,无大碍,如果觉得每次调时间麻烦,自己重写一遍程序,软件补偿一下就好了。
附上其中一个版本的原理图。

clock.png (139.27 KB, 下载次数: 54)

clock.png
回复

使用道具 举报

地板
ID:7485 发表于 2019-1-8 17:04 | 只看该作者
自己做试验用又不批量生产,程序里面调整可以调的很准很准。例如每天如果慢25秒,就每天调整一次(例如在零点时将秒数+25写入ds1302)。只是要试运行的时间长一些,再作调整。
回复

使用道具 举报

5#
ID:123289 发表于 2019-1-9 09:47 | 只看该作者
赞同楼主的分析:
可以直接驱动LED做钟,做到日误差1秒是绝对没有问题的。不过程序上要有一些巧手。
我自己做了一个标准钟含晶振频率测试,只有将准确的晶振频率告诉系统,系统会自己决定时间中断的动态常数,保证钟日差在1秒之内(普通晶振)。
例如:6M晶振,每个脉冲时间是:1/6 us,时间中断为10ms, 每天中断:86400秒/10ms =8640000次,
即使你知道了准确的晶振频率,也不能保证一次中断的10ms一点不差,调整到最理想时,它的最大不可控脉冲数量是0.5个,即1/12 us。
这样算来:日差=8640000次* 1/12 us = 0.72秒。
如果再用一些技巧:可以再减小256倍。这样即使晶振上存在一点温漂,也能做到日差1秒以内。
关键点:1、知道晶振的精确频率。2、在中断时常数上,下点功夫。
回复

使用道具 举报

6#
ID:378965 发表于 2019-1-14 10:35 | 只看该作者
貌似 晶振两端 应该用 30PF 的电容吧
回复

使用道具 举报

7#
ID:616633 发表于 2019-12-2 11:51 | 只看该作者
15F204那3个上拉电阻一定要接吗?

回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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