Forum: Mikrocontroller und Digitale Elektronik DMX Adresse mit Schieberegister


von Ronny S. (Firma: Veranstaltungsservice) (siggi70)


Lesenswert?

Hallo Leute,
hab mir mal einige Beiträge hier angeschaut, da ich eine Lösung für mein 
Problem finden wollte.
Ich habe eine Schaltung mit einem Atmega 8 zur Steuerung von Signalen 
mit DMX Anbindung.
Leider wird die Startadresse mit einem Dipschalter eingestellt.
Dies wollte ich jetzt mit einer Variante des Schieberegisters 
realisieren.
Wer hat dies schon mal gemacht und würde dies auch gehen.
Die Grundschaltung ist von hoelscher.

von Dennis K. (scarfaceno1)


Lesenswert?

Nur mal zum Verständnis...

Dipschalter -> Schieberegister -> µC

So?

Wenn ja dann wäre der 74XX165 der richtige.
Ansatz hier:
http://www.mikrocontroller.net/articles/AVR-Tutorial:_Schieberegister

Sonst vielleicht auch per I2C?

Mit dem PCF8574

von Ronny S. (Firma: Veranstaltungsservice) (siggi70)


Lesenswert?

Genau diesen Beitrag hatte ich mir auch angeschaut.
Die Schaltung ist von hier 
http://www.hoelscher-hi.de/hendrik/light/pimpfog.htm und nun würde ich 
für die Steuerung noch ein Display verwenden und wie gesagt den 
Dipschalter durch zwei Schieberegister ersetzen wollen.
Ansetze für das Programm hab ich auch schon hier gefunden.
Für mich ist es wichtig die DMX Startadresse über den Atmega8515 
einstellen zu können aber per Programm und nicht manuell.
Mit dem Atmega8515 soll eine Punpe, ein Lüfter und die Heizung gesteuert 
werden. Temperaturabfrage ist auch noch dabei.
Das ganze mit einem Display ( LCD ) versehen werden.
Ich dachte an 4 Schalter für Mode  Enter  Up / Down.
Das war so das Konzept von mir.
Die Steuerung soll für einen Hazer sein der mit DMX angesteuert wird 
aber auch manuell betrieben werden soll.

von Dennis K. (scarfaceno1)


Lesenswert?

Wenn da ohnehin ein Display und Schalter dran sollen, dann kannst du die 
Adresse auch über diese dann einstellen und an entsprechender Stelle im 
Flash abspeichern.

Dann bräuchtest du gar keine Hardware für die Adresse...

von Ronny S. (Firma: Veranstaltungsservice) (siggi70)


Lesenswert?

Mein Problem ist das ich in den 80er das letzte mal mit Elektronik was 
gemacht habe und nun ist einiges anders geworden.
Da ich mich nicht so gut mit der Mikroelektronik auskenne ist es schwer 
eine optimale Lösung zu finden.
Deine Idee würde mich aber interessieren wie du es meinst.

von Dennis K. (scarfaceno1)


Lesenswert?

Auf der Hoelscher Seite ist es ja so, dass die 10 Pins der Dipschalter 
abgefragt werden, ob sie high(5V) oder low(0V) sind.

Daraus ergibt sich dann (binär) die Adresse.
Und diese wird irgendwo gespeichert, damit der µC weiß wann er reagieren 
und etwas tun muss.

Wenn du ein Display und Schalter dran machst, dann brauchst du ja ein 
Menü.
Um irgendetwas ein zu stellen.
Dort könnte man dann auch die Adresse eingeben (evtl. per Up/Down 
Tasten) und diese dann im entsprechenden Register abspeichern.

Hab mal reingeschaut.

In lib_DMX_in werden die Dipschalter abgefragt und dann in DmxAdress 
gespeichert.
Also im Menu den eingestellten Wert der Variable DmxAddress speichern 
und das ist dann die Dmx Adresse des Gerätes.

: Bearbeitet durch User
von Karl H. (kbuchegg)


Lesenswert?

> Leider wird die Startadresse mit einem Dipschalter eingestellt.
> Dies wollte ich jetzt mit einer Variante des Schieberegisters
> realisieren.

Hä?

Was hat ein Schieberegister mit Dipschaltern zu tun?

> und wie gesagt den Dipschalter durch zwei Schieberegister
> ersetzen wollen.

Nochmal Hä?

Das ergibt keinen Sinn. Das ist wie wenn du sagst, du willst in die USA 
fahren. Allerdings wählst du als Fortbewegungsmittel nicht das Flugzeug 
sondern ein Wiener Schnitzel.

