Hallo
Mit jedem Takt macht der Motor einen Schritt.Hohe Taktfrequenz=hohe Schrittfrequenz.
Mit freundlichen Grüßen
Benno
Hallo,
Ich habe eine Frage bezüglich der Pulserzeugung bei der Schrittmotorsteuerung Protobed Stemp_M 297 298.
Ich verstehte die Funktionen "Enable,Half/Full,CW/CCW" nur was ist jetzt mit der Geschwindigkeit?!
An die Karte schließe ich einen Motor an, auf dem 12 DC angegeben ist. Stepangle= 3,75°.
Irgendwie habe ich verstanden, dass die Geschwindigkeit abhängig von der Spannung ist. Jedoch lese ich jetzt, dass es auf die "geschwindigkeit" des Pulses ankommt?
Könnt ihr mir weiterhelfen?
mfg
Timo
Hallo
Mit jedem Takt macht der Motor einen Schritt.Hohe Taktfrequenz=hohe Schrittfrequenz.
Mit freundlichen Grüßen
Benno
Wo man nicht mit Vernunft handelt, da ist auch Eifer nichts nütze; und wer hastig läuft, der tritt fehl.
Ein König richtet das Land auf durchs Recht; wer aber viel Steuern erhebt, richtet es zugrunde
hi!
Ja, wie gesagt, das weiß ich ja schon. Nur wie kann ich diesen Takt erzeugen?
mfg
timo
Hi,
ich habe selber noch nicht mit Schrittmotoren gearbeitet.(sind bestellt)
Aber ich denke, dass du dir eine Funktion schreiben kannst die einen Port mit einer kleinen Verzögerung immer zwischen 0 und 5 V herschaltet, z.B. in einer for schleife.
Als Parameter für die Funktion kann man dann die zumachenden schritte übergeben.
MFG PcVirus
Meine Page: http://royalclan.de
Entweder mit einer PWM (wenn da der Motor mit macht) oder einfach mit einer Schleife.
Jetzt kommt es darauf an mit was Du programmierst.
Ein Bascom-Beispiel ist ja dabei,
auch noch recht einfach gehalten:
Die für die Schritte verantwortliche Routine:
Code:Function Mstep(byval Wert As Byte)as Byte ' Funktion für Einzelschritt Motorport = Motorport Or &B01000000 Waitms Motorpulsedelay Motorport = Motorport And &B10111111 Mstep = 0 End Function
Erst mal wird das 6. Bit am Port gesetzt (eine Bitweise verODERung)
dann un eine definiere Zeit gewartet (Motorpulsedelay)
und zuletzt wir das 6. Bit am Port wieder gelöscht (eine Bitweise verUNDung) *grausamerworterfindungvonmir*
So jetzt hat man eine Puls für einen einzelnen Schritt erzeugt.
jedesmal wenn diese Funktion aufgerufen wird passiert dies.
Nun muss nur noch der Motor VORHER enabled werden,
die Drehrichtung (CW/CCW) und der Schrittmodus definiert sein.
Klar soweit?
Nachtrag:
Code:' INFO der einzelnen Port BIT's ' Step ' | CW/CCW ' | | Half/Full ' | | | Enable (Bestromung) ' | | | | ' &B00000000
Gruss
Darwin (meine Projekte sind auf meiner Pinnwand zu finden)
Hi!
danke für die Info.
Ich programmiere mit Bascom, hatte ich vergessen zu sagen.
Ich werde erstmal die Steuerung komplett zusammenlöten und dann schaue ich mal was passiert wenn ich das Beispielprogramm lade.
mfg
timo
Naja Du musst aber auch darauf achten, an welchen Port Du dann die Schaltung anschliesst.
Es passiert wohl garnix wenn Du den falschen Port verwendest,
aber dann kannst Du ja den Programm-Source anpassen.
Gruss
Darwin (meine Projekte sind auf meiner Pinnwand zu finden)
Hallo und danke für die Antworten,
klar, das habe ich gemacht. habe alles an portd.7-portd.4 angeschlossen.
Habe jetzt mal ein HI an Enable gelegt und der Motor blockiert...schon mal was positives.
Habe ich das richtig verstanden, dass wenn ich einen immer schnelleren Puls erzeuge, der Motor schneller dreht aber an Kraft verliert?
wie wird dann die nötige Spannung aber die gleichbleibende Stromstärke bereitgestellt?
Ich habe gemerkt, dass bei einem HI befehl am Enable eingang genau die Spannung den Motor erreicht, die am Motorspannungeingang vom Netzteil dranhängt?!
Mfg
Timo
Hallo nochmal,
Ich habe jetzt mal das beispielprogramm angepasst und ausprobiert.
Der Motor reagiert zwar aber gibt bei "motor in Motion" nur ein summen für eine best. Zeit aus. Danach blockiert er kurz und es geht wieder von vorn los.
Ich habe auch schon alle Möglichkeiten durchprobiert wie man den Motor anschließen kann. Er hat 4 Anschlüsse.
Es kommt mir vor als wenn es ZU kleine Schritte sind?!?!?
Woran kann das liegen?
mfg
timo
Hallo
da gibt es viele Möglichkeiten.
Ist die Taktfrequenz zu hoch, so daß der Motor nicht folgen kann?
Ist der Motorstrom niedrig, so daß das Drehmoment nicht reicht?
Ist der Motor richtig angesclossen?
Fehlt eine Phase?
Mit freundlichen Grüßen
Benno
Wo man nicht mit Vernunft handelt, da ist auch Eifer nichts nütze; und wer hastig läuft, der tritt fehl.
Ein König richtet das Land auf durchs Recht; wer aber viel Steuern erhebt, richtet es zugrunde
Lesezeichen