darel@maccs.McMaster.CA (Darel Mesher) (12/06/88)
I have an interesting Pulse Width Modulation design problem; Given the following PWM waveforms: Minimum pulse width: <----------------- 18 mS -------------------> .--. .--. ____| |________________________________________| |_____ --> <-- 1.0mS Maximum pulse width: <----------------- 18 mS -------------------> .----. .----. ____| |______________________________________| |___ --> <-- 1.9mS The pulse width varies linearly with a transducer variance of 0 - 100%. My question: is there a simple solution for the conversion of this PWM signal into a corresponding analog signal, ie. a simple circuit for the following black box? .----------. PWM in | | Analog out ------------>| |------------> | | `----------' where the analog output function looks like; Vcc | . | . | . | . | . | . |. -|-----------------, 1.0 1.9 Pulse Width (mSec) Obviously, if there exists a PWM De-modulator chip then this would be the answer, however I can find no such chip in any of my Linear data books. I currently have a solution using a oscillator, counter, and DAC however, the chip count is higher than optimum (ie. one :-) ). Any suggestions would be appreciated. Darel. -- Darel Mesher ...!uunet!mnetor!maccs!darel McMaster University darel@maccs.mcmaster.ca
dillon@jumbo.dec.com (John Dillon) (12/07/88)
In article <1663@maccs.McMaster.CA>, darel@maccs.McMaster.CA (Darel Mesher) writes (I edit the diagrams for brevity): > > I have an interesting Pulse Width Modulation design problem; > > <----------------- 18 mS -------------------> > -->.--.<-- 1.0 to 1.9 mS .--. > ____| |________________________________________| |_____ > > .----------. > PWM in | | Analog out > ------------>| |------------> > | | > `----------' > > where the analog output function looks like; > > Vcc | . > | . > | . > | . > |. > -|-----------------, > 1.0 1.9 Pulse Width (mSec) > The simplest scheme uses a $30 servo from a radio control (RC) system. Spare servos, available at many hobby shops, will accept the above signal waveform (VCC from about 3.5 to 6 volts works OK), and can accurately position a potentiometer. If mechanical solutions disgust you, try using the NE544 chip found in some of these RC servos. The chip has a full-wave output designed to drive a low-power (<500 mA) DC servo motor in conjuntion with a positional feedback pot. The complementary tri-state outputs pulse every 18 mS with polarity and width to overcome position errors. Take one of these outputs and run it through a low-pass filter into the NE544's position feedback pin. The feedback voltage level runs from 1.0 to 2.0 V in response to the input PWM pulse width. See the NE544 data sheet for specifics. Unfortunately, the data sheet does not illustrate this application.
john@stiatl.UUCP (John DeArmond) (12/07/88)
In article <1663@maccs.McMaster.CA> darel@sparkles.UUCP (Darel Mesher) writes: > >I have an interesting Pulse Width Modulation design problem; > >Given the following PWM waveforms: > > Minimum pulse width: > > <----------------- 18 mS -------------------> > .--. .--. >____| |________________________________________| |_____ > > --> <-- > 1.0mS > > > Maximum pulse width: > <----------------- 18 mS -------------------> > .----. .----. >____| |______________________________________| |___ > > --> <-- > 1.9mS > > The pulse width varies linearly with a transducer variance of >0 - 100%. My question: is there a simple solution for the conversion >of this PWM signal into a corresponding analog signal, ie. a simple >circuit for the following black box? > This is an easy one. The average DC value of the waveform increases with increasing width. All that's necessary is a suitable integrator. The following is the minimum required: |\ ----|/--------------\/\/\/\ ------------------- (diode) | | | | ------ \ ------ / | \ | | ----------- (gnd) For more precision, replace the diode with a precision rectified (op amp with a diode in the feedback loop). For even more precision, bufffer the output with an op-amp and use a FET switch driven by the low level (0 volts) of the input signal to gate the input signal to a capacitor connected to the reference leg of the op-amp. This is known as baseline compensation and will compensate for any DC bias in the input signal. In any event, you should be able to do it with less than 10 components or so. John De Armond | "I can't drive 85!" Sales Technologies, Inc. Atlanta, GA | Sammy Hagar driving ...!gatech!stiatl!john | thru Atlanta!
liber@darth.UUCP (Eric Liber) (12/08/88)
> > I have an interesting Pulse Width Modulation design problem; > > Given the following PWM waveforms: > > Minimum pulse width: > > <----------------- 18 mS -------------------> > .--. .--. > ____| |________________________________________| |_____ > > --> <-- > 1.0mS > > > Maximum pulse width: > <----------------- 18 mS -------------------> > .----. .----. > ____| |______________________________________| |___ > > --> <-- > 1.9mS This looks just like a "standard" Model Radio Control signal. By standard I mean from the type of equipment that Futaba, Kraft and others make not what you find at Radio Shack (toys mostly). Anyway there are several "chips" that will do what you want with varying degrees of simplicity. Natioal Semi makes a chip - NE554 that is a servo amplifier chip for model radio control servos. I suspect that with only minor component changes from the "normal" values (and maby the addition of and OP amp for output buffering) it would do very nicely. These are available from digikey and specifications are in the National Linear Data book. If you can't get the data give me a call and i will xerox and send to you. (412- 367 7308 after 7:00 pm). Other possibilities are the receiver chips from National and TI that are complete Radio control Receivers. These would probably be more difficult to use since they have much more circuitry than you need. I don't remember the numbers off hand but the linear data books should have them. Exar used to make a chip similar to the National chip (2264 i think) but i don't know if it is still in production. Last, several radio control equipment companies make digital proportional to motor driver converters. These units allow for input such as you specify and output a varying dc signal to drive high current motors in boats and cars (and electric airplanes!). The units for airplanes are uni-polarity (don't need back up for an airplane :-) ) and are usually bi-polarity for cars and boats. The major disadvantage of these units is that they are typically designed for high current loads (10-200 amps!) and are not especially cheap. One more thought .. I have seen modelers take the electronics from a radio control servo (for an airplane let's say) and modify it to drive a small motor in very small boat models (less than 12" long). These servos are available from various mail order sources in the $9 - $15 range. Get a copy of Radio Control Modeler Magazine to get an idea of sources. Be aware that name brand "quality" servos can run from $30 - $45 and more so if you go this route you want "no name" cheapies. Note that the circuit boards for the electronics in these beasties are small usually less than 1" square (something) like a postage stamp so you are not going to be burdened with lots of real estate. good luck .. if i can help some more please ask. Eric (the red) Liber
tomb@hplsla.HP.COM (Tom Bruhns) (12/08/88)
> > I have an interesting Pulse Width Modulation design problem; > > (pulse 1-1.9ms; 18ms between pulses) > > The pulse width varies linearly with a transducer variance of > 0 - 100%. My question: is there a simple solution for the conversion > of this PWM signal into a corresponding analog signal, ie. a simple > circuit for the following black box? > > where the analog output function looks like; > > > Vcc | . > | . > | . > | . > | . > | . > |. > -|-----------------, > 1.0 1.9 > > Pulse Width (mSec) > > -- > Darel Mesher ...!uunet!mnetor!maccs!darel > McMaster University darel@maccs.mcmaster.ca > ---------- Depending on the accuracy and time response you want, maybe the following "one-chip" solution will work (thought the FET switches may be EASIER to do as a second chip -- same with the one-shot). You get to work out the details; this is only an outline: Use a quad opamp chip. One section is configured as a one-shot which is adjustable, and nominally 1 mS. It is triggered by the leading edge of the received pulse. Its output is used below. Second opamp is used as an integrator. It ramps to the desired fullscale output in 0.9 mS. It has an FET switch to reset it; that switch is closed ("RESET") when the 1mS one-shot is active. It also has an FET switch on its input: the input is taken from a pot fed from a regulated negative voltage, so full-scale is both stable and adjustable. However, the input is switched off (switch open; no current into integrator) whenever either the one-shot is active or the input pulse is low. Thus the integrator is reset and ramps up for each pulse, and holds the value between pulses. The remaining two opamp sections are used as either a linear lowpass filter to smooth the output (if needed), or as a simple sample/hold sort of thing ... Now, you didn't say anything about the number of R's, C's, D's etc ... Hope this gives you some food for thought. It's only one of many ways of doing it... but the parts I'd have in my junkbox. Cheers, Tom Bruhns tomb%hplsla@hplabs.hp.com
rusty@cadnetix.COM (Rusty) (12/10/88)
watch out for those National chips, they are deaf as doornails to RF. Speaking from experience, I am sorry to say. :-( ----- Rusty Carruth UUCP: {uunet,boulder}!cadnetix!rusty DOMAIN: rusty@cadnetix.com Cadnetix Corp. (303) 444-8075x681 \ 5775 Flatiron Pkwy. \ Boulder, Co 80301 Radio: N7IKQ 'home': P.O.B. 461 \ Lafayette, CO 80026