Hi,
ich wollte gerne 4 12 Volt Lampen mittels Hardware PWM vom µC regeln. (
4 Lampen Rot, Gruen, Blau, Weiss ) alle 12 V. Diese 4 Lampen sollen in
der Leuchtstaerke eingestellt werden koennen. Bis jetzt habe ich noch
nie die Hardware PWm Ausgaenge benutzt. Ich habe bis jetzt immer eine
Ein / Ausschaltverhaeltnis mittels Wait Befehl gemacht. Ich glaube mir
fehlt leider das fachliche Wissen um dieses Projekt zurealisieren. Ich
bin aber immer bereit was zulernen.
Eine 12 Volt Lampe kann ich doch nur einschalten (dann leuchtet sie zu
100 Prozent) oder ausschalten ( leuchtet garnicht). Hm. Wie wird dann
die Lampe auf z.B. 75 % der Leuchstaerke eingestellt?
Hat jemand Seiten zu diesem Thema oder mag mir es jemand erklaeren
Mfg
Dirk
Das Geheimis ist Pulsweitenmodulation auch kurz PWM genannt. Die
Pulsbreite wird verändert. Ist die Pb 100% Lampe max Licht.Pb 50% halbes
Licht. Pb 0% Lampe aus. Google mal nach PWM
Hi,
ok ich danke Dir. Hm, anscheinend habe dieses ja schon immer unbewusst
gemacht. Nur das ich die Pulsbreiten Modulation mittels Wait Zyklen
gemacht habe.
Sprich:
porta.0 auf High. 250ms warten. Porta.0 low. 10ms warten. porta.0 auf
High. 100ms warten. Porta.0 low. 5ms warten.
Mfg
Dirk
Hi,
so den PWM hab ich jetzt wohl Hardwaremaessig verstanden.
Hm, nen kleines Problem habe ich noch. Es sind keine 4 Lampen sondern 3
Lampen (R/G/B). Diese Lampen sind 12 V / 20 W Lampen. Sprich 1 Lampe
braucht bei max Leuchtung ca. 2 Ampere. 3 Lampen ca 6 Ampere. Hm, mein
Prob ist das ich nun nicht weiter weiss wie es Hardwaremaessig aussehen
muss.
Also vom PWM Pin (AVR) direkt auf ein Treiber oder wie muss ich das
verstehen?
Mfg
Dirk
Hi,
wie die Hardware auszusehen hat weiss ich nun auch. Ich wollte gerne ein
4433 fuer dieses Projekt nutzen. Da dieser aber ueber zuwenige PWM
Ausgaenge vefuegt. Wollte ich es ueber die normalen I/O Ports machen.
Eine Wertetabelle anlegen fuer 0% - 100 % Beleuchtung und die
Taktfrequenz mittels waitbefehlen oder hat jemand ein anderen Vorschlag
?
Mfg
Dirk
Hi,
hm ja mein Problem ist ich hab ja nur ein PWM Ausgang (OC1). Ich moechte
aber 3 Lampen steuern und alle drei voneinander unabhaengig.
wie oben gesagt wollte ich es jetzt mit den normalen I/O Pins machen
ueber eine Wertetabelle oder kann ich diesen Pin (Oc1) auch fuer mehrere
nutzen (alle drei Lampen)?
Mfg
Dirk
Hi Dirk,
den PWM kannst Du auch mit einem normalen Timer-Interrupt machen.
Berechne Dir die An-und die Auszeit.
Im IR fragst Du den Pin ab. Ist er 1, dann ausschalten und in <Auszeit>
den nächsten IR generieren. Bei 0 natürlich umgekehrt.
Zur Lampenansteuerung:
Die Helligkeit ist nicht linear zum PWM-Verhältnis! Wundere Dich also
nicht, wenn bei 50% PWM die Lampe nur glimmt. Am Besten eine Tabelle
anlegen, wo die PWM-Werte drinstehen.
Gruß, Stefan
Hi,
@Stefan: Jip bin jetzt schon angefangen es mittels Timerinterupt zu
machen. Was ich nicht verstehe wieso die Helligkeit nich linear zum PWM
Verhaeltnis ist. Kann mir jemand das erleutern?
MFg
Dirk
Hi Dirk,
weil die Lampen selbst nicht linear arbeiten. Bei Profidimmern kannst Du
z.B. verschiedene Lampenkennlinien einstellen. Allerdings sollte Dich
das für den Anfang nicht stören, wenn Dein Programm läuft, kannst Du
immer noch eine Kompensation einbauen.
Welche Stromversorgung hast Du denn? Einen einigermaßen geglätteten
Gleichstrom? Oder nur gleichgerichtete Halbwellen?
Stefan
Hi,
zur Zeit habe ich als 12V Versorgungsspannung ein Labornetzteil. Spaeter
sollte es ein einfaches Netzteil mit Ringkerntrafo,
Brueckengleichrichter und Elko`s werden.
Ich habe jetzt erstmal nur eine Leuchtdiode (12V) an meinem
SoftwarePWMpin angeschlossen. Spaeter kommt an diesen Pin ein Mos Fet
BUK100-50GL und an den Drain die Lampe. Als Schaltfrequenz benutze ich
zur Zeit ca 315 Hz.
Ich bin aber schon sehr stark am ueberlegen ob ich vielleicht doch AC
Lampen nehme (Halogenstrahler).
Um den Phasennullpunkt zufinden wollte ich dann ein Trafo und 2
Transitoren nehmen und auf einen der externen Interupts geben. Die Pwm
Ausgaenge gehen dann auf einen Optokopler und ein Triac.
Ich kann mich bloss noch nicht entscheiden ob die Lampen eben mit 12V Dc
arbeiten sollen oder mit Ac Spannung.
Mfg
Dirk
Hi Dirk,
wenn Du Phasenanschnitt machst, hast Du wahrscheinlich ein Problem:
An den Trias fällt etwas über 2V ab. Diese Spg musst Du mehr am Trafo
zur Verfügung haben, ein normaler Halogentrafo wird also etwas
schwächlich sein. Prinzipiell geht das aber, der Vorteil ist: Du hast
gleich ein ausgewachsenes Programm /Schaltung, das auch für "große"
Lampen taugt.
Das DC-Prinzip ist sicher einfacher zu machen, Du musst nicht auf den
Nullpunkt triggern etc. Hier entsteht aber das umgekehrte Problem, nach
der Gleichrichtung/Glättung hast Du wahrscheinlich eine zu hohe Spg ...
Solltest Du Phasenanschnitt machen, musst Du die unterschiedliche
Leistungsverteilung innerhalb der Halbwellen berücksichtigen. Die
Leistung steht nicht gleichmässig zur Verfügung, sondern asl
Sinus-Quadrat-Funktion. Kannst Du später mit Tabelle ausgleichen
(Tabellen sind meine Spezialität ;-))
Ich habe mal einen Dimmer mit dem 80C517 gemacht, wenn Du willst, kannst
Du die Unterlagen haben, ist aber alles in Assembler und den Schaltplan
finde ich wohl nicht mehr.
Stefan
Hi,
ich habe nach laengerem suchen eine Schaltung gefunden. Sogar fuer meine
Sprache (Bascom) ein Programm. Das Programm wollte ich aber nicht nutzen
, weil ich gerne die Timer usw kennenlernen wollte. Deine Tabelle wuerde
mich sehr stark interessieren. Ich glaube du hast mich aber entgueltig
ueberedet die Lampen ueber Wechselungspannug anzusteuern. Ich habe eben
gerade mal durchgerechnet was das Netzteil nachher kostet fuer
Gleichspannung und es wird leider nicht gerade billig. Es ist zwar wie
du sagst die bessere einfachere Methode aber leider auch die teurere.
Das ganze Ding wird nachher eine R/G/B Designer Lampe mit LCD Menu
(Encodersteuerung), FB und speicherbaren Helligkeit. Bis auf die
Hardware und die Ansteuerung der Lampen ist alles fertig. Ich muss noch
ein bischen auf die Teile warten.
@Stefan: Poste doch bitte mal deine Wertetabelle sowie deine
Schaltfrequez das waere echt hilfreich.
Mfg Dirk
LCD Menu, Fb Steuerung und Speicherung
Hi Dirk,
also ich hab mir das Projekt nochmal angeschaut:
meine Tabelle wird per Makro generiert, ich habe also nicht die
absoluten Zahlen. Schau einfach mal in kurve.asm rein.
In meiner Tabelle stehen die Zeiten (Einheit: Timerticks), die Du nach
dem Nulldurchgang mit dem Einschalten warten musst.
Das Makro macht im Prinzip folgendes:
Es erstellt eine Tabelle mit 256 16-Bit-Werten, die die Einschaltzeiten
darstellen. Das Makro übersetzt würde folgendes ergeben:
tab dw 0 ;Lampe ganz an
dw 60 ;255/256 Phasenanscnitt
dw 120 ;16 mal wird 60 aufaddiert
...
dw 900 ;das ist der 16. Wert
dw 950 ;jetzt wird 16 mal 50 aufaddiert
dw 950
dw 1400
dw 1441 ;jetzt 16* 41 ...
usw.
dw 6642 ;letzter Wert in Tabelle: 1/256 Phasenanschnitt
; dw 6666 ;Halbwelle zu Ende
Ganz richtig habe ich es jetzt nicht geschrieben; es werden eigendlich 2
Tabellen mit jeweils 8-Bit-Werten gemacht, weil der 80517 dann einfacher
auf die Zahlen zugreifen konnte.
Wenn Du 255/256 Teile einschalten willst, kommt der IR nach 60
Timerticks (Wert 1 in Tabelle).
Bei 254/256 nach 120 Ticks etc.
6666 Timerticks haben bei mir einer Halbwelle entsprochen, also 10ms =
100Hz (2 Halbwellen a 50Hz). Das ist auch meine Schaltfrequenz, klar,
die gibt ja das Stromnetz vor.
Hoffe das war nicht allzu verwirrend.
Gruß Stefan
Hi Dirk,
Ich habe so etwas ähnliches als Designlampe bereits realisiert und bin
nun an einem Punkt an dem ich es größer machen will. D.h.:
Ich stelle mir ein Layout mit mehreren Basismodulen die sich über i2c
unterhalten vor. Soetwas ähnliches gibt es bereits fertig zu kaufen aber
schweineteuer. Wenn Interesse besteht kannst du dich ja mal hier und
bitte per Mail melden. Dann maile ich dir mal ein paar Bilder.
Grüße
Michael
PS: Da mir hier mit Ideen sehr gut geholfen wurde werde ich das ganze
mal aufbereiten und für die Projekte zur Verfügung stellen.
Habt Ihr schonmal überlegt, statt Halogenlampen LED´s zu verwenden?
Gerade bei farbigen Lampen haben LEDs Wirkungsgrad-Vorteile, weil sie
keinen Filter benötigen. In Ampeln wird das z.B. mehr und mehr gemacht.
Der Preis ist sicher höher, dafür gehen die LEDs nie kaputt, der Trafo
wird sicher billiger (weniger Leistung) ...
Ich habe hier einen Link, wo diverse LED-Seiten zusammengefasst sind:
http://members.misty.com/don/ledx.html
Viele Grüße, Stefan
Hi,
@Michael: Ich melde mich heute abend per Email wenn ich von der Arbeit
zu Hause bin.
@Stefan: Super Link. Die Lampen (Led`s) sind sehr interessant.
Vorallendingen man muss keine 100 Euro fuer Das Netzteil ausgeben... Hm,
das was die LED`s als Leistung verbrauchen ist ein Witz und man kann
wieder Gleichspannung nehmen.
Dirk