1. 项目概述与核心思路拆解几年前我因为一次出差家里空置了几天回来后就一直琢磨着怎么给家里的窗户加点“动静”。市面上那些联网的智能安防摄像头固然好但安装麻烦、依赖网络而且隐私问题总让人心里有点疙瘩。后来我接触到一些简单的传感器技术就萌生了自己做一个纯物理、非联网的窗户防盗警示装置的想法。这东西的核心目的就一个用最低的成本和最直接的视觉警告让潜在的闯入者在靠近窗户的那一刻就心里发毛觉得这屋里“有人”或者“有防备”从而放弃行动。我最终做出来的是一个巴掌大小的电池供电设备它能贴在窗框内侧。它有两种工作模式对于普通玻璃窗它使用一个微型雷达模块来探测窗外是否有人移动一旦探测到就会让一对高亮LED透过玻璃快速闪烁模拟屋里有人被惊动后打开了手电或警报灯的效果。而对于现在很多新房用的那种带低辐射Low-E镀膜的节能玻璃这种玻璃对微功率的雷达波有很强的屏蔽作用雷达就失效了。为此我设计了第二个版本把雷达传感器换成了一个光敏传感器也叫黄昏传感器。这个版本不再检测运动而是在天黑后自动开始以固定频率闪烁营造一种“家里安装了定时灯光装置”的假象同样能起到威慑作用。整个项目的思路其实就是利用了入室盗窃者普遍存在的“风险厌恶”心理。他们更喜欢选择那些隐蔽、安静、看似无人的目标。一个突然亮起的、不规律的闪烁光源会立刻打破这种“安全”的假象大大增加他们的心理压力和被发现的风险。这个装置不报警、不联网、不录像它唯一的任务就是“演一场戏”而且这场戏的成本极低一套做下来材料费不到一百块一颗电池能顶好几个月。2. 核心功能模块深度解析这个装置虽然小但“五脏俱全”从感知、决策到执行、供电形成了一个完整的闭环。下面我就把每个模块掰开揉碎了讲清楚包括为什么选这些元件以及实际制作中会遇到哪些坑。2.1 感知层雷达与黄昏传感器的选型与原理雷达传感器HW-MS03模块我选择HW-MS03这个模块纯粹是因为它便宜、功耗低而且市面上资料多。它的核心其实不是一个真正的雷达而是一个多普勒传感器。模块上有一个蛇形天线连接到一个晶体管振荡器工作在2.4GHz到5.8GHz的ISM频段工业、科学、医疗免费频段。它会持续向外发射微弱的射频信号。注意这里说的“微弱”是相对的其功率远低于手机但在极近距离模块前方5-7米内足以形成有效的探测场。当发射的波遇到移动的物体比如一个人走过时反射回来的波频率会因为多普勒效应发生微小变化移动物体靠近时频率变高远离时变低。这个模块的巧妙之处在于它把这个频率变化信号耦合到了其集成的BISS0001红外热释电PIR信号处理芯片上。BISS0001原本是处理红外信号的但在这里被“借用”来放大和整形这个微弱的射频变化信号。当信号强度超过设定的阈值模块的输出引脚就会从低电平跳变到高电平。关键参数与实测工作电压标称5V但实测在3.7V以上就能稳定工作。为了配合单节锂离子电池标称3.7V满电4.2V后面必须加一个升压电路。工作电流静态约4mA触发时略有增加但可以忽略。这是实现长续航的基础。探测范围官方说7米实测在无遮挡的窗前对成人大小的目标5米内比较可靠。它的探测模式近似扇形不够定向。为什么需要金属屏蔽罩这正是这个模块应用中的一个大坑。它的天线是全向的意味着它不仅能“看”窗外也能“看”窗内。如果你把它裸板放在窗边屋里人走动也可能触发它那就完全失去意义了。我的解决方案是给它做一个“罐头”——一个接地的金属屏蔽罩只在正对窗户的方向开一个孔。这样射频能量主要从这个孔向外辐射和接收极大地提高了方向性。屏蔽罩可以用薄铝板手工弯折也可以用现成的金属小盒改造务必确保PCB上的接地焊盘与屏蔽罩良好焊接。黄昏传感器光敏电阻方案对于Low-E玻璃雷达波穿不透只能换思路。我选择了一个极其简单的光敏电阻LDR比较器电路。核心是利用光敏电阻的阻值随光照强度变化而变化的特性。电路的核心是一个微功耗电压比较器我用的TI的TLV7031。光敏电阻和一个参考电阻构成分压电路产生的电压输入比较器的一端。另一端是一个由可调电阻设定的阈值电压。当天黑时光敏电阻阻值增大分压电压超过阈值比较器输出高电平天亮时则输出低电平。设计要点电流源偏置为了减少环境温度对光敏电阻的影响我没有直接用电阻分压而是用了一个JFET如J201构成一个简单的恒流源给光敏电阻供电。这样流过LDR的电流基本恒定它两端的电压就只与其阻值即光照相关精度和稳定性更好。阈值调节必须用一个多圈精密可调电阻来设定触发阈值。你需要在天色刚好达到你想要的“黄昏”程度时调节它直到比较器输出翻转。这个点需要反复测试确定。防抖动光照变化可能是渐进的比如云飘过可能导致比较器输出在临界点快速抖动。我在比较器输出端到单片机之间加了一个RC滤波电路例如10k电阻和10uF电容形成一个简单的延时只有持续一段时间的黑暗才会被确认为“天黑”避免了误触发。2.2 控制核心超低功耗单片机设计主控我选择了ATTiny85。原因很简单它只有8个引脚体积小价格便宜但功能足够——有ADC可以检测电池电压有PWM可以控制LED闪烁而且睡眠模式下的功耗可以低到微安级别。功耗控制是生命线。整个系统的设计核心就是“能不干活就睡觉”。我的设计逻辑是这样的常态整个系统除了电源管理芯片和传感器部分全部断电。ATTiny85本身是不供电的处于完全关闭状态。触发唤醒当雷达模块检测到移动输出高电平或黄昏传感器检测到天黑输出高电平时这个高电平信号会通过一个“或门”芯片我用的是74HC32的一个门电路传递到一个“保持”信号线上。上电自锁这个“保持”信号控制一个MOSFET开关给ATTiny85和LED驱动电路供电。单片机启动后第一件事就是通过一个IO口PB1输出高电平回馈给这个“保持”电路形成自锁。这样即使传感器的触发信号消失了单片机也能保持供电状态。执行与判断单片机开始按照预设程序工作。对于雷达模式它驱动LED以特定的“双脉冲”模式闪烁8秒然后检查“保持”信号是否还有来自传感器的触发。如果没有它就把自己的PB1引脚拉低切断自锁整个系统重新断电。对于黄昏模式它上电后就会一直工作每分钟闪烁5次直到光敏传感器检测到天亮输出低电平打破自锁系统关机。电池电压监测单片机通过其ADC引脚持续监测经过分压后的电池电压。当电压低于3.4V这个值对应锂电大约30%电量时程序会将LED闪烁模式从“双脉冲”改为“单脉冲”。这是一个视觉提示告诉屋主“该充电了”但装置仍能继续工作数天。2.3 电源管理系统精讲电源是这种长期待机设备的“心脏”。我的设计基于一节常见的18650锂离子电池3200mAh围绕它构建了完整的充放电管理。1. 充电管理 使用专用的锂电充电管理芯片如TP4056。它负责以“恒流-恒压”模式安全地为电池充电。关键设置充电电流通过芯片的PROG引脚对地电阻设定。公式是 I_chg 1200V / R_prog。我用的是1.2K电阻充电电流约为1A。对于3200mAh电池大约3个多小时充满。不建议用更大电流发热和电池寿命是问题。温度保护我在电池旁边贴了一个NTC热敏电阻连接到充电芯片的TEMP引脚。如果电池温度异常充电会暂停。状态指示芯片直接驱动双色LED红/绿充电中亮红灯充满亮绿灯直观明了。2. 放电管理与开关机负载开关用一个带使能端的低压差稳压器或专用的负载开关芯片作为系统总开关。它由一个轻触按键电路控制。短按按键芯片使能系统上电长按则断电。这个电路自身耗电极低几微安。升压电路因为雷达模块需要3.9V以上电压而锂电池电压在3.0V-4.2V之间波动所以需要一个升压芯片将电池电压稳定升到3.9V。我选了SX1308这种微型升压模块效率高静态电流小。顺序上电为了防止单片机在电源未稳定时启动我用了双通道负载开关。第一个通道先打开升压电路给传感器供电延时几十毫秒后第二个通道再打开给单片机和LED供电。低压关断这是保护电池的关键。我用一个电压检测芯片如XC61C系列监控电池电压。当电压跌落到3.0V时它会输出信号强制切断整个系统的供电防止电池过放损坏。2.4 执行单元LED驱动与光学设计警示效果全靠这对LED。我选用了高流明的白光LED每颗光强可达10000-15000mcd。驱动它们不能用单片机的IO口直接推电流不够必须用MOSFET如2N7002作为开关驱动。闪烁模式设计标准警示模式双脉冲亮100ms - 灭100ms - 亮100ms - 灭800ms。这个“亮-灭-亮”的双闪模式比常亮或单闪更能吸引注意更像人为的、警觉性的动作。低电量提示模式单脉冲亮100ms - 灭900ms。节奏变慢作为区分。光学与扩散 LED发出的光是点光源太刺眼且方向性强。为了让它能均匀地照亮一整块窗玻璃形成显著的“光斑”我做了两件事磨砂透镜在LED前面加了一个乳白色的磨砂扩散透镜。这能将光线柔化并扩散到更大角度。导光板如果外壳空间允许可以在LED和玻璃之间加一小片亚克力导光板让光线在板内反射使整个板均匀发光效果更像一个面光源。对于黄昏传感器版本外壳的LED灯罩需要用半透明的材料让内部LED的光能透出。而雷达版本灯罩最好用不透光的只在正面开孔避免内部光线干扰雷达传感器虽然影响很小但力求完美。3. 硬件实现与结构设计实操想法再好最终都要落到实物上。结构设计和PCB布局是决定成品是否可靠、美观的关键。3.1 外壳设计与加工外壳必须满足几个矛盾的需求小体积、金属屏蔽、散热、美观、易于安装。材料选择主体选用铝合金。原因易于CNC加工或折弯自身导电性好可作为雷达屏蔽罩重量轻表面可通过阳极氧化做出各种颜色我选了黑色哑光比较隐蔽。内部布局电池仓18650电池决定了设备的最小厚度。我将电池平放在底板用两个弹簧触片作为电极直接从底部固定。主板位置主板竖立固定在电池一侧与电池平行最大化利用空间。主板上所有较高的元件如USB-C座、电解电容都安排在靠近外壳边缘或镂空处。传感器舱在设备正前方单独隔出一个小的金属舱室用于安装雷达模块或黄昏传感器小板。这个舱室除了正前方的探测孔其他五面都必须与主板地线良好连接实现屏蔽。前面板开孔包括两个LED孔、一个轻触开关孔、充电状态灯孔、USB-C接口孔。对于黄昏传感器版还需要一个额外的小孔用于调节光敏阈值电位器。加工方式我使用FreeCAD进行3D建模。设计时特别注意壁厚至少1.5mm、螺丝柱强度、以及接缝处的屏蔽连续性通过增加弹片或导电泡棉。将模型导出为DXF文件交给淘宝上的CNC铝合金加工小店。虽然小批量成本较高但精度和质感远胜3D打印。绝缘处理一个极易忽视的细节电池的正负极弹簧片是裸露的而它们上方的外壳可能就是金属的。一旦安装时电池外壳的绝缘皮破损或者设备受到挤压就可能造成短路非常危险。我的解决方案是在电池仓的金属内壁以及电池弹簧片的背面都贴上一层青稞纸一种绝缘且耐热的材料或者给弹簧片套上热缩管确保万无一失。3.2 PCB设计与焊接工艺为了极致紧凑我设计的是双面板并且大量使用0402封装的阻容元件。布局要点分区明确将电路按功能分区。电源部分充电、升压、开关放在板子一端数字部分单片机、逻辑门放在中间模拟部分传感器接口、比较器远离数字部分LED驱动放在板子边缘靠近灯孔的位置。地平面底层尽量保留完整的地平面这对射频电路的稳定性和抗干扰至关重要。顶层用敷铜做地并通过大量过孔与底层地平面连接。电池安装我放弃了传统的电池座而是在PCB背面设计了两个带焊盘的“卡槽”电池直接用镍带点焊上引线然后焊接到这两个焊盘上。这样节省了至少3-4毫米的厚度。传感器接口雷达模块和黄昏传感器板都通过排针插座与主板连接方便更换。插座旁边务必预留滤波电容的位置。焊接工艺阻容感元件使用钢网印刷锡膏然后用热风枪或加热台进行回流焊接。这是最标准的方式。密脚芯片对于像充电芯片这类有裸露焊盘的QFN封装手工焊接成功率低。我的方法是先用烙铁给PCB焊盘上锡并吹平然后在芯片底部焊盘和引脚上涂抹少量助焊膏用热风枪风速调低温度约300°C均匀加热PCB区域待锡熔化后轻轻放上芯片它会因表面张力自动对齐。冷却后检查引脚桥连用烙铁和吸锡线处理。USB-C接口这是受力件焊盘必须加固。除了本身的焊脚我在接口外壳的固定耳上也设计了通孔用铜柱或直接焊线加固到PCB上防止多次插拔后脱落。3.3 传感器子板制作黄昏传感器板因为电路简单为了快速验证和降低成本我直接做了单面板。流程在KiCad中布线将布线层放在底层顶层只放元件轮廓和标识。导出底层的布线层为DXF文件。使用一台小型桌面CNC雕刻机用一把0.2mm的V型刀直接在覆铜板上雕刻掉不需要的铜箔。深度只需刚好刻穿铜层即可。雕刻完成后钻孔焊接元件。这种方法非常适合简单电路的小批量制作比打样快且几乎没有成本。电位器和测试点的排针要刻意安排在板子边缘对准外壳上的调节孔。4. 组装、调试与实测心得把所有零件变成一台可靠的设备组装和调试是关键的最后一步。4.1 组装顺序与注意事项先装外壳内部结构将屏蔽罩的隔板、螺丝柱等先安装到外壳底壳上。确保所有金属件接触良好必要时用导电胶或点焊加强。焊接与测试主板先单独焊接和测试主板。使用可调电源模拟电池电压测试充电功能、升压输出、按键开关机、低压关断等功能是否正常。可以暂时不焊单片机先确保电源部分没问题。安装传感器将雷达模块或黄昏传感器板安装到屏蔽舱内用非导电的尼龙螺丝固定避免影响天线。连接排线到主板。安装主板与电池将主板固定到底壳。特别注意在放入电池前再次检查电池仓内壁和电极的绝缘是否完好。将电池用双面胶固定在仓内焊接引线。此时先不要封盖。初步功能联调雷达版上电用手在探测孔前缓慢移动观察LED是否触发闪烁。测试不同距离和角度的灵敏度。用金属板遮挡其他方向测试屏蔽效果。黄昏版上电用遮光罩盖住光敏电阻调节电位器直到LED开始闪烁。然后移除遮光罩LED应停止。反复几次确保触发稳定。最终封装调试无误后安装上盖拧紧螺丝。对于黄昏版记得换上半透明的前盖。4.2 阈值校准与灵敏度调节这是保证设备正常工作的核心调试步骤。雷达灵敏度HW-MS03模块上通常有两个可调电阻一个是灵敏度SEN一个是延时时间。我的建议是将延时时间调到最小。灵敏度先调到中间值。将设备安装在目标窗户上。请一个助手在窗外正常步行经过从距离窗户3米左右开始测试。如果无法触发缓慢调高灵敏度如果室内走动也触发屏蔽没做好也会导致则调低灵敏度。最终找到一个只在窗外特定区域如贴近窗户的走廊、阳台移动才会稳定触发的点。黄昏触发阈值这是一个需要耐心的过程。选择在目标时间点比如日落前后天色达到你想要的昏暗程度时进行调试。将设备放在窗户旁连接一个电压表到测试点测量比较器同相输入端电压。调节电位器观察电压值。当环境光强变化时这个电压会变化。你的目标是在天还亮时电压低于参考阈值比较器反相输入端电压在天色暗到你希望触发时电压高于参考阈值。找到这个临界点将电位器固定在此位置。然后用黑胶带封住调节孔防止误触。4.3 功耗测试与续航评估理论计算和实际总有差距必须实测。测试方法给充满电的电池4.2V接上设备。在电池回路中串联一个1欧姆的高精度采样电阻。用示波器或高精度万用表测量采样电阻两端的电压。测试待机电流设备关机状态下电流应小于10微安。设备开机但无触发雷达版或白天黄昏版状态下电流应等于雷达模块静态电流约4mA加上电源管理芯片的静态电流约几十微安。测试工作电流触发设备测量LED闪烁时的峰值电流。高亮LED瞬间电流可能达到50-100mA但由于是短脉冲平均电流很低。计算平均电流对于雷达版需要估算每天触发的次数和时长。假设每天误触发和有效触发共10次每次工作8秒则每天工作80秒。计算其占空比结合待机电流算出平均电流。对于黄昏版计算天黑时长例如12小时内每分钟闪烁5次每次亮0.2秒的平均电流。我的实测数据雷达版待机电流~4.1mA触发工作平均电流含LED闪烁~15mA假设平均每天累计工作2分钟则日平均电流 ≈ (4.1mA * 1438分钟 15mA * 2分钟) / 1440分钟 ≈ 4.11mA。电池有效容量按3000mAh计算理论续航时间 3000mAh / 4.11mA ≈ 730小时 ≈ 30天。实际使用中由于电池自放电、温度等因素能达到20-25天就需要充电与理论值基本吻合。当LED变为单闪提示低电量时通常还能再坚持3-5天。5. 常见问题、排查与优化建议在实际制作和使用中你肯定会遇到各种各样的问题。下面是我踩过坑后总结出来的速查表。问题现象可能原因排查步骤与解决方案设备完全不上电1. 电池电量耗尽或损坏。2. 电源开关电路故障。3. 电池触点氧化或接触不良。1. 用万用表测量电池电压应高于3.0V。连接充电器看红灯是否亮起。2. 短接负载开关的输入输出端如果设备能启动说明开关电路坏。3. 检查电池弹簧片是否压紧用酒精清洗触点。充电红灯不亮1. USB线或充电头故障。2. 充电芯片损坏。3. 电池已损坏内阻极大。1. 更换可靠的USB-C线和5V充电头。2. 测量充电芯片输入脚是否有5V电压。检查芯片周围电阻电容特别是设定电流的电阻。3. 断开电池测量其空载电压如果极低且接上负载后暴跌则电池可能已坏。雷达模式一直触发/不触发1. 灵敏度调节不当。2. 屏蔽不良受室内干扰。3. 雷达模块损坏。4. 供电电压不足。1. 重新调节灵敏度电位器。2. 检查金属屏蔽罩是否完全闭合且接地良好。尝试在室内移动观察是否触发。3. 测量雷达模块输出引脚移动时应有高低电平变化。4. 测量升压电路输出确保在3.9V以上。黄昏模式白天也闪/天黑不闪1. 光敏阈值设置不准。2. 光敏电阻被意外遮挡或老化。3. 比较器电路故障。1. 在目标光照环境下重新调节阈值电位器。2. 检查光敏电阻窗口是否清洁。测量其阻值随光照变化是否正常。3. 测量比较器输入输出电压逻辑是否正常。检查RC滤波电路。LED闪烁异常常亮/不亮1. LED驱动MOSFET击穿或损坏。2. 单片机程序跑飞或未正确控制IO口。3. LED本身损坏。1. 断开LED测量MOSFET栅极是否有PWM信号。测量MOSFET是否短路。2. 检查单片机是否正常供电复位电路是否正常。重新烧录程序。3. 用外部电源直接点亮LED测试。续航时间远短于理论值1. 待机电流过大。2. 电池容量虚标或老化。3. 存在异常持续触发雷达版。1. 用万用表uA档串联测量真实待机电流重点检查电源路径上的芯片静态电流。2. 对电池进行完整的充放电循环测试实际容量。3. 检查雷达模块输出是否因干扰而长期为高电平。几个独家优化建议增加随机化现在的闪烁模式是固定的长期观察可能被识破。可以在单片机程序中加入伪随机数让闪烁的间隔、次数在合理范围内随机变化更像真人的无规律动作。双传感器融合进阶可以尝试将雷达和光敏传感器结合。主控逻辑改为仅在黄昏/夜晚模式下才启用雷达检测。这样白天完全休眠进一步省电也避免了白天误触发。安装位置的艺术不要只装在窗户正中间。可以装在窗户侧面的窗框上让光线斜着打在窗帘或百叶窗上形成移动的光影效果更逼真。也可以考虑在上下窗框各装一个形成交替闪烁。防水与冷凝如果窗户冷凝严重内部电路可能受潮。可以在外壳内部关键电路区域点一些三防漆绝缘漆或者放入一小袋干燥剂。最后想说的是这个项目最有意思的地方不在于它用了多高深的技术而在于它用极其简单的电路和巧妙的思路实现了一个非常实用的安防心理战术。它提醒我很多时候解决问题不需要最复杂的方案而是需要对问题本质和人性有深刻的洞察。自己动手从电路设计、画板、焊接、编程到调试最后看到它忠实地在窗边闪烁那种成就感和安心感是买任何成品设备都无法替代的。如果你也对硬件DIY感兴趣不妨从这个项目开始它涉及了电源、模拟电路、数字控制、传感器和结构设计等多个方面是一个非常好的综合练手项目。