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.
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
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.
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...
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.
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
> 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
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.
@ 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?
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
@ 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.
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.
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.
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
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.
> 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
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.
Für die Grundlagen gibt´s auch hier im Forum ein C sowie ein Assembler Tutorial.
@ 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.
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.