Hallo Ich habe ein Problem bezüglich Schrittmotoren. Möchte einen Schrittmotor (Link: http://www.conrad.at/ce/de/product/198722/42MM-SCHRITTMOTOR-18-1A-027-NM) per uC ansteuern. Habe jetzt mal beim Testaufbau auf einem Steckbrett Taster für Schritt und Drehrichtung verwendet. Die Ansteuerung erfolgt per L297/L298. Aufgebaut wurde die Schaltung wie im Datenblatt bzw. bei RN-Wissen. Angeschlossen ist das Ganze an einem Labornetzteil. Sense-Widerstände sind je 2 parallele 1Ohm/0.6W Kohleschichtwiderstände. Vref stelle ich per Poti so ein, bis am Labornetzteil 1A angezeigt wird. Die Dioden am Schrittmtor sind BYV95C. Abblockkondensatoren sind auch verbaut. Einzig der 470uF zwischen 12V und GND noch nicht. Und Entstörung für Stepper ist auch noch nicht vorhanden. Er dreht auch seine Schritte pro Tastdruck. Mein Problem ist, dass er bei jedem zweiten Schritt, ab und zu auch wahllos, einen enorm hohen Strom (ca. 3.8A) zieht. Da ich das nicht zumutbar für den L298 finde, drücke ich immer schnell weiter bis er nur 1A zieht. Am L298 wirds nicht liegen. Habe einen anderen L298 versucht, selbiges Problem. Könnte es eventuell an falscher Verkabelung zum Schrittmotor liegen? Wurde zwar laut Datenblatt des Schrittmotors angehängt, aber naja... Oder an den Tastern (Prellung)? Hab mal gelesen man sollte Stepper weit über ihrer angegebenen Spannung betreiben. Weiter als 17V komm ich leider nicht mit dem Labornetzteil. Aber ob 12V oder 17V. Gleiches Problem. Oder liegts vielleicht auch am Steckbrett (schlechte Verkabelung etc.)? Bitte um Hilfe, suche seit ein paar Tagen das Problem. Mfg Tom
Hallo Tom, ich könnte mir vorstellen, daß eine Deiner Freilaufdioden defekt ist. Das würde erklären, warum der Strom nur bei bestimmten Motorstellungen zu hoch ist. Und nur mal so als Hinweis. Laut Datenblatt des L298 sollen Dioden mit einer trr < 200ns verwendet werden, die BYV95C hat aber eine trr von 250ns. Obwohl das der max. Wert ist. MfG Dirk
Thomas Bürgler schrieb: > Abblockkondensatoren sind auch verbaut. Einzig der 470uF zwischen 12V > und GND noch nicht. Der Kondensator dienst dazu, beim Abschalten der Wicklungen den über die Freilaufdioden abfließenden Strom aufzunehmen. Fehlt er, fließt der Strom ins Netzgerät zurück, was diesem evtl. Schwierigkeiten bereitet. Schau dir doch mal mit dem Oszi die 12V-Versorgung, die Spannung an den den Sense-Widerständen und Vref an. Irgendeine davon wird sicher von den Erwartungen abweichen.
Ok, werde ich heute gleich alle durchtesten. Oh, shit, habe ich völlig übersehen. Vf ist auch zu hoch... Sind BYV 27-50 ausreichend? Vf und trr-Werte würden passen. Aber ich frag lieber, nicht dass wieder irgendein Wert falsch ist xD. Schonmal Danke. PS: Besteht vlt auch die Möglichkeit (oder könnte es für Probleme sorgen), wenn die Taster prellen? Hab keine Pull-Down Widerstände dran, sorgt das für ein undefiniertes Signal am L297? Mfg Tom
Yalu X. schrieb: > Thomas Bürgler schrieb: >> Abblockkondensatoren sind auch verbaut. Einzig der 470uF zwischen 12V >> und GND noch nicht. > > Der Kondensator dienst dazu, beim Abschalten der Wicklungen den über die > Freilaufdioden abfließenden Strom aufzunehmen. Fehlt er, fließt der > Strom ins Netzgerät zurück, was diesem evtl. Schwierigkeiten bereitet. > > Schau dir doch mal mit dem Oszi die 12V-Versorgung, die Spannung an den > den Sense-Widerständen und Vref an. Irgendeine davon wird sicher von den > Erwartungen abweichen. Ok, dann rein damit, hab nur einen 470 uF für 16V. Muss ich halt vorerst auf 12V weitertesten. Oszi hab ich leider keins. Hab mal überlegt eins zu kaufen aber wurde bis jetzt nichts. Muss ich mich mal reinlesen was man so braucht. Gibt ja so viele Oszis :)
So hab Dioden nachkontrolliert. Keine einzige kaputt. Den 470 uF reingemacht. Problem besteht weiterhin. Sorgt vielleicht die gemeinsame Masse von 5V und 12V für Probleme in dieser Hinsicht?! Das Komische ist ja, der Strom steigt in der Regel jeden zweiten Tastendruck auf 3,8A an. Aber ab und zu zieht er auch 2-4 Tastendrücke hintereinander so viel oder aber auch für ein paar Tastendrücke ganz normal 1A.
Betreibst Du den Motor im Halb -oder Vollschritt und macht er pro Tastendruck wirklich immer nur einen Schritt?
Vollschritt. Kanns nicht genau nachvollziehen. Aber ab und zu siehts als würde er mehr drehen als einen Schritt. Das wär ja dann die Ursache von der Tastenprellung?!
> Das wär ja dann die Ursache von der > Tastenprellung?! Genau, den solltest Du erstmal entprellen und dann wird der hohe Strom wahrscheinlich bei jedem 2. Schritt ansteigen. (wenn nicht muß ich nochmal nachdenken) Kannst Du den Strom mal messen, der durch die Motorwicklungen geht? Du siehst doch jetzt immer nur die Gesamtstromaufnahme Deiner Schaltung, richtig?
Arbeitet Deine Strombegrenzung richtig? Wie hoch ist denn Deine Referenzspannung?
> Oder liegts vielleicht auch am Steckbrett (schlechte Verkabelung etc.)?
Mach doch mal ein Bild davon. Evtl. hört der 297 zwischendurch einfach
zu schwingen auf und schaltet den 298 dauernd ein...
Dirk M. schrieb: >> Das wär ja dann die Ursache von der >> Tastenprellung?! > > Genau, den solltest Du erstmal entprellen und dann wird der hohe Strom > wahrscheinlich bei jedem 2. Schritt ansteigen. > (wenn nicht muß ich nochmal nachdenken) > > Kannst Du den Strom mal messen, der durch die Motorwicklungen geht? Du > siehst doch jetzt immer nur die Gesamtstromaufnahme Deiner Schaltung, > richtig? Wird jetzt hardwaremäßig bisschen schwer. Müsste ich den uC wieder draufbasteln. Ja, das ist richtig. Also ich hab bei erster und zweiter Wicklung per Multimeter gemessen. Ich komme auf 0, 1 oder -1 Ampere. Und jedes Mal wenn er hohen Strom zieht komme ich auf etwas zwischen 400 und 600 mA?! Gesamtstrom am Labornetzgerät beträgt jetzt 0,5A (wenn ich lt. Multimeteranzeige in der Wicklung einstelle) bzw. eben 3,4A wenn Wicklungsstrom ca. 500mA beträgt. Hoop schrieb: > Arbeitet Deine Strombegrenzung richtig? > Wie hoch ist denn Deine Referenzspannung? Vref ist 0,57V gegen Masse. Lothar Miller schrieb: >> Oder liegts vielleicht auch am Steckbrett (schlechte Verkabelung etc.)? > Mach doch mal ein Bild davon. Evtl. hört der 297 zwischendurch einfach > zu schwingen auf und schaltet den 298 dauernd ein... Schicke ich morgen. Werde einfach alles nochmal Schritt für Schritt verkabeln. Vlt ist doch irgendwo ein Verkabelungsfehler.
> Werde einfach alles nochmal Schritt für Schritt verkabeln. Vlt ist doch > irgendwo ein Verkabelungsfehler. Gute Idee! Wenn die Schaltung hohen Strom zieht, der Wicklungsstrom aber kleiner wird, dann bricht wohl die Spannung zusammen. Könnte ein Verdrahtungsfehler (Kurzschluss) sein. Wie hast Du eigendlich die Dioden geprüft, mit dem Multimeter?
Dirk M. schrieb: >> Werde einfach alles nochmal Schritt für Schritt verkabeln. Vlt ist doch >> irgendwo ein Verkabelungsfehler. > > Gute Idee! > > Wenn die Schaltung hohen Strom zieht, der Wicklungsstrom aber kleiner > wird, dann bricht wohl die Spannung zusammen. Könnte ein > Verdrahtungsfehler (Kurzschluss) sein. > Wie hast Du eigendlich die Dioden geprüft, mit dem Multimeter? So, bin erst gestern dazu gekommen. Habe alles nochmal neu verkabelt und siehe da. Es funktioniert einwandfrei. Die Dioden habe ich vor dem Neuaufbau mit einer LED geprüft :) Könnte sein, dass sie verkehrt waren; das mit dem weißen Ring hat mich etwas irritiert bei diesen Dioden. Jetzt hab ich nur noch ein sehr hohes Pfeifen im Stepper. Bekommt man das durch Entstörung weg? Oder muss man immer den Strom wegschalten (Enable auf 0)? Was ist eigentlich die bessere Ansteuerungsmethode eines L297/L298 Stepper per uC? PWM oder über Interrupt mit CTC? (Gibts da einen gravierenden Unterschied?) Gruß Tom
Das hört sich ja schonmal gut an. Das Pfeifen kommt, soweit ich weiß, von der Stromregelung, die mit PWM arbeitet. (haut mich ruhig, wenn's falsch ist) Strom wegschalten ist jedenfalls nicht die Lösung. Guck doch mal hier unter 4.1. http://www.atmel.com/dyn/resources/prod_documents/doc8124.pdf Vielleicht hilft das ja. Zur Takterzeugung würde ich den CTC-Mode nehmen. Durch anpassen des Vergleiswertes kannst du ganz einfach die Takt-Frequenz ändern. Bei PWM änderst du ja nur das Hi/Lo-Verhältnis und nicht die Frequenz.
Dirk M. schrieb: > Das hört sich ja schonmal gut an. > > Das Pfeifen kommt, soweit ich weiß, von der Stromregelung, die mit PWM > arbeitet. (haut mich ruhig, wenn's falsch ist) > Strom wegschalten ist jedenfalls nicht die Lösung. Guck doch mal hier > unter 4.1. > http://www.atmel.com/dyn/resources/prod_documents/doc8124.pdf > Vielleicht hilft das ja. > > Zur Takterzeugung würde ich den CTC-Mode nehmen. Durch anpassen des > Vergleiswertes kannst du ganz einfach die Takt-Frequenz ändern. > Bei PWM änderst du ja nur das Hi/Lo-Verhältnis und nicht die Frequenz. Wenn ich das richtig interpretiere, heißt das, dass es von Vorteil wäre, die Masse für Steuer und Leistungsschaltung zu trennen!? Verwende nämlich zur Zeit gemeinsame Masse auf dem Steckbrett. ja das mit PWM leuchtet mir ein. Wenn ich CTC verwende und das per Interrupt steuere wie mach ich das vernünftig? Pro Compare Interrupt einen Schritt bewegen oder? Wenn ich den Taster drücke (Interrupt Enable) und eine halbe Umdrehung möchte, müsste der Interrupt 100mal auslösen. eine volatile variable um 1 pro interrupt hochzählen und in main vergleichen und bei 100 interrupt disable?! Ist das so richtig? Sorry für die Fragerei, könnte es auch learning by doing machen, aber bin noch nicht @ home :)
Also die beiden GND's sind nicht komplett getrennt, sondern an nur
einem Punkt (J3) verbunden.
> Pro Compare Interrupt einen Schritt bewegen oder?
Fast Richtig:
"CLOCK: An active low pulse on this input advances the motor
one increment. The step occurs on the rising edge of this signal."
D.h. wenn du bei jeden Interrupt einen Ausgang toggelst, wird der Motor
bei jedem 2.Interrupt einen Schritt machen.
Ansonsten sollte das mit dem Hochzählen funktionieren.
Dirk M. schrieb: > Also die beiden GND's sind nicht komplett getrennt, sondern an nur > einem Punkt (J3) verbunden. > >> Pro Compare Interrupt einen Schritt bewegen oder? > Fast Richtig: > "CLOCK: An active low pulse on this input advances the motor > one increment. The step occurs on the rising edge of this signal." > > D.h. wenn du bei jeden Interrupt einen Ausgang toggelst, wird der Motor > bei jedem 2.Interrupt einen Schritt machen. > Ansonsten sollte das mit dem Hochzählen funktionieren. Ahja ok, werde ich gleich mal vollziehen. Sprich alle GND vom L297 und L298 getrennt zusammenführen und an einem Punkt dann verbinden!? Hehe, gutes Timing, war gerade am versuchen und hatte nur halb so viel Schritte. Mir fiel auch gleich auf, dass ich ja pro Interrupt toggle. D.h. ich muss die doppelte Frequenz im Timer nehmen, was am Stepper ankommt.
> Sprich alle GND vom L297 und L298 getrennt zusammenführen und an einem > Punkt dann verbinden!? So verstehe ich das. Sagst du ob es geholfen hat? Das würde mich nämlich auch interessieren.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.