ngblume
24.01.2007, 10:29
Guten morgen ...
ich bastele gerade ein wenig an einem underwater rov...
dabei bin ich auf www.aquaticus.info gestoßen..
dort gibt es einen rs232-rs485 converter der genau meinen erwartungen entsprach.. nachgebaut (da ich keine platinen ätzen kann, RS232-TTL von pollin erweitert..)
RS485 möchte ich halb-duplex mit 2 adern aufbauen..
in diesem zusammenhang sind mehrere Fragen aufgetreten die ich auch nach längerer recherche nicht beantworten kann:
- muss ich vom MAX485 den RX mit dem TX von TTL verbinden oder TX-TX ? (vor allem wegen der kombination von Pollin-RS232-TTL-Wandler mit MAX485)
- den gesamten wandler habe ich mal an ein oszilloskop angeschlossen..
resultat: wenn ich beide RS485 adern differentiell messe, kommt nichts raus (sollte zur definition passen) -> also gegen masse. dann allerdings habe ich kein invertiertes signal sondern zwei identische signale..
was in meinen augen der definition widerspricht..
muss ich jetzt einen gegen masse messen und den anderen gegen 5V um die invertierung zu erreichen ?
Das würde allerdings bedeuten, dass im kabel selber zwei identische signale fließen und das würde der idee der störungsverhinderung entgegenstehen oder ? (hoffe, dass ist noch verständlich ;-) )
- und dann habe ich auf einer seite der links der wikipedia seite zu rs485 gelesen, dass die polung wichtig ist.. heißt das, dass ich immer den pol 6 des MAX485 mit der selben ader verbinden muss und identisches auch für pin 7 ?
- zum abschluss: da für RS485 kein protokoll definiert wurde, muss man sich das selber bauen.. kein problem allerdings wird beim vorschlag für ein protokoll meistens vorgeschlagen das erste packet mit 9 bit zu senden (8 für adresse und 1 für identifikation als adresse) -> später dann die 8-bit variante für daten.. dann müsste ich ja auch die uarts umschalten oder ?
könnte ich nicht in die datenpackete (bzw. nur ins erste) den adressaten einbauen..? es "lesen" ja eh alle mit und können dann entscheiden, ob sie was tuen müssen oder nicht .. bzw. ich könnte einfach einen kommando standard entwickeln der in die 8-bit ein kommando steckt (zum beispiel alle 26 buchstaben) und dann nur der betroffene Slave darauf reagiert.. somit würde die adressierung wegfallen.. Frage: ist das möglich ?
Vielen dank für die antwort im voraus..
MfG
ngb
P.S.: hoffe, dass ist noch halbwegs verständlich ;-)
ich bastele gerade ein wenig an einem underwater rov...
dabei bin ich auf www.aquaticus.info gestoßen..
dort gibt es einen rs232-rs485 converter der genau meinen erwartungen entsprach.. nachgebaut (da ich keine platinen ätzen kann, RS232-TTL von pollin erweitert..)
RS485 möchte ich halb-duplex mit 2 adern aufbauen..
in diesem zusammenhang sind mehrere Fragen aufgetreten die ich auch nach längerer recherche nicht beantworten kann:
- muss ich vom MAX485 den RX mit dem TX von TTL verbinden oder TX-TX ? (vor allem wegen der kombination von Pollin-RS232-TTL-Wandler mit MAX485)
- den gesamten wandler habe ich mal an ein oszilloskop angeschlossen..
resultat: wenn ich beide RS485 adern differentiell messe, kommt nichts raus (sollte zur definition passen) -> also gegen masse. dann allerdings habe ich kein invertiertes signal sondern zwei identische signale..
was in meinen augen der definition widerspricht..
muss ich jetzt einen gegen masse messen und den anderen gegen 5V um die invertierung zu erreichen ?
Das würde allerdings bedeuten, dass im kabel selber zwei identische signale fließen und das würde der idee der störungsverhinderung entgegenstehen oder ? (hoffe, dass ist noch verständlich ;-) )
- und dann habe ich auf einer seite der links der wikipedia seite zu rs485 gelesen, dass die polung wichtig ist.. heißt das, dass ich immer den pol 6 des MAX485 mit der selben ader verbinden muss und identisches auch für pin 7 ?
- zum abschluss: da für RS485 kein protokoll definiert wurde, muss man sich das selber bauen.. kein problem allerdings wird beim vorschlag für ein protokoll meistens vorgeschlagen das erste packet mit 9 bit zu senden (8 für adresse und 1 für identifikation als adresse) -> später dann die 8-bit variante für daten.. dann müsste ich ja auch die uarts umschalten oder ?
könnte ich nicht in die datenpackete (bzw. nur ins erste) den adressaten einbauen..? es "lesen" ja eh alle mit und können dann entscheiden, ob sie was tuen müssen oder nicht .. bzw. ich könnte einfach einen kommando standard entwickeln der in die 8-bit ein kommando steckt (zum beispiel alle 26 buchstaben) und dann nur der betroffene Slave darauf reagiert.. somit würde die adressierung wegfallen.. Frage: ist das möglich ?
Vielen dank für die antwort im voraus..
MfG
ngb
P.S.: hoffe, dass ist noch halbwegs verständlich ;-)