电子说
在机器人和机电一体化领域,电机驱动板的性能对于系统的整体表现至关重要。今天,我们就来详细了解一下 Adafruit DRV8871 有刷直流电机驱动开发板,看看它为何能成为众多工程师的首选。
文件下载:3190.pdf
Adafruit DRV8871 电机驱动开发板是一款功能强大的设备,能为各类机电一体化项目提供有力支持。它具有诸多出色的规格参数,例如简单的电阻设置电流限制功能和自动 PWM 支持,这使得它能与几乎任何有刷直流电机轻松适配,使用起来非常便捷。
使用时,只需将电机连接到 OUT 端子块,通过 VMotor 提供 6.5 - 45VDC 的电源,并在 IN1 和 IN2 上提供 H 桥输入控制。甚至可以对输入进行 PWM 操作,驱动芯片会自动处理。另外,还能通过外部电阻 Rlim 设置电流限制,默认焊接的 30K 电阻可实现约 2A 的电流限制,若有需要,可移除或更换该电阻来改变限制值。
有两组焊盘内部相连,可使用面包板或端子块为电机和芯片提供 6.5V - 45VDC 的电源。需要注意的是,这与芯片最高 5.5VDC 的逻辑电平不同,而且无需为芯片单独提供逻辑电平电源,使用起来更加方便。
IN2 连接到 OUT2,IN1 连接到 OUT1。这些引脚可使用最高 5.5V DC 的逻辑电平,支持最高 200KHz 的 PWM 输入,但较低的频率效率会更高。
这里是连接电机的位置,适用于任何直流有刷电机。为避免因导线电阻导致电压下降,建议使用较粗的导线。
确保焊接所有引脚,以实现可靠的电气连接。若对焊接技巧不太熟悉,可参考 Adafruit 的优秀焊接指南。
接下来,焊接两个 3.5mm 端子块,用于连接电源和电机。要确保端子的开口朝外,方便连接电线。为固定端子块,可使用胶带或粘性黏土。焊接完成后,移除胶带即可。
使用该电机驱动板非常简单,只需将两个输入引脚连接到微控制器的 PWM 输出端。以 Arduino 为例,以下是一个基本的测试代码:
// Basic sketch for trying out the Adafruit DRV8871 Breakout
#define MOTOR_IN1 9
#define MOTOR_IN2 10
void setup() {
Serial.begin(9600);
Serial.println("DRV8871 test");
pinMode(MOTOR_IN1, OUTPUT);
pinMode(MOTOR_IN2, OUTPUT);
}
void loop() {
// ramp up forward
digitalWrite(MOTOR_IN1, LOW);
for (int i = 0; i < 255; i++) {
analogWrite(MOTOR_IN2, i);
delay(10);
}
// forward full speed for one second
delay(1000);
// ramp down forward
for (int i = 255; i >= 0; i--) {
analogWrite(MOTOR_IN2, i);
delay(10);
}
// ramp up backward
digitalWrite(MOTOR_IN2, LOW);
for (int i = 0; i < 255; i++) {
analogWrite(MOTOR_IN1, i);
delay(10);
}
// backward full speed for one second
delay(1000);
// ramp down backward
for (int i = 255; i >= 0; i--) {
analogWrite(MOTOR_IN1, i);
delay(10);
}
}
如果微控制器没有 PWM 输出,也可以使用直接的高低逻辑电平,但无法实现速度控制。
Adafruit DRV8871 有刷直流电机驱动开发板凭借其出色的性能、简单的使用方法和丰富的保护功能,为电子工程师在电机驱动设计方面提供了一个优秀的解决方案。大家在实际使用过程中,有没有遇到过什么有趣的问题或者独特的应用场景呢?欢迎在评论区分享交流。
全部0条评论
快来发表一下你的评论吧 !