-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: Mikrokontroller vernetzen

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    30.12.2006
    Ort
    Meerane
    Beiträge
    7

    Mikrokontroller vernetzen

    Anzeige

    Hallo!
    Ich habe seit längerem die Idee ein paar Mikrocontroller mit meinem PC kommunizieren zu lassen. Im Moment wäre ich schon mit einer Master(PC) / Slave(AVR's) Variante weitaus zufrieden.
    Bis jetzt ist es mir gelungen einen AVR und den PC oder zwei AVR's untereinander per waitkey() ein paar bytes austauschen zu lassen.
    Das funktioniert allerdings nicht mehr wenn ich mehrere AVRs an die selben RXD und TXD Leitungen hänge.
    Hat jemand für mich ein paar hilfreiche Tipps wie ich ein Master Slave Netzwerk über RS 232 realisiere. Etwas BeispielCode wäre toll.
    Vielen Dank für ein paar Beiträge dazu.

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    21.10.2005
    Beiträge
    165
    Hallo
    Ja, über RS232 kannst du eigentlich immer nur 2 Geräte miteinander vernetzen, da die Daten ja imemr an alle gesendet/von allen empfangen werden. Spontan würden mir daher zwei Lösungen einfallen:

    a) Du lässt einen µC gewissermaßen als "Kommunikationszentrale" mit deinem Rechner per RS232 kommunizieren. Der selbe µC tauscht sich mit den anderen µCs per I2C aus.

    b) Es gibt auf Robotikhardware.de eine I2C-Adapterplatine: dein Computer lernt über seinen RS232-Port I2C sprechen -> hier könntest du beliebig viele µCs mit deinem Rechner vernetzen, und alle wären "gleichwertig".



    Da ich das selbst aber noch net gemacht habe kann ich dir leider nicht mit Code behilflich sein. *Das mal den erfahrenen Geeks hier überlässt*


    Gruß
    Corone

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    12.02.2006
    Beiträge
    164
    bin nicht so der erfahrene geek / nerd aber sowas war mein erstes projekt und es geht:

    jeder controller darf nur antworten wenn er was gefragt wird.
    also vergibst du jedem controller eine id.

    der pc sendet dann byteweise befehle die am besten ungefähr so ausschauen:

    -startcommand (bei mir 200)
    - id (z.b. 1)
    - command (z.b. 100)
    - checksumme
    - endcommand (201)

    erst dann antwortet der controller mit id 1

    - 200
    - 1
    - jetzt hier
    - die daten
    - die er so
    - senden soll
    - checksumme
    - 201


    kannst auch in meinen posts suchen ich hab das schon öfter gepostet weil ich sonst von nix ne ahnung hab


    wenn du das so machst ist es ziemlich wurscht mit welchem bus du das machst, bei mir setz ichs auf nen rs485 um.

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    30.12.2006
    Ort
    Meerane
    Beiträge
    7
    @corone
    An I2C habe ich auch schon gedacht allerdings schreckt mich als N00b der Quelltext einer I2C Kommunikation ewas ab. Allerdings nutzen ja auch einige Sensoren, etc. das TWI wodurch es durchaus angebracht wäre sich damit mal zu befassen.
    Kennt jemand ein gutes Tutorial über TWI außer das von RN-Wissen


    @veit
    Das mit Startcommand und ID habe ich mir auch so überlegt allerdings funktioniert das nicht wenn ich mehrere AVRs benutze. Oder habe ich da hardwaremäßig einen Fehler gemacht. Ich habe einfach alle "TXD-Pins" sowie alle "RXD-Pins" der AVRs und des PCs zusammengeschaltet.
    Muss ich dabei den BusTreiber(MAx232) irgendwie auf Senden und EMpfangen stellen???

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    12.02.2006
    Beiträge
    164
    hmmm also ich kann dir nur von der rs485 geschichte berichten:
    da sind alle pins zusammengeschaltet UND natürlich muss man den 485 jeweils auf senden und empfangen schalten.
    gleichzeitig muss man noch beim atmel das sende- und empfangsregister überwachen.
    klingt kompliziert, ist aber einfach. heißt txc flag.

    nützlich ist eine verbindung mit dem pc, und auf dem pc einen serial-port-monitor laufen lassen um die ganze kommunikation zu überwachen.

    wie du das mit 232 verdrahten muss weiß ich nich so genau, benutzt du nen RS232 ic oder willst du direkt verbinden?
    für verbindung mit dem pc brauchst du ja auf alle fälle nen 232 zum pegel wandeln.

    da gibts hier im forum aber schaltpläne usw.

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    12.02.2006
    Beiträge
    164
    achso zwecks txc flag: das sagt dir ob das letzte byte das du senden willst den atmel verlassen hat.
    solange muss man warten, und dann wenn das flag gesetzt is musst du den bustreiber wieder auf empfangen schalten und flag zurücksetzen

    schau nach meinen alten posts die nicht infrarot betreffen da gehts meistens ums gleiche thema

  7. #7
    Erfahrener Benutzer Roboter Experte Avatar von marvin42x
    Registriert seit
    02.08.2005
    Ort
    Berlin
    Alter
    68
    Beiträge
    703
    Schau vielleicht auch mal hier vorbei:
    http://www.marvins-lab.roboterbastler.de/
    Da ist schon einiges fertig und der Rest kommt demnächst.

    Netter Gruß
    Die ersten zehn Millionen Jahre waren die schlimmsten. Und die zweiten Zehn Millionen Jahre, die waren auch die schlimmsten.url

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    30.12.2006
    Ort
    Meerane
    Beiträge
    7
    der link von marvin42x hilft mir irgendwie überhaupt icht weiter oder habe ich tomaten auf den augen?

    Ich habe mich ein wenig über I2C belesen. (Eine sehr schöne Einführung ist hier zu finden:http://www.qsl.net/pa3ckr/bascom%20a...i2c/index.html) Das scheint ja garnicht mal so kompliziert nur ist es wohl für meinen Zweck mehrere Mikrocontroller zu vernetzen auch nicht hilfreich. Für ein Master-Slave Netzwerk bräuchte ich die i2cSlavelib um den Slave Controller zu programmieren. Diese gibt es aber nur käuflich zu erwerben.

    Gibt es dazu eine Alternative?

  9. #9
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    .Gibt es dazu eine Alternative?..
    http://www.roboternetz.de/wissen/ind...is_Multimaster
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  10. #10
    Erfahrener Benutzer Roboter Experte Avatar von marvin42x
    Registriert seit
    02.08.2005
    Ort
    Berlin
    Alter
    68
    Beiträge
    703
    Zitat Zitat von ttauch
    habe ich tomaten auf den augen?
    Nein, hast Du nicht. Es handelt sich hier um eines der sagenumwobenen schwarzen Löcher.
    Da hast Du mich glatt bei einer Lücke erwischt .
    Ich habe das jetzt erstmal aufgefüllt.
    Sorry für die Missweisung.
    Danke für den Hinweis.
    Danke auch Richtung PicNick für die Quellenlieferung.
    Die ersten zehn Millionen Jahre waren die schlimmsten. Und die zweiten Zehn Millionen Jahre, die waren auch die schlimmsten.url

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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