Hallo zusammen. ich habe hier folgende Teile: - einen Schrittmotor 34HS1456 (http://i01.i.aliimg.com/img/pb/991/085/441/441085991_523.jpg) - Steuerung DM860 (http://file.siam2web.com/cnctak/product/2012826_23753.jpg) - Arduino Uno - Netzteil Ausgang: 60VDC Ich möchte über lange Zeit eine Bewegung machen mit X Schritten in die eine Richtung und X Schritten in die andere Richtung. Das Problem ist, das ich bereits nach kurzer Zeit einen Versatz habe. Das bedeutet, dass er vorwärts weniger schritte wie rückwärts macht. Woran könnte denn das liegen??? Ist die Geschwindigkeit zu hoch? Folgende Verdrahtung: Arduino Pin 11 --> DM860 Pin DIR- Arduino Pin 6 --> DM860 Pin PUL- Arduino 5V --> DM860 an Pin PUL+ und DIR+ Die DIP Schalter sind wie folgt angeschlossen. 1: OFF 2: OFF 3: OFF 4: OFF 5: ON 6: ON 7: ON 8: ON
1 | // include stepper library |
2 | #include <Stepper.h> |
3 | |
4 | const int stepsPerRevolution = 200; // Nema17 motor has 200 steps in 360 degrees rotation |
5 | |
6 | // initialize the stepper library on pins 8 through 11: |
7 | Stepper myStepper(stepsPerRevolution, 8, 6, 10, 11); // pins 8,9 go to PULL+ & PULL- , pins 10,11 go to DIR+ & DIR- |
8 | int stepCount = 0; |
9 | |
10 | void setup() { |
11 | // set the speed at 60 rpm: |
12 | myStepper.setSpeed(1400); //2600max |
13 | // initialize the serial port: |
14 | Serial.begin(9600); |
15 | delay(10000); |
16 | } |
17 | |
18 | |
19 | void loop() { |
20 | for (int x = 0; x <=800; x++){ |
21 | myStepper.step(1); //gegen Uhrzeigersinn |
22 | } |
23 | delay(500); |
24 | for (int x = 0; x <=800; x++){ |
25 | myStepper.step(-1); |
26 | } |
27 | delay(500); |
28 | } |
Vielen Dank :-)