budo's Web
Hier findet ihr einiges zu meinen Hobbies

Schrittmotor-Vermessung Teil 1 - L293

Zum Teil 2 - Messungen mit Stromregelung A4988

Motor-Vermessung mit Drehgeber

Zur Motor-Vermessung wird der Schrittmotor mit einem Drehgeber gekoppelt. Der Drehgeber erzeugt 2 um 90° versetzte digitale Ausgangssignale aus denen der Winkel durch zählen ermittelt werden kann, in dem ein zusätzliches Referenzausgangssignal berücksichtigt wird. Der verwendete Drehgeber 6306 von Leine-und-Linde erzeugt 2000 Impulse pro Umdrehung, d.h. 10 Impulse pro Schrittmotor-Schritt der verwendeten Schrittmotoren. Der Schrittmotor wird mit unterschiedlichen Geschwindigkeiten und unterschiedlichen Lasten betrieben, und die Auswirkungen auf die Position per Drehgeber aufgezeichnet. Getestet werden 2 unterschiedliche Schrittmotoren:

Motor

Daten

Changzhou Hetai Electric Motors 35BYG104

Step angle = 1.8°
Rated Volt. = 10.8 V
Rated Current = 0.4 A
Phase Resist. = 27 Ohm
Phase Induct. 17 mH
Holding Torque = 6.5 Ncm
Detent Torque = 0.5 Ncm

Trinamic Motion Control QSH4218-51-10-049

Step angle = 1.8°
Rated Volt. = 5.0 V
Rated Current = 1.0 A
Phase Resist. = 5 Ohm
Phase Induct. 8 mH
Holding Torque = 49 Ncm
Detent Torque = ? Ncm

Die Anforderungen an die Software zur Vermessung der Schrittmotoren via Drehgeber sind groß. Der Drehgeber liefert 2000 Impulse pro Umdrehung. Bei einer maximalen Geschwindigkeit von 600 RPM (das ist nur 2x die Geschwindigkeit, die der 1. Motor kann) erhält der budoino alle 100ms die 2000 Impulse des Drehgebers. Das heißt, die Periode der Impulse beträgt 50µs. Der Sref Impuls hat eine Pulsbreite von ¼ dieser Periode, also 12.5µs. D.h., die Impulse werden sinnvoller Weise über eine Interrupt-Routine basierend auf externen Interrupts behandelt. In der Interrupt-Routine, aber auch im kritischen Teil des Hauptprogramms sollten keine Arduino spezifischen Kommandos, wie z.B. digitalWrite() verwendet werden, da diese mehr Zeit benötigen als direkte Port Kommandos.

Die eigentliche Messung besteht darin, die Schrittmotorposition mit dem Schritt der Schrittmotoransteuerung zu vergleichen. Die Schrittmotorposition wird über den Drehgeber zum Zeitpunkt des Sref Signals ermittelt, die Schrittnummer, das heißt der gewünschte Schritt, kann direkt der Software entnommen werden. Bei zu hoher Geschwindigkeit oder bei Bedingungen wo die Gegenkräfte zu groß werden, fangen Schrittmotoren an zu "hüpfen", d.h., sie machen Schritte zu viel oder zu wenig, und die vorgegebene Schrittnummer passt dann nicht mehr zur physikalischen Position. Ein Referenzsignal, wie beim Drehgeber, haben Schrittmotoren üblicherweise nicht, was beim Winkelscanner (siehe unten) mit einer Lichtschranke kompensiert wurde.

Abweichend von meiner üblichen Vorgehensweise habe ich hier, aufgrund der zeitkritischen Software, zuerst einen Drehgeber-Simulator mit einem budoino erstellt. Der budoino erzeugt die Drehgebersignale S00, S90 und Sref, für die maximale Geschwindigkeit von 600 RPM, für die die Software noch funktionieren soll. Danach wurde auf einem freeduino (verbesserter arduino) die Interruptroutine und das Messprogramm erstellt, im zeitkritischen Bereich ohne Arduino Kommandos. Mit einem Logik Analyzer wurde die Funktion überprüft. Anstelle Daten wurden zusätzliche Impulse zur Vermessung an den Logic Analyzer ausgegeben.

tbd

Simulation Drehgeber und Schrittmotor für RPM=600. Die Drehgeber Periode wird mit SrefLong (hier Pulsbreite) dargestellt, da Sref bei der Auflösung nicht mehr sichtbar ist. Der Schrittmotor wird hier für 1 Umdrehung / 200 Impulse simuliert (Impulsperiode hier auch Pulsbreite). (Der Drehgeber läuft bei der Simulation auch wenn der Schrittmotor nicht läuft.)

Der Aufbau des Motors mit dem montierten Drehgeber erfolgt übereinander, in einer Halterung mit variabler Höhe, so dass mit Motoren unterschiedlicher Größe gearbeitet werden kann. Die Verbindung der Motor- und Drehgeber-Achse erfolgt über eine modifizierte Kupplung aus dem Schiffsmodellbau. Die Konstruktion des Motor-Drehgeber-Aufbaus stammt von einem Freund, der die Kunststoff- und Holzteile auch auf seinem 3D-Fräser gefertigt hat.

smdg

Aufbau der Motor-Vermessung, rechts der Schrittmotor (Changzhou Hetai Electric Motors 35BYG104) über dem Drehgeber, links vorne der budoino zur Steuerung und hinten mitte die Motorsteuerung L293.

Die ersten Test waren leider nicht viel versprechend. Die aufgebohrte Kupplung aus dem Schiffsbau war nicht zentrisch genug und erzeugte starke Taumel-Bewegungen. Eine Kunststoff-Kupplung, die mir ein Freund gefertigt hat, ist ebenfalls nicht zentrisch genug, aber die Taumel-Bewegungen sind geringer. Eine Messing-Kupplung (aus einem Potentiometer-Wellen-Adapter) wird mir von einem Freund auf seiner Drehmaschine aufgebohrt. Das sollte dann zentrisch genug sein.

Zusätzlich zu den mechanischen Problemen der Achsen-Kupplung traten auch noch elektrische Probleme beim Drehgeber aus. Der Drehgeber liefert nicht nur einen Referensimpuls pro Umdrehung, sondern teilweise mehrere in Abhängigkeit der gewählten Umdrehungsgeschwindigkeit. Diese zusätzlichen Impulse variieren dazu teilweise noch im Auftreten und in der Position von Umdrehung zu Umdrehung. Die Impulsbreite des Referenzimpulses und die Periodendauer der Zählimpulse variieren sehr stark.

sm

Drehgeber-Signale für 10 RPM mit hier 11 Referenzimpulsen (S0) und den sich ändernden Zählimpulsen (S1 und S2).

Fazit: Aufgrund der stark schwankenden Pulsbreiten des Drehgeber-Referenz-Signals ist der Einsatz eines Drehgebers zur Ermittlung von Schrittmotorfehlern ("Hüpfen") nicht sinnvoll. Hierfür wird alternativ die Verwendung einer Drehscheibe mit Lichtschranke, wie sie beim Winkelscanner sowieso vorgesehen ist, untersucht. Eine Motor-Vermessung mit unterschiedlichen Lasten wird dann aber nicht mehr möglich sein, da der Aufbau sonst zu sperrig wird.

Motor-Vermessung mit Drehteller und Gabellichtschranke

Für den Aufbau wurde die Motorhalterung obigem Aufbau entnommen und auf den Kopf gestellt an der Grundplatte montiert. Der Drehteller aus leichtem Kunststoff wurde mit einer Aluminium Montage-Nabe aus dem Modellbau auf der Motorachse besfestigt.

Bei der Verwendung einer Gabellichtschranke als Referenzgeber muss berücksichtigt werden, dass der Referenzpunkt sich bei Links- und Rechtsdrehung unterscheidt. Der Unterschied kann in Software technisch berücksichtigt werden. Die Spaltbreite ist ca. 1mm, aber unkritisch, da sie ja einkalibriert wird. Der Drehteller hat einen Durchmesser von ca. 15cm, was einen Bogenabschnitt von 2.36mm am äußeren Umfang für einen Voll-Schritt von 1.8° (1/200) ergibt. Bei Mikroschrittbetrieb reduziert sich dieser Wert entsprechend. Bei einer Umdrehung von 300 RPM entspricht der Voll-Schritt 1.43ms. Die Anstiegszeit des Gabellichtschranken-Ausgangssignals des CNY36 ist bei 10µs, was auch bei Mikroschrittbetrieb kein Problem darstellen sollte.

