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
nö. entweder software pwm oder mit MEGA128 in hardware, der hat dovon bis zu 6 stück
Hi, ich sag danke dann werde ich eben ein Software PWM schreiben muessen ...... Mfg Dirk
Dann sieh Dich vielleicht auch noch hier um: http://www.mikrocontroller.net/forum/read-4-10530.html#10530
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
Ich schrieb doch unter Codesammlung Dateianhang: Servo1.asm (3.9kB, 490 Downloads) das ist auch PWM mit mehreren Kanälen.
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, das mit den 100 Hz hatte ich nicht bedacht. Ich danke fuer deine Hilfe so komme ich hoffentlich schnell zum Erfolg. Mfg Dirk
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.