Kann ich den Schrittmotor mit diesen Komponenten programmieren

Hallo,

Da ich in der Schule ein Projekt zu machen habe, welches sich meiner Meinung nach gut mit Schrittmotoren aufbauen lässt, habe ich mich nun über Schrittmotoren im Internet informiert. (Da ich kompletter Anfänger auf diesem Gebiet bin)

Nun zu meiner Frage:

Kann ich diese Komponenten so Programmieren, dass sich der Schrittmotor mit einer Raste einschalten kann und sich dieser dann 45° nach rechts dreht, dort 20 Sekunden stehen bleibt und das gleiche dann die ganze zeit wiederholt bis ich die Raste wieder ausschalte.

Das sind die Komponenten:

Motor:

Treiber:

Entwicklungsboard:
https://www.ebay.de/itm/ARDUINO-UNO-R3-ATmega328P-ATmega16U2-Development-Board-WithUSB-Cable-Accessories/253971208128?_trkparms=aid%3D222007%26algo%3DSIM.MBE%26ao%3D2%26asc%3D20160908110712%26meid%3D4e2f7d95667e43f6af4d771d483aa2bf%26pid%3D100677%26rk%3D6%26rkt%3D30%26sd%3D112873622984%26itm%3D253971208128&_trksid=p2385738.c100677.m4598

Kann ich diese Komponenten so Programmieren, dass sich der Schrittmotor mit einer Raste einschalten kann und sich dieser dann 45° nach rechts dreht, dort 20 Sekunden stehen bleibt und das gleiche dann die ganze zeit wiederholt bis ich die Raste wieder ausschalte.

Ja.

Die Aufgabe ist nur unklar:

  • soll das Ding beim Ausschalten sofort stehen bleiben, und beim nächsten Mal von dort eine neue 45° Drehung machen?
  • Oder gibt es eine definierte Grundstellung, die nach 8 Teildrehungen wieder genau erreicht werden soll?
    ( Wenn ja, woran erkennt man die? )

Zur Hardware sage ich nichts. Da fehlt mindestens die Stromversorgung.
Und wenn der "Arduino" sich nicht "Arduino" nennen würde, wäre es besser. So ist es kein Nachbau, sondern eine Fälschung. Aber das ist ja kein Rechtskunde - Projekt :wink:

Das deine Beschreibung nicht ganz verständlich ist, wurde ja schon geschrieben.
Was meinst du mit Raste ? Einen Taster ? Oder einen Schalter, der rastet. Die richtige Angabe wäre schon wichtig für einen entsprechenden Sketch.
Und poste bitte Hyperlinks zum Anklicken, keine URL. Dann hättest du sicher mehr Helfer.

Hallo,

Mit der Raste meine ich einen Taster der Einrastet und somit eingeschalten bleibt bis man ihn wieder umlegt ( Wie ein Lichtschalter :))

Die Aufgabe ist:

Wenn ich den Taster mit Raste einschalte, soll sich der Schrittmotor um 45° Drehen, wenn er an dieser Stelle angelangt ist, soll er dort 20 Sekunden pausieren und dann von diesem Standort aus wieder 45° weiter in die gleiche Richtung drehen und dort wieder 20 Sekunden warten... und das so lange bis ich den Taster mit Raste wieder ausschalte.

Also immer vom letzten Punkt aus 45°

Ist ein Nullpunkt schwer zu realisieren? Da ich ja mit den 45° auch auf 360° komme und sich der Motor in den 45° Schritten ja nicht verändert

Ich dachte das der Treiber den Motor mit Strom versorgt, und der Treiber wiederum vom Entwicklungsboard versorgt wird

Danke

Dieses ist eine Arduinofälschung, erkennbar am niedrigen Preis; Die Bilder sind die eines orginalen.
Bitte nicht sowas kaufen. Entweder einen Orginalen oder einen legalen Nachbau.

Ja, der Motor paßt zum Treiber. Den Treiber solltest Du mit mindestens 12 V besser 24V versorgen. Am Treiber stellst Du 3A Motorstrom ein, Das Netzteil sollte 5A liefern können.

Grüße Uwe

staffti:
.....
Ich dachte das der Treiber den Motor mit Strom versorgt, und der Treiber wiederum vom Entwicklungsboard versorgt wird

Bei solchen Dingen sollte man sich im Datenblatt schlau lesen.
Den Strom, den die Motoren benötigen, kannst du nie direkt vom Arduino bekommen, mit der Spannung ist das genau so.
Uwe hat dir ja die nötigen Daten geliefert.

Und es wäre doch gut, wenn du noch Hyperlinks postest.

Kann ich den Schrittmotor mit diesen Komponenten programmieren

1 Klarstellung.
Ein Schrittmotor oder Treiber kann nicht "programmiert" werden. Ein Schrittmotor wird angesteuert. Der Arduino gibt die Richtung und die Schritte vor und der Treiber steuert dementsprechend den Motor.

Grüße Uwe

1 Klarstellung.
Ein Schrittmotor oder Treiber kann nicht "programmiert" werden

Wir wollen mal nicht so pingelig sein. Natürlich kann man einen Arduino so programmieren, dass er einen Schrittmotor über einen passenden Treiber so ansteuert wie du es beschrieben hast.

Deine ausführliche Beschreibung ist aber noch genauso unklar:
-Was soll passieren, wenn der Schalter (dein "Raster") ausgeschaltet wird, während der Motor läuft?
A) sofort stehen bleiben.
B) bis zur nächsten 45° Position weiter drehen.

  • Wie stellst du sicher, dass beim Start der Motor in der 0° Position ist? Ohne Strom verstellt sich so ein Motor ziemlich leicht.

Die Anzahl Schritte zu zählen und 20 s abwarten ist keine Kunst für einen Controller.

