跳转至

保护、安全与上电调试

好电路不只在“接线正确、程序正常”时工作,还要让错误可控、可诊断,并且首板能从电源开始一层层验证。


一、先区分三类保护

类别 目标 典型器件/措施
器件保护 避免 ESD、过压、反接、过流损坏芯片 TVS、限流电阻、保险、钳位、eFuse
系统可靠性 局部故障不拖垮整板,可自动检测恢复 分支电源、看门狗、欠压监控、故障反馈
人身/机械安全 失控时停止危险运动或能量 硬件急停、接触器、安全继电器、制动器

器件没烧不等于系统安全;MCU 能复位也不等于机器人已经停止。


二、外部接口保护

2.1 典型顺序

连接器 → ESD/浪涌泄放 → 串联限流/滤波
       → 电平转换或物理层收发器 → MCU

布局比原理图符号同样重要:保护器件靠近连接器,让干扰电流先泄放,不要先沿板内长线经过 MCU 再回地。

2.2 常见保护器件怎样用

器件 主要用途 容易犯的错误
TVS/ESD 二极管 钳位瞬态电压 工作电压选错、钳位仍过高、离接口太远
串联电阻 限制钳位/争用电流、阻尼边沿 阻值过大破坏高速信号
肖特基钳位 钳到受控电源/参考轨 故障电流把 3.3 V 电源轨抬高
RC 滤波 抑制带外噪声和毛刺 截止频率吞掉有效信号
共模扼流圈 抑制差分线共模干扰 当成所有总线必选件、引入谐振
隔离器 打断地电位差和故障传播 忘记隔离电源,或跨隔离区铺铜

2.3 TVS 选型

  • \(V_{RWM}\) 高于正常信号/电源最大值;
  • 在目标脉冲电流下的 \(V_C\) 低于后级可承受值;
  • 脉冲能量与测试标准匹配;
  • 高速接口结电容足够低;
  • 泄放回路的铜箔、过孔和参考地能承受脉冲;
  • 多线接口考虑线对地、线对线的故障模式。

不要默认 MCU 内部 ESD 二极管可以承担板外浪涌。内部钳位通常只允许很小的注入电流,具体以数据手册为准。

2.4 反灌电流

常见“幽灵上电”路径:

外部设备 TX/SDA/PWM 为高
→ MCU/缓冲器输入保护二极管
→ 已关闭的 3.3 V 电源轨被抬高
→ MCU 半上电、状态不可预测

检查所有供电组合:电池断/USB 接、主控断/传感器接、驱动器有电/MCU 无电。解决方案可能是支持 partial-power-down 的缓冲器、串阻、负载开关反向阻断、电源 ORing 或同时切断信号。


三、急停与硬件安全链

停止发命令不等于急停

MCU 停止 PWM、发送“零速度”或 ROS 节点退出,都不能作为唯一急停路径。程序可能死锁、通信可能中断、功率级可能保持上一次状态。

3.1 急停应该切断什么

根据机械风险选择:

  • 切断执行器主电源接触器;
  • 拉低所有驱动器硬件 EN;
  • 使用驱动器的 STO(Safe Torque Off)输入;
  • 触发机械制动器或安全阀;
  • 保留控制器低压供电,用于记录、通信和诊断。

3.2 设计问题

问题 应明确的答案
急停按钮断线 是否被视为急停,而不是“没有按下”
控制器掉电 执行器是否自动进入安全状态
解除急停 是否必须人工复位,防止自动恢复运动
重力/惯性 断电后机械臂是否下坠或继续滑行
母线电容 切断后多久仍有危险电压/运动能量
制动回生 急停时母线是否过压
单点故障 一个 GPIO、继电器粘连或线短路能否绕过急停

真正安全等级和冗余结构应由整机风险评估及适用标准决定。普通实验板也至少应做到:危险使能默认关闭、急停不依赖普通软件、解除后不会自动运动。


四、看门狗、电源监控和故障锁存

4.1 MCU 内部独立看门狗

正确的喂狗逻辑应代表系统真正健康:

控制任务按时运行
AND 通信/传感器没有超时到危险程度
AND 主循环没有卡死
→ 才允许喂狗

不要在定时器中断中无条件喂狗,否则主任务全部死锁时看门狗仍不会触发。

4.2 外部看门狗

当 MCU 失效必须撤销驱动使能时,可让外部看门狗监控一个有时间窗口的心跳:

MCU 心跳 → Window Watchdog → SAFE_EN
急停链 ───────────────────┘
硬件过流/过温 ─────────────┘

窗口看门狗不仅检测“没有脉冲”,也能检测程序卡在快速翻转引脚的错误状态。

4.3 电源监控

  • 欠压锁定防止电压不足时 MCU/驱动器处于半工作状态;
  • Supervisor 在电源稳定后释放复位,并在掉电时及时拉复位;
  • Power Good 可用于按顺序启动电源域;
  • Brown-out 门限应高于 MCU/Flash 不可靠工作的电压;
  • 欠压关断后恢复要有迟滞,防止反复启停。

4.4 故障锁存

快速过流可能短到 MCU 来不及采样。比较器可直接关断驱动,并用锁存器保存故障:

分流器 → 比较器 → 故障锁存 → 驱动 EN/Timer Break
                           └→ MCU FAULT 输入
MCU 仅在确认安全后发出 RESET_FAULT

这样保护速度由硬件决定,故障原因仍能被软件读取。


五、连接器和线束也是电路

5.1 选型检查

  • 额定电压、电流及环境温度降额;
  • 接触电阻与允许温升;
  • 线径、压接端子、压接工具和拉脱力;
  • 锁扣、防反插、振动和插拔寿命;
  • 相邻针脚短接/错位时的后果;
  • 是否允许热插拔;
  • 电源地和信号地怎样分配;
  • 屏蔽层/机壳地引脚怎样连接。

多针并联承载电流时,不要直接把单针额定值乘针数,实际均流受接触电阻和进出线布局影响。

5.2 防误插

  • 不让 24 V 电源和 3.3 V 调试口使用可互插但定义不同的同型连接器;
  • 丝印标连接器名称、1 脚、电压、极性和关键引脚;
  • 电源针和地针相邻,差分对相邻;
  • 排针接口保留足够地针,避免所有信号共用远端一根地;
  • 端子方向从“看板端”还是“看线端”在图纸中写清。

六、把原理图设计成可调试系统

6.1 推荐分页

00 系统框图、接口表、版本记录
01 电源入口与保护
02 5 V / 3.3 V 电源
03 MCU 最小系统
04 通信接口
05 传感器与模拟采样
06 执行器控制与连接器
07 安全链、测试点、装配配置

每个电路块旁写设计意图和计算结果,例如:

BAT_MAX = 25.2 V
5V_LIMIT = 2.5 A
CAN_TERM = DNP,只有总线端节点安装
VALVE_EN 默认下拉关闭
ADC_BAT_FS = 30 V → 2.9 V

6.2 必留测试点

类别 测试点
电源 BAT_RAW、BAT_PROTECTED、5V、3V3、VDDA、多个 GND
启动 NRST、BOOT、Power Good、各电源 EN
调试 SWDIO、SWCLK、UART TX/RX
通信 CANH/L、RS485 A/B、SDA/SCL、SPI SCK/CS
安全 ESTOP、SAFE_EN、FAULT、WATCHDOG_HEARTBEAT
模拟 分压输出、电流放大器输出、VREF、温度输入

地测试点要靠近被测信号,便于示波器使用短地弹簧。

6.3 0 Ω、焊桥和 DNP

  • 每个大模块电源入口用 0 Ω/磁珠位,首板可断开测电流;
  • 时钟、高速输出预留源端串阻位;
  • CAN/RS485 终端、I²C 上拉、地址脚做装配选项;
  • 电源路径需要比较方案时预留互斥焊桥;
  • DNP 必须写进 BOM 属性和装配说明,不能只留在聊天记录;
  • 不要为了“可配置”加入过多长支线和焊盘,损害高速/功率布局。

七、首板上电前检查

7.1 肉眼与资料核对

  • IC 方向、1 脚和裸露焊盘;
  • 二极管、TVS、电解/钽电容、连接器极性;
  • 防反 MOS 体二极管方向;
  • 电源芯片反馈分压、电感和电容值;
  • MCU 每个电源脚、VCAP、VREF、BOOT、NRST;
  • 自制封装与实际器件尺寸、引脚编号;
  • 焊桥、0 Ω、DNP 是否装对版本;
  • 焊锡短路、空焊、立碑和裸露焊盘焊接情况。

7.2 万用表静态检查

  1. 测 BAT、5 V、3.3 V 对地阻值;
  2. 二极管档检查电源防反与明显 PN 结方向;
  3. 检查相邻电源轨没有短接;
  4. 检查连接器电源/地与丝印一致;
  5. CAN 总线断电后确认终端等效阻值;
  6. 分区断开 0 Ω,找出低阻来自哪一模块。

低阻不一定等于短路:大电容充电、低阻负载和芯片内部结构都会影响读数。观察阻值随时间的变化,并与同型板/计算值比较。


八、分级上电

flowchart TD
    A[限流电源,低于正常输入开始] --> B[只验证输入保护]
    B --> C[单独启用 5 V,电子负载测试]
    C --> D[单独启用 3.3 V,测启动与纹波]
    D --> E[连接 MCU,先确认 SWD]
    E --> F[最小固件:时钟/LED/UART]
    F --> G[逐个启用传感器和通信]
    G --> H[低压限流连接驱动器]
    H --> I[最后接真实电池和执行器]

