Het kastje

Build your own LC-Meter.

Home @



Dit project is de bouw van een zelf kalibrerende L (Spoel) & C (Condensator) meter volgens het principe zoals gepubliceerd in de "Amateur Radio Magazine" april 2004.
Van deze LC meter zijn vele implementatie gemaakt, en een search via google levert dan ook een groot aantal hits op, de meeste zijn gebaseerd op een oscillator met de LM311 en een PIC processor. Aangezien ik de Atmel AVR chip prettiger vind werken, heb ik het systeempje opgebouwd met een AT90S2313 en later met de ATTiny2313.

Het hebben van een L&C meter is buitengewoon handig als je bij de bouw van LC kringen wel eens wilt weten wat de waarden van de spoel en condensator nu werkelijk zijn. Ook als je in het bezit bent van vele onderdelen, uitgesoldeerd uit allerlei afgedankte apparaten, is het handig om die L's en C's nu eens werkelijk te meten en te zien wat hun waarden zijn. Het meten van een R (weerstand) kan gelukkig elke universeel meter, de wat uitgebreidere meters kunnen ook C's meten maar de nauwkeurigheid laat te wensen over (maar ja wat is nauwkeurig als de waarde verandert zodra je er met je handen beweegt).

De LC meter bestaat uit een LC oscillator en een microcontroller. De LC oscillator, opgebouwd met de opamp LM311, levert de resonantie frequentie van de LC kring met al hun parasitaire L's en C's uit de schakeling en meetdraden. Door het bij plaatsen van een onbekende Cx of Lx veranderd de resonantie frequentie, en uit de frequentie verandering is de onbekende Cx of Lx te berekenen. Dat wil zeggen als we de totale L&C van de schakeling kennen!
Om er nu achter te komen wat nu die totale L&C is in de schakeling is wordt er gebruik gemaakt van een bekende referentie condensator Cref. Deze referentie condensator kan een condensator met grote nauwkeurigheid zijn (1% type) maar het kan ook een C zijn waarvan we (later) de waarde nauwkeurig bepalen. Het is zonde om één van je nauwkeurigste condensatoren in de meter te solderen, hij kan beter gebruikt worden om de Cref te bepalen. De waarde van de referentie condensator Cref moet in de meter opgenomen worden! Dat kan met een speciale opstart optie van de software.

Formules

De volgende formules worden gebruikt in de software. Het zijn allemaal integer berekeningen die uitgevoerd worden omdat dit voor de (kleine) Atmel chip het eenvoudigst is. De waarden worden in 32bits opgeslagen en berekend met 64bits vermenigvuldigingen en 48bits delingen.

Bij de kalibratie van de meter wordt de originele frequentie van de LC kring gemeten (f1). Hierna wordt door middel van een relais tijdelijk de Cref verbonden met de LC kring dit geeft een nieuwe frequentie (f2). We kunnen nu de C in de schakeling uitrekenen en daarna de spoel. Dit is de hele truck van het zelf kalibrerende van de schakeling, door het kalibreren kunnen we alle C's en L's die door de opbouw en b.v. de meetsnoeren gemaakt worden meten en elimineren uit het meet resultaat!

De kalibratie van de meter kan door het indrukken van de calibration drukknop. De software zal dan de volgende stappen ondernemen om de meter te kalibreren.

F1

Als eerste wordt de resonantie frequentie gemeten (f1) door de atmel chip. Deze is afhankelijk van de (totaal) in de schakeling zittende C & L.

F2

Door een klein relais wordt er een bekende referentie C ( Cref ) tijdelijk bij geschakeld en dan de resonantie frequentie gemeten (f2).

C

Door middel van het frequentie verschil (f1 & f2) en de referentie condensator kan met deze formule de onbekende C in de schakeling berekend worden. ( Deze formule kan afgeleid worden uit bovenstaande twee formules. )

L

Nu de schakeling C bekend is, kan met de eerste formule de ontbrekende L berekend worden.

Nadat de kalibratie gedaan is kunnen onbekende Lx & Cx waarden gemeten worden, dit ook weer door het meten van de frequentie verandering ten opzichte van de eerst gemeten f1.

F3

Voor het meten van de onbekende Cx wordt de frequentie f3 gemeten van de L, C & Cx parallel.

Cx

De onbekende Cx kan dan met deze formule afgeleid worden.

F4

Voor het meten van de onbekende Lx wordt de frequentie f4 gemeten van de L & Lx in serie en de C parallel daar aan.

Lx