ws

Geänderter Aufbau der Motor-Vermessung mit Drehscheibe, Gabellichtschranke (rechts) und Schlitz (oben rechts).

... Motor Changzhou Hetai Electric Motors 35BYG104

Die ersten Versuche (ohne Lichtschranke, ohne Interruptroutine, ohne alles) zeigte dann gleich wieder Probleme. Da der Motor nun ohne Last ist, da die Drehscheibe "nichts" wiegt, zeigte der Motor (Billig-Produkt) Anlaufschwierigkeiten und Geschwindigkeits abhängige Schwierigkeiten. Der Motor hüpfte teilweise vorwärts oder rückwärts, blieb stehen oder drehte sich vorwärts (was er ja sollte) oder rückwärts. Der Einbau einer zeitlichen Rampe über ein Delay in der Schleife nach dem "step" Aufruf der "stepper" Library, brachte dann seltsame Messergebnisse. Das Delay wurde nur berücksichtigt für den Anteil der größer als die Schrittweite ist. Bei 30 RPM (= 0.5 RPS) ist bei 200 Schritten die Schrittweite 10ms und folglich die Periode der 4 Motorsignale 40ms bei 50% duty cycle. Erst bei einem Delay von größer 10ms veränderte sich die Periode des Motorsignals. Bei einem Delay von 15ms veränderte sich das Motorsignal um etwa 4 mal 5ms. Eine Analyse der Library brachte dann die Erkenntnis, dass einerseits wie in der Arduino Referenz beschrieben step eine "blocking function" ist, aber das Timing des nächsten Schrittes nicht erst beim nächsten Schleifendurchlauf erfolgt, sondern sofort, d.h. im obigen Fall parallel zum Delay.

Tests zeigten dann, dass die Rampen in Abhängigkeit der Endgeschwindigkeit angepasst werden muss. Für RPM 10 ist beim 35BYG104 eine langsamere Rampe erforderlich, als für RPM 20 bis 100. Die Positionsangabe zum Zeitpunkt des Schlitzes in der Drehscheibe schwankt teilweise um 1 Position, ist aber weitestgehend stabil für nachfolgende Umdrehungen bei gleicher Geschwindigkeit. Die Ergebnisse mehrere Läufe mit unterschiedlicher Geschwindigkeit variieren. Da die Enposition aber stabil mit der Anfangsposition übereinstimmt, kann es sich hier nicht um ein "Hüpfen" des Motors handeln. Eine zufällig passend getriggerte Logic Analyser Aufnahme zeigte, dass der Schlitzbeginn mit einem Schrittwechsel teilweise zusammen viel. Eine Verschiebung der Lichtschranke im 10tel-mm-Bereich ergab eine stabile Schrittanzeige.

v

n

Interruptroutine kurz vor dem Schrittwechsel

Interruptroutine nach dem Schrittwechsel (nach der Verscheibung der Lichtschranke)

Eine genaue Betrachtung der Position des Schlitzes zum entsprechenden Schritt muss aber noch für verschiedene Geschwindigkeiten für jeweils mehrere Umläufe mittels eines Langzeit Logic Analysers durchgeführt werden.

Die Analyse erbrachte, nach dem die Anzeige wieder instabil war, dass die Schlitzposition in Relation zur Schrittposition um 2ms variierte, was zur Anzeige passte. Dabei fiel noch auf, dass von Zeit zu Zeit die Schrittmotorimpulse schmäler sind. Bei 100 RPM war jeder 42. Impuls 2ms anstelle 3ms. Die Ursache hierfür ist die verwendete Stepper Library, die auf der Funktion millis() basiert, und somit als kleinste Änderung nur 1ms zulässt. D.h., die Verwendung der Stepper Library ist für den Einsatz einer Positionsbestimmung nicht geeignet.

sf

Schmälerer Impuls beim Steppersignal SMstep (rot), hier kurz vor der Interruptroutine (schwarz).

