Hallo Gemeinde, ich habe eine Phasenanschnittssteuerung mit Stromregler. Ich habe zwei Programmteile, die per Taster auswählbar sind. Programmteil 1 (entspricht im Code dem Abschnitt mit der if-Abfrage Linearisierung == 0) funktioniert tadellos. Nur der 2. Programmteil (if Linearisierung == 1) macht Probleme. Gucke ich mir das Oszilloskop Bild an (siehe Anhang), sieht es beim Hochlauf der Maschine so aus, als würde immer abwechselnd Programmteil 1 UND Programmteil 2 durchlaufen werden. Was man daran erkennt, dass der Zündwinkel zunächst groß startet, dann aber wieder der kleinere Zündwinkel aus Programmteil 1 verwendet wird. Ich hoffe, was gemeint ist, wurde einigermaßen verständlich von mir herüber gebracht. Hat jemand eine Idee wo mein Fehler liegt?
Soviel dum Debuggen. Debuggen ist Teil der Entwicklung. Daher sollte man den Controller so waehlen, dass das auch unterstuetzt wird. Also genuegend freie Pins, ein freies UART. Dann kann man sich Betriebszustaende auslesen. Nochwas. Mach die Float weg, die braucht es sicher nicht. Eine Riesen- Rechnerei fuer nichts. Ich hab auch mal einen Phasenanschnitt gesteuert, das ging mit Integern
Initialisiere ich die Variable "linearisierung" zu Beginn mit 1 statt mit 0, sprich ich starte zuerst direkt mit Programmteil 2 statt mit 1, dann tritt das Problem nicht so stark auf...
Aber meine Berechnungen sind ja alle ziemlich zeitunkritisch. Die Linearisierungsfunktion benötigt 246us. Die Stromberechnung (Die hier nicht zusätzlich aufgeführt ist) benötigt 560us.
Dann vereinfache das Ganze erst mal. zB - soll der Zuendwinkel per UART auf xx gesetzt werden koennen. - soll die Spannung auf den gemittelten ADC Wert = xx geregelt werden. Was heisst gemittelt ... hier also integriert ueber eine Periode passt. - soll der Strom auf den gemittelten ADC Wert = xx geregelt werden. Was heisst gemittelt ... hier also integriert ueber eine Periode passt. wahlweise, der jeweilige Wert wird per UART vorgegeben. Und die Regelvariablen machst du per UART auslesbar, resp, die Regelparameter per UART setzbar.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.

