How many 3Volt DC motors???

How many 3 volt DC motors can I power with an Arduino Board.

I want to turn on 6 such motors and use programming to turn the motors on and off in a particular sequence.

Is this possible on the Arduino platform? If not can you please give me other suggestions.

Any Arduino can do that.
Every motor needs it's own NPN transistor, diode and resistor.
Because Arduino can't supply the motor current directly.
Leo..

I am a complete newbie to the Arduino platform. I am however quite handy with a soldering iron.

Could you Please be more detailed as to how I might be able to run 6 motors. What hardware and xtra shields or boards will be required.

Is there a shield that can run 6 motors?

thank you

Depends on the motors. How much current do they draw?

You usually start on a "breadboard" to try things out before anything permanent is made.

I assume you just want to turn your motors on/off.
Or do you want speed/direction control.
Tell us more about your project.
Leo..

Google "arduino dc motor control" for lots of examples.

Start with one motor first and always use a separate power supply for motors, otherwise you will damage the Arduino.

fdastoor:
How many 3 volt DC motors can I power with an Arduino Board.

The answer to that is actually a very very firm none. You can control many, but never supply power from the Arduino.

Simplest way as mentioned above is with an NPN transistor, and this tutorial here shows how to do that. That doesn't give bi-directional control though: for that you need some kind of h-bridge like this. That L293 is old technology, but right principle.

For more than one motor, you just replicate the components as required, controlling from many Arduino pins. Most h-bridge chips can handle two motors I think. Pololu has a good range, here.

I'd like to seccond the "none" value. The 3.3V supply is there for sensors and as a reference voltage. It really can't power anything bigger than an LED.

But remember you don't actually have to have 3V to power "3V" motors. You can use a higher voltage and just set yourself a limit for the max analogWrite() value going to your motor controller's PWM input. Or use a lower voltage and accept that the maximum speed will be lower than the datasheet's claims.

As most have mentioned above, you don't want to power your motors from the 'duino's supply voltages, rather you would use an H-bridge or transistor to control your motors with a secondary supply for the motors. The arduino simply sends a "High" or a duty cycle if you're using PWM. If as previously mentioned you only want to turn your motors on and off in a single direction, you can use a single transistor and resistor for each motor. Then you only need one arduino pin per motor, I think you can probably stretch that with shift registors too.

If however, you want to turn your motors in both directions, you're going to want to use H-bridges. The previously mentioned L293D is a pretty common dual H-bridge that is used for 6v-12v DC motors and low voltage stepper motors. According to Ti they can handle a supply and output voltage of up to 36v at around 600ma per channel, the channels can be paired to handle more current, making this a fairly suitable driver for larger DC motors.

For your application using 3v motors, you may want to go with something smaller. I would recommend something more like the DRV8835. You can get these in pre-built packages from Pololu for less than $5 each. They come with header pins and don't take up much more space than the L293D. They can handle supply voltages in the 0v to 11v range and thus are more suitable for smaller motors. I picked up one of these for a project that uses two 1.5v dc motors and it's working great for that project.

Are you controlling a robot or some sort of vehicle or is this more of an artistic project?

Thanks for all the replies.

I am attaching a picture of what I want to automate. These are little wooden models of musicians that have a very simple movement powered by a single 3V DC motor.

The Load current draw is 245mA; The Stall Current draw is 350mA.

I need the Arduino to do 2 things:

1] Turn the motor on and off at specific intervals. Sometimes only one model will move and sometimes all six.

2] Send a signal to another board [ eg. Adafruit Audio Player WaveShield Kit or similar board] to play small wave files which will then simulate an orchestra playing.

Since I am a complete novice at this I know that there is a lot of learning to do and experimentation.

All help and hand holding will be truly appreciated

Thanks for all the replies.

I am attaching a picture of what I want to automate. These are little wooden models of musicians that have a very simple movement powered by a single 3V DC motor.

The Load current draw is 245mA; The Stall Current draw is 350mA.

I need the Arduino to do 2 things:

1] Turn the motor on and off at specific intervals. Sometimes only one model will move and sometimes all six.

2] Send a signal to another board [ eg. Adafruit Audio Player WaveShield Kit or similar board] to play small wave files which will then simulate an orchestra playing.

Since I am a complete novice at this I know that there is a lot of learning to do and experimentation.

All help and hand holding will be truly appreciated

The tutorial that JimboZA cited would perform your task quite well, given that the TIP122 Darlington transistor will inherently drop the 5V from your 3 Amp fully regulated switchmode power supply (which you need in order to power the Arduino as well as the motors - do you have it yet?) to the 3V for a motor.

Currently the models are powered by the 3V motor using two AA batteries. I have NOT purchased anything as I am trying to Learn what I need to do.

If speed can be controlled by the Arduino then I can eliminate one more piece of hardware from the model. The DC motors tend to run very fast while driving my models so I use the speed controller to set a slower speed and then leave it at that level.

The Load current draw is 245mA; The Stall Current draw is 350mA.

If each motor 350mA, that's a little over 2 Amps total. If that's the case, I assume there is a separate battery pack in each model, because that's quite a bit of current.

