Ja, darauf bin ich grade auch gestoßenHab mir ne Ubuntu 10.04 von linuxcnc gesaugt
Danke für den Hinweis.
Das entscheidende Problem bei USB ist die hohe Latenzzeit. Bei einer LPT-Ansteuerung werden die Steuerimpulse für die Schrittmotoren am PC generiert und direkt über die parallele Schnittstelle an eine Schrittmotorsteuerung (z.B. L297/L29gehängt. Weil das bei USB aufgrund der Latenz nicht mehr geht, muss man die Steuerimpulse mit einem Microcontroller (oder FPGA) direkt in der Steuerkarte erzeugen. Dazu braucht man dann ein komplizierteres Protokoll, mit dem der PC der Steuerkarte sagt, wie die Impulse generiert werden sollen (z.B. Rampen etc.).
Bei einem normalen PC ist das Nachrüsten eines LPT-Ports mit einer entsprechenden PCI-Karte ja recht problemlos möglich (und man zerschiesst sich im Fehlerfall normalerweise nur die billige Controllerkarte und nicht das Motherboard). Bei normalen Notebooks kann man eine parallele Schnittstelle auch per PCMCIA oder ExpressCard nachrüsten. Beim Kauf der Karte muss man allerdings aufpassen, dass die Karte intern nicht doch wieder über USB funktioniert. Beim Netbook bleibt wohl nur der Kauf einer kommerziellen USB-Steuerkarte (oder eine aufwändige Eigenentwicklung).
Sind denn die Latenzen bei USB wirklich so groß?
Ich mein, die Latenzen eines USB-Midi-Controllers oder iener USB-ASIO-Soundkarte liegen doch im Bereich einiger Millisekunden.
Klar kommt jetzt wieder das Argument, dass die Hardware darauf ausgelegt ist, aber so müsste man doch auch ein Interface für ne CNC Maschine bauen können.
Hast du denn vielleicht einige Begriffe für mich nach denen ich googeln kann?
Einige Millisekunden sind schon viel zu viel. Wenn man einen Schrittmotor mit 200 Schritten pro Umdrehung im Halbschrittbetrieb auf 5 Umdrehungen pro Sekunde bringen will, dann braucht man einen Schritt alle 500 µs. Wenn jetzt ein Schrit durch USB um ein paar Millisekunden verzögert wird, dann hat man sofort Schrittverlust, da der Motor sich durch die Trägheit erst einmal weiterdreht, obwohl keine Schritte ankommen.
Uff, okay, das muss also viel schneller sein als ne Midi-Ansteuerung.
Und wie sieht es mit ner Lösung über nen programmierbaren MC aus? Nen Atmel-irgendwas?
Könnte man was über so einen realisieren? Dass der quasi die Motoren steuert und im Voraus weiß, was die Motoren machen sollen, der jedoch zur Kontrolle die Werte wieder (in diesem Falle leicht verzögert, vllt. um ein paar ms) an den Steuerrechner überträgt?
Lesezeichen