stand der Technik bei Treppenhausbeleuchtung ist geklärt: Dali.
hier gabs infos zu Dali:
Beitrag "DALI Interface für AVR und PIC"Beitrag "DALI Bus für Dummies"
Ziel ist jetzt erstmal per Dali eine Leuchtstoffröhre zu schalten.
Gekauft habe ich Dali-Vorschaltgeräte. Verlegt wird 5xNym davon 2
Leitungen für Dali, 3 für den Netzstrom. Da die Vorschaltgeräte per Dali
funktionieren, möchte ich diesen bus übernehmen und daran meine
Steuerung hängen.
Bei der Suche nach fertigen Bausteinen bin ich bei led-warrior gelandet.
Konzept bis jetzt:
24V-Trafo => Strombegrenzung/warrior-11 => warrior-14/2 als Knoten und
Stromversorgung. Daran ein m328-nano der Befehle auswertet und als
Master per i2c Anweisungen auf den Bus weitergibt.
Hat jemand ähnliches mit warrior schon gemacht? Für tips und Anregungen
bin ich wie immer dankbar.
chris schrieb:> oder Eltako Baureihe 14>> FAM 14 Grundmodul> FDG 14 Dali-Gateway> FTS 14 EM Anschluß bis zu 10 Taster
85,00€
77,00€
45,00€
Eine Frage der Kosten.
Ich brauche ca. 50m Leitung, ca. 15 Taster, ca. 10 Pir, ca. 10 Leuchten
und eine sinnvolle Steuerung des Ganzen.
Zur Zeit habe ich einen m328 an einem LED-Warrior 14-2 Modul, der mir
eine Leuchtstofflampe schaltet.das Modul -
http://shop.codemercs.com/de/led-warrior14-02-modul - kostet 22€ unhd
hat5 den Vorteil, dass ich die Steuerung per i2c relativ einfach selbst
machen kann.
Eltako verwendet den RS485-Bus. Das ist was anderes als der normale 24V
basierte Dali-Bus? Wo sind die Vorteile?
eltako ist fix und fertig. ohne arbeitszeit einsatzbereit und das
wirklich günstig.
dali und rs485 sind etwas komplett anderes. du baust das eltako system
an einem zentralen standort auf und von da per dali an die leuchten.
fertig.
TestX schrieb:> eltako ist fix und fertig.
ich will, dass das System das Betreten eines Flurbereiches erfasst, die
Bewegungsrichtung feststellt und dann die angrenzenden Bereiche - je
nach Bewegungsrichtung - ausleuchtet. Kann Eltako das?
Dali ist im Prinzip Onewire: Zwei Leitungen Gnd + 16V. D.h. ein 5x1,6
Nym Kabel reicht für die Installation - 3Leitungen für den
240V-Anschluss, 2Leitungen für 5V Stromversorgung und Datenübertragung.
Wie ist das bei Eltako?
kann jetzt per ir/m328/warrior14 eine Leuchtstoffröhre von 20 bis 80
watt dimmen.
Hat jemand eine Softwareempfehlung für die Übertragung von z.B.
Kurzadressen in den Dali-slave?
DALI ist sehr cool, aber leidet mal wieder leider darunter, dass die
beteiligten Parteien den Hals nicht voll genug bekommen können und es
daher nahezu unmöglich ist, vernünftig in Eigenregie DALI-Geräte mit
vielen Features zu bauen. Die Sachen sind alle standardisiert und über
viele Dokumente verteilt, die ihrerseits jeweils wieder eine Menge Geld
kosten.
DALI-Sensoren besitze ich nicht, weil mir das
Protokoll-Reverse-Engineering zu blöd ist. Ich bin mir nichtmal sicher,
ob der LED-Warrior Sensoren erfassen kann, da diese sehr lange
Nachrichten senden sollten. Der LED-Warrior kann aber zumindest
Nachrichten auf den DALI-Bus schicken.
Die DALI-Norm ist mittlerweile IEC 62386. Früher war DALI als Anhang in
der Norm zu Leuchtstofflampen-Vorschaltgeräten beschrieben, das ist dann
IEC 60929.
Jedenfalls sind die grundlegenden Dinge (Adress-Suche/Zuweisung,
Gruppen, Geschwindigkeiten, Helligkeitssteuerung, ...) bereits in den
frühen Versionen der Normen beschrieben. Das kann man dann einfach
relativ straight-forward implementieren. Ich habe jetzt keine
Implementierung für den AVR, mir aber mal eine für den Raspberry Pi mit
dem LED-Warrior geschrieben und das ist halt wirklich aus den
entsprechenden Unterlagen, die man dafür erhält, nachimplementiert. Das
kriegst Du sicher auch hin. Wenn du noch Fragen hast, melde dich
einfach.
Lästig an DALI ist die Spannungsversorgung. Die Spannung sollte eine
gewisse Höhe haben und dauerhaft kurzschlussfest sein, da die
Kommunikation über Zusammenschalten der Leitungen stattfindet. Außerdem
müssen die Optokoppler in den Vorschaltgeräten versorgt werden. Es lohnt
sich also, eine Stromquelle zu bauen, die ein paar Milliampere liefern
kann und nicht ewig braucht, um den Strom zu regeln. Es gibt eine
Application Note von Microchip (AN1465), die verschiedene
DALI-Schaltungen beschreibt.
someone schrieb:>
Vielen Dank für deinen Beitrag. Habe jetzt die DIN runtergeladen.
Auszug:
Command 128: YAAA AAA1 1000 0000 "STORE DTR AS SHORT ADDRESS"
Save the value in the DTR as new short address.
Es gibt ein DTR- Data Transfer Register. Vermutlich 2Byte. Wo liegt das?
Dali-Registerübersicht? Wie beschreibe ich das?
Habe das gefunden:
Beitrag "Re: Dali Kurzadresse vergeben":
Siehe Shortadressen Format: 0AAAAAAS (AAAAAA = 0 - 63, S = 0/1)
Beispiel!
gewünschte Adresse: 2
Adr = 2;
Adr = Adr << 1;
Adr = Adr & 0b01111110;
Adr = Adr | 0b00000001;
Snd_Dal(0xA3,Adr,SP_COM); DELAY_ms(20) //DTR direkt mit
Adresse beschreiben
Snd_Dal(0,128,BR_ADR); //Inhalt DTR als Shortadresse
DELAY_ms(20) //
Snd_Dal(0,128,BR_ADR);
DELAY_ms(20)
Also, du musst eine DALI-Adress-Suche/Zuweisung durchführen.
Hierfür schickst du zuerst ein Paket über den Bus, das die Geräte
anweist, dass nun eine Adress-Suche kommt. Bis diese abgeschlossen ist,
dürfen keine Steuerkommandos kommen, sonst wird sie abgebrochen. Danach
sollen sich die Geräte eine zufällige 24-bit "Hardware-Adresse"
generieren. Danach schickst du 24-bit-Adressen auf den Bus und schaust,
ob jemand antwortet. Die Antwort kommt, wenn die zufällige
Hardware-Adresse kleiner oder gleich der gesendeten Adresse ist. Damit
führst du jetzt eine binäre Suche durch, bis du die genaue kleinste
Hardware-Adresse gefunden hast. Diesem Gerät kannst du nun eine Short
Address zuweisen und ihm dann sagen, dass es weitere Suchanfragen
ignorieren soll. Das machst du so lange, bis keine Geräte mehr auf die
Suchanfrage mit der höchsten Adresse antworten, dann kannst du ein
Kommando zum Beenden der Suche senden und die Geräte gehen in den
normalen Betriebsmodus.
Kommandos, die du brauchst:
0xA500 Suche starten, alle reagieren
0xA5FF Suche starten, nur Geräte ohne Short Address reagieren
0xA700 Zufällige 24-bit-Adresse erzeugen
0xA900 Vergleichen
0xAB00 Teilnehmer von Suche entfernen
0xA100 Terminate, Suche beenden
0xB1## High-byte (##) der Suchadresse
0xB3## Mid-byte (##) der Suchadresse
0xB5## Low-Byte (##) der Suchadresse
0xB7## Short Address programmieren (## = 0aaa aaa1, a = adresse)
0xB9## Short Address überprüfen (## = 0aaa aaa1, a = adresse)
Wie läuft das ab?
Terminate, Suche starten, Zufällige Adressen erzeugen,
Binäre Suche:
0xFFFFFF als Start-Suchadresse festlegen.
Vergleichen -> Wenn Status-Register des LW14 zeigt, dass etwas empfangen
wurde, aber kein Frame Error vorliegt, dann gibt es ein Gerät, dessen
Adresse <= der Suchadresse ist. Ansonsten nicht. Entsprechend die
Adresse der binären Suche anpassen. Achtung: Der Bus braucht eine Weile,
Timeout vorsehen. Du erhältst nur eine Nachricht, wenn es etwas gibt.
Wenn es nichts gibt, musst du dich auf den Timeout verlassen.
Informationen zum DALI-Timing entnimmst du der einschlägigen Literatur,
da steht drin, wie lange sich die Geräte Zeit lassen dürfen.
Wenn du dann die binäre Suche abgeschlossen hast und genau die
niedrigste Adresse kennst: Short Address programmieren, Short Address
überprüfen (erwartete Antwort: 0xFF), Teilnehmer von Suche entfernen.
Die binäre Suche so lange wiederholen, bis sich kein Teilnehmer mehr bei
0xFFFFFF meldet. Dann haben alle Teilnehmer eine Short address. Dann
Terminate.
Es ist etwas Implementierungsarbeit, aber letztendlich nicht so schwer.
Adressierung geht jetzt über tridonic-usb-modul. Senden und empfangen
geht über Arduino-m328. Problem is jetzt der Stromverbrauch. Der
Dali-bus liefert 200 mA/16V. Der AvR zieht davon - mit Umsetzung auf 5V
ca. 50mA. Im Prinzip brauche ich ca. 10 Taster/Sensoren, die jeweils
über AVR eingebunden werden sollen. Wie macht man das am Sinnvollsten?
Zusätzliches Kabel zur Stromversorgung? Jeder AVR ein eigenes Netzteil?
Wofür braucht denn der AVR so viel Strom? Der sollte doch nicht viel zu
tun haben.
Wenn der Strom über den DALI nicht reicht, dann ist eine separate
Versorgung notwendig. Dann aber den LW14-01MOD verwenden, der ist
galvanisch getrennt vom Bus, was bei Eigenversorgung der Knoten
notwendig ist.
Guido Körber schrieb:> Wofür braucht denn der AVR so viel Strom?
Danke für die Antwort. 20mA braucht der warrior 14-2. Daran hängt der
Arduino Nano mit 20 mA. Ich habe den Cyc stillgelegt und sende und
empfange direkt über die Optokoppler per avr.
Wie gehts jetzt am einfachsten weiter? Wie macht man im Warrior-System
Taster? Kann man den cyc umprogrammieren? statt sda/scl Tastereingänge,
die dann 2byte an eine Zentrale senden? Cyc ablöten und durch avr
ersetzen?
Was ist als zentrale Schalteinheit gedacht? Selbermachen oder gibt es
was brauchbares bezahlbares fertig?
Wie mach ich die Niedervolt Stromversorgung? zusätzliches 3x nym Kabel
oder besser ethernet-Datenkabel?
Was ist ein "cyc"?
Der LW09 kann direkt als Interface für Tasten verwendet werden.
Zentrale Einheiten für DALI gibt es nur als sehr teure
Hausbus-Zentralen.
Niedervolt-Stromversorgungen auf jeden Fall nicht über lange Strecken.
Wie man das auslegt hängt von den örtlichen Gegebenheiten ab.
Guido Körber schrieb:> Was ist ein "cyc"?
pardon - cybc241/cypress
Guido Körber schrieb:> LW09
Das wäre dann der lw09-2. Wieviele davon können über den dali-bus
versorgt werden? Normalen Taster + Bewegungsmelder an sw0/1 anschließen?
Der Dali-bus ist ja auf 200mA Kurzschlussstrom begrenzt. Kann man die
Leistung irgendwie erhöhen?
ein kleines Dali-Netzwerk auf Basis von LED-Warrior: mcu von
warrior-board ablöten und sorgfältig wegschmeißen. Dann tiny85 als
Taster und m328 als Dali-Zentrale anlöten.
Der tiny kann dann einfachst frei mit 8bit-adr + 8bit-cmd programmiert
werden, die bei Tastendruck an die Dali-Zentrale gesendet und dort
ausgewertet werden.
Problem ist der Stromverbrauch der warrior-Schaltung. Dieser ist mit
30mA viel zu hoch. Statt des Schaltreglers möchte ich einen
Spannungsteiler, der einen Kondensator mit 5V lädt und dann den tiny
versorgt. Kann das funktionieren?
klappt besser als erwartet. mit Spannungsteiler 7mA. Den Spannungsteiler
habe ich inzwischen durch ein Arduino-pir-Modul mit Schaltregler
ersetzt. Damit liegt der Ruhestrom bei ca. 3mA. D.h., es können
ausreichend Taster mit parasitärer Stromversorgung angeschlossen werden.