Wednesday, November 7, 2018

Open-loop Position Control with a Stepper Motor

First, let's take a look at what the control system looks like on a stepper motor without an encoder. Suppose you want the stepper to make one complete rotation. Your program knows your motor’s step angle is (for example) 1.8°, so it tells your controller to move 200 steps clockwise. The controller tells this to the driver chip, and the driver chip outputs the power signals that turn the motor. Next, suppose you want the motor to turn half a rotation counter-clockwise from it’s original starting location. Your program remembers the motor is 200 steps away from the starting position, so it tells the controller to move 300 steps counter-clockwise, and so on.


This is known as open-loop control not closed loop control. You have precise control over the position of the motor, but only under the assumption that the motor has physically done exactly what it’s been told to do. If the motor takes an extra step due to excessive inertia, if the motor stalls, or if you’re using a stepper motor with gearbox that has significant backlash, your program’s assumption of the motor’s current state will be wrong.

Closed-loop Position Control with a DC Motor and Encoder
Now we’ll look at the control system that results from using a DC motor and encoder. Suppose you want the motor to make one complete rotation. Your program tells the controller to move at 100% duty cycle. The motor starts moving, and as it does, the encoder updates your program with the motor’s current position. The program then re-evaluates the situation and tells the controller a new duty cycle.


No comments:

Post a Comment

Motion Controller and Driver Selection Tips You Should Know

Motion Controller The first thing that should be checked when selecting a motion controller is compatibility with other system components ...