找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6584|回复: 29
收起左侧

做了个单片机电子钟,一天快0.03秒,不知道什么水平?

  [复制链接]
ID:479409 发表于 2019-3-8 11:42 | 显示全部楼层 |阅读模式

49秒8 vs. 49秒26

49秒8 vs. 49秒26

49秒8 vs. 49秒26
昨天第一次对时时拍的,比电脑的标准时间慢0.18秒。

11:04

11:04


28秒9 vs. 28秒24

28秒9 vs. 28秒24


今天拍的,电脑已重新校正为标准时间,单片机慢了0.15秒。
回复

使用道具 举报

ID:10947 发表于 2019-3-8 16:36 | 显示全部楼层
应该是达到省级水平了
按手表的误差标准来说,已经是特级
回复

使用道具 举报

ID:213173 发表于 2019-3-8 22:04 | 显示全部楼层
日误差<1秒就是不错的水平了。
回复

使用道具 举报

ID:471632 发表于 2019-3-8 22:41 | 显示全部楼层
如果感觉精度达不到,可以加一个wifi网络校时功能!每天校准两次
回复

使用道具 举报

ID:487183 发表于 2019-3-8 23:01 | 显示全部楼层
超級水平,專業級
回复

使用道具 举报

ID:469417 发表于 2019-3-9 02:10 | 显示全部楼层
按手表的误差标准来说,也不错了
回复

使用道具 举报

ID:479409 发表于 2019-3-9 15:06 | 显示全部楼层
说一下我的调整方法:

1秒=(n-1)*定时器时间1+定时器时间2

首先假定定时器时间1=定时器时间2,我的MCU晶振为12Mhz的,取n=200,那么定时器时间为5000us

实际上因为晶振的频率多少有点偏差,需要对定时器时间进行调整,这时候总能找到两个连续的值,一个使电子钟走时偏慢,一个使电子钟走时偏快,取其中一个值为定时器时间1。

定时器时间1每+/-1us,电子钟的1秒就+/-200us,这就需要引入定时器时间2,在us级上调整时间。
可以算出定时器时间2的取值范围是5000us+/-100us。

接下来找定时器时间2,这时候也总能找到两个连续的值,一个使电子钟走时偏慢,一个使电子钟走时偏快,中间的这个点就是最精确走时的定时器时间。

按照这个方法调试,基本可以把1秒的走时误差控制在理论的最小误差范围内,即+/-0.5us,换算1天的累积误差就是+/-0.0432秒。
回复

使用道具 举报

ID:479409 发表于 2019-3-9 15:20 | 显示全部楼层
对时用的百分秒秒表改自《Windows程序设计》中的数字钟程序
DigClock.rar (1.97 KB, 下载次数: 34)
回复

使用道具 举报

ID:401564 发表于 2019-3-9 16:23 | 显示全部楼层
你这“快0.03秒”是怎么对比出来的,是用仪器测量的还是理论上的而已?
还有,你调节时间的方法没多大意义,用一个定时器计算好好时钟周期,再使用STC的1T时钟单片机,再使用24MHZ的晶振,理论上(或者是说在实际的程序上)每秒可以达到±1/24uS,比你的0.5uS精度高多了。
代码是可以这么实现的,但实际就不一定行,在用作时钟来说,晶振对温度是比较敏感的,一个12MHZ的晶振是很难真正的达到1uS一个机器周期的,而且,这个误差会累加的上去的,也就是说,你的时钟要是快了就会一直快,要是慢了就会一直的慢,除非是加个自动校时的电路。
回复

使用道具 举报

ID:487634 发表于 2019-3-9 21:49 | 显示全部楼层
专业级
回复

使用道具 举报

ID:466164 发表于 2019-3-9 23:14 | 显示全部楼层
还能更精确,一天程序修正一次误差或者一小时修正一次,有时硬件误差需软件修正。意思就是一小时用软件加上或减去时间误差值,减少积累误差。
回复

使用道具 举报

ID:479409 发表于 2019-3-18 10:38 | 显示全部楼层
连续运行11天的结果:

30秒95

30秒95


最初比标准时间慢0.18秒(首次调表时产生的误差,很难掐准那个点),到现在基本一样,平均每天快0.016秒,也就是2个月才快1秒。
回复

使用道具 举报

ID:461179 发表于 2019-3-18 14:47 | 显示全部楼层
建议你加块时钟芯片,如DS1302等,或者选用带有内部RTC模块的单片机。用单片机的定时器去完成实时时钟精度只能一般般,外部晶振,内部RC振荡器都满足不了需求,加上定时器中断保护现场,恢复现场,中断服务程序编写等等因素,难以达到较为精准的长时间定时。而且没有网络对时,纯属开环控制,结果未可知。
回复

使用道具 举报

ID:492709 发表于 2019-3-18 17:12 | 显示全部楼层
这个温飘太大了,因晶振温飘大。
回复

使用道具 举报

ID:492576 发表于 2019-3-18 17:46 | 显示全部楼层
很高的水平了
回复

使用道具 举报

ID:261148 发表于 2019-3-19 14:38 | 显示全部楼层
如果感觉精度达不到,可以加一个wifi网络校时功能!每天校准两次,这个比较好的选择
回复

使用道具 举报

ID:493969 发表于 2019-3-19 15:07 | 显示全部楼层
已经接近专业级的水准。
回复

使用道具 举报

ID:497468 发表于 2019-3-24 20:47 | 显示全部楼层
1302可以解决问题
回复

使用道具 举报

ID:493177 发表于 2019-3-29 11:32 | 显示全部楼层
这是因为延时的原因,它分为硬件延时和软件延时
回复

使用道具 举报

ID:809311 发表于 2020-8-31 18:23 | 显示全部楼层
mp3 发表于 2019-3-18 10:38
连续运行11天的结果:

运行18天都已经差一个小时了?
回复

使用道具 举报

ID:786452 发表于 2020-8-31 18:32 | 显示全部楼层
很好了,6年才快1分钟
回复

使用道具 举报

ID:807712 发表于 2020-8-31 19:11 | 显示全部楼层
表示赞一个!加油!再接再厉!希望后面能有更精彩!
回复

使用道具 举报

ID:88256 发表于 2020-8-31 19:22 | 显示全部楼层
把一个复杂的仪表改做时钟,有点浪费啊;那个光柱的位置不同,是不是拿来做秒显示了?
回复

使用道具 举报

ID:235954 发表于 2020-9-2 09:47 | 显示全部楼层
我的手表都没准过,时间都是往前调两分钟
回复

使用道具 举报

ID:816496 发表于 2020-9-2 15:20 | 显示全部楼层
比我的表都精确,接近专业级的水平了
回复

使用道具 举报

ID:130230 发表于 2020-9-2 23:48 | 显示全部楼层
这个和水平无关,和你用的芯片精度有关。。除非你做了校时功能那就另说了。
回复

使用道具 举报

ID:816577 发表于 2020-9-3 08:57 | 显示全部楼层
算是很强的水准了
回复

使用道具 举报

ID:981034 发表于 2021-12-28 09:17 | 显示全部楼层
世界没有绝对,只有相对,偷笑吧
回复

使用道具 举报

ID:883242 发表于 2021-12-28 13:18 | 显示全部楼层
调这么准没意义,温度一飘你的石英晶体也跟着飘。
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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