-         

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 25

Thema: Mehrere Controller verbinden?

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    15.01.2008
    Ort
    Siegen, Germany, Germany
    Beiträge
    441

    Mehrere Controller verbinden?

    Anzeige

    Hallo zusammen,
    habe heute mal wieder eine Verständnisfrage, da diese Frage mehrere Bereiche abdeckt, Elektronik und Programmierung, weis ich nicht genau wo ich sie stellen soll, hab mich dann für dieses Forum entschieden.

    Ich verwende einen Mega32 als Hauptcontroller. Dann habe ich noch einen Mega8, der zur Steuerung einer Motorbrücke (L29 verwendet werden soll.

    Nun möchte ich, dass der Mega32 dem Mega8 Richtung und Geschwindigkeit der Motoren mitteilt, der Mega8 steuert diese dann per PWM usw. an

    Nur wie realisiert man so eine Kommunikation? Hab im RN-Wissen Bereich bereits gesucht und I²C / bzw SPI Bus gefunden. Nur leider habe ich keine Idee wie ich so eine Schaltung aufbaue, geschweige denn diese richtig anzusteuern.

    Wäre für ein paar Tipps sehr dankbar.

    LG
    Daniel

  2. #2
    Erfahrener Benutzer Roboter Genie Avatar von Willa
    Registriert seit
    26.10.2006
    Ort
    Bremen
    Alter
    37
    Beiträge
    1.269
    Du kannst das doch auch einfach per RS232/ UART machen. Einfach die beiden Controller RxD und TxD vertauscht verbinden, geht das per "print" und "input".
    Viele Grüße,
    William

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    15.01.2008
    Ort
    Siegen, Germany, Germany
    Beiträge
    441
    ist das denn schnell genug?
    grade bei zeitkritischen Anwendungen wie Motorsteuerungen?

    Und vorallem wären dann bei dem Mega32 die Rx und Tx Ports belegt, die brauch ich ja noch für den PC.

  4. #4
    Erfahrener Benutzer Roboter Genie Avatar von Willa
    Registriert seit
    26.10.2006
    Ort
    Bremen
    Alter
    37
    Beiträge
    1.269
    Schnell genug ist das schon. Auf jeden Fall schneller als dein Motor aufgrund seiner Trägheit auf PWM Änderungen reagieren könnte. Vom Mega32 brauchst du nur den TxD zum anderen Controller verlegen.
    Wenn dein Mega32 auch noch Daten zum PC senden soll, dann kannst du einfach seinen TxD Anschluss verzweigen und also an den PC und an den Mega 8 anschließen (wurde mir vor kurzem hier im Forum so erklärt). Dass der PC nicht auf die Befehle reagiert die eigentlich nur an den MEga8 gesendet werden sollten, kannst du ja per Software regeln.
    Aber per TWI ist das bestimmt eleganter, vielleicht erklärts ja hier noch jemand...

  5. #5
    Erfahrener Benutzer Robotik Einstein Avatar von Felix G
    Registriert seit
    29.06.2004
    Ort
    49°32'N 8°40'E
    Alter
    34
    Beiträge
    1.780
    ist das denn schnell genug?
    Naja, wie schnell ist "schnell genug"?

    da wären schon konkrete Angaben sinnvoll, wie lange es denn dauern darf bis eine vom Mega32 abgeschickte Nachricht vom Mega8 empfangen wurde.
    So viele Treppen und so wenig Zeit!

  6. #6
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    15.01.2008
    Ort
    Siegen, Germany, Germany
    Beiträge
    441
    naja ich habe da wie gesagt keinerlei Erfahrungen mit, wie lange würde es denn dauern?

    Beispiel:
    Roboter fährt auf ein Hindernis zu, Mega32 bekommt vom Sensor die Meldung da ist ein Hindernis, dieser sendet dem Mega8 die entsprechenden Befehle zu (Nothalt z.B.)

    Noch eine andere Frage, kann man über den Rx bzw Tx Port auch mehrere Controller steuern, würde das gehen, wenn ich einfach mehrer anschließe oder wie darf man sich das vorstellen. Man könnte ja eine Routine einbauen, die auswertet an welchen Controller die Sendung gerichtet ist. So könnte man das ja auch machen, wenn die Sendung zum PC gehen soll.

    Hoffe man kann mir folgen

    ---
    Update:
    ---
    Könnte ich dann auch an einem Ozi mehrere Controller hängen? So könnte ich viel Platz sparen auf den Motorsteuerungsplatinen.

  7. #7
    Erfahrener Benutzer Roboter Experte Avatar von BurningWave
    Registriert seit
    22.12.2007
    Ort
    nahe Stuttgart
    Alter
    23
    Beiträge
    656
    Zitat Zitat von daniel.weber
    Noch eine andere Frage, kann man über den Rx bzw Tx Port auch mehrere Controller steuern, würde das gehen, wenn ich einfach mehrer anschließe oder wie darf man sich das vorstellen. Man könnte ja eine Routine einbauen, die auswertet an welchen Controller die Sendung gerichtet ist. So könnte man das ja auch machen, wenn die Sendung zum PC gehen soll.
    Das müsste eigentlich gehen.
    Aber du kannst ja auch einen AtMega162 nehmen. Der hat jeweils zwei RxD und TxD Anschlüsse.

    mfg

  8. #8
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    18.12.2006
    Ort
    Oderberg
    Alter
    25
    Beiträge
    870
    Das mit dem mehrere Controller steuern ist möglich,
    mit einem Quarz/Oszillator kannst du allerdings nicht mehrere Controller betreiben.
    MfG Christopher \/


  9. #9
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.09.2004
    Ort
    Düsseldorf
    Beiträge
    3.948
    Beispiel:
    Roboter fährt auf ein Hindernis zu, Mega32 bekommt vom Sensor die Meldung da ist ein Hindernis, dieser sendet dem Mega8 die entsprechenden Befehle zu (Nothalt z.B.)
    Reicht locker.
    Denkansatz:

    Dein Bot hat eine bestimmte Masse.
    Der Antrieb (Motor mit Getriebe etc.) braucht rein Mechnisch eine gewisse Zeit um zum Stehen zu kommen.
    Diese Zeit liegt meist weit über der für die Komunikation.
    Darum brauchst du dir also keine sorge zu machen.


    Noch eine andere Frage, kann man über den Rx bzw Tx Port auch mehrere Controller steuern, würde das gehen, wenn ich einfach mehrer anschließe oder wie darf man sich das vorstellen. Man könnte ja eine Routine einbauen, die auswertet an welchen Controller die Sendung gerichtet ist. So könnte man das ja auch machen, wenn die Sendung zum PC gehen soll.
    Die Frage hat Willa dir eigentlich schon beantwortet.
    Du schaffst dir einfach ein eigenes Protolkoll.
    Zb. Startwert,Adresse (Also wer angwesprochen wird),Befehl,Daten etc.,Stoppwert.
    Also ganz ähnlich wie bei I2C



    @christopher1

    mit einem Quarz/Oszillator kannst du allerdings nicht mehrere Controller betreiben.
    Warum denn nicht ?

    Sicher kannst du mehrere Controller mit einem Takt betreiben.
    Takt auf "Extern" stellen und einspeisen.
    Das kann sein das ein TTL-Generator alle Controller taktet.
    Kann aber auch sein das einer seinen Quarztakt bzw. internen Takt mit allen anderen Teilt wenn man ihn anzapft.(Xtal kann auch nen Ausgang sein.
    Natürlich muß man sicherstellen daß das Taktsignal auch sauber bei allen beteiligten ankommt.
    Lange leitungen sind da nicht angesagt.

    Diese Methode ist vorteilhaft wenn man verschiedene Controller zeitkritisch synchronisieren muß.
    Für die hier angestrebte anwendung ist das allerdings eher weniger nötig.
    Da reicht es wenn jeder Controller einen "Baudratenfreundlichen Takt" besitzt.
    Gruß
    Ratber

  10. #10
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    18.12.2006
    Ort
    Oderberg
    Alter
    25
    Beiträge
    870
    Sorry, hab das selbst noch nicht probiert, aber schon öffters gelesen, dass das nicht/schlecht klappt, aber man sollte halt nicht alles glauben
    MfG Christopher \/


Seite 1 von 3 123 LetzteLetzte

Berechtigungen

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