Dipschalter und Schieberegister sind konzeptionell völlig verschiedene 
Dinge, die etwas komplett anderes machen. Die Idee 'Ich ersetze das eine 
durch das andere' ergibt keinen Sinn.


Edit:
Dennis hat schon recht.
Wenn du ein paar Tasten und ein LCD an die Schaltung anhängen willst, 
dann fällt allerdings der Grund für die Dip-Schalter weg und man stellt 
die DMX.Adresse dann eben mit den Tastern ein.
Allerdings: dazu sind Programmänderungen nötig. Bist du sicher, dass du 
die hinkriegst?

> Für mich ist es wichtig die DMX Startadresse über den
> Atmega8515 einstellen zu können aber per Programm und
> nicht manuell.

Schon wieder so eine 'Hä' Aussage.
Um manuelles einstellen wirst du nicht rumkommen. Irgendjemand muss auf 
irgendwelche Taster drücken um im Programm eine Adresse einstellen zu 
können. Wie soll das denn auch sonst gehen.


In mir keimt ein Verdacht. Kann es sein, dass du komplett missverstehst, 
wie diese Adresse auf diesen Platinen benutzt wird? Die greift nicht 
irgendwie in irgendwelche Hardware ein. Statt dessen benutzt das 
Programm im Mega diese Adresse um zu entscheiden, was es mit dem 
empfangenen DMX Stream machen soll. Diesem Programm kann man diese 
Adresse auf verschiedene Art und Weise zur Verfügung stellen. zb in dem 
das Programm sie sich von den Dip-Schaltern holt. Oder in dem das 
Programm sich die Adresse im EEPROM speichert und es im Programm eine 
Möglichkeit gibt, sie zu modifzieren. Aber die Adresse ist letzten Endes 
einfach nur eine Zahl, die an einer bestimmten Stelle in der 
Programmierung des Mega benutzt wird. Mehr nicht.
Mir scheint, dir ist das nicht wirklich klar. Daher auch die krude Idee 
die Dip-Schalter durch Schieberegister zu ersetzen. Im Lichte eines 
kompletten Missverständnisses des Systemaufbaus deiner seits würde das 
sogar schon fast einen Sinn ergeben.


>  Da ich mich nicht so gut mit der Mikroelektronik auskenne ist
> es schwer eine optimale Lösung zu finden.

Ich liebe ja diese Übertreibungen. Bei dir geht es nicht um eine 
'optimale Lösung'. Bei dir geht es erst mal um 'irgendeine Lösung, die 
zumindest das Potential hat funktionieren zu können'. Optimieren kommt 
später.

: Bearbeitet durch User
von Ronny S. (Firma: Veranstaltungsservice) (siggi70)


Lesenswert?

Ja so könnte man es sagen.
Ich habe mir zwar den Aufbau vom Atmega angeschaut aber so richtig 
schlau wurde ich nicht.
Ich weis zwar was er machen soll und wie das Menü Aussehen könnte. Die 
Frage ist halt die Lösung.
Ich arbeite seit Jahren mit DMX Geräten und hab auch noch welche ohne da 
und diese würde ich gerne umbauen.
Ansetze hab ich viele, nur die Umsetzung und das Verständnis für den 
Atmega sind der Knackpunkt bei mir.
Und das ist ja das Herzstück des ganzen.

von Falk B. (falk)


Lesenswert?

@ Ronny Sickert (Firma: Veranstaltungsservice) (siggi70)

>http://www.hoelscher-hi.de/hendrik/light/pimpfog.htm und nun würde ich
>für die Steuerung noch ein Display verwenden und wie gesagt den
>Dipschalter durch zwei Schieberegister ersetzen wollen.

Dann tu das.

AVR-Tutorial: Schieberegister

Geht aus in C leicht.

>Für mich ist es wichtig die DMX Startadresse über den Atmega8515
>einstellen zu können aber per Programm und nicht manuell.

Wozu brauchst du dann ein Schieberegister?

von Karl H. (kbuchegg)


Lesenswert?

Ronny Sickert schrieb:

> Ich habe mir zwar den Aufbau vom Atmega angeschaut aber so richtig
> schlau wurde ich nicht.
> Ich weis zwar was er machen soll und wie das Menü Aussehen könnte. Die
> Frage ist halt die Lösung.


Und genau da liegt das Problem.

Bei einer µC basierten Lösung macht die Hardware vielleicht 10 bis 15% 
der Lösung aus. Die restlichen 85 bis 90% stecken im Programm.

