工具与软件:
您好!
当我尝试在没有 PWM 脉冲的情况下运行电机、但随着我增加电压、电机开始脉动约12-13V 时、我遇到问题。 我使用 Adafruit DRV8871有刷直流电机驱动器破孔我有一个24V 电源连接到 DRV8871的电源端子、并有一个微控制器连接到 IN1和 IN2。 我还在 ILIM 上添加了一个电阻器、以将最大额定电流从2A 更改为3.6A。 我不太熟悉电机驱动器板的工作原理、但我让它正向运行(IN1设置为低电平、IN2设置为 analogWrite、因为它逐渐增加)。 我想让电机在24V 的电压下连续运行、而不出现脉动、该如何操作? 我有一个30W 的电机、完全低于电机驱动器板可以处理的电流。 我已经附上了 Adafruit DRV8871数据表提供的代码。
数据表: cdn-learn.adafruit.com/.../adafruit-drv8871-brushed-dc-motor-driver-breakout.pdf
代码:
//用于尝试 Adafruit DRV8871破孔的基本 sketch
#define MOTOR_IN1 9.
#define MOTOR_IN2 10.
void setup(){
Serial.begin(9600);
serial.println ("DRV8871测试");
pinMode (MOTOR_IN1、输出);
pinMode (MOTOR_IN2、输出);
} Adafruit Industries 第12页、共16页
void loop(){
//向前斜升
digitalWrite (MOTOR_IN1、低电平);
for (int i=0;i<255;i++){
analogWrite (MOTOR_IN2、i);
delay(10);
}
//将全速前进1秒钟
delay(1000);
//向前斜降
for (int i=255;i>=0;i--){
analogWrite (MOTOR_IN2、i);
delay(10);
}
//向后斜升
digitalWrite (MOTOR_IN2、LOW);
for (int i=0;i<255;i++){
analogWrite (MOTOR_IN1、i);
delay(10);
}
//反向全速运行一秒钟
delay(1000);
//向后斜降
for (int i=255;i>=0;i--){
analogWrite (MOTOR_IN1、i);
delay(10);
}
}
如果能在这方面提供任何帮助、我将不胜感激。
谢谢!