Leistungsmessung

guten Tag zusammen,

bin momentan dabei eine Leistungsregelung zu erstellen und stoße hier auf Probleme die ich nicht verstehe…

Ich habe ein Platinenlayout erstellt und alles bestückt und kann diese auch ansteueren, doch egal wie hoch ich STrom und Spannung am Konstanter drehe die Leistung regelt nie auf den Wert den ich will…

Ich habe die Regelung der Leistung über ein Modell in Simulink realisiert, ich denke zumindest das es an diesem Modell nicht hapert…

Ich habe die Vermutung es liegt an meinem Layout der Schaltung, denn wenn ich zum Beispiel 16V habe bei 0.7A ergibt dies theoretisch 11.3W, ich will aber 10 lediglich haben aber der Wert dümpelt irgendwo bei 8W rum…

Will ich bei der gleichen Einstellung aber 5W lediglich haben, schaltet sich in meinem Modell der PWM-Pin auf 0 und der MOSFET der das ganze ansteuert dürfte nicht aufmachen und so die Leistung runterregulieren, ABER der Wert dümpelt auch hier bei 8W rum was auch nicht sein kann…

Habe euch meinen Schaltplan in den Anhang hinzugefügt

Ich hoffe jmd weiß Rat von euch :slight_smile:

Nicht wundern warum zwei Linien abgeschnitten sind von hier kommen die 24V Versorgungsspannung

Wenn ihr wollt lade ich noch das Simulink-Modell hoch :slight_smile:

Capture.PNG

wie sieht der Sketch aus?

Jetzt verstehe ich nicht was Du machen willst.

Du hast eine Last mit einem bestimmten Innenwiderstand und darum kann Strom UND Spannung nicht belibig unabhängig voneinander geregelt werden. U = RI, P=RII oder P = UU/R

Was ist ein “Konstanter”?

Ist die Masse von Arduino mit dem Minuspol der 24V verbunden?

Grüße Uwe

sorry hatte noch eine Prüfung gestern…

ja die Masse ist mit dem Minus der 24V verbunden.

Konstanter → Gerät das Strom und Spannung zur Verfügung stellt :slight_smile: (auch Netzgerät genannt hier bei uns in der Abteilung^^)

in meinem Schaltplan ist leider der 24V-Pfad nicht an die Masse des Shunts verbunden, ist er aber natürlich auch

Was ich machen will?

Über meinen Shunt messe ich ja den Strom der abfällt und den Messe ich mit dem OP der an meinen Analog-Pin ja geht. Über den Bit-Wert rechne ich die tatsächlich anliegende Leistung aus und führe diese zurück an meinen Summierer in meinen Modell, durch die entstehende Differenz mit Soll und Ist regle ich mit einem PWM-Signal wie oft der MOSFET durchschaltet und so meine Leistung reduziert bzw erhöht wenn er in dauerhauft auf macht

Ich hoffe ich habe mich soweit verständlich ausgedrückt

Am Schaltplan kann es eigentlich nicht mehr hängen habe ihn nochmals in Spice aufgebaut und mit verschiedenen PWM-Signalen simuliert und kam auch eigentlich immer etwas vernünftiges raus dort…

Ich tippe mittlerweile doch das es am Modell liegt…
Modell findet Ihr im Anhang

Ohne Sketch ist es schwierig zu beurteilen, was nicht passt.

Was mir auffällt: Du regelst nicht die Leistung, sondern den Strom. Die Spannung ist immer 24V, oder?
Da du den Mosfet mit PWM ansteuerst, wird deine Strommessung auch eine gepulste Spannung ausgeben.
je nach dem, wie du hier abtastest, kann es sein, dass du falsche Werte bekommst.
Daher kommt wahrscheinlich auch dein Fehler: Die Schaltung arbeitet zeitdiskret, dein Modell nicht.

Ist deine Last (das ist das Kästchen links?) rein ohmsch?

Vorschlag zur Fehlersuche:

  1. Eine definierte ohmsche Last anschliessen.
  2. Mit fester PWM ansteuern.
  3. Prüfen, ob deine Strommessung das richtige ausgibt. (Verifizieren mit True-RMS Multimeter)

guntherb:
Ohne Sketch ist es schwierig zu beurteilen, was nicht passt.

Was mir auffällt: Du regelst nicht die Leistung, sondern den Strom. Die Spannung ist immer 24V, oder?
Da du den Mosfet mit PWM ansteuerst, wird deine Strommessung auch eine gepulste Spannung ausgeben.
je nach dem, wie du hier abtastest, kann es sein, dass du falsche Werte bekommst.
Daher kommt wahrscheinlich auch dein Fehler: Die Schaltung arbeitet zeitdiskret, dein Modell nicht.

Ist deine Last (das ist das Kästchen links?) rein ohmsch?

Vorschlag zur Fehlersuche:

  1. Eine definierte ohmsche Last anschliessen.
  2. Mit fester PWM ansteuern.
  3. Prüfen, ob deine Strommessung das richtige ausgibt. (Verifizieren mit True-RMS Multimeter)

Ja genau ich regele den Strom der fließt, um so auf meine Leistung später zu schließen. Tut mir leid für meine Umständliche ausdrucksweise…

Genau die Spannung ist konstant auf 24V und ja bei hinzugabe meiner PWM, kommt auch eine gepulste Spannung wieder heraus! Also meine Sample Time am Pin für PWM und auslesen beträgt da ich das ganze ja bei 30Hz betreibe 0.0333 habe es aber auf 0.0167 gestellt (richtig???).

