Maker Pro
Maker Pro

Frequency Multiplier

Hi All,

I have a sensor that gives me a PWM output at 500hz. I want a small IC or microprocessor or something of that nature to multiply the 500hz PWM to a 5000hz PWM. What kind of circuit can I either buy or make to do this 10X multiplication of my current 500hz output? My input voltage is 8V and I want to keep this the same.

Thanks!
 

KrisBlueNZ

Sadly passed away in 2015
You could do this with a microcontroller. You'd need one with timer input capture and a PWM generator (or something extremely quick, if you wanted to do it all in firmware).
Another approach would be to convert the incoming PWM signal into a proportional voltage, and generate a new PWM signal from that voltage at the new frequency.

Before suggesting any details I would like to know a LOT more about the project. Give us AS MUCH INFORMATION AS POSSIBLE. I don't mean just one paragraph. That will save a lot of time in the long run.
 

Harald Kapp

Moderator
Moderator
At 8 V standard TTL-compatible logic is not usable.
Use a CD4046 PLL which can be operated off 8 V.

I wonder why you insist on keeping the input voltage at 8 V? If you downscale (resistive divider) the input to <= 5 V you can use much more modern PLL circuits. You can then restore the frequency-multiplied signal to 8 V using a simple transistor amplifier.

Have a look at this thread: https://www.electronicspoint.com/frequency-conversion-t250455.html You might want to join forces.

Harald
 

KrisBlueNZ

Sadly passed away in 2015
Harald, this is a PWM signal and he (presumably) wants to retain the same duty cycle at the output. A PLL isn't what's needed here. But I don't think it's worth responding until he posts a lot more detail about what he wants to do.
 

(*steve*)

¡sǝpodᴉʇuɐ ǝɥʇ ɹɐǝɥd
Moderator
one way to do what the OP wants is to take the pwm signal and integrate it. Use the analog output voltage to control another PWM signal at a higher frequency.

Unfortunately, it's really hard to just multiply the frequency. You don't know the width of a pulse until it ends.
 

KrisBlueNZ

Sadly passed away in 2015
one way to do what the OP wants is to take the pwm signal and integrate it. Use the analog output voltage to control another PWM signal at a higher frequency.
Yes, I suggested that in my first post.
Unfortunately, it's really hard to just multiply the frequency. You don't know the width of a pulse until it ends.
Yes, there is no perfect solution. Converting the PWM signal to a voltage then regenerating the PWM at a higher frequency will have lag and won't be mathematically exact, so it may or may not be usable, depending on the details of the application. That's why I suggested a microcontroller as perhaps the best solution.

Before we go into excruciating detail though, I think it would be best for the OP to explain his requirements in detail. It may be that his needs can be met in a different way.
 
Hey,

Thanks for all the feedback so far. Here is a more complete explanation of the project.

I have a machine that uses a pressure sensor built with an ASIC that gives a PWM output of 5000Hz. The input voltage is 8V and due to the source cannot be changed. This part is being phased out and I need to replace it with another pressure sensor that I have on hand. This other sensor gives me the same DC% per pressure input so its a drop in replacement except for the fact that it outputs the signal as a 500Hz PWM.

I need a way to convert the 500Hz PWM up to a 5000Hz PWM, so that it can be as drop-in ready as possible with out having to change any other variables like the input voltage and the software that's reading the PWM output. The important thing is that the duty cycle between the two sensors have the same slope, which is what I want to keep, but the software that reads the output can only intake a 5000Hz PWM signal. Also, the output is internally clamped between 10% and 90% duty cycle.

What I would like to do is place a small module along the wiring harness that takes the 500Hz PWM output and converts it to a 5000Hz PWM ouput before it gets back to the large ECM that's reading this information. What would I need to put in this small module or is there something like a pre-made buffer module I can wire up to the sensor to convert the signal?

I am really new to electronics and since my background is mechanical I completely understand how the sensor works, but not how I can multiply frequencies or if this is a viable way to get the output I desire.

Thanks a ton!
 
Last edited:

(*steve*)

¡sǝpodᴉʇuɐ ǝɥʇ ɹɐǝɥd
Moderator
Is there any reason the 500Hz PWM won't work?

Have you tried?

It may be the simplest solution.
 

KrisBlueNZ

Sadly passed away in 2015
The voltage is a separate issue; it's not hard to convert a 0V/8V swing to a lower voltage (a voltage divider with two resistors) and it's not hard to convert a lower voltage swing to a 0V/8V swing (a transistor or signal MOSFET with a pullup resistor to the 8V supply). Is the 8V supply (or some higher voltage that can be dropped down with a regulator) available on the wiring loom? You'll need to obtain power for the converter somehow.

Do you KNOW that the firmware reading the PWM signal will only work with a frequency of 5 kHz? It definitely won't work with a 500 Hz signal? Does the PWM signal go straight into the digital input of a micro or is it smoothed with an R-C network then fed into an ADC input? In the latter case, could you change the component values in the smoothing network?

Do you have part numbers and/or references to data sheets for the original and/or the new pressure transducers?

Do you need to use that transducer? Could you use one that has an analogue output and convert that to a PWM signal at 5 kHz?

Do you know what lag would be acceptable? If you use the method whereby the PWM from the pressure transducer is converted to a voltage then back to a PWM signal, there will be a lag.

Like I said, the ideal way to do this would be using a microcontroller. But please try to answer all of my questions and we can be more specific. Also, is this a one-off? Are you prepared to do a printed circuit board design? Do you have any firmware programming experience?
 
@KrisBlueNZ

Is the 8V supply (or some higher voltage that can be dropped down with a regulator) available on the wiring loom?

Yes the 8V is available

Does the PWM signal go straight into the digital input of a micro or is it smoothed with an R-C network then fed into an ADC input?

So I think it gets tricky here. I found out that this is for different applications and some of the ECMs have a digital input while some some have an analog input whereby the PWM signal will be converted to analog then a high pass filter is applied to make the signal readable. So the 500Hz may in fact work for the digital input, but that still leaves the analog input to be solved.

Do you need to use that transducer?

short-term yes, but over the long term (1yr+) I may have options

Do you know what lag would be acceptable?

I know that the response to a step change has a 15ms max response time for the application.

Are you prepared to do a printed circuit board design? Do you have any firmware programming experience?

I have NO firmware programming experience, but Im willing to do whatever it takes to get this to work
 

(*steve*)

¡sǝpodᴉʇuɐ ǝɥʇ ɹɐǝɥd
Moderator
converted to analog then a high pass filter is applied

Do you mean "low pass filter"?

So the 500Hz may in fact work for the digital input, but that still leaves the analog input to be solved.

I would have thought the exact opposite was more likely.

In any event (and at the risk of repeating myself) have you tried?

I know that the response to a step change has a 15ms max response time for the application.

Could this be as a result of the low pass filter to the analog stuff?

If so, I would think that 500Hz would be a high enough frequency.

I have NO firmware programming experience, but Im willing to do whatever it takes to get this to work

Does one of those things include simply trying this 500Hz device to see if it works as is?
 

KrisBlueNZ

Sadly passed away in 2015
As well as answering Steve's questions, could you please answer the questions from my post that you didn't answer before. Thanks.
 
Top