Ein Umschreiben der stepper Library von millis() auf micros(), was durch einen zweimaligen einfachen Ersatz des Funktionsaufruf erledigt war, brachte einschneidende Verbesserungen. Die Motorsignale sind nun gleichmäßig, der Motor scheint ruhiger zu laufen, in den höheren Geschwindigkeiten ist diese nun wirklich unterschiedlich und die maximale Geschwindigkeit ist nun doppelt so hoch wie zuvor.Die Referenzstep-Anzeige ist nun im niederen und mittleren Bereich stabil. Im nach hinein betrachtet macht eine Schrittmotorsteuerung basierend auf millis() keinen Sinn, da sie im oberen Bereich kaum eine Auswahl zulässt. Bei einem 200-Schritt-Motor entspricht die Schrittweite 1ms -> 300RPM, 2ms -> 150RPM und 3ms -> 100RPM. Alle anderen RPM Werte dazwischen sind in einer millis() basierenden Library nicht einstellbar.

Das Resultat der Messungen mit dem Motor Changzhou Hetai Electric Motors 35BYG104 bei nominaler Spannung mit der micros() basierenden Library ist, dass für RPMs von 20 .. 60 der Motor ohne Rampe ordentlich läuft, dass für RPMs bis 190 der Motor mit Rampe ordentlich läuft und dass der Motor mit Rampe teilweise mit RPMs bis 250 ordentlich läuft (wenn er los läuft). Messungen mit Belastungen können mit diesem Aufbau leider nicht durchgeführt werden. Die Referenz-Positionen können stabil für eine oder mehrere Geschwindigkeiten eingestellt werden, jedoch nicht für alle Geschwindigkeiten mit einer Einstellung.

... Motor Trinamic Motion Control QSH4218-51-10-049

Die Wiederholung obiger Tests mit dem qualitativ höherwertigen Motor QSH4218 brachte folgende Ergebnisse. Die Anzeige der Position des Referenz-Schrittes ändert sich nicht während eines Tests und das bei allen Geschwindigkeiten und die Endposition ist immer i.O.. Dies zeugt von einem deutlich gleichmäßigerem Verlauf, bei identischer Ansteuerung. Ab RPM 80 und größer ist der Referenz-Schritt um einen Schritt höher, jedoch ebenfalls konstant über den ganzen Test. Ab RPM 120 bleibt der Motor stehen, trotz Rampenfunktion. Motoren mit größeren Halte-Kräften, wie sie der QSH4212 gegenüber dem SM52 hat, sind jedoch nicht für hohe Geschwindigkeiten ausgelegt. Der Test ohne Rampe funktionierte für die Geschwindigkeiten von 10 bis 100 RPM, jeweils mit exaktem Endpunkt.

Eine Messreihe zeigte, dass sich die Position der Interruptroutine in Bezug zu dem Steppersignal SMstep stetig nach hinten verschiebt bei steigender Geschwindigkeit.

20

Interruptroutine (schwarz) und Steppersignal SMstep (rot) bei 20 RPM

60

Interruptroutine (schwarz) und Steppersignal SMstep (rot) bei 60 RPM

90

Interruptroutine (schwarz) und Steppersignal SMstep (rot) bei 90 RPM

Drehgeber-Vermessung

Nach dem seltsamen Verhalten des Drehgebers (siehe oben) habe ich den Drehgeber nun Vermessen, in dem ich ihn mit einem Gleichstom-Getriebe-Motor angetrieben habe. Gekoppelt sind die beiden Elemente über einen aufgedrehten Potentiometer-Wellen-Adapter, den mir ein Freund auf seiner Drehbank bearbeitet hat. Mechanisch sind die beiden Teile nur provisorisch gegen verdrehen gesichert. Die Messergebnisse, die Dank Saleae Logic Analyzer nun über einige Umdrehungen durchgeführt werden konnten, sind eindeutig: Von Modulation keine Spur. D.h., obige Messergebnisse sind auf den Motor und die Software zurück zuführen, was es noch zu beweisen gilt.

Motor-Vermessung mit Langzeit-Logik-Analyse

Nach dem Test mit dem Getriebemotor wurden obige Tests mit dem Schrittmotor Changzhou Hetai Electric Motors 35BYG104 und dem Drehgeber mit leicht modifiziertem Aufbau (neue Motor Adapterplatte und neue Kupplung) mit einer Langzeit-Logik Analyse (hier größer 30s) durchgeführt.

20

Neuer Drehgeber-Aufbau

Die Testwiederholung ergab ähnliche Ergebnisse. Die vom Drehgeber gelieferten Signale hatten keine konstante Frequenz.

20

Auch ein Test mit spartanischer Software (keine Interruptroutine, keine seriellen Ausgaben, ...) brachte keine konstante Frequenz.

20

Ein zusätzliches erzeugtes Testsignal, direkt in der Stepper-Library, zeigte, dass die "Modulation" innerhalb eines Schrittes ist und immer bei einem neuen Schritt beginnt. D.h., die "Modulation" wird durch den schwachen Schritt-Motor erzeugt.

20

Die Darstellung des Referenzsignals bei langsameren Geschwindigkeiten (hier bei 30 RPM), zeigte, dass mehrere Referenzimpulse (hier 5 Impulse anstatt 1 Impuls) erzeugt wurden. Die Referenzimpulse hatten die halbe Impulsbreite der Taktsignale, der Phasenbezug zum Taktsignal (Start des Referenzimpulses am Anfang oder in der Mitte) wechselte von Referenzimpuls zum Nächsten. Dies lässt nur die Interpretation zu, dass der Motor den Drehgeber in Schwingungen versetzt und dadurch mehrere Referenzimpulse mit wechselnder Phase erzeugt werden.

20

Da ein Drehgeber außer der Drehgeschwindigkeit auch die Drehrichtung anzeigen kann enthält nachfolgendes Diagramm beide um 90° phasenverschobene Signale. Signal S1 high vor S2 bedeutet eine Drehung gegen den Uhrzeigersinn (was hier die Vorgabe ist) und S2 high nach S2 bedeutet eine Drehung im Uhrzeigersinn. Die Phasenwechsel, d..h. die Richtungswechsel duch den Motor, sind im Diagramm durch rote Dreiecke hervorgehoben.

20

Fazit 1: Der empfindliche Drehgeber, der pro Schrittmotor-Schritt 10 Drehgeberimpulse erzeugt, ist nicht das richtige Messmittel um einen "schwachen" Schrittmotor zu vermessen, außer man erzeugt eine Impulsverlängerung. Für die Vermessung eines "schwachen" Schrittmotors wäre ein Drehgeber mit einer deutlich schlechteren Auflösung besser geeignet.

Fazit 2: Ein "billiger" Schrittmotor ist bestens geeignet Schrittmotor Phänomene zu demonstrieren. Ansonsten sollte man ihn aber besser wegwerfen und einen sinnvollen Schrittmotor kaufen.

Möglicherweise bringen die Tests mit einem Beschleunigungssensor zusätzliche Informationen über den Motor.

Motor-Vermessung mit Last

Der Aufbau mit Drehgeber, um 90° gedreht, wird zur Vermessung der Motorkräfte verwendet. Die Kupplung wurde hierzu mit 2 angeklebten Unterlagscheiben zu einem Spulenkörper erweitert, und ein Joghurtbecher als Lastkorb an einem Zwirn benutzt.

lm

Motorvermessung mit Last.

In den Datenblättern der Schrittmotoren sind meist die Drehmomente detent torque und holding torque definiert. Detent torque wirkt dabei im stromlosen Zustand und holding torque im Strom führenden Zustand.

Detent torque Test
Der Ablauf des Test bezüglich detent torque erfolgt in folgender Sequenz: Manuelles Aufspulen der Last - Abwärtsfahrt - Aufwärtsfahrt - 10s Pause zur Beruhigung von Pendelbewegungen - Motor stromlos schalten. Der detent torque Wert des 35BYG104 ist mit 0,5Ncm angegeben. Dies entspricht einer Last von 85g bei einem Wellenradius von 6mm (m = M / (r * g) mit m=Masse, M=Drehmoment, r=Radius und g=Erdanziehung). Die Ergebnisse des Tests zeigen, dass der detent torque nur im Ruhezustand gilt. Der kleine Ruck beim Ausschalten des Stromes genügt, um den ausgeschalteten Motor in Bewegung zu versetzen, bei der die Haltekraft des Motors noch unter dem detent torque Wert ist. Bei absolutem Stillstand des Last-Korbs zu Testbeginn hielt der Motor Gewichte bis zu 121g im Ruhezustand (manuelles Aufspulen der Last am Anfang) und bis zu 74g (nach dem Abschalten des Stromes am Ende). Schon leichte Bewegungen des Last-Korbs zu Testbeginn reduzierte beide Werte.

