Forum: Mikrocontroller und Digitale Elektronik Alter Stepper-Treiber über ISP an USB parametrieren


von Christian (Gast)



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

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


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.

: Bearbeitet durch Moderator
von Émile (Gast)


Lesenswert?

Christian schrieb:
> Die Motoren können nur per ISP-Schnittstelle angesprochen werden.

Nein. Das ist nicht ISP, das ist SPI.

Gleiche Buchstaben, komplett andere Funktion.

von Christian (Gast)


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"?

von Émile (Gast)


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.

von kenny (Gast)


Lesenswert?

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

Es gibt USB to SPI Interfaces

von Christian (Gast)


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

von Klaus S. (kseege)


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)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.