Frequency counter

Home

Bij het bouwen van een spectrum monitor om ATV signalen te evalueren, is er nood aan een frequentie uitlezing.
Een kleine studie leerde dat door gebruik van een PIC het mogelijk is tot het tellen van perioden. De bedoeling is om met zo weinig mogelijk componenten een eenvoudige frequentie uitlezing te ontwerpen en bouwen.

De gekozen PIC is een 18 pins IC type PIC16F84 van Mikrochip. Deze processor bezit een interne timer van 8 bits breed en een prescaler van 256, ook 8 bits breed.
In serie geschakeld geeft dit een 2 byte brede teller, een decimale teller die telt van 0 tot 65536. De maximale stijgtijd van deze input T0CKI bedraagt 20nS anders uitgedrukt +-50MHz.
Om een frequentie teller te bouwen is een timer nodig die de ingangspoort opent voor een wel bepaalde exacte tijd. Tijdens deze tijd telt de teller alle inkomende pulsen, als eerste in de prescaler gevolgd door een tweede teller,TMR0. Met een bron van 50Hz en de ingangspoort open gedurende 1 seconde telt de PIC de pulsen. Het resultaat is 50 pulsen. Aangezien de poort open was voor 1 seconde wordt dit uitgedrukt als 50Hz. (Hz = aantal perioden per seconde)
De openingstijd wordt nu verlaagd tot 0.1 seconde. De teller telt tot 5,  1/10de van de normale tijd om de telling uit te voeren, de display duidt 5 aan. De pic voert nu een vermenigvuldiging uit met 10, zo toont de teller 50Hz op de display.

Deze manier is de basis voor het schrijven van de software voor de PIC.
Poort RA4 is de telleringang. Deze ingang wordt een bepaalde tijd afgesloten. Een kunstgreep dringt zich hier op. De pic bezit geen poort die exact kan sluiten en openen op bevel van het programma. Dit is absoluut noodzakelijk voor een correcte meet-tijd. Hier is dit opgelost door RB0 met RA4 te verbinden. RB0 wordt als output poort geprogrammeerd 0 of 1 (0V of 5V) maar ook als input poort dus een relatieve hoge input impedantie. Op deze manier wordt de ingangspoort software matig gecontroleerd.

Het blokschema van de counter.


Het schema van de frequentie teller.


De counter is zo opgebouwd dat bij een nieuwe firmware de PIC niet uit gesoldeerd hoeft te worden. Enkel door de jumper weg te nemen en de connector A1 los te koppelen kan de PIC geprogrammeerd worden "in circuit".

Product data: prescaler, transistor, lijst met shema componenten
De meeste onderdelen kun je vinden bij Conrad.
Componentenlijst van de counter
- Componentenlijst van de display

Enkele beelden van de counter in test opstelling.



Hier is de input frequentie 101.32KHz.
De PIC count duidt 1009 aan, dus met decimaal punt 100.9KHz
Aangezien er maar vier digits zijn zal de uiteindelijke aanduiding in MHz zijn (vb. 1255MHz)
De regenboog kabel is de ICSP kabel (
Wat is ICSP?) die verbonden is met de programmer, elders beschreven op de site. De coax kabel met rode clip komt van de blokgolf generator.

Het display is gemultiplexed en werkt zonder segment drivers en begrenzingsweerstanden. Volgens de product data is de stroom van elke poort begrensd op 20mA, wat de serie weerstanden overbodig maakt.

Hoe zijn we er nu toe gekomen om de frequenties op deze manier te delen? Zoals reeds beschreven is de maximale stijgtijd van de PIC 20nS, m.a.w. hoger dan 50MHz kan de PIC niet tellen, daarom wordt het signaal gedeeld met een faktor 256. Dit geeft een signaal die wél kan gemeten worden met de PIC. Na vermenigvuldiging van de waarde, met een faktor 256, bekomt men de correcte gegevens om weer te geven op de  display.
De tabel met berekende waarden toont stap voor stap de deelcyclus.

De software is geschreven in machinetaal. Hier het Programma en de objectfile om in de PIC te programmeren.

De printlayout en bestukkingsplan voor de counter:
Klik hier voor originele afmetingen

Na het ontwerpen van de PCB, het maken ervan alsook het bestukken, brengen we de teller onder spanning.

Ziehier het resultaat.


De 7 segment display die hier gebruikt is, komt uit een afgebroken personen weegschaal. Het leek eenvoudig om deze te gebruiken, alle segmenten zijn intern al doorverbonden. Het verkrijgen ervan is een ander paar mouwen. De hierna volgende print is misschien een oplossing. De product data van deze andere display.




Begin pagina

Home

Updated: 31/12/2012 ON1BEW ©