数码之家

 找回密码
 立即注册
搜索
查看: 21822|回复: 89

[C51] 用DS3231做一个四位2.3寸数码管时钟(开源)

    [复制链接]
发表于 2019-3-21 18:05:33 | 显示全部楼层 |阅读模式

爱科技、爱创意、爱折腾、爱极致,我们都是技术控

您需要 登录 才可以下载或查看,没有账号?立即注册

x
事情的起因是这样的:过年时走亲戚,亲戚家客厅里挂了个4位的白光LED时钟,尺寸大约是3寸左右。老婆说还挺好看的,亲戚说是从TB上400多块钱买的。

回家的路上又说起来,我说这个我也能做啊,老婆说你别吹牛,我看你整天弄的那些都难看死了,稍好看点的又那么小,看都看不清。
被鄙视的感觉真不爽,说决定开工自己做一个。

正好以前有个网友送了片做失败的PCB给我,上面有4片2.3寸的数码管。因为这种数码管的每一段是3串的LED,网友直接用5V来驱动所以点不亮,只有把电压提高到5.4V左右才能勉强看清,电压再高了MCU会挂掉,看起来直驱是不可能的了
找来2片ULN2003,搭了片试验板。位驱动加了4只PNP的三极管,使用12V的电压
P90312-195730.jpg
P90312-195740.jpg

简单调试了下,就能点亮了,看着效果还不错
P90308-203209.jpg

因为做的这是个是准备正常使用的,要充分考虑实用性。4位的数码管就不要温度、日期、农历啥的了,只是显示个准确的时间就行。
时钟芯片就用号称一年误差2分钟的DS3231,精度家用足够,就不用什么GPS、SNTP对时了。最关键的是要实现自动亮度,不然大晚上成了小夜灯就尴尬了
再次用51开发板搭建实验电路,使用A/D转换把光敏电阻感应到的亮度信号来控制数码管的明暗,单片机支持10位的AD,但在这里只用到8位就足够,正好一个字节操作起来也方便。把亮度信号分成10级,对应LED的十级亮度

最左边的1是亮度级别,后面三位是AD的当前值,理论最暗值是255,最亮值是0;
P90312-195953(1).jpg
P90312-195905.jpg
P90312-195940(1).jpg
P90312-200302(1).jpg

搞定后抄起AD来做图
sch.png
pcb.png

自己做着玩还是用热转印吧,速度快还能省点钱。
发挥还是一如既往的稳定
P90314-181628.jpg

愉快的焊接完成后,PP都没来及拍一张,准备联机调试。怎么也不行,悲剧的发现把单片机的原理图弄错了,本来是VCC的脚现在成了I/O,GND啥的完全都TM错掉了
尝试飞线吧,换了DIP的芯片,用了2个多小时才弄完,终于能成功的下载程序了。
可是怎么也点不亮数码管,又浪费了一个多小时才找到问题所在,是因为图省事把ULN2003的上拉电阻省掉惹出来的,强推模式终于点亮。
又发现DS3231的读写也不正常,还是发现是上拉电阻的问题。时钟终于能正常的走动了。又TM发现问题,显示1和8时的亮度明显的不一样,不管了,点根烟准备睡觉,此时已经凌晨2点多了,。
P90316-111620.jpg

第二天单位值班,事不多重新画吧。把省掉的上拉电阻统统加上,单片机的原理图改好,再次转印、腐蚀、打孔

P90316-141224.jpg
P90318-193527.jpg

点亮后发现亮度不均匀的问题再次出现,怎么也找不到问题所在,每段都有限流电阻,电流也不太,硬件应该没有问题吧。
试着祭出前些日子入手的逻辑分板仪来抓下波形

头一次用也看不太懂,但是看起来位驱动的波形也没有问题啊。
QQ五笔截图未命名.png

躺在床上睡不着,百思不得骑姐啊。
突然福至心灵,想到是三极管的封装问题,把E和C弄错了。连忙爬起来,果然是这样子,亮度不均是CE颠倒后电流不足造成的。再次飞线后终于搞定了。
顺便试了下强推模式可以完全省掉上拉电阻,就把那难看的排阻拆了下来。把程序调试好,终于实现了所有预计的功能。
P90318-193546.jpg

可是生活就是一个悲剧接另一个悲剧,按键又不管用了,反复测试是IO挂了,可能是12V的鳄鱼夹误碰了也说不定,只好又一次飞线。完全OK
P90321-162828.jpg

