-         

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

Thema: Kommunikation zwischen Mikrocontrollern

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    09.05.2010
    Ort
    Legau
    Alter
    21
    Beiträge
    58

    Kommunikation zwischen Mikrocontrollern

    Anzeige

    Hallo,

    aufgrund diverser Probleme mit unseren Motoren haben wir uns dafür entschieden in Zukunft die Geschwindigkeit von diesen mit Encodern zu steuern. Dazu würde ich gerne einen 2. controller nehmen, der Anweisungen vom Hauptprozessor ausführt. Dieser müsste dann die 4 Antriebsmotoren (Omnidirectionaler Antrieb) , die bis zu 900rpm erreichen, regeln. Da wir die Encoder selbst bauen ist noch offen wie viele Impulse es pro Umdrehung werden. Wir möchten die für den Encoder notwendigen Magneten direkt am Rad befestigen. Ich habe mir so 8 Impulse pro Umdrehung vorgenommen. Ist das machbar? Das Rad dreht sich immerhin mit 900 rpm.

    Die nächste Frage wäre der Controller. Ich denke ein Atmega128 wäre etwas overpowered. Ich denke ein Atmega8 würde auch reichen oder?

    Doch nun zum Hauptproblem:

    Wie lässt man die beiden Controller (Hauptprozessor ist ein Atmega12 miteinander kommunizieren?
    I²C steht leider nicht zur Verfügung. Ist es einfacher den Slave mit einem PWM Signal für jeden Motor zu steuern oder würde serielle Schnittstelle mehr Sinn machen?

    Gruß
    Lukas

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    02.08.2006
    Ort
    Würzburg, Germany
    Beiträge
    672
    Wenn I2C ausfällt (warum?) ist seriell sicherlich die einfachste Möglichkeit der Kommunikation, da alles schon in den Atmels integriert ist. Man braucht 3-5 Zeilen Code um die Schnittstellen zu konfigurieren und das senden und Empfangen läuft dann mit einem Befehl vollautomatisch ab.

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    09.05.2010
    Ort
    Legau
    Alter
    21
    Beiträge
    58
    Hallo,

    ok. I²C fällt weg, da das auf unserem Board verwendet Prozessormodul kein I²C kann. Das hört sich schonmal gut an. Ich nehme an, dass die intergrierte Konfiguration auch zwischen unterschiedlichen ControllerTypeen funktioniert, richtig?
    Ich muss evtl. noch erwähnen, dass die PWM Ports am Master bereits vorhanden wären.
    Den größten Vorteil der Seriellen Schnittstelle sehe ich darin dass der Slave auch ganz einfach antworten kann, oder?
    Hast du vielleicht noch eine kleine Lektüre wo man sich bisschen in die serielle schnittstelle einlesen kann?

    Gruß

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    02.08.2006
    Ort
    Würzburg, Germany
    Beiträge
    672
    Genau. Und ich denke du willst Geschwindigkeit übertragen, das geht seriell bestimmt besser wie mit PWM. Das müsstest du im Motor-Controller ja erst wieder zurück wandeln.

    Als Lektüre empfehle ich die Datenblätter von Atmel zu den Controllern. Da sind auch schöne Beispiele drin.

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    21.06.2011
    Ort
    Dresden
    Beiträge
    170
    Hallo,

    - Wenn beide Controller (wenn ich das richtig verstanden habe) mit der Steuerung (Auslesen der Drehzahl, Regler, Einstellen der Motorspannung bzw. des PWM) beschäftigt sein sollen,
    bringt eine Lösung mit 2 Controllern immer ein Problem: Zeit. Ich würde in so einem Fall eher einen leistungsstärkeren Controller nehmen.
    - Die Zahl der nötigen Impulse pro Umdrehung hängt von der Erfordernissen ab: Wie schnell soll die Steuerung funktionieren, nach wie vielen Umdrehungen soll eine Abweichung korrigiert
    werden, je mehr Impulse / Umdrehung desto schneller die Reaktion.
    - Wenn schon 2 Controller, dann Schnittstelle, nicht PWM, der Aufwand, dass PWM-Signal im Timer/Counter auszuwerten, ist in jedem Falle aufwendiger und prozessorzeitraubender. Auf jeden
    Fall sollte der Slave-UART im RXC_INT-Modus und nicht im Polling betrieben werden.
    - Ich verwende zur Drehzahlsteuerung / Wegmessung die Rotary-Encoder von austriamicrosystems AS5040, vielleicht lohnt mal ein Blick ins Datenblatt.

    mfg

    achim

  6. #6
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    02.08.2006
    Ort
    Würzburg, Germany
    Beiträge
    672
    Ich glaube bei der Trennung geht es weniger um die Performance, als um die Aufteilung des Problems in zwei Teile. Oder?

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    09.05.2010
    Ort
    Legau
    Alter
    21
    Beiträge
    58
    Hallo,

    die Zeit der Übertragung spielt eigentlich keine Rolle, da der Hauptprozessor nur eine Zahl von 0-255 schickt, die der Coprozessor dann mit dem bestimmten motor fahren soll. Die Auswertung der Impulse und die Reaktion darauf soll dieser dann steuern. Würdet ihr hierfür die Zählereingänge nehmen oder lieber Interrupteingänge?

    Gruß

  8. #8
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    02.08.2006
    Ort
    Würzburg, Germany
    Beiträge
    672
    Eigentlich ist es egal, das kommt ein bischen darauf an, ob dein Sollwert (0-255) die Geschwindigkeit oder die Anzahl der Impulse sein soll, die gefahren werden soll. Bei der Geschwindigkeit wird der Zählereingang wohl etwas einfacher sein.

  9. #9
    Erfahrener Benutzer Begeisterter Techniker Avatar von Chypsylon
    Registriert seit
    02.02.2011
    Ort
    Graz/Österreich
    Beiträge
    256
    Zitat Zitat von Dunkle Macht Beitrag anzeigen
    ok. I²C fällt weg, da das auf unserem Board verwendet Prozessormodul kein I²C kann.
    Ich dachte ihr verwendet das gleiche Board wie die Antitischhocheber und da ist ja ein 128er oben der eigentlich schon I2C kann?

    Gruß
    Alex von den Androids

  10. #10
    Benutzer Stammmitglied
    Registriert seit
    09.05.2010
    Ort
    Legau
    Alter
    21
    Beiträge
    58
    Hallo,

    ist das gleiche board, jo. Das is aber n Prozessormodul, da sind schon paar bauteile mit drauf und das Modul kann aus Gründen, die sich mir auch nicht ganz erschließen, kein I²C.
    Ist aber auch nicht weiter schlimm weil bis jetzt seriell immer gereicht hat.

    Gruß
    Lukas

Seite 1 von 3 123 LetzteLetzte

Ähnliche Themen

  1. I²C Kommunikation zwischen AVR - PIC
    Von Eigo im Forum Robby RP6
    Antworten: 2
    Letzter Beitrag: 17.05.2010, 21:02
  2. Kommunikation zwischen 2 µC´s
    Von Blamaster im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 18
    Letzter Beitrag: 07.01.2008, 07:50
  3. Kommunikation zwischen uP und Pc
    Von XC866 im Forum C - Programmierung (GCC u.a.)
    Antworten: 3
    Letzter Beitrag: 14.02.2007, 15:48
  4. Kommunikation zwischen PC und BOT
    Von corpsealive im Forum PC-, Pocket PC, Tablet PC, Smartphone oder Notebook
    Antworten: 9
    Letzter Beitrag: 07.07.2006, 07:40
  5. [ERLEDIGT] Kommunikation zwischen AVR und PC
    Von im Forum AVR Hardwarethemen
    Antworten: 8
    Letzter Beitrag: 10.02.2004, 13:26

Berechtigungen

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