Hallo Zusammen, ich hab mal wieder ein Projekt, bei dem ich etwas Hilfe benötige. Und zwar will ich einen Atmega8 als DMX-Empfänger programmieren. Dieser soll 16 Ausgänge haben, die ich über DMX dann ansteuern kann. Jetzt zu meinen Fragen: 1) Ich kann doch die Pins SCK, MISO & MOSI als ganz normle Pins im Programm benutzen. Der µC wird ja über den RESET in den "Programmiermodus" geschaltet. Muss ich bei der Beschaltung dieser Pins dann irgentwas beachten, damit ich den µC später auch noch programmieren kann? 2) Da es sich um mehrere stationäre DMX-Empfänger handelt, muss die DMX-Adresse nur einmal einprogrammiert werden. Dennoch will ich nicht immer an jeden µC rennen, wenn sich was bei der Adressierung ändert. Ich würde also gerne an einem zentralen Punkt eine Anschlussdose hinsetzen, bei der alle µC einen Anschluss zum programmieren haben. Leider sind die Kabellängen hierfür mal schnell 7 bis 8 Meter. Wie könnte man diese Strecke am einfachsten überrücken? Mit SPI wirds wohl nicht gehen. Danke für Eure Hilfe Matthias
zu 1. ja kann man, der Prommer muß aber denn Zustand einprägen können. Ein Pin fest auf Masse wäre sehr ungünstig.. zu 2. vlt. eine DMX-Bootloader?
Bei den Pins des SPI wird wohl eher ein LED-Treiber oder ein Servo-Motor(aus dem Modellbaubereich) dran hängen. Zu dem Bootloader. Damit hab ich bisher noch nicht gearbeitet. Wo kann man sich am besten darüber informieren? Und wie groß wäre der Hardware-Aufwand? Danke
Das mit dem Bootloader hab ich glaube ich grob verstanden. Allerdings frage ich mich, ob es (für mich) nicht einfacher wär, wenn ich versuchen würde, die SPI-Leitung einfach mit irgenteiner Schaltung umzuwandeln, dass ich eine längere Leitung verwenden kann. Gibt es hierfür irgentwelche fertigen Schaltpläne oder ICs? Danke Matthias
Warum nimmst Du keinen Mega16, der hat genügend Pins, daß Du die SPI-Schnittstelle nicht doppelt belegen mußt. Im TQFP44-Gehäuse ist er etwa so groß wie ein 10-Cent Stück. Außerdem hat er mehr Speicher für ausgefallene Ideen ;-)
Hi, ich habe bei der Beschaltung ein paar Dinge abgeändert. Die SPI-Anschlüsse sind jetzt doch nicht mehr doppelt belegt. Als Bauform würde ich gerne ein DIL Gehäuse haben, weil ich nicht gerne mit SMD arbeite. Hier mal eine genauere Beschreibung meines Vorhabens: Die Empfänger sollen für verschiedene Wasserspiele genutzt werden, die um einen Teich platziert werden. Der Grund, warum ich hierfür gerade eine DMX-Übertragung will ist, dass ich hier mit Freeware, eine Synchonisation mit einem Musikstück erzeugen kann. Ich programmier die verschiedenen Aktionen am Rechner ein, starte das Lied auf dem Rechner und die Wasserspiele werden passend dazu bewegt und angeleuchtet. Anfangen will ich mit einer einfachen Fontäne. Diese soll 6 Funktionen haben. Grundsätzlich mal das Wasser ein und ausschalten. Zudem soll sich die Fontäne bewegen können (2 Achsen)(vergleichbar wie ein Moving-Head). Und dann soll der Strahl mittels RGB-LED noch passend angestrahlt werden können. Die mechanische Umsatzung ist für mich kein Problem. Als Ausgänge werden also folgende Bits benötigt: - Wasser ein/aus - Position a-Achse (Drehachse) - Position z-Achse ("Höhenachse) - LED rot (PWM) - LED grün (PWM) - LED blau (PWM) Dazu kommen noch 2 LEDs, die mir den Zustand des Empfängers anzeigen. Zudem benötige ich noch 3 Anschlüsse als DMX-In. Mit einem Atmega8 hätte ich dann noch 6 Ausgänge frei. Zuerst wollte ich 16 Ausgänge haben. Das brauch ich jetzt aber nicht mehr. Ich will eben nur noch, dass ich die µC von einem zentralen Punkt am Brunnen programmieren kann und nicht zu jeden Wasserspiel einzeln rennen muss. Vielleicht kann jetzt der ein oder andere besser verstehen, was ich umsetzen will. Danke schon mal Matthias
Ich hab nochmal ein bisschen gesucht. Dabei bin ich auf das Schlagwort 'Bustreiber' gestoßen. Gibt es einen passenden Bustreiber, den ich zum einen am Programmer als Sender und am Atmega als Empfänger einsetzen kann? Danke Matthias
Da kommt vieles in Frage. Die RS485-Typen sind nicht schlecht, ansonsten kann man auch CAN empfehlen... Ich glaub, DMX ist sogar auf RS485 standard, bin mir aber grad nicht sicher
Ich hab mal einen Entwurf für meine Platine gemacht. Vielleicht könnte grad mal jemand darüber schauen, ob hardwaremäßig alles i.O. ist. Ich sag gleich dazu, dass ich keine analogen Werte einlese und deshalb die Pins für die Referenzspannung auf GND gelegt habe. Bei dem Entwurd der Schaltung orientierte ich mich bei der von Hendrik Hölscher. www.hoelscher-hi.de Danke Matthias
Wenn nur du dranhängst, solltest du zumindest den Empfänger dauernd aktiv lassen (RE/ an GND), denn sonst hast du beim Senden einen undefinierten Pegel am RXD-Pin. Alternativ kannst du einen Pullup in die RXD-Leitung einbauen...
>Ich sag gleich dazu, dass ich keine analogen Werte einlese und deshalb >die Pins für die Referenzspannung auf GND gelegt habe. Wieder einer der noch nie einen Blick in das Datenblatt geworfen hat. Man, man, man. AVCC sagt doch schon WO das hingehört. Und AREF lässt man offen wenn man den Pin nicht braucht.
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.