纯硬件辉光管时钟:从数字逻辑到高压驱动的复古电子实践 1. 项目概述重温数字逻辑的黄金时代在单片机无处不在的今天回过头来用最基础的74系列逻辑芯片和CD4000系列CMOS芯片搭建一个完整的系统是一种别样的乐趣。这个项目就是一个纯粹的“非单片机”辉光管时钟它不依赖任何一行代码完全由数字逻辑电路、分频器、计数器和专用的辉光管驱动芯片构成。最终四枚Z573M辉光管会幽幽地亮起显示时间一个NE-2氖泡则以每秒一次的频率闪烁作为“心跳”指示秒信号。整个系统的核心动力是一块能将12V直流电升至170V的升压模块为辉光管提供必需的高压。如果你对数字电路的工作原理充满好奇或者单纯迷恋辉光管那温暖、复古的辉光那么这个从零开始的硬件实现过程会是一次非常扎实且富有成就感的实践。2. 核心电路设计与原理剖析2.1 系统架构总览信号流的旅程整个时钟系统可以清晰地划分为几个功能模块理解这个数据流是调试和维修的基础。系统的“心脏”是一个32.768kHz的晶体振荡器这个频率经过CD4060二进制纹波计数器进行14级分频2^1416384最终在输出端得到一个精确的2Hz信号这就是整个时钟的“主时钟”。这个2Hz信号送入第一级SN74HC390十进制计数器其内部的一个二分频器将其变为1Hz信号。这个1Hz信号有两个使命一是驱动一个MOSFET来点亮/熄灭NE-2氖泡实现秒闪烁二是作为“分钟个位”计数器的时钟输入。接下来的逻辑就是经典的十进制计数链。1Hz信号驱动“分钟个位”计数器另一片SN74HC390计满10个脉冲0-9后产生一个进位信号给“分钟十位”计数器。同理“分钟十位”计满6显示0-5后进位给“小时个位”计数器。“小时个位”和“小时十位”的计数逻辑稍微特殊小时个位计满10后向十位进位但十位只需要显示1和224小时制因此“小时十位”的驱动没有使用专用的译码器而是直接通过MOSFET来控制。每一级计数器的输出BCD码都连接至一片DM74141N辉光管驱动芯片。这片古老的芯片内部集成了BCD到十进制的译码器以及高压开集电极晶体管能直接承受辉光管所需的高压并驱动对应的阴极。最终170V直流高压施加到所有辉光管的公共阳极而哪个数字亮起则由DM74141N控制哪个阴极接地。注意原设计者提到电路中存在一个缺陷会导致时钟无法按设计计数。他的解决方案是在电路板背面用一根跳线短接U5CD4060的3号引脚和U2第一片SN74HC390的1号引脚。这会强制时钟运行但代价是禁用了通过SW1和SW2按钮进行时间设置的功能。这意味着你需要在特定时间例如原作者遇到的凌晨1:38上电让时钟从那个时间开始走时。这是一个重要的妥协在开始制作前必须知晓。2.2 电源与备份系统双路供电的智慧电源设计是本项目的一个亮点它实现了逻辑电路的不间断运行。系统输入是12V直流电。首先一个LM7805线性稳压器将其降为5V为所有逻辑芯片供电。但关键在于这个5V被分成了两路5Va直接来自7805的输出。它专门为三片DM74141N辉光管驱动芯片供电。同时170V升压模块也由12V输入直接供电。5Vb在7805输出后经过一个肖特基二极管D12。这一路为CD4060和所有SN74HC390计数器供电。备份电池3节AA电池约4.5V通过另一个肖特基二极管D1连接到5Vb这条支路上。当外部12V电源正常时D1因反向偏置而截止电池不工作全部由7805供电。当外部12V断电时7805无输出5Va变为0V辉光管驱动和高压模块停止工作屏幕熄灭。但此时电池电压通过D1正向导通维持5Vb的电压使得主时钟和计数器芯片继续默默计数。当市电恢复12V重新接入屏幕亮起显示的时间依然是准确的。这个设计简单巧妙无需复杂的充电或切换电路。2.3 高压生成与安全考量辉光管需要约170V的直流电压才能电离管内的气体并发光。我们使用一个现成的NCH6100HV或类似DC-DC升压模块将12V升至所需高压。这是整个项目中最危险的部分。170V直流电压足以给人带来严重的电击。因此所有操作尤其是调试和测量高压部分时必须遵守以下准则断电操作在焊接、修改连线或安装/拆卸辉光管模块时务必断开12V电源。单手测量调整高压模块上的电位器时务必使用塑料或陶瓷材质的螺丝刀并且最好只用一只手操作另一只手放在背后或口袋里。这能避免电流穿过心脏。充分放电关闭电源后高压电容可能仍存有电荷。在触摸板子任何地方之前等待一两分钟或用万用表确认高压测试点电压已降至安全范围接近0V。最终封装完成测试后时钟必须被安装在绝缘良好的外壳内防止意外接触。3. 物料准备与PCB制作3.1 核心元器件清单与选型要点除了项目正文中给出的详细清单这里对一些关键元件进行补充说明逻辑芯片CD4060、SN74HC390、DM74141N。务必购买DIP-16封装以便于焊接。DM74141N是较老的芯片可能需要从专门的元器件分销商或二手市场寻找确保其真伪。辉光管Z573M。注意区分版本有的管子数字“2”是倒置的。本项目使用的是数字“5”正常而非倒置“2”的版本。购买时确认管脚完好并且是“NOS”New Old Stock全新库存老件状态性能更有保障。高压升压模块NCH6100HV是一个常见型号输入3.5-32VDC输出可调例如85-235VDC。确保其输出电流能力足以驱动四只辉光管每只约2-5mA。电阻特别注意那四只15K 1W的电阻R6-R9它们是辉光管的阳极限流电阻功耗较大必须使用1瓦或更高功率的规格防止过热。电容32.768kHz振荡器旁边的两个18pF电容C6, C7是负载电容其精度会影响振荡频率进而影响走时精度建议使用5%或精度更高的瓷片或C0G电容。3.2 PCB设计与焊接顺序建议原作者提供了时钟主板和四个辉光管子板的Gerber文件可以直接发送给PCB制造商如PCBWay、JLCPCB打样。对于自制时钟遵循“先矮后高、先贴片后插装”的原则能事半功倍但本项目以直插元件为主顺序可以优化为预处理与定位首先完成需要在空板上进行的机械操作。如文中所述根据你手头电池盒的实际尺寸在主板对应位置钻孔。这是焊接前最容易完成的步骤。连接器与测试点焊接所有的排针H1电源输入、H4-H7辉光管插座、排母H4-H7对应插座以及测试点TP1-TP4。此时板子上没有其他元件可以轻松将其平放在焊台上或借助面包板固定。无源器件焊接所有电阻、二极管、瓷片电容。注意二极管1N5819和电解电容的极性。1W的大电阻R6-R9, R10引脚较粗可能需要用尖嘴钳稍作整形再插入孔位。IC插座与开关焊接所有16pin的IC插座和两个轻触开关。务必反复核对插座缺口方向与丝印标记是否一致。先焊接对角线两个引脚固定检查平整后再焊其余引脚。大件与剩余器件安装7805稳压器记得配散热片和绝缘垫、电解电容、MOSFETU1, U11, U12、振荡器X1和接线端子U6。最后安装电池盒。高压模块安装先不要焊接连线。用尼龙螺丝和螺母将升压模块固定在主板预留位置上。在所有低压部分焊接并初步测试无误后再进行高压模块的连线。辉光管子板组装这是精细活。焊接2x6排针到子板时务必确保排针与板子垂直。处理辉光管引脚是关键如教程图片所示将引脚依次剪短约2mm形成阶梯状这样能更容易地将所有引脚同时对准并插入PCB孔中。焊接时先固定对角线两个引脚调整管子使其正面通常有一个圆点或标记对应引脚7朝向正确且与PCB平行再焊接其余引脚。4. 焊接、组装与调试全流程4.1 主板焊接与初步检查按照上述顺序完成主板焊接后不要急于插入芯片和通电。先进行彻底的目视检查和万用表通断测试检查短路用万用表蜂鸣档仔细检查5VTP3, TP4、170VTP2对地TP1是否有直接短路。特别是高压区域附近检查是否有细小的焊锡桥。检查电源路径确认12V输入端子H1的正负极没有短路。测量7805的输入脚接12V和输出脚应对地有5V稳压后的输出阻抗非短路。检查二极管方向再次确认D1和D12的安装方向是否正确这关系到电池备份功能能否正常工作。4.2 低压电源上电测试这是第一个关键的上电测试点务必不要安装辉光管子板和高压模块。将万用表黑表笔接TP1GND红表笔接TP35Va。将可调或固定的12V电源先关闭连接到H1的12V和GND引脚。打开12V电源观察万用表读数。它应该稳定在5.0V左右±0.2V。如果电压为0立即断电检查7805及周边电路。如果电压远高于5V立即断电可能是7805损坏或输入输出接反。测试TP45Vb读数也应约为5V。关闭12V电源。4.3 高压模块连接与电压校准在确认5V正常后进行高压部分连接与校准。此步骤需格外谨慎。连接模块按教程说明用导线将H1的12V输出连接至升压模块的Vin和GND输入。再用导线将升压模块的HV输出和GND输出分别连接到主板的U6接线端子的“”和“-”端。设置万用表万用表黑表笔接TP1GND红表笔接TP2170V。将档位拨至直流电压200V或更高档位。上电与调整打开12V电源。此时万用表会显示一个电压值可能不是170V。使用一只手握紧塑料/陶瓷螺丝刀轻轻调整升压模块上的电位器同时观察万用表示数将其精确调整至170V。调整时动作要慢。观察氖泡此时主板上的NE-2氖泡应该开始以每秒1次的频率闪烁。这是第一个成功信号说明主时钟1Hz已经产生并工作。安全断电关闭12V电源等待万用表显示电压降至安全范围如5V以下再进行后续操作。4.4 功能测试与“缺陷”验证插入所有IC芯片确保方向正确。此时仍不要安装辉光管子板。再次上电打开12V电源。氖泡应正常闪烁。用万用表或示波器如果有可以探测各计数器芯片的时钟和输出引脚验证信号是否传递。例如测量U2第一个SN74HC390的引脚3应能测到1Hz的方波。测试时间设置按钮尝试按下SW1分钟和SW2小时。在未安装跳线修复的情况下观察计数器是否响应可能需要用逻辑笔或示波器观察对应芯片输出引脚的变化。如果无效则证实了原设计缺陷的存在。实施跳线修复关闭电源等待放电。在主板背面用一小段导线焊接在U5CD4060的引脚3和U2SN74HC390的引脚1之间。这个跳线将主时钟信号直接馈入计数器链强制时钟运行。安装辉光管子板插入四个辉光管子板。注意方向子板上的“A”标记应对准主板插座上标有“A”或“1”的位置。最终上电打开12V电源。此时四只辉光管应该全部点亮显示一个时间例如原作者提到的1:38。氖泡闪烁。恭喜你核心功能已实现。4.5 电池备份功能测试在时钟正常运行、显示时间时装入三节AA电池到电池盒。记下当前显示的时间。拔掉12V电源线。你会看到辉光管和氖泡立即熄灭。等待一分钟或更长时间。重新插上12V电源。辉光管再次点亮显示的时间应该是从断电那一刻起继续计时的结果与你等待的时长基本吻合。这证明了电池备份系统工作正常。5. 外壳设计与安全封装5.1 散热与通风考虑虽然功耗不大但7805稳压器和四个1W的限流电阻在密闭空间内仍会产生一定热量。选择亚克力外壳时应在顶部或后方开设通风孔。教程中使用了7.5mm的钻孔这是一个不错的尺寸。确保开孔位置不会让手指或金属物体轻易触碰到内部电路板。5.2 电源接口与绝缘在侧面安装一个DC插座用于连接12V电源适配器。内部用杜邦线或焊接方式将其连接到主板的H1排针上。务必确保所有高压部分特别是升压模块、辉光管阳极走线、U6端子与金属外壳或任何外部可接触部分保持足够的距离建议5mm。可以使用尼龙柱或绝缘垫片将主板固定在外壳内。5.3 时间校准的“土办法”由于跳线修复禁用了设置按钮校准时间需要一个取巧的方法让时钟持续运行通过多次开关机观察并记录它每次启动时显示的固定时间比如就是1:38。当你想设置当前时间时计算好时机。例如现在是下午3:25而时钟总是从1:38开始走。那么你需要计算从1:38到3:25需要经过多少时间1小时47分钟。在你想让时钟显示3:25的那个时刻提前1小时47分钟即下午1:38给时钟上电。时钟将从1:38开始走时1小时47分钟后正好指向3:25。此时你可以将电池装入之后即使断电逻辑时间也会保持。 这个方法虽然不够便捷但对于一个展示原理和复古美学的作品来说不失为一种有趣的“仪式感”。当然你也可以尝试分析原电路图找出设计缺陷并修改恢复按钮功能这将是一个更深入的挑战。6. 常见问题排查与进阶思考6.1 上电无任何反应检查12V输入确认电源适配器输出正常极性正确接入H1。检查5V输出测量TP3和TP4对地电压。若无5V检查7805输入电压、焊接情况以及D12是否接反。检查晶振32.768kHz晶振不易直接测量可尝试更换一个。确保其两脚焊接良好无短路。6.2 氖泡不闪烁但辉光管常亮某个数字主时钟信号缺失氖泡闪烁依赖于1Hz信号。问题可能出在CD4060U5或第一级SN74HC390U2。首先检查U5的引脚11是否有32.768kHz信号需示波器然后检查其引脚32Hz输出和U2的引脚1。确认跳线是否已正确连接。U1 MOSFET故障负责驱动氖泡的MOSFETU1损坏或焊接不良导致氖泡无法被开关。6.3 辉光管不亮或部分不亮高压缺失首先测量TP2对地是否有170V。若无检查升压模块输入输出连接、电位器是否调乱、模块本身是否损坏。驱动芯片问题确认对应的DM74141N芯片已正确插入插座。测量其电源引脚16脚是否为5V。可以用万用表测量某个数字阴极对应的驱动芯片输出引脚例如想显示“1”就测对应输出脚在计数到该数字时该引脚应对地导通电压很低。辉光管本身或接触问题确保辉光管子板与主板插座接触良好。可以交换辉光管子板的位置判断是管子问题还是主板驱动问题。6.4 计数混乱或不进位芯片接触不良所有IC芯片特别是计数器芯片SN74HC390尝试重新按压或拔插一次。焊接缺陷仔细检查计数器芯片周边的电阻、电容如R11-R13, C8等是否有虚焊、连焊。这些元件构成了复位和计数逻辑。电源噪声确保所有0.1uF100nF的电源去耦电容C5, C9-C14都已正确焊接在每个IC的电源引脚附近。6.5 进阶修改与优化想法修复时间设置功能这是最大的挑战。需要仔细分析原版原理图理解SW1和SW2是如何通过门电路与计数器复位端交互的。跳线短接了U5-3和U2-1相当于绕过了这部分设置逻辑。可以尝试移除跳线然后检查按钮按下时是否能产生有效的脉冲信号到达U2、U8、U10的复位引脚例如MR引脚。增加亮度调节可以在170V高压输出端串联一个可调的大功率电阻例如50K 5W线绕电位器构成一个简单的分压电路来调节辉光管阳极电压从而改变亮度。注意电位器的功率要足够。改用IN-14等常见辉光管Z573M相对小众。如果想用更常见的IN-14需要重新设计辉光管子板因为管脚定义不同。同时IN-14的驱动电压可能略有差异约170-180V需重新校准高压。DM74141N驱动芯片是通用的。添加闹钟功能这需要引入更多的数字比较器如74HC85和触发器如74HC74构建一个独立的闹钟设置与比较电路当计数器输出与预设值匹配时驱动一个蜂鸣器或继电器。这将使项目复杂度提升一个等级。完成这个项目你收获的不仅是一个散发着温暖橙光的复古时钟更是一次对数字逻辑电路从信号产生、处理到显示的全流程深度实践。每一次成功的计数和进位都是硬件逻辑直接作用的结果这种确定性和透明感是软件编程无法替代的独特魅力。