使用Arduino控制BTS7960直流电机驱动模块
在本教程中,我们将学习如何使用Arduino控制BTS7960直流电机驱动模块。该设置允许您使用脉宽调制(PWM)控制直流电机的方向和速度。在本教程结束时,您将拥有一个可以轻松修改以满足您自己项目的工作电机控制系统。有关详细的视觉指导,请确保查看视频(在视频中于00:00)。
硬件解析
BTS7960是一款高电流直流电机驱动器,能够处理最高达43安培的电流。它由两个集成电路(IC)组成,允许电机在顺时针(CW)和逆时针(CCW)方向上控制。该驱动器使用PWM信号来改变电机的速度,这对需要精确控制的应用至关重要。
该模块的另一个重要方面是其内置的电流感应和过温保护功能。这有助于防止在操作过程中对电动机和驱动器造成损坏。该模块由外部电源供电,并且还需要一个单独的5V电源供其逻辑电路使用。
数据表详细信息
| 制造商 | 英飞凌科技 |
|---|---|
| 零件号 | BTS7960 |
| 逻辑/IO 电压 | 5 V |
| 供应电压 | 6-27 V |
| 输出电流(每通道) | 43 A 最大 |
| 每个通道的峰值电流 | 60 A |
| PWM频率指导 | 25 kHz |
| 输入逻辑阈值 | 0.8 伏 (高),0.3 伏 (低) |
| 电压降 / RDS(开启)/ 饱和度 | 16 毫欧 |
| 热限制 | 最大125°C |
| 包裹 | PTO-263-7 |
| 注释 / 变体 | 双H桥配置 |
- 确保高电流应用的适当散热。
- 使用适当的电线标准来承载最大电流。
- 保持PWM频率在规定范围内,以实现最佳性能。
- 在电源引脚附近实施解耦电容,以稳定电压。
- 在操作过程中监测温度,以防止过热。
接线说明

要将BTS7960电机驱动模块连接到您的Arduino,您需要正确连接电源、接地、控制和电机端子。首先,将电源连接到模块的B+和B-终端,确保极性正确。该B+终端是正电源连接的地方,而B-接地。
接下来,将电动机连接到M+和M-模块上的端子。这些将控制电机的方向。对于控制引脚,将Arduino引脚连接到模块,如下所示:RPWM接在 3 号针上,R_EN到引脚 4,R_IS连接到5号引脚,LPWM连接到引脚 6,L_EN到引脚7,和L_IS连接到引脚8。确保将Arduino的接地连接到模块的接地。
安装所需库
安装使得robojax_BTS7960_motor_driver_library在Arduino IDE中,首先从提供的链接下载库的ZIP文件。保存文件后,打开你的Arduino IDE并导航到草图 > 包含库 > 添加 .ZIP 库...在文件选择对话框中,浏览到下载的ZIP文件,选择它,然后点击“打开”。IDE将安装该库。您可以通过检查来确认安装成功。文件 > 示例菜单,应该会出现一个名为“Robojax BTS7960 电机驱动库”的新类别。您现在可以在代码中包含库头文件。#include <RobojaxBTS7960.h>.
代码示例和演示
Arduino控制BTS7960电机驱动程序的代码首先定义了必要的引脚。例如,右侧PWM信号的引脚定义为RPWM并设置为引脚 3。此外,右侧的使能引脚被定义为R_EN并设置为引脚 4。
#define RPWM 3 // define pin 3 for RPWM pin (output)
#define R_EN 4 // define pin 4 for R_EN pin (input)此设置确保电机的控制能够准确。setup()功能,电机初始化为motor.begin(), 这为司机准备了操作。
void setup() {
Serial.begin(9600);// setup Serial Monitor to display information
motor.begin(); // Initialize motor
}在loop()电机的方向和速度是通过使用函数来控制的。motor.rotate(speed, direction)方法。例如,要以顺时针方向以全速运行电动机,您将使用motor.rotate(100, CW);.
void loop() {
motor.rotate(100,CW); // run motor with 100% speed in CW direction
delay(5000); // run for 5 seconds
}有关更多详细示例和变体,请务必查看文章下面加载的完整代码。
演示 / 期待什么
当一切连接和编程正确时,您应该期望电机根据代码在两个方向上旋转。最初,电机会以全速运行五秒钟,停止三秒钟,然后以相同的时间反向旋转。这个循环会重复,让您看到电机对PWM信号的响应。
常见的陷阱包括连接电机或电源时极性反转,这可能会损坏组件。此外,请确保代码中PWM引脚正确分配(视频中的 12:34)。
视频时间戳
- 00:00 开始
- 00:48 硬件解析
- 04:06 数据表已查看
- 07:07 电线连接说明
- 09:00 代码解释
- 14:33 示范
- 16:47 最大电流测试
- 19:25 热成像
- 19:27 不同的代码测试
This code has not been parsed yet. Please return to the admin panel to parse it.
This code has not been parsed yet. Please return to the admin panel to parse it.
资源与参考
-
外部BTS7960 在意大利亚马逊上amzn.to
-
外部BTS7960 在西班牙亚马逊amzn.to
-
外部BTS7960 日本亚马逊amzn.to
-
外部BTS7960,德国亚马逊amzn.to
-
外部从亚马逊购买BTS7960amzn.to
-
外部从加拿大亚马逊购买BTS7960amzn.to
-
外部在法国亚马逊上出售的BTS7960amzn.to
-
外部购买BTS7960,亚马逊英国amzn.to
文件📁
Arduino 库(zip 格式)
-
robojax_BTS7960电机驱动库
robojax_BTS7960_motor_driver_library.zip0.10 MB
数据手册 (pdf)
-
BTS7960_数据表
BTS7960_datasheet.pdf0.45 MB
Fritzing 文件
-
BTS7960驱动器
BTS7960_driver.fzpz0.01 MB