- SF800 Solar Speicher Tutorial         
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 Geistesblitz
    Registriert seit
    15.03.2011
    Ort
    Dresden
    Alter
    37
    Beiträge
    1.937
    Was wir auch schon im Praktikum gemacht haben: möglichst genauen Sensor anschließen (wir hatten optische Encoder mit irgendwas bei 1600 Strichen prü Umdrehung, macht also 6400 Schritte bei Quadraturauswertung) und dann einmal nach und nach den Stellbereich abfahren und wieder zurück, zwischendurch die Messwerte vom Encoder auslesen. In der Darstellung Winkel über Servosignal kann man dann wunderschön das vorhandene Spiel sehen. Wenn man das Ganze automatisiert, könnte man sogar dynamische Tests machen mit Sprungantworten oder Reaktionen auf harmonische Signale (dabei lässt sich auch die Geschwindigkeit ermitteln). Da gibts auf jeden Fall einiges, was sich da machen lässt. Richtig advanced wäre es, wenn man noch eine einstellbare Bremse mit einbauen könnte, um eine Last zu simulieren. Im Praktikum hatten wir dazu eine stromerregte Hysteresebremse, die ein konstantes, von der Drehzahl unabhängiges Lastmoment bereitstellt. Sowas ist aber wohl nicht wirklich etwas, was man günstig erstehen könnte.

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    02.09.2009
    Ort
    Berlin (Mariendorf)
    Beiträge
    1.023
    Zitat Zitat von Geistesblitz Beitrag anzeigen
    ... stromerregte Hysteresebremse ...
    Damit kenne ich mich nicht aus, aber ich kenne den Effekt, dass ein mit DC betriebener Spaltpolmotor (230VAC-Zimmerlüfter, klassischer Plattenspielermotor o.ä.) recht schön bremst. Manko hier: das Trägheitsmoment des Rotors.

    Vielleicht geht aber was mit Festplattenspindel, Datenträgerscheibe und Magnetkreis der Kopfpositionierung; Regulierung durch variables Schwenken des Magnets über die Scheibe.

  3. #3
    Erfahrener Benutzer Robotik Einstein Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.715
    Blog-Einträge
    133
    Kurzes, mit gemischten Gefühlen geschriebenes Update zu meinem Testaufbau:
    Zur Zeit größtes "Problem" ist der gebastelte Winkel. Durch das manuelle Verdrehen auf dem Servoabtrieb leiert er aus und bleibt dann nicht mehr zuverlässig in seiner eingestellten Position. Muß mich mal nach anderem Material umsehen, wenigstens für die Verbindung zum Servoabtrieb.

    Schnell und "schmutzig" programmiert laufen die Hauptfunktionen.
    Servopulseinstellbereich wurde noch erweitert, da das ES-05 noch auf Pulse kürzer 500ms reagiert. Schwenkbereich etwas größer als 180°. Mit schrittweiser Veränderung der Pulslänge um 1µs rührt sich das Servo ca. alle 5µs. Für die Umkehrung der Drehrichtung braucht es ca. 10µs Veränderung. Später genaueres. Nur soviel: Hier könnte eine Strommessung interessant werden, da das Servo dann ungleichmäßige Sprünge macht, so als wenn im Getriebe Reibungen überwunden werden würden.

    Servopulsabstand kann von 3ms bis 66ms verändert werden. Stellgeschwindigkeit wird von 20ms bis etwa 10ms Pulsabstand herunter erheblich größer. Darunter praktisch nicht mehr.

    Es scheinen wirklich Unterschiede, wenn auch kleine in der Stellgeschwindigkeit zwischen Rechts- und Linkslauf zu bestehen. Genauere Messungen nachdem ich die Winkelmechanik verfeinert habe. Außerdem ergibt sich die Frage nach der Meßmethode. Kommt das Servo in die Nähe der Endposition, wird es langsamer. Läßt man nun den Winkel von 60° mit Fullspeed durchlaufen oder programmiert man einen Stellwinkel von 60°. Im letzteren Fall mißt man eine längere Zeit für den Durchlauf der 60°. Es muß auch eine Anlaufzeit geben, die man eventuell vernachlässigen könnte? Nicht nur hier wär ein Sensor, der die Aufnahme vieler Meßpunkte erlaubt, wie Poti oder Encoder oder...? sehr vorteilhaft.

    Versuche beziehen sich alle auf mein analoges Modellcraft ES-05 Servo bei 5V Spannung und ohne Belastung.

    Mittlerweile sind 2 Potis (Grobeinstellung Pulsweite, Pulsfrequenz), ein Drehencoder (Feineinstellung Pulsweite), Zwei Tasten, eine LED, das Servo, Serielle Datenausgabe und der CNY-70 am Tiny44 angeschlossen. Mal sehen, wie ich schaffe, da noch einen Quarz anzubringen oder welchen Einfluß auf die Meßergebnisse ein genauer Takt hat, im Vergleich zum internen Oszillator.

    Entschuldigt, wenn ich auf weitere interessante Ideen hier im thread nicht eingehen kann; bin noch damit ausgelastet herauszufinden, wie lang die Sackgasse ist und was praktisch in Servoanwendungen relevant ist?

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

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    07.03.2011
    Beiträge
    1.899
    Zitat Zitat von Searcher Beitrag anzeigen
    Servopulseinstellbereich wurde noch erweitert, da das ES-05 noch auf Pulse kürzer 500ms reagiert. Schwenkbereich etwas größer als 180°. Mit schrittweiser Veränderung der Pulslänge um 1µs rührt sich das Servo ca. alle 5µs. Für die Umkehrung der Drehrichtung braucht es ca. 10µs Veränderung. Später genaueres. Nur soviel: Hier könnte eine Strommessung interessant werden, da das Servo dann ungleichmäßige Sprünge macht, so als wenn im Getriebe Reibungen überwunden werden würden.
    Das sind ja doch schon mal interessante Erkentnisse. In den Datenblättern der verschiedenen Servo-ICs findet man Dead-Band Angaben von 1µs bis 5µs, das passt ja.

    Servopulsabstand kann von 3ms bis 66ms verändert werden. Stellgeschwindigkeit wird von 20ms bis etwa 10ms Pulsabstand herunter erheblich größer. Darunter praktisch nicht mehr.
    Da laufen dann die Ansteuerpulse für den Motor ineinander, er ist also dauernd an. Schneller gehts nicht.

    Mal sehen, wie ich schaffe, da noch einen Quarz anzubringen oder welchen Einfluß auf die Meßergebnisse ein genauer Takt hat, im Vergleich zum internen Oszillator.
    Das wird keine neuen Erkenntnisse bringen. Die Zeiten in der Servoelektronik werden nach den Datenblättern mit Kondensatoren erzeugt, zum Teil mit Elektrolyten. Die haben dann schon mal eine Genauigkeit von +-20%. Da ist der interne Oszillator von deinem Tiny, der außerdem noch bei "Labortemperatur" betrieben wird, viel besser. Man könnte höchstens, wenn man viele Servos misst, die Exemplarstreuung ausmessen.

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

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

  6. #6
    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

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

Ä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