Editor Version ×
Standard

1.Easy to use and quick to get started

2.The process supports design scales of 300 devices or 1000 pads

3.Supports simple circuit simulation

4.For students, teachers, creators

Profession

1.Brand new interactions and interfaces

2.Smooth support for design sizes of over 30,000 devices or 100,000 pads

3.More rigorous design constraints, more standardized processes

4.For enterprises, more professional users

Std EditionGrove - I2C Mini Motor Driver

License:

Published Time:2016-01-13 17:48:13
  • 2.6k
  • 0
  • 0
Description

Grove - I2C Mini Motor Driver

enter image description here

The Grove – Mini I2C motor driver is a very tiny motor driver with I2C interface, and it includes two motor driver chips - DRV8830,

which helps you control two DC motors or winding of stepper motors on a small board simultaneously.

With four solderable pads back of the board, you can change the I2C address of each motor driver easily.

Especially, with the onboard protection circuit, the max limitation current of each channel can be adjusted from 0.2A to 1A, you can set a proper limitation current according to the load.

It can be used for battery-powered toys, printers, and other low-voltage or battery-powered motion control applications due to the features.

Also, Grove – Mini I2C motor driver is belong to Grove System, you can plug it onto the Base shield and work with Arduino directly without any jumper wires.

Features: Tiny driver board Two motor driver channels Working Voltage : 2.75v – 6.8v Changeable max limitation current Grove compatible I2C interface Easy to use

From:For more detail, please visit: http://www.seeedstudio.com/item_detail.html?p_id=2508

Introduction

This Grove - MIni I2C motor driver included two DRV8830, The DRV8830 provides an integrated motor driver solution for battery-powered toys, printers, and other low-voltage or battery-powered motion control applications. The module has two H-bridge drivers, and can drive two DC motors or two winding of stepper motors, as well as other loads like solenoids.It requires an onboard 5V voltage regulator which can power the I2C bus. All driver lines are diode protected from back EMF.It features two LEDs for fault indicator and four LEDs to indicate which direction each motor is running. GROVE system plug and I2C interface enables you to daisy-chain the driver with many other devices.

Feature

Without external power supply Two leds for fault indicator Default maximum drive current 200 mA Grove compatible I2C interface Motor's speed and direction can control Number of channels: 2 Easy to use

Application Ideas This motor driver can be used to drive any brushed electronic motor as long as it doesn't consume more than 1A at 5v.

Two motors can be driven simultaneously while set to a different speed and direction.

The speed can be set fully proportional and is controlled by I2C command.

Battery-Powered:

Printers

Toys

Robotics

Cameras

Phones

Small Actuators, Pumps, etc.

Specifications Item Min Typical Max Unit Working Voltage 2.75 - 6.8 VDC Max Output Current per channel 0.2 - 1 A Input/output voltage on I2C bus 3.3~5 V Communication protocol I2C /

Software Work The Grove - Mini I2C Motor Driver can control motor which is based on the chip DRV8830. The DRV8830 isn’t just a dual motor driver, it is a dual H-bridge. An h-bridge is basically a specific setup of transistors that allow you to switch direction of current. You can use your Arduino to make them spin at any speed. Because the module has 2 H-bridges, you can not only make a robot go forwards and backwards, but also turn around by having each wheel spin in a different direction. Connect Seeeduino to computer use a micro USB cable. Now, let's use the Grove - Mini I2C Motor Driver to control two DC motors rotating in the positive or opposite direction. The below is an example program to be used with an Arduino. The code for this is very basic, but you can also change it up and do it your own way.

/**** Example code demonstrating the use of the Arduino Library for the SparkFun MiniMoto board, which uses the TI DRV8830 IC for I2C low-voltage DC motor control.

This code is beerware; if you use it, please buy me (or any other SparkFun employee) a cold beverage next time you run into one of us at the local.

17 Sep 2013- Mike Hord, SparkFun Electronics

Code developed in Arduino 1.0.5, on a Fio classic board.

Updated for Arduino 1.6.4 5/2015 ****/

#include <SparkFunMiniMoto.h>  // Include the MiniMoto library

// Create two MiniMoto instances, with different address settings.
MiniMoto motor0(0xC4); // A1 = 1, A0 = clear
MiniMoto motor1(0xC0); // A1 = 1, A0 = 1 (default)

#define FAULTn  16     // Pin used for fault detection.

