- LiFePO4 Speicher Test         
Seite 3 von 4 ErsteErste 1234 LetzteLetzte
Ergebnis 21 bis 30 von 36

Thema: Und schon wieder ein Servotester, aber ein erweiterter

  1. #21
    Super-Moderator Lebende Robotik Legende Avatar von Manf
    Registriert seit
    30.01.2004
    Ort
    München
    Alter
    72
    Beiträge
    13.138
    Anzeige

    LiFePo4 Akku selber bauen - Video
    Das sind doch schon einmal ganz schöne Ergebnisse.
    Gefühlsmäßig wird die größte Relevanz eine Belastung haben, wobei dann bei der Präzision schon die Aufhängung berücksichtigt werden muss.
    Für die Winkelmessung habe ich beim Testen ganz gute Erfahrung mit dem AS5030 gemacht, es ging damit überraschend einfach.

    https://www.roboternetz.de/community...l=1#post295855

    Alternativ könnte man bei konstanter Ansteuerung des Servos über eine Kurbel und eine Feder eine wechselndes Moment auf die Servoachse aufbringen und die Stromaufnahme des Servos beim Halten der Position messen.

  2. #22
    Erfahrener Benutzer Robotik Einstein Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.715
    Blog-Einträge
    133
    Super, hier kommen ja immer mehr prima Ideen und Infos zusammen. Man sollte doch mehr in den Tiefen der RN Foren und des RN-Wissens graben.

    Mich beschäftigt es noch zu einer halbwegs zuverlässigen Zeitmeßreihe zu kommen. Die im Eröffnungspost angedachte Methode, den vorgefertigten Winkel per Hand und Kontrolle über eine LED auf die Zeitmeßstartposition zu bringen, ist unzuverlässig. Auch Selbstkalibrierung bzw Einstellversuche über den 1µs Regler geht nicht, da man es nicht schafft, den Schaltpunkt des CNY exakt zu treffen, da der Servo einfach nicht so fein einstellbar ist. Mag für viele trivial sein - für mich zeigt es wieder zum x-ten Mal die Diskrepanz zwischen Vorstellung und Realität, die mich immer wieder erwischt.

    Zum Befestigen des Winkels auf dem Servoabtrieb nehme ich nun ein kleines Stück 1mm starke Teichfolie. Mit einem Lochdurchmesser minimal kleiner als der Servoabtrieb sitzt das fest genug und leiert nicht gleich aus, wenn man sie gegen den Abtrieb ein paar Mal hin und her verdreht.

    Nun soll noch der Winkel so geformt werden, daß in einer Drehrichtung die gleiche Schaltflanke des CNY zur Messung hergenommen werden kann. Die Schenkel werden etwas breiter gemacht.

    Zeitmessung beginnt dann einfach über ICP Interrupt bei laufendem Servo, wenn der erste Schenkel den CNY passiert und stoppt, wenn der zweite Schenkel erreicht ist.

    Bisher hatte ich auch noch herumgetüfftelt, wann denn die Zeitnahme eigentlich SW-mäßig beginnt. Um da zu halbwegs vergleichbaren Ergebnissen zu kommen, wird der Zeitmessungsstart mit den Servopulsen synchronisiert. Soll heißen: Bei einer bestimmten Ruheposition bekommt das Servo gleichmäßige Pulse bestimmter Länge im Abstand von 20ms. Soll das Servo eine neue Position anfahren, wird die Pulslänge verändert. Exakt mit erstem veränderten Puls wird Zeitnahme gestartet. Wird später eventuell nochmal interessant, falls Ansprechverhalten getestet werden soll.

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

  3. #23
    Erfahrener Benutzer Robotik Einstein Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.715
    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

  4. #24
    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

  5. #25
    Erfahrener Benutzer Robotik Einstein Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.715
    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

  6. #26
    Super-Moderator Lebende Robotik Legende Avatar von Manf
    Registriert seit
    30.01.2004
    Ort
    München
    Alter
    72
    Beiträge
    13.138
    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.

  7. #27
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.694
    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

  8. #28
    Erfahrener Benutzer Robotik Einstein Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.715
    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

  9. #29
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.694
    ... 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

  10. #30
    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 !

Seite 3 von 4 ErsteErste 1234 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
  •  

LiFePO4 Speicher Test