How to Control 18 Vibration Motors Efficiently

Hey,

For my project I am using 18x a 8mm flat micro DC motor. I have arranged the motors so that they are divided into 6 sections (6 sections of 3 motors). Each motor in the section works together. Using the same positive and negative leads. Each motor draws current of 70mA (total of 210mA for each section). Each section is connected to a PWM pin, so that I can code to increase the vibration speed. Although, the Arduino only outputs a total of 40mA for each pin.

I have tried using the FQP30N06 transistor for each section. Following the setup by connecting the gate to the i/o pin, on the Arduino; the source to the common ground, and then drain to an external 9v battery. I was able to set-up the first 2-4 transistors for their sections, but once I came to setup the transistors fro the 4-6 the motors would run automatically. I tried setting it up by not putting the source into the common ground for a couple of them. That did the trick, but then I couldn’t control those sections. So I went to put them back in the common ground and all the motors would run, almost like they where putting power back into the Arduino, turning it on and triggering them to all turn on.

What is a viable solution to run 18 vibration motors?

Can I fix the problem with using a transistor for each section?

Could I use a ULN2803A transitor to control all of the sections?

Thanks a lot!!

Here’s how it should be connected (image stolen from the web…)

http://www.bristolwatch.com/picaxe/images/m1.jpg

/mike

Thank You for the help, but what does the “m” in the circle represent?

Motor…

What is B.3, then…

Am I attaching the positive and negative, of the motor to the drain?

B3 is the output pin. He’s basically saying you should have one transistor per motor, not one per group of motors. Or use something like [this to control multiple motors with just 3 output pins. Also simplifies wiring. 8x everything in that drawing (except the motor) is in one TPIC595 chip.](Shift Register 8-Bit High-Power - TPIC6B595 - COM-00734 - SparkFun Electronics)

Thank You!!

Assuming the FET is properly sized, you can use it to drive multiple motors in parallel. I just grabbed the picture from the web; the flyback diode can be anything in the 1N400x family.

/mike

Yes. I re-read your original post and I see that you’re controlling them in groups. I missed that before. In that case a ULN2803A would be a simple and inexpensive solution. Note that a 9V battery is pretty weak for something like what you’re doing.