INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
A4899 Stepper mit Endlage
08.02.2021, 08:47
Beitrag #1
A4899 Stepper mit Endlage
Hallo Freunde der gepflegten Programmierung,

ich habe folgendes Projekt und komme nicht weiter, daher benötige ich eure Hilfe.
Folgende Bauteile sind verbaut: Arduino uno, CNC Shield V3, a4899 Motortreiber, Nema 17, 1x Taster für Startsignal, 2x Endlagentaster
Im Programm soll folgendes ablaufen:
-solange der Starttaster gedrückt ist soll der Motor in eine beliebige Richtung laufen (on = run, off = stay)
-wird während des laufens ein Endschalter angefahren soll die Richtung gewechselt werden bis der andere Endschalter erneut die Richtung des Motors wechselt (wie ein Pendel)
-(solange man den Starttaster drückt pendelt der Motor zwischen den Endlagen hin und her)
Die Programmierung sieht bis jetzt noch keine Start- oder Endlagenschalter vor wäre nice wenn da jemand von euch eine Idee hätte.
Endlagentaster sollen auf der X- pin 9 und X+ pin 9 liegen
Starttaster auf der xStep pin 2 wenn das geht

unter folgendem Link ist der Code hinterlegt: https://pastebin.com/XkeHhaM8

freue mich über euer Anregungen.

Gruss Horst
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
08.02.2021, 09:19
Beitrag #2
RE: A4899 Stepper mit Endlage
Hallo Horst,
bitte füge deinen Code direkt hier in deinen Post ein. Dazu in der IDE Bearbeiten->'für Forum kopieren' auswählen, und dann hier im Post einfügen.
Ein Link zu deinem Stepper wäre auch nicht schlecht, und Du meinst bestimmt den A4988 Treiber?

Gruß, Franz-Peter
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
08.02.2021, 15:22
Beitrag #3
RE: A4899 Stepper mit Endlage
int stepCounter;
int steps = 1000;

void setup()
{
pinMode(8, OUTPUT); // Enable
pinMode(2, OUTPUT); // Step
pinMode(5, OUTPUT); // Richtung

digitalWrite(6,LOW);
}

void loop()
{
digitalWrite(5,HIGH); // im Uhrzeigersinn

for(stepCounter = 200; stepCounter < steps; stepCounter++)
{
digitalWrite(2,HIGH);
delayMicroseconds(2000);
digitalWrite(2,LOW);
delayMicroseconds(2000);
}
delay(1000);

digitalWrite(5,LOW); // gegen den Uhrzeigersinn

for(stepCounter = 200; stepCounter < steps; stepCounter++)
{
digitalWrite(2,HIGH);
delayMicroseconds(2000);
digitalWrite(2,LOW);
delayMicroseconds(2000);
}
delay(1000);
}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
08.02.2021, 15:28
Beitrag #4
RE: A4899 Stepper mit Endlage
(08.02.2021 09:19)MicroBahner schrieb:  Hallo Horst,
bitte füge deinen Code direkt hier in deinen Post ein. Dazu in der IDE Bearbeiten->'für Forum kopieren' auswählen, und dann hier im Post einfügen.
Ein Link zu deinem Stepper wäre auch nicht schlecht, und Du meinst bestimmt den A4988 Treiber?


A4988 da hast du Recht so ist es.
Ich hatte den Stepper unter folgendem Link erworben.
https://www.amazon.de/Zerone-3D-Drucker-...51&sr=8-26

Gruss
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
08.02.2021, 16:03 (Dieser Beitrag wurde zuletzt bearbeitet: 08.02.2021 16:08 von MicroBahner.)
Beitrag #5
RE: A4899 Stepper mit Endlage
Hallo Horst,
der Hinweis mit 'Für Forum kopieren' war ernst gemeint (kannst Du auch mit einem Rechtsklcik ins Code-Fenster der IDE aufrufen ). Dann sieht das nämlich so aus und ist wesentlich besser zu lesen.:
Code:
int stepCounter;
int steps = 1000;

void setup()
{
  pinMode(8, OUTPUT); // Enable
  pinMode(2, OUTPUT); // Step
  pinMode(5, OUTPUT); // Richtung

  digitalWrite(6, LOW);
}

void loop()
{
  digitalWrite(5, HIGH); // im Uhrzeigersinn

  for (stepCounter = 200; stepCounter < steps; stepCounter++)
  {
    digitalWrite(2, HIGH);
    delayMicroseconds(2000);
    digitalWrite(2, LOW);
    delayMicroseconds(2000);
  }
  delay(1000);

  digitalWrite(5, LOW); // gegen den Uhrzeigersinn

  for (stepCounter = 200; stepCounter < steps; stepCounter++)
  {
    digitalWrite(2, HIGH);
    delayMicroseconds(2000);
    digitalWrite(2, LOW);
    delayMicroseconds(2000);
  }
  delay(1000);
}
( und ctrl-T drücken hilft auch sehr Wink )

(08.02.2021 08:47)Horst-mops schrieb:  Endlagentaster sollen auf der X- pin 9 und X+ pin 9 liegen
Sollen die wirklich auf den gleichen Pin liegen) Das kann nicht ordentlich funktionieren.