8.1 第一次上电

  • 不接电机、舵机、外部传感器和通信线;
  • 实验电源设置正确极性、较低电压和小电流限值;
  • 观察限流是否立即触发;
  • BAT_PROTECTED、5 V、3.3 V;
  • 检查异常发热,可用热像仪或少量异丙醇观察挥发;
  • 任何电压异常都停在当前层,不要靠“接上全部后也许会好”。

8.2 电源动态验证

万用表只能看平均值。示波器应测:

  • 上电/掉电过冲和单调性;
  • 负载阶跃时跌落与恢复;
  • Buck 输出纹波和 SW 波形;
  • 电机启动/制动时母线尖峰;
  • MCU 复位脚是否被噪声触发;
  • 限流/短路时是否打嗝、锁存或热循环。

探头使用短地弹簧。长鳄鱼夹地线会拾取环路噪声,制造并不存在的尖峰。

8.3 最小固件

首个程序只做:

稳定时钟
周期 LED
串口打印复位原因和电源状态
看门狗暂按可观察方式验证
所有执行器 EN 保持关闭

不要一开始运行 RTOS、全部通信栈和电机控制。先证明 MCU 能重复下载、复位、运行和输出日志。


九、故障注入测试

在可控条件下主动制造错误:

测试 期望结果
传感器电源短路 对应分支限流/关断,MCU 和通信继续运行
CAN/RS485 断线或短路 报通信故障,不造成整板掉电
编码器断线 速度/位置超时,执行器安全停止
MCU 复位/停止喂狗 驱动 EN 被撤销,不继续运动
急停线断开 与按下急停相同进入安全态
电池接近欠压 有迟滞地禁止大负载,不反复重启
USB 与电池同时接 没有 5 V 反灌或半上电
电机堵转短脉冲 硬件限流先动作,器件不过热/不过压

故障注入必须从低能量条件开始,并使用保险、限流电源和合适仪器。不要在没有安全边界时直接短接真实大电流电池。


十、现象到原因的排查顺序

现象 首先检查
电机启动 MCU 复位 5 V/3.3 V 跌落、输入线、储能、大电流回流、NRST 噪声
ADC 随 PWM 跳动 采样时刻、VREF、回流、RC、模拟线与 SW 节点耦合
CAN 偶发 Bus-off 终端、拓扑、支线、位时序、共模、连接器接触
I²C 偶发拉死 上拉、总线电容、掉电器件、地址冲突、恢复时钟
MOS 电流不大却很热 栅压不足、\(R_{DS(on)}\) 条件、开关太慢、散热不足
LDO 输出正确但烫 压差 × 电流、封装铜面积、环境温度
插 USB 后半亮 VBUS 或信号反灌,电源 ORing/掉电 IO 错误
SWD 连不上 NRST/BOOT、电源、SWD 引脚复用、目标电压参考、焊接
传感器一插就重启 接口脚序、短路、启动浪涌、外设拉死总线
空载正常、装机失败 线缆压降、地电位差、EMI、振动接触不良、温升

排查原则:

先电源 → 再复位/时钟 → 再物理电平 → 再协议 → 最后软件逻辑

不要在还没看 3.3 V 波形时反复改 PID 或通信代码。


十一、整板最终 Checklist

电源与能量

  • 输入最高/最低/瞬态、反接和热插拔条件明确;
  • 保险、防反、过压和分支限流保护完整;
  • 电机堵转、制动回生和多舵机同时启动已验证;
  • 大电流回流不穿过逻辑和模拟区域;
  • USB、传感器和驱动器不存在掉电反灌。

控制与接口

  • MCU 最小系统可重复下载、复位和恢复;
  • 所有危险 EN 在上电/复位时硬件默认关闭;
  • 外部接口有电平转换、保护和明确断线状态;
  • CAN/RS485 终端和偏置按整机位置配置;
  • 模拟输入量程、源阻抗、滤波和故障钳位正确。

安全与调试

  • 急停和快速故障关断不依赖普通软件;
  • 看门狗代表真实任务健康,故障恢复不会自动运动;
  • 所有电源、复位、使能、故障和总线都有可测位置;
  • 原理图标注设计范围、默认态和 DNP 配置;
  • 已完成限流分级上电、负载阶跃、温升和故障注入测试。

十二、整个系列的落脚点

一块可靠机器人电路板的设计链应当闭合:

功能需求
→ 接口/功耗/故障表
→ 电源树和模块框图
→ 选择拓扑与器件类别
→ 最坏情况计算
→ 安全默认态与保护
→ 可测原理图和 PCB
→ 分级上电、故障注入、整机验证

当每个外部接口都能回答“正常时怎么工作、错接时谁来保护、首板时在哪里测”,电路设计才算真正完成。