Step Motor - Boxtec Playground
Transcription
Step Motor - Boxtec Playground
2015/01/25 13:02 1/2 Step Motor ⇒HelvePic32 Step Motor Statt eines Servos kann man auch einen Schrittmotor anschließen. Für den Test verwenden wir den weit verbreiteten 28BYJ-48 in der 5V Ausführung und den günstigen ULN2003 Treiber: Da die Anschlusskabel oft variieren, ist die Motorbeschaltung auch gezeichnet. Der Code kann ohne Veränderung vom Arduino übernommen werden: /* #define #define uint8_t pins of Based on Stepper exemple V1.01 11/30/2013 by terry@yourduino.com */ LEFT 0 RIGHT 1 nP[2][8] = {{0,17, 9,10,11,12,13,14},{18,17, 1, 2, 3, 6, 7, 8}}; // version 1.0 using DP32 bootloader #include <AccelStepper.h> #define FULLSTEP 4 #define HALFSTEP 8 // motor pins #define motorPin1 nP[RIGHT][3] #define motorPin2 nP[RIGHT][2] #define motorPin3 nP[RIGHT][1] #define motorPin4 nP[RIGHT][0] // Blue - 28BYJ48 pin 1 // Pink - 28BYJ48 pin 2 // Yellow - 28BYJ48 pin 3 // Orange - 28BYJ48 pin 4 // Red - 28BYJ48 pin 5 (VCC) // NOTE: The sequence 1-3-2-4 is required for proper sequencing of 28BYJ48 AccelStepper stepper1(HALFSTEP, motorPin1, motorPin3, motorPin2, motorPin4); void setup() Boxtec Playground - http://playground.boxtec.ch/ Last update: 2015/01/25 01:29 helvepic32:bspstepper:start http://playground.boxtec.ch/doku.php/helvepic32/bspstepper/start { stepper1.setMaxSpeed(1000.0); stepper1.setAcceleration(50.0); stepper1.setSpeed(200); stepper1.moveTo(2048); // 1 revolution } void loop() { //Change direction at the limits if (stepper1.distanceToGo() == 0) stepper1.moveTo(-stepper1. currentPosition()); stepper1.run(); } Warnung: Ein Schrittmotor zieht recht viel Strom, so dass die USB Versorgung gegebenenfalls durch eine stärkere Stromversorgung ersetzt werden muss. Der ULN2003 kann auch 12V schalten. ⇒HelvePic32 From: http://playground.boxtec.ch/ - Boxtec Playground Permanent link: http://playground.boxtec.ch/doku.php/helvepic32/bspstepper/start Last update: 2015/01/25 01:29 http://playground.boxtec.ch/ Printed on 2015/01/25 13:02