程序项目代做,有需求私信(小程序、网站、爬虫、电路板设计、驱动、应用程序开发、毕设疑难问题处理等)

龙芯2k0300 - 走马观碑组PWM驱动移植

在《龙芯2k0300 - 走马观碑组第21届智能汽车竞赛软硬件设计》中我们使用了DRV8701双路电机驱动,DRV8701双路电机驱动采用门极驱动芯片DRV8701E + N-MOSTPH1R403NL方案,输入电源5.9V ~ 28V均可使用,带过流保护功能。

一、DRV8701双路电机驱动

其中

  • PH-6P接口用来隔离供电以及信号输入;
  • 红色端子同来提供直流电压输入,输入电压5.9-28V,一般大小为电机可承受的最大电压;
  • 蓝色端子是直流电压输出,输出电压与输入PWM值正相关,连接到电机上。

1.1 电路原理图

电路原理图如下:

1.1.1 DRV8701E

DRV8701E是德州仪器 (TI) 的一款单H桥栅极驱动器,专门用来控制外部的4N沟道MOSFET,关键特性;

  • 控制接口:它采用PH/EN (相位/使能)逻辑接口。这意味着你只需要两个GPIO信号就能控制电机的正转、反转、刹车和滑行,逻辑非常清晰。
  • 自举供电:它内置了一个电荷泵 (Charge Pump),可以产生驱动高侧N-MOS管所需的高于电源电压的栅极驱动电压(通常为 9.5V),这使得它可以高效地驱动高侧开关。
  • 可调驱动强度:它有一个 IDRIVE 引脚,可以通过一个电阻来调节栅极的驱动电流(从6mA150mA)。在龙邱方案中(5.9V-28V 输入),这个功能非常有用,可以根据电源电压调整开关速度,平衡开关损耗和电磁干扰 (EMI)。
  • 电流检测与保护:它内置了电流检测放大器,配合外部采样电阻,可以实现 PWM电流斩波(限制启动或堵转电流)。同时具备欠压锁定 (UVLO)、过流保护 (OCP) 和热关断 (TSD) 功能。
1.1.2 TPH1R403NL

这是一款ToshibaN沟道MOSFET,这里会用到4颗(H桥结构),关键特性;

  • 超低导通电阻:它的\(R_{DS(ON)}\)典型值仅为1.7 mΩ (在\(V_{GS}=4.5V\)时)。这是一个非常惊人的低数值,意味着导通损耗极低,发热小,效率极高;
  • 大电流能力:单颗芯片的漏极电流可达60A-150A(取决于测试条件),配合DRV8701E的强驱能力,足以应对大扭矩电机的启动电流。
  • 低门槛电压:它支持4.5V的低电压逻辑驱动。这与DRV8701E在电池供电(如5.9V-12V)时的输出电压完美匹配,确保在电池电压下降时MOS管依然能完全导通,避免烧管。
1.1.3 74HC125PW

74HC125PW是一款非常经典的数字逻辑芯片,它的核心身份是“四路缓冲器/线路驱动器”,并且带有三态输出功能。

可以把它想象成4个独立的电子开关;

  • 缓冲/驱动(增强信号):当开关“打开”时,它会将输入的信号(01)原样输出,但输出能力更强。比如,单片机的引脚电流很小,带不动大功率负载,通过74HC125后,就能驱动更重的负载(比如长导线或更多的逻辑门);
  • 三态输出(关键功能): 这是它最特别的地方。普通的芯片输出只有“高电平(1)”和“低电平(0)”。而74HC125有第三种状态高阻态,高阻态相当于开关断开,这根线就像悬空一样,既不输出高也不输出低,对电路没有任何影响。

它还可以用来隔离信号,防止不同模块之间的信号干扰。

1.2 控制原理

DRV8701有两种控制模式:PH/EN模式以及PWM模式,DRV8701芯片表面印的字,最后会有一个字母,决定了它的工作逻辑:

  • DRV8701E(后缀是 E)芯片内部电路被设计为PH/EN模式,此时,15号引脚被定义为PH(方向),14号引脚被定义为EN(使能);
  • DRV8701P(后缀是 P):芯片内部电路被设计为 PWM (IN1/IN2) 模式。此时,15号引脚被定义为IN114 号引脚被定义为 IN2
1.2.1 PH/EN模式

这种模式使用PH(Phase/相位)和EN(Enable/使能)两个信号来控制电机。逻辑非常直观,适合单片机控制。

1.2.2 PWM模式

这种模式使用IN1IN2两个信号直接控制H桥的上下臂,通常用于直接输入PWM波的场景。

1.2.3 H桥工作原理

更多H桥工作原理内容可以参考《H桥工作原理》。

1.3 逻辑控制

1.3.1 控制逻辑

经过前面的分析,不难得出电机控制逻辑;

nSLEEP PWM1(EN/IN2) GPIO1(PH/IN1) 电机状态
0 X X 电机停止
1 0 X 刹车(续流)
1 1 0 反转
1 1 1 正转

所以我们给引脚GPIO1为高电平,然后引脚PWM1输入PWM就可以进行电机调速控制。

PWM波的占空比越大时,蓝色端子输出的电压值与红色端子的电压值越接近,反之则与0V越接近。

PWM波的频率不可以随意设置,频率太低会导致电机运转不畅,振动大,噪音大;频率太高会导致驱动器开关损耗较大,甚至有电机会啸叫而不转的情况。一般1k~30kPWM频率较为普遍,几百Hz的也有,实际上需要根据电机功率在测试时确定合适的PWM频率范围为宜。

1.3.2 硬件接线

久久派底版控制口原理图如下:

img

DRV8701双路电机驱动板与龙芯2K0300开发板的连接关系需严格对应,连接表如下:

电机驱动板 功能 连接的龙芯GPIO 说明
3.3V 提供工作电压 3.3V 接3.3V
PWM1 电机PWM控制 GPIO65(SPI2_MISO) 电机PWM控制
GPIO1 电机使能 GPIO75(CAN3_TX) 电机使能
PWM2 电机PWM控制 GPIO66(SPI2_MOSI) 电机PWM控制
GPIO2 电机使能 GPIO74(CAN3_RX) 电机使能
GND 电源共地,确保电压稳定性 GND 必须可靠接地,否则可能出现显示异常

PWM设备驱动

PWM相关可参考《Rockchip RK3399 - GPIO&PWM风扇调试》,龙芯提供的内核源码已支持。

2.1 内核配置

2.2 PWM驱动

2.3 新增设备节点

三、应用程序

3.1 main

3.2 Makefile

3.3 编译应用程序

四、测试

4.1 烧录设备树

4.2 应用程序测试

参考文章:

[1] 基于直流有刷电机的速度闭环控制以及matlab仿真

[2] STM32F103直流有刷电机速度闭环控制

[3] Rockchip RK3399 - GPIO&PWM风扇调试

posted @ 2026-03-31 22:26  大奥特曼打小怪兽  阅读(4)  评论(0)    收藏  举报
如果有任何技术小问题,欢迎大家交流沟通,共同进步