Transcription

BASIC-Tiger Application Note No. 061Rev. 1.0Kleine Bipolar-Schrittmotoren ansteuern mit SN754410Gunther Zielosko1.EinleitungEs ist richtig – Schrittmotoren hatten wir schon (Applikationsbericht 018). Dennoch gibt esgute Gründe, das Thema noch einmal aufzugreifen. Einer ist, wir haben damals eine diskreteLösung für die Motorendstufe aufgebaut, jetzt versuchen wir es eleganter mit einem HBrücken-IC SN754410, den wir bereits erfolgreich mit kleinen DC-Motoren erprobt haben(Bericht 059). Ein weiterer Grund für den Neuanfang ist, dass wir diesmal BipolarSchrittmotoren ansteuern wollen, die einfacher im Aufbau sind, weniger kosten und in vielenBastelkisten vorhanden sind, so zum Beispiel in alten Diskettenlaufwerken (Bild 2).Zusätzlich wollen wir eine batteriefreundliche Variante mit kleinen Schrittmotorenausprobieren. Wir erinnern uns, dass übliche Schrittmotoren häufig recht groß sind, meist mit12 V oder mehr betrieben werden müssen und zuletzt einen erheblichen Strom benötigen. Daserschwert einen Betrieb mit Batterien erheblich. Der Stromverbrauch ist schon unter normalenBedingungen, also beim Arbeiten des Motors ein Handicap, besonders aber im Stillstand.Erstens ist er dabei wegen der fehlenden Gegeninduktion noch höher und zweitens leistet derAntrieb gar nichts. Hier wollen wir etwas tun und neue Konzepte erarbeiten. Ziel ist es, einenPositionierantrieb für Batteriebetrieb zu entwickeln, der wie im Bericht vorher nur Stromverbraucht, wenn die Position verändert werden soll.Doch zunächst zum Motor selbst und seiner Anpassung an ein Antriebssystem.2.Motor und Getriebe für den AntriebUnser Motor soll klein sein, bereits mit Batterie-Spannungen um 5 V arbeiten (z.B. 4 NiCdoder NiMH-Zellen) und mit Strömen unter 200 mA auskommen. Der Schrittmotor P5341(Bild 1) eignet sich hervorragend für Anwendungen mit leichtgängigen Getrieben, bei denenes nicht um hohe Geschwindigkeiten oder Kräfte geht. Ideal also für langsame Einstellungenvon Video-Kameras oder Fokussierungsantriebe. Leider ist er nicht so ohne weiteres zufinden, eine Adresse, die aber nur an Händler ausliefert, istQuelle für den Motor P5341:http://www.kemo-electronic.com/p5341 d.htmlEine weitere Möglichkeit zur Beschaffung eines solch kleinen Schrittmotors sind häufigherumliegendende alte Diskettenlaufwerke. Deren Kopf-Positionier-Motor ist meist einBipolar-Schrittmotor und erfüllt unsere Bedingungen. Achten Sie beim „Recycling“ darauf,dass diese Motoren in der Regel innen nur ein Lager haben, das zweite ist außen am Ende derAchse im Gussgehäuse integriert, wie Bild 2 zeigt. Wenn Sie einen derartigen Motorverwenden wollen, sollten Sie also aus dem Rahmen ein Stück mit dem Lager und derMotorbefestigung heraussägen und diesen Aufbau komplett verwenden.Wilke Technology [email protected] Straße 147, 52070 Aachenhttp:\\www.wilke.deTel. 0241 / 918-900, Fax. -9044Seite 1 von 7

BASIC-Tiger Application Note No. 061Rev. 1.0Bild 1Der Miniatur-Stepper-Motor P5341Bild 2Eine alternative Quelle für kleineBipolar-Schrittmotoren sind alteDiskettenlaufwerkeUm einen solchen Stepper-Motor in einen Positionierantrieb zu integrieren, ist als nächstesmeist ein Getriebe notwendig. Der Autor hat gute Erfahrungen mit Getriebe-Bausätzen derFirma Tamiya gemacht, die leider in Deutschland auch schwer zu beschaffen sind. EineAdresse in den USA, die auch nach Deutschland liefert, dex.html - gearboxesAn den Getriebebausatz # 70093 paßt unser Motor mit kleineren Änderungen der Motoraufnahme und entsprechender Adaption des Antriebsritzels an die Motorachse hervorragend(Bilder 3 und 4). Die 3 wählbaren Untersetzungen 16,6:1, 58,2:1 und 203,7:1 gestatten eineweitgehende Anpassung an verschiedene Aufgaben.Bild 3Mit einer kleinen Metallhülse oder Bild 4Schrumpfschlauch passen Sie dasRitzel an die Motorwelle anWilke Technology [email protected] für die Verwendung einesGetriebebausatzesvonTamiya(Tamiya # 70093)Krefelder Straße 147, 52070 Aachenhttp:\\www.wilke.deTel. 0241 / 918-900, Fax. -9044Seite 2 von 7

BASIC-Tiger Application Note No. 061Rev. 1.03.Die SchaltungZunächst einmal, wir wollen einen Bipolar-Schrittmotor ansteuern. Wenn Sie den Bericht 018gelesen haben, werden Sie wissen, dass solche Motoren (elektrisch) zwei Spulen haben und inder Regel mit 4 Anschlüssen auskommen. Zusätzliche Mittelabgriffe könnten auch einenunipolaren Betrieb ermöglichen, dann hätte ein solcher Motor 6 Anschlüsse. Ein BipolarSchrittmotor benötigt zum Betrieb eine für jede Wicklung umpolbare Ansteuerung. Darausfolgt, dass dies am besten mit einer Brückenschaltung zu realisieren ist. Erinnern Sie sich andie Ausführungen im Bericht 059 zur sogenannten H-Brücke für DC-Motoren, auch beiBipolar-Schrittmotoren wird so etwas gebraucht. Der dort als Beispiel verwendete SN754410eignet sich prinzipiell auch für unsere jetzige Aufgabe, er ist der H-Brücken-Treiber für diebeiden Wicklungen unseres Schrittmotors. Wie wollen wir nun unseren Schrittmotoransteuern? Zur Auswahl stehen mehrere Prinzipien, die alle Vor- und Nachteile haben: Die simpelste Methode ist die direkte Ansteuerung der beiden Spulen über die 4Eingänge des SN754410, die ja logisch das Eingangssignal direkt an die LeistungsAusgänge weiterreichen. Dieses Prinzip kommt ohne weitere Logik aus und hat denVorteil, dass der Controller, in unserem Falle der BASIC-Tiger , genau über denjeweiligen Zustand der Spulenbestromung „informiert“ ist. Das ist wichtig, wenn esum genaue Positionierung geht und keine Schritte „verloren gehen“ dürfen. EinNachteil ist, dass der BASIC-Tiger im Motorbetrieb kaum Zeit für andere Dinge hat,als sich um die wechselnden Bitmuster für die Spulenzuschaltung zu kümmern.Ebenfalls nachteilig ist, dass alle zwischenzeitlichen Aktionen (Information an dasLC-Display, unterschiedliche Rechenoperationen und Tasksprünge), Einfluß auf denMotorlauf haben. Das kann man im praktischen Betrieb hören! Nicht zuletzt brauchenwir mindestens vier Portleitungen. Etwas einfacher ist es, eine zusätzliche Logik zu verwenden, die die Bitmuster für dieSpulen selbst ausrechnet und vom BASIC-Tiger z.B. nur noch einen Takt und einRichtungssignal bzw. zwei unterschiedliche Takte für vorwärts und rückwärtserwartet. Eine solche Lösung finden Sie z.B. im Applikationsbericht 018. DieVorteile, der BASIC-Tiger zählt ganz einfach vor oder rückwärts und es werden nurzwei Portleitungen gebraucht. Ein Nachteil soll aber nicht verschwiegen werden. Dadie Logik die Spulen nur über Takte versorgt, gibt es beim Start (RESET, Power ON)eine Unklarheit - wie war die letzte Kombination der Spulenbestromung? Beginnt derneue Zyklus mit einer ganz anderen Kombination, gibt es undefinierte Sprünge desMotors beim Start. Keine gute Lösung für genaue Positionierungssysteme. In derPraxis hilft man sich mit Initialisierungsphasen, in der die Antriebe meist an einemEndschalter auf 0 gesetzt werden. Einmal in Betrieb, wird ein solcher Schrittmotorauch in den Arbeitspausen bestromt und hält damit seine Position exakt. Noch einfacher zu handhaben sind Hybridvarianten mit meist sehr komplexen ICs, diesowohl den Leistungsteil als auch einen recht aufwendigen Logikteil mitbringen.Solche ICs ermöglichen Mikroschrittbetrieb (dazu wird eine quasi sinusförmigeAnsteuerung generiert), Chopperbetrieb (der Betriebsstrom wird getaktet und damitWilke Technology [email protected] Straße 147, 52070 Aachenhttp:\\www.wilke.deTel. 0241 / 918-900, Fax. -9044Seite 3 von 7

BASIC-Tiger Application Note No. 061Rev. 1.0speziell im Stand reduziert) sowie eine simple Ansteuerung wieder über eineneinzigen Takt.Wir entscheiden uns für die erste Variante, da mit dieser auf einfache Weise ein „Gedächtnis“für die Bestromungssituation des letzten Schrittes realisiert werden kann. Schaltet man in denBewegungspausen alle beteiligten Komponenten ab (Motor, Brücken-IC, BASIC-Tiger ),können vorher die Schrittzahl und die letzte Kombination der Spulenbeschaltung im Flashgesichert werden. Bei Betriebsbeginn stehen diese Daten wieder zur Verfügung und dieexakte Position bleibt erhalten. Voraussetzung ist lediglich, dass keine mechanischen Kräfteden Antrieb verstellen (z.B. manuell oder Wind). Sind solche Einflüsse unvermeidbar, müssenselbsthemmende Getriebe, wie beispielsweise Schneckengetriebe verwendet werden.Damit ist bereits das Schaltungskonzept klar. 4 Ausgänge (L80 – L83) des BASIC-Tigers geben das Bitmuster an die Eingänge des SN754410, dort werden sie, logisch unverändertaber entsprechend leistungsverstärkt über die zugehörigen Ausgänge direkt an die beidenSpulen gelegt. Die beiden Enable-Eingänge des SN754410 können die Ausgangspaarehochohmig schalten und damit den Stromverbrauch drastisch reduzieren. Der SN754410 kannsolche kleinen Motoren ohne Kühlung und Schutzdioden an den Ausgängen verkraften. Beigrößeren Motoren und/oder höheren Betriebsspannungen bzw. –Strömen empfiehlt derHersteller entsprechende Kühlmaßnahmen sowie zusätzliche externe Schutzdioden(Schottky!), die im Schaltbild als Option gestrichelt eingezeichnet wurden. Die Leistungsteileder Schaltung (Vcc2, GND und die Motoranschlüsse) sind verstärkt auszuführen und deshalbauch so gezeichnet. Insbesondere die GND-Anschlüsse dienen beim SN754410 als Kühlung,sie sind deshalb so großflächig wie möglich anzulegen. Die Leitungsfarben für den Motor undseine Ansteuerung gelten für den Motor P5341.Bild 5Die einfache Anbindung eines kleinen Schrittmotors über den SN754410 an einenECONO-Tiger . Hier sind nur die für den Schrittmotor relevanten Schaltungsteiledargestellt.Wilke Technology [email protected] Straße 147, 52070 Aachenhttp:\\www.wilke.deTel. 0241 / 918-900, Fax. -9044Seite 4 von 7

BASIC-Tiger Application Note No. 061Rev. 1.0Zur besseren Verständlichkeit der gesamten Schrittmotor-Ansteuerung dient die Tabelle 1.Hier wurden für die 4 Schritte im Vollschrittbetrieb die Bitmuster am BASIC-Tiger , diePolaritäten der Spulenanschlüsse sowie die schrittweise Drehung des Rotors schematischdargestellt.Schritt- Bitmuster Ausgänge 754410 Grafische Darstellung der Abläufe im Motor, derNr.L80-L83 1Y 2Y 3Y 4Y Motor im Beispiel hat vier Vollschritte proSpule 1Spule 2 Umdrehung.abab00110 -10101- - 21001 -- 31010 - -0(nächsterZyklus)0110- -Tab. 1 Die Abläufe im Vollschrittbetrieb. Teile der Motorgrafik wurden aus der sehrinformativen Web-Seite von Douglas W. Jones abgeleitet und entsprechendmodifiziert (http://www.cs.uiowa.edu/ jones/step/)Wilke Technology [email protected] Straße 147, 52070 Aachenhttp:\\www.wilke.deTel. 0241 / 918-900, Fax. -9044Seite 5 von 7

BASIC-Tiger Application Note No. 061Rev. 1.04.Das BASIC-Tiger -Programm STEP01.TIGNachdem die Schaltung fertig ist, wollen wir mit dem BASIC-Tiger -Programm STEP01.TIGzunächst einmal prüfen, ob sie auch funktioniert. Ein erster Test soll den Motor nach demEinschalten in einer Richtung mit einer zufälligen Anzahl von Schritten (1 bis 65536)loslaufen lassen. Dabei gewährleistet das Programm über entsprechende Pausenzeiten einenlangsamen Anlauf sowie ein Abbremsen beim Erreichen der Zielposition. Nach einem kurzenStop dreht er sich anders herum. Dabei ist die Anzahl der Schritte in beiden Richtungengleich, und der Motor muss nach dem Rückwärtslauf wieder an derselben Stelle stehenbleiben. Wenn er das tut, ist fast alles gewonnen.Auf einem eventuell angeschlossenen Display gibt das Programm am Ende jeder Bewegungdie erreichte Schrittposition und die Anzahl der Durchläufe an. Während der Bewegung gehtdas nicht sehr gut, weil die zum Betreiben des Displays notwendigen Zeiten dieMotorsteuerung stören würden.Dennoch – etwas bleibt zu tun. Wir wollten eigentlich einen batteriegetriebenen Antriebentwickeln, der in den Arbeitspausen keinen Strom verbraucht. Wie kommen wir dorthin?Ganz einfach, wir benutzen die Stromversorgungs-Schaltung aus dem Applikationsbericht060. Dort hatten wir genau dieselbe Aufgabenstellung! Allerdings benutzen wir jetzt 4 Zellen(weil der ausgewählte Motor mit 4,8 V einfach besser läuft). Zum Starten benötigen wirwieder ein paar Tasten und einen CD4078. Da wir für bestimmte Anwendungenmöglicherweise ein Display brauchen (z.B. um die erreichte Position unseres Antriebesanzuzeigen), bleiben beim ECONO-Tiger nur noch wenige Portleitungen für diesen Zweckübrig, nämlich L85, L86 und L87. Die letzten beiden sind auch nur dann frei, wenn wir keineserielle Kommunikation benutzen. Wenigstens eine Taste und ein Verriegelungsausgang desBASIC-Tigers sind nötig, um das Prinzip der Spannungszuschaltung über eine Taste wie imBericht 060 zu realisieren. Werden für die Bedienung des Systems mehr Tasten gebraucht,kann auch beim ECONO-Tiger auf das erweiterte Portsystem mit der Möglichkeit einerkompletten Tastatur zurückgegriffen werden. Mit diesen so gewonnenen zusätzlichen Tastenlässt sich allerdings die Betriebsspannung nicht einschalten!Und was passiert beim Ausschalten? Vielleicht haben Sie schon irgendwo gehört, dassSchrittmotoren nach dem Erreichen einer Position immer „unter Dampf“ bleiben müssen, umdiese Position festzuhalten. Und, was Sie vielleicht auch kennen, der erste Schritt nach demEinschalten ist bei ihnen mehr oder weniger vom Zufall abhängig. Dagegen haben wir etwas!Wir „merken“ uns beim Ausschalten die jeweils erreichte Schrittzahl im Flash, lesen diesenach dem Einschalten wieder aus und steuern den Schrittmotor genauso an, wie er beimAusschalten angesteuert war. Das Programm STEP01.TIG demonstriert das nach jederVorwärts-Bewegung, die ENABLE-Eingänge des SN754410 werden inaktiv geschaltet.Damit reduziert sich der Strom aus der Vcc2-Quelle auf ca. 2 mA. Die Motorposition wird inden Flash geschrieben und nach kurzer Wartezeit wieder ausgelesen. Wenn man z.B. durchSchneckengetriebe äußere Einwirkungen auf den Antrieb minimiert, läuft der Motor genaudort weiter, wo er beim Ausschalten stehen geblieben ist. Sie können einen einfachenDauertest durchführen, indem Sie ein kleines mechanisches Bandzählwerk direkt an denMotor ankoppeln (Bild 6). Nun können Sie mit STEP01.TIG viele tausend Schritte (VariableWilke Technology [email protected] Straße 147, 52070 Aachenhttp:\\www.wilke.deTel. 0241 / 918-900, Fax. -9044Seite 6 von 7

BASIC-Tiger Application Note No. 061Rev. 1.0„ende“) ausführen lassen und das viel tausendmal (Variable „q“), wenn Sie wollen.Kontrollieren Sie in den Pausen zwischendurch immer die Endpositionen. Sie werdenfeststellen, dass der Schrittmotor-Antrieb seine Position wirklich ohne Haltestrom festhält.Damit ist der Weg frei für diese elegante Variante.Je nach Anwendung werden Sie nun so oder so Ihre Lösung finden. Falls nötig, benutzen Siefür kompliziertere Applikationen, bei denen Sie mehr I/O-Pins benötigen, vielleicht einenTINY- oder BASIC-Tiger oder einen der vielen Erweiterungsbausteine.Bild 6So können Sie die WiederholGenauigkeit Ihres Motors inAbhängigkeit verschiedener Parameter testen (STEP01.TIG)Viel Spaß beim Steppen!Wilke Technology [email protected] Straße 147, 52070 Aachenhttp:\\www.wilke.deTel. 0241 / 918-900, Fax. -9044Seite 7 von 7

Zunächst einmal, wir wollen einen Bipolar-Schrittmotor ansteuern. Wenn Sie den Bericht 018 gelesen haben, werden Sie wissen, dass solche Motoren (elektrisch) zwei Spulen haben und in der Regel mit 4 Anschlüssen auskommen. Zusätzliche Mittelabgriffe könnten auch einen unipolaren Betrieb ermöglichen, da