PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Schrittmotorsteuerung mit L297/L298



Speedfreak
28.11.2004, 22:24
Hallo allerseits, ich muss für meine Anwendung zwei Schrittmotoren schrittgenau ansteuern können. Nachdem ich mich hier im Forum etwas belesen habe, habe ich die bekannte Schrittmotorsteuerung L297/L298 aufgebaut (testweise erstmal nur mit einem Motor). Über den parallelen Port eines PC's gebe ich den Takt (clock) sowie die Richtung (cw/ccw) an den L297. Soweit so gut.
Da ich jedoch des Öfteren (für mich) widersprüchliche Aussagen gelesen habe und ich mich vor dem Aufbau der kompletten Schaltung noch mal absichern möchte, habe ich noch einige Fragen dazu.

1. Wozu brauche ich PWM? Mein Takt kommt doch vom PC.
2. Wozu brauche ich INH1/INH2?
3. Wozu brauche ich SENS1 und 2?
4. Warum soll ich dem Motor mehr Spannung geben als angegeben und wie viel mehr soll ich ihm geben? (wenn ich testweise die Spannung erhöhe zieht der Motor weniger Strom, so das die Leistung meiner Meinung nach gleich bleibt; was mache ich falsch?)
5. Ich könnte auch einen Endlagenschalter (Taster (Öffner)) gebrauchen. Dazu würde sich ja enable anbieten. Doch wie bringe ich den Motor wieder zum drehen wenn an enable keine 5V anliegen da der Endlagenschalter geöffnet ist?
6. Wenn sich der Motor nicht dreht, benötige ich auch kein Haltemoment. Ich könnte ihn also über enable auch abschalten. Oder gibt es da bessere Lösungen?
7. Ich habe irgendwo gelesen, man kann zwei Motoren an den L297/298 anschließen. Das sind dann aber keine Schrittmotoren, oder?
8. Worin besteht der Unterschied zwischen L297/L298 und L6203/L6506? Habe auf die schnelle nur den Unterschied beim Strom gesehen (2A zu 5A).

Vielen Dank für eure Antworten bereits im Voraus.

Michael
28.11.2004, 23:54
Hallo Speedfreak,
zu1: wer sagt was vom PWM, das brauchst du bei einem Stepper nicht.
zu2: ich dachte, du hast die bekannte Schaltung mit L297/L298 aufgebaut?
Hast du mal ins Datenblatt geschaut?
zu3: oh, genau derselbe Text wie bei 2.
zu4: mehr Spannung mit weniger Strom? Da hast du was falsch verstanden.
Das wird gemacht, damit der Motor in höheren Drehzahlbereichen noch Drehmoment abgeben kann.
Die Anstiegsgeschwindigkeit des Stromes in einer Spule ist nämlich begrenzt.
zu5: Ein Endlagenschalter, der den Motor abschaltet kann schon Sinn machen, vielleicht willst du die Mechanik schonen?
zu6: Enable abschalten ist hier m.M.nach die beste Lösung.
zu7: richtig.
zu8: der Rest steht im Datenblatt.

Gruß, Michael

Speedfreak
29.11.2004, 19:02
Danke für die schnellen Antworten, doch leider ist mir noch immer nicht alles klar. Vielleicht hätte ich auch noch dazu schreiben sollen das ich kein Elektrotechniker bin sondern Wirtschaftsingenieurwesen (Studienrichtung Maschinenbau) studiere. Die Motorsteuerung mache ich nur so nebenbei. Habt also bitte etwas Geduld mit mir.

zu 2 und 3: Ja ich habe die Schaltung wie beschrieben aufgebaut und sie funktioniert ja auch. Ich möchte die Schaltung aber auch verstehen. Deshalb die Fragen wo der Unterschied zwischen INH1/INH2 und ABCD liegt bzw. wozu ich SENS1/2 benötige.

zu 4: Wieso falsch verstanden? Das habe ich so gemessen! Und wie weit soll ich die Spannung nun erhöhen? Beispielsweise bei einem 5 oder einem 12V Motor.

zu 5: Ganz genau. Ich will die Mechanik und andere Bauteile schützen. Damit durch eine falsche Benutzereingabe nichts zerstört werden kann. Doch wie kann ich das realisieren? Ich hatte heute die Idee das mit einem Flipflop zu machen. Hab's aber noch nicht zu Ende gedacht. Was meint ihr dazu bzw. habt ihr Alternativen?

zu 8: Sicherlich steht alles in Datenblättern oder Büchern oder wo auch immer. Ich hab die "Erklärungen" dort (und auch beim L297/298) jedoch nicht ganz verstanden, da es wie gesagt nicht ganz mein Fachgebiet ist. Also habe ich hier auf eine etwas einfacher zu verstehende Erläuterung gehofft.

teslapower
22.12.2004, 15:08
Hallo

Inhibit 1&2 sind dazu da die 4 Transistoren der Brücken komplett abzuschalten um den
Strom bei hohen Drehzahlen nach dem Abschalten der Wicklung schnell abfallen zu lassen(zwecks gutem Drehmoment).

Die angelegte Spannung ist egal, da der Motor mit Konstantstrom betrieben wird.
Der Strom wird über den Spannungsabfälle der Sense Widerstände gemessen und bei Übersteigen des eingestellten Werts begrenzt.
Die Spannung sollte ein gutes Stück höher sein als die "Nennspannung" um hohes Drehmoment auch noch bei hohen Drehzahlen zu erreichen (wegen der Selbstinduktion). Bei 12 Volt Motoren sind 24 V auch nicht verkehrt. Ich glaube der Treiber verträgt mehr wenn ich mich recht erinnere.


MFG TESLAPOWER

Bomberman
23.12.2004, 08:08
Hallo zusammen,

tolle Erklärungen - jetzt wird mir auch einiges klarer :-)

Zu 5) die Endlagenabschaltung zum Schutz des Gerätes würde ich nicht über den Enable realisieren, denn irgendwie muß das Gerät sich aus der Endlage wieder herausmanövrieren und dazu sollter der Enable sicherlich wieder aktiv sein. Hier hielte ich einen Interrupt für angebracht.

Ciao

Patrick

millioneer
23.12.2004, 11:06
Hallo auch,

ich stehe kurz davor mir auch so eine L297/298 Schaltung zu löten, nur fehlen mir die SENS1/2-Widerstände mit jeweils 0,5 Ohm. Ich nehme stattdessen 1,0 Ohm.
Mir ist nur nicht klar, ob das vielleicht Probleme macht, die Datenblattverfasser haben bestimmt nicht ohne Grund so eine seltsame Widerstandszahl gewählt?

Muss das eventuell auch eine Widerstand sein, der bisschen was aushält oder reicht da so ein 1/4W-Typ?

Fragend, Oliver 8-[

teslapower
23.12.2004, 18:43
Hallo

@millioneer:
Wenn du den Sense Widerstand verdoppelst musst du auch die Spannung
an Vref verdoppeln, damit der Strom gleich bleibt. Außerdem hast du
damit auch die doppelte Verlustleistung, da können je nach Strom einige
Watt an Leistung am Widerstand verbraten werden. Benötigte Leistung
vom Widerstand lässt sich mit P = I^2*R leicht ausrechnen.


MFG TESLAPOWER