HF Leistungsmesser

Leistungsmessung im HF-Bereich ist eine Sache für sich. Einerseits gibt es die Ausgangsleistung eines Transceivers - meist 100 Watt; dafür lässt sich auf ein SWR/PWR-Meter zurückgreifen, allerdings mit dem Nachteil einer erheblichen Messungenauigkeit. Andererseits gibt es kleine Leistungen im Bereich einiger Milliwatt - da zeigt ein SWR/PWR-Meter schon mal gar nichts an - in der Not richtet man das Signal gleich, misst die Gleichspannung und beginnt zu rechnen. Für beide Situationen fehlt also oftmals ein passendes Messgerät. Bisher habe meistens den Computer angeworfen und mit dem FA-NWT gemessen, was auch gut funktioniert. Allerdings liebe ich Standalone-Geräte; nicht weil ich den Computer nicht benutzen würde, sondern weil ich meist zum Werkeln irgendeine alte Serie auf demselben laufen lasse und nicht ständig zwischen VLC und linnwt hin- und herschalten will. Also musste auch hier ein passendes Gerät her. Nun gibt es im Netz einige Ansätze für einen HF-Leistungsmesser, häufig auf Basis des AD8307. Da ich noch so einen rumliegen hatte, machte ich mich damit ans Werk. Wie gehabt kommt auch hier wieder ein ATmega16 zum Einsatz - der hat zwar für das Projekt zuviele Pins, aber vielleicht kommen ja noch Funktionen dazu; zudem ist der ATmega16 in China kaum teurer als der ATmega8. Der AD8307 funktioniert als logarithmischer Detektor und liefert am Ausgang eine lineare Gleichspannung. Zum Einsatz kommt der AVR-interne A/D-Converter, als Spannungsreferenz wird ein MCP1541 benutzt; um die Bitgenauigkeit zu erhöhen, wende ich ein 8-faches Oversampling an. Pro Sekunde erfolgt eine Messung mit anschliessender Konvertierung der ADC-Werte in dBm, Watt und Spannung an 50Ω. Berechnungsgrundlage sind zwei Referenzwerte, die nacheinander dem Messkopf angelegt und im EEPROM abgespeichert werden; als Signalquelle verwende ich den TG meines Spektrumanalyzers - zuerst mit 0dBm Signalleistung für den Referenzwert 1, danach mit -30dB Attenuator für den Referenzwert 2. Dieses Vorgehen wiederhole ich für 8 verschiedene Frequenzen, da der AD8307 über den verfügbaren Frequenzbereich natürlich nicht vollkommen linear arbeitet. Da der AD8307 nur bis ins 70cm-Band verwendbar ist, habe ich einen Messkopf für den AD8362 nach DL4JAL aufgebaut - dieser lässt sich selbst noch auf dem 13cm-Band verwenden. Seine Funktionsweise ist dieselbe wie beim AD8307, er hat lediglich einen höheren Noisefloor von etwa -48dBm, gegenüber -78dBm beim AD8307. Natürlich maximale Eingangsleistung darf 10dBm nicht überschreiten; für höhere Leistungen ist ein Attenuator zu verwenden - die gewählte Abschwächung kann am Leistungsmesser eingestellt werden, damit die richtige Leistung angezeigt wird. Die Steuerung des Leistungsmessers erfolgt mit einem Rotary Encoder und der ausgewählte Messkopf wird mit einer LED angezeigt. Das Display ist wie gehabt ein gewöhnliches 16x2-LCD von der Stange. Die Genauigkeit hängt verständlicherweise von den zum Kalibrieren verwendeten Referenzsignalen ab; in meinem Fall verlasse ich mich da auf die Genauigkeit des teuersten Messgerätes in meinem Gerätepark - genauer geht es natürlich immer. Update 01.2016Da mir die Software schon von Beginn an etwas wackelig vorkam - was mich damals dazu bewegt hat, den Watchdog gegen evt. Hänger zu aktivieren, habe ich die Software einer totalen Überarbeitung unterzogen. Zunächst habe ich alle string-Funktionen ersetzt und die Umwandlung von Zahlen in characters mit einer einfach gestrickten itoa-Funktion realisiert. Danach habe ich die Arithmetik auf Festkomma umgestellt; damit kommen keine doubles mehr zum Einsatz, was im Zusammenhang mit der Eliminierung von string-Funktionen die wuchtigen AVR-Floatlibraries überflüssig gemacht hat. Zudem wurde die LCD-Funktion auf die minimal notwendigen Features zusammengekürzt. In der Summe wurde der Code um fast 4kByte kleiner und eine Portierung auf den von der Grösse her angemessereren Atmega8 ist nun auch möglich. Weitere Messungen an den Messköpfen ergeben, dass der Kopf auf Basis des AD8307 für 70cm nicht wirklich im vertretbaren Rahmen zu verwenden ist; der AD8362 ist in jedem Fall die bessere Wahl. Mein AD8307-Messkopf hat aber den Vorteil, dass er bis +30dBm Eingangsleistung verträgt, was bei gewissen Szenarien einen externen Attenuator und damit einer weitere Ungenauigkeitsquelle in der Messung überflüssig macht.