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();
}