Forum: Mikrocontroller und Digitale Elektronik GAL22V10D Takten


von Beginner (Gast)


Lesenswert?

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

von spess53 (Gast)


Lesenswert?

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

von Beginner (Gast)


Lesenswert?

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?

von Kobaltchlorid (Gast)


Lesenswert?

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

von Beginner (Gast)


Lesenswert?

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?

von Beginner (Gast)


Angehängte Dateien:

Lesenswert?

hier noch der Schaltungsaufbau...

von spess53 (Gast)


Lesenswert?

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

von Beginner (Gast)


Lesenswert?

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???

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

>> 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.

von Beginner (Gast)


Lesenswert?

Das ist mir bewußt, das er in dem Moment wo keine Spule bestromt ist der 
Motor momentlos ist...
Das hilft mir jetzt aber auch nicht weiter

von Gast (Gast)


Lesenswert?

Ich habe den Eindruck, daß hier jemand wieder pitschologische 
Provokationen prüfen möchte.

@Beginner: nimm einen Gleichstrommotor.

von Beginner (Gast)


Lesenswert?

ich muß bauartebedingt einen bipolaren Stepper verwenden...

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

> 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? ;-)

von gast (Gast)


Lesenswert?


von Beginner (Gast)


Lesenswert?

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...

von spess53 (Gast)


Lesenswert?

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

von Beginner (Gast)


Lesenswert?

Ich wollt aber gern diesen Motor verwenden, würde sich der Motortreiber 
L297 bzw. L298 dann nicht besser eignen?

von gast (Gast)


Lesenswert?

> 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.

von spess53 (Gast)


Lesenswert?

Hi

Nicht 'L297 bzw. L298' sondern 'L297 und L298'. Meine letzte Steuerung 
habe ich mit dem L6219 gemacht.

MfG Spess

von Beginner (Gast)


Lesenswert?

Spess, hast du da mal bitte nen Schaltplan das ich mich rein denken 
kann?
Und warum eigendlich L297 UND L298? Was würdest du empfehlen?

von Kobaltchlorid (Gast)


Lesenswert?

> 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.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

> 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

von Beginner (Gast)


Lesenswert?

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...

von ... (Gast)


Lesenswert?

.
>  . . .   nachdem ich bei Corad war.

ich lache mich Schlapp    ;-)))


http://www.pollin.de/shop/detail.php?pg=NQ==&a=NzgwOTk4OTk=

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.