Pages: [1]   Go Down
Author Topic: 5m steckbare Serielle Verbindung zw. 2 AVR  (Read 821 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Full Member
***
Karma: 6
Posts: 157
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo Community,

Nachdem das mit den Servos jetzt einwandfrei funktioniert, bin ich auf das nächste Problem gestoßen: Die gewünschten Funktionen sind inzwischen so umfangreich, dass eine Schnittstelle zum User mit Tastern / Joystick und einem LCD notwendig wurde. Da die eigentliche Steuereinheit mit den Servos und MPU6050 (3-Achs Accel/Gyro, I²C) ca. 5 m vom Benutzer weg ist und man nicht 20 Drähte dazwischen legen kann, hab ich mir gedacht, einen zweiten AVR (MCU 1) mit einer seriellen Schnittstelle als Master für MCU 2 einzusetzen. Weil ich wegen des Sensors sowieso schon I²C hab, war zuerst mein Gedanke, auch diese Verbindung mit I²C zu lösen, jedoch hab ich gelesen, dass es bei diesen Leitungslängen störanfällig ist - außerdem soll der Aufbau transportabel und somit auch die Verbindungen steckbar sein.
Zu was für einer Verbindung würdet ihr mir raten? UART, SPI, oder doch I²C? Was ganz anderes? Die Übertragungsgeschwindigkeit ist nicht so entscheidend, 4800 baud sollte aber schon drin sein.
Folgende AVR stehen mir zu Verfügung: ATtiny84, ATmega168 und 328.

Benötigte Eigenschaften der Schnittstelle:
- Kommunikation in beide Richtungen
- 3.3 V
- bei 5 m Störunanfällig, keine weiteren Treiber
- Steckbare Verbindung möglich


* Serial.png (24.74 KB, 1000x349 - viewed 35 times.)
« Last Edit: August 01, 2013, 06:44:35 pm by MGOS » Logged

Offline Offline
Edison Member
*
Karma: 21
Posts: 1419
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ich würde zwei RS232 Wandler (gibt recht preiswert zu kaufen) und jeweils an die seriellen Schnittstellen hängen. Danach kann man die 5m (oder auch mehr) gut über ein serielles Kabel überbrücken.
Der Schaltungsaufwand ist minimal und serielle Kabel mit DSUB9 Steckern bekommt man in jedem Baumarkt, oder auch bei Ebay.

Mario.
Logged

Offline Offline
Full Member
***
Karma: 6
Posts: 157
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Benötige ich wirklich die Wandler? Wenn ich mich richtig errinere sind die dafür, dass man die 12 V vom PC auf 3.3 V TTL runterregelt (bzw. hier auch noch USB). Da ich beide Schaltungen mit 3.3 V betreibe, kann man da nicht einfach die Buchse direkt an die Schnittstelle dran machen und alles mit 3.3V betreiben? Dass der Wandler auf 12 V hochregelt bezweifle ich.

Edit: ideal wäre auch, wenn ich über die gleiche Leitung noch meine Stromversorgung (GND, 7 V, 3.3 V) gleich mitführen könnte. Oder besser je einen Regler und die 3.3 V nicht auf der Leitung?

Da die DSub9 Stecker ein bisschen sperrig sind, würde auch ein RJ-45 Kabel  ("Lankabel") gehen?
« Last Edit: August 02, 2013, 03:06:27 am by MGOS » Logged

Offline Offline
Edison Member
*
Karma: 21
Posts: 1419
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Da die DSub9 Stecker ein bisschen sperrig sind, würde auch ein RJ-45 Kabel  ("Lankabel") gehen?
RJ-45 ist der Stecker, nicht das Kabel. Das ist TP (Twisted Pair). Keine Ahnung, wie sich das Signal dabei verhält. Soweit ich weiß, sind die Adern in den seriellen Kabeln nicht verdrillt.
Mario.
Logged

Munich/Germany
Offline Offline
God Member
*****
Karma: 11
Posts: 643
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ich habe eine ähnliche Konstruktion, allerdings zwischen Arduino und Servokontroller (Pololu MicroSerialServoController). Zusätzlich zu den seriellen Daten (19200) übertrage ich noch ein i-Link Signal für eine Videokamerasteuerung und die Stromversorgung. Ich verwende dazu ein normales CAT5 Netzwerkkabel, die Distanz beträgt ca. 15 Meter. Geht einwandfrei.
Logged

_______
Manfred

Offline Offline
Full Member
***
Karma: 6
Posts: 157
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ok, super. Weißt du wie viel Ampère solche Leitungen vertragen? Wenn ich die Stromversrogung der Servos auch dabei liegt, fließen da schon manchmal 3 A durch. Bei 8 Adern könnte ich auch für die Stromversorgung immer 2 zusammenlegen, dann bleiben immer noch genug für die serielle Kommnuikation.
Logged

Offline Offline
Faraday Member
**
Karma: 102
Posts: 3589
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ein Grund dass RS232 +/- 12V verwendet ist halt die Störanfälligkeit. 5m mit 3.3V hört sich nicht sehr sicher an. Mit richtigem RS232-Pegel bis du da wesentlich unempfindlicher.

Quote
Dass der Wandler auf 12 V hochregelt bezweifle ich.
Die Wandler setzen die Spannungen in beide Richtungen um. "Geregelt" ist vielleicht etwas übertrieben. Da sind einfach ein paar Schalter und Dioden drin, so dass man mit ein paar externen Kondensatoren eine normale Spannungsverdoppler-Schaltung hat:
http://de.wikipedia.org/wiki/Ladungspumpe
http://de.wikipedia.org/wiki/Spannungsverdoppler

Das Standard-IC für 5V<->RS232 ist dabei der MAX232. Für 3.3V gibt es z.B. den MAX3221
« Last Edit: August 02, 2013, 08:45:12 am by Serenifly » Logged

D-49565 Bramsche
Offline Offline
Sr. Member
****
Karma: 6
Posts: 477
Geht nich ? Gipp's nich !
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Mal hier nachlesen:
http://de.wikipedia.org/wiki/RS-232#Leitungsl.C3.A4nge_und_.C3.9Cbertragungsrate
Eine mögliche Schaltungsvariante:
http://www.google.de/imgres?imgurl=http://halvar.at/elektronik/kleiner_bascom_avr_kurs/max232_nullmodemkabel/rs232_max232_atmega8_nullmodem_v04.gif&imgrefurl=http://halvar.at/elektronik/kleiner_bascom_avr_kurs/max232_nullmodemkabel/&h=610&w=602&sz=19&tbnid=JlQpeJC__-xhfM:&tbnh=90&tbnw=89&zoom=1&usg=__9QQTa11C3YgnI62-oadQHD9H5eE=&docid=q57AybvMq8Z6XM&sa=X&ei=uK_7UeneJ4SMswbAvIDICA&ved=0CDYQ9QEwAQ&dur=7602
Logged

To young to die - never to old for rock'n roll

Offline Offline
Faraday Member
**
Karma: 102
Posts: 3589
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

@TERWI
Der MAX232 macht aber nur 5V Pegel. Für 3.3V braucht man den MAX3221

In diesem Fall würde ich das aber nicht selbst bauen, sondern zu einem fertigen Modul greifen. z.B.:
http://www.ebay.de/itm/RS232-Interface-Modul-auf-Basis-MAX3221E-P012-48-MAX3221ECPBG4-/161035982284?pt=Wissenschaftliche_Ger%C3%A4te&hash=item257e7e15cc
« Last Edit: August 02, 2013, 08:21:22 am by Serenifly » Logged

Offline Offline
Full Member
***
Karma: 6
Posts: 157
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Wie im ersten Post geschrieben, wäre es mir am liebsten wenn ich keinen zusätzlichen Treiber brauche. Gibt's da keine geschickte Lösung? Die Leitung ist auch nur für Steuerbefehle, das muss keine Verbindung mit vielen kbps sein. Wahrscheinlich reicht sogar 2400 baud.
Logged

Offline Offline
Faraday Member
**
Karma: 102
Posts: 3589
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Du kannst ja mal probieren ob es funktioniert.

Wenn nicht musst du halt einen Wandler dazwischen hängen. Das ist keine große Änderung am Aufbau.

Ich sehe da auch generell nicht das Problem. Die gibts für ein paar Euro und sind sehr klein. Die Platinen gibts auch ohne Stecker, so dass du da problemlos ein Ethernet-Kabel, bzw eine RJ-45 Buchse anlöten kannst.
Logged

Offline Offline
Full Member
***
Karma: 6
Posts: 157
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ok, das werde ich mal testen. Danke für deinen letzten Link, der Wandler liegt noch im preislichen Rahmen ist auch schön klein smiley
Logged

Pages: [1]   Go Up
Jump to: