Schrittmotor mit 4bit- Up/Downzähler ansteuern
Hallo,
für ein Bastelprojekt (Motorfokus eines Teleskopes) will ich einen Schrittmotor ansteuern allerdings das ganze ohne PC, sondern nur mit einer Handsteuerbox, d.h. der Motor muss vor und zurückgehen, mit variabler Geschwindigkeit und auch in Einzelschritten. Zwischen dem Schrittmotor und dem OAZ kommt noch ein Getriebe, so dass eine Genauigkeit von 10 µm erreicht wird.
Als Schaltung dachte ich an einen 4bit Up/Downzähler der mit den Motorphasen verbunden wird, für Einzelschritt vor oder zurück lässt sich einfach ein Signal an den passenden Eingang anlegen.
Und für eine kontinuierliche Bewegung wird ein variabler Taktgeber (gibt es so ein Bauteil überhaupt, oder läuft das auf einen Schwingkreis hinaus?) angesteuert, der den Up/Downzähler ansteuert.
Oder gibt es bereits eine solche Schaltung? Bis jetzt habe ich zwar einige Schaltungen für genau diesen Zweck gefunden (Motorfokus), allerdings nur in Verbindung mit einem PC, hier das soll ganz ohne PC ablaufen, sondern nur über Batterie (12V).
Viele Grüße und schonmal Danke,
Mark
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Mark,
ja klar. Genau das ist der Trick. Die meisten µCs haben einen sog. A/D-Wandler, praktisch einen Spannungsmesser. Ein Joystick ist nichts anderes als zwei im rechten Winkel angeordnete Potentiometer. Allerdings mit einer Vorrichtung, die sie in die Mittelstellung zurückschnacken lassen. Übliche Joysticks haben 10-20 kOhm. Die kann man also direkt an die Versorgungsspannung legen. Mit dem ADC misst man dann die Spannung am Schleifer. Was man dann mit dem Messwerten macht: Alles was man programmieren kann.
Je nach dem was man genau machen will, ist es ungünstig Einzelschritte mit einem Joystick zu erzeugen. Da wären Taster besser.
Noch einmal zur Sicherheit: Du hast genau einen Motor, den du steuern willst, zur Fokuseinstellung?
Frage: Mobil oder Stationär? Also Akku oder Netz? Bei Akku musst du bedenken, dass Schrittmotore -wenn man keine Vorrichtung trifft- immer unter Strom stehen. Die Akkus sind dann schnell leer. Benötigt dein Teleskop eine "Haltekraft"? Wenn nicht kann man den Motor nach erfolgter Drehung ausschalten (der RN-Stepp297 lässt das zu).
Ein möglicher Schaltplan könnte so aussehen.Anhang 18964 Ist doch recht übersichtlich, oder?
... und wie gesagt, ich würde dir solch ein Ding fertig machen (auch zwei).
Viele Grüße
Red Baron
Liste der Anhänge anzeigen (Anzahl: 1)
Moin,
das ist ja eine Menge Input...
Es gibt da übrigens einen etwas älteren Thread zu diesem Thema: https://www.roboternetz.de/community...p-motorisieren
Bei den üblichen µCs befindet sich das Programm in einem Flash-Speicher. Das ist die gleiche Technologie wie sie z.B. bei USB-Sticks, SD-Karten, Solid-State-Disks etc. benutzt wird. Man spricht von 10 Jahren Speicherdauer. Konkrete Herstellerangaben hab ich auf die Schnelle nicht finden können. Ich denke aber, 10 Jahre sind für diese Chips die Untergrenze. Schließlich werden die Dinger auch in Produkte eingebaut, die länger als 10 Jahre halten sollen.
Zum Haltemoment: Bei Akku-Betrieb können der Motor nicht permanent eingeschaltet bleiben.
Variante 1: Du schaltest das gesamte Gerät an und aus, bevor/nachdem du die Schraube fest-/losdrehst. Ziemlich unbequem. Wenn der Motor dreht, bevor die Schraube gelöst ist, kann das Schäden geben. Mit Getriebe haben die Motoren eine ganz schöne Kraft. Weiterhin gibts beim Ein- und Auschalten immer unschöne Zustände. Der Kontroller weiß nicht wo genau der Motor steht und wird ihn in die Grundstellung drehen, also um 0, 1 oder 2 Schritte, je nachdem wie der Motor aktuell steht.
Variante 2: Das Gerät bleibt die ganze Zeit an. Der Stromverbrauch ist minimal (einige mA max.). Du nutzt einen zusätzlichen Schalter/Taster mit dem du den Motor an und abschalten kannst. Das löst das Problem des undefinierten Zustands, aber nicht das mit der angezogen Schraube beim drehenden Motor. Außderdem brauchts du ein weiteres Bedienelement.
Variante 3: Du schaltest den Motor einfach nach erfolgter Drehung aus. Die Reibung im Getriebe sollte verhindern, dass sich noch etwas bewegt. Wenn doch: Reibung durch Schleifer erhöhen. Und zwar an der motorseitigen Seite vom Getriebe. Dann benötigt man nur eine kleine Rebung, weil die durch das Getriebe hochgesetzt wird. D.h. die Nutzung der Feststellschraube wäre nicht notwendig.
Zum Joystick: Biedenelemente sind geschmacksache. Ein Joystick ist optimal für X/Y-Steuerung. Er hat die Vorteile: 2 Achsen, automatische Mittelstellung. Das wars aber auch. Die Steuerung erfolgt erfolgt meist durch visuelle Rückkopplung. D.h. man sieht Abweichungen vom Soll und regelt die intuitiv mit den Fingern nach. Das klappt bei "normalen" X/Y-Anwendungen auch recht gut.
Du hast keine X/Y-Anwendung. Wenn du den Joystick nicht genau nach rechts/links oder oben/unten bewegst, also z.B. diagonal, muss man stest entscheiden, was denn nun gemeint ist. Das ist kompliziert und fehleranfällig.
Ein Joystick hat auch nur einen Drehwinkel von rd. 90°, also 45° in jede Richtung.
Ein Joystick lässt sich in alle Richtungen bewegen (auch im Kreis, wenn man will). Ein Achse kann man mechanisch blockieren, z.B. in dem man die Achse durch einen Schlitz führt, aber auch elektrisch, indem man eine Achse nicht anschließt.
Je länger ich darüber nachdenke, desto besser gefällt mir persönlich die Lösung mit dem 3-Zonen-Potentiometer. Entweder als Schiebregler oder als Drehpoti.
Schieberegler: Muss leichtgängig sein. Man muss längere Schraubenfedern einsetzen, damit man bei der Auslenkung nicht zuviel Kraft aufwenden muss. Bedienung ist dafür sehr intuitiv.
Drehpoti: das könnte man mit einer einfachen Feder wie in der Abb. in Mittelstellung bringen:Anhang 19000
Viele Grüße
Red Baron
Liste der Anhänge anzeigen (Anzahl: 1)
... und du meinst, das wäre einfacher? :confused:
Beim Motor mit 6 Anschlüssen: Ich habe übrigens noch einmal über den Hinweis von Thorsten Ostermann nachgedacht. Insbesondere darüber, dass bei diesen Motoren sich die Spannungs- und Stromangabe auf den unipolaren Betrieb bezieht. Da dur nur 12V Betriebsspannung hast musst du den Motor unipolar betreiben. Beim bipolaren Betrieb müsstest du die 1,4-fache Spannung einsetzen. Bei einem 15-V-Motor wären das 21V. Davon bist du weit entfernt. Vielleicht kann Thorsten hierzu noch einmal ein Statement abgegen.
Für den unipolaren Betrieb -insbesondere, wenn der Strom nicht zu groß ist-, ist es nicht notwendig, eine aufwändige H-Brücke, wie den RN-Stepp297, zu betreiben. Das geht einfacher! Es reicht ein ULN2803. Den kann man wie folgt anschließen: Anhang 19019 Die Eingänge kann man dann direkt durch den µC ansteuern. Einen UNL2803 hätte ich noch da. Habe einmal 5 bestellt aber nur drei für meine Fräse gebraucht.
vg
Red Baron
Liste der Anhänge anzeigen (Anzahl: 3)
Hallo Mark,
die beiden Controller haben in etwa die gleiche Funktion, wie der RN-Stepper. Beide brauchen einen externen Clock-Generator. Den von aaroncake musst du ohne Platine zusammenlöten, der andere ist nicht lieferbar ... Ich glaube, das sind beides keine wirklichen Alternativen.
Ich habe einmal zwei Schaltpläne gezeichnet. Der erste zur Ansteuerung eines Steppercontrollers, wie den RN-Stepper. Nach dem Motto so einfach wie möglich: Anhang 19041
- Spannungsregler zur Erzeugung der 5V. Mit der kann man auch den Steppercontroller betreiben.
- Anschlus eines Joysticks.
- LED zur Betriebsanzeige.
Der zweite Plan brauch keine zusätzlichen Elemente. Er ist auch so einfach, dass man ihn problemlos auf einer Lochrasterplatine auflöten kann.Anhang 19042
- Spannungsregler, so dass er mit 12V betrieben werden kann.
- Anschluss eines Joysticks.
- Zwei LEDs zur Betriebsanzeige.
- Treiber für den Schrittmotor (hier geht nur die unipolare Variante)
- JP1 dient zur Umschaltung zwischen proportionaler/exponentieller Kennlinie. Es sind noch Pins frei, man könnte weitere Optionen einbauen.
Du wirst bemerkt haben, dass ich hier einen anderen Chip benutzt habe. Der ist etwas leistungsfähiger, aber kaum teurer (ca. 3,10 EUR). Man könnte auch bei der ersten Variante einen anderen Chip nutzen. Dann könnte man weitere Bedien- oder Sichtelemente betreiben.
Zum Verhalten des Systems:
Joystick (hat übrigens +/-30°, ich habe noch einmal nachgeschaut):
Joystick nach recht, min. 2/3 Vollauslenkung -> Einzelstep CW, danach muss er mindestens auf 1/3 zurückgenommen werden, bevor ein weiterer Step möglich ist. Joystick nach links analog mit CCW. Links und rechts hängt davon ab, wie du das Teil anschließt. Wenn du die Seiten vertauschst, verstauschst du auch rechts/links und damit CW/CCW.
Joystick nach oben. Kleine Totzone, danach kontinuierlicher Anstieg der Steppfrequenz CW. Joystick nach unten: analog. Hier gilt bei Seitenvertauschung das gleiche.
Du kannst auch recht/links mit oben/unten tauschen, wenn das die Bedienung erleichtert.
Zur Totzone: die Stelle ich mir wie folgt vor. Anhang 19043 Der Kreis ist der "Aktionsradius" des Joystick. In den weißen Zonen passiert nichts. Grün Einzelstepp, rot kontinuierlich. Die Totzone ist asymetrisch, weil du für den Einzelstepp 2/3 bzw. 1/3 Auslenkung benötigst.
LED:
Bei jedem Stepp geht sie kurzeitig an. Helligkeit wird mit dem Widerstand geregelt. 220 Ohm ist sie recht hell (das kann in der Dunkelheit störend sein), 390 oder 470 Ohm sind dunkel, bei 560 oder 680 Ohm glimmt die LED nur noch. Aber das hängt sehr von der LED ab. Muss man ausprobieren. Bei zwei LEDs kann man verschiedene Farben für CW/CCW nehmen.
Du kannst bei beiden Varianten noch eine LED über einen Widerstand von Plus nach Minus anschließen, dann hast du eine Betriebsanzeige.
Ich kann die zweite Variante empfehlen. Ich habe sie selbst für meine Fräse im Einsatz. Details hierzu demnächst auf meiner Hompage. Erste Eindrücke: http://bienonline.magix.net/public/mf70-umbau.html
Viele Grüße
Red Baron
Liste der Anhänge anzeigen (Anzahl: 1)
Moin,
hat ein wenig länger gedauert. Ich hatte bei der Umsetzung der Kennlinien einen "Knoten im Kopf".
So sieht es jetzt aus: Anhang 19104
Die rote Kennlinie ist nicht exponentiell sondern quadratisch. Bei einer exponentiellen Linie, wäre im unteren Bereich zu wenig Dynamik vorhanden. Grund ist die notwendige Diskretisierung. Man hätte zwar mit feineren Schritten arbeiten können, jedoch passt dann die Relation Genauigkeit der Schrittfrequenz, Genauigkeit Ermittlung der Joystick-Stellung, Präzision der Joystick-Führung und Programmaufwand nicht mehr zueinander. Eine quadratische Kennlinie ist ein guter Kompromiss.
Das Programmteil zur Ermittlung der Joystick-Stellung liefert für den kontinuierlichen Bereich Werte zwischen 1 und etwa 112. Diese werden umgsetzt in Schrittfrequenzen zwischen 2 und etwa 41.
Fortsetzung folgt...
Liste der Anhänge anzeigen (Anzahl: 1)
... Fortsetzung.
Den Schaltplan habe ich ein ein wenig anpassen müssen: Anhang 19107
Zum einen sind zwei Abblockkondensatoren notwendig. Das Einschalten der LED hätte sonst zu großen Einfluss auf die Messwerte des ADC. Dies führt beim Übergabg von Zone "Weiß" zu "Rot" (s.u.) zu unangenehmen Schwingungen. Der eine Kondensator muss möglichst nahe an den Stromversorgungspins des Chips angberacht werden, der andere mögichst nahe am Joystick.
Zum anderen ist es deutlich einfacher, die Kennlinien alternativ anstatt gleichzeitg zu erzeugen. Der Pin "P/Q" schaltet zwischen beiden Kennlinien um. Ist der Pin nicht angeschlossen, wird die quadratische Kennlinie realisiert. Ist er mit GND verbunden, die lineare.
+5V und GND bekommst du von der Driver-Platine. "DIR" und "STEP" entsprechen den gleichnamigen Pins auf der Driver-Platine. Die Pulslänge für "STEP" ist ca. 0,25 ms.
Fortsetzung folgt ...
Liste der Anhänge anzeigen (Anzahl: 1)
...Fortsetzung.
Die Steuerung erfolgt über einen Zustandsautomaten, der auswertet, in welchen Zonen sich der Joystick befindet: Anhang 19108
- Weiß ist die neutrale Zone. Hier passiert nichts.
- Blau ist die Fehlerzone. Wird diese betreten, stoppt alles. Man muss erst wieder nach Weiß bevor es weitergeht.
- Rot ist die eine kontinuierliche Zone.
- Rosa die andere in die entgegengesetzte Richtung.
- Orange führt zu einem Einzelschritt. Danach muss zurück nach Weiß um ein weiteren Schritt auszulösen. Ob über Blau oder Gelb ist egal.
- Gelb hat keine Funktion, trennt aber Orange von Weiß.
- Violett analog zu Orange für die entgegengesetzte Richtung.
- Grün analog zu Gelb entgegengesetzte Richtung.
Die Grenzen Weiß/Gelb/Orange bzw. Weiß/Grün/Violett liegen jeweils auf etwa 1/3 des Joystick-Ausschlags.
Die Grenzen Weiß/Rot bzw. Weiß/Rosa liegen bei 1/6 des Ausschlags.
Fortsetzung folgt...