AccelStepper library / aktuelle Motorposition

Hallo zusammen,
ich habe ein Arduino Projekt mit einem Schrittmotor. Dazu habe ich die AccelStepper.h library eingebunden.
Mein Problem ist folgendes:

  • ich fahre den Schrittmotor auf einen Endschalter und stoppe diesen anschließend
  • dann setze ich die aktuelle Motorposition auf 0 (Referenz)
  • anschließend verfahre ich den Schrittmotor um 200 Schritte (Grundstellung)

Mit dieser Position (200) möchte ich nun weiterarbeiten, es wird jedoch die Motorposition nach “stepper.rungToPosition()” bzw. in “lcd.print(currentMotorPosition)” als NULL ausgegeben.

Kann mir jemand sagen warum die Motorposition nach dem verfahren der 200 Schritte auf NULL gesetzt wird? Das kann ich nicht nachvollziehen…..

DANKE für die Unterstützung

  if (digitalRead(HOME_SENSOR_PIN) == HIGH) {
      Serial.println("Home=HIGH");
      Serial.println("Home sensor triggered.");
      stepper.stop(); // Stop Motor
      delay(100); // Pause
      stepper.setCurrentPosition(MOTOR_HOME_OFFSET_STEPS); // Setzt die aktuelle Motorposition auf 0
      currentMotorPosition = MOTOR_HOME_OFFSET_STEPS;
      delay(100); // Pause
      targetMotorPosition = 200; // 1 Umdrehung, gegen den Uhrzeigersinn Ventil öffnen
      stepper.moveTo(targetMotorPosition); // Fahre auf Position 200
      stepper.runToPosition(); // Fahrbefehl
      lcd.print(currentMotorPosition); // An dieser Stelle wird immer die Motorposition 0 ausgegeben WARUM??
      delay(5000);
      lcd.clear();
    }

Hier setzt Du die Variable auf die 0 (Position)

Hier gibst Du den Inhalt der Variablen aus.

Da die Variable noch immer 0 ist, wird Dir 0 ausgegeben.

versuch mal:

      lcd.print(stepper.currentPosition()); // An dieser Stelle wird immer die Motorposition 0 ausgegeben WARUM??

DANKE @my_xy_projekt das hatte ich komplett übersehen. Habe wirklich lange herumprobiert :sweat_smile:

MERCY!!!

Du kannst natürlich die Funktion nutzen und damit Deine Variable füllen.
Achte darauf, dass die Werte vom Typ long sind.
Und wenns die Lösung war, stell den auf gelöst :slight_smile:
Viel Spass.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.