  |
| |
|
| Autor |
Nachricht |
waran
Neu hier


Anmeldungsdatum: 25.12.2008
Beiträge: 3
|
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? |
|
|
|
 |
Thomas$

|
ich würd gleich atmega 16 nehmen und wenn ich daten übertrage gleich paralell. |
|
|
|
 |
waran
Neu hier


Anmeldungsdatum: 25.12.2008
Beiträge: 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? |
|
|
|
 |
yaro
Roboter Experte


Anmeldungsdatum: 21.05.2008
Beiträge: 561
Wohnort: Oststeinbek Alter: 20

|
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 |
|
|
|
 |
vohopri
Roboter Genie


Anmeldungsdatum: 11.09.2004
Beiträge: 1396
Wohnort: südlich der Alpen

|
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.
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.
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 |
_________________ Autonome Fahrzeuge:
http://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=36497 Land
http://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=49258 Wasser |
|
|
 |
waran
Neu hier


Anmeldungsdatum: 25.12.2008
Beiträge: 3
|
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! |
|
|
|
 |
|
|
|
|
  |
|
|
|
Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum nicht posten Du kannst Dateien in diesem Forum nicht herunterladen
|
Alle Zeiten sind GMT + 1 Stunde
|