切换到宽版
爱科技/爱创意/爱折腾/爱极致;技术知识分享平台,点击进入新版数码之家网站
  • 29027阅读
  • 68回复

[工仪]用ESP8266改造LM8562数字钟互联网校时,比GPS省电,比NTP简单,比BPC快速 [复制链接]

上一主题 下一主题
离线maidoo
 

发帖
621
M币
6805
专家
19
粉丝
84
只看楼主 倒序阅读 我要置顶 楼主  发表于: 2016-02-02
— 本帖被 發騷友 设置为精华,作者+3000M币+5专家(2016-02-25) —
(1) 需求篇

家里的一个钟控收音机。2英寸的数码管,很大。放在冰箱上,老远都看得清楚,就当一个LED数字钟用,收音机功能闲置。开饭、出门的时间都靠它掌握,责任重大!
问题在于这个数字钟两周时间就能快十几分钟,平均每天一分种左右。隔十天半个月就要去手工调整一下,不胜其烦。但是看着这么大的屏幕和造型又舍不得换,改造它的念头由来已久。
这个数字种使用的是钟控专用芯片LM8562,类似的还有TMS3450,LM8560,LM8561等,上个世纪很流行。它使用市电50Hz的频率进行计时。有些还是采用专用的双阴极数码管,有闹钟/睡眠功能。市电频率不准确,走时就不准,这个问题也由来已久,所以也有个专门的芯片MM5369配上3.58MHz的晶振,可以产生很稳定的时基频率配合这类数字钟芯片。现在都讲究互联网思维了,不想用这个片子了。










(2) 方案篇


为了能给LM8562校时,有两个技术问题要解决:(一)对外:如何获取到准确时间;(二)对内:如何设置时间


(一)获取时间的方案


a) 通过GPS的方案。数码之家的坛子里已经有数不胜数的帖子了,电路图/PCB/源代码都有公开的,C51/AVR/STM32芯片的都齐全。由于不需要GPS的定位精度和速度,只要时间,所以最烂的GPS都可以,剪线GPS十多块钱就能买到。+5V供电也方便,UART串口操作代码也很经典,调试简单。实在是个不错的方案。就是要拖个尾巴到窗边略显麻烦。


b) 通过电波钟,获取商丘的国家授时中心发出的时间信号,这是中国的BPC格式,15元的模块。另外沿海地区还可以收到小鬼子的JJY格式的时间信号。但是目前还不太稳定,白天没夜间信号好,模块本身抗干扰不行,输出端无法直驱单片机,还需要一个运放整理信号,电路复杂些,调试较困难,坛子里的帖子不多。
thomas: 《永不消逝的电波——Arduino制作BCD码电波钟》
http://www.geek-workshop.com/thread-7797-1-1.html


c) 通过互联网获取时间,有个NTP协议专门是干这事的。我们的PC,无线路由器都在用这个协议,指定一个互联网上的NTP Server,一来一回两个报文,作为Client的我们就能计算出当前的准确时间。我本来是想用这个方案的,后来发现有更简单的,就是从服务器的http报文头里面获取当前时间。这个时间是明文字符串,处理起来更容易,虽然理论精度不及NTP,但是用在数字种上足够了。devcang和我想到一块去了。那个数字钟只显示时和分,不显示秒,所以没必要做到秒同步,只要每天校对一次,消除累积误差就可以了。这类方案的不多,搜到坛子里的几个帖子提及,但都没有完整实践。我就选定这个方案了。
电波钟:http://bbs.mydigit.cn/link.php?action=tag&tagname=%B5%E7%B2%A8%D6%D3
renpeng009: 《基于NTP协议网络校时》
http://bbs.mydigit.cn/read.php?tid=1062532

d) 通过CDMA模块,从运营商的移动通信网获取时间。理论上有可能,也有不少困难,性价比不高。不研究。


