IV-18 VFD时钟
简介
让更多人能欣赏真空荧光显示(VFD)的魅力。
简介:让更多人能欣赏真空荧光显示(VFD)的魅力。开源协议
:GPL 3.0
描述
2022.10.23
完成RTOS框架下的程序(附件RTOS Ver.zip),目前有两种显示模式,即时-分-秒与时-分(不足之处是切换模式需要手动更改代码中的标志位并再次编译程序),不知道为什么照片照出来总是太亮了...焊上了OLED屏,虽然还不知道让它显示啥
2022.10.8
程序基础功能完成,上电连接WiFi并通过NTP更新RTC时间,之后显示时-分
2022.10.4
各外设底层驱动程序基本完成,但由于VFD动态刷新周期略长导致时钟显示模式亮度过低,当前程序改为只会上电显示”HELLO“,详见说明。
0.什么是VFD
建议浏览NIXIE/VFD技术 | Technology – Nixie Clock Home ,严泽远老师算是国内为辉光管/VFD爱好者提供了大量资料的前辈了。
IV-18是苏联产的8位数字VFD管,是比较常见且经典的VFD管。
1.电路方案
- 主控:ESP32-WROOM-32UE模组(以前因为宿舍限电不敢用加热台与热风枪的原因我很少在DIY设计中用ESP32相关模组,直到最近我在乐鑫的datesheet中发现这些模组的底部GND焊盘不是一定要焊接的...)
- 板载CH340C方案的经典自动下载电路
- MICROUSB(供电与数据)、TYPE-C-6P(仅供电)输入,双路AMS1117提供3.3V分别供电,XL6007E1 boost提供VFD阳极50V供电
- HV5812/MAX6921进行VFD驱动
- 集成RGB灯珠,RTC,0.91寸OLED,DS18B20外设
2.说明
- (2022.10.4)当前程序的结构为在死循环里不断读取RTC的值然后对VFD进行驱动显示时间,但由于VFD本身动态扫描驱动方式的特点(详见上方网站),当前程序循环周期时间过长导致VFD整体亮度过暗显示效果不好。初步猜想是ARDUINO的wire.h库底层实现时对i2c的ack响应等待时间略长导致RTC读取时间慢的原因(ARDUINO用的比较少没有看过那些库的实现,所以是猜想),解决方法设想一是略微提高阳极供电电压,二是时钟只显示时-分不显示秒,并通过定时器或者ESP32的双核进行RTC时间的读取,缩短动态扫描周期时间。
- VFD驱动MAX6921和HV5812除了名字和厂商之外没有不同(相同封装的),不过HV5812有概率买到假货,MAX6921拆机居多但大多能用,关于这个的驱动方式都尽量通俗地写在原理图里了,个人觉得就是耐高压的锁存器+移位寄存器,初看挺绕的,但有数电基础就比较容易看懂。
- 焊接指导:C4、R2、R22不需要焊接,R20是boost部分单点接地点,必须用0Ω电阻或保险丝,没有就用一坨锡把两焊盘连上。不要在装上反面纽扣电池的情况下带电焊接。建议按照MICROUSB与CH340C----BOOST部分----ESP32的顺序边测试边焊接。还有就是要相信虚焊短路的概率比芯片坏了的概率高的多(
- 程序说明(RTOS Ver.zip)
其中IV18_Driver.cpp/IV18_Driver.h是IV-18显示的底层驱动,RX8025.cpp/RX8025.h是RTC芯片RX8025T的底层驱动,Main_Driver.cpp/Main_Driver.h中是对几个底层驱动的再次封装与程序主体功能的函数实现,如果要读代码主要关注这两个文件内容就行
3.暂时没想到写啥,放图吧
评论