4. 上电自检流程(Power-On Self-Test)

上电自检,圈里人常叫它 POST。说白了,就是驱动器刚通电那几秒钟,自己给自己做个全身检查。

我见过不少新手,一上电就急着发指令让电机转。结果呢?要么报错,要么直接炸机。嗯,这里要记住:POST 没过,千万别动

这一节,我带你走一遍 POST 的三个核心检查项:母线电压检测逻辑电源检测通讯接口自检

核心原则:上电自检是驱动器的「第一道防线」。任何一项检测失败,都应立即停止初始化,并上报故障码。

上电自检(POST)流程 系统上电 ① 逻辑电源检测(3.3V / 5V / 24V) ② 母线电压检测(DC Bus) ③ 通讯接口自检(RS-485 / CAN / EtherCAT) 自检通过 → 进入待机

4.1 逻辑电源检测

驱动器里有好几路低压电源:3.3V 给 DSP 或 FPGA 用,5V 给编码器接口,24V 给 I/O 和继电器。这些电源只要有一路不正常,整个系统就别想跑。

检测方法:

  • 用 ADC 采样每路电源的输出电压
  • 与预设的阈值比较(比如 3.3V 允许 ±5%,即 3.135V ~ 3.465V)
  • 连续采样 3~5 次,全部通过才算合格

我的经验:有一次量产时,一批板子 3.3V 电源纹波偏大,但平均值还在范围内。结果上电自检偶尔过,偶尔不过。后来我加了「纹波检测」逻辑——不光看平均值,还看峰峰值。从那以后,再没出过这种怪问题。

常见故障:

  • 3.3V 偏低:通常是 LDO 虚焊或电容漏电
  • 24V 偏高:开关电源反馈电阻焊错
  • 5V 纹波大:滤波电容容量不足

4.2 母线电压检测

母线电压,就是整流滤波后那几百伏直流电。三相 220V 输入,母线大约 310V;三相 380V 输入,母线大约 540V。

为什么要测它?

  • 电压太低:电机没劲,还可能欠压报警
  • 电压太高:IGBT 模块可能直接击穿
  • 电压波动大:说明电网质量差,或者整流桥有问题

检测流程:

  1. 通过电阻分压网络,把母线高压降到 ADC 可测范围(0~3.3V)
  2. ADC 采样,软件换算回实际电压值
  3. 判断是否在「安全窗口」内(比如 310V ± 15%)
  4. 如果超出窗口,立即报故障并禁止功率管导通

⚠️ 安全警告:母线电压检测回路里,分压电阻的耐压和功率余量一定要留够。我见过有人用 0805 封装的电阻做 600V 分压,结果上电瞬间电阻炸了,PCB 都烧了个洞。老老实实用 1206 或更大封装,串联多个电阻分摊电压。

避坑指南:

  • 分压电阻要用高精度(±1% 或更好),温漂要小
  • ADC 采样要加滤波,硬件上 RC 滤波,软件上均值滤波
  • 母线放电回路要检查:断电后母线电压应该在几分钟内降到安全电压(36V 以下)

4.3 通讯接口自检

驱动器跟控制器之间,靠通讯接口传指令和状态。常见的接口有 RS-485、CAN、EtherCAT。自检的目的,就是确认这些接口的物理层和链路层是通的。

RS-485 自检:

  • 发送一个测试帧,然后通过回环(Loopback)模式接收
  • 比对发送和接收的数据是否一致
  • 检查总线电平是否在正常范围(A-B 差分电压 > 200mV)

CAN 自检:

  • 发送一个自检报文(比如 ID=0x7FF,数据为 0x55 0xAA)
  • 检查 ACK 位是否被总线确认
  • 检查错误计数器(TEC/REC)是否为 0

EtherCAT 自检:

  • 检查 ESC(EtherCAT 从站控制器)的寄存器状态
  • 确认链路状态(Link Status)为 UP
  • 读取从站信息接口(SII)的 EEPROM 数据,校验 CRC

实战要点:通讯自检不能只做一次。我习惯连续做 3 次,每次间隔 10ms。如果 3 次都通过,才认为通讯正常。为什么?因为通讯受干扰是偶发的,一次通过可能是运气,三次通过才是实力。

我曾经踩过的坑:

  • RS-485 的终端电阻没焊,导致通讯波形反射严重,自检时好时坏
  • CAN 总线共模电感选型不对,高频干扰导致错误帧暴增
  • EtherCAT 的 EEPROM 数据校验位写错,导致从站无法进入 OP 状态

4.4 自检时序与故障处理

三个检测项不是同时进行的,有先后顺序:

步骤 检测项 典型耗时 失败处理
1 逻辑电源检测 10~30ms 报故障码 0x01,系统停机
2 母线电压检测 50~100ms 报故障码 0x02,禁止功率输出
3 通讯接口自检 20~50ms 报故障码 0x03,进入安全状态

整个 POST 流程,一般控制在 200ms 以内。如果超过 500ms 还没完成,说明系统有严重问题,需要人工介入。

我的习惯:在自检通过后,把检测结果写入 EEPROM 或 FRAM。这样下次上电时,可以对比历史数据,看看有没有「慢慢恶化」的趋势。比如母线电压从 310V 慢慢降到 305V,虽然还在范围内,但说明整流桥可能老化了。提前预警,比等它坏了再修强得多。

好了,上电自检这部分就聊到这儿。记住一句话:自检不是走形式,是保命符。下一节我们聊「参数初始化与默认配置」,到时候见。


公众号:蓝海资料掘金营,微信deep3321