mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Schrittmotor Problem


Autor: Thomas Bürgler (xelo87)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo
Ich habe ein Problem bezüglich Schrittmotoren.

Möchte einen Schrittmotor (Link: 
http://www.conrad.at/ce/de/product/198722/42MM-SCH...) 
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

Autor: Dirk M. (dmd)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Yalu X. (yalu) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Thomas Bürgler (xelo87)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Thomas Bürgler (xelo87)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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 
:)

Autor: Thomas Bürgler (xelo87)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Dirk M. (dmd)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Betreibst Du den Motor im Halb -oder Vollschritt und macht er pro 
Tastendruck wirklich immer nur einen Schritt?

Autor: Thomas Bürgler (xelo87)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?!

Autor: Dirk M. (dmd)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 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?

Autor: Hoop (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Arbeitet Deine Strombegrenzung richtig?
Wie hoch ist denn Deine Referenzspannung?

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 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...

Autor: Thomas Bürgler (xelo87)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Dirk M. (dmd)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 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?

Autor: Thomas Bürgler (xelo87)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Dirk M. (dmd)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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/...
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.

Autor: Thomas Bürgler (xelo87)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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/...
> 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 :)

Autor: Dirk M. (dmd)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Thomas Bürgler (xelo87)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Dirk M. (dmd)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.