Circuit-Projects.com New Projects
Loading the search box...
Metering

Frequency Counter by PIC16F628

In this project we are building a basic and low cost frequency counter circuit . It can measure from 16Hz to 100Hz signals with a maximum amplitude of 15V. The sensitivity is high, the resolution is 0.01Hz. The input signal can be a sine, a square or a triangle waveform.

The counter can be used in many applications. For instance, to observe an oscillator’s accuracy, to measure the mains frequency or to find out the rpm of a motor that is connected to an encoder.

Click here to download the schematics, PCB layouts and the code files.

The PCB file is provided in pdf format. You can apply it to the board by using the ironing method or you can use our PCB manufacturer partner PCBWING for high quality, cheap and fast PCBs. It is as simple as buying a book through the Internet. I want professional PCB!

The components are listed below.

1 x PIC16F628 - 04/P Microcontroller
4 x Common Cathode 7 Segment Display
1 x 4N25 General Purpose Phototransistor Optocoupler
5 x BC547 NPN Transistor
1 x 7805 Voltage Regulator
7 x 330 Ohm 1/4 W Resistor
7 x 1K 1/4 W Resistor
1 x 470 Ohm 1/4 W Resistor
1 x 10K 1/4  Resistor
1 x 4.7K 1/4 W Resistor
1 x 1N4148 Diode
2 x 220nF Polyester Capacitor
2 x 22pF Ceramic Capacitor
2 x 100uF 16V Electrolytic Capacitor
1 x 4Mhz Crystal Oscillator

Frequency Meter PCB and Components

The CCP (Capture/Compare/PWM) module of the PIC microcontroller counts the input signal. Only the capture function is used. To learn more about the CCP module of the PIC please visit www.microchip.com.

The displays are 14.2 mm common cathode seven segment LEDs with red light.

Frequency Counter Board

Before measuring the frequency of the input signal, the signal must be converted to the square waveform. So an optical isolator circuitry with 4N25 optocoupler is used for this purpose. So the input signal is safely isolated from the microcontroller circuit and converted to square wave. The signal amplitude must not exceed 15V. If this happens, 1k resistor may burn. If you want to measure the mains frequency, you should use a 220V/9V transformer first.

The supply voltage should be between 8-12V. Since the circuit may be defected, you should be careful about the polarity while connecting the supply.

The counter circuit schematic is given in the project file. There are 4 displays that are driven by the multiplexing method. To make the measurement, the RB3 pin is connected to the output of the optic isolator. The second display's 5 numbered pin is connected to the supply via 1K resistor so the dot after the second display brights. This connection isn't shown in the schematic.

Frequency Counter PCB

The C code that is writen with Hi-tech PIC C compiler is available in the downloadable project file. The hex code is also included.

We used extra two sockets. One (18 pin, 2 way) is for the PIC16F628 microcontroller, and the other one is (40 pin, 2 way) for the seven segment displays.

Y.Erol


Comments (22)

bigmac
thanks for this cool project...
Christophe
Is it possible to adapt the code so this circuit could measure
frequency starting from 1 Hz till 100 Hz instead of starting from 16 Hz till 100 Hz ???
LSoft
Dear Mr. Erol!
Thanks to your project I was able to make my own freq. counter.
Thanks a lot! Although there were some errors in your C source code smilies/wink.gif
Teska
Hello Mr. Erol ,
I have built your circuit and it seems to work , only
the c segment from the 7 segment display get not driven by
the microproccesor. Probably a software bug like Lsoft stated.
Do you have allready an updated and corrected C source and/or Hex file for this circuit ??? It's a pitty that we can not contact other members else i would e-mail to Lsoft as he stated that he found the bugs allready ??
Teska
Accidently pin 8 of my microprocessor was bowed to the inside unerneath the IC-socket. Problem is solved. Everything seems to work correctly with the original source-cose. I used the Hex file altough.
Kind regards
Ronald Fens
Hallo,

I try to download the PCB but the rarfile does not exist.
Please help

Ronald Fens

salger
hello sir
i want a frequency meter counts from 1 to 99 hz (two digits) withaout a pic but with simpls ic . its pssible !
Steffi
Hello, I was very interested in the C-Code. The zip folder does not have it though. Where on the webpage can I find it?
Jun
Hi, this project seems pretty cool but download link is not working. I also tried searching in your schematic archive but not available in there. Can please send me a download link by e-mail if you are unable to provide it here?

This is exactly what I am looking for, so please provide me the schematic diagram.

Thanks....

Max
Hi please try downloadin it again. Thanks
Jun
Thanks for your prompt action. Note to everybody who experienced difficulty downloading the schematic, the link is now working... salute!
jun
Can you please provide the 7 Segment Display part number? It think I have purchased the wrong one.

Thanks...
J.E.Boerma
will this chip work with 4mHz
ato agustin
thanks for the link sir...more power!
Bdhong
Trim's
Mudah-mudahhan oke
khimzkie
pano ba ito aaply?..
VU3NOV, India
Can you provide me the required code to count the RPM of motor (The existing encoder on my motor gives 1 pulse / Rev)

Thanks....
ranidel de ocampo
this looks fun to build. I will try this one :)
Banthom
Thanks>>>
vi
hi, where is the delay.c ?
can you upload?
thanks

emmanuel okoli
please how can i order for the component and pcb
john
I don't understand c yet would I be able to find an asm listing for mplab. this is very interesting thanks

Write comment

smaller | bigger

busy
 
RSS
Get the latest projects to your e-mail box:
Subscribe to RSS Feed Follow us on Twitter
Contact | Privacy Policy | Advertising
Subscribe to RSS Feed