Holding torque Test
Der Ablauf des Test bezüglich holding torque erfolgt in einer abgewandelten Sequenz: Aufwärtsfahrt direkt vom Boden - 5s Pause zur Beruhigung von Pendelbewegungen - Motor stromlos schalten. Der holding torque Wert des 35BYG104 ist mit 6,5Ncm angegeben. Dies entspricht einer Last von 1,105kg. Der holding torque gilt ebenso wie der detent torque für den Motorstillstand. Mit zunehmender Geschwindigkeit gehen die torque Werte gegen Null. Aus dem Grund wurde eine Motorgeschwindigkeit von 5RPM tw. 1RPM gewählt. Bei diesem Testablauf wird der holding torque natürlich nicht erreicht, sondern nur das maximale Drehmoment bei kleiner Drehzahl ermittelt. Gemessen wurde ein maximales Gewicht für die Hebephase von ca. 600g, sowohl bei 5 als auch bei 1RPM. Dies entspricht einem Drehmoment von ca. 3,53Ncm.

Speed-Torque-Curve
Da die obigen Ergebnisse mir nicht ausreichen, will ich eine Speed-Torque-Curve für obigen Motor erstellen, d.h. das maximale Drehmoment zum Einschalten des Motors darstellen. Man nennt die Kurve auch Pull-in Torque. Eine Signalisierung des Motor-Rücklaufs, wenn seine Kraft nicht ausreicht, mittels Drehgeber und einer Drehrichtungserkennung (siehe weiter unten), funktioniert leider nicht, da der Motor beim Heben der Last permanent schwingt und damit Rückwärtsbewegungen anzeigt. Die Speed-Torque-Curve wurde deshalb manuell erzeugt, d.h., die Erkennung Absturz, hebt nicht ab, hält, ... wurden manuell eingegeben.

20

Die obige Speed-Torque-Curve stellt die Pull-in Torque Kurve für den 35BYG104 dar. D.h. die Kurve zeigt die maximalen Werte bei denen der Motor gestartet, gestoppt und umgepolt werden kann. Für größere Werte ist eine Ramp-Funktion erforderlich. Die Form der Kurve weicht etwas von der Theorie (1/4 einer Ellipse) ab.

Drehrichtungserkennung-Erweiterung für den Drehgeber

Die Drehrichtungserkennung basiert auf der Auswertung der um 90° versetzten Signale des Drehgebers. Eine ausführliche Beschreibung hierzu, die Erläuterung warum eine Hardwareschaltung besser ist als eine Mikrocomputer Auswertung und die Originalschaltung, welche von mir nachgebaut wurde, findet man im mikrocontrolle.net.

20

Drehrichtungserkennung Aufbau

20

Drehrichtungserkennung Stromlaufplan
Mit dem NAND-Zusatz wurden klare LOW-Impulse für Rechts und Links erzeugt.

20

Impulsverlängerung Stromlaufplan
Die schmalen Rechts und Links Pulse (250ns bei 4MHz Takt) wurden über den NOR Zusatz (RS-Flipflop) in ein gemeinsames Signal Rechts-/Links gewandelt. Die retriggerbaren Monoflops dienen rein der optischen Signalisierung. Die Signale Rechts-/Links mussten hierfür gefiltert werden, da sie 4ns breite Spikes enthielten, die mit dem Logic Analyser nicht angezeigt werden konnten.

Die Drehrichtungserkennung arbeitet zwar wunderbar, anwendbar für obige Lastmessung ist sie jedoch nicht. Analog obigen Messungen mit dem neuen Drehgeber-Aufbau schwingt der Motor bei Lastbetrieb sehr stark, so dass man zwischen Schwingen und Absturz nicht einfach unterscheiden kann.

20

Der Absturz in der Diagrammmitte mit Hebephase davor und danach. Eines der 3 Impulspakete der Hebephase (links) entspricht einem Schritt des Motors.

