Text preview for : RC circuit sample.pdf part of rc circuit sample service manual/ schematic diagram
Back to : RC circuit sample.pdf | Home
FEATURE ARTICLE
Lonne Mays
train is ill suited, because the mechanical delay imposed between commanding a new position and that new position being achieved can become greater than what the system requirements will tolerate.
TORQUE + SPEED
To have both high torque and speed requires you to employ a more potent motor. Such motors don't have to be large, but they do require a heftier V × A product delivered to their terminals. Of course, the output of the servo IC can be boosted via a handful of discrete PNP and NPN bipolar junction power transistors, but the biasing of this external array of parts is a nontrivial task. Care must be taken to provide bias tracking stability over temperature, given the PN junction's notorious negative temperature coefficient. Additionally, there is the undesirable inherent inefficiency of the multiple VCE(sat) voltage drops in series with the load, as well as the power wasted in the emitter ballast resistors. Creating an external H-Bridge with discrete MOSFETS is also problematic, because this approach requires different drive circuits for the high-side and low-side FETS and the use of charge pumps. Using a monolithic power H-Bridge ASIC like the MC33887DH is by far an easier means for boosting the output of a servo controller (whether analog or digital). Because this IC incorporates not only the low RDS(on) HBridge but also the gate drive, charge pump, and input logic circuitry, it's a simple yet robust solution for boosting the output of a servo controller IC. The MC33887DH allows you to select motors requiring up to 6 A steady state at up to 30 V. This means motors up to 180 W may be utilized, thus providing both high torque and speed via low-ratio gear trains.
Muscle for High-Torque Robotics
nalog servomotor control ICs-- such as the venerable MC33030--have facilitated my motion control tasks for many years. Integrated circuits of this genre contain the op-amps to process the information (i.e., voltage) from analog position sensors, the comparators to process position-command voltages (i.e., reference voltages), and the mixed-signal circuitry to close the control loop while taking care of drive functions like window detection, drive direction, braking, and stall detection. The drive capability of these ICs, however, is generally limited to tiny lowvoltage motors (e.g., less than 12 V at less than 500-mA steady-state).
a
Is your favorite robot getting to be a bit too atrophied for your taste? Does it lack vim and vigor? If so, don't worry. What you need is high torque and speed. With the MC33887D integrated H-Bridge and a little direction from Lonne, you can bulk up your robot in no time.
TORQUE VS. SPEED
When you're limited to such wimpy motors, the issue of obtaining high torque involves a trade-off between the actuator speed and the required torque or force. This is because a highratio gear train is required to achieve a torque multiplication factor. As a consequence, the speed of the mechanical actuator is reduced (divided) by the same factor. In essence, it becomes a choice between torque and speed. For many applications, a high-ratio gear
CIRCUIT CELLAR®
SOFTWARE VS. HARDWARE
The latest generation of microcontrollers makes closed-loop servo control an easy task, especially when the micro's brains are teamed with the nerves and muscle of power ASIC's (e.g., the MC33887, MC33886, MC33486, MC33186, and MC33880).
www.circuitcellar.com
Circuit Cellar, the Magazine for Computer Applications. Reprinted by permission. For subscription information, call (860) 875-2199, or www.circuitcellar.com. Entire contents copyright ©2001 Circuit Cellar Inc. All rights reserved.
30
Issue 153
April 2003
Photo 1--The entire module has the same dimensions as a standard business card, yet it's capable of controlling 5-A, 12-V motors without additional heatsinking. Surface-mount technology was used for the majority of the components.
Using the MCU's A/D inputs to read the position sensors and its PWM or parallel/serial output to communicate with the power ASIC makes servo control more of a programming exercise than a hardware design exercise.
THE ROBOT WARRIOR
Toward the end of keeping this a totally hardware-oriented article, this design example takes a sans-micro approach to tackle the task of converting a standard radio control (RC) pulsewidth-coded signal into a high-speed, high-torque servo response. Referring to the schematic in Figure 1, note that there are five functional areas to the design. From this point on, I'll focus on the function and operation of each area delineated in the schematic, beginning with the servo amp.
SERVO AMP
The upper right-hand area of the schematic--labeled "servo amp"--represents the control and power functions that I've already described. Note that it contains only two ICs: the
MC33030 servo IC is the brain, and the MC33887DH acts as the nerves and muscle. The MC33887DH is the large IC in the center of the PCB shown in Photo 1. As you can see in Figure 1, the MC33030's two outputs, which would ordinarily go to a small motor, are interfaced to the two inputs of the MC33887 via two small diodes. Any small signal diodes will do in this case, because their only function is to prevent the MC33030 outputs from overdriving the MC33887's inputs. (Note that the MC33887 has CMOS/TTLcompatible 5-V logic inputs with internal 80-µA current source pull-ups.) Utilizing the current feedback output of the MC33887 has preserved the stalldetect and over-current shutdown feature of the MC33030. The MC33887 uses the loss-less technique of current mirroring to sense the motor load current. This technique provides a ratioed sample of the load current (1/375 in this case), which is easily converted into any desired voltage via a single resistor. Applying this resistor to the CDLY input of the MC33030 enables the IC to detect a motor stall or over-current condition and shut off the drive signals. The drive signals will remain off until a direction reversal is commanded via the error amp or reference input. The particular stall current threshold is set by the value of the feedback resistor (i.e., R10 in Figure 1). Capacitor C8 is added to filter out current spikes, which may be present because of capacitance in the load. (Don't forget that it's often necessary to place small capacitors across the motor brushes to reduce EMI/RFI.)
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.
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.
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.
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
CIRCUIT CELLAR®
Photo 3--There's nothing too complicated here. The Sample and Hold command is generated at the termination of the RC code pulse. www.circuitcellar.com
Photo 4--The radio control servo control pulse has an ~15-ms repetition interval. Note that it's the width of the pulse (0.5 to 1.5 ms) that's critical, not the pulse repetition interval. Issue 153 April 2003
31
Figure 1--This servo motion controller module is a fully analog implementation (i.e., no micro or coding is required). An on-board test-signal generator is included and may be selected as the stimulus input via jumper JP2.
32
Issue 153
April 2003
CIRCUIT CELLAR®
www.circuitcellar.com
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.
ANALOG SWITCH
The heart of this little circuit is the MC74VHC1G66 analog switch. After receiving the pulse from Timer1, the analog switch transfers the voltage on C3 (i.e., the PW-V converter) to C8. Recall that Timer1's pulse occurs at the falling edge of the input pulse; thus the voltage on C3 will be ramped up to a peak corresponding to the width of the input pulse. Recall also that Timer2, which generates its pulse after the completion of the sample and hold activation pulse, discharges C3. Photo 4 shows the output of the sample and hold circuit versus the input pulse. (Note that the input pulse repeats in 15-ms intervals. The pulse repetition interval isn't critical and doesn't contain any information. It varies from 10 to 30 ms, depending on the brand of RC transmitter.) The voltage stored, or held, on C8 is buffered by another MC33078 op-amp--the other half of this dual op-amp chip--and applied to the position reference input of the MC33030.
feedback potentiometer was mounted to the mating worm wheel. The potentiometer provided 320° of rotation. Testing showed that the system responded to position commands with the high speed associated with a single-reduction gear and the high torque associated with the 5-A motor. In fact, the speed and torque were of a magnitude that merited physical precaution for my fingers! Several alternatives would be practical for the gearing and potentiometer assembly. For instance, if a multi-turn potentiometer (e.g., 10 turn) were used in place of the single-turn device, a winch servo would be created without sacrificing positional accuracy. Likewise, a pure linear-force mechanical arrangement could be accomplished via an ACME lead screw and follower nut, which would be attached to a linear potentiometer. With deference to my MCU-focused colleagues, I acknowledge that this entire exercise could have been done with one HC08 microcontroller, one MC33887DH, and about 2 KB of code. But wasn't sticking strictly to a hardware solution more fun? I Lonne Mays is a systems and applications engineer for Motorola's Analog Products Division. Lonne has been with Motorola for 25 years, and working with electronics circuitry for over 35 years. He has a Master's degree from Arizona State University, as well as a B.S. degree. In his spare time, Lonne likes to work at home in his machine shop and electronics lab. You may reach him at lonne.mays@ motorola.com.
TEST-PULSE GENERATOR
This servo test-pulse generator is simply a test-pulse generator that's added to the board so that it can be tested without an RC transmitter and receiver. Jumper JP2 is provided so that the PW-V converter can receive a pulse from an external receiver or the on-board test-pulse generator.
SOURCES
MC33887DH Integrated H-Bridge Motorola, Inc. (800) 521-6274 (847) 576-5000 www.motorola.com MC1455 Timer, MC30330 servo IC, MC33078 op-amp, MC74HC1G04 single inverter, MC74VHC1G66 analog switch ON Semiconductor (602) 244-6600 www.onsemi.com
CIRCUIT CELLAR® Issue 153 April 2003
WATCH YOUR FINGERS
I used a simple, single-reduction motor and gear assembly for testing the circuitry. A worm gear was mounted to the shaft of a 5-A motor, and the position
www.circuitcellar.com
35