Für deine Anwendung, bei der Du jederzeit das Schalten der Endschalter erkennen willst, musst Du lernen, ohne delay() zu programmieren. Entweder Du schaust dir das Beispiel '02.Digital-> BlinkWithoutDelay' in der IDE an, oder Du nutzt meine MobaTools für Zeitverzögerungen ( Beispiele->MobaTools->_Timer->Zeitgeber ). Die MobaTools könnten dir auch bei Ansteuerung des Steppers helfen ( Beispiele->MobaTools->_stepper->Stepper_03 ).
Die MobaTools kannst Du über den Bibliotheksverwalter installiern. Dann kannst Du auch die Beispiele direkt über die IDE aufrufen.

P.S. Auch wenn Du das als Bundle gekauft hast, wenn die Daten des Steppers so stimmen wie es in dem Amazon Link steht, dann passt der nicht wirklich zu dem A4988.

Gruß, Franz-Peter
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
08.02.2021, 16:48
Beitrag #6
RE: A4899 Stepper mit Endlage
@Franz Peter, der Motor läuft perfekt, an dem Zusammenspiel mit dem A988 sehe ich keine Probleme. Die Endlagensignale können auch auf x+ und y+ programmiert werden. Das wäre nicht das Problem. Bloß wie muss es in den Code rein? Habe fast alles versucht. Daher bin ich hier.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
08.02.2021, 17:16
Beitrag #7
RE: A4899 Stepper mit Endlage
(08.02.2021 16:48)Horst-mops schrieb:  der Motor läuft perfekt, an dem Zusammenspiel mit dem A988 sehe ich keine Probleme.
Ja, der läuft schon. Aber das, wozu der A4988 eigentlich da ist, nämlich das Drehmoment auch bei höheren Drehzahlen aufrecht zu erhalten, kann er mit diesem Motor nicht erreichen. Da hätte es auch eine einfache H-Brücke getan. Ich weis ja nicht, was Du da vorhast. Vielleicht ist es für deine Anwendung ja auch egal.

(08.02.2021 16:48)Horst-mops schrieb:  Die Endlagensignale können auch auf x+ und y+ programmiert werden. Das wäre nicht das Problem.
Dies x+ x- , sind das Bezeichnungen an deinem Shield? Im Sketch brauchst Du aber die Pinnummern. Hast Du da die entsprechende Umsetztabelle? Ich kann mir eigentlich nicht vorstellen, dass da 2 verschieden Anschlüsse ( x+ x- ) an den gleichen Pin gehen.

(08.02.2021 16:48)Horst-mops schrieb:  Bloß wie muss es in den Code rein?
Wie geschrieben, musst Du dich dazu mit blockadefreier Programmierung befassen. Sonst wird das nichts.
Hast Du mal in die Beispiele geschaut, die ich dir genannt habe?

(08.02.2021 16:48)Horst-mops schrieb:  Habe fast alles versucht. Daher bin ich hier.
Was ist 'fast alles versucht'? Dann zeige mal einen Versuch.

Gruß, Franz-Peter
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
08.02.2021, 18:16 (Dieser Beitrag wurde zuletzt bearbeitet: 08.02.2021 18:17 von Horst-mops.)
Beitrag #8
RE: A4899 Stepper mit Endlage
Hallo Franz Peter
Das Drehmoment wird nicht benötigt für mein Projekt.
X+ und x- ja sind beide an einem Pin auf dem shield Pinbelegung, x+ und x- haben Pin 9 auf dem Uno.
Y+ und y- sitzen auf dem Pin 10. das wären die Endlagenschalter.
Sorry meine Versuche sind wild durcheinander geschriebene Codes die kein Sinn ergeben.
Ich habe das Programmieren leider nicht gelernt und kaum Grundkenntnisse.
Deshalb frage ich euch.
Danke für den Hinweis auf blockadefreie Programmierung leider sind es nur Bömische Wälder für mich.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Arduino+Motorshield l293d+Stepper+HC05 Ferdl63 8 588 08.03.2021 16:14
Letzter Beitrag: MicroBahner
  Ramps 1.4 mit #Accel Stepper Steuerung per Serial Monitor Arduino DMX Master 14 2.077 12.08.2020 15:26
Letzter Beitrag: Arduino DMX Master
  Stepper Motor mit zwei Taster bedienen / Fehler ohne Fehlermeldung Milano 6 1.524 21.03.2020 16:06
Letzter Beitrag: MicroBahner
  Stepper Steuerung mit Taster und Endschalter Milano 10 3.761 27.02.2020 14:34
Letzter Beitrag: hotsystems
  Kennt jemand einen Stepper Closed Loop Sketch? Holzwurm56 16 4.689 17.06.2019 22:37
Letzter Beitrag: georg01
  Motorgeschwindigkeit (Stepper) per Poti metal-shot 1 2.037 10.01.2019 21:14
Letzter Beitrag: Tommy56
  Stepper und Servo ? Lanzet3 31 6.599 28.12.2018 15:09
Letzter Beitrag: MicroBahner
  Per Tastendruck Stepper-Motor eine bestimmte Drehung machen lassen Chef_2 2 2.181 09.10.2018 21:59
Letzter Beitrag: Chef_2
  Stepper Bibliothek mit Stepp und Dir Motoransteuerung dl3ad 4 2.918 10.07.2018 13:06
Letzter Beitrag: dl3ad
  Stepper Motor (Ansteuerung) pm96 6 3.097 30.06.2018 20:29
Letzter Beitrag: pm96

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste