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% 的电压余量。
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 的散热压力就小一大截。但代价是芯片价格会贵不少。这是个取舍问题。
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);
}
2.5 选型总结与建议
说了这么多,最后给你几个实用建议:
- 先定电机,再定驱动。电机的额定电压、额定电流、相数,决定了驱动芯片的基本选型范围。
- 留足余量。电压留 20%,电流留 30%。别问我怎么知道的,都是泪。
- 关注封装和散热。小封装虽然省空间,但散热能力有限。如果电流超过 1A,我建议优先考虑带散热焊盘的封装。
- 善用 TI 的选型工具。它们能帮你省下至少半天的手动计算时间。
好了,这一章就到这里。下一章我会讲 DRV8870 的实战调试,包括 PWM 频率选择、电流检测校准、以及常见的 EMI 问题处理。到时候见。