EENVOUDIGE FREQUENCY METER
(2010-2018)
CLICK HERE FOR THE ENGLISH VERSION

De frequentie meter. Het programma is geschreven in de programmeertaal Python.
Je kunt het daarom heel eenvoudig aanpassen aan je eigen wensen.
Eenvoudige frequentie meter voor de PC met geluidskaart
Weg met die primitieve frequentie countertjes met ledjes! Deze vervangen we door een echt display op de PC. Dat ziet er mooier uit, is meer van deze tijd en de hardware is ook nog eens eenvoudiger, maar 1 IC! En de frequentie is veel gemakkelijker en fraaier af te lezen en nog nauwkeuriger ook!
Het idee is uiterst simpel en wel vaker toegepast. We delen het hoogfrequent signaal met een prescaler naar audio frequenties. Dit audiosignaal sluiten we aan op de geluidskaart van de PC en we meten de audio frequentie. Vervolgens vermenigvuldigen we deze frequentie weer met het prescaler deeltal en voila, we hebben de HF frequentie!
Wanneer je "Stop" drukt, dan worden de huidige settings opgeslagen in de file "recent.jpg" en weer geladen wanneer je het programma de volgende keer runt.

De hardware, een heel eenvoudig kastje.
Meetprincipe en nauwkeurigheid
Een frequentie teller telt gedurende een bepaalde tijd het aantal perioden. Deze frequentie meter doet dat anders. Van een bepaald aantal perioden wordt de exacte tijd gemeten.
De resolutie van deze tijdmeting hangt af van de sample rate waarop de geluidskaart is ingesteld. De resolutie van de tijdsmeting is uiteraard plus of min 1 sample. Gelukkig kan door het toevoegen van een extra weerstand en een extra condensator de nauwkeurigheid wel 20x verbeterd worden! En krijgen we bij snelle meettijden van 0.2 seconden, die je wilt gebruiken voor het afstemmen van een ontvanger, toch een goede nauwkeurigheid.

Wanneer de flankstijlheid wordt verminderd d.m.v. een RC netwerk, hebben we
ook amplitude informatie en kunnen we bepalen op welke plek tussen de beide
samples de nuldoorgang zich bevindt.
Truuc om de nauwkeurigheid te verbeteren
Bij een blokgolfvormig signaal uit de prescaler weten we niet waar exact tussen de twee audio samples van de geluidskaart de nuldoorgangen zich bevinden. Immers, het eerste sample is altijd +5 volt en het volgende sample 0 volt. Vandaar dat de nauwkeurigheid van de tijdmeting plus of min 1 sample is. Maar wanneer we zouden kunnen bepalen waar precies tussen de twee samples de nuldoorgang zit, kunnen we ook met fracties van samples meten en is de nauwkeurigheid van de tijdsmeting veel beter! En dat kan! Wanneer we de flankstijlheid verminderen door deze af te vlakken met een RC combinatie, hebben we namelijk ook amplitude informatie van de beide samples. En daaruit kunnen we weer berekenen op welke plek tussen de beide samples de nuldoorgang zich bevindt. Is U2 kleiner dan U1, dan bevindt de nuldoorgang zich dichter bij S3 dan bij S2. En met de verhouding U1:U2 kunnen we precies uitrekenen waar.

Prescaler tot tenminste 30 MHz met ingebouwde frequentie referentie.
Met een extra prescaler ervoor kun je het bereik uitbreiden tot een paar GHz.
Hardware
Aan de ingang vind je een beveiliging bestaande uit een weerstand van 1k ohm en twee antiparallel geschakelde dioden. Wanneer S1 in de onderste stand staat, gaat het HF signaal naar de ingang van de 74HC4060. Deze deelt het hoogfrequent signaal door 4096 naar een audio frequentie. Aan de uitgang van de 74HC4060 zit het RC netwerkje van 10k ohm en 10nF dat de flanksteilheid verminderd. En het weerstandsnetwerkje van 22k ohm en 1k ohm verzwakt het niveau zodat de geluidskaart niet overstuurd wordt.
De twee weerstanden van 1M ohm zorgen voor een correcte gelijkspannings instelling van de ingang. De condensator van 10 nF filtert de AC component uit. Anders krijg je tegenkoppeling die de versterking bij lage frequenties verminderd.
Wanneer S1 in de bovenste stand staat, werkt de 74HC4060 als kristaloscillator en heb je een referentie frequentie voor de ijking van de geluidskaart. Natuurlijk kun je ook een ander kristal gebruiken. De frequentie hoef je niet exact af te regelen. Van mijn exemplaar is de frequentie 4095.754 kHz en die frequentie voer ik in tijdens de kalibratie.
De schakeling wordt gevoed uit de USB poort. Even een USB verloopkabeltje kopen bij de Action, de juiste plug eraf knippen, de juiste draadjes opzoeken en je hebt een 5V voeding. Omdat de voedingsspanning 5 volt is, kun je ook een meestal beter verkrijgbare 74HCT4060 gebruiken in plaats van een 74HC4060. Aan de schakeling is ook nog een extra uitgang toegevoegd voor een 4 kHz / 5 volt kalibratie signaal voor een simpele oscilloscoop werkend met de geluidskaart.
Frequentie (MHz) | Gevoeligheid met R1=120 (mV RMS) | Gevoeligheid met R1=1k (mV RMS) |
0.03
0.1
1
10
20
30
50
80
100
120
|
15
10
3
10
25
30
100
150
200
500
|
15
10
5
20
50
100
300
1000
-
-
|
Gevoeligheid van de eenvoudige prescaler.
Nauwkeurigheid
Getest is met een interne geluidsmodule van een laptop en een eenvoudige extern USB audio device. Het ijksignaal van 1 MHz is afkomstig van een GPS gelockte module.
De interne geluidsmodule gaf een afwijking van +20Hz. HET USB audio device had een afwijking van -75Hz.
Na kalibratie was er een variatie van 1 tot 2 Hz in de meetwaarden. Dit is getest met een meettijd van 1 seconde.
Het instellen van de geluidsmodule
Stel de sample rate in op de standaard waarde van je operating system. Gewoonlijk is dat 44100 Samples/sec.
Je kunt de prescaler aansluiten op de line ingang of op de microfooningang van de geluidskaart. Wanneer je de microfooningang gebruikt, moet je de extra 20 dB versterking uitschakelen. Voor het afregenen van het audio niveau moeten we tijdens de frequentie metingen het audio aanzetten d.m.v. het klikken van de knop "Audio on". We zien nu het maximale en het minimale niveau. Regel het ingangsniveau zodanig af dat dit niveau ruim lager ligt dan het maximum van 100%, bijvoorbeeld 5%-20%. Met de muis kun je de volume regelaar van de geluidsmodule.Hoe dit moet, hangt af van de gebruikte geluidsmodule je operating systeem en de versie daarvan.
IJking
Voor de ijking zijn twee mogelijkheden:
Mogelijkheid 1: Select "Prescaler" en voer handmatig de prescaler waarde in.
De prescaler waarde moet zodanig gekozen worden dat de exacte waarde van de frequentie weergegeven wordt. Dus niet 4096, maar bijvoorbeeld 4096.0235.
Mogelijkheid 2: Sluit de frequentie meter aan op een referentie frequentie en voer een meting uit met een lange meettijd van 5 seconden.
Klik op "Stop" om de meting te stoppen. Select weer "Prescaler" maar druk "Cancel" in plaats van een prescaler waarde in te voeren.
Beantwoord de vraag "Calibrate with measured frequency" met "ja" en voer de referentie frequentie in Hz in. De exacte prescaler waarde wordt dan automatisch berekend. Je kunt deze tezamen met de andere settings zoals offset frequency opslaan. Voor deze kalibratie kun je uiteraard de in de prescaler ingebouwde kristal oscillator gebruiken.
Andere toepassingen
Vele amateurschakelingen hebben een frequentie stabilisator (bijvoorbeeld Huff & Puff), waarbij het VFO signaal al door een prescaler (bijvoorbeeld 74HC4060) gedeeld wordt naar audio frequenties. Het enige wat hier aan toegevoegd moet worden is het RC netwerkje bestaande uit 3 weerstanden en 1 condensator en een kabeltje met een plugje. De middenfrequent kan als offset geprogrammeerd worden en we hebben een prachtige frequentie uitlezing. Vaak hangt de PC toch al aan de ontvanger om digitale modes te decoderen. Een omschakelaartje voor "audio uit" of "prescaler uit" is dan handig.

De frequentie displays in deze ontvangers kunnen worden vervangen door deze veel betere!
SOFTWARE
Voordat je dit programma gebruikt, moet je Python installeren. Dit gaat heel eenvoudig. Maar lees eerst eens iets over Python door op de volgende link te klikken:
WAT IS PYTHON EN HOE INSTALLEER JE PYTHON
Omdat de broncode van Python in ASCII geschreven is, kun je zelf het programma eenvoudig aanpassen aan je eigen wensen. Denk bijvoorbeeld aan de grootte van het scherm, de kleuren enz.
Benodigde Python versie:
Benodigde externe modules (site-packages voor de juiste Python versie!):
Download hier het Python frequentie teller programma door op onderstaande link te klikken:
Index PA2OHH