Issue
153 April 2003
Muscle
for High-Torque Robotics
PW-V
CONVERTER
The
upper left-hand area of the schematic shows the circuit
that I’ve dubbed a pulse width-to-voltage converter,
or PW-V converter. The input to this circuit is the
servo pulse supplied from an RC receiver. The width
of this pulse corresponds to the servo position commanded
from the RC transmitter. For instance, a pulse width
of 1.5 ms corresponds to a requested servo position
of “center”; a pulse width of 2 ms corresponds to a
requested servo position of “fully clockwise”; and a
pulse width of 1 ms corresponds to a requested servo
position of “fully counterclockwise” (or vice versa,
depending on the side of the servo shaft you’re standing
on).
The
output of this circuit is a linear voltage ramp that
peaks at a voltage corresponding to the requested servo
position. This voltage will be sampled, held, buffered,
and applied to the servo IC as the reference voltage.
(You’ll learn more about this shortly.) An MC33078 op-amp
is used to buffer the input pulse, which is then inverted
by an MC74HC1G04. Q1, C3, and the associated resistors
form a linear ramp circuit, which produces a ramp proportional
to the width of the input pulse. The slope of the ramp
can be varied by adjusting the ratio of R2 to R7, or
by the “Ramp slope set” potentiometer. Use only one
or the other in the physical circuit, not both. Photo
2 shows the input pulse and the resulting ramp.
|

(Click
here to enlarge)
|
Photo
2—Take a look at the ramp generator output versus
the input pulse width. As the pulse varies in length,
so does the length and final height of the ramp.
The slope of the ramp is fixed. |
SAMPLE
AND HOLD TIMERS
As
you can see in the lower-left portion of Figure 1, I
used MC1455 timer ICs in this portion of the circuitry.
Timer1 is triggered by the falling edge of the input
pulse—courtesy of the differentiator comprised by C29
and R19. This timer generates a 100-µs command to the
sample and hold circuit.
Photo
3 shows the input pulse and timer pulse. Note that the
100-µs timer pulse begins on the falling edge of the
input pulse. The falling edge of Timer1’s pulse is fed
through a differentiator (i.e., C15, R6) to trigger
Timer2. Timer2 provides roughly a 1-ms pulse to the
base of Q2, causing it to saturate fully and rapidly
discharge the ramp capacitor, C3. Keep in mind that
this 1-ms pulse begins at the falling edge of Timer1’s
100-µs pulse.
|

(Click here to enlarge)
|
Photo
3—There’s nothing too complicated here. The Sample
and Hold command is generated at the termination
of the RC code pulse. |