1. 项目概述与BEAM理念解析几年前我在整理工作室时翻出一堆闲置的太阳能板和超级电容琢磨着怎么把它们用起来做个既好看又有趣的小玩意儿。当时就想能不能做个晚上能自己发光、不用电池、样子还得特别点的东西这个念头在心里搁了快一年直到后来接触到BEAM机器人这个概念才算是找到了完美的技术载体。BEAMBiology, Electronics, Aesthetics, and Mechanics严格来说不算传统意义上的“机器人”它更像是一种电路设计哲学核心是用最少的、通常是模拟的元器件去实现一些看起来有生命感的、有机的行为比如爬行、抖动或者像心跳一样的闪烁。这种设计追求极致的能量效率和简洁之美正好契合我想用太阳能驱动一个装饰性灯光的想法。于是就有了这个心形太阳能闪烁电路我管它叫“Solar Powered Pummer”。Pummer在BEAM术语里特指那种能产生规律性脉冲光或声音的电路。我的目标很明确设计一块心形的印刷电路板PCB上面集成太阳能充电电路和一个控制两颗大红LED交替闪烁的振荡器。白天它静静地吸收阳光把能量存进电容到了傍晚光线暗下来电路自动启动两颗LED就会模仿心脏跳动的节奏“咚-哒咚-哒”的间隔闪烁起来一直持续好几个小时。整个项目从电路仿真、PCB设计到焊接调试总花费控制在30美元左右对于电子爱好者来说是个成本不高但成就感满满的周末项目。2. 核心电路原理与设计思路拆解这个项目的电路可以清晰地分为两大部分负责能量管理的太阳能引擎和负责产生闪烁信号的脉冲器Pummer振荡器。理解这两部分如何协同工作是成功复现或修改这个设计的关键。2.1 SIMD1太阳能引擎能量的守门人太阳能引擎的核心任务不是发电而是智能管理能量。太阳能板的输出不稳定光照强时电压高弱时电压低直接驱动负载效率极低且无法在无光时工作。因此我们需要一个“能量水库”储能电容和一个“智能开关”太阳能引擎。我选用的是Wilf Rigter设计的SIMD1Solar Engine - Miller-type with Diode电路。它的工作原理非常巧妙储能阶段白天太阳能板对一个大容量的储能电容我用了1F的法拉电容充电。SIMD1电路此时处于关闭状态消耗极微小的电流确保绝大部分能量都灌入电容。电压监测与启动电路持续监测储能电容上的电压。当电容电压因持续为后续电路供电而下降到某个预设值时这个值由一颗参考LED的正向压降决定比如我用蓝色LED大约是2.8V-2.9V太阳能引擎内部的晶体管会关闭切断主电路与电容的连接。充电重启太阳能板转而只给电容充电。当电容电压被重新充到高于另一个预设阈值约比参考LED压降高0.6V即3.4V-3.5V时太阳能引擎再次导通将储存的能量释放给后面的闪烁电路使用。这个过程循环往复形成了一个“充电-放电-再充电”的负反馈系统。它的精妙之处在于利用了一个晶体管的米勒效应和一颗LED的稳定压降来设定精确的开启/关闭电压点无需复杂的芯片仅用几个晶体管、电阻和二极管就实现了高效的能源管理。这确保了闪烁电路只在电容有足够能量时工作并且能最大限度地利用太阳能板收集的能量。注意参考LED的选择决定了系统的运行电压。蓝色/白色LED压降较高约2.8V-3.3V适合驱动多颗串联的LED或较高电压的电路红色/绿色LED压降较低约1.8V-2.2V能让系统在更低的电压下工作从而在电容放电到更低电压时仍能运行理论上延长单次运行时间但驱动能力可能受限。需要根据负载LED的规格进行权衡。2.2 改进型Pummer振荡器心跳节奏的生成器闪烁节奏由一个改进自Wilf Rigter“节能闪烁器”的振荡器电路产生。原电路使用一个振荡器驱动一颗LED并通过一个电阻泄放电荷。我的修改旨在提高能量利用率并产生更生动的心跳双闪效果。核心是一个74HC14芯片这是一个六反相器施密特触发器。我们将其中的两个反相器连接成RC振荡器形式。电路的工作流程如下第一级振荡与第一闪第一个反相器与电阻R3、电容C3构成一个低频振荡器。当来自太阳能引擎的电压达到工作阈值时电容C3开始通过R3充电。当充电电压达到反相器的输入高电平阈值时其输出翻转为低电平电容C3通过二极管和R4开始放电同时这个下降沿脉冲会触发第二个反相器。第二级触发与第二闪第二个反相器被配置为单稳态触发器。当它被第一个振荡器的下降沿触发时会输出一个固定宽度的短脉冲。这个脉冲的宽度由R5和C3的值决定在我的设计中R5很小主要靠C3储存的电荷。LED驱动两个反相器的输出分别通过限流电阻驱动一颗10mm的红色LED。关键改进在于我移除了原设计中和LED并联的泄放电阻并将两颗LED的阴极分别连接到两个反相器的输出。这样两个反相器输出的高、低电平变化都能被利用来产生闪光。具体来说当输出从低变高时LED获得正向电压而发光在后续的放电阶段通过精心配置的路径储存在电容C3中的部分剩余电荷也能在输出变化时流过LED产生第二次较微弱的闪光或延长闪光尾巴从而用一次充放电过程激发出更丰富的视觉闪烁效果并且减少了能量在泄放电阻上的浪费。这种设计使得两颗LED的闪烁不是简单的交替而是形成了“主闪亮-短暂间隔-次闪稍暗或稍短-长间隔”的节奏非常接近真实心跳的“扑通-扑通”感。电阻R3和R4的比值决定了两次闪光之间的间隔与心跳总周期你可以通过调整它们来改变心跳的快慢。3. 从原型到PCB完整设计与制作流程有了清晰的电路原理下一步就是把它从面包板上的杂乱线缆变成一块精致的心形PCB。这个过程融合了工程设计与艺术创作。3.1 原型搭建与参数验证在画任何电路图之前在面包板上搭建可工作的原型是必须的。我几乎完全参照了Wilf的原始设计但做了前述的关键修改用LED替代了泄放电阻并增加了R5来微调闪光特性。实操要点元件选择使用通孔元件便于更换。重点准备不同阻值的电阻100k, 1M, 2.2M, 470k等和容值的电容10uF, 22uF, 100uF电解电容以及0.1uF、1uF的瓷片电容用于调试。观测工具一个示波器至关重要。你需要观察74HC14输出引脚以及LED连接点的电压波形。这能帮你直观理解电容的充放电过程、闪光脉冲的宽度和间隔。我最初用错了电容值导致闪光时间太短肉眼几乎无法察觉就是靠示波器发现的。能耗估算实验这是决定你的装置能亮多久的关键。在原型电路正常工作后断开太阳能板用可调电源给储能电容充电到5V然后接通电路开始闪烁。记录下起始电压如5.0V然后让电路运行一段时间例如30分钟再记录电压如4.7V。应用公式平均电流I C * ΔV / Δt。我的例子C0.1F原型用的小电容ΔV0.3VΔt1800秒计算得 I ≈ 16.7uA。然后估算总运行时间Δt_total C_big * (V_start - V_stop) / I。假设最终用1F电容V_start5V V_stop2.8V参考LED压降则 Δt_total ≈ 1 * (5-2.8) / (16.7e-6) ≈ 132,000秒 ≈ 36小时。这是一个理想值实际因元件公差、温度、电路后期效率变化等因素会短一些但足以说明1F电容支撑数小时闪烁绰绰有余。3.2 使用Eagle进行PCB布局与布线我选择Autodesk Eagle进行PCB设计因为它对爱好者足够友好功能也强大。步骤详解与避坑指南绘制原理图在Eagle的Schematic编辑器里将所有元件摆放好并连接。这里我犯了第一个错误忘了给74HC14的VCC引脚连接电源网络。务必确保每一个电源引脚VCC和地引脚GND都正确连接到对应的网络并使用ERC电气规则检查功能查错。创建心形板框切换到Board编辑器默认是矩形板框。删除它在“Dimension”层使用线条和弧线工具手动绘制一个心形。闭合图形后板内区域会变色表示板框已定义。元件布局先大后小首先放置决定外观和机械结构的元件两颗10mm LED放在心形顶部左右心室位置、1F大电容放在心形底部中心、太阳能板焊盘放在心形顶部中间凹陷处。它们的位置决定了PCB的视觉重心。功能分区将太阳能引擎的元件晶体管、小电容电阻、参考LED聚集在太阳能板焊盘附近将振荡器部分74HC14、定时电阻电容聚集在两大LED之间。这样布线更短干扰更小。考虑焊接将需要调试的通孔元件R3, R4, R5, C3放在易于操作的位置。布线铺铜接地在顶层和底层都绘制一个覆盖整个板框的多边形Polygon并命名为“GND”然后运行“Ratsnest”命令进行铺铜。这能清除所有地线飞线并提供良好的接地平面。完成后使用“Ripup; *”命令暂时移除铺铜以便进行其他布线。手动布线遵循“先电源后信号”的原则。优先布通VCC和GND主干线。信号线尽量短避免锐角。我尽可能在顶层完成布线将难以走通的几根线改到了底层。这个无意之举后来救了我因为底层布线使我能修复一个钻孔问题。设计规则检查DRC布线完成后运行DRC。我除了使用Eagle自带规则还导入了一个JLCPCB我选择的PCB制造商的特定规则文件确保设计符合他们的工艺要求比如最小线宽、线距、孔径等。添加美学与实用细节丝印层tPlace我画了一个矩形框标出太阳能板的精确粘贴位置。添加了电阻值标识如“R32.2M”以便焊接。阻焊层开窗tStop在“tStop”层画了一些小心形图案。这部分区域的阻焊油墨会被去除露出下面的铜箔经过沉金或喷锡处理后会呈现金属色成为漂亮的装饰。订单编号定位在太阳能板覆盖的区域我用小字重复写了“JLCPCB”。这是告诉制造商把订单号他们通常会丝印在板子上放在这个被遮盖的位置保持板面美观。3.3 生产与焊接实战PCB发出去生产后大约一周就收到了。打开包裹看到红色阻焊、心形轮廓的板子时感觉非常棒。但紧接着就发现了问题这也是手工设计难以避免的环节。遇到的问题与解决方案实录问题丝印文字错层。本应在白色丝印层tPlace的电阻标识被我误放在了阻焊开窗层tStop。解决制造商自动处理了将文字轻微移动到了不干扰线路的空隙处丝印出来。教训在提交Gerber文件前务必用查看器如JLCPCB提供的在线预览逐层检查丝印和阻焊层。问题电容焊盘孔太小。我从Sparkfun库调用的1F电容封装其通孔孔径太小电容引脚插不进去。解决我用微型手钻0.8mm-1.4mm小心翼翼地扩孔。关键技巧扩孔前必须确认这个孔所连接的走线在哪一层。幸运的是所有与这个电容相连的走线都在底层我之前布线的意外之喜。扩孔只会破坏孔壁的镀铜但底层的焊盘和走线是完好的。扩孔后我在底层进行焊接利用毛细作用焊锡会填满孔洞并连接到顶层成功修复。如果走线在顶层扩孔就会切断连接就需要用飞线来修补麻烦得多。问题74HC14的VCC引脚未连接。这是原理图阶段的疏忽。解决用一小段细漆包线一端焊在芯片的VCC引脚第14脚另一端焊在最近的一个电源滤波电容的引脚上。用热风枪或烙铁小心烫掉漆皮上锡。这是一个标准的“飞线”修补bodge wire只要焊接整洁并不影响功能和外观。焊接顺序与技巧顺序先贴片SMD后通孔THT先矮件后高件。但因为我需要先测试电容孔修复效果所以反常地先焊接了最大的1F电容。贴片焊接使用尖头烙铁。先在焊盘上上一小点锡用镊子夹住元件对准位置烙铁加热焊盘上的锡使其熔化固定元件一端。确认位置无误后焊接另一端。最后可以给第一个焊点补锡或重新熔化一下使其光亮。芯片焊接74HC14采用“拖焊法”。先用烙铁固定芯片对角线的两个引脚确保芯片对齐。然后在所有引脚上涂上足量的助焊剂。用烙铁头带上适量焊锡沿着引脚排缓慢拖过表面张力会使焊锡只附着在引脚和焊盘上而不会桥接相邻引脚。如果出现桥接再加点助焊剂用干净的烙铁头轻轻拖过即可吸走多余焊锡。焊接后用异丙醇和旧牙刷仔细清洗板子去除残留的助焊剂。4. 调试、优化与最终组装焊接完成后不要急着固定所有东西。分阶段测试是保证成功、简化调试的关键。4.1 分阶段上电测试单独测试太阳能引擎只焊接好太阳能引擎部分的元件晶体管、电阻电容、参考LED和储能电容。连接太阳能板或临时用可调电源模拟用万用表监测电容电压。遮挡太阳能板你应该能看到电容电压缓慢下降当降到参考LED的压降值约2.9V时参考LED会瞬间非常微弱地闪亮一下表示引擎关闭同时电压停止下降甚至因极小的漏电而缓慢回升。用光源照射太阳能板电压应上升超过约3.5V后参考LED会常亮表示引擎开启为后续电路供电。这个测试验证了能量管理核心是正常的。测试振荡器在太阳能引擎工作正常的前提下焊接上74HC14及其周边的振荡器阻容元件R3, R4, C3等。暂时先不焊那两颗大的10mm LED可以在它们的焊盘上接上普通5mm LED做测试。当太阳能引擎开启供电时两个测试LED应该开始以心跳节奏闪烁。用示波器观察各点波形调整R3、R4的阻值直到你对闪烁节奏满意。焊接输出LED并最终测试最后焊接上两颗10mm的红色LED。进行完整的日光模拟测试将电路置于亮处充电几分钟然后移到暗处观察LED是否开始闪烁并持续一段时间。4.2 光学与机械优化LED散光处理最初的10mm LED是透明灯罩虽然很亮但光线集中作为桌面摆件时灯珠本身看起来不够柔和。我用台钻夹住LED然后用360目砂纸轻轻打磨其表面使其变成磨砂效果。这样光线变得均匀柔和整个“心”形在黑暗中看起来更饱满而不仅仅是两个刺眼的光点。太阳能板的安装太阳能板25x45mm5V是易碎品。我剪了三小段0.8mm的实心黄铜棒也可以用粗铜线将其中两根弯成L形焊接到太阳能板背面的正负极焊点上。第三根截短用热熔胶预先粘在PCB上对应太阳能板中部的位置作为支撑点防止按压面板时使其受力脱落。整体粘合使用热风枪或大功率烙铁对PCB上准备粘贴太阳能板的区域进行预热。然后在PCB和太阳能板支撑点上涂上足量的热熔胶趁热将太阳能板对准位置压上。预热PCB能使热熔胶更好地浸润和粘附。最后将L形黄铜棒的末端用大量焊锡牢固地焊接在PCB对应的焊盘上同时提供了电气连接和机械加固。4.3 环境防护与完成因为我打算把这个小装置放在窗台会接触到一些湿气所以最后给它喷了一层透明的PCB三防漆聚氨酯或丙烯酸材质均可。这里有一个重要的取舍三防漆会形成一层哑光涂层影响美观更重要的是它会覆盖打磨过的LED表面使其失去磨砂散光效果变回光滑甚至产生光晕。下次制作时我会在喷漆前用美纹胶带将LED的灯罩部分仔细遮盖起来。完成所有步骤后在心形的PCB背面写上项目名称和日期一个独一无二的太阳能心跳灯就制作完成了。把它放在白天有阳光的地方傍晚你就能收获一片属于自己的、温柔闪烁的星光。整个项目最令人愉悦的部分不仅仅是看到它最终闪烁的瞬间更是将抽象的电路原理、软件中的线条通过自己的双手变成一件有温度、会呼吸的实体物件的过程。这种从无到有的创造感或许就是DIY和BEAM哲学最大的魅力所在。
基于BEAM理念的太阳能心跳灯:从电路原理到PCB制作全解析
1. 项目概述与BEAM理念解析几年前我在整理工作室时翻出一堆闲置的太阳能板和超级电容琢磨着怎么把它们用起来做个既好看又有趣的小玩意儿。当时就想能不能做个晚上能自己发光、不用电池、样子还得特别点的东西这个念头在心里搁了快一年直到后来接触到BEAM机器人这个概念才算是找到了完美的技术载体。BEAMBiology, Electronics, Aesthetics, and Mechanics严格来说不算传统意义上的“机器人”它更像是一种电路设计哲学核心是用最少的、通常是模拟的元器件去实现一些看起来有生命感的、有机的行为比如爬行、抖动或者像心跳一样的闪烁。这种设计追求极致的能量效率和简洁之美正好契合我想用太阳能驱动一个装饰性灯光的想法。于是就有了这个心形太阳能闪烁电路我管它叫“Solar Powered Pummer”。Pummer在BEAM术语里特指那种能产生规律性脉冲光或声音的电路。我的目标很明确设计一块心形的印刷电路板PCB上面集成太阳能充电电路和一个控制两颗大红LED交替闪烁的振荡器。白天它静静地吸收阳光把能量存进电容到了傍晚光线暗下来电路自动启动两颗LED就会模仿心脏跳动的节奏“咚-哒咚-哒”的间隔闪烁起来一直持续好几个小时。整个项目从电路仿真、PCB设计到焊接调试总花费控制在30美元左右对于电子爱好者来说是个成本不高但成就感满满的周末项目。2. 核心电路原理与设计思路拆解这个项目的电路可以清晰地分为两大部分负责能量管理的太阳能引擎和负责产生闪烁信号的脉冲器Pummer振荡器。理解这两部分如何协同工作是成功复现或修改这个设计的关键。2.1 SIMD1太阳能引擎能量的守门人太阳能引擎的核心任务不是发电而是智能管理能量。太阳能板的输出不稳定光照强时电压高弱时电压低直接驱动负载效率极低且无法在无光时工作。因此我们需要一个“能量水库”储能电容和一个“智能开关”太阳能引擎。我选用的是Wilf Rigter设计的SIMD1Solar Engine - Miller-type with Diode电路。它的工作原理非常巧妙储能阶段白天太阳能板对一个大容量的储能电容我用了1F的法拉电容充电。SIMD1电路此时处于关闭状态消耗极微小的电流确保绝大部分能量都灌入电容。电压监测与启动电路持续监测储能电容上的电压。当电容电压因持续为后续电路供电而下降到某个预设值时这个值由一颗参考LED的正向压降决定比如我用蓝色LED大约是2.8V-2.9V太阳能引擎内部的晶体管会关闭切断主电路与电容的连接。充电重启太阳能板转而只给电容充电。当电容电压被重新充到高于另一个预设阈值约比参考LED压降高0.6V即3.4V-3.5V时太阳能引擎再次导通将储存的能量释放给后面的闪烁电路使用。这个过程循环往复形成了一个“充电-放电-再充电”的负反馈系统。它的精妙之处在于利用了一个晶体管的米勒效应和一颗LED的稳定压降来设定精确的开启/关闭电压点无需复杂的芯片仅用几个晶体管、电阻和二极管就实现了高效的能源管理。这确保了闪烁电路只在电容有足够能量时工作并且能最大限度地利用太阳能板收集的能量。注意参考LED的选择决定了系统的运行电压。蓝色/白色LED压降较高约2.8V-3.3V适合驱动多颗串联的LED或较高电压的电路红色/绿色LED压降较低约1.8V-2.2V能让系统在更低的电压下工作从而在电容放电到更低电压时仍能运行理论上延长单次运行时间但驱动能力可能受限。需要根据负载LED的规格进行权衡。2.2 改进型Pummer振荡器心跳节奏的生成器闪烁节奏由一个改进自Wilf Rigter“节能闪烁器”的振荡器电路产生。原电路使用一个振荡器驱动一颗LED并通过一个电阻泄放电荷。我的修改旨在提高能量利用率并产生更生动的心跳双闪效果。核心是一个74HC14芯片这是一个六反相器施密特触发器。我们将其中的两个反相器连接成RC振荡器形式。电路的工作流程如下第一级振荡与第一闪第一个反相器与电阻R3、电容C3构成一个低频振荡器。当来自太阳能引擎的电压达到工作阈值时电容C3开始通过R3充电。当充电电压达到反相器的输入高电平阈值时其输出翻转为低电平电容C3通过二极管和R4开始放电同时这个下降沿脉冲会触发第二个反相器。第二级触发与第二闪第二个反相器被配置为单稳态触发器。当它被第一个振荡器的下降沿触发时会输出一个固定宽度的短脉冲。这个脉冲的宽度由R5和C3的值决定在我的设计中R5很小主要靠C3储存的电荷。LED驱动两个反相器的输出分别通过限流电阻驱动一颗10mm的红色LED。关键改进在于我移除了原设计中和LED并联的泄放电阻并将两颗LED的阴极分别连接到两个反相器的输出。这样两个反相器输出的高、低电平变化都能被利用来产生闪光。具体来说当输出从低变高时LED获得正向电压而发光在后续的放电阶段通过精心配置的路径储存在电容C3中的部分剩余电荷也能在输出变化时流过LED产生第二次较微弱的闪光或延长闪光尾巴从而用一次充放电过程激发出更丰富的视觉闪烁效果并且减少了能量在泄放电阻上的浪费。这种设计使得两颗LED的闪烁不是简单的交替而是形成了“主闪亮-短暂间隔-次闪稍暗或稍短-长间隔”的节奏非常接近真实心跳的“扑通-扑通”感。电阻R3和R4的比值决定了两次闪光之间的间隔与心跳总周期你可以通过调整它们来改变心跳的快慢。3. 从原型到PCB完整设计与制作流程有了清晰的电路原理下一步就是把它从面包板上的杂乱线缆变成一块精致的心形PCB。这个过程融合了工程设计与艺术创作。3.1 原型搭建与参数验证在画任何电路图之前在面包板上搭建可工作的原型是必须的。我几乎完全参照了Wilf的原始设计但做了前述的关键修改用LED替代了泄放电阻并增加了R5来微调闪光特性。实操要点元件选择使用通孔元件便于更换。重点准备不同阻值的电阻100k, 1M, 2.2M, 470k等和容值的电容10uF, 22uF, 100uF电解电容以及0.1uF、1uF的瓷片电容用于调试。观测工具一个示波器至关重要。你需要观察74HC14输出引脚以及LED连接点的电压波形。这能帮你直观理解电容的充放电过程、闪光脉冲的宽度和间隔。我最初用错了电容值导致闪光时间太短肉眼几乎无法察觉就是靠示波器发现的。能耗估算实验这是决定你的装置能亮多久的关键。在原型电路正常工作后断开太阳能板用可调电源给储能电容充电到5V然后接通电路开始闪烁。记录下起始电压如5.0V然后让电路运行一段时间例如30分钟再记录电压如4.7V。应用公式平均电流I C * ΔV / Δt。我的例子C0.1F原型用的小电容ΔV0.3VΔt1800秒计算得 I ≈ 16.7uA。然后估算总运行时间Δt_total C_big * (V_start - V_stop) / I。假设最终用1F电容V_start5V V_stop2.8V参考LED压降则 Δt_total ≈ 1 * (5-2.8) / (16.7e-6) ≈ 132,000秒 ≈ 36小时。这是一个理想值实际因元件公差、温度、电路后期效率变化等因素会短一些但足以说明1F电容支撑数小时闪烁绰绰有余。3.2 使用Eagle进行PCB布局与布线我选择Autodesk Eagle进行PCB设计因为它对爱好者足够友好功能也强大。步骤详解与避坑指南绘制原理图在Eagle的Schematic编辑器里将所有元件摆放好并连接。这里我犯了第一个错误忘了给74HC14的VCC引脚连接电源网络。务必确保每一个电源引脚VCC和地引脚GND都正确连接到对应的网络并使用ERC电气规则检查功能查错。创建心形板框切换到Board编辑器默认是矩形板框。删除它在“Dimension”层使用线条和弧线工具手动绘制一个心形。闭合图形后板内区域会变色表示板框已定义。元件布局先大后小首先放置决定外观和机械结构的元件两颗10mm LED放在心形顶部左右心室位置、1F大电容放在心形底部中心、太阳能板焊盘放在心形顶部中间凹陷处。它们的位置决定了PCB的视觉重心。功能分区将太阳能引擎的元件晶体管、小电容电阻、参考LED聚集在太阳能板焊盘附近将振荡器部分74HC14、定时电阻电容聚集在两大LED之间。这样布线更短干扰更小。考虑焊接将需要调试的通孔元件R3, R4, R5, C3放在易于操作的位置。布线铺铜接地在顶层和底层都绘制一个覆盖整个板框的多边形Polygon并命名为“GND”然后运行“Ratsnest”命令进行铺铜。这能清除所有地线飞线并提供良好的接地平面。完成后使用“Ripup; *”命令暂时移除铺铜以便进行其他布线。手动布线遵循“先电源后信号”的原则。优先布通VCC和GND主干线。信号线尽量短避免锐角。我尽可能在顶层完成布线将难以走通的几根线改到了底层。这个无意之举后来救了我因为底层布线使我能修复一个钻孔问题。设计规则检查DRC布线完成后运行DRC。我除了使用Eagle自带规则还导入了一个JLCPCB我选择的PCB制造商的特定规则文件确保设计符合他们的工艺要求比如最小线宽、线距、孔径等。添加美学与实用细节丝印层tPlace我画了一个矩形框标出太阳能板的精确粘贴位置。添加了电阻值标识如“R32.2M”以便焊接。阻焊层开窗tStop在“tStop”层画了一些小心形图案。这部分区域的阻焊油墨会被去除露出下面的铜箔经过沉金或喷锡处理后会呈现金属色成为漂亮的装饰。订单编号定位在太阳能板覆盖的区域我用小字重复写了“JLCPCB”。这是告诉制造商把订单号他们通常会丝印在板子上放在这个被遮盖的位置保持板面美观。3.3 生产与焊接实战PCB发出去生产后大约一周就收到了。打开包裹看到红色阻焊、心形轮廓的板子时感觉非常棒。但紧接着就发现了问题这也是手工设计难以避免的环节。遇到的问题与解决方案实录问题丝印文字错层。本应在白色丝印层tPlace的电阻标识被我误放在了阻焊开窗层tStop。解决制造商自动处理了将文字轻微移动到了不干扰线路的空隙处丝印出来。教训在提交Gerber文件前务必用查看器如JLCPCB提供的在线预览逐层检查丝印和阻焊层。问题电容焊盘孔太小。我从Sparkfun库调用的1F电容封装其通孔孔径太小电容引脚插不进去。解决我用微型手钻0.8mm-1.4mm小心翼翼地扩孔。关键技巧扩孔前必须确认这个孔所连接的走线在哪一层。幸运的是所有与这个电容相连的走线都在底层我之前布线的意外之喜。扩孔只会破坏孔壁的镀铜但底层的焊盘和走线是完好的。扩孔后我在底层进行焊接利用毛细作用焊锡会填满孔洞并连接到顶层成功修复。如果走线在顶层扩孔就会切断连接就需要用飞线来修补麻烦得多。问题74HC14的VCC引脚未连接。这是原理图阶段的疏忽。解决用一小段细漆包线一端焊在芯片的VCC引脚第14脚另一端焊在最近的一个电源滤波电容的引脚上。用热风枪或烙铁小心烫掉漆皮上锡。这是一个标准的“飞线”修补bodge wire只要焊接整洁并不影响功能和外观。焊接顺序与技巧顺序先贴片SMD后通孔THT先矮件后高件。但因为我需要先测试电容孔修复效果所以反常地先焊接了最大的1F电容。贴片焊接使用尖头烙铁。先在焊盘上上一小点锡用镊子夹住元件对准位置烙铁加热焊盘上的锡使其熔化固定元件一端。确认位置无误后焊接另一端。最后可以给第一个焊点补锡或重新熔化一下使其光亮。芯片焊接74HC14采用“拖焊法”。先用烙铁固定芯片对角线的两个引脚确保芯片对齐。然后在所有引脚上涂上足量的助焊剂。用烙铁头带上适量焊锡沿着引脚排缓慢拖过表面张力会使焊锡只附着在引脚和焊盘上而不会桥接相邻引脚。如果出现桥接再加点助焊剂用干净的烙铁头轻轻拖过即可吸走多余焊锡。焊接后用异丙醇和旧牙刷仔细清洗板子去除残留的助焊剂。4. 调试、优化与最终组装焊接完成后不要急着固定所有东西。分阶段测试是保证成功、简化调试的关键。4.1 分阶段上电测试单独测试太阳能引擎只焊接好太阳能引擎部分的元件晶体管、电阻电容、参考LED和储能电容。连接太阳能板或临时用可调电源模拟用万用表监测电容电压。遮挡太阳能板你应该能看到电容电压缓慢下降当降到参考LED的压降值约2.9V时参考LED会瞬间非常微弱地闪亮一下表示引擎关闭同时电压停止下降甚至因极小的漏电而缓慢回升。用光源照射太阳能板电压应上升超过约3.5V后参考LED会常亮表示引擎开启为后续电路供电。这个测试验证了能量管理核心是正常的。测试振荡器在太阳能引擎工作正常的前提下焊接上74HC14及其周边的振荡器阻容元件R3, R4, C3等。暂时先不焊那两颗大的10mm LED可以在它们的焊盘上接上普通5mm LED做测试。当太阳能引擎开启供电时两个测试LED应该开始以心跳节奏闪烁。用示波器观察各点波形调整R3、R4的阻值直到你对闪烁节奏满意。焊接输出LED并最终测试最后焊接上两颗10mm的红色LED。进行完整的日光模拟测试将电路置于亮处充电几分钟然后移到暗处观察LED是否开始闪烁并持续一段时间。4.2 光学与机械优化LED散光处理最初的10mm LED是透明灯罩虽然很亮但光线集中作为桌面摆件时灯珠本身看起来不够柔和。我用台钻夹住LED然后用360目砂纸轻轻打磨其表面使其变成磨砂效果。这样光线变得均匀柔和整个“心”形在黑暗中看起来更饱满而不仅仅是两个刺眼的光点。太阳能板的安装太阳能板25x45mm5V是易碎品。我剪了三小段0.8mm的实心黄铜棒也可以用粗铜线将其中两根弯成L形焊接到太阳能板背面的正负极焊点上。第三根截短用热熔胶预先粘在PCB上对应太阳能板中部的位置作为支撑点防止按压面板时使其受力脱落。整体粘合使用热风枪或大功率烙铁对PCB上准备粘贴太阳能板的区域进行预热。然后在PCB和太阳能板支撑点上涂上足量的热熔胶趁热将太阳能板对准位置压上。预热PCB能使热熔胶更好地浸润和粘附。最后将L形黄铜棒的末端用大量焊锡牢固地焊接在PCB对应的焊盘上同时提供了电气连接和机械加固。4.3 环境防护与完成因为我打算把这个小装置放在窗台会接触到一些湿气所以最后给它喷了一层透明的PCB三防漆聚氨酯或丙烯酸材质均可。这里有一个重要的取舍三防漆会形成一层哑光涂层影响美观更重要的是它会覆盖打磨过的LED表面使其失去磨砂散光效果变回光滑甚至产生光晕。下次制作时我会在喷漆前用美纹胶带将LED的灯罩部分仔细遮盖起来。完成所有步骤后在心形的PCB背面写上项目名称和日期一个独一无二的太阳能心跳灯就制作完成了。把它放在白天有阳光的地方傍晚你就能收获一片属于自己的、温柔闪烁的星光。整个项目最令人愉悦的部分不仅仅是看到它最终闪烁的瞬间更是将抽象的电路原理、软件中的线条通过自己的双手变成一件有温度、会呼吸的实体物件的过程。这种从无到有的创造感或许就是DIY和BEAM哲学最大的魅力所在。