发作品签到
专业版

荧光时钟

工程标签

2.1k
0
0
3

简介

8位荧光管数字时钟。 动态刷新方式,上下两板设计,元件数量更少。

简介:8位荧光管数字时钟。 动态刷新方式,上下两板设计,元件数量更少。
星火计划2024
复刻成本:200

开源协议

GPL 3.0

(未经作者授权,禁止转载)
创建时间:2024-03-08 15:47:24更新时间:2025-03-19 01:27:16

描述

image.png

image.png

20241219_220926.jpg

20241219_221520.jpg

一、IC概要

1.1 荧光管驱动IC__HV5812

HV5812这款芯片是在CSDN上另一个老哥的帖子那里看到的: 前苏联IV-18荧光数码管时钟开发(ИВ-18)
用这款芯片的人并不是很多,我觉得有以下两个方面原因:

  1. 很难买,而且太贵了(阿里巴巴一颗15不包邮)
  2. 对于本文这种只使用一颗HV5812的方案而言,只能动态刷新,因此需要更高的栅极电压
    ULN2803达林顿管+译码器的方案是静态刷新,相同栅极电压下更亮(该电压下动态刷新基本用不了)

本文选HV5812作为驱动有以下几点考虑:

  1. 节省PCB面积,不需要使用8个译码器和8个驱动IC
  2. 用SPI接口完成数据传输,占用MCU引脚少
  3. ULN2803是8位达林顿管,但YS27-3是9段的,因此有一个段无法显示。
    HV5812有20路输出,可以用一半输出控制荧光管栅极,另一半输出控制荧光管段码

1.2 MCU__STM32F103CBT6

主要是因为是LQFP48封装,引脚再少的话就是QFN封装了,不好焊接
题主在做这个的时候其实不是很熟悉ST的单片机,但毕竟是主流还是逐渐学习学习,也方便大家移植

1.3 WIFI__ESP-01F

安信可的一款小体积wifi模块,带SPI和串口,wifi芯片为乐鑫ESP8285
这次开发就用内置的AT固件了,其实直接用这个做主控也是没问题的

1.4 时钟IC__DS3231

很老的一款时钟芯片了,用它做计时、断电保存、生成1Hz中断

二、硬件电路

2.1 HV5812

image.png

网络名说明
VCC35VFD驱动电压
VCC333.3V
GRID1—GRID8荧光管1-8的栅极
YS27-1—YS27-9荧光管的段码,所有荧光管段码串联
5812_BLANKINGSPI片选线,接入SPI主机的CS
5812_DATASPI数据线,接入SPI主机的MOSI
5812_STROBE锁存,高电平锁存当前显示状态
5812_CLKSPI时钟线,接入SPI主机的CLK

2.2 STM32F103C8T6

image.png
最小系统:

网络名说明
VCC333.3V电源
NRST复位
SWCLKSWD时钟线
SWDIOSWD数据线
BOOT0启动位置选择
BOOT1启动位置选择

DS3231:

网络名说明
3231_SCLDS3231 IIC 时钟线
3231_SDADS3231 IIC 数据线
3231_INTDS3231中断线

DS3231是IIC总线的,SCL和SDA要接上拉电阻,在下面DS3231的原理图里接的。

除此之外还接了一条中断线,可以配置DS3231的寄存器输出1Hz或32.768kHz的中断信号,这里主要是考虑到在时钟更新后再去通过IIC读取,节省MCU算力。因为我们是利用人眼的视觉暂留效应,动态刷新荧光管的,执行耗时的操作会降低刷新频率,很影响观感,所以在写程序的时候要十分注意不要进行连续的耗时操作。

HV5812:

网络名说明
5812_STROBEHV5812的锁存,高电平锁存当前显示状态
5812_CLKHV5812的时钟线,接入SPI主机的CLK
5812_DATAHV5812的数据线,接入SPI主机的MOSI
5812_BLANKINGHV5812的片选线,接入SPI主机的CS

ESP-01F:

网络名说明
ESP_RXESP-01F的串口接收引脚,接MCU的TX
ESP_TXESP-01F的串口发送引脚,接MCU的RX
ESP_SPI_MOSIESP-01F SPI的MOSI引脚,接MCU SPI的MISO引脚
ESP_SPI_MISOESP-01F SPI的MISO引脚,接MCU SPI的MOSI引脚
ESP_SPI_CLKESP-01F SPI的CLK引脚,接MCU SPI的CLK引脚
ESP_SPI_CSESP-01F SPI的CS引脚,接MCU SPI的CS引脚

其他:

网络名说明
BUZZER蜂鸣器,接一个可以输出PWM的定时器
LED1LED灯2
LED2LED灯1
KEY1按键1
KEY2按键2

2.3 ESP-01F

按照Datasheet链接即可,因为是射频模块,要注意手册上写的布局注意事项。

预留了一个TX/RX插针,供调试使用。
当MCU将UART的对应引脚配置为数字功能时,外接的UART(串口转USB调试器)就无法使用了。在用PC调试的时候关闭数字功能即可。

image.png

2.4 DS3231

没有什么特别需要说明的。
右侧的备用电池用了一个充电电路,在CSDN的大佬那里扒的~

image.png

2.5 XL6007E1 升压电路

用于给荧光管提供驱动电压。这里将5V升到35V。
实际中我没有使用35V(因为炸了好几次钽电容...),可根据实际需要调整

YS27-3的手册上写明栅极电压为12V,占空比工作电压更高(50%的PWM下工作电压我记得是50V)
因为我们是动态刷新,所以电压高点也没关系,看你对亮度的要求。

值得注意的是,为了节省体积后面的升压电路用了钽电容,但耐压值较低,输出不能超过耐压值!!!
C51电容越大电源纹波越小,但耐压值也会变小!因此不是很好找耐压高的钽电容。

现在用的是28V的工作电压,47uF35V的钽电容,电源纹波还没测过,但是能用。

(题主对BOOST所知甚少,本电路仅供参考,请小心调试谨防电容爆炸)

image.png

2.6 1.2V降压电路

从CSDN大佬那里扒的降压电路~实测能用

image.png

2.7 3.3V稳压电路

image.png

2.8 蜂鸣器、按键及LED

image.png

三、软件代码

Github-YS27-3-VFD-CLOCK

软件还没有完全写完,只是一个demo,全都做完会更新。

四、外壳

image.png

image.png

五、结语

荧光管时钟是我在硕士期间疫情在家就开始做的,因为是机械专业,当时还丝毫不懂电路知识。
现在总结下来当时就有一个毛病,没有沉下心来先学习再去做

因此每次都有一些小问题,自己也解决不掉,就会想着放弃;
要么就是有一点小问题就像全都重新做的完美主义。
但没做好,过一段时间就总会再想起来接着做。
这也是断断续续做了这么久的原因。

总是想着一步到位,却会离成功越来越远。

以下是一些过往的版本。
虽然进展缓慢,但最有趣的果然是过程~

image.png

image.png
希望有所热爱的朋友们能坚持下去,进一步有进一步的欢喜!
以后请继续加油!

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

附件

序号文件名称下载次数
1
演示视频.mp4
18
2
外壳STP文件.zip
2
克隆工程
添加到专辑
0
0
分享
侵权投诉

工程成员

评论

全部评论(1)
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航