Hallo Ich habe DALI am Laufen mit einem Mega128. Läuft gut. Jetzt habe ich aber das Problem, dass ich ca. 60 Geräte am Bus habe. Alle Jungfräulich und ohne Adresse. Physikalische-und Einzeladressierung vor Inbetriebnahme jedes Gerätes geht nicht mehr. Ich möchte jetzt auch eine automatische Adressierung implementieren, so wie es Tridonic, Osram ect. auch machen. Das geht über die DALI Spezial Commands. Habe ich gelesen aber nicht ganz verstanden. Der Controller teilt den Ballasts mit, sie sollen sich eine Zufallszahl zwischen 0 und ca. 21 Mill. ausdenken (Seriennummer). Aufgeteilt in 3 Bytes (high, middle,low adress). Dann sollen sie die Adressen mit der, die ihnen der Controller geschickt hat vergleichen. Jener Ballast der gleich oder niedriger ist, soll mit ja antworten. Die anderen sollen sich aus der Adresssierung heraushalten. Was ist aber, wenn 20 Ballasts eine niedrigere Seriennummer errechnet haben? Diese würden dann alle mit "ja" antworten... Kann mir bitte jemand diese Adressvergabe näher erläutern? Danke
Hans schrieb: > Das geht über die DALI Spezial Commands. Habe ich gelesen aber nicht > ganz verstanden. Hast du vielleicht einen Link zur Quelle? Gruß Oliver
Ja habe ich: http://www.archenergy.com/lrp/lightingperf_standards/DALI%20V1_13.pdf Seite 36.. Hier ein Auszug: 5.4.4 Examples of Automatic Short Address Assignment 5.4.4.1 Controllers Installed in a System Using Random Addressing The following commands can be sent as Broadcast or for selected Controls Type units by selecting the appropriate Address Byte. I. Start the algorithm with command 27 “Extended Initialize” which enables the next addressing command for 15 minutes. II. Send command 28 “Extended Randomize”. All controller that are specified in the Address Byte will create a binary random number (BRN) so that 0<_ BRN <_ +224-1. III. The controller performing the addressing searches the controller with the lowest BRN by means of an algorithm which uses command 31 to 33 (Extended SEARCHADDRH, Extended SEARCHADDRM, Extended SEARCHADDRL) and command 29 “Extended Compare”. The controller with the lowest BRN is found. IV. The found controller will have assigned a unique short address with the command 34 “Extended Program short Address”. V. Verify the assigned short address with command 36 “Extended Verify short address” VI. The found controller shall be retracted from the search process by means of command 30 “Extended Withdraw”. VII. If not all controller are found, repeat from step III on until no further unit can be found. VIII. Stop the process by sending command 26 “Extended Terminate”. Thanks..
Der "Trick" ist, den Adressbereich stetig zu halbieren. Antwortet zumindest ein Gerät auf COMPARE mit DALI-"YES", wird nach unten (hin zu kleinen Search-Adressen) halbiert, ansonsten nach oben (zu höheren Adressen), Bereichsgrenze per SEARCHADDRH/N/L schreiben (binäre Suche). Nach ein paar Durchläufen bleibt dann noch ein Gerät übrig, das ist dasjenige mit der kleinesten Random-Address, dem noch keine Kurzadresse zugeweisen wurde. Diesem weist man dann die nächste freie short-address zu (programm short address) und verhindert, dass es weiter auf COMPARE-Anfragen antwortet (per WITHDRAW). Dies so lange wiederholen, bis kein Gerät mehr auf COMPARE antwortet, als alle WITHDRAWn sind und folglich eine Kurzadresse erhalten haben. Eine einfache Suche bei der die Search-Address ab 0 einfach immer nur um eins erhöht wird, bis eine Gerät mit "Yes" antwortet würde auch funktionieren aber viel zu lange dauern. Zur Ermittlung der noch freien Kurzadressen ist es von Vorteil vorher per Query mit Adressangabe die bereits belegten Kurzadressen auzuschliessen. Möglicherweise war die Zufallsadresse bei mehreren Geräten gleich, dann haben diese auch die selbe Kurzadresse erhalten. Dann muss der Ablauf nur für diese Geräte nochmals wiederholt werden (INITIALISE mit Adressangabe).
Vielen Dank für die kompetente Antwort! Leider blicke ich noch nicht ganz durch :-( Kannst du bitte noch ein Beispiel wie solch eine Suchaktion ablaufen könnte posten? ZB mit 5 Teilnehmern mit Adressen 1101,2201,3301,4401,5005? schöne Grüße Hans
Guckst du.. Kennst du das kalt, warm heiß Spiel...? ;-) Ich könnte mir vorstellen, dass das so funktioniert: ZB ID des Ballasts: 9340 Master beginnt mit 100000. Antwort: yes Master: 50000 Antwort:yes Master: 25000 Antwort:yes Master: 12500 Antwort:yes Master: 6250 Antwort:nix Master: 9375 (6250 + 6250/2) Antwort:yes Master: 7812 (9375 -(6250/4)) Antwort:nix Müßte jetzt schon reichen für eine Short Adress Zuweisung bei ZB 100000 Adress-Möglichkeiten (nur 7 Abfragen bei 100T mögl.Adressen). Es ist noch ein unbestimmter Adressbereich von 1563 offen. Wenn jeman Lust hat, kann er ja etwas C Code reinstellen. Finde ich eine ganz gute Möglichkeit, automatische Adressierungen durchzuführen (für jedes Bussystem). Bei DALI funktioniert das eigentlich ganz gut. Hier machen das sogar die GR Tastsensoren von alleine (auf Wunsch). Das ist sehr angenehm für kleine Beleuchtungsprojekte. Bei EIB/KNX brauchst dafür ein paar K€ und einen Hochschulabsolventen um einen Taster zu programmieren ;-) Schöne Grüße
Hallo Hans, ich suche gerade (für mein Häusle) GENAU nach dem was du schon umgesetzt hast (Dali auf Atmel) - würde mich sehr freuen wenn du mir "Starthilfe" geben könntest. Vielleicht kannst du dich ja bei mir melden: s_andreas_@hotmail.com Grüße: Andreas
Falls dies noch jemand interessiert: ich bin gerade dabei, mir für mein Haus ein DALI-System zu stricken. Der finnische Hersteller "HASSEB" vertreibt für 75€ incl. Versand einen USB DALI Master mit eingebauter Bus-Stromversorgung. Schaltplan und Software sind offen gelegt: http://www.hasseb.fi/dali/hasseb_dali_master.zip Sowohl Hardware als auch die PC-Software ähneln sehr (;-)) dem LPC1343-DALI-Master von NXP (http://www.lpcware.com/content/nxpfile/an11174-and-an11175-lpc11xxlpc13xx-dali-release-20). Aus den Sourcen der PC-Software geht sehr schön hervor, wie das Commissioning bei DALI funktioniert. Vorsicht: Nach dem zweiten Blick auf den Schaltplan erkenne ich, dass die für Dali notwendige Strombegrenzung in der Schaltung fehlt. Ich frage mich echt, ob und wie das funktioniert. Mein Ziel ist es, mit dem DALI CLICK und dem STM32F4-discovery einen preiswerten modularen DALI-Master aufzubauen, der mit bereits verfügbarer freier Commissioning-Software zusammen arbeitet. Falls jemand an den bisherigen Ergebnissen interessiert ist -> bitte melden! Viele Grüße Klaus
:
Bearbeitet durch User
Klaus L. schrieb: > Vorsicht: Nach dem zweiten Blick auf den Schaltplan erkenne ich, dass > die für Dali notwendige Strombegrenzung in der Schaltung fehlt. Ich > frage mich echt, ob und wie das funktioniert. Du sprichst von der Hasseb-Schaltung die Du verlinkt hast? Bitte schau Dir die nochmal ganz genau an. Ich sehe sogar 2 Elemente die da den Strom begrenzen.
Danke (mal wieder) Gerd! Richtig, es hängen dann ja noch T1 und R3 im Strompfad und können so den Stromfluss begrenzen! Leider kann ich meinen Beitrag nicht mehr korrigieren. Viele Grüße Klaus
Klaus L. schrieb: > T1 richtig. > und R3 naja, der macht den Kohl nicht wirklich fett. Ich dachte eher an den LM317 und seinen Übertemperaturschutz.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.