Hallo,
ich habe mir ein AD 8362 Power Detektor Modul zugelegt und möchte die
Ausgangsspannung ( 50 mV/db ) nun mit einem MC mit LCD in dBm anzeigen
lassen.
Nun zu meiner Frage.
Wie erfolgt die Umrechnung der DC-Spannung in dBm Werte ?
zum Beispiel : 10 MHz mit 63 mVrms und einer Ausgangsspannung von 2.382
V am Modul entspricht wie viel dBm ?
Hat jemand eine Erklärung für mich ?
Gruß Bernd
BernHF schrieb:> 10 MHz mit 63 mVrms und einer Ausgangsspannung von 2.382> V am Modul entspricht wie viel dBm ?
Das hangt vom Lastwiderstand ab.
0 dbm entspricht 1mW.
Hallo Bernd,
Du musst Dich erstmal für eine Eingangsbeschaltung für deinen vorher
festgelegten Frequenzbereich entscheiden.
Darüber hinaus kann man ein symmetrisches oder asymmetrisches Signal
einspeisen. Seite 20f
Aus dem Datenblatt erhalten wir einige Richtwerte:
Linear-in-decibels output, scaled 50 mV/dB
Law conformance error of 0.5 dB
Wenn man von diesen Eckdaten ausgeht, legt man ein 0dBm und/ oder -10dBm
Signal an den Eingang an und legt damit die äquivalente Eingangsspannung
0dBm/-10dBm fest.
Das kann z.B. in der Bandmitte des Freqeunzbereichs erfolgen.
Man beachte auch die max. Ausgangsspannung von 4,9V des AD8362 bei max.
8dBm (Differential) und 0dBm (Single-Sided) !!!
Hat man also eine richtige Referenzspannung von 5V und 10bit Auslösung,
so erhält man ~ |10,2|Bit bei jeder Änderung der Eingangsleistung um
0,5dB .
Dies kann man einfach in ein Tabelle packen - ADC-Messwert/10 -->
Leistung [0,5dBm] -, um das berechnen zu sparen.
Und ja, ich habe mit dem AD8362 solch ein RMS Leistungsmesser für KW
aufgebaut und einen Atmel AVR eingesetzt und programmiert.
OM Andreas hat seine Erfahrungen hier niedergeschrieben.
# http://www.dl4jal.eu/mwattmeter/mwattmeter.html
Ursprünglich hatte OM DL1ALT einen AD8362 in seinem RMS Leistungsmesser
verwendet.
Danke für die schnellen Antworten.
Das Modul soll für ein mW-Meter bis ca. 500 MHz sein.
Danke Karl M. für den Link. Genau so etwas soll es werden.
Leider fehlen mir noch die Grundlagen für die Umrechnung
in der Software.
Hallo Bernd,
du benötigst ein 0dBm Frequenzgenerator!
Und schaue dir ganz genau die unterschiedlichen Anpassungen für die
Frequenzbereiche an.
von 0Hz - 500MHz wird nicht ohne weiter Fehler funktionieren !
Der 0dBm Frequenzgenerator gibt dir dann noch einen Bezugspunkt, z.B bei
-10dBm durch Nutzung eines 10dB Dämfpungsglieds.
Von diesem festen Spannungswert, kann Du dann doch einfach weiter
rechnen.
Wir wissen: die Skalierung beträgt 50 mV/dB mit einem 10Bit ADC und
einer Referenzspannung ARef = 5V erhalten wir:
50mV /5000 mv/dB *1023Bit = ~10,2Bit/dB also 10Bit/dB
Daraus folgt: 5Bit/[0.5]dB
"==" bedeutet "entspricht"
Nur zur Darstellung nehmen wir man an:
-10dBm == 900Bit, der ADC-Messwert (Abgeleichwert)
Eine Veränderung der Leistung um +10dB entspricht:
+10dB * 10Bit/dB = +100Bit
Somit folgt:
0dBm = -10dBm +10dB == 900Bit +100Bit = 1000Bit, der ADC-Messwert
Anmerkung, für das Rechnen in die /andere( Richtung:
Du kannst und musst nur in 5Bit Schrittweiten Rechnen,
also rechnet man ADC-Messwert/5 und erhält:
-10dBm == 900Bit, der ADC-Messwert (Abgeleichwert)
-10dBm == 900Bit == 180Bit5 mit neuer Einheit [Bit/5]
Beispiel:
Also der ADC-Messwert beträgt:
"==" bedeutet "entspricht"
500Bit == 100Bit5
Dreisatz:
XdBm/100Bit5 = -10dBm /180Bit5 <==>
XdBm = -10dBm /180Bit5 *100Bit5
XdBm = -5,5dBm
Bei der Division muss man noch passend Runden:
wenn der Rest r:
r = {0 : 0<= r <0.5 // 5 : 0.5<= r <1 }
Hallo Karl M.
danke für die Ausführliche Erläuterung.
So langsam steige ich dahinter.
Werde Morgen ( heute )mal mit dem Arduino versuchen wie weit
ich komme.
Danke
BernHF schrieb:> zum Beispiel : 10 MHz mit 63 mVrms und einer Ausgangsspannung von 2.382> V am Modul entspricht wie viel dBm ?
Die Leistung bezogen auf 1mW (Einheit dBm) hängt nicht von deinem Modul
ab.
Die Leistung kannst du aus Amplitude (63 mVrms) und dem
Abschlusswiderstand berechnen (P=U²/R). Ausgehend von diesem Bezugspunkt
kannst du dann mit der angegebenen Skalierung des Moduls (50 mV/dB) die
Ausgangsskalierung deines Moduls per Geradengleichung umrechnen, besser
noch wären vernünftige weitere Kalibrierpunkte (mit Abschwächern).
Hallo,
mein Beitrag vom 07.10.2017 00:05 enthält einen großen Fehler,
es war schon zu spät.
Wir rechnen mit logarithmischen Spannungsverhältnissenn
(Leistungsverhältnissen)...
<copy>
Wir wissen: die Skalierung beträgt 50 mV/dB mit einem 10Bit ADC und
einer Referenzspannung ARef = 5V erhalten wir:
50mV /5000 mv/dB *1023Bit = ~10,2Bit/dB also 10Bit/dB
Daraus folgt: 5Bit /[0.5]dB
"==" bedeutet "entspricht"
Nur zur Darstellung nehmen wir man an:
-10dBm == 900Bit, der ADC-Messwert (Abgleichwert)
Eine Veränderung der Leistung um +10dB entspricht:
+10dB * 10Bit/dB = +100Bit ; Anm. auch die Einheiten muss man beachten.
Somit folgt:
0dBm = -10dBm +10dB == 900Bit +100Bit = 1000Bit, der ADC-Messwert für
0dBm
</copy>
*Beispiel:*
"==" bedeutet "entspricht"
Ist: scale 10Bit /dB
Angenommen der ADC-Messwert beträgt 500 [Bit]
Gesucht ist die Eingangsleistung X [dBm].
(-10dBm - XdBm) == (900Bit - 500Bit) ==> ;mit scale 10Bit /dB und
Umstellen
XdBm = -10dBm - 400Bit /(10Bit /dB) <==>
XdBm = -10dBm - 40dB = -50dBm
Beachten muss man aber noch, dass bei der Berechnung von 400Bit
/(10Bit/dB)
das Ergebnisse nur den Reste 0 oder 5, bedingt durch die Auflösung des
AD8362, haben kann.
/Also:/ 40,0dB oder 40,5dB.
++++++++++++++++++++++++++++++++++++++++++++++++
Mein Ansatz im Programm war, ich rechne nur mit dem *ADC-Messwert /5* ,
einer neuen Einheit Bit5 und betrachte das letzte Bit, um den Reste
"0" oder "5" zu wählen.
Ist: scale 10Bit /dB == 2Bit5 /dB
Angenommen:
Abgleichwert: für -10dBm == 900Bit == 180Bit5
ADC-Messwert: beträgt 500 [Bit] == 100Bit5
Gesucht ist die Eingangsleistung X [dBm].
(-10dBm - XdBm) == (900Bit - 500Bit) ==>
(-10dBm - XdBm) == (180Bit5 - 100Bit5) ==> ;mit scale 2Bit5 /dB und
Umstellen
XdBm = -10dBm - 80Bit5 /(2Bit5 /dB) <==>
XdBm = -10dBm - 40dB = -50dBm
Der Trick besteht nun darin,
den Wert des letzte Bits von 80 [Bit5] zu betrachten, hier 0, und das
Ergebnis zu berechnen:
80Bit5 /(2Bit5 /dB) = 40dB mit Rest: +0/10dB = 40,0dB
Braucht denn nur Intergerarithmetik.
Wäre der Wert 81 [Bit5], so entspricht dies:
81Bit5 /(2Bit5 /dB) = 40dB mit Rest: +5/10dB = 40,5dB
Hi Bernd,
genau wie Nachtmix schrieb:
Hp M. schrieb:> Das hangt vom Lastwiderstand ab.> 0 dbm entspricht 1mW.
die daraus resultierende Spannung ist dann deine Referenz, da die
Ausgangsspannug ja 50mV/dB beträgt , kannst Du dann weiter Rechnen.
Habe sowas auch mal aufgebaut und mal in der Uni vermessen.
http://www.igerlach.de/HFmW/index.html
Musst Du mal ein bisschen nach unten Scrollen. Bin allerdings nicht so
zufrieden mit meinem Messkopf...
Gruß Ingo
Hallo Ingo,
Du meinst sicherlich die Leistungsmessung bis 1GHz.
Ja der AD8362 ist kein Baustein für Breitbandmessköpfe.
In deinem Bild ist aber eine gute Linearität bis ca. 500MHz abzulesen.
Ich hatte meinen bis ins 200Mhz in Betrieb, als Ergänzung für den
FA-NWT01.
All das ist auch im Datenblatt mit den unterschiedlichen Anpassungen am
Eingang wieder zu finden.
73
Hallo zusammen,
nochmals danke für die Anregungen.Bin dadurch ein Stück weiter
gekommen.
Die angezeigten Werte sind plausibel und stimmen mit den Werten am
DSA815
überein.
Manchmal ändert sich beim AD8362 der Wert für 0 dBm von 3,330 Volt in
4,382 Volt ????
Die Umrechnung habe ich wie folgt gelöst :
[code]
float volts = atof(v);
float dBm = (volts - 3.330) / 0.050;
// volts = A0 minus Referenz für 0 dBm durch 50 mV/dB
if(dBm < 0) {
dBm = abs(dBm);
} else {
dBm = dBm * -1;
}
return dBm;
BerndHF schrieb:> dtostrf
dtostrf() würde ich heutzutage nur noch nehmen, wenn der Platz arg
knapp ist, ansonsten ist [s]printf() viel einfacher zu handhaben.
In meinem AD8319-basierten Powermeter habe ich ansonsten vor allem
damit zu tun gehabt, für die einzelnen Frequenzbereiche eine
Newton-Interpolation für das Ergebnis einzurichten.
Es ist aber schon klar, dass diese Logamps breitbandig sind ... Und du
diesen 65dB dynamischen Bereich besser vergessen solltest. Wenn du
nicht wirklich mit dem ganzen Design aufpasst und optimierst ist der
untere Rand nicht bei -55dBm, sondern bei -20dBm. Das Schaltnetzteil an
der Speisung wir mitgemessen ! Das Mobilfunkgeraet in der Hosentasche
wird mitgemessen !
Den spezifizierten Bereich auch zu bekommen bedeutet ein Design, mit
allem Drumrum speziell darauf ausgerichtet. Also Eingangsfilter, Low
Noise Speisung, Ausgangsfilter, alles in einem bis mind 3GHz dichten HF
Gehauese
Sapperlot W. schrieb:> alles in einem bis mind 3GHz dichten HF Gehauese
Ach, übertreib' mal nicht. Das sind ja keine DIP-8-Gehäuse mehr wie
bei den ersten Logamps. Die Strukturen rundrum sind so klein, dass
die Antennenwirkung der Bauteile entsprechend reduziert ist. Mein
AD8319-basiertes Powermeter zeigt in Ruhe so um die -63 dBm an. Wenn
ich das DECT-Telefon direkt daneben lege und etwas machen lasse, dann
kann man kurzzeitig in der Tat eine Einstrahlung sehen, aber das
Mobilofon in der Hosentasche ist schon deutlich weit genug weg. Signale
werden ab ca. -60 dBm dann einigermaßen sauber, ab -55 dBm völlig
ordentlich angezeigt.
Mit einer ordentlichen Schirmung könnte man da sicher nochmal 3 bis
6 dB rausholen, aber auch so ist das Teil völlig brauchbar.
Sapperlot W. schrieb:> Ja. Wenn man das Development Board von Analog Devices verwendet.
Habe ich nicht.
> Aber> auf einem 2 seitigen, selbstgeaetzten Print,
Zweilagig ja, aber natürlich nicht selbstgeätzt.
> oder Steckbrett ...
Das mach mal vor mit einem TSSOP mit 0,65 mm Pinabstand.
> oder Steckbrett ...
@Jörg Wunsch
> Das mach mal vor mit einem TSSOP mit 0,65 mm Pinabstand.
Dazu nimmt man einen TSSOP/DIL Adapter z.B. von Ebay, siehe
Link, und kann das IC sehr wohl auf ein Steckbrett montieren.
Ebay-Artikel Nr. 262788078077
Ob das bei diesem Teil sinnvoll ist, ist eine andere Frage.
Markus
DL8MBY
Markus W. schrieb:> Ob das bei diesem Teil sinnvoll ist, ist eine andere Frage.
Ja, wer das (hier) tut, der hat irgendwas wohl nicht ganz verstanden.
;-)
Generell sind diese AD-Logamps meiner Erfahrung nach recht gutmütig.
Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.
Wichtige Regeln - erst lesen, dann posten!
Groß- und Kleinschreibung verwenden
Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang