Acasă / Atelier / Microcontroler / PIC / Frecvențmetru digital 0-50Mhz cu Pic16f870 si LCD 16×2 hd44780

Frecvențmetru digital 0-50Mhz cu Pic16f870 si LCD 16×2 hd44780

PB120037

Acest proiect de frecvențmetru cu PIC16f870, l-am realizat pentru a întelege mai bine modul de funcționare al timerelor prezente intr-un PIC dar și pentru a avea un aparat de masura precis si util la îndemana.
Deși pe internet există foarte multe proiecte de frecvențmetre, de foarte multe ori, constructorul amator întampina dificultați in găsirea componentelor cu valorile specificate sau codul sursa nu este public, deci nu se pot face modificari ale proiectului, cum de multe ori se întamplă sa avem nevoie(tipul de afișaj, posibilitatea de adăugare sau scadere a frecvenței intermediare etc… ).

frecv 16f870 sch

În acest proiect, am utilizat un LCD 16×2 compatibil HD44780 pentru afișarea frecvenței.
Este folosit  Timerul 1, pentru a măsura numarul de impulsuri iar TMR0 se folosește pentru a asigura baza de timp de o secundă.  Timerul TMR1 al Pic-ului este un registru de 16 biţi, la fiecare impuls prezent la intrarea RC0, valoarea acestui registru crește si ajunge la valoarea de 65536.
In acest moment, programul reseteaza valoarea TMR1 si incrementează valoarea unei alte variabile(să o numim INC). La sfârșitul perioadei de contorizare, de o secunda, se masoara valoarea acestei variabile INC si se adauga valoarea prezenta in acel moment in TMR1.

Pentru o ințelegere mai buna sa presupunem ca avem la intrare un semnal de 1Mhz. Aceasta inseamnă că intr-o secundă la intrarea RC0 vor fi 1 milion de impulsuri.  In acest caz 1.000.000/65536=15,25878906 adică INC va avea valoarea de 15 iar TMR1 va avea valoarea de 0,25878906* 65536=16959,99(~16960).
Să calculăm acum și in alt mod: să presupunem ca variabila inc are valoarea 15 si TMR1 are valoarea de 16594. In acest caz frecvența masurata va fi (15*65536)+16960= 1,000.000 Mhz

Deoarece timpul de masurare este de 1 secundă rezultatul final este de fapt frecvenţa semnalului de intrare.
Utilizarea timpului de masurare 1 secundă oferă, de asemenea, o rezoluție de 1 Hz.
Am testat acest montaj cu un oscilator CY27EE16, comandat de catre computer, rezultatele fiind foarte bune:
– gama de masura 1Hz – 50 Mhz( maxim 65Mhz in funcție de PIC-ul folosit)
– precizie de măsurare in toata gama de +/- 10Hz.

Tranzistorul de la intrare are rolul de amplificare si formare a semnalului pentru etajul de intrare din PIC.

Lista componentelor folosite:

Componente active:

-Pic 16f870 ————————–1 buc.
-LCD 16×2 HD44780 —————1 buc.
-Tranzistorul Q1 Bc546(NPN) —— 1 buc.
Quartz:
– 10,000 Mhz ————————1 buc.

Diode:

Dioda Bat85————————–1buc. (se poate folosi orice dioda de comutatie).

Rezistente:

100k 0,25w  ————————-1 buc.
10k 0,25w  ————————– 1 buc.
1k 0,25w  ————————— 1 buc.

Potentiometru semireglabil:

10k ——————————– -1 buc.

Condenstoare:

100nF—————————— -4 buc.
33pF  ceramic———————- -1 buc.

Condensator  semivariabil :

10-30pF —————————-1 buc. (de preferat multitura)

Condensatoare electrolitice:

4,7uF/16 Volti———————–1 buc.
10uF/16 Volti ———————–1 buc.

Punere in funcțiune si reglaje:

Montajul se alimenteaza de la o sursa stabilizata de tensiune de 5 Volți.
La intrare se cupleaza o sursa de semnal cu frecvența cunoscuta și se regleaza C3(10-30pf)
pana la afișarea frecvenței de la intrare pe ecran.

Cateva poze:

Sursa: proelectronic.blogspot.com/2011/11/frecventmetru-digital-0-50mhz-cu.html

Schema realizata cu Diptrace 2.1.9.2 varianta free: AICI

Fișierul hex pentru PIC: AICI

 

Atașat acestui articol :

frecv-16f870.dch
Filename : frecv-16f870.rar (7 KB)
frecv-16f870.hex
Filename : freq16f870hex.rar (2 KB)

Despre Ciprian

Am dezvoltat o pasiune pentru acest domeniu de cand eram foarte mic, cred ca aveam 6-7 ani, din cate imi amintesc, am invatat sa citesc din revistele Tehnium, cam astea erau preferatele mele la varsta respectiva. In plus, aveam o atractie pentru informatica fapt ce a dus la inscrierea mea la un liceu de informatica, iar pentru a continua cu pasiunea mea m-am inscris apoi la facultatea de electrotehnica...

5 Comentarii

  1. se poate folosi un pic16f876a? doar ăsta îl am acasă. Dacă da poate o schemă?

  2. de unde ai facut rost de display portocaliu?

  3. masoara de la 0 khz pana la 50 mhz???

    multumesc de raspuns

  4. bogdan.rosioru

    Salutare,

    Bogdan ma numesc, vreau sa te intreb/rog ceva in legatura cu proeictul Frecventmetru digital 0-50Mhz. Pentru asta am nevoie de mailul tau. Nu se preteaza sa iti zic aici despre ce este vorba.

  5. Good! can you send the file “freq16f870hex.rar” to me?
    Thanks very much!
    My e-mail is: 3158598521@qq.com

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *