4-fach Dimmer 2Stromstoßschalter Schaltuhr

OP #7036867
Lesenswert?

Hallo liebe Bastelfreunde, vor einiger Zeit habe ich einen 4-fach Dimmer 
gebaut, den ich noch mal erweitert habe. Ich veröffentliche diesen in 
der Hoffnung, das jemand sowas gebrauchen kann und nachbauen möchte.
Der Dimmer hat 4 Hardware-PWM Kanäle und 2 Stromstoßschalter sowie eine 
Zeitschaltuhr und ist mit 6 Tasten bedien bar. Die Schaltuhr kann über 
den I2C Bus programmiert werden. Der ATTiny4313 arbeitet als I2C-Slave.
Gruß Carsten
Angehängte Dateien:
#7037390
Lesenswert?

Gab es irgendwo Optokoppler im Angebot?

Für die OK an den Eingängen hast Du „Minus“ auf die Stiftleiste geführt. 
Wozu? Schalten kannst Du die OK damit nicht, denn die benötigen Plus. 
Wobei es dann auch keine galvanische Trennung geben würde. Eine 
Verbindung mit GND zur Stufe davor macht keinen Sinn, denn dann wäre die 
galvanische Trennung, für die OK u.a. eingesetzt werden, auch nicht 
vorhanden.
OP #7037531
Lesenswert?

Hallo, zum einen trennen die OK am Eingang die Masse von den Schaltern 
zum anderen wandeln sie den Eingangspegel von 24V in 5V. Die Widerstände 
R1..R6, R8und R9 kannst Du auch weglassen, die sind zum Testen gedacht. 
Dann kann man gefahrlos PD auf Ausgang schalten. Natürlich kannst Du die 
Schalter auch direkt an den ATTiny hängen. Diese Schaltung läuft bei mir 
seit ca. 2014 völlig problemlos ohne Ausfälle. Nur das Spielen im 
Betrieb am I2C-Bus hat mal Aufhänger gebracht. Die Ausgangsseite dient 
auch zur Pegelwandlung und kann natürlich weggelassen werden. Jeder möge 
das so machen, wie er es gerade braucht.
Gruß Carsten
OP #7038300
Lesenswert?

Hallo Helmut,
die LUD12 hab ich auch mal genommen. Die sollten eigentlich gehen 
X1=Plus ca.10-20V 100Hz X2=minus. Der Oszillator muss 6MHz haben und 
eine Synchronisation mit 50 Hz brauchst Du auch. Nur zwei von den vier 
Dimmkanälen sind für 50 Hz geeignet. Lässt sich sicherlich umschreiben.

Ich habe den Dimmer mit einem Pollin Net-IO angesprochen. Der Dimmer hat 
die I2C Adresse 174.
Das Programm dafür ist noch nicht aufgeräumt. Schick mir einfach eine 
PN, wenn Du es trotzdem haben möchtest.

Gruß Carsten
Angehängte Dateien:
Gast #7043200
Lesenswert?

Hi,

