ich bin neu hier im Forum und hierbei handelt es sich ebenfalls um mein erstes Projekt.
Folgende Aufgabenstellung ist gefragt:
Ich möchte mit einem Schrittmotor über eine Trapezspindel den Wagen einer Laufrollenführung bewegen.
Der Wagen sollte eine fixe Ausgangsposition haben und 2 weitere Positionen abfahren.
Durch betätigen eines Druckknopfes sollte der Wagen von der Ausgangsposition X Schritte nach links fahren. Anschließend soll der Wagen von der linken Position automatisch zur Ausgangsposition zurück fahren und von dort aus X Schritte nach rechts. Erreicht der Wagen die rechte Position, so soll er wiederum automatisch auf die Ausgangsposition zurückfahren und dort stehen bleiben bis der selbe Zyklus durch betätigen eines Druckknopfes erneut gestartet wird.
Die Ausgangsposition ist der Mittelpunkt zwischen linker- und rechter Endlage.
Bewegung der Motorwelle des Schrittmotors (Beispiel):
Ausgangsposition definiert
Druckknopf wird betätigt
Motorwelle dreht 100 Schritte nach links
Motorwelle dreht 200 Schritte nach rechts
Motorwelle dreht 100 Schritte nach links
Ausgangsposition wieder erreicht
Meine Fragen:
Wie kann ich mein Vorhaben am besten umsetzen?
Welche Bauteile (Sensoren u.s.w.) benötige ich dazu?
Die Home-Position machst Du mit einem Endschalter, Optischen Sensor oder magnetischen Sensor. Die Positionen fährst Du mittels der Anzahl der Schritte an.
Grüße Uwe
Wo 'Home' wirklich ist, ist egal.
Du machst am Anfang eine Referenz-Fahrt, dabei wird der Home-Taster 'gesucht' - sinnvoll ist Es, wenn sich dieser Taster an einem ENDE befindet, daß der Taster nur 'angefahren', aber nicht 'überfahren' werden kann.
Trotzdem sollte der Taster der Achse nicht im Weg stehen - nennt sich dann eigentlich überfahrbar montiert
Der Druckkopf darf sich aber nicht über den Taster hinaus bewegen KÖNNEN, da dann der Taster wieder gelöst würde und der Arduino nicht wissen kann, auf welcher Seite des Taster der Kopf nun steht.
-> Taster 'überfahrbar' (der Druckkopf beschädigt den Taster nicht und 'dotzt' auch nicht auf Den drauf) an ein Wellenende anbringen, daß der Druckkopf den Taster aber bis zum Wellenende nicht mehr frei gibt.
--> Wenn Taster nicht betätigt ist, musst Du weiter Richtung Taster-Wellenende
--> Wenn der Taster betätigt ist, musst Du von diesem Wellenende wieder weg
Ein recht genau wiederholbarer Punkt ist, wenn Du beim 'vom Taster wieder runter fahren' langsam fährst, bis der Taster wieder schaltet.
So, Du hast Deinen Ref-Punk - wo Dieser letztlich liegt, musst DU messen und in Deinem Projekt eintragen.
Ab JETZT ist dem Arduino bekannt, wo sich der Druckkopf befindet und kann z.B. zur Mitte der Achse Fahren, Deinem Null-Punkt.
Einmalig (ggf. in setup() )
REF-Fahrt
Anfahrt des Null-Punkt
Dann in loop()
Nun bei Tastendruck:
100 Schritte links
200 Schritte rechts
100 Schritte links
warte auf nächsten Tastendruck
(das 'Warte' von der Funktionalität, ein festes while (Taster nicht gedrückt) sollte Da nicht stehen)