I’m working on a 1 pound combat robot, which will use 4 independently rotated feet to control direction. Each one needs to be able to rotate 360 degrees indefinitely, so traditional servos are not an option. I’ve found 4 small, brushed motors with built-in rotary encoders which should work, but need to find a good combination of controllers/drivers. The motors are small, ~0.1amps @ 6V, and output quadrature encoding. For input, I will be receiving PWM signals from a standard radio control. Since there is a 1 pound weight limit, board size and weight are important.
I was considering using 2 Baby Orangutans, each responsible for driving 2 motors, with a possible 3rd Teensy/Arduino equivalent for mixing input signals. I have a few questions:
Is a Baby Orangutan capable of reading signals from 2 motor encoders? I have read that having interrupts on digital pins is helpful for this. Is this available? High accuracy is not an absolute necessity, so 1 interrupt per motor should be enough.
Can the Baby Orangutan easily decode PWM signals? If so I could move the mixing up to the radio, and have the receiver connect directly to the 2 babies.
Is there another solution I have overlooked?
Edit: Just want to clarify that I need absolute Position for each motor.
Most of the ATmega 328p microcontroller’s pins that we expose on the Baby Orangutan have pin change interrupts, so in general, it sounds like having 4 channels for encoders and another channel or two for RC PWM signals from a receiver all with pin change interrupts should be possible. You can find some information about how the microcontroller’s pins are connected on the Baby Orangutan in the AVR Pin Assignment Table Sorted by Pin section of the Pololu Baby Orangutan B User’s Guide which is linked to on the Resources tab of the Baby Orangutan’s product page. You can find out more about the functionality of the ATmega328p’s pins (including things like pin change interrupts) in its datasheet.
Do you have a datasheet for your motors? The current consumption of small brushed DC motors depends greatly on their mechanical load and it is difficult to tell what that 0.1A rating is. The stall current for a motor is generally good to have when determining if a motor driver is appropriate it.
Sounds like these will be a great way to go.
This is a datasheet for the motor without an encoder attached: http://www.micromo.com/media/pdfs/1506_SR_DFF.pdf
Thanks a bunch for your help.
The stall current of those motors is well within the continuous current rating of the TB6612FNG motor driver IC on the Baby Orangutan, so they should be OK.