Hallo, Ich möchte einen Schrittmotor mit einem PC ansteuern und habe dabei noch Probleme. Zunächst die Randbedingungen, ich habe: -Windows XP -am liebsten VB, aber auch Java oder C -Bipolarer Schrittmotor mit 2 Phasen -Steuerungen: entweder SMC800 oder selbstgebaute (beide Takt/Richtung über parallele Schnittstelle) -passende Kabel -inpout32.dll (und einige andere DLL´s) Jetzt mein Problem: Was sende ich an die Schnittstelle um x Schritte in y Richtung zu laufen? Ich weiß nur, wie ich 5V an einen Dataport der Schnittstelle anlege und wieder wegnehme, das kanns aber ja nicht sein. Leider habe ich keine Dokumentation über ein Protokoll der Controller oder ähnliches. Danke für eure Hilfe!!! Gruß, Mirco
als erstes kommt es einmal daraf an was für einen Schrittmotor du verwendest Unipolar oder Bipolar. Danach musst du deinen Ansteuerung auslegen. Wenn du genügend freie Port-Pins hast kannst du die komplette Ansteuerung vom PC aus anstellen. Also an die Schnittstelle nur noch Treiber hinhängen. Ist zwar etwas mehr softwareaufwand am PC aber Hardwaremäßig einfacher. Oder du verwendest spezielle IC´s die die Ansteuerung des Schrittmotors übernehmen. Diesen Steuer-IC`s musst du dann nur noch sagen wieviel Schritte in welche Richtung und die machen das dann. Gruß, Florian
Du must erstmal eine Referenzimpuls haben. Damit du den Stepper auf eine Bekannte Nullposition steppen kannst. Das kann mit einem Schalter oder Hall- oder Licht/IR-Sensor machen. An deinem Treiber IC pulst du denn die Schritte (aber nicht zu schnell) und der Stepper dreht sich, bis er an den Referenzkontakt kommt, darauf setzt Du Deinen Sofwarezähler auf Null. Jetzt weist Du wo sich Deine Stepperachse befindet. Wenn du jetzt in Deiner Ansteuerroutine die Zahl 10 schickt müssen 10 Pulse an Dein Stepptreiber IC geschickt werden. Mit dem an dem Treiber-IC befindlichen Eingang "Direction" bestimmts Du die Drehrichtung.
Hallo, danke für Antworten, leider löst es nicht ganz mein Problem. Zunächst mal, ich habe von der Elektik 0 Ahnung. Ich habe die beiden Steuerungen und den Motor gekauft. Programmieren kann ich, allerdings habe ich noch nie Schnittstellen angesprochen. Dazu habe ich die Befehle inp(Adresse) und outp(Adresse,Wert) genommen und es klappt. Meine Frage ist jetzt: Was für Werte übergebe ich, damit der Motor z.B. 50 Schritte nach rechts fährt? Ich weiß halt nur, wie ich 5V anlege oder wieder wegnehme von einem der DataPorts auf der Schnittstelle. Danke und Gruß, Mirco
Du wirst ein weiteres Problem haben: XP ist für solche Steuerungen denkbar ungeeignet, Du brauchst eine Echtzeitumgebung. Ein Schrittmotor muß definiert beschleunigt werden, um die maximale Drehzahl zu erreichen. Zu Deiner Frage: Das ist abhängig von Deiner Steuerung. Vermutlich erwartet sie ein Taktsignal und eine Richtung, da dürfte die Anleitung derselben aufschlußreich sein.
Das Problem mit XP kenne ich, ich weiß aber auch, dass es möglich ist. Ich habe halt keine Dokumentation zu der Steuerung. Takt/Richtung ist auch klar. Auf der Steuerung ist ein Pin für Takt und einer für Richtung, auf dem LPT-Port das gleiche, nur was für Signale gebe ich da drauf und wie? Vielleicht drücke ich mich auch unverständlich aus, was wohl daran liegt, dass ich mich mit der Materie nicht im geringsten auskenne. In Beispiel für ein Software-Command an die Schnittstelle wäre schon hilfreich, Sprach egal. Gruß, Mirco
Das Pin für die Richtung legst du auf Low (0) und auf der Taktleitung wechselst du immer 010101... und so weiter. Mach das 10 mal in der Sekunde. Dein Motor sollte nun in eine Richtung Laufen. Wen das Richtungspin auf High (1) gelegt wird, dreht der Motor andersrum.
Danke, genau das wollte ich wissen. Es gibt also kein Protokoll sondern einfach nur Pulse. Werde das gleich mal versuchen. Steht dann jeder Plus für einen Schritt (bzw. 1/2 1/4 o. 1/8 Schritt, das kann ich jumpern)?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.