Giter Site home page Giter Site logo

hm-lc-dim1pwm-linearpwm's Introduction

HM-LC-Dim1PWM-LinearPWM

HomeMatic Aktor mit linearer PWM Ausgabe über Optokoppler zum Beschalten von PWM-Dim Eingängen.

Es gibt eine ganze Reihe Meanwell-Netzteile mit PWM Eingang zum Dimmen welche über diese Schaltung angesteuert und in Homematic eingebunden werden können.

HM-LC-Dim1PWM-LinearPWM

Es ist darauf zu achten, dass man ein Netzteil mit 3 in 1 dimming und dimm-to-off verwendet:

  • 3 in 1: Dimmung über PWM, 0-10V und Potentiometer.
  • dimm-to-off: Das Netzteil kann über den DIM-Eingang auch komplett ausgeschaltet werden.

Getestet wurde die Schaltung mit einem Meanwell LCM-40 Netzteil und 30W Konstantstrom-LED-Panel. Das LCM-40 bietet zusätzlich einen 12V FAN Anschluss worüber den die Schaltung mit Strom versorgt werden kann.

Hardware

  • Arduino Pro Mini 3.3V
  • CC1101 Funkmodul
  • C1: Elko 2200µF (optional)
  • SMD Bauteile Größe 0805
    • C2: Kerko 100nF
    • C3: Kerko 100nF (für L78L05)
    • R1: 1,5kΩ
    • R2, R3: 280Ω
    • R4: 10kΩ
  • D1: SMD LED Größe 1206
  • SW1: SMD Taster 3x6x2,5mm
  • U1: L78L05 Festspannungsregler Größe TO92 (optional)
  • U2: Optokoppler PC817
  • U3: DS18B20 Temperatursensor (optional)

PCB Top

PCB Bottom

Sketch

Ein Beispiel-Sketch ist im Repo hinterlegt.

Interssant ist die Instanziierung der PWM-Class:

DimmerControl<HalType,DimmerType,PWM8<200,true,PWM_INVERSE> > control(sdev);

Wobei die Parameter des PWM8-Templates:

  • steps: Anzahl Dimmer-Schritte
  • linear: Flag um eine lineare Dimmerkurve zu erzeugen
  • inverse: Dimmerkurve invertieren (nötig da Optokoppler)

Es empfiehlt sich die Brown-Out-Detection des AVR zu deaktivieren um robuster gegen Spannungseinbrüche zu sein.

Case:

Changelog

Version 1.2

  • PullUp Widerstand R4 eingefügt

Version 1.1

  • Markierungen ergänzt

Lizenz

CreativeCommons BY-NC-SA 4.0

hm-lc-dim1pwm-linearpwm's People

Contributors

psi-4ward avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

hm-lc-dim1pwm-linearpwm's Issues

Coding Problems

Hallo psi,

ich bekomme den Beispiel-Sketch leider nicht kompiliert. Ich benutze einen Arduino Pro Mini 3,3V, 8MHz und die Arduino Entwicklungsumgebung 1.8.12. Ich habe die Bibliothek Asksinpp-V4 und alternativ den Master-Branch probiert. Leider bricht die Kompilierung immer mit folgenden Fehlern ab:
"
In file included from C:\Mein_Verzeichnis\Documents\Arduino\libraries\AskSinPP-master/Dimmer.h:11:0,

             from C:\Mein_Verzeichnis\AppData\Local\Temp\arduino_modified_sketch_568111\HM-LC-Dim1PWM-CV.ino:14:

C:\Mein_Verzeichnis\Documents\Arduino\libraries\AskSinPP-master/actors/PWM.h: In member function 'void as::PWM8<STEPS, LINEAR, INVERSE>::sendData(byte, byte)':

C:\Mein_Verzeichnis\Documents\Arduino\libraries\AskSinPP-master/actors/PWM.h:57:28: error: 'CHIP_ADDR' was not declared in this scope

 Wire.beginTransmission(CHIP_ADDR >> 1);

                        ^~~~~~~~~

C:\Mein_Verzeichnis\Documents\Arduino\libraries\AskSinPP-master/actors/PWM.h:57:28: note: suggested alternative: '_SFR_ADDR'

 Wire.beginTransmission(CHIP_ADDR >> 1);

                        ^~~~~~~~~

                        _SFR_ADDR

C:\Mein_Verzeichnis\Documents\Arduino\libraries\AskSinPP-master/actors/PWM.h: In member function 'void as::PWM99<STEPS, LINEAR, INVERSE>::set(uint8_t)':

C:\Mein_Verzeichnis\Documents\Arduino\libraries\AskSinPP-master/actors/PWM.h:107:11: error: 'wiper0writeAddr' was not declared in this scope

sendData(wiper0writeAddr, brightness);

       ^~~~~~~~~~~~~~~

exit status 1
Fehler beim Kompilieren für das Board Arduino Pro or Pro Mini.
"

Hast Du einen Tipp für mich?

Besten Dank für die Unterstützung,
mwpost

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.