PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : rs485 datenübertragung über infrarot



veit
01.04.2006, 01:18
hallo

durch die hilfe dieses forums habe ich es hinbekommen mit einem atmel über rs485 geräte untereinander kommunizieren zu lassen.

jetzt will ich diese kommunikation über infrarot laufen lassen, weil die kabel natürlich stören, auch wenns nur zwei adern sind ...

es ist so dass ich an einem vor jahre gebautem projekt weiterbastle, und dort sind ir-empfänger des typs tsop1756 eingebaut.
bisher wird darüber nur ein einfaches ein-aus gesendet.

jetzt meine frage:
ich hab gehört dass die 1756 für datenübertragung nicht so gut geeignet sein sollen weil oft störungen auftreten oder sowas.

ich möchte damit so 50-100 bytes übertragen, hin- und zurück.
meint ihr das geht?

Richard
12.04.2006, 14:42
hallo

durch die hilfe dieses forums habe ich es hinbekommen mit einem atmel über rs485 geräte untereinander kommunizieren zu lassen.

jetzt will ich diese kommunikation über infrarot laufen lassen, weil die kabel natürlich stören, auch wenns nur zwei adern sind ...
meint ihr das geht?

Moin moin,

Dafür ist RS485 eigentlich nicht gedacht, dieses Differenzsignal System ist für lange Leitungen bis ca 1200m "erfunden" worden mit einem Trereiberbaustein wie z.B. sn75176 kappt das auch gut.

Für eine IR Übertragung gibt es einfache Sender/Epfänger die man diereckt an einen seriellen Aus/Eingang anschließen kann. Mit einfach
an/aus des Senders wird es aber kaum störungsfrei klappen Daten zu übertragen! Du mußt Modulieren/Demodulieren, also für eine "0" z.B.
1000Hz und für eine "1" 1500 Hz senden. und das am Epfänger wieder Decodieren damit 0 der1 erscheint. So wurde es früher bei analogem Modems gemacht. Die Dauer der 1000/1500 HZ Pulse sollten Proportional zur Baudrate sein.

Gruß Richard

veit
16.04.2006, 20:05
äääh ja schon klar dass ich modulieren/demodulieren muss ... ich hab mir mal das rc5 protokoll angeschaut aber glaube dass is für sowas nich gedacht bzw. ungünstig.

hab auch nach irda rumgesucht aber das is ja dann schon ein sehr komplexes thema ...

Addy
17.04.2006, 17:31
Hi,

nimm doch IRDA-Transceivers wie sie im Pc oder Handy oder sonst noch wo vorkommen. Siehe z.B. diese hier http://www.vishay.com/ir-transceivers/

Die Dinger gibts z.B. auch bei diversen Elektronikversandhäusern wie Conrad und Co.

Da kannst du dann mit RS 232 TTL draufgehen, musst dir aber mal das Datenbaltt ansehen, vom Prinzip her wäre das dann Bustreiber raus und dieses Ding hier rein.

greetz
Addy

darwin.nuernberg
17.04.2006, 17:40
Das Problem ist,
wenn alle auf einmal senden sieht der Empfänger mit Sicherheit nur noch rot. Und die Transferrate über IR dürfte für ein Bus-System nicht reichen.

Du würdest vermutlich nur noch "Kollisionen" bekommen.
IRDA ist doch eigentlich nur zum Austausch zwischen zwei Geräten vorgesehen und nicht für mehrere Geräte oder sehe ich das falsch.

Außerdem ist IRDA bereits ein Protokoll und RS485 ein anderes.

Rage_Empire
17.04.2006, 18:00
Ja, Darwin hat recht. soweit ich weiß ist IrDA nur für P2P-Verbindungen zu gebrauchen.

Addy
17.04.2006, 23:21
Ja gut, es wurden ja keine Anforderungen bezüglich Anzahl der Teilnehmer gestellt, wie Rage_Empire schon erwähnt hat ist IrDA in der tat hauptsächlich für diese P2P-Verbindungen geschaffen.

Und IrDA und RS485 sind keine Protokolle sondern Übertragungsverfahren.

greetz
Addy

darwin.nuernberg
17.04.2006, 23:23
Und IrDA und RS485 sind keine Protokolle sondern Übertragungsverfahren.

Stimmt auch wieder.

Es ist schon schiwerig, manches mit worten auszudrücken,

z.B. eine Zitrone :-b

Addy
17.04.2006, 23:25
:Ostern Hehe, da haste recht.

Rage_Empire
18.04.2006, 00:04
Ich könnte mir aber schon vorstellen, das ein Bus-Protokoll wie z.B. Modbus auch über IR laufen würde.

veit
07.05.2006, 19:58
huiii ich war ja ne weile mal nicht da und schon ...

ja also das mit den kollisionen ist bei der 485 kommunikation ja ähnlich, wenn zwei geräte gleichzeitig antworten kommt auch nix an ...

also bisher läufts so:
ich sende z.b. id 1, dann warte ich das ne antwort kommt, dann id 2, usw usw.

das funzt über kabel alles ganz prima.
dann müsste man das doch mit infrarot auch hinbekommen.

das rs485 zeugs würde dann ja komplett rausfliegen, würde es halt gerne zum testen dazwischen schalten.
ich wandle vorher ja rs232 auf rs485, wenn ich jetzt vom seriellen port mit ir sende und es dann wieder auf rs485 wandle wäre es ja auch kein thema


finde allerdings über irda protokolle usw. echt wenig, und das rc5 scheint mir ungeeignet weil ich ja doch etwas mehr bytes übertragen muss ...

Vitis
08.05.2006, 13:49
Die IR-Datenübertragung läuft wenn ich mich nicht irre über
eine Frequenzmodulation.
Du kannst sicherlich eine IR-Strecke zwischen eine
RS-232 RS485 Strecke schalten, brauchst halt jeweils die Wandler.
Da RS485 normalerweise sowieso halbduplex läuft
ist das an sich keine so schwierige Aufgabe, du musst halt nur
jeweils nen transceiver zusammenbasteln.

Ein Übertragungsprotokoll hat mit der Übertragungsart zunächst mal
wenig zu tun, mal abgesehen von Halb- oder Vollduplex,
(Manchestercodierung für AM-Funk ist da ne Sondergeschichte würd ich sagen)
auch für RS485 ist kein Protokoll vorgeschrieben, da geht Freisil
oder halt Künstlerische Freiheit, es sei denn Du wills das Dings gleich
profibuskompatibel basteln, dann musste halt das Profibus Protokoll
zusammen tipseln, aber das hat nur mit den Bausteinen am Ende
Deiner Übertragungsstrecke zu tun, für die Strecke ist das Datenformat
unerheblich.

Dein aufbau wär dann:

[ µC <--> RS485 ] <--> [RS485 <--> IR-Trans ] <--> [IR-Trans <--> RS232] <--> [ PC ]

wenn ich deinen geplanten Ablauf richtig verstanden hab.

veit
08.05.2006, 23:47
genau so siehts aus, als protokoll für den rs485 benutze ich das e-slip und das funzt prima.
wobei der rs485 auch ganz rausfliegen könnte, er ist halt auf den platinen jetzt schon drauf .. der ir-empfänger (tsop 1756) hängt bereits direkt am µc, hat aber nur eine ein-aus funktion.
das hab aber nicht ich programmiert ...
naja anyway
das kabel nervt mich halt ein bisschen ...


ok also da es wie beim 485 auch ziemlich wurscht sein wird was ich mir da für protokolle einfallen lasse werde ich am protokoll einfach mal gar nix ändern.

dann muss ich aber irgendwie das signal auf die 56khz draufmodulieren, und da haperts.

wie stell ich das an ???
demodulieren tuts mir der tsop1756 ja von selbst, gibts denn fertige module die mir das übernehmen? das wär am allerfeinsten ...


leider habe ich gerade überhaupt keine zeit für das projekt, als ich die frage gestellt hatte da war ich mittendrin, jetzt steht grad alles weil die uni so drückt .... schade schade

veit
09.05.2006, 11:16
ich glaub es ist echt geschickter ich bau zusätzlich so nen transceiver ein und überbrücke den rs485, der hängt ja an rx-tx.

werde berichten wenn ich mir das zeug besorgt habe, hab nur die nächsten wochen keine zeit