Hallo zusammen,bin noch Anfänger mit 55 und tu mich schwer mit den ganzen Begriffen.Ich glaube ich lern das nicht mehr,sorry.
Also ich möchte eine Schleifmaschine für Eishockeyskates bauen.Die Führung mit einem Nema23 ist ca 50cm lang und darauf befindet sich ein kleiner Gleichstrommotor der mit 24V läuft.Mein Problem ist das der Motor auf der Führung nicht ganz an das rechte und linke Ende fährt.Das hängt wohl mit der Drehrate des Nema zusammen.Mir fehlen eben 14cm Fahrweg insgesamt.So nun kann ich des Sketch ja so programmieren das der Motor über die ganze länge fährt und dann aber anschlagen würde.Da helfen wohl nur Endschalter.Hab das mit einer Gabellichtschranke( TCST2103 ) probiert doch die zeigt keine Reaktion.
Als Test habe ich eine Led an 13 des Arduino gesteckt und die leuchtet auch auf wenn ich die Lichtschranke mir einem Stück Papier teste,aber leider kümmert das den Nema nicht.
Also nochmal.
Motor soll einmal nach rechts die ganze Länge fahren dann an Endschalter und gleich wieder zurück an Anfang und stehen bleiben.
Hoffe es kann mir jemand helfen danke.
int sensorPin = A2;
int ledPin = 13;
int tasterPin = 11;
int Index;
Void setup ()
int sensorPin = 2;
int ledPin = 13;
int tasterPin = 11;
int Index;
void setup() {
pinMode(ledPin, OUTPUT);
pinMode(sensorPin, INPUT_PULLUP);
pinMode(6, OUTPUT); //Enable
pinMode(5, OUTPUT); //Puls
pinMode(4, OUTPUT); //Direction
pinMode(tasterPin, INPUT);
Serial.begin(9600);
attachInterrupt(0, Endschalter, FALLING); // Interrupt0 wird bei fallender Flanke auf Pin2
}
void loop() {
digitalWrite(ledPin, LOW);
if (digitalRead(tasterPin) == HIGH) {
digitalWrite(4, LOW);
for (Index = 0; Index < 31000; Index++)
{
digitalWrite(5, HIGH);
delayMicroseconds(300);
digitalWrite(5, LOW);
delayMicroseconds(300);
}
delay(1000);
}
}
void Endschalter () {
digitalWrite(ledPin, HIGH);
digitalWrite(4, HIGH);
for (Index = 0; Index < 31000; Index++)
{
digitalWrite(5, HIGH);
delayMicroseconds(500);
digitalWrite(5, LOW);
delayMicroseconds(500);
}
delay(1000);[code]