第三章 硬件原理图设计:电源、驱动、采样与位置检测

各位同学,咱们今天聊聊硬件原理图设计。说实话,很多做软件的同学觉得硬件就是照着参考设计抄一抄,没什么技术含量。但我在项目里吃过不少亏,才明白硬件设计才是整个电机控制的根基。你算法写得再好,电源一抖、采样一偏,全都白搭。

这一章,我重点讲四个核心模块:电源电路驱动桥电路电流采样电路位置检测电路。每个模块我都会结合自己踩过的坑来讲,希望能帮你少走弯路。

3.1 电源电路设计:LDO与Buck-Boost的选择

电源是电机控制板的“心脏”。心脏不好,全身都跟着遭殃。我个人习惯把电源设计放在第一位,因为后面所有电路的性能都依赖它。

3.1.1 LDO(低压差线性稳压器)

LDO 说白了就是“降压+稳压”。它的优点是纹波小、噪声低,非常适合给模拟电路供电,比如运放、ADC 参考电压。但缺点也很明显——效率低,尤其是压差大的时候,发热严重。

什么时候用 LDO?

  • 电流需求不大(< 200mA)
  • 对噪声敏感(比如电流采样运放的供电)
  • 输入输出压差小(比如 5V 转 3.3V)

关键参数:

  • Dropout Voltage(压差):越小越好,一般选 < 300mV
  • PSRR(电源抑制比):越高越好,至少 60dB@1kHz
  • 输出噪声:对于 ADC 参考,建议 < 10μVrms

我在项目中遇到过一个问题:用 LDO 给 MCU 供电,结果 MCU 频繁复位。查了半天,发现是 LDO 的负载调整率不够,MCU 瞬间电流大时电压跌了 0.3V。后来换了带快速瞬态响应的 LDO,问题解决。

3.1.2 Buck-Boost(升降压变换器)

Buck-Boost 的优势是输入电压范围宽,可以升压也可以降压。比如电池供电的设备,电池电压从 4.2V 降到 3.0V,你需要稳定的 3.3V,这时候 Buck-Boost 就派上用场了。

什么时候用 Buck-Boost?

  • 输入电压可能高于或低于输出电压
  • 需要高效率(> 85%)
  • 电流较大(> 500mA)

注意:Buck-Boost 的纹波一般比 LDO 大,而且开关噪声会耦合到输出。我曾经在一个项目中,Buck-Boost 的开关频率正好落在电流采样的频带内,导致采样值周期性跳动。后来加了 π 型滤波才搞定。

嗯,这里有个小技巧:如果你对噪声要求高,可以在 Buck-Boost 输出后面再加一级 LDO。虽然成本高一点,但效果立竿见影。

3.1.3 电源设计避坑指南

  • 布局:大电流回路要短粗,反馈走线要远离电感
  • 电容:输入输出电容不要只看容值,ESR 和 ESL 更重要
  • 散热:LDO 的散热焊盘一定要打过孔到地平面

我曾经在一个 24V 转 5V 的项目里,LDO 没加散热焊盘,结果一上电芯片直接冒烟。嗯,从那以后我设计电源第一件事就是算功耗。

3.2 驱动桥电路:MOSFET 与 IGBT 的选择

驱动桥是电机控制的核心功率部分。说白了,就是通过开关管把直流电变成交流电,驱动电机旋转。

3.2.1 MOSFET vs IGBT

参数 MOSFET IGBT
适用电压 < 600V > 600V
适用频率 > 20kHz < 20kHz
导通压降 Rds(on) 决定,低压时小 Vce(sat) 固定,高压时优势
开关速度 快(ns 级) 慢(μs 级)
驱动方式 电压驱动 电流驱动

我个人习惯:低压(< 100V)、高频(> 20kHz)用 MOSFET高压(> 600V)、低频(< 10kHz)用 IGBT。中间区域(100V-600V)看具体应用,比如电动自行车常用 MOSFET,而工业变频器多用 IGBT。

3.2.2 驱动电路设计要点

驱动电路不只是把 PWM 信号放大那么简单。你想想看,MOSFET 的栅极是个电容,开关瞬间需要很大的充放电电流。如果驱动能力不够,开关速度就会变慢,导致开关损耗增加。

驱动电路设计原则:

  • 驱动电流:根据栅极电荷 Qg 和开关时间要求计算,一般至少 1A
  • 栅极电阻:控制开关速度,兼顾 EMI 和损耗
  • 死区时间:防止上下桥臂直通,一般设 100ns-1μs
  • 自举电路:用于高侧驱动,注意自举电容的容量和耐压

我的经验:栅极电阻不要一味求小。太小了开关速度快,但 EMI 会变差,而且容易引起栅极振荡。我一般从 10Ω 开始试,根据波形调整。

我曾经在一个项目中,为了追求效率把栅极电阻设成 0Ω,结果 MOSFET 在开关瞬间剧烈振荡,直接把驱动芯片烧了。嗯,从那以后我老老实实加电阻。

3.2.3 保护电路

驱动桥最容易出问题的是过流和过温。我建议至少加以下保护:

  • 逐周期限流:每个 PWM 周期检测电流,超过阈值立即关断
  • 过温保护:在散热器上贴 NTC 热敏电阻,温度超过 100°C 停机
  • 欠压锁定:驱动电压低于阈值时禁止输出

3.3 电流采样电路:Shunt 与霍尔

电流采样是 FOC 控制的关键。采样不准,你的电流环就白调了。我见过太多人花大把时间调 PI 参数,结果发现是采样电路的问题。

3.3.1 采样电阻(Shunt)方案

Shunt 采样说白了就是串一个小电阻,测它两端的电压。优点是精度高、成本低、带宽大。缺点是会引入损耗,而且需要隔离。

设计要点:

  • 电阻值:根据最大电流和 ADC 满量程计算,一般 1-10mΩ
  • 功率:P = I²R,要留 2 倍余量
  • 布局:Kelvin 连接(四线制),避免走线电阻影响
  • 运放:需要差分放大器,共模抑制比 > 80dB

采样电阻选型表(参考):

最大电流 电阻值 功率 封装
10A 5mΩ 0.5W 2512
30A 2mΩ 1.8W 4527
100A 0.5mΩ 5W TO-220

我在项目中遇到过一个问题:采样电阻的焊盘设计不合理,导致焊接后阻值变了 10%。后来改用四线制开尔文连接,问题解决。你想想看,0.5mΩ 的电阻,焊锡的电阻可能就有 0.1mΩ,影响很大。

3.3.2 霍尔电流传感器方案

霍尔传感器利用霍尔效应测量电流,优点是隔离、无损耗、带宽适中。缺点是精度不如 Shunt,而且有温漂。

什么时候用霍尔?

  • 电流很大(> 50A),Shunt 损耗太大
  • 需要隔离,不想用隔离运放
  • 对精度要求不高(< 5%)

常用的霍尔芯片有 ACS712、ACS758 等。注意选型时要考虑带宽,一般电机控制需要至少 20kHz 的带宽。

注意:霍尔传感器对磁场敏感,安装时要远离电机和电感。我曾经把霍尔传感器放在电感旁边,结果输出直接偏了 20%。

3.4 位置检测电路:编码器与霍尔传感器

位置检测是电机控制的眼睛。没有准确的位置信息,FOC 就变成了开环控制。

3.4.1 编码器接口电路

编码器分增量式和绝对式两种。增量式输出 A、B、Z 三路信号,绝对式输出串行数据(如 SSI、BiSS)。

增量式编码器接口设计:

  • 差分信号:长距离传输用 RS-422 差分,抗干扰能力强
  • 上拉电阻:集电极开路输出需要上拉到 5V 或 3.3V
  • 滤波:加 RC 低通滤波,截止频率设为编码器最高频率的 3-5 倍
  • 去抖:用施密特触发器整形,防止信号抖动

我个人习惯用 AM26LS32 做差分接收,SN74HC14 做施密特整形。这套组合我用了很多年,从来没出过问题。

3.4.2 霍尔传感器接口电路

霍尔传感器常用于无刷直流电机的换相检测。它输出三路 120° 相位差的方波信号。

设计要点:

  • 上拉电阻:霍尔元件一般是开漏输出,需要上拉到 5V
  • 滤波电容:在霍尔电源引脚加 0.1μF 去耦电容
  • 布局:霍尔传感器要靠近电机磁钢,但远离大电流走线

我的经验:霍尔传感器的安装位置很关键。偏差 1mm,换相点可能偏移 5° 电角度。我一般先用 3D 打印一个夹具固定霍尔板,调试好了再正式安装。

我曾经在一个项目中,霍尔信号总是有毛刺,导致换相错误。查了半天,发现是霍尔电源的滤波电容离得太远。后来把电容移到霍尔引脚旁边,毛刺消失。

3.4.3 位置检测的常见问题

  • 信号干扰:编码器线缆要用屏蔽双绞线,屏蔽层单端接地
  • 电平匹配:编码器输出 5V,MCU 是 3.3V,需要电平转换
  • 初始化:绝对式编码器上电后需要读取初始位置

嗯,这里要注意:编码器的 Z 信号(零位信号)每圈只出现一次,可以用来校准位置。我一般在上电后先找 Z 信号,然后以此为基准。


好了,这一章的内容就到这里。电源、驱动、采样、位置检测,这四个模块是硬件设计的核心。你把这些搞明白了,电机控制板的硬件设计就成功了一大半。

下一章我们讲 PCB 布局和布线,那又是另一个坑。到时候我给大家讲讲怎么避免“地环路”和“串扰”这些常见问题。