Ich baue mir gerade eine Mechanik mit 4 Motoren.(Nema17)
Ich habe gerade erste Test mit einem Arduino(KeeYees) und einem CNC-Shield gemacht.
( Ich hab die 4 Achse nicht zum laufen gekriegt )
Jetzt hab ich das CNC-Shield geschrottet weil ich mit Ein und Ausgängen experimentiert habe.
Welche neue Hardware würdet Ihr für 4 Motoren empfehlen
Ein paar mehr Infos bräuchte man schon. Vor allem ein Link zu den Motoren. Nema17 sagt nur was über die Mechanik, aber nichts über die elektrischen Eigenschaften. Und was war denn dein Problem mit dem CNC-Shield? Und welches überhaupt ( auch da wäre ein Link am Besten ).
Ich hatte es geschafft dass die Motoren sich nacheinander in beide Richtungen gedreht hatten.
( Einfacher Code im Arduino )
Dann hab ich versucht Endschalter anzuschliessen.
Da ich keine Ahnung hab dachte ich ich kann es ausprobieren... ( blöde Idee )
Jetzt geht es mir in erster Line nur darum welche neue Hardware ich kaufen soll.
4 Motoren 2 davon müssen sich auch gleichzeitig bewegen.
Es soll ja eine Kartenmischelmaschine werden.
Zuerst werden die Karten vereinzelt und in die Zwischenablage geschoben und gezählt.
Da werden Sie über einen Zufallsgenerator in das Entnahmefach ausgeworfen.
Jeder billige 3D Drucker hat einen Arduino Mega mit einem CNC Shield für 4 Motoren. und kann wenigstens 3 gleichzeitig ansteuern (x, y, Materialvorschub) Z kann angesteuert werden wenn die anderen 3 still stehen.
Ich glaube nicht daß alle 4 Motore der Kartenmischnaschiene wirklich gleichzeitig drehen müssen sondern in einer gewissen Sequenz. Darum sehe ich das als machbar.
Ob Du oder ich das softwaremäßig zusammenbekommen ist eine andere Sache. Ich halte mich als keinen guten C Programmierer.
( Ich hab die 4 Achse nicht zum laufen gekriegt )
Was heißt das? beschreibe die Symtome genauer. Zeig uns den Sketch.
void step(boolean dir, byte dirPin, byte stepperPin, int steps)
{
digitalWrite(dirPin, dir);
delay(200);
for (int i=0; i < steps; i++)
{
digitalWrite(stepperPin, HIGH);
delayMicroseconds(stepDelay);
digitalWrite(stepperPin, LOW);
delayMicroseconds(stepDelay);
}
}
Wie willst Du eine Gleichzeitigkeit erreichen wenn Du als erstes 0,2 Sekunden wartest und dann stur in einer Schleife die Schrittanzahl abarbeitest?
Du hast noch nicht gesagt wie sich Dein Problem äußert.
Grüße Uwe
Ich denke dieser Code ist sehr Laienhaft... sorry
aber ich mach das zum ersten mal.
für Verbesserungen wäre ich ebenfalls dankbar.
zur Zeit möchte ich dass der Motor eine Grundstellung anfährt.
Ich weiss aber nicht wie und wo ich den 3poligen Endschalter auf das 2polige CNC-Shield (X+Endstop) anschliesse bzw wie ich es im Code anspreche.
Ich bin noch weit weg davon 2 Motoren gleichzeitig anzusteuern.
Zur Zeit versuche ich zu lernen und zu verstehen wie so ein Code funktioniert.
Meine erste Frage war ob ich mit dieser Hardware überhaupt eine Chance habe mein Vorhaben umzusetzen.
schpau:
Ich weiss aber nicht wie und wo ich den 3poligen Endschalter auf das 2polige CNC-Shield (X+Endstop) anschliesse bzw wie ich es im Code anspreche.
Dann wird dein Endschalter ein 'Umschalter' sein. Du brauchst aber nur einen der Kontakte verwenden ( den Schließer oder den Öffner ). Am einfachsten verbindest Du den Schalter auf der einen Seite mit Gnd, und den anderen Kontakt verbindest Du mit dem entsprechenden Eingang. Diesen Pin initiierst Du dann mit pinMode( pinr, INPUT_PULLUP).
Zur Ansteuerung der Schrittmotore kannst Du die MobaTools verwenden. Die können 4 Schrittmotore gleichzeitig ansteuern.