Forum: Mikrocontroller und Digitale Elektronik Spannungskompensation programmieren


von Franjo R. (Gast)


Lesenswert?

Hallo,
ich habe mir eine Ansteuerung eines Gleichstrommotors programmiert der 
mittels einer PWM ansteuert wird. Diese Ansteuerung basiert auf einem 
Hall-Sensor der Impulse zählt und einer Strommessung. In der Realität 
merkte ich aber das diese nicht ganz so funktioniert wie am Basteltisch 
da die Spannung nicht konstant ist (PKW - 12V). Nach etwas recherchieren 
bin ich dann auf den Begriff Spannungskompensation gestoßen.

Nun wollte ich hier mal Fragen ob die folgende Logik dazu stimmen 
könnte.

Den gültige Spannungsberech sollte zwischen 10,5 und 16 V liegen. Meine 
bisherige Ansteuerung berechnet den gewünschten DutyCycle für 12V. Wenn 
ich nun eine Kennlinie abspeichern würde die für die Bereiche 10, 12, 14 
und 16V einen Faktor hinterlegt wie z.B.

10V = 1.2
12V = 1
14V = 1.1
16V = 1.2

würde ich diesen zum Duty Cycle multiplizieren also
DC_Kompensiert = DutyCycle_calculated * Faktor.

Der Faktor würde auf Basis der Stützstellen und einer linearen 
Interpolation gebildet.

Macht das Sinn? Gibt es einen besseren Ansatz?

von Philipp D. (philipp9494)


Lesenswert?

Hallo,

naja, wenn du schon einen Hallsensor hast, kannst du ja einen Regler 
implementieren. Dann fließt die Versorgungsspannung nicht direkt in die 
Berechnung ein..
Also wenn die Drehzahl zu klein ist -> erhöhe PWM-Duty Cycle, Drehzahl 
zu groß -> vermindere PWM-Duty Cycle (optimal als PID-Regler 
implementiert)

Lg

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.