2. TI 电机驱动芯片选型:DRV8xxx系列介绍、选型参数详解与实战案例

做电机驱动这么多年,我选型时最常打交道的,就是 TI 的 DRV8xxx 系列。说实话,这个家族太庞大了,从几毛钱的直流电机驱动,到几十块钱的高性能伺服驱动,全都有。你如果刚接触,很容易看花眼。

今天我就带你捋一遍。咱们不念 datasheet,我挑几个关键点,结合我踩过的坑,把选型逻辑讲透。

2.1 DRV8xxx 系列整体架构

TI 把电机驱动芯片分成了几个大类。我个人习惯按应用场景来记:

  • 直流有刷电机(DC Brushed):比如 DRV8837、DRV8870、DRV8873。结构简单,一个 H 桥搞定。
  • 步进电机(Stepper):比如 DRV8825、DRV8880、DRV8434。带微步进,电流调节是核心。
  • 无刷直流电机(BLDC / PMSM):比如 DRV8301、DRV8323、DRV8353。三相驱动,带栅极驱动器和电流检测。
  • 集成 MOSFET 型:芯片内部直接集成了功率管,适合小功率场景。
  • 外置 MOSFET 型:只提供栅极驱动,功率管你自己选,适合大电流、高电压。

你想想看,选型第一步,其实就是先确定你的电机类型。这个搞错了,后面全白搭。

2.2 选型参数详解:电流、电压、RDS(on)

这三个参数,是选型的硬门槛。我一个个说。

2.2.1 电压范围

DRV8xxx 的工作电压跨度很大。低压的有 1.8V 就能启动的,比如 DRV8837;高压的有能到 100V 的,比如 DRV8353。

这里有个坑:额定电压和绝对最大电压是两码事。我曾经有个项目,用了 24V 的电源,选了颗标称 30V 的芯片。结果电机刹车时,母线电压瞬间冲到 32V,芯片直接炸了。嗯,从那以后,我选型至少留 20% 的电压余量。

⚠️ 避坑指南: 我曾经因为没考虑电机反电动势,导致芯片过压损坏。建议选型时,把电源电压、电机反电动势、以及可能的浪涌都算进去。安全裕量至少 1.2 倍。

2.2.2 电流能力

电流参数最容易让人误解。datasheet 上通常会写两个值:

  • 峰值电流(Peak Current):芯片能扛的瞬间电流,一般持续几毫秒到几百毫秒。
  • 连续电流(RMS Current):芯片能长期稳定输出的电流。

我见过不少新手,看到峰值电流 5A,就以为能一直跑 5A。结果芯片热保护了。说白了,连续电流才是你设计散热时的依据

型号 峰值电流 连续电流 典型应用
DRV8837 1.8A 0.7A 小玩具、微型泵
DRV8870 3.6A 1.5A 智能锁、小风扇
DRV8873 10A 4.5A 汽车门锁、雨刮
DRV8323 8A(外置MOS) 取决于MOS 无人机、机器人

2.2.3 RDS(on) —— 导通电阻

这个参数直接决定了芯片的发热量。公式很简单:P = I² × RDS(on)

举个例子,DRV8870 的 RDS(on) 典型值是 0.5Ω(高边+低边合计)。如果你跑 1A 电流,功耗就是 1² × 0.5 = 0.5W。对于一个小封装来说,0.5W 已经需要好好考虑散热了。

我个人的经验是:RDS(on) 每降低 0.1Ω,PCB 的散热压力就小一大截。但代价是芯片价格会贵不少。这是个取舍问题。

💡 小技巧: 如果你发现芯片温度过高,除了换大封装,还可以检查一下 PWM 频率。频率太高,开关损耗会显著增加。我一般把 PWM 频率控制在 20kHz 到 50kHz 之间,兼顾噪声和效率。

2.3 选型工具:TI 的 Webench 和 Motor Driver Selection Tool

TI 提供了两个很实用的在线工具,我几乎每个项目都会用。

  • Motor Driver Selection Tool:输入你的电压、电流、电机类型,它会自动推荐合适的芯片。适合快速筛选。
  • Webench Power Designer:如果你需要设计电源部分,这个工具能帮你算功耗、选外围器件、甚至生成原理图。

我记得有一次,客户要求把电机驱动板做到 10mm × 10mm 以内。我手动算了半天散热,总觉得不放心。后来用 Webench 跑了一遍,发现推荐的铜箔面积比我预想的大了 30%。嗯,幸亏用了工具,不然板子打样回来肯定要重做。

2.4 实战案例:用 DRV8870 驱动一个 12V 直流有刷电机

这个案例很典型,我拿出来说说。

需求: 一个 12V、1A 的直流有刷电机,需要正反转和 PWM 调速。

选型: DRV8870。为什么选它?因为它的电压范围是 6.5V 到 45V,连续电流 1.5A,完全够用。而且它内部集成了电流检测,省掉了外部分流电阻。

电路设计要点:

  • IN1 和 IN2 控制正反转。IN1=高、IN2=低,电机正转;反过来就是反转。
  • PWM 信号接到 IN1 或 IN2,实现调速。
  • nSLEEP 引脚要拉高,否则芯片会进入休眠模式。
  • 电流检测输出 ISEN,可以接 ADC 做堵转保护。
// 简单的 PWM 控制代码(Arduino 示例)
// 假设 IN1 接 D5,IN2 接 D6,PWM 频率 20kHz

void setup() {
  pinMode(5, OUTPUT);
  pinMode(6, OUTPUT);
  // 设置 PWM 频率为 20kHz(需要修改定时器寄存器)
  TCCR0B = TCCR0B & B11111000 | B00000010;
}

void loop() {
  // 正转,50% 占空比
  digitalWrite(5, HIGH);
  analogWrite(6, 128);  // 0-255,128 约等于 50%
  delay(2000);

  // 停止
  digitalWrite(5, LOW);
  digitalWrite(6, LOW);
  delay(1000);

  // 反转,75% 占空比
  digitalWrite(6, HIGH);
  analogWrite(5, 192);  // 75%
  delay(2000);
}
🔑 关键点: 实际调试时,我发现 DRV8870 的电流检测输出 ISEN 引脚,输出的是电压信号,比例是 0.5V/A。也就是说,1A 电流时,ISEN 引脚电压是 0.5V。这个信号可以直接送给单片机的 ADC,用来做堵转检测或电流环控制。

2.5 选型总结与建议

说了这么多,最后给你几个实用建议:

  • 先定电机,再定驱动。电机的额定电压、额定电流、相数,决定了驱动芯片的基本选型范围。
  • 留足余量。电压留 20%,电流留 30%。别问我怎么知道的,都是泪。
  • 关注封装和散热。小封装虽然省空间,但散热能力有限。如果电流超过 1A,我建议优先考虑带散热焊盘的封装。
  • 善用 TI 的选型工具。它们能帮你省下至少半天的手动计算时间。

好了,这一章就到这里。下一章我会讲 DRV8870 的实战调试,包括 PWM 频率选择、电流检测校准、以及常见的 EMI 问题处理。到时候见。