Forum: Mikrocontroller und Digitale Elektronik 4 Lampen dimmen 12 Volt


von Dirk (Gast)


Lesenswert?

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

von Dirk (Gast)


Lesenswert?

Hi,

keiner eine Idee und ein Link?

von Frankl (Gast)


Lesenswert?

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

von Dirk (Gast)


Lesenswert?

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

von Dirk (Gast)


Lesenswert?

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

von Dirk (Gast)


Lesenswert?

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

von Frankl (Gast)


Lesenswert?

Schau mal unter Programme Servo Steuerung. Die arbeiten auch mit PWM.

von Dirk (Gast)


Lesenswert?

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

von mmerten (Gast)


Lesenswert?

nö.
entweder software pwm oder mit MEGA128 in hardware, der hat dovon bis zu 
6 stück

von Dirk (Gast)


Lesenswert?

Hi,

ich sag danke dann werde ich eben ein Software PWM schreiben muessen 
......

Mfg

Dirk

von Michael (Gast)


Lesenswert?

Dann sieh Dich vielleicht auch noch hier um: 
http://www.mikrocontroller.net/forum/read-4-10530.html#10530

von Stefan (Gast)


Lesenswert?

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

von Frankl (Gast)


Lesenswert?

Ich schrieb doch unter Codesammlung Dateianhang: Servo1.asm (3.9kB, 490 
Downloads) das ist auch PWM mit mehreren Kanälen.

von Dirk (Gast)


Lesenswert?

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

von Stefan (Gast)


Lesenswert?

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

von Dirk (Gast)


Lesenswert?

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

von Stefan (Gast)


Lesenswert?

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

von Dirk (Gast)


Lesenswert?

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

von Dirk (Gast)


Angehängte Dateien:

Lesenswert?

ups,

im Angang ist das Schaltbild

von Stefan (Gast)


Angehängte Dateien:

Lesenswert?

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

von Dirk (Gast)


Lesenswert?

Hi,

das mit den 100 Hz hatte ich nicht bedacht. Ich danke fuer deine Hilfe 
so komme ich hoffentlich schnell zum Erfolg.




Mfg Dirk

von Michael (Gast)


Lesenswert?

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.

von Stefan (Gast)


Lesenswert?

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

von Dirk (Gast)


Lesenswert?

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

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.