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
Start + Stop Tasten für Schrittmotor
05.08.2013, 15:59
Beitrag #1
Start + Stop Tasten für Schrittmotor
Guten Tag ich bin gerade neu hier im Arduino Forum.
Ich bin noch neu in der Arduino Welt habe aber dennoch schon eine Frage.
Ich habe momentan ein Projekt mit 2 Tastern und einen Schrittmotor.
Gesteuert wird das ganze über ein Arduino Mega und ein Adafruid Motor Shield.
Nun mein Problem ich schaffe es zwar mit dem Start Taster das der Motor seine 150 Schritte mach will aber als Notaus bzw endlage einen Stop Taster haben.
Wenn nun der Motor anläuft will ich ihn über ein anderen Taster vorzeitig stoppen können.

mein Code:

#include <AFMotor.h>

AF_Stepper motor(200, 1);
int Taster1 = 52; // Taster1 - wird an Pin 52 initialisiert
int TasterStatus52;
int Taster2 = 50; // Taster2 - wird an Pin 50 initialisiert
int TasterStatus50;

void setup()
{
pinMode(Taster1, INPUT); // Taste1 - Pin 52 als Eingang
pinMode(Taster2, INPUT); // Taste1 - Pin 52 als Eingang
Serial.begin(9600); // set up Serial library at 9600 bps
Serial.println("Stepper test!");

motor.setSpeed(30); // 10 rpm

}

void loop()
{
TasterStatus50 = digitalRead(Taster2);
if (TasterStatus50 == HIGH)
{
motor.step(150, BACKWARD, DOUBLE);

TasterStatus52 = digitalRead(Taster1);
if(TasterStatus52 == HIGH)

motor.release();
}

Hoffe mir kann Jemand helfen das wäre echt super!!
Vielen Dank im Vorraus.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
17.08.2013, 16:17
Beitrag #2
RE: Start + Stop Tasten für Schrittmotor
Moin,
bei deinem Problem wirds nicht so einfach ;-(
Beschreibung der Library sagt:
>>>This function is blocking; that is, it will wait until the motor has finished moving to pass control to the next line in your sketch.<<<
In Deutsch: wenn die Funktion einmal gestartet ist, blockiert sie den Programmablauf bis die "Aufgabe" erfüllt ist ;-(
Was dir weiterhelfen könnte sind Interrupts. Schau mal hier:

http://popovic.info/html/arduino/arduino...Interrupts

Grüße Ricardo
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
26.08.2013, 19:11 (Dieser Beitrag wurde zuletzt bearbeitet: 26.08.2013 19:13 von arduzo.)
Beitrag #3
RE: Start + Stop Tasten für Schrittmotor
(17.08.2013 16:17)rkuehle schrieb:  Moin,
bei deinem Problem wirds nicht so einfach ;-(
Beschreibung der Library sagt:
>>>This function is blocking; that is, it will wait until the motor has finished moving to pass control to the next line in your sketch.<<<
In Deutsch: wenn die Funktion einmal gestartet ist, blockiert sie den Programmablauf bis die "Aufgabe" erfüllt ist ;-(
Was dir weiterhelfen könnte sind Interrupts. Schau mal hier:

http://popovic.info/html/arduino/arduino...Interrupts

Grüße Ricardo

Hi Ricardo,
ich denke, dass sollte doch klappen. Ich hab das nämlich auch gerade gemacht Smile Bei mir fragt ein Taster den Linksanschlag eines Potis ab. Wenn der Arduino startet lasse ich den Stepper solange nach links laufen, bis der Schalter geschlossen wird und stoppe ihn dann. Das ganze geht mit der "AccelStepper.h" Library. Hier mal ein Auszug aus meinem Code...
Code:
//Initial Stepper Setting: Turn Poti to left position und set the everything to zero
void init_pot1(){
    while (stepper2.distanceToGo() != set_zero) {
     // read the state of the pushbutton value:
    buttonState = digitalRead(buttonPin);

   // check if the pushbutton is pressed.
   // if it is, the buttonState is HIGH:
   if (buttonState == LOW) {    
   stepper2.run();
  }
  else {
  set_zero = stepper2.distanceToGo();
initial = true;
stepper2.setCurrentPosition(0);
  }
    }
   stepper2.disableOutputs();
}

Viele Grüße
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
27.08.2013, 17:51
Beitrag #4
RE: Start + Stop Tasten für Schrittmotor
Ach ja, da hat der alte Sack Ricardo wieder mal nicht alles gelesen!
Na klar, die Idee mit dem Taster ist natürlich die Lösung.

Allerdings würde ich zwei Sachen an deinem Code anders machen:
1. Ich würde die Abfrage des Buttonstatus vor die Distanzabfrage setzen.
Sonst mach doch der Motor unter Umständen einen Schritt zu viel oder?
Das if also vor das while?!
2. Wie präzise schaltet der Button? Da er ja ein mechanisches Teil ist würde ich ihn mit der Bounce Library entprellen. Wie gesagt, hängt von der Präzision des Tasters ab.

Hope it helps!

Grüße Ricardo
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Haltestrom Schrittmotor reduzieren TimF 3 345 24.10.2016 12:33
Letzter Beitrag: Binatone
  Schrittmotor Clemens55555 9 748 25.08.2016 10:15
Letzter Beitrag: Binatone
  4 Tasten für 4 Laufzeiten des gleichen Programms Nimes 8 363 18.07.2016 16:32
Letzter Beitrag: Scheams
  2 Tasten drücken damit licht angeht tjard 11 543 19.06.2016 12:24
Letzter Beitrag: hotsystems
  Schrittmotor soll auf Tasterdruck bis zum Endschalter fahren Wurstbemme 11 1.593 08.01.2016 11:56
Letzter Beitrag: hotsystems
  Piezosummer und Schrittmotor Gilbert Neon 0 359 20.12.2015 15:40
Letzter Beitrag: Gilbert Neon
  Problem mit 2 Potis und Schrittmotor Sven90 1 767 24.09.2015 10:19
Letzter Beitrag: Bitklopfer
  SainSmart 1602 LCD Keypad Shield Modul Display Tasten Rossy 20 3.050 08.08.2015 12:44
Letzter Beitrag: hotsystems
  Schrittmotor Problem mit LCD Thrillhouse 3 854 30.07.2015 19:55
Letzter Beitrag: hotsystems
  Hilfe ist gefragt bei einem Schrittmotor tsmoke13 7 1.207 02.06.2015 15:05
Letzter Beitrag: Bitklopfer

Gehe zu:


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