Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
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 } //*************************************************************************************************************************************