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