Forum: Mikrocontroller und Digitale Elektronik DMX und der Attiny2313


von Hendrik W. (heni_w)


Angehängte Dateien:

Lesenswert?

Hallo,

Ich reihe mich ein in die lange Kette der Menschen, die DMX mit dem 
Attiny2313 umsetzen wollen … irgendwie klappt es immer noch nicht … Ich 
bin auch nach wie vor Anfänger.

Wie hier Beitrag "UART auf Attiny kaputt ?" beschrieben 
empfängt der Attiny2313 irgendwie Datenmüll oder sogar das richtige 
DMX-Signal, denn, wenn ich die Schaltung an ein anderes DMX-Gerät (also 
einfach nur den SN75176 in der Grundbeschaltung) anschließe, dann kann 
ich RGB ansteuern … gar kein Problem.

Ab und zu zuckt meine Test-LED, wahrscheinlich wird dann doch mal ein 
Byte valide erkannt. Aber Alles in Allem zufällig. Schaltplan: 
dmx_empfang.png

Der Code ist aus anderen Projekten zusammen kopiert. Ich bin aber immer 
noch davon überzeugt, dass es so funktionieren müsste. Siehe Anhang 
(main.c).

Eine Idee hatte ich noch … vielleicht ist das auch schon die Antwort … 
Bei einem anderen RGB-DMX-Empfänger (3-Kanal RGB von U. Radig, woher 
auch der C-Code her stammt, irgendwo muss ich ja anfangen :) ) gingen 
die Pins 2 und 3 vom SN75176 noch an den INT0 vom Attiny und zusätzlich 
auf GND, denn soweit ich den SN75176 richtig verstanden habe, müssen Pin 
2 & Pin 3 auf GND, damit er empfangen kann. (Siehe zweiter Schaltplan 
(dmx_empfang_2_3_INT0.png )). Rate und Rätselfrage: Ist das etwa das 
Signal, was in den INT0 geht, welches der Attiny braucht um die 
DMX-Pakete richtig zu zählen?

Noch etwas, die Fuses sind laut avrdude E:FF, H:DF, L:4E. Der Attiny hat 
einen Quartz mit 12Mhz angeschlossen (Kondensatoren: 22pF). Ich bin der 
Meinung, dass die Fuses so richtig sind, lasse mich aber natürlich gerne 
eines Besseren belehren.

Für alle Hilfe wie immer dankbar!

Viele Grüße!

von Route_66 H. (route_66)


Lesenswert?

Hallo!
Die PINs 2 und 3 sind die Richtungsumschaltung für den DMX-Bus und sind 
keine Signalausgänge. Wenn da ein PIN des Controllers dran hängt, kann 
von Senden auf Empfang umgeschalten werden. Das ist bei DMX wohl nie 
notwendig.

Du mußt aber meineer Meinung nach die Datenleitungen A und B am 
Empfänger über Widerstände auf definierte Pegel legen, damit bei offenen 
Eingängen kein "Müll" erkannt wird.

von bluppdidupp (Gast)


Lesenswert?

Route 66 schrieb:
> Die PINs 2 und 3 sind die Richtungsumschaltung für den DMX-Bus und sind
> keine Signalausgänge. Wenn da ein PIN des Controllers dran hängt, kann
> von Senden auf Empfang umgeschalten werden. Das ist bei DMX wohl nie
> notwendig.

...außer man möchte (später mal) RDM* unterstützen ;D

*http://en.wikipedia.org/wiki/RDM_%28lighting%29#Uses_for_RDM

von helmar1 (Gast)


Angehängte Dateien:

Lesenswert?

Hallo!

Wunsch von bluppdidupp (Gast)
  Datum: 29.01.2015 17:02
:"...außer man möchte (später mal) RDM* unterstützen "

deswegen für Attiny2313 RGB-Dimmer DMX mit RDM

Anhang:RGB_DMX_RDM.zip

von Helmar Z. (helmar1)


Angehängte Dateien:

Lesenswert?

HALLO!

Ich habe meinen Anhang:RGB_DMX_RDM.zip überarbeitet , um
AVR DMX Einsteigern es zu erleichtern und einen
Erfolg zu ermöglichen .

Alles ganz leicht ?!?    nein -> Doch !!!



kein C/C++  sonder dummer weise *** AVR-Assembler-Code ***


Viele Grüße!
               Helmar

von c-hater (Gast)


Lesenswert?

Hendrik W. schrieb:

> Der Code ist aus anderen Projekten zusammen kopiert. Ich bin aber immer
> noch davon überzeugt, dass es so funktionieren müsste.

