Alter Stepper-Treiber über ISP an USB parametrieren

Gast #7319950
Lesenswert?

Guten Tag liebe Leute

Ich habe in der Firma mehrere, über 20 Jahre alte Schrittmotoren mit integriertem Treiber. Es handelt sich um IMS Mdrive23 (Datenblatt anbei). Nun möchte ich die Treiber neu parametrieren (Anzahl Microsteps und Phasenstrom).

Die Motoren können nur per ISP-Schnittstelle angesprochen werden. Siehe dazu Seite 19 und 24-28 im angehängten Datenblatt. Das wurde früher entweder per Terminal-Software direkt über die LPT1-Schnittstelle oder per USB-ISP Adapter und entsprechendem Softwaretool gemacht.

Einen alten WinXP-Laptop mit LPT1 habe ich - ich habe das entsprechende Kabel gebastelt, aber das hat leider nicht funktioniert. Wahrscheinlich, da (Gemäss Manual?) viele Laptops nur 3,3V -Signale an LPT1 haben. Der Motortreiber braucht 5V-Signale.

Einen normalen USB zu LPT1-Adapter habe ich auch, leider erzeugt dieser in Windows keinen virtuellen COM-Port, somit "sieht" ihn das Softwaretool für die Motoren nicht.

Die Software und die nötigen Treiber, um die Motoren per originalem USB-Adapter anzusprechen, habe ich auch. Leider ist das benötigte USB-Kabel nach über 20 Jahren natürlich nicht mehr erhältlich... Zudem kostet es ein Vermögen.

Hat jemand eine Idee, wie ich diese Motoren ansprechen kann? Kann ich diese ISP-Schnittstelle mit virtuellem COM-Port über USB irgendwie selber "basteln"? Die Schnittstelle sieht ja sehr ähnlich aus wie die, welche ich z.B. früher für die Atmegas gebraucht habe. Mit dem Unterschied, dass es anstelle eines Reset-Pins ein Chip-Select Pin gibt. Ist das der gleiche Pin, nur mit anderer Bezeichnung? Entschuldigt meine etwas unbeholfene Ausdrucksweise. Ich muss dazu sagen, dass ich mich mit Mikrocontrollern und deren Schnittstellen nur sehr oberflächlich auskenne aber das habt ihr wohl gemerkt ;)

Danke für jeden Tipp!

Hier das originale USB-Kabel: IMSMD-CC300-001 https://novantaims.com/accesories/md-cc300-001-communication-converters/ Und hier

Angehängte Dateien:
Moderator (Firma: Titel) Persönliche Seite #7320013
Lesenswert?

Christian schrieb:

Einen normalen USB zu LPT1-Adapter habe ich auch, leider erzeugt dieser in Windows keinen virtuellen COM-Port

Er müsste ja eigentlich einen virtuellen LPT-Port bereitstellen. Aber manuelles Bitbanging am LPT über USB ist schon recht "implementationsabhängig".

Einen alten WinXP-Laptop mit LPT1 habe ich - ich habe das entsprechende Kabel gebastelt, aber das hat leider nicht funktioniert. Wahrscheinlich, da (Gemäss Manual?) viele Laptops nur 3,3V -Signale an LPT1 haben. Der Motortreiber braucht 5V-Signale.

Normalerweise kommen 5V-Geräte auch mit 3V3-Ausgängen noch zurecht.

Mein allererster Handgriff wäre hier das Oszilloskop, um zu kontrollieren, ob sich da am CS#, CLK und MOSI überhaupt was plausibles tut.

Gast #7320086
Lesenswert?

Vielen Dank für eure Inputs

Lothar M. schrieb:

Er müsste ja eigentlich einen virtuellen LPT-Port bereitstellen. Aber manuelles Bitbanging am LPT über USB ist schon recht "implementationsabhängig".

Den LPT sehe ich im Device Manager. Leider kann ich im Parametriertool vom Motorhersteller nur andere COM-Ports auswählen, nicht aber den LPT. Das liegt dann wohl an der Applikation, da werde ich nichts ändern können.

Lothar M. schrieb:

Normalerweise kommen 5V-Geräte auch mit 3V3-Ausgängen noch zurecht.

Im Manual des Motors steht leider explizit geschrieben, dass die Schnittstelle mit 3,3V nicht zurechtkommt.

Lothar M. schrieb:

Mein allererster Handgriff wäre hier das Oszilloskop, um zu kontrollieren, ob sich da am CS#, CLK und MOSI überhaupt was plausibles tut.

Gutes Plan. Das werde ich heute Abend mal direkt am LPT des alten Laptops machen. Mal sehen, was an den entsprechenden Pins ankommt.

Émile schrieb:

