Danke Bernhard
Ich danke die sehr für die schnelle und ausführliche Antwort werde es diese tage noch ausprobieren .![]()
Danke Bernhard
Ich danke die sehr für die schnelle und ausführliche Antwort werde es diese tage noch ausprobieren .![]()
Klappt leider noch nicht habe es so angeschlossen wie du es geschrieben hattest zu mindestens so wie ich es interpretiert habe
habe es wie folgt verbunden
Beide GND Verbunden
Links OUT1 und OUT2 mit der 1 Spule
Rechts OUT3 und OUT4 mit der 2 Spule
ENA → Port 1
ENB → Port 3
INA → Port 5
INB → Port 7
INC → Port 9
IND → Port 11
es sei noch zu erwähnen das mein 12V Adapter nur 500 mA Leistung hat
und das ist mein Programm
Sub main()
#if AVR32
Port_Attribute(P1, PORT_ATTR_OUTPUT Or PORT_ATTR_INIT_LOW)
Port_Attribute(P3, PORT_ATTR_OUTPUT Or PORT_ATTR_INIT_LOW)
Port_Attribute(P5, PORT_ATTR_OUTPUT Or PORT_ATTR_INIT_LOW)
Port_Attribute(P7, PORT_ATTR_OUTPUT Or PORT_ATTR_INIT_LOW)
Port_Attribute(P9, PORT_ATTR_OUTPUT Or PORT_ATTR_INIT_LOW)
Port_Attribute(P11, PORT_ATTR_OUTPUT Or PORT_ATTR_INIT_LOW)
Port_Attribute(PORT_LED2, PORT_ATTR_OUTPUT Or PORT_ATTR_INIT_LOW)
#endif
Do While True
Port_WriteBit(PORT_LED2, PORT_ON)
Port_WriteBit(P1, 1)
Port_WriteBit(P3, 0)
Port_WriteBit(P5, 0)
Port_WriteBit(P7, 0)
Port_WriteBit(P9, 0)
Port_WriteBit(P11, 1)
AbsDelay(100)
Port_WriteBit(P1, 1) ' Off
Port_WriteBit(P3, 0)
Port_WriteBit(P5, 0)
Port_WriteBit(P7, 0)
Port_WriteBit(P9, 1)
Port_WriteBit(P11, 0)
AbsDelay(100)
Port_WriteBit(PORT_LED2, PORT_OFF)
Port_WriteBit(PORT_LED1, 0 )
Port_WriteBit(P1, 0) ' Off
Port_WriteBit(P3, 1)
Port_WriteBit(P5, 0)
Port_WriteBit(P7, 1)
Port_WriteBit(P9, 0)
Port_WriteBit(P11, 0)
AbsDelay(100)
Port_WriteBit(P1, 0) ' Off
Port_WriteBit(P3, 1)
Port_WriteBit(P5, 1)
Port_WriteBit(P7, 0)
Port_WriteBit(P9, 0)
Port_WriteBit(P11, 0)
AbsDelay(100)
End While
End Sub
hoffe es kann mir jemand weiter helfen
Grüße Osman
Soweit ich dein Programm deute, schaltest du die Enable-Leitungen an und aus. Lass die mal lieber dauer-aktiviert.
Und ein Zweiphasensignal für die Spulenansteuerung zu den Zeitpunkten t12...t5 fortfolgend sieht eher so aus:
t1: 0 1 0 1
t2: 0 1 1 0
t3: 1 0 1 0
t4: 1 0 0 1
und weiter:
t5: 0 1 0 1 (wie t1)
t6: ...
Diese Abfolge bewirkt die eine Drehrichtung.
Von unten nach oben ausgeführt sollte sich der Motor andersherum drehen.
Desweiteren gibt es im RN-Wissen-Bereich gute Einführungen zu Steppermotoren.
Das Treiberboard ist ziemlicher Murks. Abgesehen davon, dass der L298 uralt ist und es heute viel bessere Lösungen gibt, kann der ohne L297 oder L6506 auch keine Stromregelung. Die Spannungsversorgung muss also immer auf den Motor abgestimmt sein. Die damit erzielbare Dynamik ist deutlich schlechter als wenn man einen Treiber mit Stromregelung verwendet und die Versorgungsspannung entsprechend höher wählen kann.
Mit freundlichen Grüßen
Thorsten Ostermann
Hallo Ostermann
Danke für deine Antwort, bin schon seit 2 tage am experimentieren die maximale Drehzahl die ich erreichen konnte ist 150 U/min brauche aber mindestens 300 besser 500.
habe auch versucht mich ein bisschen einzulesen komme nicht mit der Vollschritt Programmierung zurecht oder es liegt halt am Treiber
Grüße Aysoft
Such dir doch mal ordentliche Schrittmotortreiber, die nehmen dir ziemlich viel ab. Da brauchst du keine Beschaltungsreihenfolgen abarbeiten, sondern einfach nur ein Taktsignal raufgeben und jeder Takt ist eben ein Schritt. Mit Richtungseingang lässt sich die Drehrichtung festlegen, Strom mit Enable an- und abschalten. Der Strom lässt sich dann meist über DIP-Schalter oder Poti einstellen, sowie Schrittauflösung und Decay-Modus. Ein einfacher Vertreter wäre der TB6560AHQ, gibt aber auch noch zig weitere von beispielsweise Allegro oder Trinamic. Ich hab auch mit L297/298 angefangen, aber ganz ehrlich, das Gefriemel mit den Teilen ists nicht wert. Mir sind die gelegentlich abgeraucht, ohne dass sich herausfinden ließ, woran es lag. Mit einem fertigen Board erspart man sich da viel Frust, zumal die ja auch häufig nicht die Welt kosten.
Was hälts du hier von
http://www.ebay.de/itm/1-X-TB6560-Sc...item3a8bd1f3f5
Lesezeichen