立创开源复古辉光管时钟DIY全解析:ESP32-C3驱动IN-12A与170V升压电路设计
立创开源复古辉光管时钟DIY全解析ESP32-C3驱动IN-12A与170V升压电路设计最近在捣鼓一个特别有感觉的复古小玩意儿——辉光管时钟。看着那橘红色的数字在玻璃管里幽幽亮起瞬间有种穿越回上世纪的感觉。很多朋友看了我做的成品都心痒痒但一查资料发现既要搞高压电路又要驱动古董管子感觉门槛不低。别担心今天我就把自己做这个“立创开源复古辉光管时钟”的整个过程从硬件到软件掰开揉碎了讲给你听。就算你是刚接触嵌入式的新手跟着这篇教程也能一步步把它做出来。咱们这个项目的核心就是用一块ESP32-C3单片机去点亮需要170V高压才能工作的IN-12A辉光管并且让它成为一个能自动联网对时、还能感应人来人往的智能桌面钟。听起来复杂但原理拆解清楚后你会发现每一步都很有意思。1. 认识主角辉光管的前世今生在动手之前咱们先聊聊这次项目的灵魂部件——辉光管。了解它的来历和特性后面的电路设计你才能理解为什么要那么做。辉光管英文叫Nixie Tube是上世纪50到90年代的主流数字显示器件。你可以把它理解成一种非常古老的“数码管”。它的原理和霓虹灯有点像在一个充满惰性气体主要是氖气和氩气的玻璃管里有很多做成数字形状的金属片这叫阴极。当我们在某个数字金属片和公共的网状电极阳极之间加上足够高的电压时这个数字周围的气体就会被电离发出特有的橙红色辉光数字就显示出来了。注意辉光管是真正的“古董”早在1990年左右就全面停产了。现在能买到的都是库存老货所以显得格外珍贵我们在使用时要特别注意保护。我们项目里用的是前苏联生产的IN-12A型号它是一种“侧显”管意思是数字刻在管子的侧面我们需要从侧面观看。它内部有0-9总共10个数字形状的阴极加上一个公共的网状阳极。驱动它最大的挑战就两点一是需要高达170V的直流电压二是每个数字都需要独立控制相当于要10个高压开关。2. 硬件设计如何驯服170V高压要让单片机控制170V的高压辉光管硬件电路是关键。整个系统可以分成三块主控、高压生成、辉光管驱动。咱们一块块来看。2.1 主控核心为什么选ESP32-C3主控芯片用的是ESP32-C3这是一颗国产的、性价比极高的Wi-Fi Bluetooth 5.0 MCU。选它主要看中三点内置Wi-Fi这是实现NTP网络自动校时的基础不用再外接模块。足够性能运行时钟逻辑、驱动扫描、处理网络协议绰绰有余。成本与生态芯片本身不贵而且ESP-IDF开发框架非常成熟资料多对我们DIY很友好。在设计中我们直接使用了ESP32-C3FH4的裸芯片并采用了PCB板载天线这样既能节省空间又能保证无线信号强度。2.2 心脏地带170V升压电路详解5V的USB电源怎么变成170V这靠的是一套反激式升压电路。别被名字吓到我用人话给你解释一下。你可以把这个过程想象成两步初级升压首先我们用一颗叫MAX668的专用升压芯片把输入的5V电压先提升到17V左右。MAX668是一个电流模式的PWM控制器效率很高专门干升压这个活儿。变压器飞跃然后最关键的角色——高频变压器上场了。它利用电磁感应的原理把17V的电压再次升高最终在次级线圈输出我们需要的170V直流高压。电路里的二极管和电容负责把变压器输出的交流电整成平滑的直流电。提示这个高压部分在焊接和调试时要特别小心170V电压虽然电流不大但足以让人“麻”一下。务必在断电情况下操作并检查所有高压焊点是否牢固避免短路。原理图里围绕MAX668和变压器的那些电阻、电容都是用来设定工作频率、稳定输出电压和提供反馈的照着开源设计焊接一般问题不大。2.3 驱动策略如何用单片机控制10个高压端ESP32-C3的GPIO引脚只能输出3.3V根本碰不了170V。而且它引脚数量有限直接控制10个数字也不现实。这里的解决方案非常经典用了两层“放大”和“扩展”。第一层IO口扩展我们用了一颗74HC595芯片。这是一个“串行输入并行输出”的移位寄存器。简单说就是ESP32-C3只需要用3根线数据、时钟、锁存就能像串珠子一样把控制10个数字的开/关信号顺序发送给74HC595然后74HC595会同时输出10路控制信号。这大大节省了单片机宝贵的IO口。第二层电流与电压驱动74HC595输出的还是低压、小电流信号推不动辉光管。所以第二层我们用了ULN2003A。这是一片集成了7个达林顿管的阵列每个通道都能承受较高的电压和电流。在这里它主要起两个作用电流放大提供辉光管阴极所需的驱动电流。电平转换作为低压控制信号和高压回路之间的桥梁。具体连接是这样的74HC595的并行输出引脚接到ULN2003A的输入ULN2003A的输出则直接连接到辉光管的10个数字阴极。辉光管的公共阳极则接到我们刚才生成的170V高压上。当ULN2003A的某个通道导通相当于开关闭合对应的阴极就接地了它与170V阳极之间形成电压差这个数字就被点亮了。2.4 守时专家RTC与后备电源一个合格的时钟断电了也得知道现在几点。所以我们加入了实时时钟芯片PCF8563T。它功耗极低专门负责计时。即使ESP32-C3主控断电了只要RTC电路有电它就能继续走时。为了在完全拔掉电源时也能保持计时我们设计了一个后备电源——一个70000uF的贴片超级电容。当系统正常供电时超级电容会被充电当主电源断开超级电容就放电单独给PCF8563T供电维持时钟运行数小时甚至更久。这样你短暂挪动位置或者停电时间也不会重置。3. 软件逻辑让时钟智能起来硬件是躯体软件是灵魂。这个项目的固件是用ESP-IDF 5.1.2框架开发的。我已经把编译好的bin文件放在了开源项目的附件里你可以直接用乐鑫的flash_download_tool工具选择bin文件在地址0x0处直接烧录即可。当然如果你想自己研究或修改代码也可以下载完整的工程源码。烧录完固件上电后时钟是怎么工作的呢我挑几个核心功能点说说。3.1 一键配网与NTP校时第一次使用你需要告诉时钟你家的Wi-Fi密码。我们采用了SmartConfig技术。你只需要在手机上打开一个支持SmartConfig的微信小程序很多通用配网工具都行输入Wi-Fi密码时钟就能自动获取并连接网络。这比在设备上做按键输入方便太多了。联网成功后时钟会自动通过NTP网络时间协议从互联网时间服务器获取精确的北京时间并校准自身的RTC。从此以后它就是一个永远准时的时钟了。3.2 辉光管的“保健程序”防中毒算法辉光管有个著名的“中毒”现象。如果长时间只显示某一个数字比如“1”那么这个数字对应的阴极会吸附管内的杂质气体导致以后再点亮时这个数字会比其他数字暗甚至点不亮。为了解决这个问题我在程序里写了一个防中毒算法。逻辑很简单在正常显示时间之外每过30秒程序会触发一个短暂的显示动效让所有数字0-9依次快速点亮一遍。这样就能保证每个阴极都得到均衡的使用有效防止“中毒”。我自己的辉光管这样用了三年显示效果依然均匀如新。3.3 自动感应显示人体存在雷达为了让时钟更省电主要是保护辉光管延长寿命也更智能我加入了一个人体存在感应模块。这里用的是海凌科的毫米波雷达模块它比普通红外感应更灵敏、更准确能检测微动甚至呼吸判断是否真的有人。程序逻辑是这样的当雷达检测到面前有人时辉光管正常点亮显示时间。当人离开一段时间后雷达判定无人程序会自动关闭辉光管的高压电源显示屏熄灭只保留最低功耗的计时。一旦雷达再次检测到人辉光管立即恢复显示。这样夜晚或者没人在房间时它就是一个安静的黑匣子当你回到桌前温暖的辉光又悄然亮起仪式感满满。4. 制作与调试心得这个项目的PCB和外壳文件都是开源的。外壳用的是黑胡桃木质感非常棒复古味拉满。焊接时有几点心得分享顺序很重要建议先焊接低压部分的芯片ESP32-C3、74HC595、ULN2003A、PCF8563T测试单片机系统、IO驱动和RTC是否正常。然后再焊接高压部分的变压器和周边电路。高压测试要谨慎第一次给高压部分上电前再三检查变压器引脚、二极管方向、电容极性有没有焊错。可以用万用表先测一下170V输出端有没有短路。上电后不要用手直接触碰高压区域。辉光管最后安装等所有电路测试无误后再插上珍贵的IN-12A辉光管。上电瞬间看到所有数字被轮流点亮防中毒程序在运行那个成就感无与伦比。做这个时钟更像是一次与电子技术历史的对话。用现代的单片机和芯片去驱动一个半个世纪前的显示器件最终呈现出独特的美感。希望这篇详细的解析能帮你扫清DIY路上的障碍。如果你在制作过程中遇到任何问题或者想交流更多玩法也欢迎加入项目的交流群Q群708391774群里有很多一起玩的小伙伴。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2409172.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!