Society of Robots - Robot Forum
Mechanics and Construction => Mechanics and Construction => Topic started by: newInRobotics on January 18, 2012, 09:27:54 AM
-
Hi everyone
What are the benefits of having stepper motors in CNC instead of regular DC motors with shaft encoders?
-
Well I must be honest, I haven't built a CNC (yet) but I have done a considerable amount of work interfacing steppers and DC motors over the past 5 months, so here's what I think...
Stepper motors have some pretty cool characteristics which seem to make them ideal of CNCs. The first is the resolution. Generally you can turn the rotor of a stepper motor in less than 2 degree increments, and coupled with a geared system (Which you'll have to do because the output torque is SHITE) the open-loop precision that can be achieved is quite impressive. Saying that a similar resolution can be achieved with a DC motor.
If you have say a quadrature encoder which emits 16 pulses/rev, if fitted with a spur gear head the encoder feedback can shoot upto 1200+ pulses/rev at the motor output. The only problem here is that DC motors are more suseptable to back-forces acting on the motors output, where stepper mtors generally have considerable holding torque, which resists rotative influence from system its supposed to be driving.
You could, to a certain extent control the position, and resist outside influence through software. If you used a parallax propeller multi-core processor, you could program the DC motor to operate as a servo, where disparity between the assumed motors position and any renegade encoder pulses can be used to corrent the motors position. But its still not going to be as precise as a stepper...which is the reason we use CNC's in the first place.
Hope this helps and sorry if i've gone on...its my first post and got excited...
All the best
Martyn
-
The short answer is: Servo motors are better: Faster as they keep high torque at high speeds so won't loose steps, as they are based on a sensored feedback loop.--
and just in the case you didn't know...
First, DC brush motors with quadrature encoder and an appropiate controller becomes to be a Servo. Servos have the same operation as a Stepper motor, that is 2 signals: step and direction.
The angular resolution of a servo motor depends on the encoder. If encoder is 400 ppr (pulses per revolution) and use 4x mode [edge detect(2) x channels(2) = 4] you will get a 1600 pulses per revolution (0.225° deg per pulse). So, servo resolution depends on encoder resolution.
The angular resolution of a stepper motor is tipically 200 ppr. That is each step will rotate 1.8° degrees per raw step. Depending on your motor driver abilities- you can use microstep. There are half, quarter microsteps, and so on. That is a microstep of 1/8 of step will rotate 1.8°/8=0.225° deg per pulse. That is 200 * 8 = 1600 ppr. There are also motors with raw step of 7.2°, 3.6°, 0.9°, 0.72°( typical 5-phase Vexta stepper motors)
there are way lots of factors, but i got lazy now sunday night