Forum: Mikrocontroller und Digitale Elektronik Frage an die Spezialisten für Antriebstechnik


von S. K. (sinan)


Lesenswert?

Hallo liebe Forumgemeinde,

nach längerem Kopfzerbrechen, habe ich mich nun entschieden, euch mit 
einigen Fragen zu belasten, um hoffentlich eine Lösung zu finden.

Es geht um die zwei Favoriten der Antriebstechnik (Stepper und BLDC), 
welche für den Einsatz in einer CNC Fräse in Frage kommen.

Vor ca. einem Monat habe ich mir einen Stepper zugelegt, um mich in die 
Ansteuerung einzuarbeiten, welche nicht allzu schwer ist. Die Spulen des 
Steppers wurden über Vierquadrantensteller angesteuert, welche wiederum 
von einem Arduino geschaltet wurden. Darüber hinaus wurde auch der Strom 
über die PWM geregelt.

Nach den ersten Tests stellte ich fest, dass der Motor zwar hervorragend 
ansteuerbar ist, aber die dynamischen Fähigkeiten des Motors ziemlich 
ernüchternd waren. Dazu kam noch, dass die Gefahr von Schrittverlusten 
mir sorgen gemacht haben und dass der Motor nur bei eher langsameren 
Drehzahlen brauchbar war. Somit entschied ich mich, auf einen BLDC mit 
Hallsensoren umzusteigen.

Der BLDC hat mich durch seine dynamischen Fähigkeiten stark überzeugt 
und die Tatsache, dass er auch bei hohen Drehzahlen Einsatzfähig ist, 
war ein Pluspunkt. Leider habe ich festgestellt, dass der BLDC bei 
langsameren Drehzahlen (unter 500 1/min) nur bedingt genau regelbar ist 
(Blockkommutierung).
Im Netz bin ich dann auf die Sinuskommutierung gestoßen und auch diese 
in der Hoffnung, den BLDC stufenlos ansteuern zu können Umgesetzt.

Ironischerweise habe ich dann festgestellt, dass der BLDC mit der 
Sinuskommutierung sich wie ein Schrittmotor verhällt und lediglich 
seinen 6 Schritten*Polpaarzahl folgt.

Soooooooooooooo
Nun zu meinen Fragen.

Gibt es überhaupt die Möglichkeit, einen BLDC mit einer feinen 
Schrittrasterung anzusteuern (ähnlich Stepper), ohne ein Getriebe 
verwenden zu müssen  ??

Ich habe festgestellt, dass ich bei einer CNC-Anwendung nicht um einen 
Motor mit integrierten Encoder komme. Verhällt sich ein Stepper mit 
einem Encoder von der Dynamik her, ähnlich wie ein BLDC oder ist ein 
BLDC grundsätzlich besser was die Dynamik angeht ?

Was können die Experten bei solchen Anwendungen empfehlen.
Wichtig ist hierbei eine hohe Dynamik bei gleichzeitiger 
Positionierungssicherheit.

Liebe Grüße

von Falk B. (falk)


Lesenswert?

@ S. Kep (sinan)

>Ironischerweise habe ich dann festgestellt, dass der BLDC mit der
>Sinuskommutierung sich wie ein Schrittmotor verhällt und lediglich
>seinen 6 Schritten*Polpaarzahl folgt.

Dann stimmt deine Ansteuerung nicht.

>Gibt es überhaupt die Möglichkeit, einen BLDC mit einer feinen
>Schrittrasterung anzusteuern (ähnlich Stepper), ohne ein Getriebe
>verwenden zu müssen  ??

Ja. Dazu braucht man meist aber einen Drehgeber, um die exakte 
Rotorlage zwischen den 6 Phasenwinkeln zu erkennen.

>Ich habe festgestellt, dass ich bei einer CNC-Anwendung nicht um einen
>Motor mit integrierten Encoder komme.

Genau.

> Verhällt sich ein Stepper mit
>einem Encoder von der Dynamik her, ähnlich wie ein BLDC

