LabVIEWForum.de - Schrittmotorsteuerfrequenz

LabVIEWForum.de

Normale Version: Schrittmotorsteuerfrequenz
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Ich habe einen Schrittmotorsteuerung direkt an den Parallelport angeschlossen. Auf Bit 1 der Adresse 888 muß nun eine Frequenz angelegt werden, welche die Geschwindigkeit der Schritte steuert. Also habe ich abwechselnd eine 0 und eine 1 über Out Port vi gesetzt. Prinzipiell funktioniert das auch. Mein Problem liegt darin, dass die Frequenz nicht stabil ist. Wenn ich z.B. ein Signal mit der Simulate Signal Funktion in einer While Schleife erzeuge und die Frequenz erhöhe beginnt der Motor irgendwann ab 500 Hz mit kurzen aussetzern. Laut Task Manager war der Prozessor voll ausgelastet, also kam ein wesentlich schnellerer Computer zum Einsatz, ohne Verbesserung. Dann habe ich statt der Simulate Funktion die Nullen und Einsen durch eine äußere for do schleife (von 0 bis 1) erzeugt und eine innere for do schleife als Warteschleife genutzt. Es will nicht stabil laufen. mit der Wait Funktion gehts, aber halt nur im millisekundenbereich (max Freqenz 500 Hz).Irgendwie bekomme ich keine stabile Frequenz auf den LTP 1. Kann man vielleicht einem IRQ zu bestimmten Prozessortakt Ereignissen in LabVIEW erzeugen? Oder gibt es einen LabVIEWtimer der im mikrosekundenbereich arbeitet?
Also nochmal eine neue Problemformulierung. Mein Programm, bestehend aus einer äußeren for do Schleife (0 bis 1) und der darin enthaltenen Wait und Out port Anweisung, läuft bis 500 Hz halbwegs stabil. (Der Prozessor ist nicht ausgelastet). Jedoch treten beim benutzen der Maus oder verschieben von Bildschirmfenstern Stockungen in der Frequenz auf. Also Problem nummer eins: Meiner Meinung nach benötigt das LabVIEWprogramm eine höhere Interruptpriorität als die Tastatur oder Mausabfrage.
Zweitens: Gibt es einen Timer der in kleineren Schritten als ms zählt um höhere Frequenzen darstellen zu können?
Referenz-URLs