Kann ich einen Schrittmotor mit einer normalen MCU antreiben?

Wenn wir uns nur auf die Signale und nicht auf die Leistung konzentrieren, reicht dann eine gewöhnliche MCU wie jeder der allgegenwärtigen 32-Bit-Controller von Atmel aus, um einen Schrittmotor anzutreiben?

Welche Vorteile bieten vorgefertigte Spezial-Motortreiberchips neben dem vereinfachten PCB-Layout?

Wie kann man sich möglicherweise nicht auf die Macht konzentrieren , wenn genau das den Unterschied ausmacht?
Die Antwort ist ja, aber der Strom von Mikros ist begrenzt. Das wurde schon mal mit sehr guten Antworten gefragt...
Natürlich zumindest bei klugem Softwaredesign. Schrittmotoren erfordern in der Regel ein konsistentes Impulstiming und bei höheren Geschwindigkeiten/Lasten gleichmäßige Beschleunigungsprofile, daher ist möglicherweise etwas Sorgfalt erforderlich, insbesondere wenn Sie Bewegungen ausführen, an denen mehr als eine beteiligt ist. Aber selbst niedrige ATmegas führen routinemäßig 4 oder mehr in Koordination für Drucker aus. Ironischerweise sind es „moderne“ Prozessoren für Multitasking-Systeme, die im Allgemeinen ungeeignet sind, zumindest wenn sie ihre gewöhnlichen Software-Stacks ausführen oder E/A-Schnittstellen im „PC-Stil“ verwenden, die eine hohe Bandbreite auf Kosten einer hohen Latenz erreichen.
Was Sie mit einem signalerzeugenden Treiberchip erhalten, ist das Entladen der Schrittsequenzierung (trivial), die Mikroschritt-Proportionierung und möglicherweise ein Strom-Chopping-Komparator. Das unterscheidet sich von der leistungstreibenden Rolle, über die Sie nicht sprechen wollten, obwohl sie für alle außer den kleinsten hochohmigen Anzeigemotoren erforderlich ist.
@Eugene: Ich bin ein Anfänger, also habe ich vielleicht etwas nicht verstanden, aber nach meinem Verständnis gibt es in einem Treiber für einen Motor zwei Teile; eine, um korrekte Signale zu erzeugen, und eine, um diese Signale auf die richtige Ampere/Spannung für die Motoren zu verstärken. Ist das korrekt? Ich meinte, mich nur auf den Teil der Signalerzeugung zu konzentrieren, im Gegensatz zum Teil der Leistungsverstärkung.
@ChrisStratton: OK, Sie sagen also (wie ich vermute, dass Eugene es auch ist): "JA, eine MCU ist gut genug, aber auf das Power-Zeug, das Sie im IC bekommen, sollte ich meine Aufmerksamkeit richten"?
Ein Stepper ist im Wesentlichen ein digitaler Motor. Liefern Sie Impulse und es dreht sich. Aber es gibt einen Grund, warum Treiber verwendet werden, um Mikros mit Geräten zu verbinden. Macht ist begrenzt. Lassen Sie das Mikro die Steuerung übernehmen und überlassen Sie das Fahren einem Gerät, das dafür bestimmt ist.
Ehrlich gesagt sind sowohl die Signalerzeugung als auch die Stromversorgung Bereiche, die Aufmerksamkeit erfordern, wenn Sie gute, zuverlässige Ergebnisse über die entspanntesten Anwendungsfälle hinaus wünschen.
@LennartRolland: Ich denke du verstehst richtig. Die Generierung grundlegender Stepper-Sequenzen kann in der MCU erfolgen. Stepper-Chips bieten zusätzliche Funktionen (über eine einfache Transistortreiberlösung) in den Chips. Dazu gehören Mikroschritte, Stromsteuerung und normalerweise die Schutzdioden.
Im Allgemeinen nein, ich habe mit den Motoren gespielt, die zum Bewegen der Nadel auf einem Messgerät auf Ihrem Armaturenbrett verwendet werden. Wenn Sie jedoch etwas Schwereres mit einem kräftigeren Motor bewegen möchten, werden Sie Ihren Mikrocontroller sehr schnell einschmelzen. Am Ende des Tages steht die Antwort in den Datenblättern für die MCU und den Motor, lesen Sie sie einfach.

Antworten (2)

Ja, eine gewöhnliche MCU würde ausreichen, um einen Schrittmotor auf "dumme" Weise anzutreiben.

Viele Spezialchips für Schrittmotorantriebe leisten mehr, als nur die entsprechende Schrittfolge zu erzeugen, um die Schrittmotorspulen mit Energie zu versorgen.

Daher sind spezielle Schrittmotor-Antriebschips nicht gleichbedeutend mit einer MCU mit einer gewissen Leistungsumschaltung.

Zum Beispiel treiben einige Schrittmotor-Treiberchips die Schrittmotorspulen mit konstantem Strom von einer höheren Spannung als der Schrittmotor an. Dadurch kann der Schrittmotor eine bessere Leistung erzielen. Die Verwendung einer "dummen" Schrittfolge und des dummen Leistungsschaltens mit einer Überspannungsstromquelle würde den Schrittmotor wahrscheinlich überhitzen und beschädigen.

Einige Treiberchips für Schrittmotoren verarbeiten auch Mikroschritte, was eine gleichmäßigere Bewegung ermöglicht und Schrittmotorresonanzen vermeiden oder minimieren könnte.

Schrittmotortreiber schützen den Motor wahrscheinlich auch vor übermäßiger Stromaufnahme, wenn er blockiert.

Es wäre möglich, eine MCU mit genügend Ressourcen zu verwenden, um all diese Dinge zu erreichen. Die Komplexität der Elektronik geht jedoch weit über das Leistungsschalten hinaus. Auch die Komplexität von MCU-basierter Software, um eine vergleichbare Leistung und Robustheit zu erreichen, würde viel Zeit in Anspruch nehmen, um (von Grund auf neu) zu entwickeln.

Während keine höhere Spannung verwendet wird, bedeutet die Stromregelung, dass das Drehmoment schnell mit der Geschwindigkeit abfällt. Dies kann jedoch auch von einer MCU implementiert werden - sie wird nur häufiger entlastet, da sie einen Komparator benötigt und jeder Fehler / Hänger in der MCU-Software dazu führen kann, dass der Motor mehr als den Nennstrom erhält, was zu einer Erwärmung und möglicherweise sogar zu einer dauerhaften Entmagnetisierung führt Schadensproblem.
@ChrisStratton - Ich glaube, ich habe Ihre Kommentare angesprochen?

Sie werden kein anständiges Projekt mit MCU finden, das den Schrittmotor steuert, weil es nicht dafür gemacht ist. Es gibt viele dedizierte Schrittmotor-ASICs, die den Strom und die Spannung der Schrittmotorwicklungen steuern können, damit sie ordnungsgemäß funktionieren. Die Atmel-MCU ist einfach zu langsam zum Steuern, ein DSP könnte es vielleicht tun, aber das wäre teuer. ASICs bestehen aus diskreten Komponenten: Komparatoren, Latches, Transistoren, Uhren usw. wie L297 + L298 für neuere Alllegro-, ST-,..-Treiber. Wie gesagt, kein Job für MCU, damit senden Sie nur die Sollwerte: Schrittimpulse.