Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Heplp needed in Frequency Doubler

Status
Not open for further replies.
Hello again,


Well, can you report back what frequency range you are actually getting right now, like min before loss of lock, and max before loss of lock?

When i said 'digital logic gates' i did not mean to use gates alone. What i meant was to use 4 chips of the 4046 type and use four ranges (or possibly less but four should work for sure). So the implementation for a 1Hz to 1000Hz would go as follows (just to show how this 1000:1 range might be done):
4046 #1 tuned from 1Hz to 6Hz (that's 6:1),
4046 #2 tuned from 6Hz to 36Hz (that's also 6:1)
4046 #3 tuned from 36Hz to 216Hz (that's also 6:1)
4046 #4 tuned from 216Hz to 1080Hz (that's 5:1)

Then the digital logic gates are connected so that we can select which output we want to use. We would of course then have the extra added complexity of deciding how we want to switch ranges. We might want to use a circuit to do this automatically.
That's just a quick example, but we may actually be going from 1kHz to 1000kHz.

So you have to think about this a little. This may be a bit more than you want to go through for this project and instead find another way of doing this. There have been other suggestions by others in this thread you may wish to consider.

Another little question that comes up is what resolution you need. In other words, if you change from 1Hz to 1.001Hz do you need the output to go from say 1000Hz to 1001Hz (for example) or can you live with just steps in the frequency, like say 5Hz per step?

Did you mention yet what application this will be used for in the end?
 
In page 6 and post no 51, I have mentioned for which i need frequency multiplication.
Now i think this is going very complex for me understand and also do it physically !!!!:(
Again I'm saying that I'm doing a frequency meter with CD4026 for my college project, the circuit and details are on post no 51 at page no 6 of this thread called "Heplp needed in Frequency Doubler"
 
Hi again,


Ok thanks, so then you probably want linear tracking rather than digital. Now you have to decide how you want to proceed from here.
 
Hi again,


Ok thanks, so then you probably want linear tracking rather than digital. Now you have to decide how you want to proceed from here.

So, what will be your suggestions in that case???? I want to make it simple which can be explain easily and will also bring comfort for me because of at least I'm gonna know what will happen in the circuit. In my level of knowledge in electronics, very complicated circuit (phase locked loop) will be difficult for me.
 
Hello again,


Oh i see, well that changes the story a little then.

But let me see if i understand what you are trying to do in the first place, then we can go from there.
From what i gather, you are trying to make a frequency counter. But you dont want to make the typical frequency counter which would have a 1 second gate for 1Hz resolution possibly switchable to 10 seconds for 0.1Hz resolution. You seem to want 0.001Hz resolution, is that right? If not, state what you are after.

Another way to measure frequency is to measure the total period and then take the reciprocal. For example, if we measure 0.050 seconds for the positive half cycle and 0.050 seconds for the negative half cycle we get 0.1 seconds total, and the reciprocal of that is 10 so that's 10Hz. The resolution depends on the base frequency you use in the design. Say we use 1000Hz just to keep this simple. 0.050 would gate 50 cycles and that would happen on both half cycles, so we would see a total count of 100 come into the counters. Since we are using 1000Hz each pulse is worth 0.001 seconds, so 100 times 0.001 is 0.100, and taking the reciprocal of that we get 10, which again is 10Hz.

So we need to know what resolution you really NEED for this project.
 
Last edited:
Hello again,


Oh i see, well that changes the story a little then.

But let me see if i understand what you are trying to do in the first place, then we can go from there.
From what i gather, you are trying to make a frequency counter. But you dont want to make the typical frequency counter which would have a 1 second gate for 1Hz resolution possibly switchable to 10 seconds for 0.1Hz resolution. You seem to want 0.001Hz resolution, is that right? If not, state what you are after.

Another way to measure frequency is to measure the total period and then take the reciprocal. For example, if we measure 0.050 seconds for the positive half cycle and 0.050 seconds for the negative half cycle we get 0.1 seconds total, and the reciprocal of that is 10 so that's 10Hz. The resolution depends on the base frequency you use in the design. Say we use 1000Hz just to keep this simple. 0.050 would gate 50 cycles and that would happen on both half cycles, so we would see a total count of 100 come into the counters. Since we are using 1000Hz each pulse is worth 0.001 seconds, so 100 times 0.001 is 0.100, and taking the reciprocal of that we get 10, which again is 10Hz.

So we need to know what resolution you really NEED for this project.

ok, let me explain it.
first of all I want frequency counter which will show me the frequency of 1 seconds. and counting ability should be upto 999 Hz (i think it can be expanded)
And now comes the question of resolution what I want. suppose that a frequency of 89.7 Hz, so is it possible to show 89.7 Hz? is it possible to show the figure after the point (.)? otherwise I'll happy for 89 Hz show in the display for 89.7 Hz
 
I want frequency counter which will show me the frequency of 1 seconds
Do you mean update the measurement every 1 sec?
counting ability should be upto 999 Hz
Do you mean the maximum frequency of interest is 999Hz?
(i think it can be expanded)
You need to make a definite decision on that.
 
Do you mean update the measurement every 1 sec?
Do you mean the maximum frequency of interest is 999Hz?
You need to make a definite decision on that.

no, update should more precious like say update have to be every 20 miliseconds and then what it be in 1 second should come to display.
YES I need it upto 999Hz...
 
update have to be every 20 miliseconds
Why? You can't measure low (<25Hz) frequencies in 20mS.
then what it be in 1 second should come to display.
You've lost me there :(
 
Why? You can't measure low (<25Hz) frequencies in 20mS.
You've lost me there :(

then plz suggest what should be the update time....???
jsut forget the last quote you have made!!!!!! sorry for my poor writing skill:(:( .. English is not my native*language ....
 
Last edited:
what should be the update time....???
At least equal to the period of the lowest frequency of interest and not such as to cause an annoying flicker/jitter of the display. Unless you have some pressing reason for rapid updating I would have thought a period of several seconds would be adequate. BTW your English is infinitely better than my handling of your native language :)
 
then plz suggest what should be the update time....???
jsut forget the last quote you have made!!!!!! sorry for my poor writing skill:(:( .. English is not my native*language ....

Hi again,


Ok so you want to be able to measure frequencies from 1Hz to 1000Hz, and you'd like to get resolution of 0.1Hz but you might settle for 1Hz. You also want the display to update at least once per second (so you dont need any 20ms update time period).

To get 1Hz resolution you only need a gate pulse of 1 second. But measuring down to 1Hz absolute frequency means for a 1Hz input you'll see 1Hz then 0Hz then 1Hz then 0Hz, etc., unless the gate is ever so slightly longer than 1 second (which can be done). To get up to 1000Hz your gate would still be 1 second plus a little more, but to keep it from reading too high maybe a gate period of 1.001 seconds would be a good idea. This would come from a crystal oscillator time base.

To get 0.1Hz resolution you could use a gate pulse of 10 seconds. But that would mean the display would not update every second but would take 10 seconds to get each new reading.
To get 0.1Hz resolution with a 1 second update period is not easy to do as you are finding out now. It requires some special circuit or another. If you measure the time period rather than the frequency directly you should be able to get 1 to 1000Hz range with 0.1Hz resolution, but this required also being able to calculate the reciprocal of a number as i mentioned before.

Taking all this into account maybe it would be better if you settled on 1Hz resolution and 1.001 second update period. We could work on other designs but it could take some time to run some careful experiments unless you are willing to use a microcontroller chip like the PIC flash type.

Other possibilities:
1. Using a microcontroller directly (the most modern approach). This is a single chip design, except maybe for an input amp unless the micro has one built in.
2. Using several CD4046 chips with digitally switched outputs (you'd have to switch ranges manually unless we designed an auto range circuit too).
3. Using a single CD4046 chip and investigating the possibility of modulating the resistor currents to greatly increase the lock range. Would take some time to run some careful experiments both in simulation and on breadboard.
4. Design a discrete version of the CD4046 with increased lock range. Would take some time to develop and test. Might not be simple anyway.

It sounds like you might not want to get into the complexity of any of these solutions, so again you may be better off with the simplest counter for now which means a 1.001 second gate pulse and 1.001 second display update and 1Hz resolution.
There is another simple but different solution, and that is to just measure the time period of the signal rather than the frequency. For example, for a 101Hz signal you would measure 0.0099010 seconds using a 10MHz time base. That's pretty accurate really, equivalent to about 100.999899Hz. For a signal 1001Hz you'd measure 0.000999 seconds, which is equivalent to about 1001.001Hz (only a tiny fractional error).
 
Last edited:
Hi again,


Ok so you want to be able to measure frequencies from 1Hz to 1000Hz, and you'd like to get resolution of 0.1Hz but you might settle for 1Hz. You also want the display to update at least once per second (so you dont need any 20ms update time period).

To get 1Hz resolution you only need a gate pulse of 1 second. But measuring down to 1Hz absolute frequency means for a 1Hz input you'll see 1Hz then 0Hz then 1Hz then 0Hz, etc., unless the gate is ever so slightly longer than 1 second (which can be done). To get up to 1000Hz your gate would still be 1 second plus a little more, but to keep it from reading too high maybe a gate period of 1.001 seconds would be a good idea. This would come from a crystal oscillator time base.

To get 0.1Hz resolution you could use a gate pulse of 10 seconds. But that would mean the display would not update every second but would take 10 seconds to get each new reading.
To get 0.1Hz resolution with a 1 second update period is not easy to do as you are finding out now. It requires some special circuit or another. If you measure the time period rather than the frequency directly you should be able to get 1 to 1000Hz range with 0.1Hz resolution, but this required also being able to calculate the reciprocal of a number as i mentioned before.

Taking all this into account maybe it would be better if you settled on 1Hz resolution and 1.001 second update period. We could work on other designs but it could take some time to run some careful experiments unless you are willing to use a microcontroller chip like the PIC flash type.

Other possibilities:
1. Using a microcontroller directly (the most modern approach). This is a single chip design, except maybe for an input amp unless the micro has one built in.
2. Using several CD4046 chips with digitally switched outputs (you'd have to switch ranges manually unless we designed an auto range circuit too).
3. Using a single CD4046 chip and investigating the possibility of modulating the resistor currents to greatly increase the lock range. Would take some time to run some careful experiments both in simulation and on breadboard.
4. Design a discrete version of the CD4046 with increased lock range. Would take some time to develop and test. Might not be simple anyway.

It sounds like you might not want to get into the complexity of any of these solutions, so again you may be better off with the simplest counter for now which means a 1.001 second gate pulse and 1.001 second display update and 1Hz resolution.
There is another simple but different solution, and that is to just measure the time period of the signal rather than the frequency. For example, for a 101Hz signal you would measure 0.0099010 seconds using a 10MHz time base. That's pretty accurate really, equivalent to about 100.999899Hz. For a signal 1001Hz you'd measure 0.000999 seconds, which is equivalent to about 1001.001Hz (only a tiny fractional error).

Ok as you say..... I think 1.001 second gate pulse display update and 1 Hz resolution will be better for me now......
now how should I proceed in this simple frequency counter.......
 
Hi MrAl,
the last method just gone above my head. Post No 72. the measuring the time period!!!!:(;)
 
Last edited:
At least equal to the period of the lowest frequency of interest and not such as to cause an annoying flicker/jitter of the display. Unless you have some pressing reason for rapid updating I would have thought a period of several seconds would be adequate. BTW your English is infinitely better than my handling of your native language :)
yes flicker/jitters are very much annoying. flicker/jitters should not be in display!!!


and do you know what is my native language????:)
 
Last edited:
Ok as you say..... I think 1.001 second gate pulse display update and 1 Hz resolution will be better for me now......
now how should I proceed in this simple frequency counter.......

Hi,

Did you ever build a crystal oscillator or use one of those 'can' style crystal oscillators?
What you do is get a crystal oscillator that when divided down you get near to a 1 second pulse, which could mean 1 second high and 1 second low unless you want to make it 1 second high and a shorter time low so the display updates faster. You use regular dividers to do this that i think you have some experience with.
So once you get the 1 second pulse (or nearly so) then you use that to gate the signal to be measured using either a NAND or AND gate. You then setup your counters to start counting during the high period of the 1 second gate signal. After the count is over, you display the results.

To do this right it requires counters and also display drivers. Once the counting is complete you have to send the count to a set of latches unless your display drivers have that built in already. Using a non multiplexed display will be simpler so maybe you want to start with that.
So each stage looks like this:
COUNTER--->LATCH--->DISPLAYDIGIT

and of course the counters are set up to count BCD. During the 1 second gate pulse the latch holds the previous count so the display can show it. Some display driver chips have the latch built in so you may not need an extra latch for each digit, but i've shown them here because it's an important part of the whole thing.

So for three digits here's what it would look like:
Oscillator--->DIVIDER-->1 second gate pulse to AND gate and latches, signal input also goes to AND gate
Output of AND gate goes to input of COUNTER1--->
COUNTER1--->LATCH1--->DISPLAYDIGIT1
COUNTER2--->LATCH2--->DISPLAYDIGIT2
COUNTER3--->LATCH3--->DISPLAYDIGIT3
When the gate pulse is high the latches hold the previous count, when the gate pulse goes low the latches take in the new count and all the counters reset to zero.
BTW it is better to use synchronous counters rather than the ripple carry type. There's a slight delay between the first and last counter which can cause display problems with multiple digits. It may not matter that much for only three digits at only 1000Hz, but with more digits the delay effect really starts to show up as an error in the count.

Also, it's not that much more difficult to make the pulse time measurement. It's almost the same as doing that above. The only difference is you use a high frequency like maybe 10MHz and use the input signal as the gate instead of using a pulse, and use the 10MHz instead of the pulse. The counters get reset to zero a little differently but not much different.
In fact, you can make your frequency counter do both without too much modification. You just need a higher frequency oscillator like 10MHz or something like that. Even 1MHz will get you there if you dont need to measure really short pulses.

Just to note, to get a 1 second gate pulse you can use a crystal oscillator that is a integer power of 2 so that you can use 'normal' binary dividers. But if you use a base 10 frequency like 1MHz then you have to use decade dividers to get to the 1 second pulse, but then you already have the frequency needed to measure pulse widths too. So you decide what you want to do here.

I am also assuming you want to design this mostly yourself, but if you want more help that's ok too.
 
Last edited:
Hi,

Did you ever build a crystal oscillator or use one of those 'can' style crystal oscillators?
What you do is get a crystal oscillator that when divided down you get near to a 1 second pulse, which could mean 1 second high and 1 second low unless you want to make it 1 second high and a shorter time low so the display updates faster. You use regular dividers to do this that i think you have some experience with.
So once you get the 1 second pulse (or nearly so) then you use that to gate the signal to be measured using either a NAND or AND gate. You then setup your counters to start counting during the high period of the 1 second gate signal. After the count is over, you display the results.

To do this right it requires counters and also display drivers. Once the counting is complete you have to send the count to a set of latches unless your display drivers have that built in already. Using a non multiplexed display will be simpler so maybe you want to start with that.
So each stage looks like this:
COUNTER--->LATCH--->DISPLAYDIGIT

and of course the counters are set up to count BCD. During the 1 second gate pulse the latch holds the previous count so the display can show it. Some display driver chips have the latch built in so you may not need an extra latch for each digit, but i've shown them here because it's an important part of the whole thing.

So for three digits here's what it would look like:
Oscillator--->DIVIDER-->1 second gate pulse to AND gate and latches, signal input also goes to AND gate
Output of AND gate goes to input of COUNTER1--->
COUNTER1--->LATCH1--->DISPLAYDIGIT1
COUNTER2--->LATCH2--->DISPLAYDIGIT2
COUNTER3--->LATCH3--->DISPLAYDIGIT3
When the gate pulse is high the latches hold the previous count, when the gate pulse goes low the latches take in the new count and all the counters reset to zero.
BTW it is better to use synchronous counters rather than the ripple carry type. There's a slight delay between the first and last counter which can cause display problems with multiple digits. It may not matter that much for only three digits at only 1000Hz, but with more digits the delay effect really starts to show up as an error in the count.

Also, it's not that much more difficult to make the pulse time measurement. It's almost the same as doing that above. The only difference is you use a high frequency like maybe 10MHz and use the input signal as the gate instead of using a pulse, and use the 10MHz instead of the pulse. The counters get reset to zero a little differently but not much different.
In fact, you can make your frequency counter do both without too much modification. You just need a higher frequency oscillator like 10MHz or something like that. Even 1MHz will get you there if you dont need to measure really short pulses.

Just to note, to get a 1 second gate pulse you can use a crystal oscillator that is a integer power of 2 so that you can use 'normal' binary dividers. But if you use a base 10 frequency like 1MHz then you have to use decade dividers to get to the 1 second pulse, but then you already have the frequency needed to measure pulse widths too. So you decide what you want to do here.

I am also assuming you want to design this mostly yourself, but if you want more help that's ok too.

Yes I have used crystal with CD4060.....
and for the counter IC CD4026 will be ok or 4510 with 4511??
which will be more better.?
 
so what Al was saying about measuring period rather than frequency, is you substitute the input being measured for the count gate pulse. then you input a 1khz clock (it has to be accurate) into the counter input. the display on the counter will display how many mulliseconds the period of the input waveform is. then you divide 1 by the displayed number and you have frequency. so if the display says 1000mS, then the frequency is 1hZ. if the display says 100mS, the frequency is 10hz. if the display says 20mS the frequency is 50hZ

formula: f=1/t
 
Last edited:
Yes I have used crystal with CD4060.....
and for the counter IC CD4026 will be ok or 4510 with 4511??
which will be more better.?

Hi,

Whatever divider chip you want to use should be ok as long as you get a 1 second high output pulse.
So if you have a crystal 32768Hz then you need enough flip flops so that you end up with a 1 second output pulse. You need 1 extra to get a 1 second output pulse because that means it will be 1/2 Hz.
 
Status
Not open for further replies.

Latest threads

Back
Top