- fchao-Sinus-Wechselrichter AliExpress         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 16 von 16

Thema: [S] Programm für 12 Servos mit Geschwindigkeitsregelung

  1. #11
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    62
    Beiträge
    5.799
    Blog-Einträge
    8
    Anzeige

    LiFePo4 Akku selber bauen - Video
    ... zumal ja beim WallE-Nachbau vermutlich nie alle Servos gleichzeitig laufen müssen. Dann allerdings stellt sich die Frage ob der PIC ein Servo auch wieder aus der Kette entfernen kann wenn er gerade nicht aktiv sein muss: "- Servos sind inaktiv nach einschalten bis zur Übertragung der ersten Position"

    "Da der Pin 6 (Servo5) des SD20 keinen internen Pull-Up Widerstand besitzt, muss dieser extern bestückt werden, dazu einen Widerstand mit 4,7K von Pin6 nach +5V schalten"
    Warum verwenden die wohl die PullUps? Mein Bauchgefühl würde eher zu PullDowns tendieren.
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  2. #12
    Moderator Robotik Einstein Avatar von HannoHupmann
    Registriert seit
    19.11.2005
    Ort
    München
    Alter
    42
    Beiträge
    4.534
    Blog-Einträge
    1
    Ich würde auch ganz gerne davon absehen noch einen weiteren µC oder Pic nur für die Servos zu verwenden wenn ich eh schon einen Mega32 dafür reserviere.

    Wunschvorstellung wäre ein Programm bei dem ich immer 4 Servos gleichzeitig bewegen kann (entspricht einem Arm oder dem Kopf). Nur ganz wenige Prozesse erfordern es, dass sich beide Arme gleichzeitig bewegen müssten.

    Ich kann mir nicht vorstellen, dass sowas nicht möglich ist, aber ich kann es selber nicht, da ich in C für den µC nicht so fit bin.

    Jemand eine Idee wie sowas zu realisieren wäre?

  3. #13
    Erfahrener Benutzer Roboter Experte Avatar von ikarus_177
    Registriert seit
    31.12.2007
    Ort
    Grein
    Alter
    31
    Beiträge
    601
    Hmmm, vielleicht die Servosignale per 16-Bit Timer generieren, in einer Routine dann einfach die Servowerte entsprechend der gewünschten Geschwindigkeit bearbeiten (soferns keine Brems/Beschleunigungsrampen sein sollen, dürfte doch einfaches Addieren/Subtrahieren reichen?)...

    So hätte ich's vermutlich gemacht, allerdings nicht in C, sondern Bascom.

    Viele Grüße

  4. #14
    Benutzer Stammmitglied
    Registriert seit
    06.07.2007
    Alter
    37
    Beiträge
    81
    Hallo,

    also ohne Beschleunigungs/Bremsrampen sollte das mit einem Timerinterrupt problemlos möglich sein. Kommt hald darauf an was der Mega32 sonnst noch macht bzw. wo er die Daten für die Servos herbekommt.
    Du kannst auch mal n bisschen mit google suchen, da gibts mehrere Projekte wo man viele Servos mit nem AVR ansteuert. Hab nur kein link zur Hand, sonnst würd ich ihn hier posten!
    MFG Mixxer

  5. #15
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.803
    @HannoHupmann:
    Für die Geschwindigkeitskontrolle dachte ich daran die Bewegung zur Zielposition in viele Zwischenschritte zu unterteilen und dazwischen ein sleep intervall definierter Länge zu legen.
    Ich würde die Funktion, die die Bewegungen machen soll, in einem festen "Takt" aufrufen. Der Takt könnte z.B. auch Interrupt-getriggert sein.
    Das ist besser, als Wartezeiten zwischen den Servopositionen einzulegen.
    Eine weitere Feinabstimmung der Servogeschwindigkeit ist durch die Abstufung der Servopositionen möglich, d.h. ich kann die Positionen (im Takt, s.o.) jeweils um 1 verändern, natürlich aber auch um 2 oder 5 oder 10 und damit eine höhere Geschwindigkeit erreichen. Damit lassen sich Servos (bei gleichem Takt) unterschiedlich schnell zur Zielposition bewegen.

    Gruß Dirk

  6. #16
    Moderator Robotik Einstein Avatar von HannoHupmann
    Registriert seit
    19.11.2005
    Ort
    München
    Alter
    42
    Beiträge
    4.534
    Blog-Einträge
    1
    Der MEGA32 hat sonst nicht viel zu tun, ab und an mal seinen AD Wandler auslesen und den Wert über I²C rausgeben. Was er mit den Servos machen soll bekommt er auch über I²C gesagt. D.h. es zum Beispiel dann: "Arm hoch" oder "Kopf drehen" und dann wird ein festes Programm ausgeführt.

    Für mehr Aktionen müsste ich vermutlich noch mehr µC einbauen. Vielleicht ist das auch besser da ich mit den Ports langsam knapp werde und doch noch so einiges zu tun ist.

Seite 2 von 2 ErsteErste 12

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress