I am looking for some advice on how best to control up to six 12VDC motors using an Arduino Uno R3. The motors accept an input voltage of +/- 0 to 12VDC, they vary in current draw from 0.5mA to about 2A (max), each motor is independently powered by a separate DC power supply.
What I am looking to do is connect each motor to an independent DC variable power supply that is set to 12VDC, then use the Arduino to control the power on/off to the motor as well as the speed of the motor.
I bought a relay board that I can use to power on/off the 12VDC power supply to the motor with the Arduino Uno R3, but now I am looking to control the speed of the motors by limiting the supply voltage to the motor. I think that a transistor is the best approach?
I took a look at using a digital potentiometer, but these have very low current ratings and won't support the motor. The available Motor Shields for the Arduino R3 work, but they are only capable of driving two motors per Arduino, and I think they use PWM. I am looking for a solution that doesn't add a PWM signal onto the output voltage sent to the DC motor.
I think I want to do something like this, but instead of taking the input from a pot, to programmatically control the transistor.
This I think will only allow control in one direction, so to provide a reverse function, I would need to use a H-bridge?
Is this the best approach or is there a better way to do this?