- Labornetzteil AliExpress    Werbung      
Ergebnis 1 bis 10 von 343

Thema: .: Vinculum :. - Hexabot

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Begeisterter Techniker Avatar von Slowly
    Registriert seit
    08.05.2004
    Ort
    24558
    Alter
    58
    Beiträge
    271
    Hmmm... Kannst Du ein grobes Schema posten, das zeigt wie die Stromversorgung in Deinem Bot aussieht? Ich denke das Problem mit dem Zucken wird sich nicht durch Ferritkerne ausbügeln lassen.

  2. #2
    Moderator Robotik Einstein Avatar von HannoHupmann
    Registriert seit
    19.11.2005
    Ort
    München
    Alter
    43
    Beiträge
    4.534
    Siehe Beitrag #126 da ist meine "Primäre Versorgung" zu sehen. Von dort geht 3,3V - 5V und GND zum µC und die Signalkabel zu den Servos (in Reihe ein 100Ohm Widerstand). Vor jedem Bein ist eine "Verteilerplatine" gebaut hier werden die Servos mit 6V Spannung versorgt und mit 100nF + 100µF gepuffert. Seit gestern ist diese 6V Schiene mit EMV Geflecht ummantelt und von der Signalleitung getrennt (Signale sind nun unten verlegt und Versorgungsspannung oben).

    Zusätzlich habe ich heute noch die längsten Servoleitungen in der Nähe des µC mit Feritkernen versehen (die liegen eh noch rum also kann ich sie auch einbauen).

    Das Zucken des Servos E0 kommt allerdings nicht von der Servospannung, Signalleitung oder sonst was, sondern von der kaputten Elektronik im inneren. Er bewegt sich zwar, aber ohne Kraft. Irgendwas ist an dem nicht mehr ganz in Ordnung und daher wurde er jetzt ausgetauscht. Schon funktioniert alles wie gewünscht.

  3. #3
    Moderator Robotik Einstein Avatar von HannoHupmann
    Registriert seit
    19.11.2005
    Ort
    München
    Alter
    43
    Beiträge
    4.534
    Frage an alle die Mitlesen:

    Ich möchte die Bewegung einens Servos mathematisch invertieren.

    Folgende Situation ich habe Servos die sich nach oben bewegen wenn der Vorgabewert steigt (max 2170 Ticks) und sich senken, wenn die Vorgabe sinkt (min 810 Ticks). Nun ist es aber durch den Einbau bedingt, dass manche Servos invertiert laufen, d.h. sie sinken bei hohen werten und steigen bei niedrigen. Für die Ansteuerung wäre es aber leichter, wenn sich alle Servos gleich verhalten. Ich müsste also bei den Servos die sich invertiert verhalten im Programm eine Umrechnung implementieren die aus dem Vorgabewert hohe Werte = steigen und niedrige Werte = sinken, entsprechende Ticks generieren:
    Servo A = hoch bei 2170 und niedrig bei 810 (Mitte 1490)
    Servo B = hoch bei 810 und niedrig bei 2170 (Mitte 1490)

    Irgendwie komm ich gerade nicht drauf, wie ich das mathematisch abbilden kann.

  4. #4
    Erfahrener Benutzer Roboter Experte Avatar von ikarus_177
    Registriert seit
    31.12.2007
    Ort
    Grein
    Alter
    33
    Beiträge
    601
    Ich hab' bei meinem Roboter die Servos einfach wie folgt kalibriert: per Taster wurden die beiden Endlagen sowie Winkel von +45° und -45° angefahren. Die jeweiligen Pulslängen bei diesen Winkeln (schließlich sind die Winkel ja das Ergebnis der IK) wurden im EEPROM gespeichert. Dann einfach eine Gerade durch diese Punkte legen (wofür ja schon 2 Punkte reichen sollten) - und fertig ist die Kalibrierung...

    Schöne Grüße

  5. #5
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    63
    Beiträge
    5.799
    Hallo

    Ich würde die Servos umbauen:

    Externes Bild anzeigen   
    (Aus https://www.roboternetz.de/community...l=1#post426347)

    Beide Servo erhalten das selbe Signal.

    Bisher hatte ich nur Billigservos verwendet. Die drehen nicht linear. Das bedeutet, Impulsdaueränderungen auf der einen Seite bewirken einen anderen Drehwinkel als auf der anderen Seite. Dadurch wird eine rechnerische Lösung sehr kompliziert.

    Gruß

    mic
    Bild  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  6. #6
    Erfahrener Benutzer Roboter Genie Avatar von HeXPloreR
    Registriert seit
    08.07.2008
    Ort
    Soltau - Niedersachsen
    Alter
    47
    Beiträge
    1.369
    Hallo,

    ich würde einfach sagen z.B. bei jedem Servo 1490 mitte, dann würde ich eine Seite minus und eine plus rechnen lassen, oder nicht?

    Falls Korrekturen nötig sind würde ich die als Paramter vorher erfassen(Korr_servo1_b).
    Hier sind die Werte für um 90° gedrehte Servos direkt eingeschrieben.
    Für die Hitecs habe ich noch keine extra erstellt.

    Ich habe eine "Variablen-Pflegebereich(Geometrie und Versatz)" eingebaut, in dem legt man die kompletten "Konstanten" fest (alle festen Längen, Korrekturwerte, .....). Änderungen der Geometrie müssen/dürfen aussschliessliche dort gemacht werden.

    Das Problem trat beim mir auf als ich von RS-2 (Bein-Prototyp) auf Hitec Servos gewechselt habe. Die drehen entgegengesetzt Bild  

    Ich würde es auf jeden Fall rechnerisch lösen, nicht mechanisch durch Umbau.
    Denn dazu ist ein µC da.

    Du kommst noch drauf, geh schlafen - morgen gehts wieder Bild  

    Gute Nacht.
    Geändert von HeXPloreR (02.03.2013 um 16:14 Uhr) Grund: Code entfernt

  7. #7
    Erfahrener Benutzer Robotik Einstein Avatar von Geistesblitz
    Registriert seit
    15.03.2011
    Ort
    Dresden
    Alter
    38
    Beiträge
    1.937
    Eigentlich ist es ziemlich billig:

    t_Servo = tmax + tmin - t_Soll

    Wobei t_Soll der Wert ist, den der Servo einnehmen soll und t_Servo der Wert, den der Servo tatsächlich bekommt. tmax und tmin sind die obere und die untere Grenze, wobei du darauf achten solltest, dass diese auch wirklich von der Mittelstellung gleich weit entfernt sind. Obwohl, eigentlich lässt sich das mit Kalibrierung herausrechnen.

    So, wie bin ich nun auf die Formel gekommen?
    Erstmal hab ich das Signal invertiert, allerdings hat man dann nur negative Werte. Das heißt, dass man den Bereich jetzt noch geeignet verschieben muss. Zieht man den Wert tmin vom Sollwert ab, so hat man den Abstand zwischen beiden. Jetzt muss man diesen Abstand nur noch von tmax abziehen, und man hat sein Ergebnis:
    t_Servo = tmax - (t_Soll - tmin) = tmax + tmin - t_Soll

Ähnliche Themen

  1. CFK Hexabot
    Von MichaF im Forum Vorstellungen+Bilder von fertigen Projekten/Bots
    Antworten: 14
    Letzter Beitrag: 19.08.2010, 22:03
  2. atmega und Vinculum
    Von elcomportal im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 0
    Letzter Beitrag: 27.05.2008, 22:47
  3. hexabot
    Von patrickgera im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 11
    Letzter Beitrag: 29.04.2008, 22:09
  4. LVProg - Linux Vinculum (USB Hostcontroller) Programmer
    Von Surveyor im Forum Open Source Software Projekte
    Antworten: 0
    Letzter Beitrag: 01.11.2007, 03:08
  5. Hexabot
    Von Derboss im Forum Vorstellung+Bilder+Ideen zu geplanten eigenen Projekten/Bots
    Antworten: 36
    Letzter Beitrag: 22.09.2007, 11:32

Berechtigungen

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

    Werbung      Labornetzteil AliExpress