Schau mal hier: http://www.chemshapes.com/?p=410 da musst Du Dich ein bischen belesen...und vielleicht mal nach "arduino + Pololu a4988" googlen findest garantiert was
Schau mal hier: http://www.chemshapes.com/?p=410 da musst Du Dich ein bischen belesen...und vielleicht mal nach "arduino + Pololu a4988" googlen findest garantiert was
Arduinos, STK-500(AVR), EasyPIC-40, PICKIT 3 & MPLABX-IDE , Linux Mint
GAAANZ Wichtig!!!
Den Pololu Treiber erst mit Spannung versorgen wenn ein Motor angeschlossen ist!! Ansonsten löst der sich sofort in Rauch auf.
Ansonsten:
Arduino mit Spannung versorgen (Buchse oder USB) -
vom Arduino +5V und Gnd zum Treiber Vdd (+5V) und Gnd -
vom Arduino Digital 01 zum Treiber DIR -
vom Arduino Digital 02 zum Treiber STEP -
Treiber Brücke von sleep zu reset -
Treiber Schrittmotor anschließen -
Treiber Spannungsversorgung für Schrittmotor anschließen -
Fertig -
Im Programm erst mal dauerhaft Digital 01 auf High oder Low setzen -
und Digital 02 toggeln (ständiges wechseln von High auf Low) -
/*
Schrittmotor
alle 200ms ein Schritt in eine Richtung.
This example code is in the public domain.
*/
void setup() {
// setzen der Digitalpins 1 und 2 als Ausgang.
pinMode(1, OUTPUT);
pinMode(2, OUTPUT);
}
void loop() {
digitalWrite(1, HIGH); // +5V an Pin D1
digitalWrite(2, HIGH); // +5V an Pin D2
delay(100); // warte eine zehntel Sekunde
digitalWrite(2, LOW); // Gnd an Pin D2
delay(100); // warte eine zehntel Sekunde
}
wenn alles richtig ist dreht sich der Motor in eine Richtung
Hey,
danke an alle, vor allem an Dich, Dussel07!
Deine Hilfe hat mir am meisten geholfen und somit wollte ich das Wissen gleich in die Tat umsetzen und habe eine Platine für den Pololu gezeichnet und anschließend gefräst.
Die nächsten, nahelegenden Tage wird der Motor dann getestet.
Ich werde wohl diesen Thread in einen kleinen Baubericht-Thread umwandeln.
Hier die Bilder:
Frooohes Neues und einen freundlichen Gruß
Simon
Hey,
der Motor läuft perfekt.
Gibt es eine Möglichkeit den Motor schneller drehen zu lassen?
Ich habe bisher den Wert von delay von 100 auf 1 geändert.
Vielen Dank an euch, bei Neuigkeiten werde ich diese hier berichten.
Hier ein paar Bilder der Platine (Lötanfänger) und vom gesamten System.
Freundlicher Gruß
Simon
Geändert von Sim0n (02.01.2012 um 12:53 Uhr)
Hey,
bevor ich einen neuen Thread aufmache, wollte ich euch fragen, ob mein Arduino mit dem folgenden Display:
http://www.pollin.de/shop/dt/MTEzOTc...C1604A_04.html
kooperiert?
Würde mich sehr auf Eure Antworten freuen![]()
Natürlich kannst Du dieses LCD mit dem Arduino ansteuern, nur wird es auch einige Ports belegen die Du dann nicht für andere Sachen zur Verfügung hast. Es geht aber einen I2C oder Seriellen Adapter dazwischen zu schalten, bzw an das LCD zu löten sind meist passend so gebaut. Damit sparst Du dann ein paar Ports am Ardu ein, um sie anderwärtig verwenden zu können.
Gruss Gerhard
Arduinos, STK-500(AVR), EasyPIC-40, PICKIT 3 & MPLABX-IDE , Linux Mint
Wieso eigendlich dieses ? Das ist doch mal ganz natürlich das mal keine Last am Ausgang vorhanden sein kann, entweder ist das eine Verkaufspolitik oder in meinen Augen eine irreale Schaltungsweise des Treiberbausteins. Ich kann mir nicht denken das ein Chip das Zeiliche segnet nur weil er unbelastet mit Betriebs- bzw. Motorspannung versehen wird.
Gerhard
Arduinos, STK-500(AVR), EasyPIC-40, PICKIT 3 & MPLABX-IDE , Linux Mint
Hallo Sim0n,
hab da eigentlich vor kurzem was ähnliches gemacht, ein Shield für 3x 4988:
Sieht leider nicht so schön aus, da nicht gefräst, sondern die Leiterbahnen von Hand ausgeschnitten.
Hab aber die Platinchen steckbar gemacht und unter ihnen die Logik-Spannungsversorgung mit 78L05.
Mittlerweile hab ich den UNO durch ein "Metaboard" von komputer.de ersetzt (ohne USB, nur LM7805,ATMega328,und Buchsenlesiten), sodass ich den UNO für andere Sachen wieder
frei habe. Wollte die A4988 eigentlich mit 1/8 Step betreiben, hab aber den Eindruck, dass das nicht funktioniert.
Gruss mausi_mick
Geändert von mausi_mick (14.04.2012 um 13:55 Uhr)
Hi, eine ganz doofe Frage ich habe folgenden Sketch benutzt. Der Motor dreht sich nun 1 Milisekunde rechts....Pause....und 1 Milisekunde links. Wie kriege ich es hin, dass sich der Motor länger in die eine Richtung und dann länger in die andere Richtung dreht?
Ich weiß, dass das für euch alle wahrscheinlich sehr simpel ist. Würde mich sehr freuen....
/*
Schrittmotor
alle 200ms ein Schritt in eine Richtung.
This example code is in the public domain.
*/
void setup() {
// setzen der Digitalpins 1 und 2 als Ausgang.
pinMode(1, OUTPUT);
pinMode(2, OUTPUT);
}
void loop() {
digitalWrite(1, HIGH); // +5V an Pin D1
digitalWrite(2, HIGH); // +5V an Pin D2
delay(100); // warte eine zehntel Sekunde
digitalWrite(2, LOW); // Gnd an Pin D2
delay(100); // warte eine zehntel Sekunde
}
Du hast die Kabel vertauscht -
Pin 1 muß an Richtung
Pin 2 an Tackt
digitalWrite(1, HIGH); // +5V an Pin D1 läßt den Motor in eine Richtung drehen, dauerhaft
digitalWrite(1, LOW); // Gnd an Pin D1 läßt ihn in die andere Richtung drehen, dauerhaft
Dann wird in der Schleife Pin 2 dauerhaft getoggelt (umgeschaltet von +5V auf Gnd und zurück)
Dieser Wechsel ist der Tackt in dem der Motor dreht.
digitalWrite(2, HIGH); // +5V an Pin D2
delay(100); // warte eine zehntel Sekunde
digitalWrite(2, LOW); // Gnd an Pin D2
delay(100); // warte eine zehntel Sekunde
Wenn Du die delayzeit verkleinerst dreht der Motor schneller
wenn Du sie vergrößerst dreht er langsamer - - -
Lesezeichen