Nein.

> oder ist ein
>BLDC grundsätzlich besser was die Dynamik angeht ?

Ja.

>Wichtig ist hierbei eine hohe Dynamik bei gleichzeitiger
>Positionierungssicherheit.

Das wird teuer ;-)

von Thorsten O. (Firma: mechapro GmbH) (ostermann) Benutzerseite


Lesenswert?

Ziemlich umständliche Herangehensweise für so ein Projekt. Wie viele 
Monate hast Du den da schon beim Experimentieren versenkt? Nichts für 
ungut, aber das hätte man auch einfacher haben können...

Wesentlichste Unterschiede zwischen Schrittmotoren und BLDCs bzw. 
Synchronmotoren sind Rastmoment und Polpaarzahl. Mit der deutlich 
höheren Polpaarzahl bei Schrittmotoren liegt die Erklärung für die 
niedrigere Dynamik schon auf der Hand. Die Induktivität der Wicklungen 
steht einem unbegrenzt schnellen Umschalten der Polarität (egal ob 
Blockkommutiert/Vollschritt oder Sinuskommutiert/Mikroschritt) entgegen. 
Damit ist der Schrittmotor in Hinblick auf die Drehzahl im Nachteil. 
Dafür benötigt der BLDC aber oft ein Getriebe, um im optimalen 
Drehzahlbereich arbeiten zu können.

Ob man für eine CNC-Maschine wirklich einen Encoder benötigt, darüber 
lässt sich streiten. Zumindest bei den als "Käsefräsen" bezeichneten 
Alu-Tischgestellen kann man sicher darauf verzichten. Bei einer 5-achs 
Maschine für den Werkzeug- und Formenbau sieht die Sache schon anders 
aus. ;)

Mit freundlichen Grüßen
Thorsten Ostermann

von Martin S. (led_martin)


Lesenswert?

@S. Kep (sinan):

Mit welcher Spannung hast Du den Schrittmotor betrieben? Vielleicht ist 
die zu niedrig, in Industrieanwendungen sind da 70V .. 80V keine 
Seltenheit (gefährlich!). Mit der Betriebsspannung steigt die maximal 
mögliche Schrittfrequenz. Man muß aber immer über Drehzahl-Rampen 
beschleunigen und abbremsen. Die Startfrequenz ist dann deutlich kleiner 
als die maximale Schrittfrequenz. Vielleicht sind die Schrittmotoren 
aber auch nur zu klein, für deine Maschine. Bei Schrittmotoren schadet 
es nicht, beim Drehmoment eher großzügig zu dimensionieren.

Dann geht auch so Etwas:

https://www.youtube.com/watch?v=5fiGsPaFEbs

Mit freundlichen Grüßen - Martin

von Holm T. (Gast)


Lesenswert?

Hmm.."Schrittmotor extrem" ..hab mir das kurze Video angesehen..reißt 
mich nicht vom Sessel.

In der DDR hat Robotron elektronische Schreibmaschinen mit 
Schrittmotoren gebaut (S6001) deren Wagen mit wiederum 2 Schrittmotoren 
von einem Schrittmotor über einen Seilzug bewegt wurde. Auf dem Wagen 
befand sich ein Typenrad auf einer S-Motorwelle. Einen Drucker auf der 
Basis dieser Mechanik kann man hier angucken: 
https://www.youtube.com/watch?v=hQ6LgUmLQI4.

Der Wagenmotor hatte einen Kapazitiven Positionsgeber und der Motor 
wurde kombiniert digital und analog gesteuert. Es wurde digital 
positioniert und analog beim positionieren geregelt mit Auswertung der 
Sin/Cos Signale des Gebers auf der Motorwelle, so das die 
Pendelschwingungen gedämpft wurden. Damit waren 35-40 Zeichen/Sekunde 
möglich, es mußte sowohl der Wagen als auch die Typenscheibe exakt 
positioniert und wieder gebremst werden eher der Magnet die Type gegen 
das Papier hämmern konnte. Ja, andere Hersteller konnten das auch...aber 
da steckt deutlich mehr Grips dahinter als hinter dem Bisschen Rädelei 
auf dem Video oben, zumal die 1. Variante der S6001 oder des SD1152 mit 
nur einem Z80 mit 2,5Mhz gesteuert wurden.