手头没有这么大的茶色亚克力板,只好用一片透明的贴了一层车膜用来滤光增加可读性,双面胶固定
P90319-123047.jpg

P90319-123549.jpg

一些细节
P90321-162530.jpg
P90321-163150.jpg

三极管的飞线用胶带遮挡一下。PCB涂上一层松香酒精防腐败
P90321-162557.jpg

投入使用
P90319-123932(1).jpg

DIY了这么多东东,这么些年,唯一一次得到了老婆大人的肯定。



打赏

参与人数 15家元 +246 收起 理由
不长叶子的树 + 15
家睦 + 80
dongxueqi520 + 10
温力口 + 14 谢谢分享。。。。大婶厉害,在下佩服。。。.
yanxue11 + 10 和我一样,pcb喜欢用直角,不喜欢用45°的.
zhkrid + 10 以資鼓勵
qrut + 20 優秀文章
hfsp + 16 優秀文章
cjft + 3 優秀文章
stdzlqz + 20 優秀文章

查看全部打赏

本帖被以下淘专辑推荐:

 楼主| 发表于 2019-3-21 18:12:11 | 显示全部楼层
PCB和源程序有需要可以发站短或QQ给我,都是烂大街坛友们玩剩的,就不上传了
3/25 上传了PCB和C程序
链接: https://pan.baidu.com/s/1cQmOG3L9d5SSj3X4yef7KQ 提取码: et6p

PS:
BUG没有修改,SW1要改到P4.4,4只三极管要反转CE,上拉电阻可以省掉

2.3数码管时钟PCB C程序.rar (1 MB, 下载次数: 168)


坛友升级:https://www.mydigit.cn/forum.php?mod=viewthread&tid=77684

点评

链接: https://pan.baidu.com/s/1n25vPfvHLvq78hcoQzCvkA 提取码: scgr  详情 回复 发表于 2019-5-4 10:27
回复 支持 1 反对 0

使用道具 举报

发表于 2019-3-21 18:36:29 | 显示全部楼层
做的挺漂亮 ,前后工序挺多。

打赏

参与人数 1家元 +6 收起 理由
aqxgm + 6

查看全部打赏

回复 支持 反对

使用道具 举报

发表于 2019-3-21 18:42:16 | 显示全部楼层
这过程,还真TM曲折,幸亏你心里有底,要是我们这些没入门的估计是看不到成品就半途而废了,根本不知道毛病在哪。

打赏

参与人数 1家元 +6 收起 理由
aqxgm + 6

查看全部打赏

回复 支持 反对

使用道具 举报

发表于 2019-3-21 21:43:23 | 显示全部楼层
楼主的成品做的还真不错,我做的那个一直想弄块亚克力板,可一放下就不想弄了,一直就那样“裸奔”着好几年了
回复 支持 反对

使用道具 举报

发表于 2019-3-22 09:18:07 来自手机浏览器 | 显示全部楼层
漂亮,功耗怎么样?
回复 支持 反对

使用道具 举报

发表于 2019-3-22 09:34:42 | 显示全部楼层
支持一下.兄弟你的功底还是不太扎实啊!
回复 支持 1 反对 0

使用道具 举报

发表于 2019-3-22 10:45:29 | 显示全部楼层
号称一年误差2分钟的DS3231,我记得之前说DS3231一年就差几秒钟呀。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-3-22 11:20:38 | 显示全部楼层
ds3231的精度官方说是+-2ppm,也就是365天*24小时*3600秒*+-2/1000000=+-63秒
回复 支持 反对

使用道具 举报

发表于 2019-3-22 15:14:25 | 显示全部楼层
细节看手艺。热转印板子的技术很棒
回复 支持 反对

使用道具 举报

发表于 2019-3-22 15:43:54 | 显示全部楼层
本帖最后由 infozx 于 2019-3-22 15:50 编辑

DS3231贵啊,我上个月做的钟RTC用了的电表里常用的EPSON RX-8025T,精度稳定度没你这个芯片高;

可以用超级电容替代电池。8025待机电流偏大2uA, 1.5F 5.5v超级电容,也就几块钱,理论掉电维持空窗期 20天,完全免去换纽扣电池的烦恼。

https://www.bilibili.com/video/av46992363/

点评

RX-8025T也可以的,理论每月最大13秒误差,就算月月偏最大,没有抵消的,全部误差累加,一年也就156秒,也就2.6分钟的误差。  详情 回复 发表于 2019-6-10 18:17
ds3231用3.3v最稳定,用5v会走时快。  详情 回复 发表于 2019-3-26 08:16
回复 支持 1 反对 0

使用道具 举报

发表于 2019-3-22 16:23:49 | 显示全部楼层
楼主热转印板子水平很高啊
回复 支持 1 反对 0

使用道具 举报

发表于 2019-3-22 17:08:16 | 显示全部楼层
用tm1638是不是更简单?调光既然有时间了,晚上自动变暗就好了,st15f104就行了吧。换成esp8266更好。

点评

业余DIY就是手里有什么就用什么,至于调光,上次做过根据时间调整,有兄弟说还是用光敏电阻适应性更强就用上了  详情 回复 发表于 2019-3-25 15:19
回复 支持 反对

使用道具 举报

发表于 2019-3-22 19:24:57 来自手机浏览器 | 显示全部楼层
这种调时方式很不舒服啊,秒点不好调,强迫症如我写按键程序写不来也慢慢的习惯了,还没有用过时钟芯片做东西,现在做的都是定时器做基准的,日误差7.5s…没有外壳懒得再校正了…
回复 支持 反对

使用道具 举报

发表于 2019-3-23 17:47:18 | 显示全部楼层
成品真漂亮,原来用1302做过,那个精度简直不堪忍受,一直想用DS3231制作一个,您发布这个,总算是找到可以仿制的3231的大数码管时钟了,非常谢谢,希望能得到您的图纸和源代码,照着您这个仿制一个,谢谢!
请您方便的时候分享一份到我的邮箱,谢谢!
229420318@qq.com

点评

调试的时候见过一个礼拜一秒不差的  详情 回复 发表于 2019-3-23 17:57
回复 支持 反对

使用道具 举报

发表于 2019-3-23 17:57:55 来自手机浏览器 | 显示全部楼层
cqhejian 发表于 2019-3-23 17:47
成品真漂亮,原来用1302做过,那个精度简直不堪忍受,一直想用DS3231制作一个,您发布这个,总算是找到可以 ...

调试的时候见过一个礼拜一秒不差的
回复 支持 反对

使用道具 举报

发表于 2019-3-23 18:57:23 | 显示全部楼层
热转印做的不错,我做出来就总有毛刺和脱落
回复 支持 反对

使用道具 举报

发表于 2019-3-23 20:26:15 | 显示全部楼层
不错的制作,漂亮大气工整。我感觉就实用而言LED数码时钟比起LED点阵时钟实惠很多,我曾经玩过一些LED点阵屏,16*64、32*64、64*64单色、双色的都玩过,无论屏显怎样设计总是觉得视觉混乱,即使仅仅显示数字也没有数码管显示的洁净清爽。

点评

老哥高见数码管确实比点阵显示干净利落,要是绿色的就漂亮了,这玩意儿再加个AD自动调解亮度就更好了,这种不带秒显示的调时感觉很费劲,强迫症如我也慢慢的接受了  详情 回复 发表于 2019-3-23 22:38
回复 支持 反对

使用道具 举报

发表于 2019-3-23 21:40:58 | 显示全部楼层
同求。12409890@qq.com,谢谢
回复 支持 反对

使用道具 举报

发表于 2019-3-23 22:38:13 来自手机浏览器 | 显示全部楼层
慕名而来 发表于 2019-3-23 20:26
不错的制作,漂亮大气工整。我感觉就实用而言LED数码时钟比起LED点阵时钟实惠很多,我曾经玩过一些LED点阵 ...

老哥高见数码管确实比点阵显示干净利落,要是绿色的就漂亮了,这玩意儿再加个AD自动调解亮度就更好了,这种不带秒显示的调时感觉很费劲,强迫症如我也慢慢的接受了

点评

我调时间的时候都是调快一分钟,而后等待到差一两秒时确认进入走时状态。确实挺麻烦的,但大不了一分钟内也就搞定了。  详情 回复 发表于 2019-3-25 14:12
回复 支持 反对

使用道具 举报

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

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2024-3-29 06:07 , Processed in 0.717601 second(s), 37 queries , Redis On.

Powered by Discuz!

© 2006-2023 smzj.net

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