I'm assuming that you want to replace the batteries with a power supply?

Also in case you don't know this, most audio shields cannot directly "power" an 8-Ohm speaker. You can drive a Piezo transducer (basically a kind of tweeter) but if you are going to reproduce the sound of a band/orchestra from a WAV or MP3 file you'll want something better.

The simplest solution is regular computer speakers. They have a built-in amplifier and their own power supply (usually a wall-wart).

Alternatively, you can build an amplifier from using an audio power-amplifier chip.

Or, you can plug the audio shield into your stereo system, etc.

I need the Arduino to do 2 things:

1] Turn the motor on and off at specific intervals. Sometimes only one model will move and sometimes all six.

2] Send a signal to another board [ eg. Adafruit Audio Player WaveShield Kit or similar board] to play small wave files which will then simulate an orchestra playing.

Take it one step at a time... Try one transistor and one model connected to one Arduino I/O pin. The transistor & Arduino control might work with battery power if you want to try that first. But, there will be some voltage drop across the transistor.

Check the specs on the audio shield to make sure it's not using the same I/O pins you want to use for the characters.

The DC motors tend to run very fast while driving my models so I use the speed controller to set a slower speed and then leave it at that level.

Each character has its own speed control, right?

The Arduino has 6 I/O pins with optional PWM which can be used for speed control. If you use those pins for motor control you'll have the option adding speed control as a firmware upgrade later (if you want to keep the project simpler for now). The same transistor driver circuit will work for on/off control as well as PWM speed control.

For hardware testing & debugging, you can simply use the [u]Blink Example[/u] modified to address whatever I/O pin and transistor you want to test.

Program development might be easier if you start by connecting 6 LEDs instead of the actual characters. In fact, it's often a good idea to leave the LEDs connected permanently for any future troubleshooting. i.e. If a character stops working, you can quickly check to see if it's an Arduino problem or a problem with the motor or connection. But that's really up to you, and if you'd rather do your programming with the characters actually running, that's fine.

I've never used an audio shield, but I think the sound programming will be the hardest part. I'm not saying it's "hard", but there's more to it than there is to turning motors on & off. You'll probably want to work on that separately from the motor sequencing.

If you are new to programming, it's very important to take that one step at a time... Start by turning on & off one motor (like the Blink Example). Then add a 2nd motor with it;'s own timing, etc. Add one step at a time, 'till you're done.

Thank you for the detailed answer.

1] Each character has its own 3v power supply [ 2 AA batteries] and speed controller with the speed controller acting as a switch too.

2 wires from battery go into screw terminals of the speed controller.
2 wires from the speed controller go to the motor.

So the Arduino board can be connected to its own power supply independently.

So assuming I start with an Arduino Uno how would I connect the 1st motor.

what pins on the Arduino and to what on my models?

Also can one Arduino board be used for all six motors [assuming they will draw approx 2 Amps if all are working together?

That is a really neat project you are making. Did you make those characters?

What speed controller? You don't appear to have told us which one you have, just that you have one (or six.)

The Arduino Uno is capable of controlling more than 6 motors. It just can't power any motors. So you need something that can handle the power and is controllable.

This item from Polou is a small and cheap unit that can power a single motor. Use a PWM pin to control speed and a regular digital pin for direction control. An Uno will run out of pins after 6 of them are hooked up. It's also going to be messy wiring up all those little boards.

A better solution is some kind of serial-controlled motor driver. This one from Adafruit looks good. Controls 4 DC motors and you can stack 32 of these shields for a total of 128 motors. A little more expensive but the wiring mess is reduced considerably. This would be my choice.

I use this generic speed controller with each model:

http://www.amazon.com/Generic-Voltage-Motor-Speed-Controller/dp/B00N30UK2M/ref=sr_1_5?ie=UTF8&qid=1435721561&sr=8-5&keywords=dc+speed+controller.
I do not think that this particular controller can be controlled by an Arduino.

Yes, I make the wooden models myself. I have 6 different musicians at present.

I would like to coordinate them like an orchestra first, just the movement.

Then as I learn more also coordinate with music using one of the Wav or MP3 shields.

I appreciate all the help I am getting.

I will check out the Adafruit motor driver suggested above.

The adafruit driver is rated for 5V motors. Can it be modified easily to work with 3V motors. If so it would be an elegant solution for me as it will be able to run all 6 motors that I need for the project.

Are you aware of a similar motor driver for 3V motors?

Page 3 of the data sheet for the Adafruit driver chip shows the minimum Vm (motor voltage) of 2.5v. I don't know why their description specifies 4.5V as a minimum. Perhaps some other digital chip on the board is running off the motor voltage when it should be on the 'digital' supply voltage.

Personally, I'd run it on 5V or whatever convenient power supply I have up to 13.8V. Just limit the output to the motor to 50% of maximum (or whatever seems appropriate after testing.) The 3V motor will run just fine on little pulses of 12V.

Those models look great! If I was trying to animate them, I'd use a stepper motor and a feedback so that I could start and stop each musician in a defined position. Then they could all swing forwards at the same time to really emphasise a beat. But I would get it going first with the simple 3V motors.