D.h. eine µC-basierte Lösung steht und fällt mit der Fähigkeit, den µC 
auch programmieren zu können.
IC mittels Draht zusammenstoppeln war gestern. Heute baut man eine 
Standardschaltung (ok, Fast-Standardschaltung) mit einem µC zusammen und 
den Rest erledigt man mittels Programmierung. Erst die Programmierung 
macht die Standardschaltung zu genau dem Gerät, das man eigentlich bauen 
will.

: Bearbeitet durch User
von Falk B. (falk)


Lesenswert?

@ Ronny Sickert (Firma: Veranstaltungsservice) (siggi70)

>Ich arbeite seit Jahren mit DMX Geräten und hab auch noch welche ohne da

Da bist du aber nur Benutzer.

>und diese würde ich gerne umbauen.

>Ansetze hab ich viele, nur die Umsetzung und das Verständnis für den
>Atmega sind der Knackpunkt bei mir.
>Und das ist ja das Herzstück des ganzen.

Dann musst du es entweder lernen (dauert ne GANZE Weile) oder jemanden 
finden, der dir das programmiert.

von Ronny S. (Firma: Veranstaltungsservice) (siggi70)


Lesenswert?

Falk Brunner schrieb:
> @ Ronny Sickert (Firma: Veranstaltungsservice) (siggi70)
>
>>Ich arbeite seit Jahren mit DMX Geräten und hab auch noch welche ohne da
>
> Da bist du aber nur Benutzer.
>
>>und diese würde ich gerne umbauen.
>
>>Ansetze hab ich viele, nur die Umsetzung und das Verständnis für den
>>Atmega sind der Knackpunkt bei mir.
>>Und das ist ja das Herzstück des ganzen.
>
> Dann musst du es entweder lernen (dauert ne GANZE Weile) oder jemanden
> finden, der dir das programmiert.

Ok, für das lernen habe ich einiges an Literatur und Bausätzen da.
Ich merke schon das es nicht so einfach wird wie ich es mir vorgestellt 
habe.
Zwischen damals und heute liegen Galaxyen.
Das ist aber das interessante daran.

von Ronny S. (Firma: Veranstaltungsservice) (siggi70)


Lesenswert?

Karl Heinz schrieb:
> Ronny Sickert schrieb:
>
>> Ich habe mir zwar den Aufbau vom Atmega angeschaut aber so richtig
>> schlau wurde ich nicht.
>> Ich weis zwar was er machen soll und wie das Menü Aussehen könnte. Die
>> Frage ist halt die Lösung.
>
>
> Und genau da liegt das Problem.
>
> Bei einer µC basierten Lösung macht die Hardware vielleicht 10 bis 15%
> der Lösung aus. Die restlichen 85 bis 90% stecken im Programm.
>
> D.h. eine µC-basierte Lösung steht und fällt mit der Fähigkeit, den µC
> auch programmieren zu können.
> IC mittels Draht zusammenstoppeln war gestern. Heute baut man eine
> Standardschaltung (ok, Fast-Standardschaltung) mit einem µC zusammen und
> den Rest erledigt man mittels Programmierung. Erst die Programmierung
> macht die Standardschaltung zu genau dem Gerät, das man eigentlich bauen
> will.

Du meinst ich sollte zuerst alles das aufschreiben was es machen soll.
Dann ein Programm schreiben und zum Schluss eine Schaltung entwerfen?
Naja, klingt zumindest nicht unlogisch.
Damals habe ich es ein bischen anders gemacht.
Waren aber auch andere Zeiten mit anderer Technik.

von Karl H. (kbuchegg)


Lesenswert?

Ronny Sickert schrieb:

> Du meinst ich sollte zuerst alles das aufschreiben was es machen soll.

Du musst vor allen Dingen zuerst mal programmieren lernen.

Es hat keinen Sinn, sich zum New York Marathon anzumelden, oder über 
Gewinnstrategien zu sinnieren, wenn man noch nicht einmal krabbeln kann.


Plane erst mal so 2 bis 3 Monate ein, in der du die Grundlagen der 
Programmierung erlernst. Dazu brauchst du noch nicht mal einen µC, das 
kann man auf einem PC mit einer freien Entwicklungsumgebung und guter 
Literatur ebenfalls und das sogar besser.

Wenn du erst mal programmieren kannst, dann geht dein Projekt ratz-fatz. 
Aber die Voraussetzung ist nun mal, dass du es zumindest rudimentär 
beherrscht. Nach 2 bis 3 Montan bist du noch lange kein Profi, 
bestenfalls ein fortgeschrittener Neuling. Für 'Einsteoger-Profi' kann 
man auch gut und gerne 2 bis 3 rechnen. Aber nicht Monate sondern Jahre.

