mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Beschaltung SPI-Anschlüsse & Kabellänge SPI


Autor: Mathias B. (matthiasbuerkle)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: ... ... (docean) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: Mathias B. (matthiasbuerkle)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Mathias B. (matthiasbuerkle)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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 ;-)

Autor: Mathias B. (matthiasbuerkle)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Mathias B. (matthiasbuerkle)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Sumynona (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Mathias B. (matthiasbuerkle)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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...

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.