I am working on a project that requires the control of over 100 DC motors, these motors are 12v and require very little amperage. I am facing the problem of not having enough I/O pins. These motors need to able be individually controlled and need to work simultaneously.
Please tell us your definition of "control". Just off and on is NOT control! Are monitoring the motors for speed and are wanting to control the speed? Do you need to monitor the torque produced? Do you need to reverse the rotation of the motors?
Sorry but this is not good enough. We need to know exactly how much is very little otherwise what is "very little" * 100?
This is the least of your problems, but it can be solved using shift registers, multiplexing or port expanded chips.
You have a major decoupling problem to cope with.
I have used 10 motors in a project like this. It is the MIDI Harp player from chapter 6 of my book. They had to have a push and pull stroke.
These were all motors salvaged from CD ROM drives found in a skip.
The final board looked like this:-
Are you up for 10 times this amount of wiring?
Use a port expander.
Add up to 128 additional I/Os
So you have motor drivers for them. You didn't mention what kind of.
Are there actually 100 different motors, or are some of them the same? What voltage and current does each motor require? Also, please define what you mean by "control"—is it simply on/off, or something more complex like variable speed or direction?
How do you plan to drive the motors? What is your power source? How much physical space will the 100 motors occupy? Are the motors bidirectional? Will they all start at the same time?
Lastly, which Arduino model are you using?
These are just some of the key details needed to give you a meaningful answer.
I do not require monitoring for speed or torque, however I do need to reverse the rotation of the motors.
Please describe why you mean by "control".
Under program control or manually?
The Amperage is not listed, however by comparing it with other similar motor I have determine it would be around 0.1A.
Under program control
They are all the same motor, the motor requires 12v and around 0.1A. By control I require variable direction but not speed. I plan to use a AC to DC converter. There is a lot of space for the wiring to be stored. I am using a Arduino Mega.
If always running full speed, forwards or backwards, use one DPDT relay per motor, controlled by a single bit.
But one should stop the motor before reversing direction or rotation. Could some circuit detect polarity reversal and cut power for a time? One circuit per motor?
Yes, of course, but so far, the OP seems unable to explain clearly what they actually want to do.
Does that indicate the OP is an artist? I ask because my nephew went to art school for two years, but never made it as a commercial artist because he could never meet a deadline because of indecision on the project.
Sorry for the vagueness, this is my first time using the forum. Thank you for your great help! I had no idea where to start. The project is similar to this device that MIT made. The motor should operate at a constant speed at all times. All motors need to move independently from each other, and the direction reversing needs to be smooth and quick.
Although I am not an artist, the purpose of the project is artistic. I am a student.
put some real world numbers on smooth and quick, or we will get nowhere.
Why not measure the current of your motor? It is very easy to do with a multi meter. There are two ways of doing this:-
-
Add a small series resistor to the motor and measure the voltage across it. Use Ohm's law to work out the current.
-
Use the current measuring capability of your meter. A meter on the current mode looks like almost a dead short circuit, so do not connect it across anything like you do with a voltage measurement. You break the circuit between motor and supply, and then use the meter in the current mode to complete the circuit.
Here is a hint if you haven't got a multi-meter.
Get one, they are only $10 or so from a thrift shop. Otherwise give up now.
Looking at that link you will have to measure the current to those motors under load, because the current they take are going to be way higher than the current when they are not under load.
Anyway what makes you think these are motors in the video in the first place? They are in fact linear displacement modules or actuators. Sure there will be a motor in there somewhere, but they need to have some sort of calibration involving positional feed back.
What level of student?
I think this project is way out of your current knowledge. Have you ever made anything before?
