DMX-Receiver 27-Kanal mit ATmega8535

  • Hallo,
    ich habe den 27-Kanal Receiver aufgebaut, bekomm ihn aber nicht zum Laufen. Jetzt hätte ich ein paar Fragen, ich hoffe es kann mir jemand weiterhelfen.
    Um bei der Hardware auf Nummer sicher zu gehen. Ich habe den Receiver nach dem angehängten Bild nachgebaut.


    Im Vergleich zum Schaltplan gibt es da paar Abweichungen, bei denen ich mir nicht sicher bin, ob sie eine Rolle spielen oder bereits in der Firmware berücksichtigt sind? z.B.: Pin29 statt 21 mit Pin8 vom ULN2803 verbunden, Pin 34 mit Pin7 (ULN...) verbunden.


    Jetzt zu meinem eigentlichen Problem, die Firmware!
    Ich habe die im Zipfile angebotene Hexdatei auf den µC geflasht und hab, wenn ich keinen Fehler gemacht habe, die Bits auf ext. Crystal (high frequency) umgestellt. Wenn ich jetzt den Receiver an die Spannungsversorgung anschließe, bekomm ich komische Ergebnisse. Manchmal leuchtet die LED, manchmal nicht. Manchmal blinkt sie kurz, dann wieder minutenlang gar nicht. Ich bin verwirrt! Woran kann das liegen?


    Ich hab mir dann die Asmdatei angesehen und hab dazu auch paar Fragen:
    In dem File heißt es .equ DMX_Kanaele = 12 es müsste aber doch .equ DMX_Kanaele = 27 heißen, oder?
    Dann heißt es Status-LED an PortB7 gegen GND, laut Schaltplan geht die LED aber gegen VCC. Was ist denn richtig?
    Dann heißt es weiter, dass die DMX-Startadresse im EEPROM gespeichert wird und man das beim ersten Mal mitflashen soll. Heißt das nun, dass ich die Firmware auch ins EEPROM flashe? (sorry für die vielleicht blöden Fragen, aber hab sowas noch nie gemacht)


    Die Einstellung der Startadresse hab ich auch noch nicht ganz verstanden. Wird die jetzt mit dem Ausdruck .equ DMX_Start = 1 fest programmiert oder wird die Adresse mit dem Autoconfig-Button eingestellt (wenn ja, wie weiß ich dann, welche Startadresse es ist?)


    Ich weiß, Fragen über Fragen, aber vielleicht kann mir ja jemand weiterhelfen.
    Danke


    Gruß Christoph

  • also ich kann noch nichts weiter dazu sagen aber ich will am Wochenende die Platine fertig löten.


    Eben grade die Löcher gebohrt und denn kann ich auch mehr dazu sagen.


    Gruß


    edit: Aber mit dem DMX_Kanaele hast du glaub ich recht sofern ich die Empfangsroutine sehe liest er jetzt nur bis 12 aus.


    Und die Adresse Speicherst du in den EEPROM die Hex Datei die dabei ist. Da steht die Startadresse drin. Jetzt Drückst du den Button zur Config denn liest er das ganze Universum ab und schaut nach einem Kanal wo der Wert größer als 128 ist. Der erste der größer als 128 ist wird dann als Startadresse genommen und in den EEPROM gespeichert. So habe ich es verstandnen.


    Ich lasse mich gerne eines Besseren Belehren :D

  • Danke für die Antwort, hab schon befürchtet, dass keiner den Receiver benutzt, nachdem das Thema eingeschlafen ist.


    Was bedeutet das denn, dass er nach einem Kanal mit Wert größer gleich 128 sucht?
    Ich möchte mehrere dieser Receiver über DMX steuern. Beginnt man jetzt eigtl mit 0 oder mit 1 als Startadresse?
    Wenn ich jetzt 1 oder 28als Startadresse haben will, muss ich das im Hexfile festlegen und dann noch zusätzlich die automatische Konfiguration? Versteh nicht ganz wozu das dient!? Muss der Receiver für die Autokonfig. an das DMX-Universe angeschlossen sein oder reicht es, wenn man den Receiver an die Spannungsversorgung anschließt?

  • Ja, da hat der Jens wohl die falsche SW reingestellt... ;)


    da aber die Multiplex-Routine für 27 Kanäle drin ist, kannst Du ja einfach mal DMX_Kanaele auf 27 setzen, und die anderen Anpassungen vornehmen (Status-LED etc.), und das dann assemblieren - wenn's wieder nicht geht, mal den Jens fragen...


    da kommt ein .hex und ein .eep -File raus - das .hex in's flash, das .eep ins Eprom "brennen" - die Default-Startadresse kannst Du vor dem assemblieren hier einstellen:


    .equ DMX_Start = 1 ; DMX-Startadresse


    wenn Du die dann nicht mehr ändern willst, dann passt's ja eh' - dann musst Du nicht nochmal den Autoconfig zusätzlich machen


    der Autoconfig funktioniert so, wie pchero schon beschrieben hat: wenn das Teil z.B. Adresse 12 haben soll, dann lässt Du am Lichtpult/DMX-SW alle Kanäle unten, Kanal 12 schiebst Du aber hoch (auf eben mind. die Hälfte, am Besten ganz hoch) und drückst dann den Knopf am Receiver (der muss natürlich angeschlossen sein) mind. 1 Sekunde - dann weiß der Receiver, dass Kanal 12 nun seine Startadresse sein soll...


    und übrigens gehen die DMX-Adressen von 1 bis 512... ;) (wobei man an den meisten Geräten, mit DIP z.B., max. 511 als Startadresse einstellen kann...)

    It's only light - but we like it!


    Da es sich in letzter Zeit häuft: Ich beantworte keine PNs mit Fragen, die sich auch im Forum beantworten lassen!
    Insbesondere solche von Mitgliedern mit 0 Beiträgen, die dann meist auch noch Sachen fragen, die bereits im entsprechenden Thread beantwortet wurden.
    Ich bin keine private Bastler-Hotline, technische Tipps etc. sollen möglichst vielen Lesern im Forum helfen!

  • also ich kann es noch nicht Testen da ich irgendwo einen Fehler habe oder der 7805 hin ist.


    Wenn ich 12V anlege bricht die Spannung auf 2V ein ist so ein Kleines Steckernetzteil Wenn ich zwischen - und + den Widerstand messe ist er nicht 0 oder so also kann da eig schonmal keine Lötbrücke sein oder ?


    Ich habe keinen Atmega drin aber dennoch müsste der 7805 ja laufen und die Spannung dürfte ned so zusammenbrechen?


    Gruß

  • schau' mal, ob der 7805 verkehrt rum angeschlossen ist, das ist ein "beliebter" Fehler... ;)

    It's only light - but we like it!


    Da es sich in letzter Zeit häuft: Ich beantworte keine PNs mit Fragen, die sich auch im Forum beantworten lassen!
    Insbesondere solche von Mitgliedern mit 0 Beiträgen, die dann meist auch noch Sachen fragen, die bereits im entsprechenden Thread beantwortet wurden.
    Ich bin keine private Bastler-Hotline, technische Tipps etc. sollen möglichst vielen Lesern im Forum helfen!

  • Nachdem ich meinen Receiver jetzt hoffentlich zum Laufen gebraucht hab, brauch ich nochmal eure Hilfe:
    ich möchte mit dem Receiver RGB-Leds ansteuern. Wenn ich das bei DMXControl den Kanalwert auf 255 stelle, bekom ich am ULN-Ausgang ca. 0,63 Volt. Ich hab da eigentlich deutlich mehr erwartet. Jetzt bin ich mir unsicher, wie ich die Leds anschließen muss.
    Muss ich die Leds noch an VCC oder GND anschließend? Brauch ich noch einen Transistor? Einen Widerstand brauch ich ja bei der Spannung nicht mehr, oder?
    Kann mir jemand zeigen, wie ich die Leds am besten anschließe?

  • Die Anoden der LEDs kommen an Vcc


    Die Kathoden dann an die Ausgänge der ULNs - die schalten ja nach GND durch, das ist *nicht* so dass da Spannung "rauskommt"!


    Und natürlich dann nen Vorwiderstand an jede LED! - da Du Vcc 12 Volt hast, diesen dann eben für 12 Volt berechnen.

    It's only light - but we like it!


    Da es sich in letzter Zeit häuft: Ich beantworte keine PNs mit Fragen, die sich auch im Forum beantworten lassen!
    Insbesondere solche von Mitgliedern mit 0 Beiträgen, die dann meist auch noch Sachen fragen, die bereits im entsprechenden Thread beantwortet wurden.
    Ich bin keine private Bastler-Hotline, technische Tipps etc. sollen möglichst vielen Lesern im Forum helfen!

  • Verstehe die Frage nicht ganz wegen der seltsamen Formulierung... ?( - wenn da irgendwas gemeinsame Kathode hat, dann kannst Du diesen Receiver nicht verwenden, weil der für gemeinsame Andode ausgelegt ist...


    aber was ist das denn für ne seltsame LED ?( - normal, wenn RGB und 6-polig, dann hat man 3x Anode und 3x Kathode, jeweils eine pro Farbe...

    It's only light - but we like it!


    Da es sich in letzter Zeit häuft: Ich beantworte keine PNs mit Fragen, die sich auch im Forum beantworten lassen!
    Insbesondere solche von Mitgliedern mit 0 Beiträgen, die dann meist auch noch Sachen fragen, die bereits im entsprechenden Thread beantwortet wurden.
    Ich bin keine private Bastler-Hotline, technische Tipps etc. sollen möglichst vielen Lesern im Forum helfen!

  • Sorry für die Fragestellung. Hätte wohl während dem Schreiben nicht so lang ins Datenblatt schauen sollen :rolleyes:
    Die Leds (Bestellnummer: LED RGB-5 DIFFUS) hab ich bei Reichelt gekauft. Waren eigentlich die einzigen RGB-Leds in 5mm Ausführung. Leider hab ich vorher nicht ins Datenblatt gesehen :(

  • Also nach 3x lesen bin ich der Meinung, dass es "Kann ich...." statt "Wenn ich...." heissen soll...? - Dann macht die Frage Sinn...


    wie oben schon geschrieben: Nein, LEDs mit gemeinsamer Kathode kannst Du mit dem Teil nicht ansteuern! - geht aber, wenn Du statt den ULN2803 UDN2981 nimmst - hierzu Datenblatt konsultieren! - Und dann alle parallel mit je 4 Vorwiderständen!


    ist halt eigentlich Quatsch, dann auch noch 1 Euro pro Stück, *da* wäre dann ein Sack aus China mit CA-LEDs besser gewesen - wenn es denn unbedingt 5-mm-LEDs sein sollen (wofür ist das Ganze denn gedacht..? - beleuchten kannst Du mit denen nix....)

    It's only light - but we like it!


    Da es sich in letzter Zeit häuft: Ich beantworte keine PNs mit Fragen, die sich auch im Forum beantworten lassen!
    Insbesondere solche von Mitgliedern mit 0 Beiträgen, die dann meist auch noch Sachen fragen, die bereits im entsprechenden Thread beantwortet wurden.
    Ich bin keine private Bastler-Hotline, technische Tipps etc. sollen möglichst vielen Lesern im Forum helfen!

  • also von mir Gibts auch ein :thumbup: klappt :D


    Das eine Netzteil war wohl hinne hatte es mitm Labornetzteil getestet ging mit einem anderen Schaltnetzteil und es ging auch muss wohl das eine Kaputt sein.


    Die Platine klappt LED's sind bis jetzt noch keine dran kommen aber ;)


    Gruß

  • pchero: halte mich bitte auf dem Laufenden, ob und wie die Ansteuerung deiner Leds klappt?
    Nachdem ich meine RGB-Leds nicht hernehmen konnte, hab ich mal eine normale Led aus einem Gerät ausgebaut, zu der ich aber kein Datenblatt habe.
    Ich hab mir dann irgendein Datenblatt für eine rote bedrahtete Led aus dem Internet gesucht. Laut Datenblatt hat die Led eine forward voltage von 2,3V. Ich habe jetzt die Anode meiner Led mit 5 Volt VCC verbunden, einen 120 Ohm Widerstand dazwischen geschaltet und die Kathode mit dem ULN2803 verbunden. Die Led leuchtet aber nicht, warum?
    Ich hab auch noch meines Erachtens komische Spannungen gemessen. Bei einem DMX-Kanalwert von 0 hatte ich am Ausgang des ULN etwa 3,2 Volt und bei einem Wert von 255 ca. 5,8 Volt. Das gibt mir Rätsel auf?
    Kann es sein, dass meine Hex-datei Fehler enthält? Kann jemand mit Assemblererfahrung mal einen Blick drauf werfen?

  • Bei einem DMX-Kanalwert von 0 hatte ich am Ausgang des ULN etwa 3,2 Volt und bei einem Wert von 255 ca. 5,8 Volt. Das gibt mir Rätsel auf?

    Mir auch ;) - wie schon gesagat, soll da gar keine Spannung rauskommen, sondern die Dinger sind einfach wie Schalter, die nach GND durchschalten.


    Und wenn das alles richtig geht, dann schalten sie per PWM, d.h. Du kannst da mit nem Multimeter nicht wirklich was messen, die Spannung am Ausgang des ULN (also die extern angelegte nach der LED meine ich) "zappelt" dann immer ganz schnell zwischen 0 und 5 Volt hin und her...


    das tut sie aber wohl nicht, sonst würde die LED leuchten... noch mal alles überprüfen, nicht dass evtl. nur der ULN verkehrt rum drinsteckt..?


    Weil Jens wohl gerade nicht da ist, und die SW auf meiner basiert, habe ich mir das mal angesehen - k.A., ob er da was falsches reingestellt hat, oder ein paar Punkte vergessen, komisch war ja schon das mit den 12 Kanälen, es steht bei der Interrupt-Vektor-Tabelle noch "Mega32" drüber (was aber auch wurst sein sollte, lt. Jens wäre das beim 8535 alles gleich....), k.A., ob die Port/Pin-Definitionen alle stimmen...


    Vorschlag: wenn das bei pchero funktioniert, kannst Du (pchero) einfach mal Deine .hex und .eep hier rein stellen? - dann kann chimera das drauf flashen, wenn's dann wieder nicht geht, dann muss es wohl was an der HW sein...


    Chimera, Du hast aber schon die .eep-Datei auch in's Eeprom geflasht (sonst geht das nicht) und auch die Fusebits richtig gesetzt (also für externen Quarz)...?

    It's only light - but we like it!


    Da es sich in letzter Zeit häuft: Ich beantworte keine PNs mit Fragen, die sich auch im Forum beantworten lassen!
    Insbesondere solche von Mitgliedern mit 0 Beiträgen, die dann meist auch noch Sachen fragen, die bereits im entsprechenden Thread beantwortet wurden.
    Ich bin keine private Bastler-Hotline, technische Tipps etc. sollen möglichst vielen Lesern im Forum helfen!

  • so eben grade eine LED Leiste dran gehabt und klappt.


    hab nur einen Fehler in meinen Layout der 7805 ist zu sehr umstellt. Bekomm den Kühlkörper nicht drauf und da er gut 19 V Verbrät muss da einer drauf.


    asm und eep stell ich nachher rein.


    Gruß

  • ist sowas auch mit nur einem Bauteil zu bewerkstelligen ? Also die 24V habe ich für die LED aber für den uC brauch ich 5V und aher die 19V die Verbraten werden. Für eine Seperate 5V leitung wollte ich nämlich ned legen .


    gruß

  • Ja, da gäbe es den LTM8023, an den müssen nur noch 2 Widerstände und 2 Kondis hin, oder den LM2576, der braucht aber (neben 2 Kondis) noch ne Spule und ne Diode dazu...


    also nicht *viel* mehr als der 7805, aber deutlich weniger Wärme (und letztlich wohl auch Platz, wenn man beim 7805 noch den KK dazu rechnet...)

    It's only light - but we like it!


    Da es sich in letzter Zeit häuft: Ich beantworte keine PNs mit Fragen, die sich auch im Forum beantworten lassen!
    Insbesondere solche von Mitgliedern mit 0 Beiträgen, die dann meist auch noch Sachen fragen, die bereits im entsprechenden Thread beantwortet wurden.
    Ich bin keine private Bastler-Hotline, technische Tipps etc. sollen möglichst vielen Lesern im Forum helfen!

  • okay muss ich mir wohl ein extra Lochraster Platine daneben legen.


    Weil die Platine kann ich jetzt nichtmehr ändern ;) Aber beim nächsten wird es denn dazu kommen.


    Bilder kommen wenn ich fertig bin ;)


    LTM8023, gibt es leider bei Reichelt und bei Conrad nicht.


    Also läuft es auf den anderen hinaus.
    Geht diese Spule ?
    http://www.reichelt.de/?ACTION=3;ARTICLE=3507;PROVID=2402
    der rest ist für mich klar.



    Aber mit dem Step Down, kann ich denn auch eigentlich mir 12 V oder so erzeugen und damit HP LED's betreiben. Sodass ich mir ein Weiteres Netzteil spare und nur das eine 24 V Netzteil brauche? mit 3A sollte das klappen oder ?