LED-Warrior 14 am Raspberry pi
Moderator: Guido Körber
LED-Warrior 14 am Raspberry pi
Hi,
ich habe einen LW14 den ich über I²C an einen Raspebrry Pi angebunden habe. Die Kommunikation mit zwischen beiden Platinen funktioniert soweit auch. Die verschiedenen Register kann ich ohne Probleme auslesen. Wenn der Dali-Bus getrennt ist bekomme ich aus dem Status-Register einen Bus-Fehler und sobald dieser verbunden ist wird eine Null übertragen, die Kommunikation scheint an dieser Stelle also zu funktionieren. Die Ansteuerung soll über ein Python-Skript erfolgen.
Sobald ich jedoch verschuche einen Slave anzusteueren passiert nichts. Egal ob ich eigene Befehle in die Register schreibe oder den verfügbaren Beispielcode verwende, die Lampen reagieren nicht. Da ich die Adressen der Lampen nicht kenne versuche ich einen Broadcast mit dem Command 0x05 zu schreiben, damit diese eingeschaltet werden.
Für die Anbindung an den Bus habe ich zwei Möglichkeiten getestet:
Einen Lampenstrang an ein Wago-Dali-Netzteil und parallel den LW14 angeschlossen -> Nichts passiert. Die Lampen reagieren nicht, aber der LW14 meldet, dass der Bus i.O. ist.
Den LW14 parallel zu einem bestehenden Spega-Master angeschlossen -> LW14 Meldet, dass der Bus belegt ist und die Lampen reagieren auf keinen der beiden Master mehr. Ist der Spega-Master allein angeschlossen reagieren die Lampen auf dessen Steuerbefehle.
An welcher Stelle könnte noch ein Fehler bestehen?
MfG Markus
ich habe einen LW14 den ich über I²C an einen Raspebrry Pi angebunden habe. Die Kommunikation mit zwischen beiden Platinen funktioniert soweit auch. Die verschiedenen Register kann ich ohne Probleme auslesen. Wenn der Dali-Bus getrennt ist bekomme ich aus dem Status-Register einen Bus-Fehler und sobald dieser verbunden ist wird eine Null übertragen, die Kommunikation scheint an dieser Stelle also zu funktionieren. Die Ansteuerung soll über ein Python-Skript erfolgen.
Sobald ich jedoch verschuche einen Slave anzusteueren passiert nichts. Egal ob ich eigene Befehle in die Register schreibe oder den verfügbaren Beispielcode verwende, die Lampen reagieren nicht. Da ich die Adressen der Lampen nicht kenne versuche ich einen Broadcast mit dem Command 0x05 zu schreiben, damit diese eingeschaltet werden.
Für die Anbindung an den Bus habe ich zwei Möglichkeiten getestet:
Einen Lampenstrang an ein Wago-Dali-Netzteil und parallel den LW14 angeschlossen -> Nichts passiert. Die Lampen reagieren nicht, aber der LW14 meldet, dass der Bus i.O. ist.
Den LW14 parallel zu einem bestehenden Spega-Master angeschlossen -> LW14 Meldet, dass der Bus belegt ist und die Lampen reagieren auf keinen der beiden Master mehr. Ist der Spega-Master allein angeschlossen reagieren die Lampen auf dessen Steuerbefehle.
An welcher Stelle könnte noch ein Fehler bestehen?
MfG Markus
Last edited by MSE on Sun Aug 25, 2019 4:45 pm, edited 1 time in total.
-
- Site Admin
- Posts: 2856
- Joined: Tue Nov 25, 2003 10:25 pm
- Location: Germany/Berlin
- Contact:
Re: LW14 am Raspberry pi
W14 heisst selber eine Platine gebaut, oder ist es eines userer Module?
Re: LW14 am Raspberry pi
Es handelt sich um den LED-Warrior 14, also eines eurer Module.
Sorry, dass ich mich da nicht ganz klar ausgedrückt habe.
Sorry, dass ich mich da nicht ganz klar ausgedrückt habe.
-
- Site Admin
- Posts: 2856
- Joined: Tue Nov 25, 2003 10:25 pm
- Location: Germany/Berlin
- Contact:
Re: LED-Warrior 14 am Raspberry pi
LW14-01MOD oder LW14-02MOD?
- Christoph Jung
- Posts: 670
- Joined: Sun Oct 08, 2006 3:43 pm
- Location: Germany / Berlin
- Contact:
Re: LED-Warrior 14 am Raspberry pi
Wie sieht denn das Python Skript aus?
Re: LED-Warrior 14 am Raspberry pi
Da auf der Homepage steht, dass das 02MOD nicht mit dem Raspberry funktioniert, habe ich das 01MOD bestellt.
In dem Python-skript von mir habe ich diverse Kombinationen an I²C-Befehlen getestet.
Was mir bisher eigentlich am sinnvollsten erschien war:
In dem Fall ist der I²C-Bus auf andere Pins gelegt, deshalb die 3 als Übergabe für SMBus, habe es aber auch schon mit dem Standardbus getestet. Bei dem ersten Auslesen des Status-Registers bekomme ich gemeldet, dass der Bus busy ist, beim zweiten kommt eine Null zurück.
Ich habe aber auch mit den von euch zur Verfügung gestellten Skripten keine Reaktion auf dem Dali-Bus.
In dem Python-skript von mir habe ich diverse Kombinationen an I²C-Befehlen getestet.
Was mir bisher eigentlich am sinnvollsten erschien war:
Code: Select all
import smbus
import time
from lw14_class import lw14
bus=smbus.SMBus(3)
bus.write_i2c_block_data(0x23,0x01,[0xFF,0x05])
print(bus.read_byte_data(0x23,0x00))
time.sleep(0.1)
print(bus.read_byte_data(0x23,0x00))
Ich habe aber auch mit den von euch zur Verfügung gestellten Skripten keine Reaktion auf dem Dali-Bus.
- Christoph Jung
- Posts: 670
- Joined: Sun Oct 08, 2006 3:43 pm
- Location: Germany / Berlin
- Contact:
Re: LED-Warrior 14 am Raspberry pi
Also ich habe das Skript auf dem SMBus(1) ausgeführt und alle Geräte auf meinem Bus gehen auf Max.
Auch das der Status 0 wird ist soweit OK. Das bedeutet ja, das der Bus Frei nach 100ms Wartezeit ist.
Auch das der Status 0 wird ist soweit OK. Das bedeutet ja, das der Bus Frei nach 100ms Wartezeit ist.
Re: LED-Warrior 14 am Raspberry pi
Bei dem Spega-Master könnte ich mir vorstellen, dass es zu Problemen kommt weil das ein Single-Master Gerät ist.
Mit dem Wago-Netzteil dürfte es aber doch eigentlich keine Probleme geben, oder? Gibt es bei den Dali-Netzgeräten etwas zu beachten, bzw. kann das Wago-Netzteil auf Wago-Steuerungen beschränkt sein? Eigentlich sollte es sich dabei doch lediglich um ein Strombegrenztes 18 V Netzteil handeln.
Mit dem Wago-Netzteil dürfte es aber doch eigentlich keine Probleme geben, oder? Gibt es bei den Dali-Netzgeräten etwas zu beachten, bzw. kann das Wago-Netzteil auf Wago-Steuerungen beschränkt sein? Eigentlich sollte es sich dabei doch lediglich um ein Strombegrenztes 18 V Netzteil handeln.
- Christoph Jung
- Posts: 670
- Joined: Sun Oct 08, 2006 3:43 pm
- Location: Germany / Berlin
- Contact:
Re: LED-Warrior 14 am Raspberry pi
Ich kenne die Geräte von Spega und Wago leider nicht und kann da nicht groß weiter helfen.
Das WAGO-Netzteil ist laut der Produktseite ein einfaches DALI-Netzteil und liefert die 18V/0.2A die für DALI vorgegeben sind. Daher sollte es dort kein Problem geben.
Das WAGO-Netzteil ist laut der Produktseite ein einfaches DALI-Netzteil und liefert die 18V/0.2A die für DALI vorgegeben sind. Daher sollte es dort kein Problem geben.
Re: LED-Warrior 14 am Raspberry pi
Was die Beschaltung angeht sollte es ja passen Dali+ und Dali- der Lampe mit dem Netzteil zu verbinden und den LED-Warrior 14 parallel anzuschließen. Die Polung ist bei Dali ja im Endeffekt egal, wenn ich das richtig verstanden habe.
Wenn der LED-Warrior erst Bus belgt und anschließend Bus i.O. meldet sollte das Schreiben auf den Dali ja funktionieren? Dann wären die einzigen Möglichkeiten die mir noch einfallen andere Aktoren und ein anderes Netzteil testen.
Wenn der LED-Warrior erst Bus belgt und anschließend Bus i.O. meldet sollte das Schreiben auf den Dali ja funktionieren? Dann wären die einzigen Möglichkeiten die mir noch einfallen andere Aktoren und ein anderes Netzteil testen.
- Christoph Jung
- Posts: 670
- Joined: Sun Oct 08, 2006 3:43 pm
- Location: Germany / Berlin
- Contact:
Re: LED-Warrior 14 am Raspberry pi
Genau, dem LW14 ist es egal wie rum die beiden DALI-Leitungen angeschlossen werden. Die Lampe braucht natürlich auch ihre Spannungsversorgung, die kann / darf der Bus nicht bereitstellen.
Wenn der Schreibbefehl abgesetzt wird ist der Bus "Busy" und nachdem er fertig ist sollte das Busy-Flag verschwinden. Das kann man gut nachvollziehen, wenn man im Python Skript das Auslesen des Status in eine kleine Schleife mit eine Sleep von 0.01 packt.
Wir haben ein kleines DC/DC Modul, was einem die 18V/230mA für den DALI-Bus liefert: LED-Warrior11-Mod. Da muss nur ein X-Beliebiges 24V Netzteil
dran und schon hat man ein kostengünstiges DALI-Netzteil.
Wenn der Schreibbefehl abgesetzt wird ist der Bus "Busy" und nachdem er fertig ist sollte das Busy-Flag verschwinden. Das kann man gut nachvollziehen, wenn man im Python Skript das Auslesen des Status in eine kleine Schleife mit eine Sleep von 0.01 packt.
Wir haben ein kleines DC/DC Modul, was einem die 18V/230mA für den DALI-Bus liefert: LED-Warrior11-Mod. Da muss nur ein X-Beliebiges 24V Netzteil
dran und schon hat man ein kostengünstiges DALI-Netzteil.
Re: LED-Warrior 14 am Raspberry pi
Hat jetzt zwar ein wenig gedauert, aber ich habe jetzt einen LED-Warrior 11 als Versorgung und einen Dali Schaltaktor als Slave.
Wenn ich die Bibliothek von euch verwende bekomme ich zufällig verteilt I/O Error 5 und 6.
Bei meinem eigenen Programm kommt es zu keiner Fehlermeldung, der Aktor reagiert aber trotzdem nicht.
Wenn ich statt dem alternativen I²C-Bus den ich angelegt habe den normalen verwende, erhalte ich den I/O Error 121.
Im Datenblatt des LED-Warrior 11 steht etwas von einer Bus-Status-Led, signalisiert die nur die zur Verfügung gestellten 18V oder reagiert die auch auf Buslast? Bzw. handelt es sich dabei um die rote LED neben den DALI-Kontakten, oder um eine andere?
Wenn ich die Bibliothek von euch verwende bekomme ich zufällig verteilt I/O Error 5 und 6.
Bei meinem eigenen Programm kommt es zu keiner Fehlermeldung, der Aktor reagiert aber trotzdem nicht.
Wenn ich statt dem alternativen I²C-Bus den ich angelegt habe den normalen verwende, erhalte ich den I/O Error 121.
Im Datenblatt des LED-Warrior 11 steht etwas von einer Bus-Status-Led, signalisiert die nur die zur Verfügung gestellten 18V oder reagiert die auch auf Buslast? Bzw. handelt es sich dabei um die rote LED neben den DALI-Kontakten, oder um eine andere?
- Christoph Jung
- Posts: 670
- Joined: Sun Oct 08, 2006 3:43 pm
- Location: Germany / Berlin
- Contact:
Re: LED-Warrior 14 am Raspberry pi
Die rote LED auf dem LW11 Modul leuchtet permanent, wenn alles in Ordnung ist. Wenn auf dem DALI-Bus Daten gesendet werden, dann flimmert die LED leicht. Bei einem Kurzschluss auf dem Bus sollte die LED aus gehen.
Das mit dem I/O Fehler kann ich bei mir nicht nachstellen, allerdings habe ich hier nur Typ-6 DALI Endgeräte.
Das mit dem I/O Fehler kann ich bei mir nicht nachstellen, allerdings habe ich hier nur Typ-6 DALI Endgeräte.