Genau das ist das Problem. Von völlig inkompetenten Leuten 
zusammenkopierter unverstandener Code.

Wie wäre es mal mit Lernen? Muss ja nicht soweit gehen, dass du was 
wirklich Eigenes schreiben könntest, aber doch wenigstens soweit, dass 
du in die Lage versetzt wirst, halbwegs kompetent diese 
"C&P-Programmierung" zu betreiben...

von Hendrik W. (heni_w)


Angehängte Dateien:

Lesenswert?

Nicht um mich zu rechtfertigen, sondern um darzustellen, warum ich 
C&P-Programmierung gerade für Einsteiger für gut halte: Mit den 
Projekten und dem dazu gehörigen C-Code von Hoelscher, Radig und Co. 
habe ich einen guten und verständlichen Einstieg gefunden. Es sind 
immerhin Beispiele, die funktionieren. Bei meinem ursprünglichen Problem 
(s.o.) lag es eh an der Hardware.

c-hater schrieb:
> Wie wäre es mal mit Lernen? Muss ja nicht soweit gehen, dass du was
> wirklich Eigenes schreiben könntest, aber doch wenigstens soweit, dass
> du in die Lage versetzt wirst, halbwegs kompetent diese
> "C&P-Programmierung" zu betreiben...

Inzwischen läuft das C-Programm für DMX auf einem Atmega8. Hätte ich den 
Beispiel-Code nicht gehabt, dann hätte das alles wesentlich länger 
gedauert inklusive noch mehr Frustration.

Gelernt habe ich dabei übrigens trotzdem sehr viel! Ging ja nie darum 
einfach nur C-Code zu kopieren, sondern auch zu verstehen, warum die 
Codezeilen am Ende eine LED Faden können. Das Ziel habe ich auf jeden 
Fall erreicht. Also, an alle EinsteigerInnen: Kopiert und mixed soviel 
ihr wollt und soviel die Lizenzen hergeben. Wenn der Anspruch da ist, 
dann vertiefen die Menschen eben ihr Wissen, alle anderen wirst du mit 
deiner Problemanalyse eh nicht erreichen:

> Genau das ist das Problem. Von völlig inkompetenten Leuten
> zusammenkopierter unverstandener Code.

Kompetenz entsteht meines Erachtens aus der Auseinandersetzung mit der 
Materie. Für mich ist es immer sehr hilfreich gewesen Code zu lesen und 
zu verstehen, wie er funktioniert. Für andere ist es aber vielleicht 
einfacher ein C-Buch oder Assembler-Buch zu lesen und alles von Grund 
auf Schritt für Schritt umzusetzen. Ich halte beide Wege für richtig, 
kommt ja immer auch auf den Lerntypen an.

Ich habe übrigens den Code mit hier reingestellt.

Gruß

: Bearbeitet durch User
von Helmar Z. (helmar1)


Lesenswert?

HALLO !

Ich gratuliere für den Erfolg  Hendrik W. (heni_w) und zu wissen das du 
nicht aufgeben hast .
Sich viele Codebeispiele zu holen ist ein wichtiger guter Weg .

Ursprungsthema   „DMX und der Attiny2313“

ATmega8 =  Attiny2313 + Wachstum (gut begossen)   →  Passt !!!


Meine Ziele und Wunsche :
LED – Dimmer   mit DMX  und RDM  IR-Bedienung

1. 16 Bit Dimmung
2. Flimmer frei  voll Kamera , Film Kamera tauglich auch bei sehr kurzen 
Verschluss Zeiten
3. gamma-kurve angepasst
4. Funktionen Dimmung und Flashen  möglich
5. mal schauen was noch fehlt

ups  !!!  das passt  nicht  in den   Attiny2313 aber in den Atmega8 oder 
... oder ...

ich will auch dranbleiben .

   Gruß
               Helmar

von Hendrik W. (heni_w)


Lesenswert?

Die Ursprungsidee kommt von hier:

http://www.ulrichradig.de/home/index.php/dmx/alias-4

Das ist ein DMX-Empfänger, der für LED-Stripes mit dem Attiny2313 
umgesetzt wurde. Und im Code ist das dann auch ein Soft-PWM, der Mosfets 
mit Compare an und ausschaltet, sprich Timerwerte werden mit dem Wert 
des DMX-Kanals verglichen und der Kanal dementsprechend an oder 
ausgeschaltet.

: Bearbeitet durch User
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
Noch kein Account? Hier anmelden.