HF-Powermeter

Powermeter

Gemeinschaftsentwicklung von DG1KPN und DL6GL.

Abstract

The Power Meter can handle e.g. a 18 GHz crystal detector, as well as a Log Amp Detector like the AD8307.

With a AD8307 connected you can measure from +16dBm down to -90dBm. If you are in doubt watch the little video that you will find under "download". The resolution is 1/100 of a dB. With a crystal detector it ranges from +16dBm down to -40dBm.
The calibration is done in 1dB steps with a known accurate source. Between the 1dB steps linear interpolation takes place. Next, you can insert correction factors for different frequency bands as well as for commonly used attenuators. Finally, a relative measurement can be made based on a freely adjustable reference level.

The accuracy solely depends upon your calibration source. You need a precise 1dB step attenuator with at least 110dB (0-127) attenuation and a frequency generator that can output abt. +20dBm. The basic calibration is done on 50 MHz or where ever you like to do it.
In addition, a note from Tom, DG8SAQ, the father of the VNWA, concerning calibration:
"The VNWA level control has an accuracy of about 0.01dB in the 0...50dB range! You won't find any step attenuator which comes close to this. So, all you need is an amp to boost the TX signal and a band pass filter to remove aliases. If you can measure the maximum level you will know all lower levels with equal accuracy."
Thank you, Tom.

If you feel uncomfortable with the German text and Google Translate does not make sense, feel free to ask for an English translation, at least in parts.

 

Update V1.10 (22.05.2017), Menüstruktur vereinfacht, gleitende Mittelung eingeführt.
Wenn der Entwickler bei der Fehlersuche, der zum Update V1.05 geführt hat, die Peilung im Menüdickicht verliert, wird es Zeit, nochmal Hand anzulegen.
Danke an Norbert, DG1KPN, für die Engelsgeduld bei den Tests.

Update V1.05 (08.05.2017), Bugfix Fehlfunktion bei Einstellen der LCD-Helligkeit.

Wer in den Fußstapfen eines anderen wandelt, hinterlässt keine eigenen Spuren. Recht hat er, der Wilhelm Busch. Und die Fußstapfen waren mit den Veröffentlichungen von DG4RBF [1], DL2KHP [2] und DL4JAL [3] ganz schön tief. Vom zu treibenden Aufwand her erschien uns der Ansatz von Hans-Peter, DL2KHP, vielversprechend. Kleiner Nachteil dieser Lösung war aber die Programmierung in PASCAL und die etwas kryptische Bedienung mit nur drei Tastern.

Nun, doch eine eigene Spur ziehen. Also machte sich das schon sturmerprobte Gespann Norbert, DG1KPN, und ich, DL6GL, an die Realisierung. Wir kamen spontan zu folgender Wunschliste für ein HF-Powermeter 2.0:

  • Wahlweise bis zu drei anzuschließende kalibrierbare HF-Detektoren,
  • Zusätzliche Korrektur der Anzeige bei festgelegten Amateurfrequenzen,
  • Verrechnung gängiger HF-Abschwächer im Signalweg vor dem Detektor,
  • Relativmessung bezogen auf einen frei wählbaren Referenzpegel,
  • Einfachere Bedienung mit mehr als drei Tastern,
  • Programmierung in BASCOM-AVR.

Ausgangspunkt in Bezug auf die mit der effizienten Schaltungstechnik erzielten Leistungsmerkmale war Hans-Peters Pegelmesser-MK [2], u.a. mit

  • Verwendung professioneller Messköpfe für Anwendungen bis in den GHz-Bereich, wahlweise passiver oder aktiver Selbstbau-Messkopf,
  • Kalibrierung im Bereich -50 bis +20dBm in 1 dB-Schritten, nun aber für drei Messköpfe,
  • Auflösung 0,01 dBm mit Interpolation zwischen den Kalibrierungspunkten,
  • Verwendung eines 18 bit-ADC MCP3421 mit I2C-Steuerung. Mit der hochgenauen internen Spannungsreferenz von 2,048V±0,05% wird mit der asymmetrischen Ansteuerung ("single ended") des Differenzialeingangs eine Auflösung von "nur" noch 2,048 / 217 = 15,6µV erreicht. Das achtzehnte Bit geht mit Halbierung der symmetrischen Ansteuerung zwischen -2,048 und +2,048V verloren.
    Der 10 bit-ADC des ATmega hätte dagegen bei der 5V-Referenz lachhafte 5/210 = 4,9mV zu bieten. Mit der internen Referenzspannung von 2,56V wird es mit 2,5mV auch nicht viel besser.

Doch dabei blieb es nicht. Hard- und Software waren Anfang Dezember 2015 fertig. Eigentlich. Am Nikolausabend machte Norbert uns ein Geschenk der besonderen Art. Ein Messkopf mit dem Log-Amplifier AD8307 ließ genaue und reproduzierbare Messungen bis hinunter nach unglaublichen -90dBm zu. Natürlich ist die Detektorkennlinie hier nicht mehr dB-linear. Da diese aber in 1dB-Schritten auch am unteren Ende aufgenommen werden könnte, der Messbereich endete bis dahin bei -50dBm, war die schon zwangsläufige Folge, eben diesen nach unten zu erweitern.

So sind wir auf einen Messbereich von -90 bis +20dBm verfallen. Wegen des begrenzten Speicherplatzes im EEPROM des ATmega32 auf dem schon realisierten Controller-Board musste der angedachte dritte Detektor dran glauben. Einzelheiten zu diesem Messkopf mit einem AD8307 gibt es hier. Dazu ein kleines Video unten im Download.

Technische Daten unseres Powermeters 2.0:

  • Messbereich -42 bis +15dBm mit einem Diodenmesskopf HP423B+,
    mindestens von -80 bis +15 dBm mit einem Log-Amplifier AD8307.
    Frequenz- und Messbereiche naheliegend abhängig vom verwendeten Detektor.
  • Leistungsmessung mit Anzeige in dBm und 0,01dB Auflösung, davon abgeleitet Leistung in W sowie Spannungen in V-RMS und V-pp bzw. Einheiten pico, nano, micro, milli.
  • Kalibrierungsstützstellen von -90 bis +20dBm in 1dB Schritten, lineare Interpolation des Messergebnisses zwischen den Stützstellen.
  • Wahlweise Zweipunktkalibrierung für dB-lineare Log-Verstärker mit Berechnung einer Kalibrierungsgeraden.
  • Korrektur des Messwertes um den Eingangsoffset,
  • weitere Korrekturen für festgelegte Frequenzen und ggf. eingeschleifte Abschwächer gängiger Größen.
  • Relativmessung bezogen auf einen frei einstellbaren Referenzpegel.
  • Netz- oder Batteriebetrieb mit Spannungsüberwachung.

Ein Nachbau macht allerdings nur dann Sinn, wenn auch ein hochgenauer HF-Generator und ein ebensolcher Stufenabschwächer für die Kalibrierung zur Verfügung steht, wenn auch nur leihweise.

Stimmt schon, wenn es denn ein Diodendetektor mit bekannt krummer Kennlinie oder ein Log-Amplifier jenseits der spezifizierten Linearität sein soll. Alle anderen OM's bleiben im Regen stehen? Das wäre unfair. Im Verlauf der Entwicklung haben wir deshalb auch eine Zweipunkt-kalibrierung für logarithmisch lineare Detektoren wie z.B. den AD8307 vorgesehen.

Mit unserem an anderer Stelle auf dieser Website beschriebenen HF-Kalibrator 0 und -60dBm wären auch OM's mit beschränktem Gerätepark wieder mit im Spiel. Allerdings unterstellt man dann, dass die berechnete Kalibrierungsgerade durch die zwei Eckpunkte die Anzeigekennlinie tatsächlich wiedergibt, was sie nicht tut. Fehlerbreiten von ±0,5dB, mehr oder weniger, sind hinzunehmen. Das sind rund ±12% auf der Watt-Skala. Die mit dem 18bit-ADC erzielbare Auflösung von 0,01dB läuft dann eher auf ein Ratespiel als auf eine genaue Messung hinaus. Dieses Problem umgeht nur eine exakte Kalibrierung in 1dB-Schritten. Fertige Log-Detektoren bis zu 4GHz zu zivilen Preisen bietet z.B. Makis, SC1AFN, in [5] an. Auch der AD8307 ist hier einmalig günstig zu bekommen.

Mit dem wahlweisen Einsatz zweier Detektoren - einem Diodendetektor für den "GHz-Olymp" und einem Log-Amplifier für die "dBm-Unterwelt" wären somit alle im Amateuralltag anfallenden Leistungsmessungen machbar.

Noch etwas zum Bild oben: Es wurde mit einem AD8307-Messkopf mit offenem Eingang aufgenommen.

Bei der Kalibrierung ist Norbert, DG1KPN, gerne behilflich.
Absprachen hierzu über das Kontaktformular auf dieser Website.

 

Referenzen

[1]  http://www.dg4rbf.de/
[2]  http://www.dl2khp.de/projekte/pegelmesser_mk.html
[3]  http://www.dl4jal.eu/mwattmeter/mwattmeter.html
[4]  http://ww1.microchip.com/downloads/en/DeviceDoc/22003e.pdf
[5]  https://www.sv1afn.com/projects.html
[6]  http://shdesigns.org/lionchg.shtml

 

Tags:

1 Schaltung

1.1  Controller

Controller schematic

Abb. 1.1: Schaltung Teil 1: Microcontroller.

Als Controller wurde der ATmega32 gewählt, der mit 1.024 Bytes ausreichend EEPROM-Speicherplatz u.a. für die Kalibrierungsdaten von zwei wahlweise einzusetzenden Messköpfen bietet.

Als Anzeige wird ein 16x2-LCD verwendet. Die Hintergrundbeleuchtung ist über T1 mit Pulsbreiten-modulation (PWM) dimmbar, was insbesondere dem Batteriebetrieb zugute kommt.

Es werden fünf Taster für eine möglichst selbsterklärende Bedienung verwendet:

  1. Mode zur Umschaltung zwischen Normalbetrieb, d.h. Power-Messung, und den verschiedenen Setup-Funktionen wie Kalibrierung.
  2. Up, Down zur Weiterschaltung in den Menüs und zum Durchtakten verschiedener Einstellungsreihen wie z.B. Detektor 1, 2 und die Kalibrierungsstufen.
  3. OK zur Bestätigung und - bei langem Tastendruck - zur Abspeicherung vorgenommener Einstellungen im EEPROM.
  4. ESC zum Weitertakten im Menü und - bei langem Tastendruck - zur Rückkehr zum jeweiligen Menüanfang.

Abb. 1.2: Taster.

Der ADC MCP3421 wird über I2C (TWI) gesteuert und ausgelesen.

Die Auswahl der Detektoren 1 bis 2 zeigen zwei LED an. Die dritte LED signalisiert blinkend zu hohe Eingangsspannungen am ADC.

Die Programmierung erfolgt über den sechspoligen ISP-Anschluss.

Die Zweifach-Stiftleiste mit den ADC-Anschlüssen (Abb. 1.1 Mitte links) ist für ggf. spätere Erweiterungen gedacht. Sie muss nicht bestückt werden.

1.2  Signalverstärker und ADC

Abb. 1.3: Schaltung Teil 2, OpAmp und ADC.

Die gezeigte Schaltung ist auf einer gesonderten Platine aufgebaut.

Mit dem Aussteuerungsbereich des MCP3421 von 0 bis 2,048V hat der OpAmp nur eine geringe Vorverstärkung zu erbringen. Er wirkt hauptsächlich als Impedanzwandler.

Wunsch und Wirklichkeit: Für die Messung möglichst niedriger HF-Pegel mit Diodenmessköpfen sollte die Input Voltage Offsetspannung deutlich unter 100µV liegen. Gleichzeitig sollte der OpAmp mit der einfachen 5V-Spannungsversorgung (single supply) Rail-to-Rail, insbesondere zum unteren Rail hin zu betreiben sein. Alles gleichzeitig ist nicht zu haben. Versuche mit dem TLC271 (Original TI), dem Fake von reichelt.de, der tatsächlich ein TS271 ist, dem OPA344 und diversen anderen Rail-to-Rail-Typen schlugen gänzlich fehl: Offset mit 0,1 bis 3mV je nach Typ und Exemplar zu hoch und Verstärkung bricht zum unteren Rail hin ein. Hier im unteren Spannungsbereich wäre daher das Powermeter blind. Die Anforderungen an einen kommerziellen Diodenmesskopf zeigt Abb. 1.4, soweit das DVM nach unten reichte.

Abb. 1.4: Kennlinie eines HP423B+.

Die Ausgangsspannung bei -30dBm beträgt 0,7mV, bei -29dBm 0,9mV.

Um dem blinden Fleck im unteren Messbereich mit einem Offset nahe Null entgegenzuwirken, wurde die Spannungsversorgung mit einer Ladungspumpe ICL7660 auf symmetrisch ±5V erweitert. Damit ist auch der o.g. Verstärkungseinbruch im Bereich um Null Volt behoben. Als OpAmp glänzt der OP77 oder OP177 mit einem sehr gering temperaturabhängigen Input Voltage Offset von nur 10µV ohne zusätzliche Trimmung. Eine Korrektur mit einem Trimmer an den Pins 1 und 8 ist nicht erforderlich. Sie wäre sogar wenig dienlich bei der hier erforderlichen Präzision, da der Offset infolge Temperatur-abhängigkeit und natürlicher Alterung so nicht in den Griff zu bekommen ist. Dennoch könnte ein optionaler Trimmer R19 auf der Platine eingebaut werden. Der eventuell noch verbleibende Offset wird zeitaktuell gemessen und per Software herausgerechnet. In unseren Mustergeräten mit dem OP77 - ohne Trimmer R19 - war er allerdings kleiner als die ADC-Auflösung von 15,6µV, d.h. im Messergebnis Null.

Unsere Versuche mit den verschiedenen OpAmps zeigten naheliegende Unterschiede bei den Offset-spannungen zwischen den jeweiligen Typen, aber auch bei Exemplaren des gleichen Typs. Aus diesem Grunde wurde die Bauform DIP8 - steckbar - gewählt, um ggf. das beste Exemplar aussuchen zu können. Die schließlich eingesetzten OP77 erwiesen sich als mustergültig in Bezug auf Exemplar-streuungen.

