I'm trying to power 2 DC Motors and 18 Micro Servo Motors with a microcontroller as a kind of Arduino-like board. Any help would be very appreciated! I'm looking for opinions on my current plan and improvements on it, particularly how I can power the servos.
All motors may stall and I'm unsure how to avoid the microcontroller browning out or the motor overheating.
I am hoping to use 6 AA batteries giving 10v to 6v (depending on remaining power and the type of battery used). However this may not be possible.
The 2 DC motors are 2A max, 5v.
The 18 Servos are Tower 9g, 5V and are aprox 500mA max.
2 DC Motors
I am planning to use PWM on the motor driver to allow me to run 5v DC motors directly from the power source. The microcontroller can read the input power and adjust the PWM on the DC motors accordingly to prevent running them past the specification. I am under the impression that this should be OK provided the PWM ratio is the correct equivalent. This prevents the need for a buck converter.
By using current sense resistors a stall condition in a DC motor can be detected and if it continues the motor can be powered down or the PWM reduced. A diode and capacitor can be used to provide power to the microcontroller until it has time to power down the DC motor.
Does this sound like it will work for the DC motors?
For the servos I'm very unsure what to do. 18 current sense resistors and ADC pins seems excessive and servos take a long time to stop after PWM stops (at least 20ms, likely far longer), so the same plan won't work.
Is it possible to simply current limit each servo's power with a resistor? I worry that the servos would then no longer be able to start (as this is similar to a stall condition). Perhaps a capacitor could be included after the resistor and short pauses be added to the servo movements to allow the capacitor to recharge to allow a kick-start from stopped?
Am I approaching this problem entirely wrong?
All opinions appreciated! Thank you.