Make a simple ramp generator for stepper motors

Texas Instruments LM555

Stepper motors are synchronous motors that step at the pulse rate of the driving signal. For the motor to move quickly, the stepping rate must be fast. However, because of motor and load inertia, the motor often cannot go from 0 rpm to the desired number of revolutions per minute in one step. Therefore, most stepper motors receive their drive from a pulse chain that starts out slowly and then increases in rate until the motor reaches the desired rate. To stop the motor, the drive signal must not abruptly stop; it must gradually decrease or ramp down to zero. Microprocessors can easily generate the needed ramp-up and then ramp-down signals, often called a trapezoidal profile, but in any circuit without a microprocessor, this ramp is difficult to generate.

The 555-based bistable circuit in Figure 1 can easily generate a pseudo-trapezoidal move profile. Note that the timing string of R1 and associated components does not connect to VCC, as it would in a normal circuit, but instead receives its power through a pushbutton switch.

This circuit generates a pseudo-trapezoidal motion-control profile for controlling stepper motors.
Figure 1. This circuit generates a pseudo-trapezoidal motion-control profile for controlling
stepper motors.

When you push the button, capacitor C1 starts charging up to a point at which C2 can start charging. As C1 charges, the output frequency of the 555 starts off slowly and gradually increases to a frequency or pulse rate that's a function of all the components in the timing string. This final frequency is lower than the frequency the circuit would adopt, if C1 and R1 were not in the string. When you release the pushbutton, the 555 does not immediately stop running but ramps down in frequency until it finally stops (Figures 2a and 2b). The ramp frequencies generated do not follow a linear profile, but neither do those in most microprocessor-driven circuits. The ramp-frequency profile of the circuit should resemble that of Figure 2a, depending on the component values.

The move profile from the circuit in Figure 1 is roughly trapezoidal (a); the step-rate profile exhibits low frequencies at ramp-up and -down (b).
Figure 2. The move profile from the circuit in Figure 1 is roughly trapezoidal (a);
the step-rate profile exhibits low frequencies at ramp-up and -down (b).

You can operate this circuit with a simple pushbutton. This concept opens a world of manual control to stepper motors. Usually, stepper motors do not use manual control, because of the difficulty of generating a trapezoidal frequency profile in hardware. With this circuit, you can use low-torque, low-revolutions-per-minute stepper motors in systems in which you formerly needed dc gearbox motors. By changing the pushbutton to a dpdt switch, you can make a stepper motor run clockwise and then counterclockwise without microprocessor control (Figure 3). These concepts also apply to stepper-motor-based linear actuators. You could also replace the pushbutton with a control signal from a computer or a controller, thus allowing stepper motors to take their drive from controllers that do not have a built-in ramp-generating function.

By changing the pushbutton in Figure 1 to a dpdt switch, you can make a stepper motor run clockwise and then counterclockwise without microprocessor control.
Figure 3. By changing the pushbutton in Figure 1 to a dpdt switch, you can make a stepper
motor run clockwise and then counterclockwise without microprocessor control.

Materials on the topic

  1. Datasheet Texas Instruments LM555
  2. Datasheet Allegro MicroSystems UCN5804B

EDN

EMS supplier