Forum: Analoge Elektronik und Schaltungstechnik Gesucht geeigneter OPV für Verstärkung von µV einer Thermosäule


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Christoph E. (stoppi)


Angehängte Dateien:

Bewertung
1 lesenswert
nicht lesenswert
Hallo!

Ich möchte eine Thermosäule zur Messung der Strahlungsintensität 
basteln. Für ein Laserleistungsmessgerät habe ich dies mit einem 
Peltierelement bereits umgesetzt.

Nun bin ich auf der Suche nach einem geeigneten Operationsverstärker, um 
die Spannungen im Bereich niedriger µV zu verstärken. Ich hätte an ein 
gain = 1000 gedacht. Dann kann ich die Spannungen mit einem 16bit ADC 
weiterverarbeiten. Die Eingangsspannung ändert sich nur sehr langsam im 
Sekundenbereich, von daher würde auch eine lahme Krücke ausreichen.

Ich hätte jetzt aber eine Frage zur input offset voltage: Diese beträgt 
etwa beim AD820 vom Temperaturdrift einmal abgesehen typischerweise 100 
µV. Das würde ja bedeuten, dass der "Nullpunkt" um 100µV verschoben ist. 
Dann wäre doch dieser OPV völlig ungeeignet, um Spannungen im Bereich 
von 10µV zu verstärken, wenn ich das richtig verstanden habe (siehe auch 
Wikipedia-Graphik). Ich würde dann ja einen sehr großen 
output-voltage-offset bekommen und nicht etwa ca. 0 mV output bei 0 µV 
input.

Kann mich bitte jemand aufklären? Danke im voraus, stoppi

von Helmut S. (helmuts)


Bewertung
2 lesenswert
nicht lesenswert

von Dieter W. (dds5)


Bewertung
2 lesenswert
nicht lesenswert
Wir haben bei einem ähnlichen Projekt den AD8551 eingesetzt.

von MaWin (Gast)


Bewertung
2 lesenswert
nicht lesenswert
Christoph E. schrieb:
> Das würde ja bedeuten, dass der "Nullpunkt" um 100µV verschoben ist.
> Dann wäre doch dieser OPV völlig ungeeignet, um Spannungen im Bereich
> von 10µV zu verstärken, wenn ich das richtig verstanden habe

Ja. Ein LM358 tut es auch nicht. Die 
http://dse-faq.elektronik-kompendium.de/dse-faq.htm nennt

TLC2652 (1uV 
Ebay-Artikel Nr. 191848843270 
) LTC2051HV/LTC2052HV (3uV zerodrift bis 12V Reichelt) LTC2057HV (4uV 
zerodrift bis 60V) LMP2021 (5uV max) ICL/TC7650/7651/7652 (5uV max 
chopper, TME 2.12 EUR) LTC1050/LTC1250 (5uV chopper) MCP6V11 (8uV 
zerodrift 1.6-5.5V, Reichelt) TSZ121 (8uV, ST, 1.8-5.5V) LTC1049/LTC1152 
(10uV zerodrift, Ladungspumpe, Reichelt) AD8551 (1uV typ 10uV max, zero 
drift, Reichelt 2.7-5.5V) AD8622 (10uV) LMP2015/LMP2016 (800nV typ. 10uV 
max. 2.7..5.25V) AD8671 (20uV, Reichelt) OPA177F/OPA188 (10uV typ 25uV 
max, 36V, 0.6MHz, Reichelt) OPA376/2376/4376 (5uV typ 25uV max 2.2-5.5V 
R2R TI) OPA192 (5uV typ 75uV max, 10MHz, 36V) TC913 (15uV max chopper 
TME) TSZ182 (R2R 25uV typ 45uV max 2.2-5.5V) OP07 (30uV typ. 75uV max. 
36V, kein Rail-To-Rail)

von Christoph E. (stoppi)


Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank einmal für eure Hilfe! Der AD8551 sieht schon einmal sehr 
gut aus...
Wenn ich den habe und es mit der thermosäule weiter geht, melde ich mich 
wieder...

Mein erster, nicht invertierender Testverstärker mit gain = 1000 
verwendet den LF357. Wenn dieser eine input-offset-voltage von z.b. 3 mV 
hat, dann müsste ich ja eine Ausgangsspannung im Bereich von 3 V 
erhalten, selbst bei 0 microvolt am Eingang. Und wenn ich dann 10 
microvolt am Eingang anlege entsprechend 3.01 V am Ausgang. Soweit ich 
mich erinnere, ist dies aber nicht der Fall. Werde es aber gleich noch 
einmal ausprobieren...

Sind meine Überlegungen soweit richtig?

von Helmut S. (helmuts)


Bewertung
1 lesenswert
nicht lesenswert
> Wenn dieser eine input-offset-voltage von z.b. 3 mV
hat, dann müsste ich ja eine Ausgangsspannung im Bereich von 3 V
erhalten, selbst bei 0 microvolt am Eingang. Und wenn ich dann 10
microvolt am Eingang anlege entsprechend 3.01 V am Ausgang. Soweit ich
mich erinnere, ist dies aber nicht der Fall.

Der kann ja auch -1mV oder +1mV Offset haben. die +/-3mV sind  das 
Maximum.
Eine Verstärkerschaltung für diese Anwendung, egal mit welchem Opamp, 
benötigt eine positive und eine negative Versorgungsspannung da selbst 
nach der Verstärkung mit Faktor 1000 nur wenige mV Spannung 
herauskommen. Hast du das beachtet?

: Bearbeitet durch User
von Christoph E. (stoppi)


Bewertung
0 lesenswert
nicht lesenswert
Hallo Helmut!
Die 3 mV waren ja nur als Beispiel gedacht, wobei dieser Wert beim LF357 
nicht das maximum sondern typisch ist...
Das mit der symmetrischen Spannungsversorgung ist mir klar, wobei der 
AD8551 ein single supply Typ ist. Ist dann nur die Frage, ob er bei 
Eingangsspannungen so knapp über GND noch richtig arbeitet. Obwohl, dass 
die Eingangsspannungen sehr klein sind, davon ist ja bei OPV zu 
rechnen...
Aber prinzipiell sind meine Überlegungen richtig gewesen?

Eine Frage habe ich noch: Wenn ich den AD8551 mit 5V single supply nicht 
invertierend betreibe und nur positive Eingangsspannungen vorkommen, 
brauche ich dann auch noch eine virtuelle Masse z.b. Auf 2.5V?

: Bearbeitet durch User
von Helmut S. (helmuts)


Bewertung
0 lesenswert
nicht lesenswert
> brauche ich dann auch noch eine virtuelle Masse z.b. Auf 2.5V?

Das müssen jetzt nicht 2,5V sein. Es tun auch 0,xV. oder eine negative 
Versorgungsspannung mit -0,xV. Beachte, dass die Thermospannung der 
Übergänge deiner Messleitungen schnell mal einige 10uV betragen könnnen, 
wenn die nicht exakt auf gleicher Temperatur sind.

von Egon D. (egon_d)


Bewertung
0 lesenswert
nicht lesenswert
Christoph E. schrieb:

> Eine Frage habe ich noch: Wenn ich den AD8551 mit 5V
> single supply nicht invertierend betreibe und nur
> positive Eingangsspannungen vorkommen, brauche ich
> dann auch noch eine virtuelle Masse z.b. Auf 2.5V?

Auch wenn das überall "im Internet" anders steht: Ein
separat erzeugtes Bezugspotenzial ist KEINE virtuelle
Masse, sondern eine ganz reale Masse, wenn sie denn als
Masse (=Bezugspotenzial) verwendet wird.

Eine echte virtuelle Masse tritt bei manchen OPV-
Schaltungen auf. Fast alles, was von Laien als virtuelle
Masse bezeichnet wird, ist keine.

von Michael L. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hallo,

