查看: 2448|回复: 11

[项目] ESPnixie----基于ESP32的辉光钟

[复制链接]
IMG_20191220_204555.jpg

IMG_20191220_203751.jpg

这其实是个烂尾了很久项目 第一次看到辉光钟的时候真的很惊艳  
就那种,duang~一下,很好看,很骚气的感觉  
Amazing!!!
然后淘宝上看了看价格,觉得自己做才有意思(并不是
其实说到底就是钱包不允许(摊手


-------- 以下部分是电路分析和介绍,觉得太长的可以略过 --------
言归正传,这个辉光钟使用的辉光管型号是IN14
这个管子产于上世纪70-90年代的苏联。同其他辉光管一样,也是利用冷阴极辉光放电效应发光。IN14主要充氖气,通电后会产生特征的橘红色光芒来显示0-9十个数字。值得一提的是,IN14的管内还充入了少量汞,可以大幅延长使用寿命。因为汞蒸气能够有效吸收阴极发射的电子,避免其他阴极受电子辐射产生“中毒”现象。也正是因为汞蒸气的存在,IN14的橘色辉光边缘,会带有些许色光芒,使得显示效果更加漂亮。

IMG_20191220_204418.jpg

色的边缘不太好拍清楚,实际看的话还是比较明显的

IMG_20191220_205456.jpg

从背面拍就比较明显了
实际上在黑暗环境下,从顶部后侧斜向下看,整个管子的玻璃壳都会泛着幽幽的紫光

IMG_20191220_203436.jpg

1977年8月,暴力美学工厂出产

首先解决辉光管的驱动问题
IN14最合适的驱动参数为,阳极170V,串联20K电阻,典型电流为2.5mA
显然直接用220V市电来获取170V高压是比较危险的
出于安全考虑,使用
BOOST电路进行升压,从12V直接升压到170V

第一版样机中,使用
经典的MC34063进行升压
但是MC34063是单端驱动,MOS管的关断依靠电阻
关断速度慢不说,米勒效应还大到起飞
直观点来说,就是MOS管和功率电感 非!常!适!合!烧!开!水!

IMG_20180710_132903.jpg     IMG_20180710_132917.jpg


可以看到,MOS管关断速度非常慢,而且因为米勒效应存在一个很大平台
已经选择了栅漏电容尽可能小的管子了,再换更小的管子很难了

后来看上了
MAX1771
内置图腾柱驱动,而且是PFM控制,在轻重载条件下都能获得很高的转换效率
经过长时间测试,这一版升压电路仅略微温热
示波器图忘记拍了,很完美的方波,没有过冲没有振铃,上升和下降边沿很陡峭


微信截图_20191216230950.png

很常规的BOOST电路
二极管本来想用肖特基的,但是这么高耐压的肖特基很少,而且很贵
所以最后还是选择了超快恢复管

IMG_20191208_194748.jpg

IMG_20191208_192204.jpg

辉光管驱动芯片选择了HV57708
这个也算是辉光管常用驱动电路了

这里值得一提的是,HV57708的输出端只有80V耐压,所以,这里有个很有意思的技巧
在电路上,每个辉光管的阳极直接通过20K电阻接到170V高压上
而每个阴极接到HV57708的输出端口上
而HV57708的高压电源端,实际上输入75V,由170V高压通过ZMM75稳压二极管获得
这样,在HV57708输出低电平时,辉光管点亮。
而输出高电平时,辉光管阴极为75V,不能保持辉光放电,从而不显示数字


微信截图_20191216231659.png

需要注意的是,HV57708为5V电平,而ESP32为3.3V,且不像STM32的IO是5V容忍的,所以必须加电平转换
在这里用了一个SN74LVC125来作为电平转换
主控芯片直接使用了乐鑫官方的ESP32-WROOM-32UC模组

因为PCB板载天线增益较低,方向性也比较明显,而且天线区域需要净空,对器件布局来说会增加一些麻烦
所以特意选择了这个需要外接天线的模组
淘宝上一个小巧的2.4G天线也就两三块钱,但是增益比板载天线要好得多了


IMG_20191220_203146.jpg

在制作外壳的时候,主板用铜柱垫高一些,天线的安装位置前后刚好净空

时钟芯片选择了DS3231,配合一枚CR1220纽扣电池
DS3231使用I2C通讯,内部集成晶振,需要的外围器件很少
而且能达到5ppm的精度,非常合适


----------已知bug----------

一开始设计的时候,HV57708的数据线和锁存线分别用了36和39这俩IO
然后调试的时候死活没反应
然后才发现ESP32的IO34~39能作为输入,不能作为输出!所以就只能飞两根线了,将他们分别接到26和33两个IO上

IMG_20191208_192219.jpg

在串口烧写程序时,除了IO0要保持为低,IO2也要保持为低
但是在设计时候IO2作为I2C的SDA使用了,被上拉电阻拉高了
后来排查了好久好久才发现这个问题,所以如果要用串口烧写程序,就必须手动将IO2与GND短接一下
不过好在,我开发了OTA升级,直接通过wifi就可以升级程序
然后忘记引出复位引脚也是一个极蠢的错误 (fishgan本来就很蠢)(doudou不仅蠢还皮)

之前一版使用的STM32主控芯片,配合的是XC6206线性稳压器
换ESP32以后,,还是用了XC6206,然后就了。。。
一开始调试时候好好的,后来开发完成,撤除串口调试器以后,莫名就不行了
查了老半天才发现是因为ESP32在wifi通讯时,瞬时电流过大,超过了XC6206最大输出电流
所以,电压就会掉下来,然后ESP32就一直触发Brownout错误,然后复位
而接着调试器的时候,调试器输出3.3V就足够供给了
最后只能飞线出来换上一个AMS1117解决

IMG_20191220_203125.jpg

此外要注意一下,很多市面上的USB转串口,都是5V电平的
直接接到ESP32串口上会导致esp32工作不正常

用一个电平转换电路,或者在RX和TX线上串联一个470欧姆电阻就行啦
当然。。的解决方案是,直接用stm32f103c8t6的开发板自己做了个usb转串口
stm32的原生usb接口与电脑通讯,然后串口电平是3.3V,刚好适合

最后就是一个无伤大雅的bug
调试的端口焊盘标注,TX和RX标反了 (hahahahaha)

-------软件功能-------
显示时间是最基本的啦~
然后每过一分钟会将所有数字跳闪一遍,这样可以有效抑制阴极中毒,延长辉光管寿命
每天会自动连接互联网校时
如果纽扣电池没电,或者长时间没有联网校时,程序会判断为当前时间不可靠
这时候时间数值会闪烁显示,提示用户
联网校时的时长我设定为7天
在nixieHardware.h中可以通过修改MAX_OFFLINE_DAY的数值来调整

直接上电的话,会尝试连接已保存的WiFi热点,同时辉光管显示全1在连接成功或者10秒未成功连接之后,进入正常运行,显示时间
而按住P1按键上电(其实就是P1焊盘和GND短接),会启动AP模式和本地网页服务器此时辉光管显示全0
AP模式默认的wifi热点名称是nixieClock,密码是12345678
在network.h中,可以修改DEFAULT_AP_SSID和DEFAULT_AP_PASSWORD来调整
在连接ap热点后,应该会自动跳转到配置主页
当然,也可以用http://NixieClock.local或者IP地址来访问配置页面
在配置页面里,可以设置家里的路由器,也可以直接上传新的程序
配置页面里的功能大家就自己探索吧~

微信图片_20191220222751.png     微信图片_20191220222746.png

微信图片_20191220222742.png     微信图片_20191220222733.png

再说一下,预留了数字间冒号的位置,程序里也已经支持了
但是我本人不太喜欢有冒号(这个就看个人口味了,有人就很喜欢)
要的话直接焊上IN3辉光管就行了~

-----福利时间-------
附件里提供了完整的项目文件
包括硬件原理图,PCB文件(已经修正所有已知bug啦)
还有软件源代码以及编译好的镜像
不过完整打包的项目超出了论坛附件大小限制,所以上传到百度云啦
附件是传送门

代码是在PlatformIO平台下开发的,直接就能编译使用了~
初次使用需要在串口下烧写,后续就可以OTA烧写
编译出来的firmware.bin文件,直接可以使用配置页面上传

如果要在ArduinoIDE下开发的话,这里给出一个迁移方案(未进行实际测试,欢迎大家测试反馈)
首先需要部署好在ArduinoIDE下的ESP32开发工具链(废话)
新建一个Arduino项目,将src文件夹里的main.cpp的内容完全复制进ino文件内
将src文件夹下的其余文件,直接复制到ino文件同一目录下
重启arduinoIDE之后,应该能直接看到别的文件
在库管理器里加载RTC,NTPClient,AutoConnect这三个库
然后尝试编译一下吧~(记得设置好ESP32本身的配置信息哦)
如果编译成功的话,项目–>导出已编译的二进制文件,可以获取bin文件
然后通过配置页面上传就行了
如果在ArduinoIDE下编译有问题欢迎反馈~我会尽力帮忙
-----------py交易时间--------
因为做这个项目花了不少钱,所以打样时候多的板就出了回点血TAT
出完为止
7块空板-----70元一块(实际上我打样10块750元.....就算70了吧)
所有器件(XC6206已换成AMS1117,除了辉光管)------ 60元一套
如果需要我代焊好的话emmmm
就算20元手工费吧。。。去恰一杯DQ(冬天才适合吃冰淇淋!)【所以没有老婆的零花钱了】
此外可以单独加配木质外壳(激光切割,未组装)
也20元吧。。。毕竟zz同志被我白嫖画的外壳,请他恰顿饭去【所以也没有老婆的饭了】

-----参考信息------
HV57708参考手册http://ww1.microchip.com/downloa ... Sheet-20005861A.pdf

ESP32参考手册https://www.espressif.com/sites/ ... uc_datasheet_cn.pdf

SN74LVC125参考手册https://atta.szlcsc.com/upload/p ... 4/1457707114011.pdf

MAX1771参考手册https://atta.szlcsc.com/upload/p ... FB84B5C72F3E59A.pdf

DS3231手册https://atta.szlcsc.com/upload/p ... 5/1457707245139.pdf

AutoConnect项目地址https://hieromon.github.io/AutoConnect/index.html

ArduinoIDE下ESP32开发环境部署https://github.com/espressif/ard ... e/boards_manager.md

-------最后碎碎念-------
项目开发fishGan
外壳设计zz
特别感谢老婆大人doudou帮忙排版和加彩蛋~
(哼我也会加彩蛋)
本项目未经许可不得商用!
不得单独转载项目文件包!必须连同本文转载!
转载请注明原作者和出处~


nixieclock.pdf

51 KB, 下载次数: 41

KIKIYA  管理员

发表于 2019-12-23 16:59:56

哇好久不见
回复

使用道具 举报

FishGan  高级技师
 楼主|

发表于 2019-12-23 17:10:47


hhh是的!失踪人口回归了之前一阵忙疯了
回复

使用道具 举报

killerlist  中级技匠

发表于 2019-12-24 08:54:14

厉害!!!赞一个!!!
201912246331..png
回复

使用道具 举报

hnyzcj  超级版主

发表于 2019-12-24 17:24:35

漂亮
回复

使用道具 举报

gada888  版主

发表于 2019-12-25 10:18:14

很漂亮
回复

使用道具 举报

topoer  学徒

发表于 2020-2-16 13:07:25

可以私信下你的联系方式么
回复

使用道具 举报

DFHk-0ykaN8  见习技师

发表于 2020-3-9 09:29:52

感谢楼主的分享,学习中。
回复

使用道具 举报

帅猫  中级技师

发表于 2020-3-12 21:48:36

漏卮还有货吗
回复

使用道具 举报

FishGan  高级技师
 楼主|

发表于 2020-3-13 09:25:55


有的,成品板还有一套。空板还有3块
回复

使用道具 举报

DFryl-cTvM8  学徒

发表于 2020-3-16 16:24:07

我尝试了这个方案但是在串口烧写的时候出了问题,“Chip sync error: Failed to connect to ESP32”, IO0和地已经短接了。是有什么其他步骤没做吗?
回复

使用道具 举报

FishGan  高级技师
 楼主|

发表于 2020-3-17 09:06:06

DFryl-cTvM8 发表于 2020-3-16 16:24
我尝试了这个方案但是在串口烧写的时候出了问题,“Chip sync error: Failed to connect to ESP32”, IO0 ...

首先检查一下IO2的电平,烧写模式的时候,IO2也必须拉低的。
有一些板子,是带SD卡的,而且用SPI_MMC控制器的话,IO2就会有个上拉电阻
此外,IO0拉低以后,板卡需要复位一次执行烧写引导程序。
我不知道你用的USB-UART转换器是独立的还是集成的。
如果是独立的,大概率是因为你没接DTR引脚,经典设计是使用DTR信号来复位板卡
此外你也要检查你的串口信号线电平,如果5V直接接ESP32是不行的。
建议用3.3V的USB-UART模块,或者加电平转换器。实在没条件的话,两根信号线上分别串联一个470欧姆电阻
回复

使用道具 举报

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

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2020 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail