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....
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).
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).
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.
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.
@ 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.
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?
@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.
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?
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.
@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.