Forum: Mikrocontroller und Digitale Elektronik Phasenanschnitt mit Stromregelung


von Mark (Gast)



Lesenswert?

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?

von Pandur S. (jetztnicht)


Lesenswert?

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

von Mark (Gast)


Lesenswert?

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...

von Falk B. (falk)


Lesenswert?

Eben, meist reicht Festkommaarithmetik.

von Mark (Gast)


Lesenswert?

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.

von Pandur S. (jetztnicht)


Lesenswert?

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
Noch kein Account? Hier anmelden.