- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 6 von 6

Thema: Servosteuerung für 18 Servos, welches Datenprotokoll?

  1. #1

    Servosteuerung für 18 Servos, welches Datenprotokoll?

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo,

    ich tüftel grade an einer Servosteuerung für einen Hexabot, mit der man mind. 18 Servos steuern kann.
    Das Grundprogramm ist jetzt so weit fertig und soll auf einem Atmega8 oder Atmega16 zum Laufen kommen.

    Die eigentliche Steuerung der Bewegung des Haxabots soll ein anderer AVR übernehmen, der dann die Daten für die Servos an o.g. Controller sendet.

    Jetzt überlege ich, welches Protokoll für die Datenübertragung sinnvoll ist.

    Ich wollte das fertige Programm nämlich der Allgemeinheit zur Verfügung stellen, und da bietet es sich u.U. an, ein Protokoll zu verwenden, dass in Roboterkreisen ohnehin geläufig ist. Was meint Ihr?

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    30.12.2008
    Beiträge
    1.427
    ich würd gleich atmega 16 nehmen und wenn ich daten übertrage gleich paralell.

  3. #3
    Parallel ist sicher schneller, braucht aber auch mehr Leitungen. Ob der Benefit bei einer Servosteuerung so groß wäre?

    Warum würdest Du den M16 nehmen?

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    21.05.2008
    Ort
    Oststeinbek
    Alter
    34
    Beiträge
    607
    Ein m16 hat einfach mehr Pins. Dann kannst du, falls du es dir nochmal überlegen willst, sowas wie einen Sensor ans Bein basteln, der dir bestätigt, dass das Bein fest auf dem Boden steht. Dann musst du später zwar das board neu machen, kannst die Programmierung aber beibehalten.
    Ich bin auch gerade dabei einen Hexapoden zu bauen, mache das mit einem m16 als motorsteuerung und einem m8 als haupt-Prozessor. Verbinde beide über I²C.

    Gruß, Yaro

  5. #5
    Erfahrener Benutzer Robotik Einstein Avatar von vohopri
    Registriert seit
    11.09.2004
    Ort
    südlich der Alpen
    Beiträge
    1.708
    Hallo waran,

    wenn du die Servos seriell ansteuerst, verwendest du am einfachsten 2 Ports für je 9 Servos. Das Übertragungsprotokoll heisst PPM, also Pulse Position Modulation und wird in der Modellbau Technik allgemein angewendet.

    Bild hier  

    In dem Beispiel werden mit 3 Impulsen 2 Kanäle übertragen = grüne Linie. 9 Kanäle sind genau so möglich, dann werden eben 10 Impulse verwendet. Die Impulsdauer ist konstant, ein Zyklus für alle Kanäle dauert 20 ms. Die Servostellung ist durch die Impulsabstände codiert. Die Impulsabstände betragen also 1 bis 2 ms.

    Eine ganz einfache Schaltung klaubt dann die Kanäle auseinander. Oben stellt die gelbe Linie das Ergebnis für den ersten Kanal dar.

    Bild hier  

    Das ist die Schaltung, die das Signal für die 9 Servos entgegen nimmt und an die 9 Servos verteilt. Gezeichnet sind allerdings nur 2 Kanäle.

    Bei Servos hast du ohnehin einen Übertragungszyklus von 20 ms, egal, ob du sie parallel über 18 Leitungen oder seriell über 2 Leitungen ansteuerst.

    Ich persönlich würde die serielle Übertragung bevorzugen, und die eingesparten Leitungen für spätere Erweiterungen in Reserve belassen.

    grüsse,
    Hannes

  6. #6
    Hallo Hannes,

    Danke für die ausführliche Antwort!
    Die Idee mit dem 4017 gefällt mir sehr gut!

    Bei diesem Projekt geht es mir darum, eine Ein-Chip-Lösung zu finden.

    Mittlerweile bin ich mit der Programmierung auch schon ein gutes Stück weiter gekommen.

    Derweilen viele Grüsse Richtung AT!

Berechtigungen

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

MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad