Schrittmotortreiber mit dem L6208 – Vref

In dieser Reihe stelle ich die Entwicklung eines Schrittmotor-Treibers mit dem L6208 von STMicroelectronics vor. Nach einigen Höhen und Tiefen läuft der Motor, so dass ich mir über einige weitere Dinge Gedanken machen kann. In diesem Artikel geht es daher um den richtigen Vref-Wert.

Hier geht es zur Projektseite des GREETBoard L6208 Stepper mit den Links zu allen bisherigen Artikeln zum L6208.

Im letzten Artikel habe ich darüber geschrieben wie ich den L6208 in Betrieb nahm. Genaugenommen ging es mir darum, dass sich der Motor bewegt ohne Rücksicht auf irgendwelche korrekten Einstellungen. Diesmal habe ich mich der Frage gewidmet, wie sollte der richtige Wert für Vref lauten. Vorab möchte ich aber die Frage klären, wofür Vref benötigt wird.

Motorstrom und Motorspannung

Um diese Frage zu klären ist ein Blick in das Datenblatt des Motors notwendig um ein paar wichtige Informationen zu sammeln (Seite 3).

  • Rated Voltage: 5,3V (U)
  • Rated Phase Current: 1A (I)
  • Phase Resistance: 5,3Ohm (R)

Die Daten besagen, dass der Motor mit maximal 1A Motorstrom betrieben werden kann. Grundsätzlich dürfte somit an jeder Wicklung nur 5,3V angelegt werden:

(I = U:R  =>  1A = 5,3V : 5,3 Ohm)

Ebenfalls auf Seite 3 befindet sich eine weitere Information, nämlich die „Max applicable Voltage“ (Maximal anzulegende Spannung) mit 48V. Kapitel 5.3 (Seite 10) besagt, dass die minimale Motorspannung 2 x Ucoil_nom beträgt (Ucoil_nom = 5,3V), also 10,6V. Die Motorspannung liegt also bei 10,6 – 48V.

Das Drehmoment

Ein wichtiger Faktor eines Motors ist dessen Drehmoment. Dieser ist proportional abhängig vom Motorstrom. Auf dem Diagramm der Seite 6 des Datenblatts ist zu erkennen, dass das Drehmoment mit steigender Geschwindigkeit des Schrittmotors abnimmt. Durch die immer schneller ein- und ausgeschalteten Motorwicklungen wird ein immer größerer Induktionsstrom verursacht, der dem Motorstrom entgegenwirkt. Dieser Effekt verringert das Drehmoment. Um dies auszugleichen ist es möglich höhere Spannungen zu verwenden.

Vref

Es gilt jedoch nach wie vor das Limit des Motorstroms von 1A zu beachten und hier kommen nun Vref und die sogenannten Sensing-Widerstände ins Spiel. Über diese fließt der Motorstrom, sodass der L6208 den dort entstehenden Spannungsabfall messen und mit Vref vergleichen kann.

In Idealfall fließt ein Motorstrom von 1A über die vier parallel geschalteten 1Ohm Widerstände. Daher ergibt sich: Usense = I x R = 1A x 0,25Ohm = 0,25V für jeden der beiden Sense-Kanäle (A & B).

L6208 - Sensing Schaltbild

L6208 – Sensing Schaltbild

An Vref wird nun eine Referenzspannung angelegt, die durch den L6208 mit der Sense-Spannung verglichen wird. Ist Usense größer als Vref, dann wird der L6208 den Motorstrom so weit absenken bis Usense = Vref ist und stellt somit sicher, dass der Motor nicht durch zu hohen Strom beschädigt wird.

L6208 - Spannungsteiler für Vref

L6208 – Spannungsteiler für Vref

R10 muss also so eingestellt werden, dass zwischen X6 und X7 eine Spannung von 0,25V anliegt um einen Motorstrom von 1A zu halten.

Neuberechnung von R9 und R10

Die Einstellung der notwendigen 0,25V zwischen X6 und X7 ist leider etwas schwierig. Die Spannungssprünge die bei einer kleinen Bewegung des Trimmers entstehen, sind recht groß. Damit ist eine genaue Einstellung mühsam. Spannungswerte über ca. 0,8V kann ich einfach, darunterliegende recht schwierig einstellen.