Regler habe ich auf Zeit diskret umgestellt und ich messe folgendes (siehe Bild im anhang),
Blau ist die PWM, in der Mitte (soll gelb sein ist mein RMS-Signal am Widerstand (dieser hat 68 Ohm) und die obere Kurve (grün) ist mein Signal das mein Analog-Pin liest…

Wenn ich den RMS Wert ablese, steht dort 254mA, wenn ich diesen Wert nehme und mit meinem Lastwiderstand mit 68Ohm verrechne komme ich auf 4,45W

Scheint dir dies so richtig?

Was ist das für eine Last?

Wie errechnest Du den RMS?

Grüße Uwe

Die Last ist einfach ein Heizelement mit 68 Ohm Widerstand So eines aber halt nur mit 68 Ohm und 25W.

Das macht mein Oszi von alleine mit dem RMS…

Ich könnte dies auch händisch machen mit meinem Io *Wurzel((Tastgrad/Periodendauer)) aber der Oszi spuckt dies auch so aus…

Ginge es nicht irgendwie mittels eines Faktors, den ich durch Umrechnung erhalte, und diesen mit meinem Bit-Wert vom Analogpin erhalte auf meine Leistung zu kommen?

Weil eigentlich habe ich dies ja so gemacht, aber im Prinzip merke ich gerade das dieser Wert ja mit der Spannung zusammenhängt und nicht mit meinem Strom der sich ändert…

Excel.PNG

Dein sog. "RMS-Signal" ist ja einfach nur ein REchteck.
Ist das mit einer Stromzange gemessen?
Oder die Spannung am Shunt?

du drückst dich echt sehr kryptisch aus.

TW1993:
Also meine Sample Time am Pin für PWM und auslesen beträgt da ich das ganze ja bei 30Hz betreibe 0.0333 habe es aber auf 0.0167 gestellt (richtig???)

Hä?

ok, ich habe verstanden, dass du 30Hz PWM fährst. Also verwendest du nicht analog.write()?!
Was misst denn dein AD?
Wie schnell, oder wann tastest du den AD ab?

wir brauchen CODE!

guntherb:
Dein sog. “RMS-Signal” ist ja einfach nur ein REchteck.
Ist das mit einer Stromzange gemessen?
Oder die Spannung am Shunt?

du drückst dich echt sehr kryptisch aus.
Hä?

ok, ich habe verstanden, dass du 30Hz PWM fährst. Also verwendest du nicht analog.write()?!
Was misst denn dein AD?
Wie schnell, oder wann tastest du den AD ab?

wir brauchen CODE!

Alsooooo:

Das RMS-Signal wurde gemessen mit einer Strommesszange!

Da die PWM mit 30Hz läuft habe ich die Hälfte an Zeit als Abtastzeit für meinen Analogpin (SampleTime in Simulink 0.0167s, 30Hz=0,0333s)

Da ich keinen Code per Se habe… habe ich das Modell in den Anhang gepackt… sieht rudimentär aus aber in der Theorie und laut Simulation funktioniert es, doch die Praxis zeigt sich doch nochmals anders…

Versorgst Du Deine Last mit einer konstanten Spannung?
Wenn Ja dann ist die Leistung nur P=(U*U/R)/Tastverhältnis PWM
Wenn Nein dann mußt Du die Eingengsspannung messen und die Formel ist die gleiche.
Mie kommt vor Du kennst dich mit Simulation super aus hast aber keine Ahnung von den Grundlagen.
Grüße Uwe

Ja gebe gerne zu das ich mehr der Typ für die Theorie bin was Strom und Spannung betrifft, aber naja, deshalb frage ich euch um auch diese Lücke bei mir zu schließen und die meisten Formeln der Elektrotechnik sind mir schon ein Begriff so ist es nicht :slight_smile:

So zu deiner Frage:

--> Ja ich steuere Das ganze konstant mit 24V an !!

Dann müsste ich ja theoretisch nur mein PWM-Signal von oben abgreifen und durch 255 Teilen für mein Tastverhältnis. Und im nächsten Schritt meinen Wert aus dem Analogpin einfach nur quadrieren, durch den Widerstand meiner Last Teilen und das Ganze wiederum durch das Tastverhältnis

--> (U_Analogpin²/R-Last)/(Tastverhältnis) [in Zahlen: ((BitWert von Analogpin*(5V/1024))²/R-Last)/(PWM-Wert/255)

korrigiere mich bitte wenn dies falsch sein sollte...

Da Spannung und Widerstand der Last bekannt und konstant sind hängt die Leistung einzig vom Tastverhältnis des PWM Signals ab. (Spannung der Last und nicht von irgendeinem Arduinopin)

Da das ganze eine gepulste Gleichspannung ist braucht es keine Quadratische Effektivwertberechnung.

Ich nehme an Du steuerst die Last mittels: analogwrite(pin, PWM_Wert);

Pmax = UU/R = 24V24V / 68 Ohm = 8,4706W // Last bei Gleichspannung bzw 255_PWM
Pmomentan = Pmax * PWM_Wert/255

Darum brauchst Du gar nichts zu messen sondern aus dem Ansteuerungswert des PWM Ausgangs ergibt sich direkt die Leistung der Last.

Dann müsste ich ja theoretisch nur mein PWM-Signal von oben abgreifen und durch 255 Teilen für mein Tastverhältnis. Und im nächsten Schritt meinen Wert aus dem Analogpin einfach nur quadrieren, durch den Widerstand meiner Last Teilen und das Ganze wiederum durch das Tastverhältnis

Entweder machst Du das eine oder das andere. Tastverhältnis mal Maximallast bei 100% PWM oder aus der Spannung am Analogpin das quadratische Integral der Spannung über die Zeit berechnen und damit als "Ersatzspannung" weiterrechen.
Nimm das erste und vergiß alle nicht notwendigen Messungen.

Grüße Uwe

Du ahnst gerade nicht wie sehr du mir damit geholfen hast !!!

Vielen vielen Dank!!!