Guten morgen,

Zu deiner Antwort michael_x:

Die Antwort B wäre das was der Motor machen sollte wenn der Strom plötzlich wegbleibt

Ist das kompliziert bzw. schwierig einen Nullpunkt zu Programmieren bzw einzurichten?

Wenns geht, wie ?

Ist das ein legaler Nachbau:?

https://www.amazon.de/gp/slredirect/picassoRedirect.html/ref=pa_sp_atf_aps_sr_pg1_1?ie=UTF8&adId=A07543881332M9OZBXGF0&url=https%3A%2F%2Fwww.amazon.de%2FELEGOO-microcontroller-Entwicklungsboard-ATmega328P-ATmega16U2%2Fdp%2FB01MQ3MS7H%2Fref%3Dsr_1_1_sspa%3Fie%3DUTF8%26qid%3D1544167250%26sr%3D8-1-spons%26keywords%3Delegoo%2Buno%2Br3%26psc%3D1&qualifier=1544167250&id=8819572036481660&widgetName=sp_atf

(Sorry, hab keine Ahnung wie ich einen Hyperlink einfügen kann)

Danke

staffti:
(Sorry, hab keine Ahnung wie ich einen Hyperlink einfügen kann)

Es gibt eine gute Beschreibung dazu. "How to use this Forum. Einfach lesen.
Beschreibung

Im Editor die 12. Schaltfläche von links.

Die Antwort B wäre das was der Motor machen sollte wenn der Strom plötzlich wegbleibt

Ist das kompliziert bzw. schwierig einen Nullpunkt zu Programmieren bzw einzurichten?

Und hier wird es schwierig:
Wenn keine Spannung mehr vorhanden ist, hört der Motor auf zu drehen, dann funktioniert auch der Arduino nicht. Ausnahme ist, du verwendest in deinem Projekt eine “Notstromversorgung”.

Die Antwort B wäre das was der Motor machen sollte wenn der Strom plötzlich wegbleibt

Ist das kompliziert bzw. schwierig einen Nullpunkt zu Programmieren bzw einzurichten?

Es ist immer eine interessante Aufgabe, einen Motor “definiert” weiter zu drehen, wenn der Strom schon ausgefallen ist.

Auch der “Nullpunkt” hat seinen Reiz.
Was ist der Nullpunkt?
Wie bekommt das Programm den Nullpunkt mit (und das ebenfalls bei Stromausfall)?

Tipp:
Arduinos beherrschen weder Telepathie, noch haben sie präkognitive Fähigkeiten.

Darum verwendet man gerne Systeme, welche von selber in einen gesunden Ruhezustand fallen, beispielsweise per Schwerkraft, oder Federspeicher.
Denn die Physik, bzw. das Universum, bleibt auch nach einem Stromausfall erhalten.

Jetzt nehmen wir mal an, dass der To mit "wenn der Strom weg bleibt" meint, wenn der Taster nicht mehr gedrückt ist.
Dass elektrische/elektronische Bauteile ohne Strom nicht funktionieren, sollten wir als bekannt voraussetzen.

Dass elektrische/elektronische Bauteile ohne Strom nicht funktionieren, sollten wir als bekannt voraussetzen.

Mir ist das bekannt, ja…

Jetzt nehmen wir mal an, dass der To mit “wenn der Strom weg bleibt” meint, wenn der Taster nicht mehr gedrückt ist.

Ich habe gewisse Vorstellungen davon, wenn man mir sagt “wenn der Strom weg bleibt”.
Es kann allerdings durchaus verschiedene “wenn der Strom weg bleibt” geben.
Dann müssten wir/ich aber etwas genauer gesagt bekommen, welches der vielen möglichen “wenn der Strom weg bleibt” jetzt genau gemeint ist.

Ist das ein legaler Nachbau:?

Ja

  • Wie stellst du sicher, dass beim Start der Motor in der 0° Position ist? Ohne Strom verstellt sich so ein Motor ziemlich leicht.

Die Position des Schrittmotors beim Einschalten (Stromversorgung Arduino und Motortreiber) ist zufällig und nicht definiert.
Normalerweise wird nach dem Einschalten der Motor entweder gegen einen Endschalter, mechanischen Stop (wie zB bei Diskettenlaufwerk) oder Positionssensor gefahren und daraufhin die Position durch Mitzählen der Schritte definiert.
Damit die Position ohne Nullpunkt anfahren definiert ist braucht es einen absoluten Encoder (keinen relativen) oder eine Positionsmessung durch einen Abstand oder Drehwinkel zB mittels Potentiometer wenn der Drehwinkel endlich ist.

Grüße Uwe

das Universum, bleibt auch nach einem Stromausfall erhalten.

Sehr beruhigend

Hi

Zur Positionsbestimmung, 'wenn der Strom Mal weg ist'.
Die Lösung, wenn das System 1x angelaufen ist: FRAM
Jede Aktion um einen Step herum im FRam speichern.
Nach Stromwiederkehr kann man im FRam nachsehen, wo wir beim Letzten Mal aufgehört haben und in der Phase wieder ansetzen.

Ok, zugegeben, nicht ganz praxisnah, das Beispiel und gegen mechanische Probleme hilft's auch nicht.

MfG

Ich sehe diesen Lösungsansatz wenig praktisch sinnvoll. Da er einige Unwägbarkeiten beinhaltet.

Wenn man jeden Schritt protokollieren muß und zur exakten Abspeichern dies exakt nach jedem Schritt machen muß kann man keine Bibliothek wie zB AccelStepper benutzen.

Schrittverlust führt 100% zu falscher Position die immer beibehalten wird.

Manuelles Bewegen des Motors bei Spanungsmangel verfälscht unweigerlich die Position.

Grüße Uwe