Monday, November 5, 2012

3-2. Research Motor Control Electronics and drive systems

in other words...  How will Porter climb stairs?

Porter robot will use a rocker-bogie suspension, which involves 6 and sometimes 8 wheel configurations.   


Illustrations by Jorg Roth
Perhaps more familiar is the rocker-bogie use in NASA's Mars Rover.

Courtesy of NASA JPL
In order to drive these wheels to turn, you need to apply rotational torque using motors.  

As mentioned in a previous blog, we use two types of motors in robotics - stepper and DC.  

In any case, I went ahead and did some research on stepper motors.  I found out that in order to control them, it's usually better to have a dedicated motor controller that will send the electrical pulses to the motor.  The motor controller will then communicate with the main controller when the main controller determines that movement needs to take place. 

For my initial Porter prototype I chose 4 Soyo Uni-polar 125 oz-inch stepper motors (from Robotshop) and a 4-motor Uni-polar motor controller (from Phidgets).


Phidget Motor Controller

The motors are 6 wire motors, with 3 wires for controlling each set of cores.  It was fairly straightforward hooking up the motors to the motor controller.  

Phidgets provides a lot of code for interfacing with their driver, so I was able to use their Java API to test that each of the 4 motors were running correctly. 


Soyo steppers connected to the Phidgets controller
I was able to easily control the speed, ramp up the acceleration, test rotating in the opposite direction, etc.  My only roadblock was discovering that the maximum velocity this specific controller was capable of handling was 383 half-steps a second.  

With a step being 1.8 degrees, this was roughly a revolution a second, which with a 2 or 3-inch radius wheel is going to be too slow for production purposes.  

I still intend to use these motors for my initial full prototype, but will have to look for a better alternative beyond that.  Phidgets sells a bi-polar motor controller capable of more speed, but it only controls one motor and is pricey at roughly $70 bucks.  


I did find a lot of useful information from the RepRap folks; stepper motors are used often in CNC milling machines for their precise control, so they have a plethora of information about stepper motor control theory.  

I think using that information it would be reasonably achievable to develop an in-house motor controller board for about $10/motor. 



No comments:

Post a Comment

Thanks for commenting!