Hallo, ich habe wieder mal ein Problem oder eher eine Verständnissfrage,
ich habe vor mit einen Gal die Schrittfolge eines Steppers vorzugeben.
Das Problem ist das der Stepper nur ca. 7 Umdrehungen in 10 Sek. machen
soll. Da wollte ich gerne die mit Hilfe des GAL die Drehzahl regulieren.
Mein Problem ist, wenn ich an PIN 1 der CLK Eingang ein Rechtecksignal
anlege, schaltet der GAL auch nur in diesem Moment wo mein CLK Eingang
"High" ist ein Ausgang?
Könnte das funktionieren?
Mfg
Hi
Irgedwie hast du Probleme mit dem Verständnis einer
Schrittmotoransteuerung.
Die Steuerung eines Schrittmotors erfolgt durch eine bestimmte Abfolge
der Bestromung der Spulen. Die Drehzahl resultiert aus der Frequenz
dieser Zustandsänderungen. Wenn du schon einen GAL verwenden willst,
dann lass den die Bitmuster für den Treiber erzeugen und steuere das
Ganze mit einer entsprechend niedrigen Frequenz. Mit einfachen
Abschalten von Ausgängen kannst du die Drehzahl nicht beeinflussen.
MfG Spess
Hey Spess,
die Abfolge der Bestromung der Spulen ist mir verständlich. Aber auf
Grund der langsamen Drehzahl die haben möchte muß ich die Logik bremsen.
Da der GAL die Logik sehr schnell schaten würde, wenn ich ein
Gleichspannung anlege. Aber wenn ich den GAL statt mit einer
Gleichspannung sondern mit einer Rechteckspannung mit z.B. 1Hz versorge
müßte es doch funktionieren? Aber welche Aufgabe hat er CLK Eingang am
AL?
Du hast das Prinzip des Schrittmotors bzw. das Konzept der Ansteuerung
überhaupt nicht verstanden. Bitte besorg' dir ein gutes Buch zu dem
Thema oder les' dir die diversen Beiträge dazu im Internet durch. Eine
gute Seite zu dem Thema ist z.B.:
http://www.roboternetz.de/wissen/index.php/Schrittmotoren
Hey Kobaltchlorid,
ich hatte mich schon viel belesen über Stepper, ich habe auch schon die
ersten Versuche gamacht. Ich habe im Anhang mal den Schaltungsaufbau
eingefügt. Die Ansteuerung der Eingänge a,b,c,d hatte ich mit Tastern
vorgenommen und der Motor drehte sich. Was ich aber absolute nicht weiß
wie ich das realiesieren soll ist das Punkt wie ich die logik bremsen
soll?
Hi
Ich habe selbst noch nichts mit GALs gemacht. Wenn ich mein GAL-Buch
richtig interpretiere, dient der Clock-Eingang der Datenübernahme wenn
die Macrocell als Register konfiguriert ist. Meinesachtens müsstest du
mit dem GAL einen Zustandsautomaten realisieren, der mit jedem
CLK-Impuls weitergeschaltet wird.
MfG Spess
da müßte es ja so funktionieren, ich gebe an Vcc die Versorgungsspannung
des GALs und an CLK lege ich eine 1Hz Rechtecksignal an. Da müßte der
GAL ja theortisch jede 0,1 Sekunde eine Spule des Steppers bestromen.
ODER???
>> ich hatte mich schon viel belesen über Stepper
Welches Kapitel hast du ausgelassen?
> Da müßte der GAL ja theortisch jede 0,1 Sekunde> eine Spule des Steppers bestromen.
Ein Schrittmotor ist ohne Strom momentenlos. Oder schlimmer: er kann
zurückrasten. Dann hast du Schrittverluste.
> Das hilft mir jetzt aber auch nicht weiter
Ich vermute, dein Problem liegt in dem eingerahmten Kommentar, dass der
Strom durch den Motor zu hoch sei?
Mir scheint allerdings, du verwechselst Ursache und Wirkung:
Es ist nicht so, dass der Motor eigentlich nur 400mA ziehen soll (laut
Datenblatt) und trotzdem irgendwie 500mA fließen.
Umgekehrt wird ein Zopf daraus: auf Dauer kann der Motor nur 400mA ab.
Und DU bist dafür verantwortlich, dass der nicht mehr bekommt.
Dafür gibt es jetzt mehrere Möglichkeiten:
1) niedrige Versorgungsspannung
2) Vorwiderstand
3) Stromsteuerung mit PWM
4) Stromregelung mit PWM
Du willst offenbar sowas wie (3) machen:
Die Spannung kurz anlegen, dann wieder ausschalten. Dann wieder an,
wieder aus... Dies sollte aber unabhängig vom aktuellen Schritt mit
einer Frequenz um 10kHz passieren.
Schau dir mal die Datenblätter und APP-Notes zu anderen
Schrittmotor-Treibern an (L297/298). Denn der L293 ist kein
Schrittmotor-Treiber, sondern ein ordinärer Leistungsschalter. Du kannst
nicht mal vernünftig einen Strommesswiderstand anschließen.
EDIT:
@ Gast (Gast)
> Ich habe den Eindruck, daß hier jemand wieder pitschologische> Provokationen prüfen möchte.
Was ist pitschologisch und wer ist jemand? ;-)
Das ist doch mal eine Aussage...
Der Motor ist eigendlich mit einer Betriebsspannung von 12V angegeben.
auf Grund der zu hohen Spulenströme bin ich auf 5V gegangen. Aber die
500mA zieht er ja nur wenn er ganz langsam bestromt wird, wird der Motor
aber schneller bestromt kommt es ja nicht zu den Sätigungsproblemen
somit sinkt auch der Spulenstrom...
Mein prolem ist ja eigendlich das, das ich den Motor nur mit ca. 1
Umdrehung je Sekunde laufen lassen will und das über den GAL
realiesieren will...
Hi
>Das hilft mir jetzt aber auch nicht weiter
Dein Hauptproblem ist, das deim Motor eigentlich nicht für einen Betrieb
mit konstanter Spannung gedacht ist. Wie ich dir in deinem anderen
Thread schon geschrieben habe, werden für solche Motoren Treiber mit
Stromreglung benutzt. Mit deiner Kombination GAL-Treiber-Motor wirst du
nicht glücklich werden. Bei Pollin gibt es Schrittmotoren mit höherem
Strangwiderstand, bzw. Motoren mit Treiberplatine aus Scannern, bei
denen Motor und Treiber zusammenpassen.
MfG Spess
> Mein Problem ist, wenn ich an PIN 1 der CLK Eingang ein Rechtecksignal> anlege, schaltet der GAL auch nur in diesem Moment wo mein CLK Eingang> "High" ist ein Ausgang?> Könnte das funktionieren?
kannst doch teiler programmieren...
die kapazität eines GAL ist natürlich sehr begrenzt,
CPLD hätte da mehr möglichkeiten.
> Und warum eigendlich L297 UND L298?
Würdest du BITTE mal diese Seite ansehen:
http://www.roboternetz.de/wissen/index.php/Schrittmotoren
Da ist auch die Schaltung mit L297 und L298 beschrieben! Und lies' dir
BITTE auch alles andere auf dieser Seite durch. NACHHER kannst du immer
noch Fragen stellen, wenn dir immer noch etwas unklar sein sollte.
> Der Motor ist eigendlich mit einer Betriebsspannung von 12V angegeben.
Der Motor ist eigentlich mit einem Strom von 400mA angegeben.
Schrittmotoren werden mit einem Nennstrom verkauft. Eine Spannung stellt
sich da eher zufällig ein (und ist zudem noch temperaturabhängig).
> Mein prolem ist ja eigendlich das, das ich den Motor nur mit ca. 1> Umdrehung je Sekunde laufen lassen will und das über den GAL> realiesieren will...
Nein, dein Problem ist, dass du derzeit die Schrittfrequenzerzeugung und
die Spulenansteuerung als eine Einheit siehst.
Trotzdem:
Wieviele Schritte braucht dein Motor für eine Umdrehung? Nehmen wir z.B.
72. Eine Umdrehung pro Sekunde heißt, dass der Motor dann pro Sekunde 72
Schritte ausführen muß.
Also muß zuerst eine Frequenz von 72 Hz erzeugt werden. Mit dieser
Frequenz wird dann (mit Takt/Richtung) über den Schrittsequencer die
Treiberstufe angesteuert. Daran hängt die Endstufe (evtl. mit
Stromregelung) und dahinter der Motor.
Takterzeugung --> Schritterzeugung --> Treiber --> Endstufe -- > Motor
Da versuche ich es mal mit den L297 und L298, die Schaltung hab ich
gefunden werde sie morgen mal aufbauen nachdem ich bei Corad war.
Ich denke mal, wenn ich an CW, CCW meinen Gal Impuls anlege, an Clock
mein Rechtecksignal mit 60HZ (60 Schritte= 1 Umdrehung) müßte es doch
dan funktionieren...