Inhaltsverzeichnis:

Auswählen eines Schrittmotors und Treibers für ein Arduino Automated Shade Screen-Projekt - Gunook
Auswählen eines Schrittmotors und Treibers für ein Arduino Automated Shade Screen-Projekt - Gunook

Video: Auswählen eines Schrittmotors und Treibers für ein Arduino Automated Shade Screen-Projekt - Gunook

Video: Auswählen eines Schrittmotors und Treibers für ein Arduino Automated Shade Screen-Projekt - Gunook
Video: Самосбор CoreXY 3D Printer 💡ЭЛЕКТРИКА💡 Часть 6 DIY 2024, November
Anonim
Auswahl eines Schrittmotors und Treibers für ein Arduino Automated Shade Screen-Projekt
Auswahl eines Schrittmotors und Treibers für ein Arduino Automated Shade Screen-Projekt

In diesem Instructable werde ich die Schritte durchgehen, die ich unternommen habe, um einen Schrittmotor und einen Treiber für ein automatisiertes Schattenbild-Prototypprojekt auszuwählen. Die Rollos sind die beliebten und preiswerten Coolaroo-Handkurbelmodelle, und ich wollte die Handkurbeln durch Schrittmotoren und eine zentrale Steuerung ersetzen, die so programmiert werden konnte, dass sie die Rollos basierend auf den berechneten Sonnenauf- und -untergangszeiten hoch- und herunterfährt. Das Projekt hat sich in mindestens fünf Iterationen zu einem Produkt entwickelt, das Sie auf Amazon.com oder AutoShade.mx finden können, aber der Prozess zur Auswahl des Schrittmotors und seiner Treiberelektronik sollte auf viele andere Arduino-basierte Projekte anwendbar sein.

Die anfängliche Konfiguration für die Prototyp-Elektronik war der Arduino Uno (Rev 3) Prozessor (Adafruit Nr. 50) mit Boards für die Anzeige (Adafruit Nr. 399), Echtzeituhr-Timing (Adafruit Nr. 1141) und zwei Schrittmotortreibern (Adafruit Nr. 1438).). Alle Boards kommunizieren mit dem Prozessor über eine serielle I2C-Schnittstelle. Für all dies stehen Softwaretreiber zur Verfügung, die die Entwicklung des Rollo-Controllers erheblich vereinfachen.

Schritt 1: Anforderungen ermitteln

Die Rollos sollten mindestens so schnell wie beim Handkurbeln funktionieren. Eine anhaltende Handkurbelgeschwindigkeit kann 1 Kurbel pro Sekunde betragen. Die meisten Schrittmotoren haben eine Schrittweite von 1,8 Grad oder 200 Schritten pro Umdrehung. Die minimale Schrittgeschwindigkeit sollte also etwa 200 Schritte pro Sekunde betragen. Zweimal wäre das noch besser.

Das Drehmoment zum Anheben oder Absenken des Rollos durch das Coolaroo-Schneckengetriebe wurde auf 9 Rolloschirmen oben und unten mit einem kalibrierten Drehmomentschraubendreher (McMaster Carr #5699A11 mit einem Bereich von +/- 6 in-lbs) gemessen. Dies war das „Abreiß“-Drehmoment, und es variierte stark. Das Minimum lag bei 0,25 in-lbs und das Maximum bei 3,5 in-lbs. Die richtige metrische Maßeinheit für das Drehmoment ist N-m und 3 in-lbs ist 0,40 Nm, die ich als nominelles „Reibungsdrehmoment“verwendet habe.

Schrittmotorhersteller geben das Motordrehmoment aus irgendeinem Grund in Einheiten von kg-cm an. Das obige Mindestdrehmoment von 0,4 Nm beträgt 4,03 kg-cm. Für eine anständige Drehmomentspanne wollte ich einen Motor, der das Doppelte oder etwa 8 kg-cm liefern kann. Ein Blick auf die bei Circuit Specialists aufgeführten Schrittmotoren zeigte schnell, dass ich einen Motor der Baugröße 23 benötigte. Diese sind in kurzen, mittleren und langen Stapellängen und einer Vielzahl von Wicklungen erhältlich.

Schritt 2: Bauen Sie ein Dynamometer

Baue ein Dynamometer
Baue ein Dynamometer
Baue ein Dynamometer
Baue ein Dynamometer

Schrittmotoren haben eine ausgeprägte Drehmoment-Drehzahl-Kennlinie, die von der Art und Weise abhängt, in der ihre Wicklungen angetrieben werden. Es gibt zwei Gründe, warum das Drehmoment mit der Drehzahl abnimmt. Die erste besteht darin, dass in den Wicklungen eine Gegen-EMK (Spannung) entwickelt wird, die der angelegten Spannung entgegenwirkt. Zweitens wirkt die Wicklungsinduktivität der bei jedem Schritt auftretenden Stromänderung entgegen.

Die Leistung eines Schrittmotors kann mit einer dynamischen Simulation vorhergesagt und mit einem Dynamometer gemessen werden. Ich habe beides gemacht, werde aber nicht auf die Simulation eingehen, da die Testdaten wirklich eine Überprüfung der Genauigkeit der Simulation sind.

Ein Dynamometer ermöglicht die Messung der Drehmomentkapazität eines Motors, während er mit einer kontrollierten Geschwindigkeit läuft. Eine kalibrierte Magnetpulverbremse überträgt das Lastmoment auf den Motor. Die Drehzahl muss nicht gemessen werden, da sie der Schrittrate des Motors entspricht, bis das Lastdrehmoment die Leistungsfähigkeit des Motors überschreitet. Sobald dies geschieht, verliert der Motor die Synchronisation und macht einen lauten Lärm. Das Testverfahren besteht darin, eine konstante Geschwindigkeit zu befehlen, den Strom durch die Bremse langsam zu erhöhen und seinen Wert zu notieren, kurz bevor der Motor die Synchronisierung verliert. Dies wird bei verschiedenen Drehzahlen wiederholt und als Drehmoment gegen Drehzahl aufgetragen.

Die gewählte Magnetpulverbremse ist ein Placid Industries Modell B25P-10-1, das bei Ebay gekauft wurde. Dieses Modell ist nicht mehr auf der Website des Herstellers aufgeführt, aber laut Teilenummer ist es für ein Spitzendrehmoment von 25 in-lb = 2,825 Nm ausgelegt und die Spule ist für 10 VDC (max.) ausgelegt. Dies ist ideal geeignet, um die betrachteten Motoren der Baugröße 23 zu testen, die für Spitzendrehmomente von etwa 1,6 Nm ausgelegt sind. Darüber hinaus war diese Bremse mit einem Pilotloch und Befestigungslöchern ausgestattet, die mit denen identisch sind, die bei NMEA 23-Motoren verwendet werden, sodass sie mit der gleichen Montagehalterung wie der Motor montiert werden konnte. Die Motoren haben ¼-Zoll-Wellen und die Bremse wurde mit einer ½-Zoll-Welle geliefert, so dass ein flexibler Kupplungsadapter mit gleich großen Wellen auch bei Ebay beschafft wurde. Alles, was erforderlich war, war die Montage an zwei Halterungen an einer Aluminiumbasis. Das obige Foto zeigt den Prüfstand. Die Halterungen sind bei Amazon und Ebay erhältlich.

Das Bremsmoment der Magnetpulverbremse ist proportional zum Wicklungsstrom. Um die Bremse zu kalibrieren, wurde auf der gegenüberliegenden Seite der Bremse einer von zwei Drehmoment-Messschraubendrehern als Schrittmotor an die Welle angeschlossen. Die beiden verwendeten Schraubendreher waren die McMaster Carr-Teilenummern 5699A11 und 5699A14. Ersteres hat einen maximalen Drehmomentbereich von 6 in-lb = 0,678 Nm und letzteres hat einen maximalen Drehmomentbereich von 25 in-lb = 2,825 Nm. Der Strom wurde von einem variablen DC-Netzteil CSI5003XE (50 V/3A) geliefert. Das obige Diagramm zeigt das gemessene Drehmoment gegenüber dem Strom.

Beachten Sie, dass das Bremsmoment im für diese Tests interessanten Bereich durch die lineare Beziehung Drehmoment (N-m) = 1,75 x Bremsstrom (A) näherungsweise angenähert werden kann.

Schritt 3: Kandidaten für Schrittmotortreiber auswählen

Kandidaten für Schrittmotortreiber auswählen
Kandidaten für Schrittmotortreiber auswählen
Kandidaten für Schrittmotortreiber auswählen
Kandidaten für Schrittmotortreiber auswählen

Schrittmotoren können mit einer vollständig aktiven Wicklung zu einem Zeitpunkt, der allgemein als SINGLE-Schritt bezeichnet wird, betrieben werden, beide Wicklungen vollständig aktiv (DOUBLE-Schritt) oder beide Wicklungen teilweise aktiv (MICROSTEPPING). In dieser Anwendung sind wir am maximalen Drehmoment interessiert, daher wird nur DOPPEL-Schritt verwendet.

Das Drehmoment ist proportional zum Wicklungsstrom. Ein Schrittmotor kann mit konstanter Spannung betrieben werden, wenn der Wicklungswiderstand hoch genug ist, um den Dauerstrom auf den Nennwert für den Motor zu begrenzen. Das Adafruit #1438 Motorshield verwendet Konstantspannungstreiber (TB6612FNG), die für 15 VDC, maximal 1,2 Ampere ausgelegt sind. Dieser Treiber ist die größere Platine, die auf dem ersten Foto oben gezeigt wird (ohne die beiden Tochterplatinen auf der linken Seite).

Die Leistung mit einem Konstantspannungstreiber ist begrenzt, da der Strom bei Drehzahl sowohl aufgrund der Wicklungsinduktivität als auch der Gegen-EMK stark reduziert wird. Ein alternativer Ansatz besteht darin, einen Motor mit einem geringeren Widerstand und einer geringeren Induktivität zu wählen und ihn mit einem konstanten Strom zu betreiben. Der Konstantstrom wird durch Pulsweitenmodulation der angelegten Spannung erzeugt.

Ein großartiges Gerät, das verwendet wird, um den Konstantstromantrieb bereitzustellen, ist der DRV8871 von Texas Instruments. Dieser kleine IC enthält eine H-Brücke mit interner Strommessung. Ein externer Widerstand wird verwendet, um den gewünschten konstanten (oder maximalen) Strom einzustellen. Der IC trennt automatisch die Spannung, wenn der Strom den programmierten Wert überschreitet und legt ihn wieder an, wenn er unter einen bestimmten Schwellenwert fällt.

Der DRV8871 ist für 45 VDC, maximal 3,6 Ampere ausgelegt. Es enthält eine interne Übertemperatur-Erfassungsschaltung, die die Spannung unterbricht, wenn die Sperrschichttemperatur 175 °C erreicht. Der IC ist nur in einem 8-Pin-HSOP-Gehäuse erhältlich, das ein Wärmeleitpad auf der Unterseite hat. TI verkauft ein Entwicklungsboard, das einen IC enthält (für einen Schrittmotor werden zwei benötigt), aber es ist sehr teuer. Adafruit und andere verkaufen ein kleines Prototyping-Board (Adafruit #3190). Zum Test wurden zwei davon außenbords an einem Adafruit Motorshield montiert, wie auf dem ersten Foto oben gezeigt.

Die aktuellen Antriebsfähigkeiten sowohl des TB6612 als auch des DRV8871 sind in der Praxis durch den Temperaturanstieg im Inneren der Teile begrenzt. Dies hängt von der Wärmeableitung der Teile sowie der Umgebungstemperatur ab. In meinen Raumtemperaturtests erreichten die DRV8871-Tochterplatinen (Adafruit #3190) ihre Übertemperaturgrenzen in etwa 30 Sekunden bei 2 Ampere, und die Schrittmotoren werden sehr unregelmäßig (einphasig, wenn der Übertemperaturkreis ein- und ausschaltet). Die DRV8871 als Tochterplatinen zu verwenden ist sowieso ein Trugschluss, daher wurde ein neues Shield entwickelt (AutoShade #100105), das vier der Treiber enthält, um zwei Schrittmotoren zu betreiben. Diese Platine wurde mit einer großen Masse an Masseflächen auf beiden Seiten entworfen, um die ICs zu kühlen. Es verwendet die gleiche serielle Schnittstelle zum Arduino wie das Adafruit Motorshield, sodass die gleiche Bibliothekssoftware für die Treiber verwendet werden kann. Das zweite Foto oben zeigt diese Platine. Weitere Informationen zu AutoShade #100105 finden Sie in der Auflistung bei Amazon oder auf der Website AutoShade.mx.

In meiner Sonnenschutz-Anwendung dauert es je nach Geschwindigkeitseinstellung und Sonnenschutzabstand 15 bis 30 Sekunden, um jeden Sonnenschutz anzuheben oder abzusenken. Der Strom sollte daher so begrenzt werden, dass die Übertemperaturgrenze im Betrieb nie erreicht wird. Die Zeit zum Erreichen der Übertemperaturgrenzen beim 100105 beträgt mehr als 6 Minuten bei einer Strombegrenzung von 1,6 A und mehr als 1 Minute bei einer Strombegrenzung von 2,0 A.

Schritt 4: Kandidaten für Schrittmotoren auswählen

Kandidaten für Schrittmotoren auswählen
Kandidaten für Schrittmotoren auswählen
Kandidaten für Schrittmotoren auswählen
Kandidaten für Schrittmotoren auswählen

Circuit Specialists verfügt über zwei Schrittmotoren der Größe 23, die das erforderliche Drehmoment von 8 kg-cm bereitstellen. Beide haben zwei Phasenwicklungen mit Mittelabgriffen, so dass sie so angeschlossen werden können, dass entweder die vollen Wicklungen oder die halben Wicklungen angetrieben werden. Die Spezifikationen für diese Motoren sind in den beiden obigen Tabellen aufgeführt. Beide Motoren sind mechanisch nahezu identisch, aber elektrisch hat der 104er Motor einen viel geringeren Widerstand und eine viel geringere Induktivität als der 207er Motor. Die elektrischen Spezifikationen gelten übrigens für Halbspulen-Erregung. Bei Nutzung der gesamten Wicklung verdoppelt sich der Widerstand und die Induktivität erhöht sich um den Faktor 4.

Schritt 5: Messen Sie das Drehmoment im Vergleich zur Geschwindigkeit der Kandidaten

Unter Verwendung des Dynamometers (und der Simulation) wurden die Drehmoment-Drehzahl-Kurven für eine Reihe von Motor-/Wicklungs-/Stromantriebskonfigurationen bestimmt. Das Programm (Skizze), das zum Ausführen des Dynamometers für diese Tests verwendet wird, kann von der Website AutoShade.mx heruntergeladen werden.

Schritt 6: Konstantspannungsantrieb der Halbspule 57BYGH207 bei Nennstrom

Konstantspannungsantrieb der Halbspule 57BYGH207 bei Nennstrom
Konstantspannungsantrieb der Halbspule 57BYGH207 bei Nennstrom

Der 57BYGH207-Motor mit Halbspule, der mit 12 V (Konstantspannungsmodus) betrieben wird, ergibt 0,4 Ampere und war die ursprüngliche Antriebskonfiguration. Dieser Motor kann direkt vom Adafruit #1434 Motorshield angetrieben werden. Die obige Abbildung zeigt die simulierten und gemessenen Drehmoment-Drehzahl-Kennlinien zusammen mit der Reibung im ungünstigsten Fall. Dieses Design unterschreitet das gewünschte Drehmoment, das für den Betrieb mit 200 bis 400 Schritten pro Sekunde erforderlich ist, weit.

Schritt 7: Konstantstromantrieb der Halbspule 57BYGH207 bei Nennstrom

Konstantstromantrieb der Halbspule 57BYGH207 bei Nennstrom
Konstantstromantrieb der Halbspule 57BYGH207 bei Nennstrom

Die Verdoppelung der angelegten Spannung, aber die Verwendung des Chopper-Antriebs zur Begrenzung des Stroms auf 0,4 Ampere verbessert die Leistung erheblich, wie oben gezeigt. Eine weitere Erhöhung der angelegten Spannung würde die Leistung noch weiter verbessern. Ein Betrieb über 12 VDC ist jedoch aus mehreren Gründen unerwünscht.

· Der DRV8871 ist spannungsbegrenzt auf 45 VDC

· Netzteile für die Wandmontage mit höherer Spannung sind nicht so verbreitet und teurer

· Die Spannungsregler, die zur Versorgung der im Arduino-Design verwendeten Logikschaltungen mit 5 VDC verwendet werden, sind auf max. 15 VDC begrenzt. Der Betrieb der Motoren bei höheren Spannungen würde also zwei Netzteile erfordern.

Schritt 8: Konstantstromantrieb von 57BYGH207 Vollspule bei Nennstrom

Konstantstromantrieb von 57BYGH207 Vollspule bei Nennstrom
Konstantstromantrieb von 57BYGH207 Vollspule bei Nennstrom

Dies wurde mit der Simulation angeschaut, aber nicht getestet, da ich kein 48 V Netzteil hatte. Das Drehmoment bei niedrigen Drehzahlen verdoppelt sich, wenn die volle Spule mit Nennstrom betrieben wird, fällt dann aber mit der Drehzahl schneller ab.

Schritt 9: Konstantstromantrieb von 57BYGH104 Vollspule bei ½ Nennstrom

Konstantstromantrieb von 57BYGH104 Vollspule bei ½ Nennstrom
Konstantstromantrieb von 57BYGH104 Vollspule bei ½ Nennstrom

Bei 12 VDC und einem Strom von 1,0 A ergibt sich die oben gezeigte Drehmoment-Drehzahl-Kennlinie. Die Testergebnisse erfüllen die Anforderungen für den Betrieb mit 400 Schritten pro Sekunde.

Schritt 10: Konstantstromantrieb von 57BYGH104 Vollspule bei 3/4 Nennstrom

Konstantstromantrieb von 57BYGH104 Vollspule bei 3/4 Nennstrom
Konstantstromantrieb von 57BYGH104 Vollspule bei 3/4 Nennstrom

Eine Erhöhung der Wicklungsströme auf 1,6 Ampere erhöht die Drehmomentreserve erheblich.

Schritt 11: Konstantstromantrieb von 57BYGH104 Vollspule bei Nennstrom

Konstantstromantrieb von 57BYGH104 Vollspule bei Nennstrom
Konstantstromantrieb von 57BYGH104 Vollspule bei Nennstrom

Wenn die Wicklungsströme auf 2A erhöht werden, steigt das Drehmoment wie oben gezeigt, jedoch nicht so stark, wie es die Simulation vorhersagen würde. In der Realität passiert also etwas, das das Drehmoment bei diesen höheren Strömen begrenzt.

Schritt 12: Treffen der endgültigen Auswahl

Treffen der endgültigen Auswahl
Treffen der endgültigen Auswahl

Die Verwendung der vollen Spule anstelle der Hälfte ist definitiv besser, aber beim 207-Motor aufgrund der erforderlichen höheren Spannung nicht wünschenswert. Der 104-Motor ermöglicht den Betrieb bei niedriger angelegter Spannung. Daher wird dieser Motor ausgewählt.

Der volle Spulenwiderstand des 57BYGH104-Motors beträgt 2,2 Ohm. Der Widerstand der Treiber-FETs im DRV8871 beträgt ca. 0,6 Ohm. Der typische Verdrahtungswiderstand zu und von den Motoren beträgt etwa 1 Ohm. Die Verlustleistung in einem Motorstromkreis ist also der Wicklungsstrom zum Quadrat mal 3,8 Ohm. Die Gesamtleistung ist doppelt so hoch, da beide Wicklungen gleichzeitig angetrieben werden. Für die oben betrachteten Wicklungsströme sind die Ergebnisse in dieser Tabelle gezeigt.

Durch die Begrenzung der Motorströme auf 1,6 Ampere können wir ein kleineres und kostengünstigeres 24-Watt-Netzteil verwenden. Es geht nur sehr wenig Drehmomentspielraum verloren. Schrittmotoren sind auch keine leisen Geräte. Wenn sie mit einem höheren Strom betrieben werden, werden sie lauter. Im Interesse einer geringeren Leistung und eines leiseren Betriebs wurde die Strombegrenzung auf 1,6 Ampere gewählt.

Empfohlen: