PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : vb schrittmotor steuerung soll flüssiger werden



Ersteller
23.09.2006, 15:30
mein ziel ist eine sanfte steuerung und möglichst ruckelfreie umdrehungen
steuern kann ich den schrittmotor bereits sehr genau und auch zeitlich richtig schaffe ich es 0,0015 - 50 umdehungen pro minute anzugeb ohne das schritte übersprungen werden und theroretisch kann ich die uhr nach dem schrittmotor stellen ;)

es ich weiß das es möglich ist auf über 400 u/min zu drehen das schaffe ich aber nicht am zartesten dreht der schrittmotor bei 9 -10 u/min und ab 12 merkt man wenn man den in der hand hat unregelmäßigkeiten also schätze ich das da der nächste takt zu frü oder zu spät kommt den takt time ich mit dem code von http://www.compuphase.com/vbtiming.htm aber ich glaube das reicht nicht

ich suche also eine bessere alternative denn der objekt.timer ist noch schlimmer der geht nur 1/18 sec genau.
ich kann auch mein code posten wenn es jemanden gibt dem das helfen könnte muss er /sie es nur sagen.

Albanac
23.09.2006, 16:13
wie steuerst du deinen Schrittmotor an? Motortreiber am LPT? Wieviele Schritte/Umdrehung hat dein Schrittmotor


Prinizpiell kannst du mit dem PC nicht die Genauigkeit/Geschwindigkeit eines µC erreichen weil der Computer noch andere Sachen erledigen muss. Wenn der Prozessor gerade in dem Moment in dem ein Puls kommen sollte was anderes tut dann muss der Puls halt solange warten (Google/Wikipedia: "Präemptives Multitasking")...

Ersteller
25.09.2006, 19:32
danke für die schnelle antwort ich benutze einen unipolaren schrittmotor 12 v 75 ohm mit 200 s/rund eine platine die an den LinePrinTer port geht aber das funktioniert
wie schnell ist so ein µC
ist das grundsätzlich nicht möglich? ich kann ja auch dem program rechte erteilen so das es zb keine benutzereingabe mehr überprüft aber deshalb stürzen so oft programme ab. ich dachte ja immer der pc ist ein recht genaues werkzeug zum zeitgeben immerhin basiert der ja dadrauf

Manf
25.09.2006, 19:43
Im Mikroschrittbetrieb ist ein Schrittmotor beliebig flüssig. Die Schritte können wie hier* beschrieben (oder anders) in 1/32 Schritte oder feiner unterteilt werden und sind (bei 6400 Schritten pro Umdrehung oder feiner aufgelöst) nicht mehr als einzelne Schritte wahrnehmbar, weder optisch noch bei Berührung der Welle.

Vielleicht ist es das worum es hierbei geht.
Manfred

* https://www.roboternetz.de/phpBB2/viewtopic.php?t=15096

Ruppi
26.09.2006, 15:33
Hallo,
das Problem sind unter Windows die gesamten Hintergrunddienste. Ich habe jahrelang eine Fräse mit einer selbstgeschriebenen Software am LPT-Port betrieben. Dort bemerkt man immer wieder eine kleine Unregelmäßigkeit (Jitter) bei der Erzeugung der Ansteuer-Signale. Wenn man die Schritte einmal mit einem Mikrocontroller erzeugt hat, wird man nie wieder den LPT nutzen. Beim Controller ist die Ansteuerung "quartzstabil" und der Motor auch bei höheren Frequenzen wesentlich ruhiger und völlig frei von Jitter, weshalb hier auch höhere Frequenzen möglich sind.
Falls ein Mikrocontroller für die Wahl ausscheidet und Du wirklich nur einen besseren Timer für VB suchst, nimm folgenden:
Suche mal bei Google nach dem QueryPerformanceCounter! Dies ist ein sehr genauer, hochauflösender Timer - wesentlich besser für die Aufgabe geeignet. Du musst bei der Nutzung des Timers eine Frequenz angeben, aber das wirst Du sehen, wenn Du danach googlest, ansonsten frag nochmal!

Ruppi

Ersteller
22.02.2007, 14:32
so hab lange keine zeit mehr gehabt aber jetzt bin ich auf eine lösung gestoßen. nachdem ich von vb bis hin zu qbasik echtzeit cputime verschwendet habe und gerhirnschmals auf code verschmiert habe und nichts sinnvolles bei raus kahm da mein kontroler nur nullen und einsen schalten kann bin ich mein problem anders angegangen. da ich nur einen einzigen bipolaren motor steuern will und das eigentlich nur in der winkelgeschwindigkeit also nicht positionsgenau brauche ich nur 2 signale die allerdings am besten analog sein sollten. also sehe ich mich um und entdecke den verstärker. den verstärker spreche ich am libsten mit dem software synthesiser reaktor an. also ausprobiert und herumgerechnet und raus kahm a entweder eine dreiecksfunktion oder angenähert (sin x)² und damit komme ich auf schön glatte umdrehungen die sehr konstant sind sogar bei mehr als 500 u/min

Ersteller
22.02.2007, 14:46
also da mein problem quasi nicht mehr besteht könnte man das ja jetzt

schließen