: Bearbeitet durch User
von Ronny S. (Firma: Veranstaltungsservice) (siggi70)


Lesenswert?

Karl Heinz schrieb:
> Ronny Sickert schrieb:
>
>> Du meinst ich sollte zuerst alles das aufschreiben was es machen soll.
>
> Du musst vor allen Dingen zuerst mal programmieren lernen.
>
> Es hat keinen Sinn, sich zum New York Marathon anzumelden, oder über
> Gewinnstrategien zu sinnieren, wenn man noch nicht einmal krabbeln kann.
>
>
> Plane erst mal so 2 bis 3 Monate ein, in der du die Grundlagen der
> Programmierung erlernst. Dazu brauchst du noch nicht mal einen µC, das
> kann man auf einem PC mit einer freien Entwicklungsumgebung und guter
> Literatur ebenfalls und das sogar besser.
>
> Wenn du erst mal programmieren kannst, dann geht dein Projekt ratz-fatz.
> Aber die Voraussetzung ist nun mal, dass du es zumindest rudimentär
> beherrscht. Nach 2 bis 3 Montan bist du noch lange kein Profi,
> bestenfalls ein fortgeschrittener Neuling. Für 'Einsteoger-Profi' kann
> man auch gut und gerne 2 bis 3 rechnen. Aber nicht Monate sondern Jahre.

Ich hatte es mir fast schon so gedacht. Aber was soll es, da muss ich 
dir in diesem Fall recht geben.
Ich habe verschiedene Bücher über C Programmierung und arbeite mit dem 
AVR Programm Version4.
Kannst du mir zum Einstieg was empfehlen?
Sei es Literatur oder Software.

von Karl H. (kbuchegg)


Lesenswert?

>  Ich habe verschiedene Bücher über C Programmierung

passt.
Hol dir für den PC eine der verfügbaren freien Entwicklungsumgebungen 
und fang mit dem Buch an, welches sich am ehesten als Lehrbuch eignet.


Eine einfache Entwicklungsumgebung ist zb. Dev-C++
http://www.bloodshed.net/dev/devcpp.html

von Ronny S. (Firma: Veranstaltungsservice) (siggi70)


Lesenswert?

Karl Heinz schrieb:
>>  Ich habe verschiedene Bücher über C Programmierung
>
> passt.
> Hol dir für den PC eine der verfügbaren freien Entwicklungsumgebungen
> und fang mit dem Buch an, welches sich am ehesten als Lehrbuch eignet.
>
>
> Eine einfache Entwicklungsumgebung ist zb. Dev-C++
> http://www.bloodshed.net/dev/devcpp.html

Danke für den Tip und ich werd das mal so versuchen.
Bei Fragen weis ich ja wenn ich fragen kann.

von Dennis K. (scarfaceno1)


Lesenswert?

Für die Grundlagen gibt´s auch hier im Forum ein C sowie ein Assembler 
Tutorial.

von Falk B. (falk)


Lesenswert?

@ Dennis Kaufmann (scarfaceno1)

>Für die Grundlagen gibt´s auch hier im Forum ein C sowie ein Assembler
>Tutorial.

Jain.

"Vorausgesetzt werden Grundkenntnisse der Programmiersprache C. Diese 
Kenntnisse kann man sich online erarbeiten, z. B. mit dem C Tutorial von 
Helmut Schellong (Liste von C-Tutorials). Nicht erforderlich sind 
Vorkenntnisse in der Programmierung von Mikrocontrollern."

IM ASM Tutorial ist es zwar nicht ganz so, aber auch hier sollte man 
nicht WIRKLICH bei Null anfangen.

von Dennis K. (scarfaceno1)


Lesenswert?

Falk Brunner schrieb:
> IM ASM Tutorial ist es zwar nicht ganz so, aber auch hier sollte man
> nicht WIRKLICH bei Null anfangen.

Ging bei mir problemlos...

ASM brauch man eigentlich ohnehin nur bei µC...

Aber egal, OT...

: Bearbeitet durch User
von Ronny S. (Firma: Veranstaltungsservice) (siggi70)


Lesenswert?

Danke Leute für die Hilfe.
Ich werd jetzt mal im Bücherschrank nachschauen was ich für Bücher über 
C habe und hab mir über das Forum hier auch schon welche angeschaut die 
ich mir dann wohl holen werde.
Ihr habt mir geholfen mal anders an die Sache heranzugehen und ich denke 
da komme ich eher zu meinem Ziel.
Muss dabei aber ganz schön umdenken!

Vielen Dank noch mal für die Hilfe !!!

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.