Help with Motor controller for Faulhaber sepper motor - Page 1
Forum section: electronics / beginners

author: johnmoth
author_rank: Newbie
timestamp: April 08, 2013, 03:41:34 am
content: I plan on getting two FAULHABER DC 9V Motor from here for my micromouse.http://www.ebay.com/itm/FAULHABER-DC-9V-Motor-1524B009SR-Gear-19-1-Encoder-512CPR-USED-free-ship-/150968781120?pt=LH_DefaultDomain_0&hash=item232670c940I have found several motor drivers out there, but I feel a bit overwhelmed on how to pick the best one.Does anyone have any advice for a really good motor driver that would appropriately work with this motor.

author: Kremmen
author_rank: Super Contributor
timestamp: April 08, 2013, 06:35:47 am
content: First a correction to the topic: The motor you quote is NOT a stepper but a brushed DC micromotor with a gearhead and encoder.While i am reluctant to tell you what to use, here are some points you need to consider while deciding:- the motor nominal voltage is 9V and stall current appears to be less than 1 amp so your drive does not need to be all that robust.- a critical decision factor is the requirement for motor dynamics. Do you need smooth 4 quadrant operation, i.e. does the machine need to act as a motor and a brake in both directions of rotation? If so, your solution needs to be based on a H-bridge power stage, and you may want that in any case.- Do you need precision positioning or speed control? That is where the built-in encoder enters the picture. A simple "eBay-type" motor controller would not have any features to support this functionality.The simplest controllers generate a pwm signal that directly drives the power stage. Motor speed is roughly proportional to the pwm duty cycle. Additionally, some logic is needed to define the motor voltage polarity to change direction. There is no feedback; accordingly the controlling system has no idea of the true motor speed.A more advanced system will include a speed control loop utilizing the built-in encoder in the motor. In the Faulhaber that is a typical A/B quadrature encoder where the pulse frequency indicates speed and phasing indicates direction. This is the most typical encoder signal you can have. To make use of it, you need to first convert the pulse train to direction and speed info and use that as feedback in the speed control loop. Today the controller would be a microcontroller application but it can be done (nearly) purely analog as well, if you want a retro solution.Even more advanced systems add an outer loop of position control that also gets its feedback from the encoder. Since each pulse indicates a distance traveled, you only need to accumulate the pulses to know here you are. Thus the encoder signal acts as position feedback also.So it all depends on what exactly you need. Increasingly complex requirements lead to increasingly sophisticated solutions.

author: johnmoth
author_rank: Newbie
timestamp: April 09, 2013, 08:26:26 pm
content: Ok, thanks a lot! So I've determined the motor controller like the "L298N Stepper Motor Controller Driver IC" would have great precision controlling for the Faulhaber motor i'm getting.Would you agree?found herehttp://www.electrodragon.com/?product=l298n-stepper-motor-driver-controller-board-for-arduino

author: bseishen
author_rank: Contributor
timestamp: April 09, 2013, 09:32:47 pm
content: The L298 will work, but you wont be able to drive it precisely. To drive it precisely you will have to design a feed back loop with the optical encoder.Better solution is to find a geared stepper motor, not a DC motor. This will allow your L298 with a little bit of code to accurately step the motor.A stepper driver I have used quite a few times in the past is the Pololu A4988.http://www.pololu.com/catalog/product/1182They are easy to get a stepper motor up and spinning!Hope I've helped!

author: johnmoth
author_rank: Newbie
timestamp: April 13, 2013, 12:24:53 am
content: Thanks!Just one more question.Why is the "A4988 Stepper Motor Driver Carrier" better than the "L289?"What makes the L289 not very precise?