Gruß,

Holm

von MaWin (Gast)


Lesenswert?

S. K. schrieb:
> Gibt es überhaupt die Möglichkeit, einen BLDC mit einer feinen
> Schrittrasterung anzusteuern (ähnlich Stepper), ohne ein Getriebe
> verwenden zu müssen  ??

Nein.

> Ich habe festgestellt, dass ich bei einer CNC-Anwendung nicht um einen
> Motor mit integrierten Encoder komme.

Falsch.

Richtig ausgelegte Schrittmotoren brauchen keinen Encoder, weil sie 
höchstens am Endanschlag mal Schritte verlieren. Sie sind so kräftig 
ausgelegt, daß sie der Schnittkraft des durch den Spindelmotor 
angetriebenen Werkzeugs gegenhalten können, und werden so angesteuert, 
daß Trägheitsmomente nicht überschritten werden.

Wichtig ist
a) Mikroschritt. Vergiss Halb- oder Vollschritt, das ist Steinzeit und 
macht nur Probleme.
b) Brems und Anfahrrampen.
c) Nicht ZU schnell während der Bearbeitung, schneller dann im Eilgang 
wenn keine Kraft vom Fräser auszugleichen ist.

> Wichtig ist hierbei eine hohe Dynamik bei gleichzeitiger
> Positionierungssicherheit.

Normalerweise reichen Stepper. Wenn auch ein schneller Stepper zu 
langsam ist, nimmt man Servomotore, für besonders hohe Dynamik als 
Gleichstrom-Glockenankermotor, typischerweise aber Drehstrommotore mit 
Vektorsteuerung. Aber das beginnt bei den tonnenschweren Modellen der 
Industrie.

Wie gross oder klein ist denn deine Fräse, wie schnell muss sie denn bei 
der Bearbeitung verfahren und welches Drehmoment muss der Motor da 
aufbringen, und wie schnell soll sie im Eilgang fahren und wie hoch ist 
das Drehmoment da ?

Schnittkräfte kann man ausrechnen, wenn die Schneide vom Fräser 1mm2 vom 
Werkstück wegnimmt und dieses 1000Nmm2 Zerspanungshärte aufweist, dann 
braucht man bei 2kW Antriebsleistung und bekommt eben 1000Nm oder 109kg 
Gegendruck. Wie der sich dann auf deinen Motor auswirkt, hängt von der 
Maschine ab (Kugelrollspindeln?, Übersetzungen?)
http://www.kennametal.com/de/resources/calculators/end-milling/force-torque-and-power.html

Tausende mit Schrittmotoren gesteuerte CNC Fräsen zeigen, daß es geht. 
Wer natürlich nach seinem ersten eigenen Fehler gleich "was anderes" 
will, wird nie lernen, worin der Fehler bestand, gibt Unmengen an Geld 
aus, und wird auch mit den Alternativen nicht glücklich.

Wie gesagt: Wenn man die Antriebsleistung kennt und den mechanischen 
Aufbau, kann man die benötigte Schrittmotoren ausrechnen. Zur optimalen 
Auslegung berechnet man auch, wie weit sie untersetzt werden sollten.

von heinz (Gast)


Lesenswert?

> Gibt es überhaupt die Möglichkeit, einen BLDC mit einer feinen
> Schrittrasterung anzusteuern (ähnlich Stepper), ohne ein Getriebe
> verwenden zu müssen  ??
Ja
Suche unter "direcet drive bldc" da findest du mehr Informationen.
Bei Achsantrieben von "richtigen" CNC Maschinen ist das Standart. Kein 
Getriebe kein Spiel (ganz grob gesagt)