// Nothing terribly special in the setup() function- prep the
//  serial port, print a little greeting, and set up our fault
//  pin as an input.
void setup()
{
    Serial.begin(9600);
    Serial.println("Hello, world!");
    pinMode(FAULTn, INPUT);
}

// The loop() function just spins the motors one way, then the
//  other, while constantly monitoring for any fault conditions
//  to occur. If a fault does occur, it will be reported over
//  the serial port, and then operation continues.
void loop()
{
    Serial.println("Forward!");
    motor0.drive(100);
    motor1.drive(100);
    delayUntil(1000);
    Serial.println("Stop!");
    motor0.stop();
    motor1.stop();
    delay(1000);
    Serial.println("Reverse!");
    motor0.drive(-100);
    motor1.drive(-100);
    delayUntil(1000);
    Serial.println("Brake!");
    motor0.brake();
    motor1.brake();
    delay(1000);
}

// delayUntil() is a little function to run the motor either for
//  a designated time OR until a fault occurs. Note that this is
//  a very simple demonstration; ideally, an interrupt would be
//  used to service faults rather than blocking the application
//  during motion and polling for faults.
void delayUntil(unsigned long elapsedTime)
{
    // See the "BlinkWithoutDelay" example for more details on how
    //  and why this loop works the way it does.
    unsigned long startTime = millis();
    while (startTime + elapsedTime > millis())
    {
        // If FAULTn goes low, a fault condition *may* exist. To be
        //  sure, we'll need to check the FAULT bit.
        if (digitalRead(FAULTn) == LOW)
        {
            // We're going to check both motors; the logic is the same
            //  for each...
            byte result = motor0.getFault();
            // If result masked by FAULT is non-zero, we've got a fault
            //  condition, and we should report it.
            if (result & FAULT)
            {
                Serial.print("Motor 0 fault: ");
                if (result & OCP) Serial.println("Chip overcurrent!");
                if (result & ILIMIT) Serial.println("Load current limit!");
                if (result & UVLO) Serial.println("Undervoltage!");
                if (result & OTS) Serial.println("Over temp!");
                break; // We want to break out of the motion immediately,
                //  so we can stop motion in response to our fault.
            }
            result = motor1.getFault();
            if (result & FAULT)
            {
                Serial.print("Motor 1 fault: ");
                if (result & OCP) Serial.println("Chip overcurrent!");
                if (result & ILIMIT) Serial.println("Load current limit!");
                if (result & UVLO) Serial.println("Undervoltage!");
                if (result & OTS) Serial.println("Over temp!");
                break;
            }
        }
    }
}

From:http://www.seeedstudio.com/wiki/Grove_-_Mini_I2C_Motor_Driver_v1.0

Documents

Grove - Mini I2C Motor Driver v1.0

Open in editor

Grove - Mini I2C Motor Driver v1.0

Open in editor
ID Name Designator Footprint Quantity
1 SEEEDSTUDIO-OPEN-SCH-FRAME U$1 SEEEDSTUDIO-PCB-FRAME 1
2 DRV8830 U1,U2 MSOP10-0.5-3X3MM 2
3 10K R1,R2,R3,R4,R7,R10,R11,R14 R0603 8
4 DNP A0_CH1 2P-SMD-SHORT 1
5 DNP A1_CH1,A1_CH2,A0_CH2 JUMPER-2P 3
6 100nF C1,C2,C7,C8,C5,C6 C0603 6
7 1R1% R5,R12 R0603 2
8 DNP R6,R13 R0603 2
9 GROVE U3 GROVE-1*2-TEST-PLATFORM 1
10 320110049 CH1,CH2 H2-2.0-6X4.5MM 2
11 IN4148 D1,D2,D3,D4 SOD-323 4
12 510R R8,R9,R15,R16 R0603 4
13 BLUE D5,D7 LED-0603 2
14 RED D6,D8,CH1_FAULT,CH2_FAULT LED-0603 4
15 GROVE-CONNECTOR-DIP J3 HW4-2.0 1
16 DNP SCL,SDA,VCC,GND TP-D45MIL 4
17 HEADER-1P J1,J2 1P-8040MIL 2
18 220uF C3,C4 AVX-B 2
19 220uH L1 INT2-SMD-4.8X4.8X3MM 1

Unfold

Project Attachments
Empty
Project Members

服务时间

周一至周五 9:00~18:00
  • 0755 - 2382 4495
  • 153 6159 2675

服务时间

周一至周五 9:00~18:00
  • 立创EDA微信号

    easyeda

  • QQ交流群

    664186054

  • 立创EDA公众号

    lceda-cn