Schrittmotortreiber. Testen des L9110-Chips

Woher wachsen die „Beine“?


Verschiedene softwaregesteuerte Werkzeugmaschinen sind jetzt verfĂŒgbar und haben an PopularitĂ€t gewonnen. Dies sind Laser- und FrĂ€ser und Graveure. Und auch 3D-Drucker. Alle diese Maschinen haben einen gemeinsamen Knoten - einen Schrittmotor.

Und dieser Motor braucht einen Fahrer.



Das Prinzip des Motorbetriebs ist nicht Gegenstand dieses Artikels. Wir werden nur den Fahrer betrachten. In diesem Zusammenhang mĂŒssen wir nur wissen, welche Steuersignale wir zur Steuerung des Schrittmotors erzeugen mĂŒssen. Es stellt sich heraus, dass dies die hĂ€ufigsten Rechteckimpulse sind.

Es gibt eine Reihe von Treiberlösungen von verschiedenen Unternehmen. In unserem Artikel werden wir die gĂŒnstigste L9110-Treiberlösung und das analoge HG7881 betrachten. Diese Lösung wird hĂ€ufig in Arduino verwendet

Theorie und Praxis


Ich habe mich fĂŒr den L9110-Chip in meinem Projekt entschieden.

Ziemlich leicht gegoogeltes Datenblatt . Lesen Sie. Alles ist sehr klar. Eigenschaften, Pinbelegung, Wahrheitstabelle ... In jeder Hinsicht scheint der Fahrer geeignet zu sein. Die Schaltspannung betrÀgt 12 Volt, der Ausgangsstrom betrÀgt 800 mA. - gerade genug.

Und was ist das wirklich?



Ohne Verzögerung in der "langen Box" habe ich ein Board gemacht, ein Testprogramm geschrieben und gestartet ...
Das erste, was mir an meinem GerĂ€t aufgefallen ist, ist, dass der Treiberchip sehr heiß ist. Achtung! Leerlauf. Keine Last. Was sind diese Wunder der Schaltung?
Vielleicht ist mein Chip defekt?

Es kam die Idee, dieses GerÀt genauer zu betrachten. Und nicht einer, sondern ein Haufen.
Kaum gesagt als getan.
Es ist gut, dass ich einen SO-8-Sockel und eine Simulationsplatine auf Lager hatte.
Nun, und ein Controller basierend auf STM32.

Der StÀnder wurde zusammengebaut und gemessen.



Ja, ĂŒbrigens zusĂ€tzlich zu direkt dem Leistungsknoten im Chip eingebettete Logik exklusives ODER. In einem Datenblatt wird es beschrieben .

Da ich den Effekt des Erhitzens der Mikroschaltung untersuche, ist es besser, mich nicht auf logische Einsen und Nullen zu beschrÀnken, sondern echte Spannungen zu entfernen.

Als Ergebnis der Messungen wurde eine Platte erhalten:



Betrachten Sie die Zeilen 2 und 3. Was sehen wir hier?

  1. Der Spannungsabfall an den Ausgangstransistoren betrÀgt bei Last etwa eineinhalb Volt, was bei einem Strom von 0,33 Ampere 0,5 Watt pro Kanal ergibt.
  2. Im Leerlauf verbraucht die Mikroschaltung 0,05 A, was bei einer Spannung von 12 V 0,6 Watt pro Kanal ergibt.

Mit anderen Worten, unabhÀngig von der Last verbraucht es ungefÀhr 0,5 Watt pro Kanal. Jetzt ist klar, warum ich mir die Finger an ihr verbrannt habe.

Starke ErwĂ€rmung ist natĂŒrlich ein Nachteil. Aber vielleicht erfĂŒllt der Chip seine Funktion gut? Hier hat sich ein kĂŒrzlich angebrachtes 4-Strahl-PrĂ€fix-Oszilloskop als nĂŒtzlich erwiesen. Ich hatte nicht erwartet, dass ich so bald alle 4 Strahlen brauche. Zum Testen habe ich ein einfaches Programm auf stm32 geschrieben, das ich seit langem in verschiedenen Projekten verwende. Das Programm erzeugt einfach 2 rechteckige Signale mit einer dreifachen Frequenzdifferenz.

Da es besser ist, einmal zu sehen als oft zu lesen, scanne ich die Steuersignale.



Nichts zu kompliziert. Nur Rechteckimpulse mit einer Frequenzdifferenz von 3 verschoben.

Der obere Teil des Bildschirms - Eingangssignale - der untere - Ausgang.

Es ist sofort ersichtlich, dass bei unterschiedlichen Werten der Signale an den EingÀngen die Werte an den AusgÀngen ziemlich klar sind. Sie werden ohne Verzögerungen und mit scharfen Kanten eingestellt.

Wenn die Signale an den EingĂ€ngen ĂŒbereinstimmen, ist die Vorderseite sanft. Ă€hnlich der Kondensatorentladung.
Beim Durchsehen der Dokumentation habe ich nichts gesehen, was auf ein solches Verhalten hindeutet.
Vielleicht habe ich die Eingangsfrequenz zu hoch eingestellt? Das Datenblatt enthÀlt keine Begrenzung.
Da ich bereits wusste, dass dieser Treiber ein fast 100% iges Analogon zum HG7881 hat, wandte ich mich seiner Dokumentation zu .

Sie brachte mehr Licht in diese mysteriöse Situation. Es stellt sich heraus, dass die Logik des Treibers etwas breiter ist. Zwei Einheiten am Eingang bremsen (dh am Ausgang mĂŒssen beide Signale niedrig sein.) Und zwei Nullen am Eingang sind „hĂ€ngende“ Kontakte. Die LĂŒcke.

Daher sollten zwei Nullen am Eingang die AusgĂ€nge „aussetzen“. Dann ist das Verhalten des Entladungskondensators ziemlich vorhersehbar. Zwei Einheiten an den EingĂ€ngen - sollten jedoch eine zuverlĂ€ssige Null am Ausgang sein. TatsĂ€chlich ist dies jedoch nicht der Fall.

Ich könnte den "chinesischen Hersteller" fĂŒr diesen Mangel verantwortlich machen. Ich habe den Chip jedoch ehrlich von der Arduino-Platine verlötet getestet. An was - nicht an einem Chip. Aus mehreren Brettern. Das heißt, die Wahrscheinlichkeit einer Ehe ist stark verringert.

Fazit


Der Umfang der L9110-Mikroschaltung ist enger als angegeben und der Wirkungsgrad ist gering.
Die Streuung von 0,5-0,6 Watt auf einer Taste ist etwas zu groß. Es ist kein Zufall, dass diese Lösung die billigste ist (10 Cent pro Chip. Auf aliexpress).

In den folgenden Artikeln werden alternative Schrittmotortreiber erlÀutert.

Source: https://habr.com/ru/post/de473198/


All Articles