e) 锁定广播电台的整点对时信号,"嘟嘟嘟嘟嘟,嘀" 的声音,通过锁相环LM567解出这个“嘀”信号后,给数字钟清零。管你快了还是慢了,到这一时刻,统统给我从整点开始。这还是我N多年前,从《中学科技》上看到的。这个方案无法知道当前到底是几点,只知道是个整点了。能消除累积误差,但是初始时间还需要手工设置一下。如果是电池供电的,设置一次就不会忘,问题不大。我的LM8562数字钟没装电池,掉电后时间就归零到凌晨12点了,有点麻烦。

(二)设置时间的方案


a) 废弃LM8562,保留LED屏幕,用单片机计时并驱动。获取到时间后,设置时间自然不在话下。不过改动工程量也是不少的,要不重新制作PCB,要不就会大量飞线。而且LM8562使用的正是双阴极数码管,驱动代码得好好找找。数码之家真是DIYer的大家庭,果然有mengfc网友贡献了双阴极数码管的驱动源代码。实在没有得意的办法时,这是一条退路。
mengfc: 《采用单片机驱动TMS3450数字钟的双阴极LED屏幕》
http://bbs.mydigit.cn/read.php?tid=1177273

b) 祭出IO模拟按键大法,这在我之前的《三个零件,给大金家用中央空调加装遥控功能》 中已经有成功应用。阅读LM8562的资料得知,它有一个时间调整的引脚,平时悬空(二分之一电源电压),接电源负极是分钟加,接电源正极是分钟减。没有单独的小时调整键,调整分钟,小时会自动进位。


举例来说,通过互联网获得当前时间是12:27分,那么单片机先通过IO脚控制LM8562断电再上电,这时LM8562复位到12:00开始计时。然后单片机控制另一个IO模拟按“时间调整”按键27次,LED时钟就调整到12:27了。同理,如果要调整到10:27分,就要模拟按键627次。


实际上,我设计为每天晚上12点到1点之间同步校时一次,这些按键所花费的时间可以忽略。




(3) 硬件篇
改造电路图,参见蓝色的部分。


继续阅读请打赏22M币,鼓励作者原创更多精彩文章,已有34人打赏支持 打赏
本文内容包含图片或附件,获取更多资讯,请 登录 后查看;或者 注册 成为会员获得更多权限
本帖最近打赏记录:共29条打赏M币+81专家+2
离线maidoo

发帖
621
M币
6805
专家
19
粉丝
84
只看该作者 1楼 发表于: 2016-02-02
init.lua  netCaliLM8562.lua 源代码
请登录后查看
本帖最近打赏记录:共6条打赏M币+27
离线dawensger

发帖
305
M币
8731
专家
1
粉丝
7
只看该作者 2楼 发表于: 2016-02-02
请登录后查看
离线阿甲

发帖
2449
M币
9491
专家
12
粉丝
54
只看该作者 3楼 发表于: 2016-02-02
请登录后查看
离线蓝_猫

发帖
15149
M币
0
专家
11
粉丝
1220
只看该作者 4楼 发表于: 2016-02-02
请登录后查看
离线emwanwei

发帖
8
M币
45
专家
0
粉丝
10
只看该作者 5楼 发表于: 2016-02-02
请登录后查看
离线苏州熊猫

发帖
12550
M币
352
专家
37
粉丝
380
只看该作者 6楼 发表于: 2016-02-02
请登录后查看
本帖最近打赏记录:共1条打赏M币+2
离线yjjq

发帖
2907
M币
7002
专家
2
粉丝
11
只看该作者 7楼 发表于: 2016-02-02
请登录后查看
离线maidoo

发帖
621
M币
6805
专家
19
粉丝
84
只看该作者 8楼 发表于: 2016-02-02
回 苏州熊猫 的帖子
请登录后查看
离线bg7rrs

发帖
862
M币
200
专家
3
粉丝
11
只看该作者 9楼 发表于: 2016-02-02
请登录后查看
快速回复
限80 字节
温馨提示:欢迎交流讨论,请勿发布纯表情、纯引用等灌水帖子;以免被删除
 
上一个 下一个