Member
Beiträge: 10.599
Themen: 355
Registriert: Jul 2012
Zitat:Original geschrieben von Rumgucker
Ich hatte doch nun mehrmals geschrieben, dass ich die volle Auflösung brauche, um Regelschwingungen unwahrscheinlicher zu machen.
Das halte ich bei:
Zitat:Original geschrieben von Rumgucker
Beim 2-Zylinder kann ich eigentlich auch mit konstanter Frequenz arbeiten. Ich teile also einen Zyklus in zwei gleich lange Abschnitte. Und in jedem Abschnitt kann sich t_on dann zwischen 0% und 100% austoben, also 0-50% des Zyklusses.
t_off ist dann in konstant die Hälfte eines Zyklusses.
eigentlich für unwahrscheinlich/ausgeschlossen.
Wieso?
Durch die neue Interruptstruktur werden t_on und t_off zusätzlich verzögert aktualisiert. Wenn ich dann noch obendrein zum Delay durch zu grobe Stufungen eine erhebliche Hysterese in die Regelschleife einbauen, dann hab ich erfolgreich einen Oszillator gebaut. Das ist ja das Problem in diesem Thread.
Member
Beiträge: 10.599
Themen: 355
Registriert: Jul 2012
Hmm, ich hatte das so verstanden, dass t_on=100% = 50% D sind. Somit entfällt das Problem bei D >= 50%.
Aber wenn ich nochmal alles hinterfrage, so verstehe ich:
Zitat: Ich teile also einen Zyklus in zwei gleich lange Abschnitte. Und in jedem Abschnitt kann sich t_on dann zwischen 0% und 100% austoben, also 0-50% des Zyklusses.
anders.
2 Abschnitte = 1 Zylkus.
In jedem Abschnitt kann t_on 0-100% annehmen. Wenn t_on in beiden Abschnitten 100% annimmt ergibt das doch auch 100% im kompletten Zylkus, da für t_off keine Zeit mehr bleibt.
Ich versuchs nach "Auto" zu übersetzen....
Ich hab zwei Zylinder. Und ich hab eine Kurbelwelle.
Während einer kompletten Kurbelwellenumdrehung durchlaufen die Zylinder insgesamt vier Takte.
Im ersten Takt "t1" wird Zylinder 1 mit Gas befüllt und Zylinder 2 entladen.
Im zweiten Takt "t2" Zylinder 1 entladen und Zylinder 2 entladen.
Im dritten Takt "t3" wird Zylinder 2 mit Gas befüllt und Zylinder 1 entladen.
Im vierten Takt "t4" wird Zylinder 2 entladen und Zylinder 1 entladen.
Es gilt "t1 = t3" und "t2 = t4" und "t1 + t2 = t3 + t4 = konst".
Daraus folgt, dass "t1" bzw. "t3" zwischen 0 und 50% einer Kurbelwellenumdrehung dauern kann. Und "t2" bzw. "t4" entsprechend zwischen 50% und 0%.
Member
Beiträge: 10.599
Themen: 355
Registriert: Jul 2012
"Auto" verstehe ich nicht.
Member
Beiträge: 10.599
Themen: 355
Registriert: Jul 2012
Ne lass mal.
2 Zyklen sind nicht 4 Takte.
Ich hab nie etwas von zwei Zyklen geschrieben. Du hast echt ne Lese-Ladehemmung.
Du kannst Dich im Normalfall drauf verlassen, dass ich fehlerfrei und exakt formuliere, wenn ich technische Abläufe schildere.
Wenn Dir was komisch vorkommt, solltest Du erstmal gaaaanz genau lesen, was ich geschrieben hab. Und nicht das annehmen, was Du meinst.
Member
Beiträge: 10.599
Themen: 355
Registriert: Jul 2012
Ich meinte Abschnitte..
Zitat:Ich teile also einen Zyklus in zwei gleich lange Abschnitte. Und in jedem Abschnitt kann sich t_on dann zwischen 0% und 100% austoben, also 0-50% des Zyklusses.
1 Zyklus = 100% Zeit
2 Abschnitte von 1 Zylkus = 100%/2 = 50% Zeit pro Abschnitt.
Zitat:..in jedem Abschnitt kann sich t_on dann zwischen 0% und 100% austoben
in JEDEM Abschnitt KANN <--
1. Abschnitt -> t_on = 100% von 50% des Zyklus
2. Abschnitt -> t_on = 100% von 50% des Zyklus
Also ist/kann t_on in jedem Abschnitt dauerthaft an -> das macht 100% des Zyklus aus.
Nix da mit 4 Takten.
https://www.youtube.com/watch?v=-3tmvDqiP-c
Ein Zyklus = zwei Abschnitte = vier Takte.
Member
Beiträge: 10.599
Themen: 355
Registriert: Jul 2012
Aha, na dann mach mal - ist mir echt zu blöd.
Software soweit fertig. Mach gerade ein wenig Taktzählerei und Feinschliff.
Member
Beiträge: 1.769
Themen: 25
Registriert: Jan 2010
Läuft das sauber, ohne Kontrolle über den Zeitpunkt wann der neue PWM-Wert fertig berechnet ist?
Bei mir wars anders rum...die Auflösung der Messung fällt fast nicht auf, 10Bit reichen locker, aber die Zeitpunkte müssen sauber äquidistant sein, sonst schwingt und pfeifft er...
Vmtl ein Tribut an den PID und seine vielfältigen Theoreme...
Ich kenn nur diese vier Takte, die ich Christian beschrieben hab. "PWM" mag ich dazu nicht sagen. Ist ja nur einfach BJT anschalten und nen Timer aufsetzen (auf "t_on"). Wenn der Timer abgelaufen ist, gibts nen Interrupt und ich schalte den BJT wieder aus. Erneut Timer anstarten, diesmal mit "t_off". Und das gleiche Spiel dann danach mit dem zweiten Leistungsschalter.
Während des einen Arbeitstaktes wird - gleich zu Beginn und synchron- der Strom der Spule gemessen. Mit voller 10-Bit-Auflösung. Während des anderen Arbeitstaktes - ebenso gleich zu Beginn und synchron - die Ausgangsspannung.
So krieg ich während eines Zyklusses jeweils eine Strom- und eine Spannungsmessung von der ISR, hab also immer frische Werte im Buffer. Der Vordergrund-Formel-Cruncher verrechnet diese Werte und die vor dem Wandlerstart ermittelte Batteriespannung und Sollleistung und bestimmt mit großem 32-Bit-Rechenaufwand "t_on" und "t_off".
Der PI-Regler muss natürlich an diese Rechenzeit angepasst werden. Es spielt sich aber alles noch im Millisekundenbereich ab. Für Christians LED-Betrieb sollte es allemal reichen.