Nein. Das ist nicht ISP, das ist SPI.

Gleiche Buchstaben, komplett andere Funktion.

Stimmt. Danke!

Gibt es denn auch andere Möglichkeiten, eine SPI-Schnittstelle zu "basteln"?

Gast #7320127
Lesenswert?

Christian schrieb:

Den LPT sehe ich im Device Manager. Leider kann ich im Parametriertool vom Motorhersteller nur andere COM-Ports auswählen, nicht aber den LPT. Das liegt dann wohl an der Applikation, da werde ich nichts ändern können.

Der Druckerport taugt nur zum Bitwackeln per Software. Wenn Dein Parametriertool nur serielle Schnittstellen kennt, ist das keine Lösung. Dann aber enthält das "Kabel" zum Motor nicht einfach nur ein paar Drähte, sondern einen µC o.ä., der aus den seriellen eines COM-Ports das SPI-Protokoll erzeugt.

Christian schrieb:

Gibt es denn auch andere Möglichkeiten, eine SPI-Schnittstelle zu "basteln"?

Ja, aber es kommt drauf an, /mit was für einer Software/ Du mit dieser Schnittstelle reden willst.

Wenn Du die selbstschreiben willst, kannst Du z.B. die MPSSE des FT232R mit der FTDI-DLL verwenden.

Das aber wird Dein Parametriertool vermutlich nicht anzusteuern wissen, da musst Du schon selbst rausfinden müssen, was dem Controller mitzuteilen ist.

Gast #7320166
Lesenswert?

Émile schrieb:

Der Druckerport taugt nur zum Bitwackeln per Software. Wenn Dein Parametriertool nur serielle Schnittstellen kennt, ist das keine Lösung. Dann aber enthält das "Kabel" zum Motor nicht einfach nur ein paar Drähte, sondern einen µC o.ä., der aus den seriellen eines COM-Ports das SPI-Protokoll erzeugt.

Ok, verstanden. Das im Manual gezeigte Kabel hat tatsächlich nur 5 Drähte von LPT zu Schnittstelle am Motor. Spielt aber keine Rolle denn ich denke, ich werde diese Variante verwerfen.

Émile schrieb:

Ja, aber es kommt drauf an, mit was für einer Software Du mit dieser Schnittstelle reden willst.

Wenn Du die selbstschreiben willst, kannst Du z.B. die MPSSE des FT232R mit der FTDI-DLL verwenden.

Das aber wird Dein Parametriertool vermutlich nicht anzusteuern wissen, da musst Du schon selbst rausfinden müssen, was dem Controller mitzuteilen ist.

Ok, alles klar. Ich möchte natürlich am liebsten das originale Parametriertool verwenden. Aber ich seh' schon, mit meinen sehr beschränkten Vorkenntnissen wird das schwierig werden.

Ich dachte, ich könne die Stepper weiter verwenden (Da Industriequalität, 250$ pro Stück damals). Das wird dann wohl nichts... Schade.

kenny schrieb:

Es gibt USB to SPI Interfaces

Das wäre vielleicht noch ein Versuch wert. Könntest du da etwas empgehlen? Wäre das sowas z.B.? https://www.digikey.ch/de/products/detail/ftdi,-future-technology-devices-international-ltd/TTL-234X-5V/6823719?utm_adgroup=Smart%20Cables&utm_source=google&utm_medium=cpc&utm_campaign=Shopping_Product_Cable%20Assemblies&utm_term=&productid=6823719&gclid=EAIaIQobChMI2czXjPXQ_AIVWJBoCR20QwOoEAQYBCABEgJ__PD_BwE

#7320822
Lesenswert?

Christian schrieb:

Ich dachte, ich könne die Stepper weiter verwenden (Da Industriequalität, 250$ pro Stück damals). Das wird dann wohl nichts... Schade.

Wer schon nach 4 Stunden und 6 Minuten die Flinte ins Korn wirft, hat nicht viel Durchhaltevermögen. Im Manual ist alles beschrieben. Da steht allerdings nichts von Terminalsoftware und ComPort, sondern nur von SPI und Parallelport.

Wenn der Laptop nur 3,3Volt Ausgang hat, braucht man 4 Levelshifter von 3,3V nach 5V, MOSI, CLOCK und /CS in Richtung Motor und MISO in Gegenrichtung. Ist im Manual auch erwähnt, daß es sowas mal als Zubehör gab.

Oder man programmiert einen kleinen 5Volt-Mikrocontroller (z.B.Arduino UNO), die Befehle an den Motor stehen auf Seite 25. Dazu muß man dann aber etwas mehr Wissen über SPI und Programmierung haben.

Gruß Klaus (der soundsovielte)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren