去年参加大学生智能车竞赛时,我们团队遇到了一个棘手的问题:市面上现成的电机驱动模块要么功率不足,要么体积过大,要么价格昂贵。经过多次测试和方案迭代,最终决定自己设计一款基于DRV8701的双路电机驱动PCB。这款驱动板不仅成功解决了我们的动力问题,还在后续的校际比赛中帮助车队获得了优异成绩。
DRV8701是TI出品的一款高性能栅极驱动器,特别适合驱动N沟道MOSFET。相比传统L298N等方案,它具有更高的开关频率(可达100kHz)、更低的导通电阻(典型值仅0.45Ω)和更完善的保护功能。双路设计可以同时控制两个直流电机,非常适合智能车的差速转向需求。
提示:选择DRV8701而非普通驱动芯片的关键在于其内置的死区时间控制功能,能有效防止H桥上下管直通,这对保护MOSFET至关重要。
整个驱动板的核心是两片DRV8701(U1和U2),每片负责一个H桥驱动。原理图设计中有几个关键点需要注意:
电源部分:
MOSFET选型:
保护电路:
四层板设计(TOP-GND-POWER-BOTTOM)是这类大电流驱动的最佳选择。以下是实测有效的布局经验:
注意:DRV8701的VCP引脚(自举电源)到HS引脚的走线要尽量短粗,这是最容易出问题的部位之一。
DRV8701的死区时间由IDRIVEN和IDRIVEP寄存器控制。根据我们的实测数据:
code复制Ig = Qg × fsw = 18nC × 20kHz = 0.36mA
实际设置IDRIVE=110(对应100mA驱动电流),留有足够余量采样电阻Rsense=0.01Ω,INA240增益G=50:
解决方案:
初期测试时发现偶尔会出现DRV8701异常复位,最终定位到是上电顺序不当导致:
在20kHz PWM下,电机导线辐射的EMI会影响摄像头采集。我们通过以下措施改善:
持续30A电流测试时,MOSFET温升过快。改进措施:
经过优化后的驱动板实测表现:
| 测试项目 | 参数值 |
|---|---|
| 最大持续电流 | 30A(每路) |
| 峰值电流 | 50A(100ms) |
| 效率@20A | 98.2% |
| 开关延迟 | 开启120ns/关闭90ns |
| 温升@20A连续 | ΔT=35℃(无风扇) |
这套驱动系统最终助力我们的智能车在直线加速段达到3.2m/s的最高速度,相比之前使用的商用驱动模块提升了22%。整个PCB设计文件(Altium Designer格式)和测试代码已开源在GitHub,关键词"Freescale-DRV8701-Driver"即可找到。