De onbekende Lx kan dan met deze formule afgeleid worden.

Schema

Schema

De LC oscillator (zoals vrijwel elk LC-Meter project hem gebruikt) is opgebouwd met een LM311. Ik heb nog enkele andere opamps gebruikt (die ik had liggen) maar geen één gaf de resultaten die de LM311 leverde. Dat is dus het enige onderdeel dat ik moest kopen de rest kwam uit gesloopte apparaten.

Het relais voor de referentie C en het omschakelen van de input tussen L of C meeting doe ik met een drietal DIL reed relais die direct op de ondergrond gesoldeerd zijn. Het zijn 5V types met een 200 ohm inwendige weerstand wat een stroom verbruik van 25 mA geeft per relais. Voor de L meeting staan de twee input relais bekrachtigt wat gelijk een belasting van 50 mA extra levert voor de voeding (het relais voor de referentie C wordt maar heel even bij de kalibratie gebruikt). Mocht je een batterij gevoed apparaat willen bouwen is dit niet de handigste methode, ook de backlicht van de LCD display moet je dan niet (altijd) gebruiken (bij mijn display kan ik het niet uit zetten ?!?)
Input + reference C relais Het aansturen van de relais gebeurt door een transistor omdat de AT90S2313 niet goed de 25 mA (en zeker niet de 50 mA voor de twee relais) direct aan kan sturen. Het is eenvoudig een PNP transistor tussen het ralais en de +5V, de basis loopt via een 1,2Kohm weerstandje naar de cpu. De cpu levert dan ook een "1" voor de capaciteit meeting en een "0" voor inductie.
De oscillator levert in vrijloop een +/- 600 kHz, maar de exacte frequentie is niet zo van belang omdat de software automatisch de beste meet tijd bepaald. Wat mogelijk wel een effect is dat de L soms afhankelijk is van zijn meet frequentie, b.v. bij spoelen met ferriet kernen.

De cpu opbouw is een standaard opbouw van de at90s2313 met een 2*16 char LCD display die in 4 bits mode aangestuurd wordt. Er zijn twee drukknopjes verbonden met de cpu voor de mode en kalibratie die naar aarde schakelen. De cpu gebruikt een 10MHz xtal, andere waarden kan ook maar die moet dan in de software veranderd worden. Zie de software voor we pin aansluitingen. Ook de opvolger van de AT90S2313 de ATTiny2313 werkt met de zelfde software! Let hierbij wel op dat het externe X-tal gebruikt word en dus de cpu config veranderd moet worden, een voorbeeld is hier te vinden.

De meter gebruikt de cpu interne eeprom voor opslag van de referentie condensator. Bij een AT90S2313 geeft dit wel eens problemen als de voeding spanning langzaam weg valt, de eeprom kan corrupt raken! De meter die Sebastiaan Kanters bouwde had regelmatig dit probleem en hij heeft ook wat testen op dat vlak gedaan, later is dit probleem ook nog bij een andere meter geconstateerd.
Er zijn een paar oplossingen bedacht om hier geen last meer van te hebben: De eerste en eenvoudigste is het gebruik van een ATTiny2313 omdat deze een verbeterde eeprom en een ingebouwde brown-out detector heeft. Ook is een externe brown-out detector mogelijk aan de reset ingang van de cpu. Als laatste kan in de source code de flag "_UseEEProm" op 0 gezet worden, de referentie C staat dan in flash prom en kan niet meer door de code veranderd worden! Vul wel de correcte "_Cref" in de source in!

De voeding is een LM7805 in TO220 behuizing met een paar condensatoren.

Opbouw van de meter.

Inwendige van LC Meter Je kunt je de moeite nemen om een print te ontwerpen die netjes in een kastje past of je kunt een compleet bouwpakketje kopen waar iemand anders al die moeite gedaan heeft. Maar voor een dergelijke simpele schakeling kun je ook alles op een plaatje koper ( niet geëtste print plaat met soldeer flux ingespoten ) zolderen en de onderdelen laten zweven. Heb je voldoende onderdelen die met aarde verbonden zijn is dat best wel een werkende en stabiele situatie. Heb je niet zo veel aardvlakken gebruik dan eilandjes van kleine stukje printplaat of, zo als ik voor de cpu gebruik, een stukje gaatjes print die met pinnetjes op het aardvlak gesoldeerd zijn.

Op zich is de opbouw niet zo krities gebleken, wel van belang is dat de gebruikte spoel geen waarde heeft die niet groter is dan 64µH dit omdat mijn software integer berekeningen gebruikt en deze waarde in 16 bits moet passen (< 65535 nH)

