DMX-Receiver 12-Kanal mit ATtiny2313

  • So habe es heute endlich hinbekommen es lag daran das die Beschaltung des SN75176 im Schaltplan von jens_n falsch ist. Habe die von Pesis 3 Kanal Dimmer ma probiert und siehe das es geht.

    Danke für eure Hilfe Fluxi

    Das Leben ist kein Ponyhof, geritten wird trotzdem.

  • Hallo,

    habe nicht alle Details durchgelesen, aber der Ansatz mit der DMX Adresse nicht über Diptasten ist gut.

    Vielleicht noch eine Ergänzung? Alternativ zum Empfang der DMX adresse, die möglichkeit, über den Taster durch Xmal drücken die Adresse X direkt an der Hardware einzustellen. Gut wer Adresse 200 hat, der hat verloren *g* aber für viele Heimanwendungen geht man nicht so hoch. Zumal so oft verstellt man die adresse nicht.

    Alternativ in 8 Zeitfenstern (1 bis 2 sek) den Taster abfragen, mittels statusLED fensterwechsel anzeigen. so sind nur 8 Tastendrück maximal und 8 bzw 16 sekunden erforderlich. Brauch dann minimal mehr Code.

    Empfang über DMX in dem Zeitfenster entweder ermöglichen und Tastenabfrage abbrechen bei Empfang, über Interrupts oder den einen oder anderen Weg zuerst abfragen.

    Das als Idee, falls genügend Resonaz dazu vorhanden.

  • Wie meinst Du das, wenn Interesse da ist, programmierst Du das....? ;)

    Das mit den zeitfenstern kapiere ich nicht ganz: Also statt Dip ein/aus 8x Taster drücken oder nicht..? - Da sehe ich keinen Vorteil zum DIP, da muss man ja auch auf binär umrechnen, aber beim DIP schalten ist man wenigstens nicht gehetzt... :D

    Da würde ich folgende Methode besser finden:

    • Man drückt den Taster lang, LED signalisiert dann "Bereit zur Eingabe" (z.B. blinkt, geht aus o.ä.)
    • Dann tastet man die 100er-Stelle ein, also z.B. 3x drücken für 3xx
    • hat man 2-3 Sek lang nicht mehr gedrückt, signalisiert die LED wieder "Bereit für die nächste Stelle"
    • Dann tastet man die 10er-Stelle ein, also z.B. 5x drücken für x5x
    • und ebenso für die Einer-Stelle..

    .

    das wäre auch recht einfach zu programmieren...

    Nachteil aller dieser Methoden: Wenn man nicht weiß, wie's funktioniert, hat man verloren - bei irgendnem DMX-Gerät mit DIP dran ist das eigentlich immer klar, mit dem DIP halt die Adresse binär einstellen...

    Und, eben für zu Hause, wo man die Adresse normal nur einmal einstellt, finde ich das nach wie vor nicht so blöd, das halt einfach per Kanal am Pult hochziehen, Taster drücken zu machen

    Aber wie Du schon sagtest, schadet ja nix, sich da noch mehr Methoden auszudenken :thumbup:

    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!

    Einmal editiert, zuletzt von Pesi (9. Dezember 2010 um 14:56)

  • Ich muss diesen leicht älteren Thread mal wieder ausgraben, weil ich prinzipielles Interesse daran habe. :)
    Allerdings sollte die Software mehr können als nur einfach die DMX-Werte in PWM umzusetzen...

    Doch erstmal vorab:

    • Man drückt den Taster lang, LED signalisiert dann "Bereit zur Eingabe" (z.B. blinkt, geht aus o.ä.)
    • Dann tastet man die 100er-Stelle ein, also z.B. 3x drücken für 3xx
    • hat man 2-3 Sek lang nicht mehr gedrückt, signalisiert die LED wieder "Bereit für die nächste Stelle"
    • Dann tastet man die 10er-Stelle ein, also z.B. 5x drücken für x5x
    • und ebenso für die Einer-Stelle..

    .


    Pesi: Wie würdest Du '0' eingeben? Einfach durch langes Warten bestätigen? Da ist vielleicht ein langer Tastendruck zum Weiterschalten der Stelle sinnvoll.
    Für hunderter Stelle vielleicht dreimal Blinken, Pause, dreimal...
    Zehmerstelle zweimal Blinken, Pause, zweimal...
    Einerstelle Einmal blinken, Pause, einmal...

    Die Deutsche Rechtschreibung ist Freeware, sprich, du kannst sie kostenlos nutzen.
    Allerdings ist sie nicht Open Source, d.h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.
    Noch andere wahre Worte... (Englisch!)

  • Hallo,

    ich möchte mir 2 Reciever bauen, allerdings wenn es möglich ist nur einen Taster für die Autoconfig benutzen.
    Theoretisch könnte man für den 2ten Reciever die Software doch so ändern, das die Startadresse nach dem herausfinden einfach + 12 gerechnet wird.
    Leider weiß ich nicht genau wo und wie ich das ändern kann, wäre schön wenn mir dabei kurz einer helfen könnte.

    Danke :)

  • Tüfftelarbeit ... geht oder geht nicht?

    [Blockierte Grafik: http://img196.imageshack.us/img196/5808/12kanalmitdip.jpg]

    Ich hoffe das klappt mit dem Bild...

    Wird Programmiertaster gedrückt, wird der DIPschalterwert ins Schieberegister eingelesen.

    Es müßte ein Programmcode folgen, der nun schaut ob DMX Daten kommen, die eine Adresse enthalten, wenn nicht wird das Schieberegister ausgelesen (oder anders herum, wenn DIPs auf 00x stehen "horchen" ob DMX Daten kommen

    Ablauf Schieberegister

    Reseteingang wird als Ausgang vorkonfiguriert (laut Datenblatt möglich) LOW an dem PIN gibt den Takteingang frei. Der Ausgang der Statusled wird für 8 Takte mißbraucht, während PD1 (Programmiertastereingang) die getakteten Daten "reinholt"

    D1 und D2 verhindern das das Tastersignal sich mit Schieberegistersignal mischt
    Taktfreigabe erlischt und die Stausled kann wieder machen, was sie will, die Adresse ist eingelesen.


    Theoretisch .... ?( kann wer das bestätigen oder dem wiedersprechen? Nicht das ich einen Denkfehler drin habe..

  • Ja, sollte so gehen - ich würde mit der Abfrage dann starten, wenn der Taster wieder los gelassen wird, sonst "blockiert" der ja den SR-Ausgang...

    aber, ganz ehrlich, bevor ich da so rummache und dann auch noch den Reset umfuse, nehme ich doch lieber einfach nen größeren AVR..... ;)

    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!

  • Mit der Funktion könnte man auch diverse Konfigurationen vornehmen, ging erstmal um die grundlegende Funktion. Auch finde ich den 12 Kanal Reciever schlichtweg schick, effizeint genutzt. Der Tiny ist billig und klein und recht leistungsfähig. Das Ganze könnte man auch als Modul auslegen, das abnehmbar ist. (außerdem habe ich noch ein paar von denen rumliegen.)

    Ich würde von dem 12 Kanal mehrere brauchen, im Haus verteilt, da käme die günstigvariante sehr gelegen... oder stumpf fest einprogrammieren, ist noch einfacher, günstiger..

  • Ja, für im Haus würde ich doch einfach die Adresse fest einprogrammieren - da kann man sich die Verteilung ja vorher überlegen, muss nicht ständig was ändern...

    auch ohne den Reset umzufusen wären dann noch 2 Eingänge frei (Status-LED braucht man da ja auch nicht), z.B. für 2 Taster, wenn man mal irgendwo "DMX Override" machen will, also einfach Licht an oder aus, egal was die zentrale Steuerung sagt...

    am Max hast Du übrigens den falschen Pin erwischt, die Daten kommen am "RO" raus... ;)

    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!

  • Werde die fest programmieren, ist viel einfacher und spart Platinengröße ...

    Noch ein andere Frage, wie kann ich die möglichst einfach testen? Ich habe noch keinen Transmitter, geplant ist ein µC der als Transmitter arbeitet, aber den muß ich erst noch fertig machen. Zudem besteht die Gefahr das ich mir wo einen Fehler einbaue und dann ncihtmal weiß, wo der Fehler liegt, Sender oder Empfänger. Hat jemand einen simplen Code für einen Transmitter auf Atmelbasis von dem er weiß, das er wirklich läuft?

    Grüße

  • Ich wollt mal ganz kurz was fragen
    Ich habe hier das problem dass das licht 5sec an ist, dann 5 sec aus.
    was für ein fehler ist das denn? das ist ja weder 8hz noch 2 hz.
    kann mir da eventuell jemand weiterhelfen?

    und vielleicht noch wie ich sonst alternativ eine adresse gleich fest einprogrammieren kann?

    danke schonmal im vorraus

  • Du meinst die Status-LED blinkt ca. im 5-Sek.-Takt?
    Dann hast du einfach vergessen, dem µC zu sagen, dass er mit externem Quarz laufen soll (Fuses richtig setzen). Momentan läuft er scheinbar mit intern 1MHz.

  • auf 16hz oder? aber wie?
    wenn ich auf das bearbeiten feld nach dem fuses brennen klicke kommen ein "paar " möglichkeiten.. die sicherheitswarnung schreckt mich etwas ab. deswegen frage ich lieber nochmal nach
    optionen unter low fuse:


    [Blockierte Grafik: http://www.abload.de/img/18suo.png]
    optionen unter high fuse:
    [Blockierte Grafik: http://www.abload.de/img/29rfh.png]
    und der ist stand des myavrprog:
    [Blockierte Grafik: http://www.abload.de/img/39s93.png]

    hoffe das hilft weiter. und danke für deine hilfe


    kleiner nachtrag:
    momentan ist tatsächlich int. RC OSC 8mhz gewählt. logischerweise sollte ich jetzt ja auf irgendeinen der eyt. Werte stellen. ABer auf crystal osc oder ext. clock?
    Alles Ext Crystal osc werte haben dahinter bei frequenzy maximal 8mhz stehen. was ja falsch wäre oder?

    Einmal editiert, zuletzt von Webluk (28. Mai 2011 um 10:02)

  • Oberen Haken raus (Divide clock ...)
    unten dann auswählen: Ext. Crystal Osc.; Frequency 8.0-MHz; Start-up time 14 CK + 65ms
    (Im Klartext: Quarz mit mehr als 8MHz hängt dran, nach Start 14 Takte + 65 ms warten)

    Den Rest kannst du auf Standard lassen.

  • so wieder neues von der front. jetzt blinkt er schneller. allerdings kann ich ihn jetzt im avr nichtmehr auslesen.
    passiert das wenn man die fuses setzt? ist er jetzt sozusagen "eingebrannt" aopeixh unveränderbar
    das lichtle blinkt mit 2hz, allerdings erziele ich kein ergebnis nachdem ich pin3 und die maswe kurzschließ es tut sich überhaupt nichts.

  • so wieder neues von der front. jetzt blinkt er schneller. allerdings kann ich ihn jetzt im avr nichtmehr auslesen.
    passiert das wenn man die fuses setzt? ist er jetzt sozusagen "eingebrannt" aopeixh unveränderbar


    Wenn du nur diese beiden Einstellungen verändert hast, sollte das eigentlich nicht sein.
    Unveränderbar ist mal gar nie etwas ;)
    Löschen und neu beschreiben geht immer!

    das lichtle blinkt mit 2hz, allerdings erziele ich kein ergebnis nachdem ich pin3 und die maswe kurzschließ es tut sich überhaupt nichts.


    Hast du exakt nach Schaltplan auf Seite zwei gebaut? Wenn ja, PIN1 und PIN4 am 75176 sind in dem Plan vertauscht.

  • ja, habe exakt nach schltplan gebaut und bin grade ziemlich genervt von mir selbst, da das miut dem vertauschen ja schon weiter oben stand.
    aaaah.
    ich werde das mal eben umlöten, hoffentlich hilfts.
    ich setzt gleich auch den prozi mal nochmal auf den smart usb und versuchs auszulesen.
    btw. darf man prozzi sagen?^^

  • :D und ich hab extra mein stecker umgelötet und mir gedacht warum das nich einheitlich ist.
    argl^^
    beim auslesen kommt aber im avr tatsäcjhlich timeout