> Nun bin ich auf der Suche nach einem geeigneten Operationsverstärker, um
> die Spannungen im Bereich niedriger µV zu verstärken. Ich hätte an ein
> gain = 1000 gedacht. Dann kann ich die Spannungen mit einem 16bit ADC
> weiterverarbeiten. Die Eingangsspannung ändert sich nur sehr langsam im
> Sekundenbereich, von daher würde auch eine lahme Krücke ausreichen.
in Kurzform einige Hinweise:
- eine solche Verstärkung geht mit einem Zero-Drift-Amplifier.
- Eine geätzte Platine mit Massefläche ist bei diesen Spannungen m. E. 
Pflicht.
- Kontaktspannungen und Thermospannungen können relevant werden.
- eine (+/-)-Spannungsversorgung ist leichter zu realisieren als ein in 
der Luft hängendes Bezugspotential von 2,5V.
- Schaltregler würde ich nach Möglichkeit nicht verwenden, um eine 
potentielle Fehlerquelle/Rauschquelle wegzuhalten.
- Beim ADC solltest Du darauf achten, dass er den 50-Hz-Anteil 
rausnimmt, z. B. ADS1243. Bei einer Verstärkung von 1000 findest Du 
ansonsten überall 50 Hz.

Leseempfehlung: Keithley Low Level Measurement Handbok (6th edition), im 
Netz erhältlich.


Viele Erfolg und viele Grüße
Michael

von Christoph E. (stoppi)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Vielen Dank einmal für eure Bemühungen.

Da ich noch glaubte in Erinnerung zu haben, mit einem 0815-OPV und gain 
= 1000 die µV-Spannungen einer gekauften Thermosäule ohne nennenswerten 
offset im Griff gehabt zu haben, habe ich schnell einen nicht 
invertierenden Verstärker mit dem LF357 und gain_max = 1000 gelötet.

Und siehe da: Bei 0µV Eingang erhalte ich (wie zu vermuten war) eine 
sehr große offset-Spannung von 1.424 V. Speise ich 15 µV ein, so steigt 
diese um rund 15 mV auf 1.441 V. Von daher passt alles bis auf den 
extrem großen offset.

Habe bereits AD8551 bei reichelt bestellt. Wenn diese und der SO-8 auf 
Dip Adapter eintrudeln, versuche ich mein Glück nochmals...

von ÄXl (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Der Offeset lässt sich doch auch weggegeln. viele Operationsverstärker 
haben hierfür einen extra Eingang.

von Christoph E. (stoppi)


Bewertung
0 lesenswert
nicht lesenswert
Das schon, wenn der offset aber rund 1000mal größer als der Messwert 
ist, wird es schwierig ;-)

von Dieter W. (dds5)


Bewertung
0 lesenswert
nicht lesenswert
ÄXl schrieb:
> Der Offeset lässt sich doch auch weggegeln. viele Operationsverstärker
> haben hierfür einen extra Eingang.

Das ist im Prinzip richtig, nur ist mit dem großen Offset in den meisten 
Fällen auch ein hoher TK des Offsets verbunden. Der stört hier auch 
massiv.

von Michael L. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hallo,

> Und siehe da: Bei 0µV Eingang erhalte ich (wie zu vermuten war) eine
> sehr große offset-Spannung von 1.424 V. Speise ich 15 µV ein, so steigt
> diese um rund 15 mV auf 1.441 V. Von daher passt alles bis auf den
> extrem großen offset.
ja, sieht gut aus.

Ich habe derartige Verstärkungen für ein µOhm-Meter genutzt. Das Problem 
mit den 50 Hz war sofort sichtbar, vermutlich weil die Leitungen relativ 
lang und in der Umgebung größere Maschinen bedient wurden. Ein 
Verdrillen war bei derartig dicken Leitungen nicht möglich.

Die Massefläche dient vor allem dazu, überall das gleiche 
Bezugspotential zu haben. Wenn auf deiner Massleitung 1mA fließen und 
die Masseleitung 10mOhm hat, so kommst Du sofort auf eine Differenz von 
10µV zwischen dem Anfang und dem Ende Deiner Masseleitung. Und die 
verstärkst du dann, wenn Dein Messignal und der OPV ihr Bezugspotential 
an unterschiedlichen Stellen abgreifen. Besonders lästig wird das, wenn 
die Ströme auf der Masseleitung sich zeitlich ändern (z. B. durch 
weitere Bauelemente im Rahmen einer größeren Schaltung). Insofern achte 
bei der endgültigen Schaltung, wo Du das Massepotential abgreifst.

Die Probleme mit dem Bezugspotential treten erst recht auf, wenn Du mit 
einem 2,5V-Bezugspotential arbeitest. Dann machen dir leichte 
Schwankungen in der Versorgungsspannung die 2,5V-Bezugspotential kaputt, 
sofern sie sich nicht auf alle Schaltungsteile auswirken.

> Habe bereits AD8551 bei reichelt bestellt. Wenn diese und der SO-8 auf
> Dip Adapter eintrudeln, versuche ich mein Glück nochmals...
Das wird schon :-)


Viele Grüße
Michael

von Christoph E. (stoppi)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
So, die Teile (AD8551, SO-8 Adapter) sind eingetroffen. Am Eingang des 
nicht-invertierenden Verstärkers hängt ein 1:1 000 000 Spannungsteiler 
mittels 1k und 1GOhm Widerstand.

Bei 0 µV am Eingang erhalte ich nun mit dem AD8551 einen offset von rund 
1.5 mV. Steigere ich die Eingangsspannung auf z.B. 10 µV, habe ich bei 
einer fixen Verstärkung von 1000 rund 7 mV erhalten, also deutlich zu 
wenig. Deshalb habe ich den 1 MOhm-Widerstand im Rückkoppelzweig durch 
ein 2 MOhm-Poti ersetzt. Nun erhalte ich einigermaßen die zu erwartenden 
Messwerte (ca. 10 mV bei 10 µV am Eingang).

Diese Spannungen im mV-Bereich werde ich dann mittels 16bit AD-Wandler 
ADS1115 dem Arduino zuführen. Auf der Anzeige der Thermosäule werde ich 
dann die Ursprungsspannung in µV und die Strahlungsintensität in W/m² 
angeben.

von Zeno (Gast)


Bewertung
2 lesenswert
nicht lesenswert
Ich würde die Verstärkung auf 2 OPV's aufteilen. Jeder OPV braucht 
natürlich eine Offsetkompensation.
Vorteil des Verfahrens ist auf alle Fälle, das die Rauschspannungen 
kleiner werden, da Du bei niedrigeren Verstärkungen auch kleinere 
Widerstandswerte einsetzen kannst.
Erste Stufe würde ich Verstärkung 10 einstellen und bei der 2. Stufe 
Verstärkung 100. Die zweite Stufe ist dann schon weniger kritisch, da 
dort die Eingangsspannung schon ca. 100µV also 0,1mV beträgt und das ist 
mit guten OPV's kein Problem mehr.
Weiterer Vorteil bei geringeren Verstärkungen ist das das Ganze stabiler 
wird.

von bingo (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Zeno schrieb:
> Ich würde die Verstärkung auf 2 OPV's aufteilen.

Das ist sehr zu empfehlen. Ich hatte mir mal ein µA-Meter mit nur einer 
Stufe aufgebaut, da gab es immer wieder Abweichungen. Seit längerem 
nehme ich das schaltbild vom µCurrent 
http://www.eevblog.com/files/uCurrentRev5schematic.pdf mit MAX4239 
https://www.maximintegrated.com/en/ds/MAX4238-MAX4239.pdf da läuft das 
perfekt.

von Helmut S. (helmuts)


Bewertung
0 lesenswert
nicht lesenswert
Bei 10V am Eingang müssten 20mV am Ausgang herauskommen. Dass da nur 
10mV herauskommt liegt daran, dass
a) der Opamp im Bereich 0 bis 10mV eher nur Fahrkarten erzeugt und
b) schon eine kleine Thermospannung der Messleitungsübergänge von -10uV 
genügen um 10mV Ablage am Ausgang zu bekommen. Da der Opamp ja keine 
negative Versorgung hat stimmt deshalb die lineare Zunahme der 
Ausgangsspannung nicht.

Irgendwie kann man hier hundertmal erzählen, dass single supply und 0V 
Ausgangsspannung bei 0V EIngangsspannung eben nie richtig funktionieren 
kann. Versorge den Opamp mal mit -100mV oder negativer. Achtung der 
Opamp verträgt maximal 5,5V zwischen den Versorgungsspannungen V+ und 
V-.

: Bearbeitet durch User
von Christoph E. (stoppi)


Bewertung
0 lesenswert
nicht lesenswert
Danke einmal für die Kommentare...

>Bei 10V am Eingang müssten 20mV am Ausgang herauskommen

Wie kommst du auf das?

von Helmut S. (helmuts)


Bewertung
0 lesenswert
nicht lesenswert
Christoph E. schrieb:
> Danke einmal für die Kommentare...
>
>>Bei 10V am Eingang müssten 20mV am Ausgang herauskommen
>
> Wie kommst du auf das?

Tippfehler. Das sollte 10uV heißen.



Bei 10uV am Eingang müssten 20mV am Ausgang herauskommen. Dass da nur
10mV herauskommt liegt daran, dass
a) der Opamp im Bereich 0 bis 10mV eher nur Fahrkarten erzeugt und
b) schon eine kleine Thermospannung der Messleitungsübergänge von -10uV
genügen um 10mV Ablage am Ausgang zu bekommen. Da der Opamp ja keine
negative Versorgung hat stimmt deshalb die lineare Zunahme der
Ausgangsspannung nicht.

Irgendwie kann man hier hundertmal erzählen, dass single supply und 0V
Ausgangsspannung bei 0V EIngangsspannung eben nie richtig funktionieren
kann. Versorge den Opamp mal mit -100mV oder negativer. Achtung der
Opamp verträgt maximal 5,5V zwischen den Versorgungsspannungen V+ und
V-.

: Bearbeitet durch User
von Lurchi (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Für eine niedrige Frequenz und mit AZ OP kann man eine 1000 fache 
Verstärkung noch gut in einer Stufe machen. Auf einen Poti / Trimmer im 
Feedback sollte man eher verzichten.

Mit Eingangsspannung ganz an der 0 sollte der AD8551 kein Problem haben, 
für den Ausgang wird es aber schwer.

Eine mögliche Fehlerquelle sind Einstreuungen, die so dicht am unteren 
Rand Gleichgerichtet werden - denn negative kann der OP am Ausgang 
nicht, auch nicht für ein überlagerte Wechselspannung (z.B. 50 Hz).

von Christoph E. (stoppi)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
So, der 16bit ADC ADS1115 zur Weiterverarbeitung der vom AD8551 
kommenden mV-Spannungen ist heute eingetroffen. Der ADS1115 arbeitet 
sehr zuverlässig und liefert sehr stabile Werte.

In Kombination mit der AD8551-Verstärkerschaltung (gain = 1000) ist das 
dann schon etwas anders. Die µV-Spannungswerte schwanken etwa um +/-15%, 
was mir aber eigentlich ausreicht. Jetzt warte ich nur noch auf die 
Thermosäule, dann geht es ans Eichen...

1
#include <LiquidCrystal_I2C.h>
2
#include <Wire.h>
3
#include <Adafruit_ADS1015.h>
4
 
5
//Adafruit_ADS1015 ads1015;    // Construct an ads1015 at the default address: 0x48
6
//Adafruit_ADS1115 ads1115(0x49);  // construct an ads1115 at address 0x49
7
8
Adafruit_ADS1115 ads1115;    // Construct an ads1115 at the default address: 0x48
9
10
int16_t adc0, adc1, adc2, adc3;
11
12
int i;
13
14
float voltage;
15
float Leistung;
16
float Intensitaet;
17
18
LiquidCrystal_I2C lcd(0x3F,16,2);  // set the LCD address to 0x27 for a 16 chars and 2 line display. ACHTUNG: Adresse kann auch 0x3F sein !!!
19
20
// Anschlüsse:
21
// GND - GND
22
// VCC - 5V
23
// SDA - ANALOG Pin 4
24
// SCL - ANALOG pin 5
25
26
27
// ===========================
28
// =======   SETUP   =========
29
// ===========================
30
31
void setup()
32
   {
33
    Serial.begin(9600);
34
    
35
    lcd.init();        // initialize the lcd
36
    lcd.backlight();
37
    lcd.setCursor(0,0);
38
    lcd.print("Thermosaeule");
39
    lcd.setCursor(0,1);
40
    lcd.print("uV-Meter");
41
    
42
    delay(4000);
43
    
44
    lcd.setCursor(0,0);
45
    lcd.print("             ");
46
    lcd.setCursor(0,1);
47
    lcd.print("            ");
48
    
49
    //ads1015.begin();  // Initialize ads1015
50
    ads1115.begin();  // Initialize ads1115
51
    
52
    // The ADC input range (or gain) can be changed via the following
53
    // functions, but be careful never to exceed VDD +0.3V max, or to
54
    // exceed the upper and lower limits if you adjust the input range!
55
    // Setting these values incorrectly may destroy your ADC!
56
    //                                                                ADS1015       ADS1115
57
    //                                                                -------       -------
58
    // ads1115.setGain(GAIN_TWOTHIRDS);  // 2/3x gain +/- 6.144V  1 bit = 3 mV     0.1875 mV (default)
59
    // ads1115.setGain(GAIN_ONE);     // 1x gain   +/- 4.096V  1 bit = 2 mV        0.125 mV
60
    // ads1115.setGain(GAIN_TWO);     // 2x gain   +/- 2.048V  1 bit = 1 mV        0.0625 mV
61
    // ads1115.setGain(GAIN_FOUR);    // 4x gain   +/- 1.024V  1 bit = 0.5 mV      0.03125 mV 
62
    // ads1115.setGain(GAIN_EIGHT);   // 8x gain   +/- 0.512V  1 bit = 0.25 mV     0.015625 mV
63
    // ads1115.setGain(GAIN_SIXTEEN); // 16x gain  +/- 0.256V  1 bit = 0.125 mV    0.0078125 mV
64
  
65
    ads1115.setGain(GAIN_TWO);     // 2x gain   +/- 2.048V  1 bit = 0.0625mV
66
        
67
   }
68
69
70
// ===========================
71
// =======    LOOP   =========
72
// ===========================
73
74
void loop()
75
   {
76
    adc0 = 0.0;
77
    
78
    for(i = 1; i <= 10; i++)
79
       {
80
        adc0 = adc0 + ads1115.readADC_SingleEnded(0);
81
       }
82
    
83
    adc0 = adc0 / 10.0;
84
  
85
    /*
86
    adc1 = ads1115.readADC_SingleEnded(1);
87
    adc2 = ads1115.readADC_SingleEnded(2);
88
    adc3 = ads1115.readADC_SingleEnded(3);
89
    */
90
91
    voltage = adc0 * 0.0625;      // eingelesene Spannung in mV bzw. durch gain = 1000 in uV
92
    
93
    Leistung = voltage * 1.0;     // Auf den Sensor auftreffende Strahlungsleistung
94
    
95
    Intensitaet = voltage * 2.0;   // Strahlungsintensität in W/m²
96
    
97
    Serial.print("AIN0: ");
98
    Serial.println(adc0);
99
    Serial.print("   U = ");
100
    Serial.print(voltage,2);
101
    Serial.println(" uV");
102
  
103
    /*
104
    Serial.print("AIN1: "); Serial.println(adc1);
105
    Serial.print("AIN2: "); Serial.println(adc2);
106
    Serial.print("AIN3: "); Serial.println(adc3);
107
    */
108
    
109
    lcd.setCursor(0,0);
110
    lcd.print("U = ");
111
    lcd.print(voltage,1);
112
    lcd.print(" uV   ");
113
    
114
    lcd.setCursor(0,1);
115
    lcd.print("I = ");
116
    lcd.print(Intensitaet,2);
117
    lcd.print(" W/m2    ");
118
    
119
    delay(2000);
120
    
121
    adc0 = 0.0;
122
    
123
    for(i = 1; i <= 10; i++)
124
       {
125
        adc0 = adc0 + ads1115.readADC_SingleEnded(0);
126
       }
127
    
128
    adc0 = adc0 / 10.0;
129
        
130
    voltage = adc0 * 0.0625;      // eingelesene Spannung in mV bzw. durch gain = 1000 in uV
131
    
132
    Leistung = voltage * 1.0;     // Auf den Sensor auftreffende Strahlungsleistung
133
    
134
    Intensitaet = voltage * 2.0;   // Strahlungsintensität in W/m²
135
    
136
    lcd.setCursor(0,0);
137
    lcd.print("P = ");
138
    lcd.print(Leistung,1);
139
    lcd.print(" mW      ");
140
    
141
    lcd.setCursor(0,1);
142
    lcd.print("I = ");
143
    lcd.print(Intensitaet,1);
144
    lcd.print(" W/m2    ");
145
   
146
    delay(2000);
147
    
148
   }

: Bearbeitet durch User
von Marc Horby (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Um welche Thermosäule handelt es sich?

von Christoph E. (stoppi)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Einerseits um eine vom Lehrmittelbedarf (Kosten rund 300 Euro) und dann 
um eine selbstgebaute mit Peltierelement, welche auch von AATiS um 19 
Euro vertrieben wird 
(https://www.aatis.de/content/bausatz/AS516_Thermo%E2%80%90S%C3%A4ule)

: Bearbeitet durch User
von nachtmix (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Christoph E. schrieb:
> Am Eingang des
> nicht-invertierenden Verstärkers hängt ein 1:1 000 000 Spannungsteiler
> mittels 1k und 1GOhm Widerstand.

Nicht gut.
Schau dir mal die Temperaturkoeffizienten solcher Hochohmwiderstände an!
Ausserdem reicht dann schon eine geringfügige Verschmutzung der Platine 
(oder des Widerstands durch Fingerabdrücke) um grosse Meßfehler zu 
bekommen.
Thermolemente sind doch niederohmig und ermöglichen die Verwendung 
vernünftiger Widerstandswerte.

von Christoph E. (stoppi)


Bewertung
0 lesenswert
nicht lesenswert
@nachtmix: Danke für deine Einwände. Ich brauchte einfach etwas zum 
Testen am Eingang im µV-Bereich. Die Peltierelemente bzw. die 
Thermosäule sind noch auf dem Weg zu mir...

von Christoph E. (stoppi)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
So, habe heute die Thermosäule mit der auf dem Peltierelement 
befindlichen Widerstandskette kalibriert (siehe Excel-Graph und 
-Tabelle). Dies ergab folgende Beziehung: 11.26 mW/mV. Dieser Wert 
stimmt auch sehr gut mit meinem zweiten Laserleistungsmessgerät auf 
Peltierbasis überein (siehe älterer Beitrag weiter oben).

Jetzt bin ich von der Peltierfläche A = 16 cm² = 1/625 m² ausgegangen. 
Treffen also 11.26 mW auf 1/625 m², so erhält man 1 mV. Demnach gilt 
auch: 625 * 11.26 mW auf 1 m² ergeben 1 mV. 7037.5 mW/m² ergeben 1 mV.

Die zweite Beziehung lautet also: 7.0375 W/m²/mV.

Richte ich etwa einen schwachen 532nm-Laser auf die Thermosäule, zeigt 
mir das Display rund 3 mW an. Das ist durchaus plausibel.

Als Verstärkung des AD8551 habe ich jetzt 10x gewählt. Damit entspricht 
1 bit des ADS1115 einer Spannung von rund 6 µV. Anzeigen lasse ich noch 
1/100 mV, also 10 µV.

Achtung: Der obige Code für den ADS1115 machte bei folgender 
Mittelwertsbildung Probleme:
1
adc0 = 0.0;
2
    
3
    for(i = 1; i <= 10; i++)
4
       {
5
        adc0 = adc0 + ads1115.readADC_SingleEnded(0);
6
       }
7
    
8
    adc0 = adc0 / 10.0;

Da zeigte der ADS1115 nur bis rund 200mV richtige Werte, darüber 
wechselte er in den negativen Bereich...

Also einfach die Mittelwertsbildung weglassen und einen Einzelwert 
einlesen oder ein delay einbauen.

Der Bausatz für die Thermosäule ist wie gesagt bei AATiS für nur 19 Euro 
zu beziehen: 
https://www.aatis.de/content/bausatz/AS516_Thermo%E2%80%90S%C3%A4ule

: Bearbeitet durch User
von Purzel H. (hacky)


Bewertung
0 lesenswert
nicht lesenswert
Ja, 200mV / 6uV sind ca 30'000, 15 bit, das 16.Bit ist das Vorzeichen 
wenn du mit Vorzeichen arbeitest. Deine variable adc0 ist also signed 16 
bit ?
Mach diese Variable 32 bit und es passt.
Wozu duch 10 Teilen ? Lass das weg. Das bringt nichts.

: Bearbeitet durch User

Antwort schreiben

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

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.