-         

Ergebnis 1 bis 4 von 4

Thema: Vierbeiner programmieren

  1. #1
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    19.07.2005
    Ort
    3. Planet
    Alter
    26
    Beiträge
    547

    Vierbeiner programmieren

    Anzeige

    Hi
    ich habe mal wieder eine dumme Frage. Es geht diesmal um Servos. Das Thema wurde zwar eigentlich schonmal behandelt aber ich komm damit irgendwie nicht klar, bzw. nicht gut genug. Also ich möchte nun endlich meinen Vierbeiner programmieren. Es ist ein 8-Servo-läufer, also nur zwei Servos pro Bein.
    Wie macht man sowas normalerweise in Bascom?

    Vielen Dank für eure Hilfe
    und viele Grüße
    sulu

  2. #2
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    24.09.2006
    Ort
    Nähe Mannheim
    Beiträge
    269
    Erster ;P
    http://www.roboternetz.de/phpBB2/viewtopic.php?t=39495

    Also im Grunde ist das echt einfach, aber bis ich da drauf gekommen bin das hat gedauert.

    Also als Tipp sag ich mal: Schau wie du selber läufst,... jedes Bein macht die gleiche bewegung aber nur versetzt. Genauso machst du das mit 4 Beinen des Robbis. Der läuft dann so wie ein Pferd wenn es sprintet (immer 2 Beinpaare machen das gleiche).

    Vorteil: es geht einfach zu programmieren
    Nachtil: er kann nicht viel gewicht tragen und auf die balance musst du auch achten.

    Wenn du aber möchtest das er nur ein Bein hebt orientier dich mal an den Sauropoden. Diese Dinos sind tonnen schwer und können nur ein Bein heben also genau die fortbewegungsart die am stabilsten ist.

    Um Servos anzusteuern gibt es hier schon genug threads und im Wiki Teil steht auch genug drin sollte dir ja dann reichen ;P
    Ich mach das mit der Sortiermethode, also eine Tabelle die je nach Servowert immer umgestellt wird. Funzt super ^^
    mfg

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    19.07.2005
    Ort
    3. Planet
    Alter
    26
    Beiträge
    547
    Hi

    also mit dem Gewiciht krieg ich keine Probleme. Da isser mehr als außreichend bestückt, bzw. leicht genug. Daher mach ich glaube die erste Methode. Also 2 auf einmal.

    Aber erklär doch bitte nochmal deine Sortiermethode. Die hab ich noch nicht so ganz verstanden.

    Viele Grüße
    sulu

  4. #4
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    24.09.2006
    Ort
    Nähe Mannheim
    Beiträge
    269
    Also du hast mit dem z.b. Timer 1 eine 50Hz Schleife.
    Im ISR von diesem Timer wird ein komplettes Byte (idealerweise 8 Servos) auf 255 gesetzt = alle ausgänge an.
    Nun wird nach einer in der Hauptschleife bestimmten Reihenfolge ein Servo nach dem anderem abgeschaltet.
    z.b.

    Portb = 255 'Alle ausgänge auf 1
    waitus 500 'warte 0.5ms wäre ganz links bzw sogar noch ewas weiter ;P
    Portb = 254 '255 - 1 = 244 =>> Portb.0 ist aus also auf 0.5ms eingestellt
    waitus var1 'warte einen errechneten Wert bis zum nächsten abzug
    portb = 250 '255 - 1 - 4 = 250 =>> Portb.0 und Portb.2
    ...
    ...
    Gut mit der wait funktion geht das nicht da die keine Variablen annimmt aber man erkennt leichter was gemeint ist ^^
    Die methode hat den Vorteil das du bei guter Programmierung soviele Servos dran hängen kannst wie du willst da man die Servos Byte weise abschalten kann. DIe eigentliche Begrenzung sind die vorhandenen Pins.
    (32 Servos an einem 40pin Chip haben schon ihren Dienst getan ^^)

    mfg

Berechtigungen

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