- Akku Tests und Balkonkraftwerk Speicher         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 36

Thema: Und schon wieder ein Servotester, aber ein erweiterter

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Einstein Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.716
    Blog-Einträge
    133
    Trotz Wetter habe ich noch ein wenig weiter gemacht und ein paar Meßwerte vom Hyperterminal in angehangene Datei kopiert.
    Das (noch nicht ausgereifte) Meßprogramm ist auch angehangen. Falls jemand Lust hat, kann er sich da mal durchwühlen und Feedback geben.

    Es läuft folgendermaßen:
    Timer1 im Tiny44 wird im Mode15 mit 1Mhz betrieben (fast PWM, OCR1A as TOP, OC1B als PWM Ausgang)
    Mit einem Poti und Drehencoder wird OCR1B gesetzt um die Länge des Servopulses zu beeinflussen. Servo ist an OC1B angeschlossen. Mit dem anderen Poti wird OCR1A gesetzt um die PWM Frequenz einzustellen.

    Mit einer Taste wird die Zeit des Durchlaufs eines 60° Winkels im Linkslauf gemessen. Mit einer zweiten Taste das Gleiche im Rechstslauf. Dazu ist der Winkel so angebracht, daß im Linkslauf die fallende Flanke der Reflexlichtschranke, die am Input Capture Pin des Tiny angeschlossen ist, als Start- und Stopsignal hergenommen werden kann. Im Rechtslauf die steigende Flanke.


    1. Vor Beginn der Messung zB für Linksdrehung, wird eine sinnvolle Pulsweite zB. 1800µs eingestellt. Das Servo dreht entsprechend in seine Stellung.
    2. Dann wird der linke Winkelschenkel von Hand über die Lichtschranke gebracht - Ausgang Lichtschranke = LOW. LED auf Breadboard erlischt.
    3. Taste für Linksdrehungsmessung drücken.
    4. Servo dreht nach rechts bis Ausgang Lichtschranke high ist.
    5. Die aktuelle Pulsweite, die nun etwas mehr als 1800µs beträgt wird nochmals um 200µs verlängert - Servo dreht noch weiter nach rechts, quasi als Anlauf für die folgende Linksdrehung.
    6. Die aktuelle Pulsweite wird um 1000µs reduziert und dadurch die Linksdrehung begonnen.
    7. Passiert die linke Kante des linken Winkelschenkels den CNY-70 beginnt die Zeitnahme.
    8. Passiert die linke Kante des rechten Winkelschenkels den CNY-70 stoppt die Zeitnahme, Linksdrehung stoppt und Servo auf die Ausgangsposition (Pulsweite zB. 1800µs) zurückgefahren.
    9. Meßwert ausgegeben und noch auf einen Tastendruck gewartet um den Meßmodus zu beenden.


    Rechtsdrehungstest funktioniert sinngemäß mit 1200µs und Start mit rechtem Winkelschenkel über dem CNY-70.

    Youtubelink: Video zur Verdeutlichung für eine Linksdrehmessung.

    Die Zeit wird mit dem Input Capture Feature des Timer1 genommen, indem bei ICP Interrupts das ICR Register gesichert wird und zusammen mit den gezählten Timeroverflows seit Meßstart verrechnet wird.

    Im Meßprotokoll wird außer der Laufzeit noch die ungefähre Position des Servos zum Start der Zeitmessung in µs (die festgestellte Pulsweite bei dem die Lichtschranke high wurde, siehe Punkt 4. weiter oben) und der Pulsabstand in ms ausgegeben.

    Abgesehen von der Streuung der Meßwerte sehe ich folgendes:
    Rechtslauf ist langsamer als Linkslauf
    Meßserien zu verschiedenen Zeitpunkten (nach Einschalten der Meßapparatur oder bei warmgelaufenem Servo oder nach Kaffeepause oder...) gestartet bringen nahe beieinander liegende Zeiten, die aber insgesamt von einer anderen Serie größere Abweichungen haben können.

    Ein noch nicht sicher erkannter Effekt bei langen Pulszeiten:
    Bei der Justierung von Hand des Winkels über der Lichtschranke vor Meßbeginn ist es nicht egal, wie weit die Kante vom Schaltpunkt des CNY entfernt ist. Im Meßprotokoll ist der Abstand erkennbar an den StartPW Werten. Je weiter diese von 1800µs entfernt sind, desto weiter war die Kante des Winkel von dem Zeitmeßstart (Schaltpunkt des CNY) entfernt.
    Dann werden die Laufzeiten länger?
    Progamm? Methode? Ungenauer Aufbau?
    Fremdlicht spielt keine Rolle!
    Noch nicht bei kurzen Pulszeiten beobachtet.

    Gruß
    Searcher
    Angehängte Dateien Angehängte Dateien
    Hoffentlich liegt das Ziel auch am Weg
    ..................................................................Der Weg zu einigen meiner Konstruktionen

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    02.09.2009
    Ort
    Berlin (Mariendorf)
    Beiträge
    1.023
    Hallo Searcher.

    Was hältst du davon, bei der anfänglichen Justierung den toten Gang des Getriebes rauszunehmen durch Anfahren der Startposition in der Messrichtung (verzeih, wenn das schon geschieht und ich nicht kapiert haben sollte) und die Lichtschranke zu bewegen anstelle der Verdrehung des Winkels?
    Das wäre zumindest eine kleine Verbesserung

  3. #3
    Erfahrener Benutzer Robotik Einstein Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.716
    Blog-Einträge
    133
    Hallo RoboHolIC,
    ...verzeih, wenn das schon geschieht...
    Kein Problem - doppelt genäht hält besser.

    Ein toter Gang sollte während des Meßvorgangs eigentlich nicht vorhanden sein. Wenn eine Messung für Linksdrehung durchgeführt werden soll, wird der Winkel von der händischen Einstellung aus zunächst vom Meßprogramm nach rechts bewegt (bei diesem Servo bedeutet das eine Pulsverlängerung), solange bis am µC Pin, an dem der CNY-70 angeschlossen ist, ein high erkannt wird.

    Danach wird der Puls nochmals um 200µs verlängert, also nochmals weiter nach rechts bewegt. Das soll für die folgende Linksdrehung, bei der dann die Zeit genommen wird, einen ungefähr definierten Beschleunigungsweg einstellen. Der ist dann ca. 200µs Pulsweite von dem Zeitnahmestart entfernt.

    Von da aus wird dann der Meßlauf nach links gestartet indem die Pulsweite schlagartig um 1000µs verkürzt wird (ca. 90° nach links, 60° würden ca. 600µs Pulsänderung entsprechen). Der Zeitnahmestart und Zeitnahmestopp werden also in einer Drehrichtung und hoffentlich mit höchstmöglicher Geschwindigkeit durchlaufen.

    Für Messung im Rechtslauf passiert sinngemäß das Gleiche.

    Kann auch sein, daß ich Dich jetzt nicht verstanden habe.

    Hier liegt ein Schwachpunkt der Konstruktion. Ich kann nicht sagen, ob die 200µs Beschleunigungsweg ausreichen und ob nahe dem Zeitmeßstopp nicht schon eine Verlangsamung der Drehbewegung einsetzt. Besser wäre, wenn man eine Geschwindigkeitskurve aufnehmen könnte.

    Habe ein Servo gleichen Typs genommen und gemessen. Eigenschaften gleich. Interessant war, daß das ungebraucht war und zu Beginn im Schnitt ca. 8ms schneller war. Nach geschätzten 30 Testläufen ist es langsamer geworden und ich kann nun keinen Unterschied zu dem ersten Servo ausmachen. Hätte eher das Gegenteil erwartet.

    Wird Zeit, daß ich mir mal ein hochwertiges beschaffe und sehe, was damit los ist. Und im Hintergrund lauert auch immer noch die Aufgabe der Tests unter Last

    Gruß
    Searcher
    Hoffentlich liegt das Ziel auch am Weg
    ..................................................................Der Weg zu einigen meiner Konstruktionen

  4. #4
    Super-Moderator Lebende Robotik Legende Avatar von Manf
    Registriert seit
    30.01.2004
    Ort
    München
    Alter
    72
    Beiträge
    13.164
    Zitat Zitat von Searcher Beitrag anzeigen
    Habe ein Servo gleichen Typs genommen und gemessen. Eigenschaften gleich. Interessant war, daß das ungebraucht war und zu Beginn im Schnitt ca. 8ms schneller war. Nach geschätzten 30 Testläufen ist es langsamer geworden und ich kann nun keinen Unterschied zu dem ersten Servo ausmachen. Hätte eher das Gegenteil erwartet.
    Das ist so wohl noch nicht nachvollziehbar. Wie wäre es mit einer Erklärung über die Erwärmung (des Motors, dabei eher der Ankerwicklung als eine Schwächung der Magnete oder es ist die Erwärmung der Elektronik).
    Bei einem Auto war früher nach 30 Nutzungen ja auch eher nur der Aschenbecher voll.

  5. #5
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.712
    Erstmal grosses Lob für die schöne Arbeit!

    Zitat Zitat von Searcher Beitrag anzeigen
    ... einen ungefähr definierten Beschleunigungsweg einstellen ...
    Darin sehe ich für verschiedene Servos selbst des gleichen Typs Probleme. Ich habe ja den vom BigC gekauften, nicht mehr erhältlichen ES-2 seziert und getestet; nicht als Servo sondern als Getriebemotor. Die Motorzeitkonstante hatte ich natürlich auch bestimmt - allerdings im System eingebaut bei Dottie und später MiniD0. Diese Werte waren beim Dottie deutlich unterschiedlich bei den zwei verbauten Motoren mit 8 ms und 12 ms (Messdiagramm oberhalb des verlinkten Postings). Dem entsprechend bin ich sicher, dass ähnliche (Billig-) Servos, auch wenn Dein RS-2 ein grosser Bruder ist, sich im Anlaufverhalten doch auch ändern, zumindest bei verschiedenen Mustern gleichen Typs - eben weil das Beschleunigungsverhalten ja durch die Motorzeitkonstante charakterisiert wird - selbst in Deinem lastlosen Fall. Ob das drehrichtungsabhängig ist kann ich aber leider nicht sagen.

    Korrektur: Der Servotyp "ES-2" existiert nicht, das ist ein Schreibfehler, die erwähnten Servos heißen ES-5, vollständig TOP-LINE MINI SERVO ES-05. Danke Searcher für die Aufmerksamkeit.
    Geändert von oberallgeier (21.07.2013 um 08:54 Uhr)
    Ciao sagt der JoeamBerg

  6. #6
    Erfahrener Benutzer Robotik Einstein Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.716
    Blog-Einträge
    133
    Danke für das Interesse!
    Zitat Zitat von Manf
    Das ist so wohl noch nicht nachvollziehbar. Wie wäre es mit einer Erklärung über...
    Ich finde keine, die sich bei meinem Erfahrungsstand logisch anhören würde. Das Servo, das im Neuzustand schneller war, zeigt jetzt Werte, die nicht deutlich abgrenzbar von dem ersten Servo sind. Die ersten gemessenen Werte habe ich leider nicht aufgezeichnet und kann mich nur erinnern, wie überrascht ich war, weil sie deutlich unter den Herstellerangaben waren. (Hersteller: 4,8V, 60°- 0,17s; gemessen bei 5V, 60° - deutlich unter 0,17s, jetzt immer etwas über 0,17s)

    Ich bereite gerade eine automatisierte Testreihe vor. Positionieren für Linkslauf, Linkslaufmessung, Positionieren für Rechtslauf, Rechtslaufmessung, Positionieren für Linkslauf, Linkslaufmessung ... usw. Vielleicht 20 Paare?

    Dazu hab ich gestern Abend doch mal einen ext. 8MHz Quartz am Tiny angeschlossen und weil ich das nur ganz selten mache, etwas geschwitzt. Hatte die Debounce Kommandos, die die XTAL Pins abfragen, an denen die Tasten angeschlossen waren, noch nicht aus dem Programm rausgenommen. Der Tiny hat dann wohl nach der Fuseumstellung versucht die 8MHz zu entprellen und keine Zeit mehr gefunden die anderen Aufgaben in der Hauptschleife zu erledigen wie zB die CNY Status LED zu aktualisieren; und manchmal doch. Nach gefühlten Stunden des Rätselns, warum IDE Zugriff auf Tiny funktioniert und unverändertes Programm nicht laufen will, ist jetzt der Weg frei um wenigstens den Einfluß der Temperaturdrift des µC internen RC Oszillators auf die Meßergebnisse auszuschließen. Mal sehen ob ich auch noch eine Meßwertausgabe hinbekomme, die einem EXCEL .csv Format entspricht.

    @oberallgeier: Danke für das Lob. Hoffentlich kann man die ganzen Beobachtungen und Detaillösungen in einem anderen ultimativen Servotester einfließen lassen Ich war öfter in Deinen Threads und Beiträgen unterwegs und kann erst jetzt so langsam ermessen, wieviel Arbeit in solchen Auswertungen steckt. Wenn ich mal genügend Vertrauen in meine Messungen gewonnen habe, werd ich bei Dir noch mal tiefer für Vergleiche einsteigen. PS: Meine Servos sind ES-05, auch vor löngerer Zeit vom C für 5€/Stück und den ES-2 wohl vergleichbar.

    Gruß
    Searcher
    Hoffentlich liegt das Ziel auch am Weg
    ..................................................................Der Weg zu einigen meiner Konstruktionen

  7. #7
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.712
    ... PS: Meine Servos sind ES-05 ... und den ES-2 wohl vergleichbar ...
    Vergleichbar ist gut *gg* - es ist (m)ein Schreifehler und der gleiche Servotyp (habs oben nachgetragen).

    Na ja, ein bisschen Aufwand hatte ich schon. Aber ich weiß ja auch meist gerne wo´s lang geht. Und die Herstellerangaben sind ja extrem dünn, viele reden sich auf gelegentliche Fertigungsstreuungen hinaus. Und teure Servos (auch keine viel besseren Datenblätter!) habe ich bisher nicht verwendet - bisher gings so ganz ordentlich.
    Ciao sagt der JoeamBerg

  8. #8
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    07.03.2011
    Beiträge
    1.899
    Zitat Zitat von Searcher Beitrag anzeigen
    1. Vor Beginn der Messung zB für Linksdrehung, wird eine sinnvolle Pulsweite zB. 1800µs eingestellt. Das Servo dreht entsprechend in seine Stellung.
    2. Dann wird der linke Winkelschenkel von Hand über die Lichtschranke gebracht - Ausgang Lichtschranke = LOW. LED auf Breadboard erlischt.
    3. Taste für Linksdrehungsmessung drücken.
    4. Servo dreht nach rechts bis Ausgang Lichtschranke high ist.
    5. Die aktuelle Pulsweite, die nun etwas mehr als 1800µs beträgt wird nochmals um 200µs verlängert - Servo dreht noch weiter nach rechts, quasi als Anlauf für die folgende Linksdrehung.
    6. Die aktuelle Pulsweite wird um 1000µs reduziert und dadurch die Linksdrehung begonnen.
    7. Passiert die linke Kante des linken Winkelschenkels den CNY-70 beginnt die Zeitnahme.
    8. Passiert die linke Kante des rechten Winkelschenkels den CNY-70 stoppt die Zeitnahme, Linksdrehung stoppt und Servo auf die Ausgangsposition (Pulsweite zB. 1800µs) zurückgefahren.
    9. Meßwert ausgegeben und noch auf einen Tastendruck gewartet um den Meßmodus zu beenden.
    Wenn ich das jetzt richtig interpretiere, misst du "fliegende 60°", also eigentlich die maximale Drehzahl des Servomotors bei 5V. Das ist für ein Servo schon ein wichtiger Wert, schneller geht's nimmer. Es hat aber mit dem wirklichen Einsatz eines Servos, wo es darauf ankommt, eine bestimmte Position anzufahren und dort auch anzuhalten, wenig gemein.

    MfG Klebwax
    Strom fließt auch durch krumme Drähte !

  9. #9
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.712
    Zitat Zitat von Klebwax Beitrag anzeigen
    ... die maximale Drehzahl ... bei 5V.... hat mit dem wirklichen Einsatz ... wenig gemein ...
    Genau so sehe ich das auch. Allerdings ist das eine gute und schnelle Möglichkeit, Fertigungsstreuungen festzustellen. Dazu zählt natürlich genau die Beschleunigung, die Searcher hier korrekterweise ausblendet; die hat für die Motorzeitkonstante Bedeutung. Wichtige Punkte wären noch die Positioniergenauigkeit/Reproduzierbarkeit sowie die Positionierauflösung (welche Pulsbreitenänderung kann der Servo nachweisbar unterscheiden bzw. getrennt anfahren). Und, für uns Roboterbauer, für den Einsatz als Aktor, ist natürlich die Regelabweichung unter verschiedenen Lasten (Nachgiebigkeit des Reglers) von zentraler Bedeutung - von der spricht kein Hersteller, die kennen nur Dreh-/Haltemomentwerte und so. Die lastabhängige Regelabweichung hat beim billigen RS-2 einen Wert, der eine jämmerliche Güte zeigt, wie ich schon früher festgestellt hatte.

    Zitat Zitat von Klebwax Beitrag anzeigen
    ... eine bestimmte Position anzufahren und dort auch anzuhalten, wenig gemein ...
    Genau. Allerding ist das für den ursprünglichen Einsatz der Servos als Aktoren, die von Fernsteuerungen (mannbedient, sicht-/ergebniskontrolliert) verstellt werden, ausreichend. Der Mensch am Bedienungshebel der Fernsteuerung "regelt" nämlich "auf Sicht" nach - und kann meist auch das "Übersetzungsverhältnis" an seinem Hebelklavier einstellen.

    Ein zentrales Thema das hier sichtbar wird, ist das unterschiedliche Anforderungsprofil der Modellbauer (sichtkontrolliert oder ergebniskontrolliert) und der Roboterbauer (meist autonom - also vorgabeorientiert). Und da kommt der Wunsch nach der Stellungsrückmeldung per Hard- und Software und nach Rampenstellmöglichkeit etc . . . opens.. lässt grüßen.
    Geändert von oberallgeier (22.07.2013 um 08:40 Uhr) Grund: Feinheiten
    Ciao sagt der JoeamBerg

  10. #10
    Erfahrener Benutzer Robotik Einstein Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.716
    Blog-Einträge
    133
    Zitat Zitat von Klebwax Beitrag anzeigen
    Wenn ich das jetzt richtig interpretiere, misst du "fliegende 60°", also eigentlich die maximale Drehzahl des Servomotors bei 5V. Das ist für ein Servo schon ein wichtiger Wert, schneller geht's nimmer. Es hat aber mit dem wirklichen Einsatz eines Servos, wo es darauf ankommt, eine bestimmte Position anzufahren und dort auch anzuhalten, wenig gemein
    Hallo Klebwax,
    ja, stimmt. Ich bin immer noch auf der Suche nach verläßlichen und vergleichbaren Meßwerten. Das für mich überraschende Verhalten der Servos und das nicht darauf eingerichtete Meßverfahren erschweren mir das.

    Um die Positionierungszeit, also Anfahren und dann Stoppen für bestimmte Drehwinkeln zu messen, ist mein Aufbau auch nicht geeignet. Auch wenn ich mich auf die 60° des vorgefertigten Winkels beschränken würde (oder andere Hardwarewinkel), sind die Streuungen innerhalb mehrmaliger Meßläufe ziemlich groß. Liegt, so meine ich, daran, daß ich den Winkel zum Meßstart genau auf den Schaltpunkt der Reflexlichtschranke positionieren müßte. Das krieg ich händisch nicht genau genug hin bzw sind mir die Toleranzen zu groß und das Servo ist auch nicht genau genug steuerbar dafür. Deshalb bin ich zunächst mal auf die Höchstgeschwindigkeitsmessung ausgewichen.

    Aber auch hier sieht es so aus, daß die Meßmethode sich nicht wirklich eignet. Mir ist es auch immer noch ein Rätsel, warum ich gegenwärtig mit der Höchstgeschwindigkeitsmethode konstant unterschiedliche Zeiten bekomme, je nachdem wie weit die Winkelkante zu Beginn der Messfahrt vom CNY Schaltpunkt entfernt ist, obwohl danach ja noch 200µs Pulsweitenänderung "Anlauf" genommen wird, wie früher mal beschrieben nur bei langen Pulszeiten. Hab so 'ne Vermutung, die, wenn sie stimmt, das Verhalten nur bei analogen Servos auftritt.

    Positioniergeschwindigkeit könnte ein Meßunterprogramm sein, zur Zeit experimentiere ich mit Meßunterprogramm Höchstgeschwindigkeit über 60°. Die beiden können auch noch unter Last durchgeführt werden...

    Wenn ich mir meinen eigenen Text jetzt so durchlese, müßte ich eigentlich alles verwerfen und einen Aufbau mit Poti, Winkelmesser oder so etwas suchen, bei dem die Positionierung zu Meßbeginn keine so große Rolle spielt und mit dem es möglich ist auch Geschwindigkeitsverläufe über den Drehwinkel aufzunehmen.

    Ganz sicher werde ich aber auch da auf mir noch unbekannte Effekte treffen und gehe nicht davon aus, daß dann alle Probleme gelöst wären. Es werden vermutlich nur andere sein.

    Der größte Vorteil meines jetzigen Aufbaus ist, daß er übersichtlich ist und schon was geht, viel mehr wohl nicht . Im Augenblick kann ich mir aber noch nicht vorstellen auf Winkelmessung umzustellen, zum Teil auch, weil Probleme , die eigentlich nicht da sein sollten wie zB. das Kantenpositionierungsrätsel oder Neuservoeinfahrrätsel und die neuen unbekannten Probleme im neuen Aufbau mich davon abhalten.

    @oberallgeier: Gerade ist Deine Antwort vor meine gerutscht. Muß ich mir später anschauen.

    Einen schönen Tag und
    Gruß
    Searcher
    Hoffentlich liegt das Ziel auch am Weg
    ..................................................................Der Weg zu einigen meiner Konstruktionen

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. Antworten: 25
    Letzter Beitrag: 23.11.2011, 15:33
  2. Schon wieder ein 4x20 LCD-Problem
    Von masterx im Forum AVR Hardwarethemen
    Antworten: 1
    Letzter Beitrag: 08.03.2011, 18:32
  3. schon wieder ein l297 problem
    Von donmarkus im Forum Elektronik
    Antworten: 12
    Letzter Beitrag: 16.01.2011, 19:11
  4. schon wieder ein Anfänger ;-)
    Von guenter1604 im Forum Assembler-Programmierung
    Antworten: 2
    Letzter Beitrag: 21.09.2009, 20:58
  5. schon wieder ein unbekanntes teil
    Von Goblin im Forum Elektronik
    Antworten: 13
    Letzter Beitrag: 08.06.2004, 17:09

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress