16-Bit-PWM-Dimmer für 24V/3,5A-LED-Panels

Gast #2816906
Lesenswert?
• ▲
▼
Nichts wirklich weltbewegendes, sondern nur der x-te PWM-Dimmer für 
LED-Beleuchtungen - aber als vollständig private Entwicklung frei von 
allen Rechten, und so nach Belieben nachzubauen zu verwenden und 
erweiteren.

Die Eckdaten:

- Zwei 16-Bit-PWM-Kanäle, für jeweils 24 V und 3,5 A.
- PWM-Frequenz: ca. 305 Hz
- Schaltverluste pro Kanal unter 0,25 W
- Ein Schaltausgang für ein dem Panel-Netzgerät vorgeschaltetes SSR
- Steuerung wahlweise per 0-5V-Poti, per Drehencoder oder Tasten
- Zusätzlicher Eingang zum Einspeisen eines FS20-Fernsteuersignales
- Prozssor: ATTINY-44/20MHz
- Rund 1000 Zeilen GCC-Code, unter Eclipse/GCC 4.3.3
- Codegröße ca. 1750 bis 3300 Byte je nach aktivierter Optionen

Die Platinen liegen momentan noch im Ätzwerk - daher bleibt es hier bei 
der Eagle-3D-Ansicht.

Der Prototyp funktioniert mit allen Eingabegeräten inklusive des 
FS20-Funkempfängers und ungeachtet eines wilden frei verdrahteten 
Aufbaus problemlos.

Bitte beachten: Für andere Anwendungen als meine könnte es erforderlich 
sein, bei der Eingangsschutzbeschaltung des AVR (deutlich) mehr Aufwand 
zu betreiben!

Der größten Teil der Softwareentwicklung erfolgte noch vor dem Aufbau 
des Prototypen, unterstützt vom Proteus/ISIS-Simulator. Damit ist es 
möglich, die wesentlichen Teile der Hard- und Software komplett am PC zu 
simulieren. Nicht direkt im Simulator vorhandenen Ein-/Ausgabe-Devices 
gilt es dabei jedoch passend zu ersetzen - bspw. durch Voltmeter zur 
PWM-Anzeige, einem mit FS20-Signalen gefütterten Pattern-Generator, oder 
Up/Down-Zählern als Ersatz für einen im Simulator zwar vorhandenen, aber 
fehlerhaften Rotary-Encoder.

Ach ja - als Rotary-Encoder ich habe im realen Versuchsaufbau einen 
Alps-EC11 mit stabilen Rastpunkten verwendet. Beim Einsatz anderer 
Drehgeber muß der Code ggf. angepasst werden, inklusive der 
Beschleunigungs-Konstanten für eine passable Haptik.

Restlos gefallen hat mir auch noch nicht das Hoch-/Herunterlaufen der 
DIM-Werte über den Autorepeat der FS20-Fernbedienung. Als erste Maßnahme 
habe ich dazu die FS20-DIM-Steps auf +/-3 festelegt (ab Zeile 844 in 
"main.c"). Hier wäre aber wohl eine dynamische Beschleunigung sinnvoller 
(wie sie bereits für den Rotray-Encoder und die lokalen-Up/Down-Tasten 
implementiert ist).

Im Archiv sind die Software, die Eagle-PCB-Daten und eine 
Kurzbeschreibung zum Anschließen der Bedienungselemente, Netzteile und 
der Panels, sowie zur Konfigurieration des Dimmers zu finden.
Angehängte Dateien:

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.