Controlling 20+ coin motors with a microcontroller

Discussion in 'Embedded Systems and Microcontrollers' started by bpatrick, May 20, 2013.

  1. bpatrick

    Thread Starter New Member

    May 20, 2013

    I'm fairly new to programming and microcontrollers so some of these questions may seem rather basic, but what I'm trying to do is get 20+ 3V coin vibration motors (model no. 310-113) to vibrate in different orders depending on a users input. Sometimes the output may need 1-9 motors to vibrate at the same, sometimes 5 in a sequence.

    The speed or direction isn't really a concern as it's just for the vibration. As I said I'm new to microcontrollers so was probably going to get an ATmega2560 compatible with Arduino.. so the first question is do I need to find driver circuits for the motors or can I run them direct from the board?

    If I need driver circuits, what would someone recommend in this case? If I don't need driver circuits, are a diode and resistor still needed?

    Any suggestions would be great.
  2. Litch


    Jan 25, 2013
    So I dug up a datasheet for these things and their normal operating current is 63mA - well within most microcontroller individual output limits...

    BUT - if you required all 20 of these running at once, all of a sudden your total collective current draw through the uC is 1.3 Amps. Pop goes the weasel.

    As such, you'll need a control circuit - look up ULN2803A darlington IC - you're best using the IC as a sink (+ve from power supply goes to the motor, -ve from motor to the Darlington, Darlington controls the path to earth).

    You'll also need an IC with 20 I/O pins... OR (preferably) - a uC with an I2C port and a bunch of PCF8574 I/O expanders.

    I'll throw together a schem in a sec.
  3. Litch


    Jan 25, 2013
    Schematic attached.

    * Power supply
    * Revise voltages, add resistors, capacitors, etc...
  4. Markd77

    Senior Member

    Sep 7, 2009
    Connect pin 10 (COM) to the positive supply, not ground.