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.
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.
Do you mean update the measurement every 1 sec?I want frequency counter which will show me the frequency of 1 seconds
Do you mean the maximum frequency of interest is 999Hz?counting ability should be upto 999 Hz
You need to make a definite decision on that.(i think it can be expanded)
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.
Why? You can't measure low (<25Hz) frequencies in 20mS.update have to be every 20 miliseconds
You've lost me therethen what it be in 1 second should come to display.
Why? You can't measure low (<25Hz) frequencies in 20mS.
You've lost me there
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 languagewhat should be the update time....???
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).
yes flicker/jitters are very much annoying. flicker/jitters should not be in display!!!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
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.
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.?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?