Continue to Site

# help

Status
Not open for further replies.

#### japl

##### New Member
hello

Iam looking for a circuit that could produce a linear ramp(sawtooth waveform) having an output amplitude equal to its input without altering its frequency. The input available to me is a DC voltage. thanks for ur help in advance.

japl said:
hello

Iam looking for a circuit that could produce a linear ramp(sawtooth waveform) having an output amplitude equal to its input without altering its frequency. The input available to me is a DC voltage. thanks for ur help in advance.

You don't give many details, what is it actually for?, what frequency does it need to run at?, what is the input voltage?, what is the required output amplitude?.

Without knowing those sorts of things, I can only suggest a fixed sawtooth oscillator feeding into a voltage controlled amplifier, the gain of which is set by your DC voltage. But knowing what it's required for may make a big difference to how it could be done.

hi

Very sry about the vague description

The input is a DC variable supply of 0 to 10 volts and i need an output amplitude that would be equal to whatever the input DC voltage is. If the input is 5volts then the output amplitude must also be at 5volts. At 250Hz frequency. This project is actually a pain reliever device.

Actually its like this a 16f84 is controlling a multiplexer that is outputting a variable DC voltage of 0 to 10volts so the output would be 10 then u press the decrease button (the decrease button is connected to the PIC16f84) it decreases the voltage to 9 then press it again it becomes 8 and so on... that is why a need a this kind of circuit. ive got zero pins free on my PIC and this is all i can think of

Do it all in the software!, I don't quite understand what a multiplexer has to do with it though? (unless you are multiplexing an LED display at the same time?). Use an R2R DAC (taking 8 PIC pins), generate the ramp in software and output it through the DAC - this will give you a 5V ramp (with 256 steps), use an op-amp to amplify this by 2, to give you the 10V ramp.

To make a smaller ramp, simply don't use all the steps, only 128 steps would give you a 5V ramp, and so on. You will also need to alter the time between steps to keep the frequency the same. As you only have 10 different output levels, you could easily use a lookup table for the different step delays. The application itself wouldn't appear to be at all critical about waveshape, so a simple stepped ramp should be fine.

If you run short of pins, there are many different options, simple TTL port expanders are one, or various kinds of latches - but probably easiest is to use a different PIC. The 16F628 (the replacement for the 16F84) gives you 16 I/O pins in the same 18 pin footprint, or an 16F876 will give you even more at the expense of a 28 pin footprint. Or you could simple add a second PIC, even using the same clock oscillator, and transfer data from one to the other over a single pin - use one to read the buttons and drive the display (if any), and the second to generate the ramp.

thanks for ur help nigel

Status
Not open for further replies.