Forum: Mikrocontroller und Digitale Elektronik Problem mit der AccelStepper Bibliothek


von derferdige (Gast)


Lesenswert?

Hallo zusammen,

ich versuche die AccelStepper Library für Arduino zu verwenden, 
allerdings habe ich seit Stunden ein Problem bei dem ich nicht weiter 
komme.
Ich habe ein kleines Programm geschrieben um mich mit der Funktionsweise 
vertraut zu machen. Das Programm soll einfach nur bewirken, dass der 
Motor Punkte abfährt, die in einem Array hinterlegt sind. Allerdings 
fährt der Schrittmotor lediglich dauerhaft in eine Richtung.
Hier ist mein Quelltext:
1
#include <AccelStepper.h>
2
#include <Wire.h>
3
#include <Adafruit_MotorShield.h>
4
#include "utility/Adafruit_PWMServoDriver.h"
5
#include <Adafruit_MCP23017.h>
6
7
Adafruit_MotorShield AFMS(0x60); // Default address, no jumpers
8
9
Adafruit_StepperMotor *myStepper1 = AFMS.getStepper(200, 1);
10
float v = 100;
11
12
// wrappers for the first motor!
13
void forwardstep1() { 
14
  myStepper1->onestep(FORWARD, DOUBLE);
15
}
16
void backwardstep1() { 
17
  myStepper1->onestep(BACKWARD, DOUBLE);
18
}
19
20
AccelStepper stepper1(forwardstep1, backwardstep1);
21
22
signed long path[4]={10, -10, 10, -10};
23
                       
24
void setup()
25
{ 
26
  AFMS.begin(); // Start the top shield
27
  stepper1.setCurrentPosition(0);
28
}
29
30
void loop()
31
{
32
  int i;
33
  signed long x;
34
  for(i=0; i<4; i++){
35
    x = path[i];
36
    stepper1.setSpeed(v);
37
    stepper1.move(x);
38
    while(stepper1.distanceToGo() != 0){
39
      stepper1.runSpeed();
40
    }
41
  }
42
}

Wäre super, wenn mir jemand weiterhelfen könnte!

von Noch einer (Gast)


Lesenswert?

Eine Platine mit Step/Dir Eingängen? Hast du schon geschaut, was 
wirklich auf den Eingängen der Treiberplatine ankommt? Z.B. mit LEDs und 
sehr langsamen Schritten?

von derferdige (Gast)


Lesenswert?

Ich verwende das Adafruit Motor Shield V2.3. Beispielprogramme haben 
problemlos funktioniert. Ich scheiter nur daran, dass der Motor eine 
gewisse Schrittanzahl fährt und dann stehen bleibt, bzw. in eine andere 
Richtung fährt (mit der Funktion move).

von Peter X. (peter_x)


Lesenswert?

derferdige schrieb:
> ich versuche die AccelStepper Library für Arduino zu verwenden,
> allerdings habe ich seit Stunden ein Problem bei dem ich nicht weiter
> komme.

Vielleicht liegen deine Fähigkeiten ganz woanders?

von derferdige (Gast)


Lesenswert?

Peter Xuang schrieb:
> derferdige schrieb:
>> ich versuche die AccelStepper Library für Arduino zu verwenden,
>> allerdings habe ich seit Stunden ein Problem bei dem ich nicht weiter
>> komme.
>
> Vielleicht liegen deine Fähigkeiten ganz woanders?

Danke für diesen hilfreichen Beitrag!
Vielleicht liegen deine Fähigkeiten nicht darin anderen Leuten in Foren 
weiterzuhelfen...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.