- 12V Akku mit 280 Ah bauen         
Ergebnis 1 bis 10 von 60

Thema: servo initialisieren

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Benutzer Stammmitglied
    Registriert seit
    23.10.2014
    Beiträge
    56

    servo initialisieren

    Hallo, war einige Zeit nicht anwesend und begrüße alle Roboterspezialisten. Wahrscheinlich bin ich für diese Basteleien schon zu alt (79).
    Ich habe mir von der Firma Adeept den Hexapod Bausatz gekauft, komme aber mit der Einstellung der Servos (Tower Pro SG92R) nicht klar, ich verstehe das genaue Vorgehen nicht. Bei meinem vorherigen Bausatz Quadruped von der Firma Freenove konnte man nach der Initialisierung der Servos vor dem Zusammenbau, nach dem Zusammenbau die Servos calibrieren. Der Roboter war mir auch gut gelungen.
    Bei dem Hexapod von adeept steht lediglich man soll über die Platine die 19 Servos an Spannung legen. Sie würden dann rotieren und in einer Initialposition stehen bleiben. Danach wird das Servohorn (heißt hoffentlich so?) unter einem bestimmten Winkel befestigt, damit der Hexapod später auch richtig läuft. Bei adeept bekommt man nach Email-Anfrage lediglich die Antwort, daß alles in der Anleitung steht. Ganz anders Freenove. Der Mitarbeiter dort hatte mir innerhalb eines Tages wertvolle Tipps gegeben.
    Mein Problem:
    Die Initialposition hängt von der Vorgeschichte ab, also wie der Servoschaft vorher stand. Das ist bei jedem der 19 Servos anders, also nehmen sie auch alle andere Anfangspositionen ein. Leider steht dazu in der Anleitung nichts. Eigentlich kann ich mir nichts vorwerfen. Habe die Servos angeschlossen, die Spannung wieder getrennt und die Servohörner für jedes Servo mit den angegebenen Winkeln (90, minus 90, 180 Grad) befestigt.
    Der gesamte Zusammenbau war ziemlich aufwendig und einmal befestigt können sich die Servos nicht mehr verstellen allerdings stimmt jetzt beim Spannung anlegen an den fertigen Roboter gar nichts mehr.
    Mir ist klar, daß ich einen Denkfehler mache, kann mir jemand helfen?

    Vielen Dank!
    gruß recke

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von i_make_it
    Registriert seit
    29.07.2008
    Ort
    Raum DA
    Alter
    55
    Beiträge
    2.814
    bei einem RC-Servo hängt der Positionssollwert nicht davon ab wie der Servo vorher stand.
    Die Steuerung bekommt ja gar keine Positionsdaten vom Servo.

    Wenn man dem Servo ein Signal liefert, das ihn auf 0° (Mittelstellung) bringen soll, dann fährt er das an egal ob er vorher im Bereich bis -90° war oder im Bereich bis +90°.

    Eventuell wäre mal ein Bild hilfreich, wo man sehen kann wie die Stellungen sind nach dem Power up.

    Was ich mir vorstellen kann sind das ggf. Servos nicht an den steckern sind wo die Steuerung sie erwartet. damit bekommt dan der physikalisch falsche Servo eine Position die eigentlich zu einem anderen Servo gehört.
    und dann gäbe es noch die Möglichkeit, (wenn es den von der Geometrie möglich ist, das ein Servo falschrum eingebaut ist und so +90° und -90° Bereich vertauscht sind.

    Mal mögliche Defeke an Servos außen vor gelassen.


    https://de.wikipedia.org/wiki/Servo#Modellbauservos
    Geändert von i_make_it (22.03.2018 um 22:07 Uhr)

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    23.10.2014
    Beiträge
    56
    Hallo make, erstmal vielen Dank für Deine schnelle Antwort, denn gestern war ich ziemlich verzweifelt. Für mich waren Deine ersten zwei Sätze lehrreich und wichtig, weil die Servowelt für mich neu ist. Bei der Initialisierung der Servos ist es zunächst gleichgültig, wo die Servos angeschlossen sind. Die Software gibt an allen Anschlüssen das gleiche "Null"-Signal aus. Das kenne ich noch vom Quadruped. Nach der Initialisierung werden dann die Servohörner im geforderten Winkel auf das/den Servo gesteckt und dabei darf man die Servoposition nicht ändern. Nun haben aber einige der 19 Servos das Verhalten, daß sie bei jedem Neueinschalten während der Initialisierung einen Winkel weiter drehen, obwohl sie jedes mal das Nullsignal bekommen. Wenn die Servos dann eingebaut sind müssen sie an ihre besonderen Steckplätze, aber hier funktioniert bei einer Untermenge schon das Nullstellen nicht. Beim Quadruped hatte ich von 12 einen defekten, hier sieht es aber schlimmer aus. Mit Deinem Hinweis ist mir eigentlich klar, daß ich einige nachbestellen muß. Die Lieferung dauert ja immer sehr lange.
    gruß recke

  4. #4
    Erfahrener Benutzer Robotik Einstein Avatar von i_make_it
    Registriert seit
    29.07.2008
    Ort
    Raum DA
    Alter
    55
    Beiträge
    2.814
    Vor dem Nachbestellen, einen Servo nehmen der an einer Position einwadnfrei läuft und den mal an die verschiedenen Positionen anschließen.
    Wenn es keine mechanische Kollisionsgefahr mit anderne Bauteilen gibt, reicht das rein elektrische Umstecken.
    Einen komplettne Kreuztest machst Du wenn du dann die problematischen Servos auf Positionen Steckst auf denen kene Probleme auftraten.
    Wandert der Fehler mit, ist es der Servo, bleibt der Fehler an dem Anschluß und tritt dort auch bei Servos auf die woanders keine Probleme machen, ist es der Anschluß/die Elektronik.

    Hast Du einen einfachen analogen Servotester?
    Damit kannst Du Servos unabhängig von ungetesteten Aufbauten bewegen und testen ob die zittern oder anderweitig komisches Verhalten an den Tag legen.

    Die Servos haben ja intern ein Potentiometer als Drehgeber für den istwert.
    Wegen Ungenauigkeiten beim Anfahren von unterschiedlichen Richtungen etc. kann es vorkommen das ein Servo in verschiedenen Position leicht zittert.
    (Hauptsächlich kommt Servozittern allerdings duch Spannungsspitzen -einbrüche vor).

    Also ggf. mal per Netzteil (das entsprechend belastbar ist) und ggf. Voltmeter (Multimeter) dne Servo bestromen und schauen ob bei den Problematischen Servos die Spannung einbricht, bzw. das Verhalten bei einer stabilen Versorgung verschwindet.
    Servos sind bekannt dafür, das sie ordentlich Strom ziehen können.

    Wenn ein Servo bei konstantem sollwert in eine Richtung driftet, dann ist der Servo vermutlich Müll.
    Bei teuren Servos kann man da versuchen ob man mit einer Austauschelektronik hin kommt.
    (habe ich aber noch nicht für Mikroservos gesehen)

    Also Servotester und mindestens ein Multimeter sind nützlich wenn man viel mit (oder mit vielen) Servos zu tun hat.
    Ein Stück Lochraster, auf dem man ein Stück Pfostenleiste und Pfostenbuchse (je 3 Pins) anbringt und Buchsen (und einen Jumper oder Schalter) für Spannung und Strommessung. Damit kann man bei jedem Servo einmal testen wie er sich am Tester verhällt und wie sich Spannung und Strom dabei verhalten.
    Wenn man ein Labornetzteil hat, oder eines wo man 6,0 bis 7,2V einstellen kann (9V 1A Netzteil und einstellbarer Spannungsregler dran).
    Kann man auch testen, ob betroffene Servos bei höheren Spannungen besser laufen.
    Geändert von i_make_it (23.03.2018 um 12:47 Uhr)

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    23.10.2014
    Beiträge
    56
    also schon die nächsten guten Tipps. Ein Netzteil wollte ich schon lange wieder mal anschaffen und den Servotester kannte ich gar nicht, auch gleich bestellt. Mir gefällt der hexapod, allerdings scheinen die schon elektrische Probleme zu haben. Warum beschreiben sie ansonsten auf 10 Seiten (erst jetzt gefunden) die Branntgefahr. Ich habe alle Servos abgeklemmt und fange nach Testung völlig von vorne an. Bei neuen Erkenntnissen melde ich mich. Jetzt warte ich erstmal auf die Pakete. Das, was eigentlich für einen Anfänger wichtig wäre, beschreibt adeept leider nicht und Profis kaufen sich solche billigen "Roboter" nicht.
    nochmals ein großes Dankeschön und Gruß
    recke

  6. #6
    Erfahrener Benutzer Robotik Einstein Avatar von i_make_it
    Registriert seit
    29.07.2008
    Ort
    Raum DA
    Alter
    55
    Beiträge
    2.814
    So, komme nwir jetzt zum komplizierteren Teil.
    Die Servos (Tower Pro SG92R) die Du hast sind wohl Digitalservos.
    http://www.towerpro.com.tw/product/sg92r-7/

    Analogservos bekomme nalle 20ms eine Steuerinformation, Digitalservos alle 400µs. Also 50 mal so oft.
    Testen kann man die mit einem analogen Servotester trotzdem.
    Aber die Digitalservos ziehen mehr Strom als analoge Servos.
    Vermutlich deshalb die Brandgefahr.
    Weil bei gleicher Spannung, heist mehr Strom, mehr Leistung und somit auch mehr Verlustleistung = Wärme.
    Allerdings ist bei dem Servo die Spannung kleiner (4,8V) die 6,0 - 7,2V sind im RC-Modellbau üblich, da dort oft 6-Zellen Racing Packs = 6 * 1,2V = 7,2V oder 5 Zellen = 5 * 1,2V = 6V vorkommen.
    4,8V = 4 * 1,2V würde üblicherweise höchstens als Empfängerakku genommen.

    Also stimmen meine zuerst gemachten Spannungsangaben für den Servotyp nicht. Aber das Prinzip bleibt gleich.

    http://schriftzug-modellbau.blogspot...gital-und.html

    Das mit den Kreuztests würde ich als erstes empfehlen um schon mal einen ersten Überblick zu bekommen.
    Dann Spannungsmessungen um zu sehen ob da was in die Knie geht.
    Für genauere (Kurzzeitige Erignisse) Messungen würde man ein Osziloskop benötigen.
    Ob man das Geld investieren will, muß man sich genauer überlegen.
    Wenn es nur darum geht eins zwei Roboter einmalig zu prüfen, lohnt der Preis nicht, will man allerdings eh mehr mit Elektronik machen und öfters Fehlersuche betreiben oder gar Schaltungen entwicklen sieht es anders aus. Grade bei niedrigeren Frequenzen sind USB Osziloskope (Teilweise mit Logikanalyzer) mittlerweile recht günstig.

    Alternativ, im eigenen Umkreis nach Makerspace/Hackerspace/Reparaturkafee schauen und da mal anfragen.

    als Dritten Test würde ich einen Servo der anscheindne drifted mal nehmen, in ein Sück appe einen Ausschnitt machen durch den der Servo stramm geht und dann am Servohorn (ggf. mit einer Verlängerung) anzeichnen wo der beim Homing steht das dann 10-20 mal wiederholen, um zu sehen ob der Wirklich jedesmal immer weiter in eine Richtugn wandert oder ob der wegen Toleranzen öfters mal etwas nachrutscht aber insgesamt doch mehr oder weniger die gleiche Position anfährt.
    Geändert von i_make_it (23.03.2018 um 16:16 Uhr)

  7. #7
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    03.04.2013
    Beiträge
    526
    Vielleicht war auf dem Arduino ein Init-Programm drauf, welches du jetzt plattgemacht hast?

  8. #8
    Erfahrener Benutzer Robotik Einstein Avatar von i_make_it
    Registriert seit
    29.07.2008
    Ort
    Raum DA
    Alter
    55
    Beiträge
    2.814
    Also eine Steuerung, in dem Fall der Arduino ist auf jeden Fall notwendig.
    Die Initialisierung erfolgt per Prodgramm.
    Ein Shield der nur zur Strom und Signalverteilung dient.
    kann das nicht leisten.
    Und von Hand sollte man Servos möglichst nicht drehen (oder sehr sehr vorsichtig), denn man kann da schnell mal einfach Zähne vom Getriebe anscheeren.

    Wen nda also ein Initialisierungsprogramm dabei sit das auf jeden Fall als erstes laden.

    https://www.adrive.com/public/AB6q2h...duino-V1.0.zip
    In dem Archiv ist eine Datei:
    Adeept6LegSpiderRobot.ino

    Das ist das Programm für den Roboter.

    Guidebook-Adeept 6-Leg-Spider-Robot-Kit.pdf
    ist das Handbuch (auf englisch)
    Ab Seite 14 sieht man daß das Servo Shield zuerst auf den Arduino muß.
    Dann das NRF24L01 auf den Shield.
    Danach auschalten und Akku dran.
    Danach der erste Servo (PWM0).
    Und alles einschalten 3-5 Sekunden warten bis der Servo sich gedreht hat und ausschalten.
    Danach wird das Servohorn montiert.
    Bis Seite 17 sind dann alle Servos aufgeführt und wie sie auszurichten sind.
    Also immer einen Servo an seinen Steckplatz anschließen, einschalten, ausrichten lassen, auschalten, Servohorn montieren (und festschrauben), abziehen und nächster Servo.
    Am besten an jeden Servo einen Aufkleber mit PWM0 - PWM8, PWM16-PWM24, PWM31.
    Danach beginnt der mechanische Zusammenbau.

    Da in der Beschreibung vor diesem Teil nicht darauf eingegangen wied, das man das Programm hochladne muß, dürfte der Arduino vorprogrammiert sein.
    Wenn die Prozedur also nicht mehr geht, muß wohl die Arduino IDE installiert werden und die .ino Datei neu in den Arduino geladen werden.

    Da es nur die:
    Adeept6LegSpiderRobot.ino
    AdeeptRemoteControl.ino
    sowie die Libraries:
    Adeept_PWMPCA9685
    RF24
    gibt, dürfte die Initialisierungsroutine Bestandteil des Programms sein.

    Auf Seite 55 sieht man die Fernsteuerung und einen Arduino Nano.
    Also ist das Remote Control ino für den Nano in der Fernsteuerung und das 6LegSpiderRobot ino für den Roboter.

    Ab Seite 56 wird auf die IDE dessen Beschaffung und Installation eingegangen.
    Auf Seite 60 wie man die beiden Libraries installiert und ab Seite 63 auf dne Upload der inos auf die beiden Arduinos.

    Bei fehlenden Englischkenntnissne, macht es Sinn erst mal im Internet mit deutschen Schlagworten zu stöbern damit man ein allgemeines Verständniss bekommt und so leichter die ja nciht immer exakten Übersetzungen eines Google Translators besser interpretieren zu können.
    Geändert von i_make_it (26.03.2018 um 17:18 Uhr)

Ähnliche Themen

  1. [ERLEDIGT] MPU6050 Initialisieren mit dem Netduino
    Von Robo-Hero im Forum Sensoren / Sensorik
    Antworten: 2
    Letzter Beitrag: 05.02.2013, 12:02
  2. LCD initialisieren
    Von Spitfire im Forum Software, Algorithmen und KI
    Antworten: 3
    Letzter Beitrag: 03.08.2012, 22:18
  3. structs initialisieren
    Von Siro im Forum C - Programmierung (GCC u.a.)
    Antworten: 12
    Letzter Beitrag: 18.02.2011, 08:53
  4. Adc initialisieren beim Atmega 16
    Von Destrono im Forum C - Programmierung (GCC u.a.)
    Antworten: 3
    Letzter Beitrag: 25.05.2010, 12:16
  5. LCD - initialisieren im 4-Bit Modus
    Von henne im Forum AVR Hardwarethemen
    Antworten: 2
    Letzter Beitrag: 12.03.2005, 00:26

Stichworte

Berechtigungen

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

Solar Speicher und Akkus Tests