www: Leistungsmessung einer Brennstoffzelle
Leistungsmessung
physikalische Größe | Symbol der Größe | Definition | Name der Einheit | Einheit |
Elektrische Leistung | P | P = U * I | Watt | 1 W = 1 V * A = 1 J/s |
Elektrische Spannung | U | U = E / Q | Volt | 1 V = 1 J/C |
Elektrische Stromstärke | I | I = Q / t | Ampere | 1 A = 1 C/s |
Elektrische Widerstand | R | R = U / I | Ohm | 1 Ω = 1 V/A |
Leistungsmessung über einen Lastwiderstand
P = U * I
I = U / R
P = U²/R
R sollte sehr genau bekannt sein.
Die Spannung an diesem Lastwiderstand muss gemessen werden.
P wird über den Zusammenhang P = U²/R berechnet.
Leistungsmessung einer Brennstoffzelle
Lastwiderstand von 0,5 Ω
Parallelschaltung von zwei 1,0 Ω Widerständen
Spannungsmessung am Widerstand mit CASSY oder einem ARDUINO
Funktionsweise AD-Wandler
Schaltungsaufbau
Schaltbild
Sketch
//*************************************************************************************************************************************
long A0_Bit; // Messung: Hier wird eine Variable namens "A0_Bit" des Typs Long angelegt - nur ganze Zahlen
float A0_P, A0_U, A0_I; // Anzeige: Hier wird eine Variable namens "A0_P" des Typs Float angelegt - Dezimalzahl
int R0 = 500; // eingesetzter Widerstandswert fuer die Leistungsmessung z. B. 500 mOhm zwischen A0 und Masse
//*************************************************************************************************************************************
void setup (){
Serial.begin(9600); // Hier wird der serielle Monitor initialisiert (9600 Signaländerungen/Sekunde)
pinMode (A0, INPUT); // analoger PIN A0 wird als INPUT (also Eingang) festgelegt, so dass hier eine Spannung bis 5 V gemessen werden kann.
//*************************************************************************************************************************// Ende Setup
}
void loop () { // Anfang Loop
A0_Bit = analogRead (A0); // Pin A0 1 wird ausgelesen und zugewiesen
A0_U = (5.0 / 1024.0) * A0_Bit * 1000; // Umrechnung in Spannung am Widerstand
A0_I = A0_U / R0 *1000;
A0_P = A0_U * A0_U; // Quadrat der Spannung
A0_P = A0_P / R0 * 1; // Umrechnung in Leistung am Widerstand in mW
serielleAusgabe(); // Bildschirmausgabe
delay (500); // Warten für 500 Millisekunden - kurze Pause
}
//*************************************************************************************************************************************
void serielleAusgabe() { // Hier folgt die Ausgabe am Monitor
schreibeBit0();
schreibeR0();
schreibeU0();
schreibeI0();
schreibeP0();
Serial.println("|"); // neue Zeile schreiben
}
//*************************************************************************************************************************************
void schreibeBit0(){
Serial.print (" | A0 = "); // Anzeigetext
Serial.print (A0_Bit); // gemessener Wert wird im seriellen Monitor angezeigt
Serial.print (" bit"); // Anzeigetext
}
//*************************************************************************************************************************************
void schreibeR0() {
Serial.print (" | R0 = "); // Anzeigetext sollte sein: I=
Serial.print (R0); // berechneter Wert wird im seriellen Monitor angezeigt
Serial.print (" mOHM "); // Anzeigetext der Einheit mA
}
//*************************************************************************************************************************************
void schreibeU0(){
Serial.print (" | U = "); // Anzeigetext sollte sein: U_A0=
Serial.print (A0_U); // berechneter Wert wird im seriellen Monitor angezeigt
Serial.print (" mV "); // Anzeigetext der Einheit V
}
//*************************************************************************************************************************************
void schreibeI0() {
Serial.print (" | I = "); // Anzeigetext sollte sein: I=
Serial.print (A0_I); // berechneter Wert wird im seriellen Monitor angezeigt
Serial.print (" mA "); // Anzeigetext der Einheit mA
}
//*************************************************************************************************************************************
void schreibeP0(){
Serial.print (" | P = "); // Anzeigetext
Serial.print (A0_P); // berechneter Wert wird im seriellen Monitor angezeigt
Serial.print (" mW "); // Anzeigetext
}
//*************************************************************************************************************************************
Auswertung
Messung mit CASSY