> Ich habe festgestellt, dass ich bei einer CNC-Anwendung nicht um einen
> Motor mit integrierten Encoder komme.
Wenn du das auf BLDC bezogen hast, dann stimmt die Aussage.
Da kommt üblicherweise ein Resolver an den Motor.

von Martin S. (led_martin)


Lesenswert?

@Holm Tiffe (holm):

Es war mir schon klar, daß dieses Video nicht das Super-Beispiel ist, es 
war eines der Ersten, das ich, auf die Schnelle, gefunden hatte. Ich 
wollte nur zeigen, daß da mehr geht, als das, auf Start-/Stopp-Frequenz 
beschränkte, Gerappel, das bei manchen Hobbyprojekten, auf Youtube, 
gezeigt wird.

Mit freundlichen Grüßen - Martin

von S. K. (sinan)


Lesenswert?

Hallo Leute,

echt klasse Antworten die ich hier bekomme :)
Vielen vielen Dank.

Zu der feinen Ansteuerung der BLDC's:
Ich dachte immer, dass man die Vektorregelung verwenden muss, um 
möglichst genau regeln zu können, und dass die Blockkommutierung nicht 
genau genug für CNC-Anwendungen ist. Was haltet ihr von der 
Blockkommutierung bei so einer Anwendung ?

Zu den Schrittmotoren:
Also was die Ansteuerbarkeit der Stepper angeht, bin ich wirklich 
begeistert, da man ganz simpel über eigene Codes den Motor sehr flexibel 
ansteuern kann. dafür überzeugt mich der BLDC was die Dynamik angeht. 
Habe beide Motoren vor mir liegen (Ohne Encoder).

Das Projekt bezieht sich wie gesagt erst mal auf eine simple Käsefräse, 
wobei ich erwähnen muss, dass sobald die Maschine zuverlässig läuft, das 
ganze vergrößert wird.
Somit wäre es mir ein Anliegen, das Antriebskonzept so auszulegen, dass 
ich bei größeren Maschinen auch auf die gleichen Motortypen 
zurückgreifen kann, ohne das Antriebssystem ändern zu müssen.

Aktuell bin ich eben noch am überlegen.
BlDC mit Encoder in der Blockkommutierung oder Stepper mit Encoder:

Liebe Grüße und vielen herzlichen Dank

von Felix A. (madifaxle)


Lesenswert?

Ich weiß, du möchtest das selber bauen und das ist sicher auch eine 
spannende sowie lehrreiche Sache.

Ich möchte daher auch nur anmerken, dass es Schrittmotortreiber gibt, 
die über einen Encoder am Stepper eine Closed Loop Regelung ermöglichen. 
So hat auch der Stepper keine Schrittverluste mehr.

von MaWin (Gast)


Lesenswert?

S. K. schrieb:
> Habe beide Motoren vor mir liegen

Normalerweise kauft man anders: ERST ausrechnen was man braucht, DANN 
kaufen, sonst kauft man nicht nur 2 mal sondern 3 mal oder 10 mal.

Aber manche Leute haben Geld wie Heu und bauen alles 2 mal oder 3 mal

> sobald die Maschine zuverlässig läuft, das ganze vergrößert wird.

Andere Leute sagen "Kaputt gemacht wird".

> simple Käsefräse

Keine "simple Käsefräse" wird mit BLDC in Vektorsteuerung laufen, denn 
die Komplexität des Antriebs würde das Projekt sofort zum Scheitern 
verurteilen. Es steht dir natürlich frei, dich direkt zum Scheitern zu 
begeben, ohne zwischendurch eine funktionierende Fräse zu besitzen.

Es ist ja nun nicht so, daß du der erste wäre, der glaubt, mit ein wenig 
Bastelei billig zu einem Produkt zu kommen.

Fang damit an, dir zu überlegen, welches Material die Maschine mit 
welchem Fräser bearbeiten können soll, der Rest berechnet sich daraus. 
Z.B. Alu oder Baustahl (500N/mm2 reichen aus) mit 1mmx0.1mm grossen 
Spänen (50N) mit 10mm Fräser (0.25Nm) mit 40m/min (1200upm) bei 
480mm/min Vorschub und 150W Frässpindelleistung übt immerhin eine Kraft 
aus von 5kg bei der sich der Fräskopf nicht um 0.1mm verbiegen darf 
(sondern eher nur 0.033).

von MaWin (Gast)


Lesenswert?

Felix A. schrieb:
> Ich möchte daher auch nur anmerken, dass es Schrittmotortreiber gibt,
> die über einen Encoder am Stepper eine Closed Loop Regelung ermöglichen.
> So hat auch der Stepper keine Schrittverluste mehr.

Ein Stepper hat sowieso keine Schrittverluste, sonst hat man was 
gnadenlos vergeigt.

Wenn der Stepper beim Fräsen einen Schrittverlust hätte, kannst du das 
Fräsergebnis sowieso wegschmeissen, denn auch denn der closed-loop-Servo 
den Schritt wieder aufholt, dein Werkstück ist ruiniert.

von Felix A. (madifaxle)


Lesenswert?

Schritte sowohl bei Servomotoren als auch bei Steppern sind immer 
diskret aufgrund der Tatsache, dass die Decoder diskret arbeiten. Ein 
Schritt fällt da nicht ins Gewicht, da eben nur geregelt werden kann was 
auch gemessen werden kann. So sollte das System zumindest ausgelegt 
worden sein.

von Karl (Gast)


Lesenswert?

Was willst du den mit einer hohen Dynamik? Wenn deine Spindel 5 mm 
Steigung hat, dann sind 1000 U/min ca. 83 mm/s. Ist das nicht schnell 
genug? Ein 500 mm langer Tisch wäre in weniger als 10 s durchfahren. Wie 
eilig hast du es denn?

von Possetitjel (Gast)


Lesenswert?

S. K. schrieb:

> Zu den Schrittmotoren:
> Also was die Ansteuerbarkeit der Stepper angeht, bin ich
> wirklich begeistert, da man ganz simpel über eigene Codes
> den Motor sehr flexibel ansteuern kann.

Der übliche Blödsinn.

Das "ganz einfache" Takt-Richtungs-Interface ist in seiner
Urform nur für Punktsteuerungen tauglich, weil sämtliche
Effekte der Maschinendynamik (Elastizität, Trägheitskräfte)
vernachlässigt werden.

Eine vernünftige Drehfelderzeugung (Beschleunigungsrampen,
Mikroschrittbetrieb) für Schrittmotoren macht ungefähr
dasselbe wie der Umrichter für einen BLDC.

> Das Projekt bezieht sich wie gesagt erst mal auf eine
> simple Käsefräse, wobei ich erwähnen muss, dass sobald
> die Maschine zuverlässig läuft, das ganze vergrößert wird.
>
> Somit wäre es mir ein Anliegen, das Antriebskonzept so
> auszulegen, dass ich bei größeren Maschinen auch auf die
> gleichen Motortypen zurückgreifen kann, ohne das
> Antriebssystem ändern zu müssen.

Das Antriebssystem hängt weniger von der Größe der Maschine
ab sondern eher von den angepeilten Parametern. Ziemlich
entscheidend ist der gewünschte maximale Vorschub.

> Aktuell bin ich eben noch am überlegen.
> BlDC mit Encoder in der Blockkommutierung oder Stepper mit
> Encoder:

Hörst Du überhaupt zu, was man dir sagt?
Warum kommst Du immer wieder ausgerechnet auf die untauglichen
Varianten zurück?

von Possetitjel (Gast)


Lesenswert?

Karl schrieb:

> Was willst du den mit einer hohen Dynamik?

Nichts.

Das interessiert nur den Durchschnittsbastler nicht. "Deutsch
sein heißt, eine Sache um ihrer selbst willen zu tun." :)

Industriemaschinen brauchen einen Eilgang, weil die
Produktivität wichtig ist - Zeit ist Geld.

Da der automatische Werkzeugwechsel unproduktive Zeit nach
sich zieht, müssen diese Zeiten so kurz wie möglich gehalten
werden - also ist ein schneller Eilgang wichtig.

Für private Anwendung ist das unwichtig bis bedeutungslos.

> Wenn deine Spindel 5 mm Steigung hat, dann sind 1000 U/min
> ca. 83 mm/s. Ist das nicht schnell genug? Ein 500 mm langer
> Tisch wäre in weniger als 10 s durchfahren.

Natürlich. Das ist der Grund, warum Schrittmotoren an einer
Selbstbaufräse i.d.R. ausreichend sind.

von Thorsten O. (Firma: mechapro GmbH) (ostermann) Benutzerseite


Lesenswert?

Hallo MaWin,

> Ein Stepper hat sowieso keine Schrittverluste, sonst hat man was
> gnadenlos vergeigt.

Richtig.

> Wenn der Stepper beim Fräsen einen Schrittverlust hätte, kannst du das
> Fräsergebnis sowieso wegschmeissen, denn auch denn der closed-loop-Servo
> den Schritt wieder aufholt, dein Werkstück ist ruiniert.

Wenn es ein echter Closed-Loop Regler ist (egal ob Stepper oder Servo), 
dann gibt es nichts aufzuholen (den Schleppfehler lassen wir jetzt hier 
mal weg, damit es nicht zu kompliziert wird). Der Regler erhöht den 
Motorstrom so weit, dass kein Schrittverlust auftritt. Dafür darf der 
Motor kurzfristig auch überlastet werden.

Eine andere Baustelle sind "pseudo closed loop" Systeme, die den Encoder 
nur zur Erkennung von Schrittverlusten verwenden. Bei dynamischer Fahrt 
gibt es auch da nichts aufzuholen, weil der Rotor ausrastet und somit 
stehen bleibt, sobald er dem Drehfehld nicht mehr folgen kann.

Einzelschrittfehler passieren endweder beim Bremsen (Motor "schießt" 
etwas über das Ziel hinaus) oder aufgrund von EMV-Problemen (Endstufe 
erkennt eine Taktflanke, obwohl die Steuerung keine gesendet hat oder 
andersherum).

Mit freundlichen Grüßen
Thorsten Ostermann

von MaWin (Gast)


Lesenswert?

Thorsten O. schrieb:
> Wenn es ein echter Closed-Loop Regler ist (egal ob Stepper oder Servo),
> dann gibt es nichts aufzuholen (den Schleppfehler lassen wir jetzt hier
> mal weg, damit es nicht zu kompliziert wird). Der Regler erhöht den
> Motorstrom so weit, dass kein Schrittverlust auftritt. Dafür darf der
> Motor kurzfristig auch überlastet werden.

Na ja, bei der dynamischen Anpassung des Motorstroms an die Belastung 
würde ich nicht von Encoder zur Verhinderung von Schrittverlusten reden, 
sondern eben von dynamischer Stromregelung (Trinamic). Das kann man auch 
ganz ohne Encoder und Sensor machen, weil in einer CNC die entstehenden 
Kräfte (vor allem aus der Beschleunigung resultierend) bekannt sind, man 
kann also gleich den Motor mit einem der Aufgabe angemessenen Strom 
fahren (beispielsweise Fräskopf rauf mehr Strom als Fräskopf halten oder 
runter) und sie ausrechnen lassen, ob und die lange der Motor diesen 
erhöhten Strom verträgt. Früher hat man ja auch den Kopf eines 
Floppylaufwerks mit 12V verschoben und mit 5V gehalten. Keiner braucht 
dafür Trinamic.

> Eine andere Baustelle sind "pseudo closed loop" Systeme, die den Encoder
> nur zur Erkennung von Schrittverlusten verwenden.

Tja, und da ist Essig bei Schrittverlusten. Und wenn er einen Schritt 
verlor, hilft auch kein aufholen weil er gleich wieder einen Schritt 
verlieren wird.

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
Noch kein Account? Hier anmelden.