前言

作为一个电子人,一直想做一个辉光管时钟,算是大学的一个心愿,终于在快要毕业前做了一个,下面把软件和硬件的部分开源出来。
请添加图片描述


开源地址

github项目开源点击这里

提示:打不开github可以到CSDN里面下载 csdn项目开源压缩包点击这里


辉光管项目介绍

辉光管的工作条件

我采用的是QS27-1辉光管,型号和QS30-1是一样的。一般用170v的电压加在阳极,串联一个20k-30k的电阻进行限流。
辉光管里面充满了惰性Ne气体,高压电极释放的电子会碰撞Ne气体,使其失去电子,但同时,电子又会与正离子结合,从而发出光。
请添加图片描述

请添加图片描述
引脚的判断方法一般是将引脚朝着自己,缺口朝上,顺时针方向为1号引脚,对应上图的引脚编号


硬件部分

总体采用的是STM32F030K6T6控制,网上买了一个5v-170v升压模块和DS3231时钟模式。
在这里插入图片描述
在这里插入图片描述
PCB主控板画的是四层板结构,尝试了一下。

部分介绍

充电电路

硬件采用的是锂电池供电,用type-c充电,tp4059进行充电管理。
在这里插入图片描述

驱动电路

采用了两层编码,stm32先向3-8译码器写入,然后输出的8位分别控制两个K155ID1,驱动两个辉光管点亮
在这里插入图片描述
网上说要采用K155ID1是因为耐高压,但是卓晴老师分析的文章说也可以不使用这个译码器。
可以去仔细看一下:K155ID1辉光管驱动芯片功能测试

不足之处

本来打算利用低功耗模式,这样处于待机状态就行了,载利用一些轻触开关啥的进行唤醒操作就行,但是做的比较着急,忘记加mos管开关控制电路了。
在这里插入图片描述
在这里插入图片描述
应该在进入低功耗的时候把DS3231时钟模块和高压模块的电源关断。
具体见如何实现见:
stm32f103c6t6下的HAL库搭建三种低功耗模式及实战分析(stm32通用)

在这里插入图片描述
稳压电路使用的就是低功耗芯片。


软件部分

软件很简单,用keil编程,用IIC读取DS3231时钟模块的时间。

	  DS3231_getDate(&TIME);
      DS3231_getTime(&TIME);
	  
	  time_hour1=TIME.hour/10;
	  time_hour2=TIME.hour%10;
	  
	  time_min1=TIME.minute/10;
	  time_min2=TIME.minute%10;
	  
      hour=Bytes_Config(Num_Select(time_hour1),Num_Select(time_hour2));
	  min=Bytes_Config(Num_Select(time_min1),Num_Select(time_min2));

然后进行编码显示就行,在显示前加入一些固定的闪烁动画。

软件和硬件参考:QS-30四位辉光管时钟


总结

等之后有时间希望能重新画一画电路,弄成低功耗模式的板子,还有就是加入联网校正时间的功能,不用手动矫正时间了

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