====== www: Leistungsmessung einer Brennstoffzelle====== * [[https://www.youtube.com/watch?v=xPmr1w4PHmQ|Video: Messung mit CASSY]] * [[https://youtu.be/7Wq6m4NXlnk|Video: Speicherleerung]] * [[https://youtu.be/X6rlpVqdo6c|Video: Cassymessung]] * [[https://youtu.be/DS2KkDOjYCk|Video: OSP-Tracker - Umsatzgeschwindigkeit]] ===== 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 ===== * [[https://www.youtube.com/watch?v=9uhCzLEgWmo|Analog- Digital- Wandler mit Zähler (vereinfacht)]] ===== Schaltungsaufbau ===== {{:www-fuer-alle:arduino:2022-05-20-brennstoffzelle-leistungsmessung-r-500-mohm-aufbau.jpg?400|}} ===== Schaltbild ===== {{:www-fuer-alle:arduino:2022-05-19-leistungsmessung-arduino.jpg?400|}} ===== Sketch ===== * [[info:arduino:led-strommessung|Vorlage aus: Arduino - Strommessung]] //************************************************************************************************************************************* 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 ==== * 10 ml H2 werden umgesetzt * der plötzliche Leistungsabfall während der Messung wurde nicht weiter untersucht * offene Fragestellung ;-) * [[https://www.youtube.com/watch?v=xPmr1w4PHmQ|Messung mit CASSY]] * [[https://youtu.be/7Wq6m4NXlnk|Video von der Speicherleerung]] * [[https://youtu.be/X6rlpVqdo6c|Bildschirmmitschnitt der Leistungsmessung mit CASSY zum Vergleichen]] * [[https://youtu.be/DS2KkDOjYCk|Auswertung zur Bestimmung der Gasumsatzgeschwindigkeit mit OSP-Tracker]]