Forum: Mikrocontroller und Digitale Elektronik 18DOF hexapod


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Säsch (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Ich hätte gerne einen Tip von euch, was für eine Hardware ich am besten 
für eine roboterspinne nehme, die 18 servomotoren hat. Dies soll ein 
hobbyprojekt werden mit dem ich meine mikrocontroller und 
Programmierkenntnisse verbessern möchte.

Ich denke ich brauche 18 PWMkanäle um 18 servomotoren anzusteuern. 
Später wollte ich eine Kamera und ein Controller integrieren, um die 
Spinne über den pc mit Controller zu steuern - Oder mit dem Handy, mal 
sehen. Kennt ihr da etwas? Oder habt tips? Welche Entwicklungsumgebung 
ist am besten geeignet? Gibt es von Arduino was nützliches? Ich bin für 
jegliche tips dankbar.

Grüße

von Pandur S. (jetztnicht)


Bewertung
0 lesenswert
nicht lesenswert
Das bisherige Wissen scheint um Null herum zu liegen. Bist du sicher 
dass das Projekt nicht zu abgehoben ist ?
Allenfalls mal simulieren welche Signale die Stellmotoren denn bekommen 
sollten sofern welche da waeren.
Falls dann mal ein Investment ansteht, weil die Simulation erfolgreich 
war ... Vielleicht mit Modellbau servos. die koennen zwischen 180 und 
270 Grad, vielleicht auch weniger. Zu vielleicht 10 euro das stueck.

Ob PIC oder AVR ist eigentlich egal, man benoetigt einfach diese 18 
Pins. Ansteuerung per Timer Interrupt. Ein Timer interrupt fuer alle 
Pins, welche man dann passend verzoegert ansteuert.

von Viktor B. (coldlogic)


Bewertung
0 lesenswert
nicht lesenswert
Ich arbeitete auch mal an so einem Projekt. Dir würde ich empfehlen, 
drei SPI-zu-Servo-Wandler mit je 6 Kanälen auf Basis z.B. eines 
Attiny2313 aufzubauen. Die Wandler werden dann von einem zentralen 
Kontroller gesteuert. Das Schöne an dem Aufbau ist die Modularität, die 
Einfachheit der Implementierung eines 6- gegenüber einem 
18-Kanal-Servoregler und (nicht zu unterschätzen) drei getrennte 
Spannungsversorgungen. Manche Servos sind da ein wenig tückisch.

Beitrag #5212182 wurde von einem Moderator gelöscht.
von Thomas Z. (tezet)


Bewertung
0 lesenswert
nicht lesenswert
Auch gibt es spezielle Servos für Roboter. Die haben bessere 
Befestigungsmöglichkeiten, einen größeren Bewegungswinkel. Statt PWM 
haben die oft ein serielles Protokoll mit dem man Servos 
hintereinanderschalten und zusätzlich noch die Positionen abfragen kann.

Fazit: mit den "richtigen" Servos braucht man keine 18 Pins.

von Schreiber (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Säsch schrieb:
> Welche Entwicklungsumgebung
> ist am besten geeignet?

Matlab+Simulink mit den passenden Toolboxen.

von icke (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Säsch schrieb:
> Ich denke ich brauche 18 PWMkanäle um 18 servomotoren anzusteuern.

Wie kommst du bei einem Hexapod auf 18 Servomotoren. Ein HExapod ist ein 
6-Bein und diese 6 ändern ihre Länge. Was hast du mit 18 DOF vor?

von Robin (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Interessantes Projekt, das du da vor hast. Wie sieht dein Wissensstand 
beim Programmieren aus?

Modellbau Servos kann man Grundsätzlich verwenden, auch wenn diese ein 
Paar Nachteile haben. Kein Gegenlager, Billige meist ungenau,...
Eventuell wären ja diese Servos etwas für dich:
https://hobbyking.com/en_us/turnigytm-tgy-s901d-ds-mg-robot-servo-13kg-0-14sec-58g.html
Der Stift auf der Rückseite hat einen Durchmesser von 6mm, da solltest 
du noch ein Kugellager vorsehen.

Auch noch ein Nütlicher Link: 
http://rn-wissen.de/wiki/index.php?title=Spinnenbeine_(Hexapods)
Da wird etwas erklärt. welche Kräft so wirken.

Ansonsten würde ich mir an deiner Stelle erst einmal Gedanken über die 
Mathematik machen. Stichwort Inverse Kinematik und Cosinussatz. 
Prinzipiell ist dir nur die Position deiner "Schulter" und Fußspitze 
bekannt und die Servo Winkel musst du auf diesen beiden Punkten 
zurückrechnen, um die Servos ansteuern zu können.


Ein Pic oder AVR wie Sabberlott meint, reicht leider nicht, es sei denn 
man macht nur eine sehr stupide Ablaufsteuerung, die die PWM Werte aus 
einer Tabelle ausliest und "abspielt". Für die Inverse Kinematik 
brauchst du etwas mehr Rechenleistung als ein AVR zur Verfügung stellen 
kann, zur Ansteuerung der Servos reichen sie aber. Evtl wäre ein 
Raspberry Pi + AVRs für die PWMs etwas, wie Viktor geschrieben hat. Dann 
kannst du auch die Kamera und Blutooth/Wlan mit dem Pi auswerten.


@icke: Das mindeste sind 2 Servos pro Bein, wobei dann seitlich laufen 
schon nicht geht. Erst ab 3 Gelenken pro Bein ist die volle 
Beweglichkeit gewährleistet.

von Malte (Gast)


Bewertung
2 lesenswert
nicht lesenswert
Habe vor ein paar Jahren mal sowas gebaut:
https://youtu.be/cV995qrkcao

hatte dabei drei Modellbauservos pro Bein verwendet und ein AVR pro 
Bein, der die Servos ansteuert und die inverse Kinematik für das Bein 
rechnet - in toto also 18 Servos und 6 AVRs. Letzteres ist in gewisser 
Weise overkill, schien mir damals aber die sicherste Wette zu sein, um 
das Ganze ans Laufen zu bekommen.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.