Da kommerzielle Messköpfe zumeist einen negativen Ausgang haben, aber auch Messköpfe mit positivem Ausgang verwendbar sein sollen, lässt sich die Beschaltung des OpAmp entsprechend der Tabelle in Abb. 1.3 anpassen, um mit beiden Varianten einen positiven Ausgang zu erhalten. Dies sieht dann wahlweise so aus:

Abb. 1.5: OpAmp-Beschaltung für positiven oder negativen Eingang.

Mit dem Aufbau muss man sich allerdings für eine der beiden Optionen entscheiden. Die Platine lässt beide Varianten zu. Die Spannungsverstärkung ist in beiden Fällen ca. 1,2-fach. Der ADC ist damit bei 1,68 bis 1,7V am OpAmp-Eingang voll ausgesteuert.

In unseren Mustergeräten wurde die Positivvariante (Abb. 1.5) gewählt. Damit können dann auch Selbstbaumessköpfe oder z.B. ein AD8307 als Low-Cost-Alternative für den dBm-Keller benutzt werden.

Der MCP3421 geht von den Abmessungen her schon eher als Hühnerfutter durch. Der Markie-rungspunkt für Pin 1 ist gegebenenfalls nur mit einer Lupe festzustellen. Nach Datenblatt sollte der Abblockkondensator C21 ein Tantaltyp sein.

Vorsicht ist bei der Eingangsspannung des MCP3421 geboten. Sie darf die positive Versorgungs-spannung, hier +5V, um maximal 0,3V überschreiten und -0,3V nicht unterschreiten, um die internen Schutzdioden nicht zu überlasten.

1.3  Stromversorgung

Abb. 1.6: Schaltung Teil 3, Stromversorgung.

Der Betrieb ist wahlweise über ein Steckernetzteil (9…12V) oder Batterie, z.B. 9V oder zwei 3,7V-Li-Ion-Akkus, möglich. Der Strombedarf beträgt mit dem verwendeten LCD ca. 44mA. Die Versorgungsspannungen werden über eine schaltbare Hohlbuchse (nicht eingezeichnet) zugeführt. Insbesondere bei Messungen geringer HF-Pegel ist ein Batteriebetrieb angeraten. Als 5V-Spannungsregler ist der Low-Drop-Typ LM2940CT5 vorgesehen. Zur Unterdrückung der Schwingneigung ist C11 mit mindestens 22µF zu bemessen.

Aus den Spannungsteilern R10/R11 und R12/R13 werden Überwachungsspannungen (Supply control) an die ADC-Eingänge ADC0 und ADC1 des ATmega32 gegeben. Der ATmega überwacht diese und schaltet die Messfunktion bei Unterschreiten festgelegter Schwellen (5,5V für Batteriebetrieb bzw. 6,9V für Netzbetrieb) ab. Im ATmega32 ist zwar die Brown-Out-Schwelle auf 4V gesetzt und bewahrt somit den Digitalteil vor Fehlfunktionen. Die "Supply control" sichert zusätzlich den Analogteil, OpAmp und MCP3421, vor Fehlmessungen ab.

Update ab Firmware V1.03, 08.01.2016
Mit Einsatz des nachfolgend beschriebenen Akku-Laders und einer Li-Ionen-Batterie 2x3,7V sind die o.a. Schwellen für die Supply Control geändert auf
Externe Spannungsversorgung des Akku-Laders: ≥ 11,85V
Minimale Entladespannung des Li-Ionen-Akkus: ≥ 6,0V.

Auf die Dauer hilft nur Power aus einem Akku statt einer 9V-Batterie. Hier ist das passende Ladegerät für Li-Ionen-Akkus mit zwei in Serie geschalteten Zellen zu je 3,7V, übernommen von Scott Henion [6]. Es ist mit einem maximal entnehmbaren Strom von ca. 650mA ausgelegt für Li-Ionen-Akkus von 900mAh oder mehr. Mögliche Anpassungen sind in [6] zu finden.

Li-Ion charger schematic

Abb. 1.7: Li-Ionen Lader.

Die Regelung der Ladespannung übernimmt der LM317 (IC1). Die über den Spannungsteiler R2, R3, R4 voreingestellte Ausgangsspannung von 8,4V reduziert je nach infolge des Ladestroms an R1 abgegriffener Spannung der Transistor T1. Mit R1=1Ω steuert T1 bei ca. 650mA voll durch (Strombegrenzung). T2 dient zur Ladeanzeige mit der LED auf der Frontplatte. Die LED erlischt bei einem Ladestrom unterhalb von ca. 20mA.

Für einen schonenderen Umgang mit dem Akku sind folgende Anpassungen eine Überlegung wert:

  • Ladespannung 8,3 bis 8,35V (für zwei 3,7V-Zellen)
  • Ladestrom reduzieren, z.B. auf die Hälfte, ca. 320mA, mit R1=2Ω/1W. Dann dauert das Aufladen halt etwas länger. Der Akku dankt mit einer längeren Lebensdauer.

