STEP Signal durchschleifen

Hallo zusammen,

ich möchte mit einem Controllino gerne einen Schrittmotor ansteuern.
Das funktioniert sauber und ist auch kein Problem.

Nun möchte ich aber auch einen externen (STEP) Signalgeber zusätzlich verwenden.
Also einen Motor / Treiber mit dem Controllino ansteuern und auch mit dem externen Signalgeber (nicht gleichzeitig).

Nun das Problem:
Der externe Signalgeber ist eine CNC Steuerung die ein Signalpegel von -2.5V bis 2.5V ausgibt, also zuwenig, dass der Controllino ein HIGH erkennt. Daher Schalte ich mit diesem Signal einen Optokoppler der wieder ein 5V Signal an den Controllino Eingang sendet.
Soweit so gut.

Nun ist es aber so, dass der Motor sauber läuft wenn ich STEP direkt über den Controllino schalter aber nicht wenn ich den externen Controller verwende.

Dazu schleife ich das Signal wie folgt durch:
digitalWrite(STEP_AUSGANGSSIGNAL, digitalRead(STEP_EINGANGSIGNAL));

Der Treiber steht nur auf 1600 Steps / Umdrehung.

Mit Serial.begin(), läuft das ganze noch schlechter, kommentiere ich es aus geht es schon besser, vermutlich ist das Script sonst zu langsam.

wenn ich das ganze wie folgt in eine while Schleife packe läuft es noch besser:

while(digitalRead(STEP_EINGANGSIGNAL))){
  digitalWrite(STEP_AUSGANGSSIGNAL, digitalRead(STEP_EINGANGSIGNAL));
}

Irgendwie geht mit beim durchschleifen was verloren, entweder ist das mit dem Optokoppler nicht gut gelöst (2.5V Signal Problem) oder der Code zum durschschleifen ist schlecht....

Jemand eine Idee oder Tipp ?

Welche CNC Steuerung gibt ein Differenzsignal von -2.5/2.5V aus?

Ne Chinasteuerung... bin aufgrund anderer Umstände leider daran gebunden....

TTL würde auch gehen aber da kapiere ich nicht so wirklich wie ich das an den Controllino anschließen soll - kann zwar programmieren aber bin jetzt kein Elektroniker...

Siehe Anhang

Also wenn das Signal wirklich einfach nur 1 zu 1 durchgeschleift wird.
Dann mach das doch rein hardware-mäßig.

Also gar nicht erst in ein Programm einlesen und dann wieder was ausgeben,
sondern hardware-Signalpegel-Wandler plus

Ein Relais mit Umschaltkontalt (Quasi der Ausgang)
Der "Mittelkontakt" des Relais wird mit dem Stepeingang des Schrittmotortreibers verbunden.

Ein Kontakt wird mit dem Arduino verbunden
der andere Kontakt mit dem angepassten CNC-Signal

Der Arduino steuert dann das Relais je nach Bedarf auf den IO-pin oder das externe CNC-Signal.

Evtl. kann man das auch über einen Multiplexer-Logik-IC rein elektronisch machen.

Was am meisten hilft ist, statt einer Detailfrage zu stellen
Viel Information zur Verfügung stellen.
Das bedeutet nicht eine einzelne Seite aus der Doku sondern die ganze Doku als Link oder als Anhang posten.

(Wenn das alles ist was es an Doku gibt: Fürs nächste mal merken
nicht das billigste, von Amazon oder vom Chinesen kaufen, sondern vor dem Kauf sich die Mühe machen herauszufinden Gibt es eine ausführliche Dokumenentation.

Einen Überblick über das ganze Projekt geben. Wenn du kein Elektronik-Spezialist bist, dann fehlt dir das Wissen wie man das gut lösen kann.

Wenn du das Gesamtprojekt beschreibst, dann können die Elektronik-Spezialisten ihr Wissen einbringen.

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