Forum: Analoge Elektronik und Schaltungstechnik Spannungsstabilisierung an PWM


von Martin Beyer (Gast)


Angehängte Dateien:

Lesenswert?

Moin,

ich hab mir aus ein paar 5W 12V Glühbirnen (ca. 100x) und einem Arduino 
eine lustige Leuchtschrift gebaut. Das ganze ist eine Art Leucht-Deko 
für Partys.

Es sind 5 Buchstaben, á ca. 20-25 Lampen. Jeder Buchstabe kann über 
einen Power-MOSFET gedimmt werden. Alle Lampen eines Buchstaben sind 
parallel geschalten.

Die Lampen leuchten nie in voller Helligkeit, aber trotzdem werden pro 
Buchstabe so in etwa 3A fällig.

Jetzt hab ich das Problem, das, wenn alle Buchstaben leuchten (Dutycycle 
ca. 50-70%), mein Schaltnetztel auf die PWM-Steuerung nicht ganz klar 
kommt. Es fiept und es kommt zu niederfrequenten Spannungsschwankungen.

Ich vermute mit einer geeigneten Stabilisierung kann man das Problem in 
den Griff bekommen.

Aber wie ist das zu Dimensionieren? Der Arduino taktet die PWMs mit ca. 
0,5kHz bzw 1kHz.

Ich habe wegen der hohen Stromstärke bissl Bammel....

von Joe F. (easylife)


Lesenswert?

Gehen denn immer alle Lampen exakt gleichzeitig an und aus?
Wenn ja: programmiere es geschickter. Wenn die PWM Flanken versetzt 
sind, sind die Lastschwankungen deutlich geringer (in deinem Fall auf 
20% reduziert).

: Bearbeitet durch User
von Lurchi (Gast)


Lesenswert?

Die Frequenz ist für ein Schaltnetzteil schon nicht so einfach. Das ist 
für die Regelschleife ggf. schon recht schnell, aber für eine Filterung 
per LC filter eine doch recht niedrige Frequenz.

Im Idealfall sollte man dafür sorgen das die PWM Signale zeitlich 
verteilt sind, also so dass nicht alle gleichzeitig einschalten oder 
ausschalten, sondern schön verteilt und ggf. auch so das einer 
einschaltet wenn der andere Ausschaltet. Zumindest ein paar Kanäle 
könnte man auch per Hardware PWM machen und so die Frequenz etwas höher 
wählen können und auch für wenigstens paarweisen Versatz sorgen können 
(ein Kanal normales PWM und der andere invertiertes PWM).

Filtern ginge halt per LC Filter (etwa 10 mH und 50 mF). Die 
Induktivität wird aber leider recht groß von der Bauform, auch mit 
Eisenkern (mit Luftspalt).

von Joe F. (easylife)


Lesenswert?

Vielleicht ist es aber auch nur so, dass die zwei Ä-Punkte bei FANCY das 
Netzteil quälen...

: Bearbeitet durch User
von Wolfgang (Gast)


Lesenswert?

Martin Beyer schrieb:
> Alle Lampen eines Buchstaben sind parallel geschalten.
Das ist dein Problem. Wenn du jeweils zwei in Serie schaltest, wäre der 
Gesamtstrom halbiert.

von m.n. (Gast)


Lesenswert?

Unter Umständen kannst Du Deine PWM-Kanäle phasenverschoben zueinander 
betreiben: unterschiedliche Startwerte vorgeben.
Wenn Du ein anderes PWM-Verfahren verwendest, ist die PWM-Frequenz 
deutlich höher. Sofern noch notwendig, läßt sich die Versorgungsspannung 
einfacher glätten.
Ein Beispiel für 64 Kanäle mit Ausgabe auf Schieberegistern: 
http://mino-elektronik.de/AVR_PWM_64/AVR_PWM_64.htm

Die Anzahl der Kanäle zu erhöhen, dürfte kein Problem sein. Alternativ 
kann man auch einen ATmega48 als 2. Prozessor einsetzen, der nur für die 
PWM-Erzeugung zuständig ist.

von Falk B. (falk)


Lesenswert?

@ Martin Beyer (Gast)

>ich hab mir aus ein paar 5W 12V Glühbirnen (ca. 100x)

Macht in Summe 500W, bei 12V sind das satte 41A!!!

>und einem Arduino
>eine lustige Leuchtschrift gebaut. Das ganze ist eine Art Leucht-Deko
>für Partys.

>Die Lampen leuchten nie in voller Helligkeit, aber trotzdem werden pro
>Buchstabe so in etwa 3A fällig.

Macht immer noch 15A.

>Jetzt hab ich das Problem, das, wenn alle Buchstaben leuchten (Dutycycle
>ca. 50-70%), mein Schaltnetztel auf die PWM-Steuerung nicht ganz klar
>kommt. Es fiept und es kommt zu niederfrequenten Spannungsschwankungen.

Was für ein Netzteil ist es? Wieviel Ausgangsstrom kann es liefern?

>Aber wie ist das zu Dimensionieren? Der Arduino taktet die PWMs mit ca.
>0,5kHz bzw 1kHz.

Die kann man vermindern, für Glühlampen braucht man keine 500Hz. Setz 
den Prescaler die die PWM manuell runter, nachdem du die PWM mit 
analogWrite() aktiviert hast. Dazu muss man direkt auf das passende 
Register zugreifen. Normale Glühlampen werden bei Wechselstrom mit 100Hz 
gepulst und dabei flimmern sie auch nicht. Bei PWM braucht man also auch 
keine höhere Frequenz.

>Ich habe wegen der hohen Stromstärke bissl Bammel....

Keine Angst, es wird kein scharzes Loch entstehen, wenn es knallt ;-)

Man kann als erste Gegenmaßnahme ein größeren Elko ans Netzteil 
anschließen, um die Strompulse zu puffern. Fangen wir mal mit 1000uF an, 
dann vielleicht 4700 und 10000uF. Das kann man aber nicht beliebig 
steigern, irgendwann wird das Netzteil sauer und fängt an zu schwingen. 
Wenn das nicht reicht kann man eine Glättungsdrossel in Reihe schalten, 
die aber die vollen 15A aushalten muss. 15A/100uH sind schon etwas 
größer, damit kann man aber anfangen. Muss man mal ausprobieren.

von Martin Beyer (Gast)


Lesenswert?

Danke erst mal für die Hinweise. Das Netzteil liefert 17A an 12V. 
Dadurch, dass die Buchstaben auch blinken und faden, wird selten mehr 
als 8A gezogen (was ja immernoch ganz schön happig ist).

Ich werde mal mit der Glättung anfangen und parallel schauen, was ich 
beim pwm Prozess beim arduino machen kann.
Aber auf den ersten Blick, kann man  die Phasen nicht einzeln 
manipulieren, zumindest solange man bei "analogwrite" - Befehl bleibt. 
Man könnte jetzt anfangen den PWM Prozess selber mit timingbefehlen zu 
schreiben, aber ich glaube, das führt zu weit.

Aber : wenn ich jetzt tatsächlich die PWM Frequenz runter setze, wird 
das dann ich noch schwerer zu filtern und ich brauche noch größere 
Elkos?

von Falk B. (falk)


Lesenswert?

@Martin Beyer (Gast)

>Aber : wenn ich jetzt tatsächlich die PWM Frequenz runter setze, wird
>das dann ich noch schwerer zu filtern und ich brauche noch größere
>Elkos?

Jain. Bei der kleineren PWM-Frequenz von vielleicht 100 Hz "sieht" das 
Netzteil halt Lastsprünge mit 100 Hz, die es aber ausreglen kann. Bei 1 
kHz kommt es mit dem Ausreglen nicht mehr nach.

von m.n. (Gast)


Lesenswert?

Martin Beyer schrieb:
> Man könnte jetzt anfangen den PWM Prozess selber mit timingbefehlen zu
> schreiben, aber ich glaube, das führt zu weit.

Das ist einfacher, als den Kopf in den Sand zu stecken.
Wie sieht denn Deine jetzige Ansteuerung (Hardware) aus?

von Wolfgang (Gast)


Lesenswert?

Falk B. schrieb:
> Man kann als erste Gegenmaßnahme ein größeren Elko ans Netzteil
> anschließen, um die Strompulse zu puffern. Fangen wir mal mit 1000uF an,
> dann vielleicht 4700 und 10000uF. Das kann man aber nicht beliebig
> steigern, irgendwann wird das Netzteil sauer und fängt an zu schwingen.
Oder es startet erst gar nicht, je nach Neztteilaufbau ...

> Wenn das nicht reicht kann man eine Glättungsdrossel in Reihe schalten,
> die aber die vollen 15A aushalten muss. 15A/100uH sind schon etwas
> größer, damit kann man aber anfangen. Muss man mal ausprobieren.

Ein 100..1000Hz PWM Signal wird sich von einer 100µH-Drossel nicht 
sonderlich beeindrucken lassen.

von Martin Beyer (Gast)


Lesenswert?

@m.n.: Die jetzige Hardwareansteuerung besteht aus einem Arduino, dessen 
PWM-fähige Digitalpins auf je 5 einzelne MOSFETS gehen.
Die Softwareansteuerung wird über analogwrite(); gelöst.

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.