Die Ladespannung wird mit R4 ohne Belastung durch den Akku eingestellt. Den Rest besorgt die Stromregelung mit T1 und IC1.

Jede Akkuzelle, nominal 3,7V, sollte nicht unter 3,0V entladen werden. Ist dies doch mal passiert, sind sie zunächst mit ca. 10% der angegebenen Zellenkapazität, also bei z.B. 1.000mAh mit 100mA, sanft vorzuladen, bis die 3,0V Zellenspannung überschritten wird. Die o.g. Supply Control warnt aber, bevor der Akku schlapp macht.

Li-Ion charger PCB

Abb. 1.8: Bestückte Platine.

Der Kühlkörper für IC1 ist etwas überdimensioniert, war aber gerade zur Hand.

Die Verkabelung zur Controllerplatine sieht dann so aus:

Li-Ion charger wiring

Abb. 1.9: Verkabelung der Stromversorgung mit Li-Ionen-Akku.

Die Dioden D1 und D2 (Abb. 1.6) entfallen. Der einfache Kippschalter an den Anschlüssen 5 und 6 wird durch einen Zweifachschalter (Switch 1a/1b) ersetzt. Switch 1b verhindert, dass der Akku über das Ladegerät entladen wird, wenn keine Versorgungsspannung anliegt. Das Gerät wird entweder nur vom Li-Ionen-Akku gespeist oder, wenn eine externe Ladespannung anliegt, von dieser über den Akku-Lader gepuffert. Die Spannungsüberwachung übernimmt weiterhin ADC0 über den Spannungsteiler R12/R13, minimale Akku-Spannung: 6,0V. ADC1 am Spannungsteiler R10/R11 prüft, ob eine externe Spannungsversorgung anliegt und ob diese mindestens 11,85V (=10,5V + Spannungsabfälle an D1 und R1, Abb. 1.9) beträgt. Ab 10,5V liefert der Akku-Lader die eingestellte Ausgangsspannung ab.

2 Realisierung

Vorgabe bei der Realisierung war ein schlankes Design für ein flaches Gehäuse. Die Schaltung wurde daher in drei Platinen umgesetzt:

  1. Controllerplatine mit aufgestecktem LCD,
  2. Tasterplatine, mit der Controllerplatine verschraubt,
  3. Messwertverarbeitung mit OpAmp und ADC.

Im Layout der Controllerplatine mit LCD ist das 16x2-LCD TC1602A-09 von Pollin (Abb. 2.1) vorgesehen. Bei anderen LCD, z.B. Displaytech 162C von Reichelt, sind bei gleichen Außenmaßen 36x80mm und gleicher Anordnung der Schraublöcher die 16-fach Stiftleiste und das Displayfenster geringfügig anders platziert.

Abb. 2.1: LCD TC1602A-09.

Abb. 2.2: Controllerplatine Leiterseite teilbestückt.

Die Taster hatten allerdings eine kleine Überraschung zu bieten. Die ursprünglich von DL2KHP vorgesehenen Multimec-Taster 3FTL6 bzw. Nachfolgetypen 3FTH9 oder 3FSH9 überragen mit den aufsteckbaren 22,5mm hohen Kappen die Bauhöhe des LCD, so dass sie noch einige Millimeter aus der Frontplatte herausragen. So weit so gut. Sie benötigen aber einen Tastendruck von 3N, was 300g entspricht. Für eine Ein-Finger-Bedienung an einer senkrechten Frontplatte müsste das Gerät mit Schrauben, Nägeln, Saugnäpfen oder sonst wie gegen Verrutschen gesichert werden. DL2KHP hat die Bedienelemente auf der Gehäuseoberseite angeordnet, so dass auf die Taster nach unten gedrückt wird.

Im Sortiment von reichelt.de sind ansonsten nur Kurzhubtaster mit geringerer Bauhöhe zu finden. Die Wahl fiel nach dem missglückten Versuch mit den 3FTH9-Tastern wie bei Vorgängerprojekten auf die Taster DT6. Die sind mit nur 1,3N Betätigungsdruck zum Schalten zu bewegen. Um die Tasterkappen nun durch die Frontplatte hochzuhieven, braucht es leider eine eigene Tasterplatine. Diese wird über einen Sechsfachstecker (Abb. 1.1 links unten und Abb. 2.4) mit der Controllerplatine verbunden.

Abb. 2.3: Anordnung der Tasterplatine (schematisch)

Alle Elkos, der Quarz und der Trimmer R6 (Bauform 64Y) sind bedrahtete Typen, bei denen die Drähte nach außen gebogen und zugeschnitten werden. Rest in SMD, Stückliste im Download.

Abb. 2.4 zeigt die Bestückungsseite der Controllerplatine, Abb. 2.5 die Aufsicht mit gesonderter Platine für die Taster.

Abb. 2.4: Controllerplatine, Bestückungsseite.

In der endgültigen Version der Platinen sind die Massenflächen rund um die Schraublöcher an den Außenseiten der Controller- und der Tasterplatine ausgespart, damit die gesamte Vorrichtung ohne Masseverbindung mit der Frontplatte verschraubt werden kann.

Abb. 2.5: Controllerplatine mit Tastern (DG1KPN), Aufsicht.

DG1KPN hat statt der DT6 andere Taster eingesetzt.

Abb. 2.6 ADC-Platine (Prototyp) Leiterseite.

 

 

3 Software

Das Herz schlägt bei dieser doch recht übersichtlichen Hardware in der Mess- und Auswertesoftware. Die in BASCOM-AVR erstellte Software ist, wenn man bei einem zweizeiligen alfanumerischen LCD überhaupt davon sprechen kann, mit einer Menüführung ausgestattet. Das Menü wurde mit der Version 1.10 (05/2017) vereinfacht, um die Hauptfunktionen schneller zu erreichen:

  1. Normalbetrieb, Leistungsmessung mit Auswahl des Detektors,
  2. Kalibrierung der Detektoren in 1dB-Schritten,
  3. Wahlweise Zweipunktkalibrierung von dB-linearen Detektoren,
  4. Setzen der Eckpunkte für eine Zweipunktkalibrierung,
  5. Frequenzkorrekturen für fest vorgegebene Frequenzen,
  6. Festlegen der Ist-Werte der verwendeten Abschwächer,
  7. Festlegen der ADC-Wiederholungsmessungen zur Mittelwertbildung,
  8. Dimmen der LCD-Hintergrundbeleuchtung für Batteriebetrieb.

Eine detaillierte Beschreibung der Menüfunktionen ist im Download zu finden, hier beispielhaft das Menü 1 als Flussdiagramm. Nachfolgend sollen nur die wesentlichen Merkmale aufgezählt werden.

Program flow chart menu 1

Abb. 3.1: Menü 1, Messfunktionen.

3.1  Auflösung und Wiederholungsrate der Anzeige

Es war eine Auflösung von 0,01 dBm gewünscht. Der MCP3421 ist ein 18 Bit-ADC. Damit kann mit der hier gewählten unsymmetrischen Einspeisung (single ended) eine Auflösung von 15,6µV erreicht werden (s. oben). Allerdings ist hier die Konversionsrate nur 3,75 samples per second (SPS). Einschließlich der Zeit, die der ATmega für Berechnungen braucht, dauert eine Einzelmessung rund 300 msec.

Aus unseren Versuchen hat sich gezeigt, dass schon eine ADC-Einzelmessung hinreichend genau und stabil ist. In Menü 7 kann die Anzahl von Einzelmessungen für eine Mittelwertbildung festgelegt werden. Vorbesetzung: 1 Einzelmessung. Mit V1.10 wurde eine gleitende Mittelung eingeführt, die mit jeder neuen ADC-Einzelmessung einen neuen Mittelwert anzeigt.

Die Funktionen des MCP3421 für das Einstellen der Auflösung, der Vorverstärkung und das Auslesen des Konversionsergebnisses löst der ATmega per I2C wie im MCP3421-Datenblatt [4] beschrieben aus. Eine mögliche Umschaltung des ADC-Vorverstärkers von 1x nach 8x bei kleinen Pegeln hat nach unseren Tests keinen wirklichen Vorteil gebracht. So wurde hier darauf verzichtet.

3.2  Initialisierung des EEPROM

Mit dem ersten Programmstart nach dem Brennen wird der EEPROM mit Anfangsdaten initialisiert. Insbesondere werden die Kalibrierungsdaten so vorbesetzt, dass das Programm nach erfolgter Kalibrierung erkennen kann, was echte Kalibrierungsdaten und was Vorbesetzungen sind. Damit ist der für Messungen nutzbare Bereich vorgegeben.

3.3  Setup

In den Menüs 5 bis 8 können vorbesetzte Daten individuell eingestellt werden. Diese werden im EEPROM des ATmega gespeichert.

3.3.1  Kalibrierung

Für die zwei möglichen Messköpfe (Detektoren) sind individuelle Kalibrierungen vorgesehen.

Die Kalibrierungsstützstellen im Menü 2 umfassen -90 bis +20 dBm in 1 dB-Schritten. Bei den Messungen wird der gemessene Pegel, d.h. das ADC-Konversionsergebnis, ggf. aus Einzelmessungen gemittelt, um den gemessenen Offset vermindert. Über eine lineare Interpolation zwischen den zwei benachbarten Kalibrierungsstützstellen wird der zugehörige dBm-Wert berechnet. Mit diesem werden eventuell eingestellte Frequenz- und Abschwächerkorrekturen verrechnet.

Bei der Zweipunktkalibrierung für logarithmisch lineare Detektoren im Menü 3 sind nur die beiden im Menü 4 gewählten Eckpunkte zu kalibrieren. Daraus wird eine Kalibrierungsgerade berechnet und im EEPROM gespeichert.

Das Programm zeigt an, wenn bereits eine Kalibrierung des Detektors vorhanden ist und fragt zur Sicherheit, ob diese erneuert werden soll. Mit der Doppelfunktion des OK-Tasters (kurzer oder langer Druck) ist auch eine Nachkalibrierung ggf. einzelner Messpunkte gefahrlos möglich. Nur bei langem Druck auf den OK-Taster wird der vorhandene Wert mit dem neuen im EEPROM überschrieben. Mit einem kurzen Druck springt die Anzeige auf den nächsten Kalibrierungspunkt.

Vor der Kalibrierung wird der aktuelle Offset gemessen und auf Anforderung gespeichert. Die nachfolgenden Messungen werden um den Offset korrigiert ("Netto" = Offset subtrahiert).

Bei der Aufnahme der Kalibrierungskurve wird der o.a. Bereich von -90 nach +20 dBm in 1 dB-Schritten durchfahren. Die Auswahl des Startpunktes, möglicherweise recht weit oberhalb von -90dBm, erleichtert ein Autorepeat der Up- und der Down-Taste. Zur Anzeige kommen jeweils der im EEPROM gespeicherte und der aktuell gemessene ADC-Wert, vermindert um den Offset. Nur mit einem langen Druck auf den OK-Taster wird der neue Wert abgespeichert. Vorher erfolgen Konsistenzchecks:

  • Hat ein zu hoher Eingangspegel den ADC übersteuert (Overflow)?
  • Ist der aktuelle Wert gleich oder größer als der Wert für den um 1 dB niedrigeren Pegel, d.h. steigt die Kalibrierungskurve stetig an?

Nur wenn beide Fehlermöglichkeiten nicht zutreffen, kann gespeichert werden.

3.3.2  Frequenzkorrekturen

Die Kalibrierung erfolgt mit einer vorgegebenen Frequenz, i.d.R. 10 oder 50 MHz. Um die Frequenzabhängigkeit der Detektoren auszugleichen, sind für bestimmte Frequenzen Korrekturen möglich bei 1, 10, 30, 50, 145, 435 MHz, 1, 2, 4, 6, 8, 10 GHz. Die Korrekturwerte für die dBm-Anzeige können im Bereich -9,99 bis +9,99 in 0,01 dB-Schritten festgelegt werden. Sie sind zunächst mit Null vorbesetzt.

3.3.3  Tatsächlicher Wert verwendeter Abschwächer

Für möglicherweise vor dem HF-Messkopf verwendete Abschwächer, nominal 3, 6, 10, 20, 30 oder 40dB, können hier die tatsächlichen Werte eingegeben und gespeichert werden. Ausgangspunkt ist der jeweilige Nominalwert, Schrittweite wie oben ±0,01 dB.

3.3.4  LCD-Hintergrundbeleuchtung

Für den Batteriebetrieb kann die LCD-Hintergrundbeleuchtung gedimmt werden (s.o. Abb. 1.1 und 1.4). Der gedimmte Wert stellt sich automatisch ein, wenn die Batterie als einzige Spannungsversorgung erkannt wird.

3.4  Messfunktionen

Die eigentliche, in Menü 1 angesiedelte Hauptfunktion, das Messen, lässt sich erst zum Schluss erklären. Die nachfolgenden Funktionen sind nach Auswahl des verwendeten Detektors 1 oder 2 wirksam.

Mit der Auswahl des Detektors werden zunächst geprüft:

  1. Wurde für diesen Detektor schon ein Offset ermittelt?
    Wenn nicht, wird das angezeigt und sogleich zur Offset-Messung (Abschnitt 3.4.4) verzweigt. Dieser zeitaktuelle Offset wird zusätzlich zu dem bei der Kalibrierung vorgefundenen gespeichert.
  2. Sind für diesen Detektor Kalibrierungsdaten vorhanden?
    Wenn nicht, wird das angezeigt und sogleich zur Kalibrierung (Abschnitt 3.3.1) verzweigt.
  3. Sind die im EEPROM für diesen Detektor gespeicherten Kalibrierungsdaten konsistent?
    Zwei Fehlermöglichkeiten werden untersucht:

    (1) Im Bereich der gemessenen Kalibrierungsdaten sind noch aus der Initialisierung (Abschnitt 3.2) stammende, also nicht gemessene Daten vorhanden. Ist dies der Fall, wird sogleich zur Kalibrierung (Abschnitt 3.3.1) verzweigt.

    (2) Die Kalibrierungsdaten sind nicht stetig aufsteigend im aufgenommenen Kalibrierungsbereich. Ist dies der Fall, wird sogleich zur Kalibrierung (Abschnitt 3.3.1) verzweigt.

    In beiden Fällen wird der zuerst aufgefundene fehlerhafte dBm-Wert angezeigt, zu dem dann in der Kalibrierung navigiert werden kann.