Bei den aktuell verwendeten Widerstandwerten liegt Usense zwischen 0V und 1,49V. 0,25V befindet sich damit deutlich im unteren Drittel der möglichen Spanne. Ideal wäre das 0,25V im mittleren bis oberen Bereich der Einstellmöglichkeiten liegt.

L6208 - Berechnung Usense

L6208 – Berechnung Usense

Durch die Verwendung von vier 1Ohm Widerständen ist die Schaltung in der Lage bis zu 2A Motorstrom zu regeln, sodass eine Spannung bis maximal 0,5V an Vref benötigt wird. Daher werde ich bei der nächsten Version des L6208 Stepper Boards die Werte für R9 und R10 ändern, damit maximal ca. 0,5V für Vref eingestellt werden kann. Im folgenden Bild sind die Berechnungen und zukünftigen Werte für R9 und R10

L6208 - Neuberechnung Usense

L6208 – Neuberechnung Usense

Die linke Grafik zeigt, dass die Usense-Werte für 1A und 2A Motorstrom im oberen Bereich der Einstellspanne liegt. Dadurch sollte die Einstellung der korrekten Werte viel einfacher sein. Außerdem garantieren die neuen Werte von R9 und R10, dass der maximale Motorstrom nur 2A betragen kann und die Wahrscheinlichkeit einer Motorbeschädigung reduziert wird.

Vielleicht sagt nun der Ein oder Andere, dass für eine kurze Zeit ein 1,25facher Motorstrom zulässig ist (Datenblatt S.9). Das stimmt, aber ich finde, dass ein Schrittmotor teuer genug ist, dass ich ihn lieber vor Beschädigungen schütze als ihn zu beschädigen und evtl. wegschmeißen zu müssen. Wer die Möglichkeit trotzdem haben möchte, kann sich oben den entsprechenden Wert für R9 ausrechnen und verwenden 😉

Schlussworte

Wer hätte gedacht, dass das Thema Vref soviel Platz in Anspruch nimmt. Ich bin tatsächlich ein wenig erstaunt über den Umfang. Hoffentlich kann ich euch mit diesem Artikel weiterhelfen und die Suche im Internet etwas verkürzen.

Sollte euch noch ein Thema zum L6208 auf dem Herzen liegen, dann freue ich mich über Kommentare hier im Blog oder Emails. Ich versuche diese Themen dann in Kürze einfließen zu lassen.

Alles Gute, Timo

Update 22.08.2013:

Da ich mich gegen den Mikroschrittbetrieb mit dem L6208 zu realisieren, arbeite ich momentan an einem weiteren Schrittmotorprojekt mit dem Allegro A3979. Vielleicht ist dies auch interessant? Dann geht es hier zum ersten Artikel über den Schaltplan des A3979-Moduls.

3 Gedanken zu „Schrittmotortreiber mit dem L6208 – Vref

  1. Hallo Timo
    habe da ein paar Probleme mit L6208 und deiner Zeichnung. In einer Schaltung hast du VREF und PWM A und PWM B durch Jumper steckbar dargestellt. In der anderen Zecichnung hast du es garnicht drin und PWM A/B nicht angeschlossen. Im Shop hast du die Platine mit den Wannensteckern 10 und 6 polig drin. Auf der Platinenzeichnung hast du Klemmbuchsen drin. Einmal gibst du den Microschrittbetrieb an und dan wieder nicht. Sorry, da komme ich durcheinander. Was stimmt den?
    achim seeger

    1. Hallo Achim,
      da ich den L6208 nicht im Mikroschrittbetrieb betreiben möchte, sind die PWM-Anschlüsse hinfällig geworden und in neueren Versionen nicht mehr vorhanden. Der 10-polige Stecker ist als Anschluss an ein Mikrocontrollerboard gedacht, wo ja gerne die 10-poligen Flachband-Verbindungen benutzt werden. Da vier Steuersignale für einen L6208 ausreichen, dient der 6-polige Anschluss dafür, die „überzähligen“ vier Leitungen des 10-poligen Steckers an ein zweites L6208 Board weiterzuleiten. Dafür sind die Master/Slave Jumper da. Die Schraubklemmen nutzt man für die Motorspannung und den Motoranschluss.

  2. Hallo Timo
    danke für die Info. Da brauch ich nicht weiter zu suchen, dachte schon, ich was übersehen
    achim

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.