Hallo, ich bin ein blutiger µC-Anfänger (bzw. hatte noch nie einen µC in der Hand, aber meine Bestellung ist unterwegs ;-)), und bin dabei Vorüberlegungen für mein "Jungfern-Projekt" anzustellen bzw. mich einzulesen. Wenn ich das Projekt kurz schildern darf: Ich bin Gitarrist und will einen Fußschalter (mit 8 Tastern) bauen, der mir über ein 5-10m Kabel ein Relais-Board ansteuert, welches verschiedene Gitarren-Effektgeräte aus dem Signalweg nimmt bzw. reinschaltet. Im Fußschalter soll ein atmega8 sein, der einerseits meine Schaltzustände "toggelt" (und entsprechend 8 Status-LEDs ansteuert), sowie die 8-bit-Zahl, die den Zustand des Fußschalter repräsentiert, bei jeder Änderung über das lange Kabel an den zweiten atmega8 sendet. Programmieren will ich (erst mal) mit Bascom. Meine Frage: Welche Schnittstelle / welches Protokoll soll ich für die Übertragung nehmen? (ideal wäre, wenn ich mit einem 5-adrigen Kabel auskommen könnte, 2 Leitungen sind bereits für Masse und Stromversorgung vorgesehen) Ich hatte eigentlich TWI/I2C im Auge, aber in einem Beitrag stand, diese wäre für lange Verbindungswege nicht geeignet (?). Warum ist das so - wegen der möglichen Einstreuungen? Ich habe die Aufgabe, ein Byte über ein 5-10m Kabel zu schicken, wohl etwas unterschätzt :-/. Kann mir da jemand Tipps geben, damit ich mein neu gewonnenes Hobby nicht gleich wieder frustriert an den Nagel hänge ;-)? Danke und lg, Phil
da auf der bühne doch einige geräte sind und kabel über kabel rumliegen .. wäre vlt eine RS485 verbindung im halbduplexmode was man brauch 2 adern und vlt nen schirm .. man könnte quasi eine XLR strippe verwenden die eh überall da rumliegt ^^ wenn es nur die 2 teilnehmer sind .. is das gesammte protokoll sehr einfach serielle schnittstelle mit max485 treiber in den senderoutinen den sendepin aktivieren und gut is bei 9600baud sind so ohne was mehre hundert meter möglich
Phillip P. schrieb: > Ich bin Gitarrist und will einen Fußschalter (mit 8 Tastern) bauen, der > mir über ein 5-10m Kabel ein Relais-Board ansteuert, welches > verschiedene Gitarren-Effektgeräte aus dem Signalweg nimmt bzw. > reinschaltet. schönes projekt! > Welche Schnittstelle / welches Protokoll soll ich für die Übertragung > nehmen? das protokoll ist ja softwareseite - das musst du dir selber überlegen. mein tipp wäre, keins zu verwenden und einfach jedes byte als daten zu verwenden. > Ich hatte eigentlich TWI/I2C im Auge, aber in einem Beitrag stand, diese > wäre für lange Verbindungswege nicht geeignet (?). Warum ist das so - > wegen der möglichen Einstreuungen? alles richtig. ich würde dir eine differentielle übertragung empfehlen. rs422 zum beispiel. differentiell heißt, dass zum eigentlichen signal noch das logisch inverse parallel mitübertragen wird. sprich: eine 1 ist auf leitung A 5V und auf leitung B 0V. das nutzsignal entsteht dann aus der wortwörtlichen differenz beider signale. dabei wird ausgenutzt, dass sich eingekoppelte störungen (R) auf leitung A und B gleich auswirken. du hast also A+R und B+R. bei der subtrahierung (A+R)-(B+R) verschwindet die störung R wieder. so viel zum theoretischen exkurs. du brauchst also 2 differentiell-wandler wie z.b. den max485 und entweder 2 oder 4 leitungen - je nachdem, ob du gleichzeitig senden und empfangen willst, oder nicht.
...und wenn man sich etwas tiefer mit der Materie auseinandersetzt, stellt man fest, dass man 2 oder 4 Leitungen PLUS MASSE braucht. Beim Auswählen der Kabel beachten ;-) Gruss, Thorsten
^^ naja 5 adriges XLR liegt auch meist in der kiste :P
Würde auch zu RS485 raten. Die Treiber sind auch nicht teurer als RS232. Als Kabel reicht Klingeldraht völlig aus. TWI hat 4,7K gegen +. Das ist nicht besonders resistent gegen Störungen von außen...
Thorsten schrieb:
> stellt man fest, dass man 2 oder 4 Leitungen PLUS MASSE braucht. Beim
er schreibt, dass spannung darüber übertragen wird. ich geh davon aus,
dass masse da dabei ist =)
und als protokoll entweder datenbyte + CRC oder 2x das selbe datenbyte hintereinander mehr aufwand würde ich dort nicht betreiben
Erst mal vielen Dank für die schnellen Antworten!!! Ist das normal hier im Forum ;-)? Ich werde mir also mal die vorgeschlagenen RS-Specs genauer ansehen. Das heißt also ohne zusätzlichen Treiber ist das nicht umsetzbar? Ich hatte als Kabelverbindung ein Midi-Kabel (5-polig) geplant. Ich möchte wie gesagt über dieses Kabel auch den im Fußschalter befindlichen mega8 und die LEDs speisen. @Michael: Wenn dich das Projekt interessiert können wir ja in Kontakt bleiben, dann kann ich dir meine Resultate zukommen lassen. Für die Relais-Geschichte habe ich geeignete Schaltpläne für das Entprellen der Relais etc. gefunden (ist ja gar nicht so unheikel bei Gitarren-Signalen). zu "differentielle übertragung": hmmm, das erinnert doch irgendwie an die Übertragung von Mikro-Pegeln über XLR? Ist ja dasselbe Prinzip... Zum Senden/Empfangen: Eigentlich ist die Verbindung nur in eine Richtung (nennt man das Halb-Duplex?) - d.h. ich habe eine Chance mit 2 Leitungen + Masse auszukommen, richtig? HMMM, ok, danke für die Impulse - wenn noch mehr kommen, bin ich auch nicht böse :-). LG! Phillip
> und als protokoll > > entweder datenbyte + CRC Wozu? Viel zu kompliziert! Einfach zyklisch übertragen. Du willst ja nur von A nach B ein Byte übetragen. Am einfachsten serielle Schnittstelle, z.B. mit 300 Baud, damit kannst Du 30 mal die Sekunde ein Byte übertragen. Das machst Du aber nur z.B. 15 mal in der Sekunde, dann gibt es auch keine Probleme falls der Empfänger mal aus dem Tritt kommt. In der Epfangssoftware kannst Du noch einen "Filter" einbauen z.B. nur wenn ein Byte zwei oder dreimal hintereinander gleich empfangen wurde, wird wirklich umgeschaltet. Damit bist Du sehr immun gegen Störungen. Und bei 300 Baud, 15 Bytes die Sekunde reicht sogar ein einfacher Controller-Pin unsymetrisch als Ausgang. Ausgang am Sender und Eingang am Empfänger z.B. mit 470 Ohm in Serie schützen. Das dürfte für den Anfang mehr als ausreichend sein.
>entweder datenbyte + CRC >oder 2x das selbe datenbyte hintereinander >mehr aufwand würde ich dort nicht betreiben wennschon mehrfach, dann 3-fach. von zweifach hat man garnix, weil man evtl. nicht weiß, welches der beiden nun falsch ist.
@experte: OK, danke für den Tipp - klingt einfach ;-). > Ausgang am Sender und Eingang > am Empfänger z.B. mit 470 Ohm in Serie schützen. Dumme Frage: D.h. der Widerstand kommt jeweils zw. Pin am Controller und der Leitung? Wovor schützt dieser Widerstand? Danke.
der kommt nirgens hin =) nimm lieber die "handfeste" variante mit dem differentiellen treiber.
> Dumme Frage: Gibt es nicht. > D.h. der Widerstand kommt jeweils zw. Pin am Controller und > der Leitung? Ja. > Wovor schützt dieser Widerstand? Am Ausgang schirmt der Widerstand die Kabelkapazität ab und macht das Signal auf dem Kabel "langsamer". Das verhindert Über- und Unterschwinger und schützt den Ausgang vor Überlastungen. Am Eingang (und am Ausgang) begrenzt der Widerstand, falls doch Über- oder Unterschwinger auftreten oder Falls Störungen einstrahlen, die Ströme über die Schutzdioden auf erträgliche Größen.
ich finde gerade hier sollte man nicht sparen !! aufer bühne soll viel passieren ... aber die hardware muss sicher sein ich würde beim max485 bleiben und gut das ding isn 8pinner alternativ SN75176 .. is baugleich zum max485 aber billiger der portpin geht auch ... wenn aber dort störungen reinkommen .. geht die sucherei los auf kurzen strecken und zum testen kann man sowas machen .. aber ansonst wenn es ein fester berieb sein soll ... immer über einen treiber
Was auch sicher funktioniert - TTY-Schnittstelle mit 20mA. Direkte Kopplung ist wirklich nicht zu empfehlen, wird bei der Leitungslänge aber auch funktionieren. Im Bühnenbetrieb ist mit heftigen Störungen zu rechnen, zyklische Übertragung würde das aber überdecken. Also: RS485.
Die Treiberbausteine sind ja auch nicht furchtbar teuer. Wenn Du später mal auf Drahtlosumsteigen willst, schau Dir mal die xBee Module an. Gruß Tom
Danke für den Tipp mit xBee. Sind aber relativ teuer, diese Module...? Ich hab mir schon Threads zu den Pollin-Billig-Funkmodulen angesehen, vielleicht versuche ich es später mal damit.
Die xBees kosten so um die 20€ und ist eben zigBee standard. Ich sicherlich sicherer als die Billig Funkmodule. Gruß Tom
Ganz ehrlich: Für Bühnentauglichkeit würde ich einen großen Bogen um Funk machen. In Abwandlung des Sprichworts: Wer WLAN kennt nimmmt Kabel
Na zigBee ist ja im gegensatz zu WLAN genau für zuverlässigen Einsatz bei kleinen Datenmengen konzipiert worden. Ich baue gerade an einer Bühneneffektsteuerung für meine Auftritte mit zigBee Modulen. Gruß Tom
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.