3.4.1  dBm-, mW- und mV-Anzeige

In drei identisch aufgebauten Submenüs kommen zur Anzeige:

  1. In der ersten Displayzeile immer der Leistungspegel in dBm.
    Dieser ist korrigiert um den Nullsignal-Offset (Abschnitt 3.4.4),
    ggf. mit der Frequenzabhängigkeit des Detektors (Abschnitt 3.4.2),
    angezeigt rechts mit einer Frequenzangabe
    und ggf. mit dem Wert eines eingeschleiften Abschwächers (Abschnitt 3.4.3),
    angezeigt in Zeile 2 rechts mit einer dB-Angabe.
  2. Die zweite Displayzeile zeigt aus dem dBm-Wert berechnete Größen an:
    pW, nW, µW oder mW je nach Pegel
    µV, mV oder V-RMS je nach Pegel
    µV, mV oder V-Peak-to-Peak (pp) je nach Pegel.

Die Umrechnungen erfolgen mit den altbekannten Formeln mit Z = 50Ω und für reinen Sinus:

Je nach anliegendem Pegel werden Hinweise angezeigt,

  • < Cal.Rng: Pegel liegt unterhalb des Kalibrierungsbereiches,
  • > Cal.Rng: Pegel liegt oberhalb des Kalibrierungsbereiches,
  • Overload: ADC-Overflow, ADC übersteuert.

3.4.2  Frequenzkorrektur

Eine Frequenzkorrektur der Anzeige kann mit Auswahl einer Frequenz, Abschnitt 3.3.2, vorgenommen werden.

3.4.3  Abschwächerkorrektur

Eine Dämpfungskorrektur der Anzeige infolge eines vor dem Messkopf eingeschleiften Abschwächers kann mit Auswahl des Nominalwertes, Abschnitt 3.3.3, vorgenommen werden.

3.4.4  Aktuellen Offset messen

Die im EEPROM gespeicherten Kalibrierungsdaten sind "Netto", also Offset zum Zeitpunkt der Kalibrierung vom jeweiligen Signalpegel subtrahiert. Hier wird der zum Zeitpunkt der Messung aktuelle Offset erfasst und bei den Messungen (Abschnitt 3.4.1) subtrahiert.

3.5  Überprüfung der Spannungsversorgung

Mit dem Programmstart und fortlaufend wird die wahlweise von einem Steckernetzteil oder einer Batterie bereitgestellte Spannungsversorgung geprüft. Damit soll insbesondere die Funktionalität des Analogteils (OpAmp und ADC) sichergestellt werden. Ist das nicht der Fall, verweigert das Programm seinen Dienst. Die Batteriespannung muss mindestens 6V betragen.

4 Download

Hier noch die ergänzenden Informationen. Die Stückliste ist in "powermeter_information_v109.zip" versteckt. Nicht in der Stückliste aufgeführt sind der optionale Li-Ionen-Lader und die Zuführung der externen Spannungsversorgung, etwa mit einer schaltbaren Hohlbuchse und Buchse/Stecker für die Detektoren. Bei Diodendetektoren reichen Koax (SMA, BNC...), für aktive Detektoren muss noch eine Spannungsversorgung vorgesehen werden. Wir haben hier vierpolige Mikrophonstecker/-buchsen verwendet. Die Detektormasse ist nicht mit Frontplatte und (Metall)Gehäuse zu verbinden. Also Koax-Buchsen isoliert einbauen, um Handempfindlichkeit zu vermeiden.

Die Firmware (.bas und .hex) ist wie immer Open Source für den privaten Gebrauch entsprechend den GNU Lizenzbedingungen. Eine kommerzielle Verwertung ist nicht gestattet.

Firmware Edit history
V1.00    2015-12-14, first release
V1.01     2015-12-19  Bug fix in submenus 1.5 & 2.2
V1.02     2015-12-28  Up/Down auto repeat for freq. & attenuator 0.01dB correction steps
V1.03     2016-01-08  Supply voltage control (ADC0&ADC1) adapted for Li-Ion battery
V1.04     2016-01-26  Bug fix ext. supply voltage control value
               Set blanks in lower & upper 2 point uncalibrated dBm areas
V1.05     2017-05-08  Bug fix LCD backlight, PD7(OC2) may produce key event
V1.10     2017-05-22  Menu control simplified, running average for ADC mean values

Vorbeugend zu diesbezüglichen Fragen noch: Platinen können wir leider nicht anbieten.

In der Datei AD8307 Probe320x240.zip ist ein kleines Video (ca. 5MB), aufgenommen mit dem erwähnten AD8307-Messkopf. Es zeigt, dass auch im Untergeschoss noch halbwegs gut zu messen ist.

  1. +10 bis -90dBm in 10dB-Schritten
  2.  -80 bis -90dBm in   1 dB-Schritten.