Building the hardware is not very critical, only the used coil need to be lower than 64µH. That is important because my software is using integer (fixed point) calculations, the coil value in nH must fit in a 16 bits word (< 65535 nH).

Handleiding

De meter heeft twee drukknoppen, één mode en de andere kalibratie. Bij het aanschakelen komt de meter in capaciteit meeting na een kalibratie periode. Door de mode knop kun je omschakelen tussen capaciteit en inductie meeting. Met de kalibratie toets is op elk moment de meter te kalibreren. Let wel op dat in capaciteit (C) meeting de aansluit draden los liggen, in induktie meeting (L) moeten de aansluit draden doorverbonden worden voor de kalibratie.

Wordt de meter ingeschakeld, terwijl de mode drukknop ingedrukt is, dan zijn er enkele extra menu's. Als eerste weer de C & L meting daarna zie je de frequentie die de meter meet (in C en L stand) en de berekende interne L & C die de oscillator gebruikt (in C & L stand).

De éénmalige kalibratie van de meter wordt gedaan met een referentie C die in de software bekend moet zijn. Door de meter in te schakelen met beide drukknoppen ingedrukt (wacht met loslaten tot na de kalibratie) dan is de interne referentie C waarde in te stellen.
Hierdoor is er geen dure precisie C (voor altijd) nodig die in de meter geplaatst moet worden, éénmalige kalibreren met een precisie C is voldoende om de correcte L en C metingen te krijgen. Voor de kalibratie vul eerst de waarde in die op de interne referentie C staat (in pF) en meet de externe prciessie C, pas de kalibratie waarde aan zodat de display de zelfde waarde geeft als de precisie C.

In de kalibratie stand kan met de mode en kalibratie knop de waarde van de interne referentie C aangepast (-/+) worden. Verwijder de voeding spanning om uit deze mode te komen! (De waarde wordt bij elke verandering in eeprom opgeslagen!)
Letop dat deze mode alleen werkt als de source flag "_UseEEProm" op 1 staat (default).

Het is gebleken dat de AT90S2313 bij langzaam in en uitschakelen zijn eeprom waarden kan veranderen. Gebruik het liefst een ATTiny2313 die dit probleem niet (minder?) heeft.

Source code.

De source code is geschreven in AVR assembler code met AVR Studio van Atmel, deze gratis software is erg handig voor het schrijven en uitproberen van de software.
Het enige wat de software hoeft te doen is het meten van de frequentie en het uitrekenen van de L en C waarden volgens bovenstaande berekeningen. We gebruiken alleen integer berekeningen waardoor er geen floating point software nodig is. Het nadeel is wel dat er opgepast moet worden om geen overflows te krijgen of dat er te veel belangrijke digits verloren gaan door bijvoorbeeld eerst een deling en daarna een vermenigvuldiging uit te voeren!

De software is gebaseerd op twee timers in de AT90S2312, een 8 bits timer voor de meet tijd (timer0) en een 16 bits timer voor het aantal pulsen, dat is de frequentie (timer1). Tijdens de kalibratie wordt als eerste gemeten hoeveel tijd het kost tot dat de counter (timer1) 16 bits (65536) pulsen heeft ontvangen. Aangezien de frequentie normaal niet hoger wordt, alleen maar lager door de extra Cx of Lx, kan deze tijd (ietsjes minder eigenlijk) gebruikt worden als maximale meettijd. Hierdoor meten we altijd met de hoogst mogelijke resolutie in de 16 bits timer!
Aangezien in de meeste formules gewerkt wordt met de frequentie en wij het aantal pulsen in een tijdseenheid (anders dan 1 sec) meten zouden we alles naar Hz moeten omrekenen. Gelukkig valt deze constante tussen een puls en de frequentie ten opzichte van elkaar weg in de (meeste) gebruikte formules waardoor we kunnen rekenen met de counter waarden alsof het de frequentie is.

Licence: This software, or parts of it, is freely available for non-commercial use - i.e. for research and experimentation only! - and need to contain a link to this website page.
Download the source V0.6.
Download the hex code.

Referenties.

Voor wie niet zelf wil googelen:
Voor wie zelf wil googelen:

File last modified on Friday, 26-Jul-2019 14:30:47 CEST
My BitCoin address: 1MqQWXdaBAmYFNqXnQLd5cxG6KkvLj9LPK
eXTReMe Tracker