- LiTime Speicher und Akkus         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 13

Thema: [Idee] Mehrere AVRs verbinden über RS232

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    05.08.2005
    Beiträge
    15

    [Idee] Mehrere AVRs verbinden über RS232

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo Roboter-Community!

    Ich möchte eine unbegrenzte anzahl von AVRs verbinden und das habe ich mir folgendermaßen vorgestellt.

    Verbunden werden sie in einer Kette "Master TxD an Slave1 RxD, Slave1 TxD an Slave2 RxD usw. zu letzt bekommt der Master vom letztem Slave die TxD Leitung.


    Der Master (Atmega16) Sendet einen string "ID,Wert,Wert,Wert,Wert" an den Slave (mega über den Uart.

    Meine Fragen nun:

    - wann brauche ich für jedes Slave-Modul einen Max232, oder kann der weg bleiben"zwicschen den modulen ist nur immer ca. 30 kabellänge"

    - wie könnte ich den jeweiligen Slave eine ID geben zbs. über DIP-Schalter.

    - kann ich den string den ich bekomme einfach weiter schicken wenn die ID nicht stimmt.

    Benutzen werde ich Bascom!

    cya Peacemaker

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Beiträge
    2.731
    Hallo,

    das sieht nach Token-Ring aus
    schau mal wie das dort gemacht wird, dann musst Du nicht alles neu erfinden.
    http://de.wikipedia.org/wiki/Token_Ring

    wenn nur AVR's zusammenhängen brauchts normlerweise keinen MAX,
    welche Einheit gehört hinter 30 ?!
    Bei cm ist's OK.

    Die IDs kannst du auch Softwaremässig im Programm festlegen, spart zumindest IO-Ports.

  3. #3
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.802
    Mancha AVR UARTs kennen einen "Multi-processor Communication Mode" (MPCM). Vielleicht ist es das was du suchst... (ATMega8 pp. 14
    Mit unbegrenzt vielen AVRs wird's schwierig, schon mit der Beschaffung. Endlich viele sollten es schon sein *g*.
    Disclaimer: none. Sue me.

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    05.08.2005
    Beiträge
    15
    Hallo

    OK, soweit ist ja es mir klar das ich die Pins der AVRs verbinden kann ohne weiteren aufwand, zwischen den Slaves ist maximal 50 cm.

    Leider muss die ID vergabe unbedingt per Hardware erfolgen, aber das geht mit DIP-Schaltern karnicht, weil ich ja dann unzählige ports brauche,
    das wäre ja für eine 3 stellige Zahl 3*10 ports *grummel*

    Ein Slave soll eigentlich eines tun, und zwar nur warten auf einen String, ist die ID seine ID soll er die 4 Werte ändern wenn nicht einfach weiterschicken.

    Nagut, unbgrenzt vielleicht nicht aber so 100 Stück, aber wenns es mit 100 geht dann sollte es auch mit 1000 gehen, obwohl wie lange würde es dauern den string von Slave1 bis Slave100 durch zu schicken.


    cya

  5. #5
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.11.2004
    Beiträge
    1.693
    Wie sieht's denn da mit den Strömen aus? Das ganze ist ja eine Reihenschaltung vieler Widerstände. 2 IC's verbinden mag gut klappen. 4 evtl auch noch. Aber 1000???
    Die ID könnte man ja evtl über den ADC einstellen. Ein Wertebereich von ein paar Bits muss man aber in Kauf nehmen denke ich. Und ein LCD oder so wäre nicht schlecht um die Einstellung zu überprüfen.
    Ist nicht die beste Lösung, aber bedarf weniger Pins als DIP-Schalter.

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    05.08.2005
    Beiträge
    15
    Hallo Marco

    Was meinst du mit ströme, benötigt der RxD bzw. der TxD pin Strom?

    Für die Stromversorgung hatte ich ein 12V Steckernetztei gewählt, was auch mit geführt wird, für wieviele Slaves das reicht kann ich dann erst berechnen wenn die protypen fertig sind.

    Kann man über Cat5/6 die 12V und die RX/TX pins gleichzeitig leiten oder gäbe es da probleme.

    Was meinst du mit ADC?

    cya

  7. #7
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.11.2004
    Beiträge
    1.693
    Wenn Cat5/6 seperat abgeschirmte Doppeladern hat könnte das klappen. Man muss aber auch die Leitungslänge beachten. Die Leitungen haben ja nicht einen so dicken Querrschnitt, das es evtl zu zu hohen Spannungsfällen kommen kann.

    ADC=Analog/Digital Converter. Mit einem Poti z.B. kann da eine Spannung eingestellt werden, die sich im IC als Zahl (zwischen 0 und 1023) wiederfinden lässt. Allerdings kann man das Poti nicht so fein justieren und Spannungsschwankungen erzeugen einen anderen Wert. Deshalb sollte man einen gewissen Bereich (evtl 10 Schritte) als Toleranz festlegen.

    Der Rx vomn jeweils nächsten IC ist ja quasi ein Verbraucher. Wenn du an einem Steckernetzteil (auch wenn es stabilisiert ist) zu viele Glühlampen anklemmst, reicht die Leistung irgendwann nicht mehr aus.
    Ich weiss aber nicht, wie sich das verhält, wenn man den RS232 in Reihe schaltet. Aber irgendwann gibt es bestimmt eine physikalische Grenze (abgesehen von der ID)

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    05.08.2005
    Beiträge
    15
    Hallo

    Also unmöglich scheint es ja nicht zu sein siehe http://cgi.ebay.de/SHOWTEC-41070-72-...QQcmdZViewItem,

    Ich denke das es auch mit Microcontreller gemacht wurde.

    cya




    Zitat Zitat von Marco78
    Wenn Cat5/6 seperat abgeschirmte Doppeladern hat könnte das klappen. Man muss aber auch die Leitungslänge beachten. Die Leitungen haben ja nicht einen so dicken Querrschnitt, das es evtl zu zu hohen Spannungsfällen kommen kann.

    ADC=Analog/Digital Converter. Mit einem Poti z.B. kann da eine Spannung eingestellt werden, die sich im IC als Zahl (zwischen 0 und 1023) wiederfinden lässt. Allerdings kann man das Poti nicht so fein justieren und Spannungsschwankungen erzeugen einen anderen Wert. Deshalb sollte man einen gewissen Bereich (evtl 10 Schritte) als Toleranz festlegen.

    Der Rx vomn jeweils nächsten IC ist ja quasi ein Verbraucher. Wenn du an einem Steckernetzteil (auch wenn es stabilisiert ist) zu viele Glühlampen anklemmst, reicht die Leistung irgendwann nicht mehr aus.
    Ich weiss aber nicht, wie sich das verhält, wenn man den RS232 in Reihe schaltet. Aber irgendwann gibt es bestimmt eine physikalische Grenze (abgesehen von der ID)

  9. #9
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.06.2004
    Ort
    Aachen
    Beiträge
    2.674
    Leider muss die ID vergabe unbedingt per Hardware erfolgen, aber das geht mit DIP-Schaltern karnicht, weil ich ja dann unzählige ports brauche,
    das wäre ja für eine 3 stellige Zahl 3*10 ports *grummel*
    Nee, viel zu aufwendig! Machs nicht Dezimal, machs Binär!
    Mit einem Port könntest du dann immerhin 256 verschiedene IDs vergeben, dass dürfte ja wohl reichen!

    Oder du nimmst ein 8-Bit-Schieberegister an dem eine Mäuseklavier hängt, dann brauchst du nur einen Eingang, und ein Clocksignal, sowie evtl. einen Reset, also maximal 3 Pins!

    Aber hast du mal überlegt, wie lange eine Übertragung über 100 AVRs dauert? Vielleicht wäre es da sinnvoller, einen Multiplexer zu benutzen, der zwischen Netzwerken hin und herschalten kann, oder ein AVR mit mehreren UARTs, oder Software UARTs.

    Führen die Slave-AVRs nur aus, oder senden sie auch eigene Informationen. Oder tun sie das nur, wenn sie gefragt werden? Nicht das nachher ein Datenstau entsteht.

    Je nach Einsatz wäre es ja evtl. sinnvoller alle Slave-AVRs an die TXD-Leitung des Masters zu hängen, dann würde jeder die Nachricht gleichzeitig erhalten und nicht erst nachdem 50 Andere AVRs die Daten als "Nicht für sie bestimmt" erkannt und weitergeschickt haben. Außerdem wäre die erweiterung eingacher, da kein Ringnetzwerk unterbroch und wieder geschlossen werden muss, sondern nur parallel geschaltet wird.

  10. #10
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.02.2005
    Ort
    Hamburg
    Alter
    37
    Beiträge
    4.255
    [quote="Marco78"]Wenn Cat5/6 seperat abgeschirmte Doppeladern hat könnte das klappen. Man muss aber auch die Leitungslänge beachten. Die Leitungen haben ja nicht einen so dicken Querrschnitt, das es evtl zu zu hohen Spannungsfällen kommen kann.
    damit wären dann aber locker einige meter drin (rs232 mit normpegel (max232 dazwischen) ist offiziell bis 15m zulässig, und geschirmt gehts dann noch weiter...
    Zitat Zitat von Marco78
    Der Rx vomn jeweils nächsten IC ist ja quasi ein Verbraucher. Wenn du an einem Steckernetzteil (auch wenn es stabilisiert ist) zu viele Glühlampen anklemmst, reicht die Leistung irgendwann nicht mehr aus.
    Ich weiss aber nicht, wie sich das verhält, wenn man den RS232 in Reihe schaltet. Aber irgendwann gibt es bestimmt eine physikalische Grenze (abgesehen von der ID)
    kein problem, denn
    1. bei nem ring hängt ja immer nur ein rx an jedem tx, und selbst wenn man, wie gerade eben vorgeschlagen alle slaves paralle an einen mastter hängt, sind
    2. die rx-eingänge hochohmig, sodass man tausende rx'e an einen tx hänge könnte, ohne dessen 20mA zu sprengen...

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiTime Speicher und Akkus