What type of motor controller?

I am extremely new to designing motor circuits and things of this sort. I have an AVR Butterfly and was hoping to connect it to something like the motors shown here:


My two questions are, what type of motor controller is sufficient, and what measures do i need to take in protecting the microcontroller (ATMega169) from current spikes. Ive seen a huge variance in price and features with these motor controllers and know very little about the topic. I’m mainly looking for a cheap motor controller that i can use and not destroy my avr in the process. Any help to get me started is greatly appreciated, thanks.

If your Micro controller doesn’t support motor controllers directly like the orangutan i’d personally suggest this one.
The low voltage dual serial motor controller.

It can handle high frequencies, as well as put out a good 5amps per motor.
The other 2 cheaper dual motor controllers the micro dual, and the qik 2s9v1 both have 1A limits. So that’s a bit low.

PS check the video for that chassis, make sure you’re ok with how noisy it is.

For motor noise, use 0.1uF ciramic disc capacitors. you can use 1 or 3 on each motor.

Hello cloney_,
The motor controller that will work best for you depends mainly on your choice of motors and your power supply. It is a good idea to write down exactly what your voltage and current requirements are, so that you can make sure that whatever motor controller you get can handle both. In your case, it sounds like you will have:

Power: 6 NiMH cells: 7-9 V depending on charge.
Motors: RP5 tank chassis motors with 210 mA up to 2.4 A stall at 7.2 V (higher if your batteries are fully charged.)
Motor controller options: The Low Voltage DSMC that Fallentine recommended won’t work with the standard battery pack, since you will always be above its maximum voltage of 7 V. The Qik 2s9v1 would probably be okay, but you need to be careful to never stall the motors for more than an instant, since the stall current is far above the 1 A current limit of the Qik. In particular, you should not instantly go from a stop to full speed or change directions without first letting the motors stop. If you want to be able to push the chassis to its limits without worrying about destroying your motor driver, get the TReX Jr, which can handle the entire voltage and current range that you are looking at. The TReX Jr also offers additional R/C and analog control options, which can be very helpful for testing or for rescuing your robot from a stuck position.

All of our serial motor controllers can be controlled using the UART of an AVR. However, since you are using the Butterfly, which has a built-in RS-232 level converter, make sure that you access the UART lines before level conversion - the ± 9V of the RS-232 output, designed for connecting to your computer’s serial port, will damage a TTL input.


Also, regarding voltage spikes damaging your board, have your seen our instructions for dealing with motor noise? In experimenting with things here, we usually see transient effects of motor noise, such as bad sensor readings or random resetting, rather than actual destruction of the microcontroller. However, it’s easy for us not to worry about it, since we can always go to the back room to get a replacement controller if something goes wrong! In your case, it would be a good idea to follow all of those recommendations to protect your board. Also, the Butterfly has its own battery, right? Using a separate power supply for the Butterfly and the motor controller can be a pain, but it will keep the two even more isolated, and you can try to physically position the board far away from the high-current parts so that noise radiated through the air can’t do any damage.

Good luck! Please let us know if you have more questions.