bei Interesse könnte ich diese Hardware in mein Projekt toiswitch 
(https://toiswitch.de) mit einbinden.
Dann wäre eine Steuerung über WLAN via web/mqtt möglich.

Allerdings läuft meine Software auf einem esp8266. Daher müssten wir die 
Kommunikation über i2c realisieren.

Besteht da Interesse?

Gruss tobi
OP #7045611
Lesenswert?

Hallo Tobi, wenn Du noch ein altes Atmel-Evaluations-Board von Pollin 
hast, kannst Du das nehmen. Um nur die I2C Schnittstelle zu testen, 
kannst Du Die Treiber
http://www.avrfreaks.net/projects/usi-i2c-slave-attiny-cpus
nehmen. Die habe ich auch genutzt und werden vermutlich auf allen alten 
ATTinys mit USI laufen. So ein kleiner 8- Beiner wie z.B. der ATTiny85 
ist ja auch schnell auf Lochraster oder „fliegend“ verdrahtet.
In ETH_M1284p_Dimmer.zip findest Du die Datei httpd.c , wo die I2C- 
Schnittstellen bedient werden. Wie deine C++ Befehle genau aussehen, 
hängt von Deinen Treibern ab. Zum Bedienen des Dimmers werden nie zwei 
aufeinander folgende Zeichen benötigt, obwohl es sinnvoll ist, z.B. für 
die Zeiten mehrere Byte hintereinander zu senden.
ret = i2c_start(var_array[31]+I2C_WRITE);
if ( ret )
{
}else
{
  if (zeitw == 0) {zeitw = 7;}  //Sonntag soll 7 sein und nicht 0
  i2c_start_wait(var_array[31]+I2C_WRITE);//set device address and write
  i2c_write(20);        // erste Schreibadresse
  i2c_write(zeitm);   // Minute
  i2c_write(zeith);     // Stunde
  i2c_write(zeitt);     // Tag
  i2c_write(zeitd);    //Monat
  i2c_write(zeitw);     //Wochentag
  i2c_stop();
}
Mit dem Status-Byte kannst Du einiges einstellen oder ändern. Es folgt 
dem Adressbyte. In der Datei SRAM.pdf findest Du die Speicherbelegung. 
Du kannst jedes Byte direkt adressieren und lesen/schreiben.
Bei Fragen gerne melden.
Gruß Carsten
Gast #7048835
Lesenswert?

Hi Carsten-Peter,

ich habe leider kein atmel eval board zur Verfügung.

Vielleicht haben wir uns auch missverstanden.
Ich selber habe keine konkrete Anwendung für das Projekt. Mein Angebot 
war, das in mein ESP basiertes Projekt toiswitch zu integrieren, um es 
so per web/mqtt via WLAN steuerbar zu machen, falls Interesse besteht.
Dann bräuchte ich aber ein eval board und alle i2c Kommandos 
dokumentiert.

Gruss tobi
OP #7049008
Lesenswert?

Hallo Tobi, einen zweiten Dimmer habe ich leider nicht. Ohne Dimmer 
dürfte es schwierig werden, deine SW zum Laufen zu bekommen, weil Du 
nichts testen kannst. Du müsstest zuerst die Bibliothek für der I2C 
einbinden. Da findest Du auch die genauen I2C- Befehle. Um den Dimmer zu 
bedienen, schreibst Du zuerst entweder  zum Schreiben
  ret = i2c_start(174+I2C_WRITE);
oder zum Lesen
  ret = i2c_start(174+I2C_READ);
Dann schaust Du, ob der Bus frei ist bzw. der Dimmer angesprochen wird.
  if ( ret ){}
  else
dann startest Du den Schreib oder Lesevorgang mit
  i2c_start_wait(174+I2C_WRITE);
oder mit
  i2c_start_wait(174+I2C_READ);
je nachdem, ob Du schreiben oder lesen möchtest.
Dann suchst Du die Speicherzelle, die Du lesen oder ändern möchtest. 
Z.B. 5 für soll3.
  i2c_write(5);// Adresse Helligkeitswert das 3. Dimmers
Wenn Du da die Zahl 50 reinschreibst mit
  i2c_write(50);   // Helligkeit
wird sich die Helligkeit langsam auf 50% einstellen.
mit
  i2cwert = (i2c_readNak());// read one byte and finish
liest Du ein Byte, wobei Du das vorher mit unsigned int i2cwert; 
festlegen musst.
Dann stoppst Du den Vorgang mit
  i2c_stop(); // Stop i2c

Spezielle Befehle gibt es nicht. Du machst alles über den Speicher. Der 
ist ganz oben in der Datei SRAM.pdf beschrieben. Die roten Zahlen sind 
die Adressen im SRAM. Ab Adresse 29 fangen die Schaltzeiten an, also 6 
Byte mal 32 Schaltzeiten = 192 Byte. Ich komme mit Assembler deutlich 
besser zurecht, als mit C++. Bringt mir auch viel mehr Spaß.

Wenn jemand Interesse an den LED-Treibern hat, würde ich das 
dokumentieren und veröffentlichen.

Viele Grüße
 Carsten
Angehängte Dateien:
OP #7085924
Lesenswert?

Hallo Bastler, hier noch eine einfache Zeichnung des Dimmers, falls das 
ganze Gedöns nicht gebraucht wird oder der Dimmer zum Testen auf 
Lochraster oder erstmal „fliegend“ aufgebaut werden soll. Der interne 
8Mhz Quarz kann natürlich auch genutzt werden. Die Fuses müssen 
natürlich entsprechend gesetzt werden. Wenn alles funktioniert, kann 
man, wenn gebraucht, mit dem I2C -Zugang spielen. Die 4K7 Widerstände 
von + nach SCL und SDA müssen aber immer eingebaut werden.
Gruß Carsten
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren