von anders am Montag 22. Dezember 2003, 22:25
Einmal davon abgesehen, daß die Leistungabgabe des LPT bei weitem nicht zu direkten Ansteuerung eines Schrittmotors ausreicht, und eine auf den jeweiligen Motortyp abgestimmte Treiberschaltung nicht unbedingt trivial ist, wirst Du nicht viel Freude damit haben.
Der Grund ist, daß Windows kein Echtzeit Betriebsystem ist und die Laufzeit von Delphi-Kompilaten auch nicht bekannt ist.
Die Zeitpunkte für die Schritte müssen aber recht genau eingehalten werden.
Somit kannst Du auf diese Art aus Sicherheitsgründen nur sehr langsam steppen, sonst drohen Schrittverluste.
Ein Schrittverlust bedeutet nicht, daß die Position um einen Schritt falsch ist, sondern mindestens vier !
Um auf möglichst hohe Schrittfrequenzen zu kommen, werden in der Praxis auch Beschleunigungs und Abbremsrampen programmiert.
Deshalb setzt man für solche Steuerungen gern Mikroprozessoren ein, die sich um nichts anderes kümmern brauchen. Der PC könnte z.B. dann über die serielle Schnittstelle einen Befehl: "Motor 3, 4711 Schritte mit maximaler Geschwindigkeit nach links, dann Positionsmeldung",
- natürlich binär codiert -, schicken.
Der Mikrocontroller rechnet sich dann aus:
Ich brauche 300 Schritte zum Beschleunigen, 250 Schritte zum Abbremsen, und kann also 4161 Schritte mit voller Geschwindigkeit machen.
Dann führte er diese drei Programmteile mikrosekundengenau aus.
Du siehst, daß außer den mechanischen Problemen und der Delphi-Programmierung noch ein paar andere Dinge zu erledigen sind.