4モータ制御ドライバー
DRV8830使用したモータドライバー
DRV8830使用4モーター管理可能モータドライバ
なにができるの?
ラジコンなどモーターを4つ制御したいときに便利な基盤です。
I2Cでモーターの速度をそれぞれコントロールする事ができます!
仕様
電源電圧範囲 | 7V以下 |
最大連続駆動電流 | 1A |
モータへの動作電源電圧範囲 | 2.75V~6.8V |
通信方法 | I2C |
使用IC | DRV8830 |
サンプルプログラム
DRV8830ドライバーはこちらからダウンロードしてください
#include <Arduino.h>
#include <Wire.h>
#include <DRV8830MotorDriver.h>
DRV8830MotorDriver motor1(DRV8830_A1_A0_0_0);
DRV8830MotorDriver motor2(DRV8830_A1_A0_0_1);
DRV8830MotorDriver motor3(DRV8830_A1_A0_1_1);
DRV8830MotorDriver motor4(DRV8830_A1_A0_1_0);
#define FAULTn 7
void setup()
{
Serial.begin(115200);
Wire.begin();
Serial.println("Hello,DRV8830 I2C MotorDriver");
motor1.setSpeed(0);
motor2.setSpeed(0);
motor3.setSpeed(0);
motor4.setSpeed(0);
}
int spd = 0;
void loop()
{
char c;
if (Serial.available())
{
c = Serial.read();
if (c == '+')
{
spd++;
motor1.setSpeed(spd);
motor2.setSpeed(spd);
motor3.setSpeed(spd);
motor4.setSpeed(spd);
spd = motor1.getSpeed();
Serial.println(spd);
}
else if (c == '-')
{
spd--;
motor1.setSpeed(spd);
motor2.setSpeed(spd);
motor3.setSpeed(spd);
motor4.setSpeed(spd);
spd = motor1.getSpeed();
Serial.println(spd);
}
else if (c == 'b')
{
spd = 0;
motor1.setSpeed(spd);
motor2.setSpeed(spd);
motor3.setSpeed(spd);
motor4.setSpeed(spd);
motor1.brake();
motor2.brake();
motor3.brake();
motor4.brake();
spd = motor1.getSpeed();
Serial.println(spd);
}
}
}
設計情報
回路図
配線図