Im Leerlauf sieht es mit den Schwingungen des Motors schon anders aus. Hier treten die Schwingungen verstärkt bei niederen Drehzahlen auf was nachfolgende Diagramme verdeutlichen. Die Drehrichtungserkennung zeigt die Phasenwechsel bei Schwingungen klar an (violettes Signal). Die Messung wurde allerdings mit einem Schrittmotor SM42BYGHW603 durchgeführt.

sm42

SM42BYGHW603 mit 1 Umdrehung bei 200 RPM mit Schwingungen beim Ausschalten.

sm42

SM42BYGHW603 mit 1 Umdrehung bei 80 RPM mit Schwingungen beim Ein- und Ausschalten.

sm42

SM42BYGHW603 mit 1 Umdrehung bei 80 RPM mit kontinuierlichen Schwingungen während der ganzen Umdrehung.

Schrittmotor als Drehgeber / Generator

Schrittmotor als Generator, manuell:
Ein manueller Test, bei dem der Schrittmotor als Generator, d.h. wie ein Dynamo, betrieben wird brachte beeindruckende Ergebnisse. Die Schrittmotorachse wurde hierbei von Hand so schnell als möglich gedreht, da die Messwerte mit zunehmender Drehgeschwindigkeit ansteigen. Gemessen wurde mit Lastwiderständen parallel zur MotorSpule und ohne Lastwiderstände. Je kleiner der Lastwiderstand ist, desto größer ist die Bremswirkung durch den Motor. Für den 35BYG104 wurde eine Spitzenspannungen von 1,25Vp bei 10 Ohm, 12,5Vp bei 100 Ohm und 50Vp ohne Last gemessen. Für einen 42BYGHW603, d.h. der nächst größere Pollin-Motor, konnten mit Last keine vergleichbaren Werte gemessen werden, da die Bremswirkung des Motors zu groß war. Ohne Last wurde eine Spitzenspannung von 110Vp gemessen.

Schrittmotor als Generator / Drehgeber, mit definierter Geschwindigkeit:
In Erweiterung zu obigen manuellen Messungen wird der Zusammenhang zwischen Drehzal und generierter Spannung mittels Motorantrieb ermittelt. Hierzu wird der stärkere Motor 42BYGHW603 als Antrieb und der schwächere Motor 35BYG104 als Generator benutzt. Die Kopplung der beiden Motoren erfolgt über eine flexible Wellenkupplung aus dem Modellbau. Zu berücksichtigen ist dabei, dass eine flexible Kupplung als Dämpfer wirkt, und somit die Kurve nicht unbedingt die Extremwerte darstellt. Die Messungen wurden mit einem provisorischen Aufbau durchgeführt und die Spitzenwerte (Multimeter AC Messung) notiert.

smg

Provisorischer Aufbau

smgm

Generator-Spannungsverlauf am Oszi

dia

Linearer Zusammenhang von Drehzahl und erzeugter Spannung. Bei 200RPM wurden 2.06V mit dem DMM und 4.0Vp mit dem Oszi gemessen. D.h., um eine Spannung von 50Vp zu messen, wie oben im manuellen Test erfolgt, muss der Motor auf eine Geschwindigkeit von etwa 2500RPM gedreht werden, was mit dem Schrittmotoraufbau und auch mit dem mir verfügbaren Getriebemotor nicht funktioniert.
Nachfolgend noch ein paar Screendumps bezüglich des Kurvenverlaufs der Generatorsignale. Bei 15RPM sieht man deutlich das Ausschwingen des Schrittmotors, das auf den Generator-Schrittmotor übertragen wird. Bei 50RPM überlagern sich die Schwingungen mit dem nächsten Schrittimpuls. Wir der Generator-Schrittmotor von einem Getriebemotor angetrieben wird eine Sinusspannung (mit überlagerten Schwingungen) erzeugt. Die Periodendauer entspicht dann 4 Schritten.
Fazit: Einen Schrittmotor als Drehgeber zu verwenden funktioniert nur, solange dieser von einem Getriebemotor (Gleichspannungsmotor) und nicht von einem Schrittmotor angetrieben wird.

rps

rps

rps

Schrittmotor Generator mit 15 RPM

Schrittmotor Generator mit 50 RPM

Schrittmotor Generator mit Getriebemotor-Antrieb


Zum Teil 2 - Messungen mit Stromregelung A4988


Nach Oben