Forum: Mikrocontroller und Digitale Elektronik Stepper Motor Microstepping Frage zu TMC2208


von Stefan (drotalion)


Lesenswert?

Hallo allerseits,

ich habe eine Frage zu Microstepping mit Schrittmotoren. Ich habe mich 
relativ viel in Schrittmotoren eingelesen, inklusive hier auf dem Forum 
und je mehr ich mich informiert habe, desto mehr verunsichert wurde ich 
darüber, welchen Driver ich für mein Projekt nehmen soll ...

Meine Konkrete Frage:
- Microstepping bedeutet, wie es hier auf dem Forum geschrieben wurde, 
dass der Microprozessor weiterhin normale Schritte macht und der Driver 
statt ganze Schritte diese zu kleineren Bewegungen unterteilt, in dem 
der statt die Polare vollständig zu ändern, die Spannung der beiden 
Polaren schrittweise reduziert / erhöht, um ein smoother Bewegung zu 
verursachen. Das bedeutet aber auch, dass ich bei einer 1/32 
microstepping auch 32 Fach mehr Steps machen muss, damit ich die gleiche 
Strecke zurücknehme.

Wie verhält es sich bei tmc2208? Auf dem Datenblatt steht, dass er in 
legacy mode die Steps auf 1/256 <interpoliert>! Bedeutet das, dass ich 
auf mein Microcontroller nur einen Step machen muss und der tmc2208 
kümmert sich um die 256 malige Aufteilung?

Oder läuft ein tmc2208 in legacy mode 256 fach langsamer (bei 
gleichbleibender Frequenz) als ein a4988 oder drv8825?

Da immer Fragen zu den Projekten kommen:
Das ganze könnt ihr euch wie ein Gantry Robot vorstellen. Links und 
rechts jeweils einen Stepper Motor, hoch und runter jeweils einen 
Stepper Motor, links und rechts jeweils einen Stepper Motor und für die 
Drehachse ebenfalls. Jedes Steppermotor bekommt ein eigener Driver aus 
projektspezifischen Gründen, also 6 Nema 17 0,42Nm => 6 Drivers. Die 
Achsen sind jeweils mit gut gefetteten M8 Gewindestangen befestigt => 1 
Umdrehung = 200 Steps = 1,25mm. Es werden Lastspitzen zu sehen sein, wo 
die 0,42Nm der Nema17 ausgeschöpft werden könnte. Daher tendiere ich 
eher zu DRV8255 wegen 1.5A ungekühlte Leistung gegensatz zu A4988. Ich 
plane mit einer 24V 10A Netzteil. Das mit Interpolierte Microstepping 
der tmc2208 habe ich aber nicht verstanden, ob das meine gesamte System 
nicht 256-fach langsamer macht. Wenn ja, wird es ziemlich knapp mit der 
16Mhz der Arduino Mega für alle vier Achsen - sechs Motoren, die sich 
teilweise gleichzeitig bewegen werden.

Dankeschön und schönen Abend.

: Bearbeitet durch User
von Joe (Gast)


Lesenswert?

Stefan schrieb:
> Dankeschön und schönen Abend.

Alsjeblieft, ik wens jou ook.

Am besten ausprobieren. Mikroschritte erhoehen nicht generell die 
Genauigkeit und haben ihre Tuecken. Da weicht nachher die Theorie von 
dem Ergebnis ab. My 2 cents.

von Spess53 .. (hardygroeger)


Lesenswert?

Hi

>Bedeutet das, dass ich
>auf mein Microcontroller nur einen Step machen muss und der tmc2208
>kümmert sich um die 256 malige Aufteilung?

Nein. Auch ein Microstep ist ein Step.

>Oder läuft ein tmc2208 in legacy mode 256 fach langsamer

Ja-

>als ein a4988 oder drv8825?

Die können m-W. auch Microsteps.

MfG Spess

von Andreas W. (andreasw) Benutzerseite


Lesenswert?

Die Interpolation auf 1/256 macht der TMC2208 intern selbst und man kann 
ihn daher wie einen Treiber im z.B. 1/8 Mikroschrittbetrieb betrachten.

https://learn.watterott.com/de/silentstepstick/pinconfig/tmc2208/#schrittkonfiguration

: Bearbeitet durch User
von K. M. (kmj)


Lesenswert?

Stefan schrieb:
> - Microstepping .... die Spannung der beiden
> Polaren schrittweise reduziert / erhöht, um ein smoother Bewegung zu
> verursachen.

Die angesprochenen Schrittmotor Treiber sind primär Strom gesteuert 
und im Microstepping werden die Ströme entsprechend vektoriel 
aufgeteilt.

> Achsen sind jeweils mit gut gefetteten M8 *Gewindestangen*

Erspaar dir diese Enttäuschung und nimm wenigstens Trapezgewindespindeln 
und Anti-Backlash Muttern. Sind auch nicht wesentlich teurer und ne 
ganze Ecke genauer.

https://www.motedis.com/de/Trapezgewindespindel-Zubehoer

von Stefan (drotalion)


Lesenswert?

Andreas W. schrieb:
> Die Interpolation auf 1/256 macht der TMC2208 intern selbst und man kann
> ihn daher wie einen Treiber im z.B. 1/8 Mikroschrittbetrieb betrachten.

Das bedeutet also: Wenn ich in 1/2 Modus laufen lasse, muss ich nur 2 
Steps für 1,8° Umdrehung machen - bei einer 1,8° Schrittmotor? Oder doch 
256, weil TMC2208 auf 256 Microsteps interpoliert?

Joe schrieb:
> Am besten ausprobieren. Mikroschritte erhoehen nicht generell die
> Genauigkeit und haben ihre Tuecken. Da weicht nachher die Theorie von
> dem Ergebnis ab. My 2 cents.

Das Problem ist: Dunning Kruger. Ich weiß nicht ein mal, wie wenig ich 
über Steppermotoren + Drivers weiß. Fakt ist aber, ich will keine 
Microsteps haben, wenn das die Anwendung verlangsamt. A4988 oder DRV8825 
in Microstep Modus verlangsamen die Anwendung. Wie ist es in TMC2208 in 
Legacy Modus? Verlangsamt es um 2 oder um 256 in 1/2 Modus? Das ist das, 
was ich herausfinden will =)

K. M. schrieb:
> Erspaar dir diese Enttäuschung und nimm wenigstens Trapezgewindespindeln
> und Anti-Backlash Muttern. Sind auch nicht wesentlich teurer und ne
> ganze Ecke genauer.

Gibt es irgendwo Literatur dazu, was du mir empfehlen würdest? Die 
Vorteile der Gewindestange und Mutter ist deutlich günstiger, einfacher 
zu beschaffen, einfacher zu bearbeiten und der Verschnitt tut finanziell 
nicht weh. Zusätzlich dazu haben Gewindestangen deutlich geringere 
Steigungen verglichen zu Trapezgewindespindel = Bessere 
Drehmomentübersetzung. Es gibt aber sicherlich einen Grund, weshalb die 
3D-Drucker alle Trapezgewindespindel verwenden.

: Bearbeitet durch User
von K. M. (kmj)


Lesenswert?

>Wie ist es in TMC2208 in Legacy Modus? Verlangsamt es um 2 oder um 256 in 1/2 
Modus?

Die 1/256tel Mikroschritt Zwischen-Interpolation zwischen zwei (User) 
Mikroschritten wird vom TMC2208 automatisch durchgeführt und wird auf 
Seite 59 im DB erklärt.

https://www.analog.com/media/en/technical-documentation/data-sheets/TMC2202_TMC2208_TMC2224_datasheet_rev1.13.pdf

Wenn du die (User) Mikroschritte auf 1/ntel anhand der von andreasw 
verlinkten Tabelle konfiguriert hast musst du die STEP/DIR Pins nur mit 
dieser 1/ntel freq. bedienen.

>Gewindestangen ... haben Vorteil...

Wenn dir die Steigungsgenauigkeit und Umkehrspiel von Gewindestangen 
ausreichen probiers halt aus. Dann vergiss aber ganz schnell irgendetwas 
in Richtung Mikroschritte.

>Es gibt aber sicherlich einen Grund, weshalb die 3D-Drucker alle 
Trapezgewindespindel verwenden.

Eben. Ist halt die Lernkurve von tausenden DIY Bastlern die einmal mit 
Gewindespindeln zu Träumen anfingen.

von J. S. (jojos)


Lesenswert?

Die Gewindestangen war früher die low cost Lösung, mit den 3D Druckern 
als Massenware sind die Trapezspindeln incl. Zubehör billig geworden. 
Aus den EU Lagern werden die auch schnell geliefert, also kein Grund 
mehr krumme Gewindestangen aus dem Baumarkt zu holen.
Und auch mit einem Arduino Mega muss man sich nicht mehr quälen, die 
Boards mit 32 Bit MCU sind ebenfalls billig genug und SW wie Marlin oder 
Klipper läuft auf allen. Bei dem AVR läuft in Marlin die 
Schrittgenerierung in einem 10 kHz Timer, wenn da 6 Achsen aktiv sind, 
dann kommt man schnell ans Limit und das Ding bleibt einfach ruckartig 
stehen.

von Stefan (drotalion)


Lesenswert?

J. S. schrieb:
> die low cost Lösung, mit den 3D Druckern
> als Massenware sind die Trapezspindeln

K. M. schrieb:
> Ist halt die Lernkurve von tausenden DIY Bastlern die einmal mit
> Gewindespindeln zu Träumen anfingen

Was ich herausgefunden habe ist: Z-Wobble bei Gewindestange ist 
beträchtlicher. Das ist mir aber egal: Ich erziele hier keine präzisen 
Bewegungen. > 1mm Genauigkeit. Daher kann ich Probleme wie Umkehrspiel 
und Wobble erstmal ignorieren.

J. S. schrieb:
> Und auch mit einem Arduino Mega muss man sich nicht mehr quälen

An diesem Punkt habe ich noch gar nicht gedacht, muss ich ehrlich 
gestehen. Können wir uns darüber unterhalten, bitte? Der Grund für 
Arduino Mega 2560 war, dass ich relativ viele IO Pins benötige: 4 
Gewichtssensoren (Jeweils 2 Pins), 6 Stoppersensoren für die Stepper, 
Steuerung für MOSFET (1pin) => Solenoidmotor und ein H Bridge (2 pins) 
für DC Motor. Dazu kommt eben die 6 * 2 pins für die Steppermotoren.

Laut dieser Seite https://reprap.org/wiki/Step_rates kann Arduino Mega 
16000 Steps pro Sekunde erzeugen. Drehmoment der Motoren jetzt Außenweg 
genommen. Das macht dann fast 2600 Steps pro Sekunde für einen Motor. 
Ohne Microstepping - womit ich zurzeit so plane, völlig ausreichend. Ich 
frage mich, ob die Motoren überhaupt da hinterherkommen werden, ohne 
Steps zu skippen.

von Stefan (drotalion)


Lesenswert?

Eine weitere Frage: Warum hat jeder Beitrag hier -1? Gehört es hier zum 
guten Ton, dass man sich gegenseitig minusiert? :D

von K. M. (kmj)


Lesenswert?

>Mega 2560

Der war vor ~10Jahren mit seinen 8Bit/256KB/8K RAM/16MHz mal Stand der 
(DIY) Technik.

Wenn du heute die freie Wahl hast fang gleich mit 32Bit an.
z.B. mit einem STM32F413ZH mit 1.5MB/320KB RAM/100MHz/144Pin

https://www.reichelt.de/nucleo-144-arm-1-5-mb-320kb-nucleo-f413zh-p363496.html?&trstct=pos_4&nbc=1

>kann Arduino Mega 16000 Steps pro Sekunde erzeugen.

Heutzutage gibt man sich nicht mehr nur mit einfachen 
Pin-Wackel-Geschichten zufrieden und diese Zusatzfunktionalität 
erfordert halt um Faktoren mehr Leistung.

>Warum hat jeder Beitrag hier -1?

Einfach komentarlos ignorieren.

Es gibt halt immer auch ein paar durchgeknallte Typen die sich durch 
solche feigen Heckenschützen Methoden wegen irgendwelcher empfundenen 
Kränkungen am Rest der Menscheit rächen wollen.

von Stefan (drotalion)


Lesenswert?

K. M. schrieb:
> Wenn du heute die freie Wahl hast fang gleich mit 32Bit an.
> z.B. mit einem STM32F413ZH mit 1.5MB/320KB RAM/100MHz/144Pin
>
> 
https://www.reichelt.de/nucleo-144-arm-1-5-mb-320kb-nucleo-f413zh-p363496.html?&trstct=pos_4&nbc=1

Beeindruckend, was es alles Neues gibt. Danke für die informative 
Nachricht!

Ich habe hier noch ein paar Mega 2560 herumliegen, die ich verwenden 
möchte. Sofern ich das erwünschte Ziel in dieser Kombination nicht 
erreiche, steige ich auf die teurere, aber deutlich preiswertere 
STM32F413ZH um.

K. M. schrieb:
> Es gibt halt immer auch ein paar durchgeknallte Typen die sich durch
> solche feigen Heckenschützen Methoden wegen irgendwelcher empfundenen
> Kränkungen am Rest der Menscheit rächen wollen.

Ich habe unbeschreiblich viel Mitleid, wenn jemand das aus reinem 
beliebigen Frust / Hass ausübt. Schade.

Ich danke dir sehr. Ich verbleibe bei: 2560 + 6 x drv8825. Eine weitere 
Verbesserung könnte durch version 2 meines Projektes durch ersetzen von 
2560 mit STM32F413ZH und drv8825 mit tmc2208 / tmc2209 erfolgen. Vielen 
Dank an allen beteiligten.

Gibt es hier auf dem Forum inoffizielle Regeln für das Markieren der 
Threads auf "Gelöst"?

: Bearbeitet durch User
von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

> Eine weitere Frage: Warum hat jeder Beitrag hier -1? Gehört es hier
> zum guten Ton, dass man sich gegenseitig minusiert? :D
Nein.

Das Forum hier hat seit vielen Jahren ein Problem mit einer meiner 
Meinung nach extrem schlechten Administration. Man ist so stolz auf 
diese einfach mal unnötige und nicht gut laufende Bewertungsfunktion, 
daß man sie um keinen Preis der Welt zurücknehmen möchte. Es muss das 
Lebenswerk des Programmierers sein, anders kann ich mir es nicht 
erklären.

Jedenfalls hat man vor kurzen versucht, die Negativbewertungen dadurch 
zu bremsen, daß man wohl nur noch negativ bewerten darf, wenn man auch 
positiv bewertet. Mit anderen Worten, wie löst man das Problem, wenn 
eine Kuh auf einem Auge blind ist? Richtig, man schießt ihr das zweite 
Auge auch noch weg, nun sieht sie gar nichts mehr.

Kurz danach hat sich irgend ein Nappel scheinbar ein Script dafür 
geschrieben, welches irgendwo läuft und jeden einzelnen Beitrag in 
diesem Forum negativ bewertet. Nicht weil's schön ist, sondern habe ich 
schon mal geschrieben, weil Deine Klingel an der Haustür deutlich besser 
gegen missbräuchliche Nutzung geschützt ist, als dieses 
Bewertungsscript. Also war der Versuch der Entschärfung der 
Negativbewertungen komplett für den Arsch, aber man ist immer noch zu 
stolz, den Scheiß einfach zu deaktivieren. Es könnte ja so verboten 
einfach sein, aber nein... die Kuh ist ja jetzt blind und sieht das 
Problem nicht mehr.

Du musst da einfach den größten Haufen drauf scheißen, den Du 
rausgedrückt bekommst. Dann ist alles gut.

Zum Thema:
In vielen nun schon älteren 3D-Druckern werden diese A4988 
Schrittmotortreiber gegen TMC2208/2209 ausgetauscht, weil letztere die 
Motoren nahezu lautlos betreiben und das nervige Fiepsen und Heulen 
damit ein Ende findet. Dabei muss man nichts an der Software ändern, die 
Ansteuerung funktioniert bei beiden ICs gleichermaßen. Man muss nur die 
Motoranschlüsse umdrehen, an der Stelle sind die TMC2208-Module anders 
belegt als die A4988 und die Motoren würden rückwärts laufen.

von Stefan (drotalion)


Lesenswert?

Ben B. schrieb:
> Dabei muss man nichts an der Software ändern

Danke für deine Nachricht. Wenn ich mich nicht irre, muss man in 
Software nur dann nichts ändern, wenn man schon microstepping ebenfalls 
in a4988 anhatte, was die meisten 3d Drucker ja schon tun. Aber das 
bedeutet einfach, dass ich ohne Probleme auf tmc2209 umsteigen kann 
(1,5A Motoren => tmc2208 kann nur 1,2A)

Und zu Bewertung: Oh ich verstehe deine Argumente. Die Idee von der 
Bewertungen ist schon gut. Diejenigen, die wirklich einen Script dafür 
geschrieben haben, tun mir aber besonders leid...

Solange man wegen zu viel Minus nicht gebannt wird oder sonst was, ist 
mir eine digitale score völlig egal. Daher... Danke :)

von Daniel D. (danielduese)


Lesenswert?

> Fakt ist aber, ich will keine Microsteps haben,
> wenn das die Anwendung verlangsamt.
> A4988 oder DRV8825 in Microstep Modus verlangsamen die Anwendung.

Ich hab ein ziemlich ähnliches Projekt hinter mir. Die Microsteps haben 
das erstmal langsam gemacht. Das lag aber am ESP32, der nicht hinterher 
kam die (4) Stepper meines Tangentialschneideplotters gleichzeitig 
laufen zu lassen.
Erst der Umstieg auf einen STM32F4x hat geholfen. Da gibt es auch Boards 
mit genügend Pins. (beim ESP hatte ich mit einem mcp23s17 die Pins 
erweitert). Wenn der Treiber genügend Impulse arhält ist die 
Maximalgeschwindigkeit immer die selbe, egal wie viele Mikrosteps. Er 
wird aber ruhiger und leiser je mehr Mikrosteps. Ich fand die Mikrosteps 
schon sehr genau, zumindest im Bereich von 1/4 bis 1/8 wie die Auflösung 
der Schritte real verfeinert. Das spielt aber vor allem bei Zahnriemen 
eine Rolle. Gewindestangen haben ansich schon wenig Vorschub je Step. 
Eine M8 Gewindestange hat ZU WENIG Vorschub. Das wird sehr langsam. Ich 
rate auch zu Trapezstange ab 2mm Schub pro Umdrehung, horizontal eher 
mehr.

Bei maximalen Microsteps und mittels Korkdämpfern liefen meine   Stepper 
sehr rund.
Ein merklicher Geschwindigkeitsgewinn waren aber dann die 24V statt 
12V!!

Das Fiepen meiner DRV8825 Treiber (absolut gutes 
Preis/Leistungsverhältnis) verschwand nach Einbau der Steuerung in ein 
altes Desktopgehäuse.

: Bearbeitet durch User
von Stefan (drotalion)


Lesenswert?

Das sind super Beiträge Daniel! Danke.

Daniel D. schrieb:
> Das lag aber am ESP32, der nicht hinterher
> kam die (4) Stepper meines Tangentialschneideplotters gleichzeitig
> laufen zu lassen

Okay ich sollte mir dann das mit dem MEGA 2560 definitiv nochmal 
überlegen, da ich relativ häufig 5 Stepper gleichzeitig laufen lassen 
werde (vor-zurück x2 + hoch-runter x2 + Drehachse). Die Frage ist, ob 
ich mir die microstepping überhaupt mal leisten kann, denn laut einige 
papers, microstepping beeinträchtigt Drehmoment des Motors negativ.

Daniel D. schrieb:
> Ein merklicher Geschwindigkeitsgewinn waren aber dann die 24V statt
> 12V!!

Jawohl, 24V ist definitiv geplant. Ich muss aber die Stepdown und damit 
verbundene Temperatur im Auge behalten.

Daniel D. schrieb:
> Eine M8 Gewindestange hat ZU WENIG Vorschub. Das wird sehr langsam.

1,25mm pro Umdrehung Vorschub um genau zu sein. Ich habe leider 
kurzzeitige, aber große Lastspitzen und brauche in der Tat die 
Momentumwandlung dringender als die Geschwindigkeit. Müsste ich auf 
jeden Fall testen. Mit Arduino ohne microstepping würde ich ein 
theoretisches 16000 Steps / sekunde => 5 Steppermotoren = 3200 Steps pro 
Motor. = 16 Umdrehungen die Sekunde = 20mm Vorschub pro Sekunde.

Das ist nicht optimal aber akzeptabel.

von Daniel D. (danielduese)


Lesenswert?

> (vor-zurück x2 + hoch-runter x2 + Drehachse).

Naja das sind ja nur 3 Begegnungen, wenn mehrere parallel laufen. Das 
vereinfacht die Sache

Zum Drehmoment: eine M8 Gewindestange ist von der Konzeption nicht auf 
Vorschub ausgelegt sondern zum Verzahnen mit einer Mutter.
Dann nimm wenigstens eine Kupfer oder Nylonmutter.

Microsteps beeinflussen den Drehmoment nur dann negativ, wenn du auf 
Zwischensteps stehen bleibst. Wenn du mit ganzen Streps rechnest und mit 
Microsteps zum nächsten vollen 1,8° Winkel fährst, dann eher positiv.

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

> Aber das bedeutet einfach, dass ich ohne Probleme auf tmc2209
> umsteigen kann (1,5A Motoren => tmc2208 kann nur 1,2A)
Ganz so pauschalisieren kann man das nicht, die TMC2209-Module haben 
meistens mehr Anschlüsse des ICs auf Kontaktleisten herausgeführt als 
die TMC2208. Dadurch passen sie evtl. nicht auf jedes Controller-Board. 
Bei meinen beiden Anycubic i3 Mega S (einer zum 3D Druck, der zweite 
soll ein Lötroboter werden) mit Trigorilla 0.0.2 Boards passen die 
TMC2209 wunderbar und elektrisch funktioniert's auch.

> 16 Umdrehungen die Sekunde
Ich glaube, diesen Wert kannst Du gleich mal kassieren, so schnell dreht 
man nicht an Schrittmotoren rum.

von Stefan (drotalion)


Lesenswert?

Ben B. schrieb:
> Ich glaube, diesen Wert kannst Du gleich mal kassieren, so schnell dreht
> man nicht an Schrittmotoren rum.

Oookay. Ich habe mich gestern da eingelesen. 1-2 Umdrehungen die Sekunde 
maximum.
Das war es dann mit dem Projekt und Steppermotoren. Zurück auf 775 mit 
1:10 Getriebe für 24V 2000RPM. Muss dann mit Rotary Encoders, Counters 
und PID arbeiten.

Das erhöht natürlich sowohl die Produktionsaufwand als ach den Preis 
immens ... Allein ein rotary encoder, die ein eingebauter counter und 
i2c bietet, kostet so viel wie ein nema 17 aus tschaina.

Ben B. schrieb:
> der zweite soll ein Lötroboter werden

Rein aus Interesse: Ist das Projekt schon fertig? Benutzt du da computer 
vision oder fährt er feste Punkte durch?

Daniel D. schrieb:
> Naja das sind ja nur 3 Begegnungen, wenn mehrere parallel laufen. Das
> vereinfacht die Sache

Eigentlich ja nicht oder? Für jeden Motor wollte ich einen eigenen 
Driver verwenden. Wenn die beiden Motoren, die parallel laufen mit der 
Hand oder ähnliches gedreht wird, ist es für immer async. Sonst muss ich 
irgendwie mit Schalter die Motoren deaktivieren etc. Auch möglich.

Daniel D. schrieb:
> Dann nimm wenigstens eine Kupfer oder Nylonmutter.

Magst du das bitte elaborieren? Kupfer oder Nylonmutter geht doch 
irgendwann in naher Zukunft doch kaputt?

von Rüdiger B. (rbruns)


Lesenswert?

Stefan schrieb:
> Magst du das bitte elaborieren? Kupfer oder Nylonmutter geht doch
> irgendwann in naher Zukunft doch kaputt?

Dafür gibt es Kugelumlaufspindeln.

von Uli S. (uli12us)


Lesenswert?

Wenn es dir aufs Moment ankommt, dann nimm besser eine 
Kugelgewindespindel. Die ist zwar teurer aber hat halt nur minimale 
Verluste gegenüber einer Trapezspindel die auch wieder weniger gegenüber 
dem Spitzgewinde hat.
Der Nachteil ist halt, es gibt keine Selbsthemmung, heisst, wenn du eine 
Maschine mit schwerem Tisch und leichtgängiger Führung hast, dann 
wandert der bei abgeschaltetem Motor langsam von selber nach unten.

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

>> der zweite soll ein Lötroboter werden
> Rein aus Interesse: Ist das Projekt schon fertig?
> Benutzt du da computer vision oder fährt er feste Punkte durch?
Nein, ist weit fortgeschritten, aber noch nicht fertig. Ich denke, daß 
feste Punkte ausreichend sind, das Ding soll kein SMD löten und 
3D-Drucker erreichen absolut problemlos eine Genauigkeit von 0,1mm - was 
weit besser als ausreichend sein dürfte. In der zweiten Phase ist dann 
eine Maschine mit deutlich größerem Arbeitsbereich angedacht, der 
Anycubic soll primär nur zum Erforschen des Prozesses und zum Test der 
Software dienen.

: Bearbeitet durch User
von Daniel D. (danielduese)


Lesenswert?

>> Dann nimm wenigstens eine Kupfer oder Nylonmutter.
>
> Magst du das bitte elaborieren? Kupfer oder Nylonmutter geht doch
> irgendwann in naher Zukunft doch kaputt?

Nylon: fast null Verschleiß, verkantet aber nicht. Vgl. Nylonzahnrädchen 
im Servo, die halten ewig~
Kupfer: ja minimal Verschleiß, der dient aber als Schmiermittel. Die 
Mutter auf einer Edelstahl-Trapezgewindestange ist immer Kupfer oder 
POM.

16 Umdrehungen? Nein 3 bis 4 bei 12V und guten Steppermotoren, bis 6 bei 
24V (Erfahrungswerte mit 59mm langen Streppern,1.6A / 3V Nennspannung), 
mit einer Trapezgewindestange Steigung 4mm/Umdr. Sind das doch 
einiges...

https://de.aliexpress.com/item/1005003065042707.html

Pitch 2mm = Abstand der Gewindelinien zueinander

Lead 4mm = Vorschub pro Umdrehung

: Bearbeitet durch User
von Stefan (drotalion)


Lesenswert?

Daniel D. schrieb:
> 24V (Erfahrungswerte mit 59mm langen Streppern,1.6A / 3V Nennspannung)

Ja an dieser Stelle rechne ich mit 4 U/s, was ein Vorschub von 6mm/s 
bedeutet. Da ich sagenhafte 60cm Strecken hinterlegen muss, ist das 
natürlich lächerlich gering.

Gerade spiele ich mit Gedanken, 775 Motor + Getriebe + Encoder zu 
verwenden, da wird aber Mega nicht reichen, da dieser lediglich 6 
Interrupts hat und ich für 6 Motoren 12 Interrupt Pins benötige.

Was für ein S...

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


Lesenswert?

Dann nimm eine Kugelrollspindel mit 5mm Steigung. Die hat einen 
Wirkungsgrad von rund 0,9 gegenüber ca. 0,3 bei Trapezgewinde oder 0,1 
bei metrischem Gewinde. Die Vorschubkräfte sind also trotz 
unterschiedlicher Steigungen quasi gleich, der Vorschub aber bei der 
Kugelrollspindel deutlich höher.

Noch mehr holst du raus, wenn du Treiber verwendest, die mehr als 24V 
vertragen und Motoren mit hohem Wicklungsstrom (und niedrigem 
Wicklungswiderstand). 10U/s sind mit Schrittmotoren nun wirkich kein 
Hexenwerk.

Mit freundlichen Grüßen
Thorsten Ostermann

von Hannes (taurus16)


Lesenswert?

Stefan schrieb:
> Oookay. Ich habe mich gestern da eingelesen. 1-2 Umdrehungen die Sekunde
> maximum.

Moin,
also ich nutze den TMC262C-LA mit 48V Schrittmotoren, 16 Microsteps und 
500 RPM in einem Conveyor und einem Kamerabalken. Ein bisschen Platz 
nach oben war auch noch, da scheiterte es aber an der 
Rechengeschwindigkeit vom Mikrocontroller (3 Schrittmotoren, Atmega2560 
und Berechnung von S-Rampen während der Verfahrzeit)

Gruß
Hannes

von Gerald M. (gerald_m17)


Lesenswert?

Für hohe Drehzahl braucht man Motoren mit niedriger Induktivität. Die 
ist nämlich für die Back-EMF verantwortlich, welche eine Gegenspannung 
zu der Betriebsspannung aufbauen. Wenn die Gegenspannung zu groß ist, 
fließt zu wenig Strom was das Drehmoment reduziert.

10U/s sind für die meisten Motoren kein Problem, je nach Motor fängt 
dort eben das Drehmoment an zurück zu gehen. Gute Motoren liefern eine 
Drehmoment über Drehzahlkurve mit. Da kann man dann auch einfach rechnen 
wie schnell der Motor drehen kann und brauch sich nicht auf Hüftwerte 
aus dem Internet verlassen.

von Stefan (drotalion)


Lesenswert?

Thorsten O. schrieb:
> Dann nimm eine Kugelrollspindel

Hallo Thorsten,

vielen Dank für deinen Beitrag. Hier ist aber die Sache. Wenn es darum 
geht, den Goldstandard zu finden, brauchen wir nicht bereden, dass 
Kugelumlaufrollen die besten sind...

Ich brauche aber insgesamt 5x jeweils 600-800 mm Speziallängen. Die 
Dinger kannst du auch nicht einfach so kürzen. Heißt auch wieder: 
Spezialanfertigung für die Länge.

Klar, ich kann es jetzt umbauen auf die Standardgrößen => 600mm und 
800mm lange Kugelumlaufspindel holen. Ich habe mich bisschen umgeschaut 
und Kugelumlaufmutter + Kugelumlaufspindel in 600mm länge kostet 45€ und 
800mm einfach mal 90€.

2m langer Gewindestange aus dem Baumarkt kostet mir 3€ und die m8 Mutter 
kostet 5cent. Wir reden hier von einem Faktor 72. Aus einem 
wirtschaftlichen Aspekt wäre es einfach nur dumm, das mit Gewindemutter 
nicht auszuprobieren.

Da Steppermotoren und DC Motoren mit Getriebe und Hallsensoren ungefähr 
gleich kosten, berücksichtige ich das nicht in der Rechnung

Vielen Dank trotzdem :)

von Stefan (drotalion)


Lesenswert?

Hannes B. schrieb:
> (3 Schrittmotoren, Atmega2560
> und Berechnung von S-Rampen während der Verfahrzeit)

Hallo Hannes, dankeschön. Genau das was ich befürchtet habe. 2560 ist 
einfach nicht schnell genug und bei der Verwendung eines Arduinos werden 
meine Stepper langsamer. Danke :)

von Hannes (taurus16)


Lesenswert?

Stefan schrieb:
> Hannes B. schrieb:
>> (3 Schrittmotoren, Atmega2560
>> und Berechnung von S-Rampen während der Verfahrzeit)
>
> Hallo Hannes, dankeschön. Genau das was ich befürchtet habe. 2560 ist
> einfach nicht schnell genug und bei der Verwendung eines Arduinos werden
> meine Stepper langsamer. Danke :)

Das habe ich nicht gesagt ;)
Man kann auf jeden Fall noch was rausholen. Die Frage ist ja immer, wie 
genau musst du die Schritte mitzählen oder gibt es Sensoren für die 
Positionswiedergabe? Wie wird beschleunigt konstant oder quadratisch 
etc. Kannst du Beschleunigungskurven vorberechnen oder muss es während 
der Laufzeit geschehen.

Pro Timer im Atmega2560 kann man auf jeden Fall einen Schrittmotor bei 
16MHz betreiben.

von Carsten-Peter C. (carsten-p)


Lesenswert?

Moin,
mit Gewindestangen bin ich auch mal angefangen einen Plotter zu bauen. 
Leider fingen die schon bei geringen Geschwindigkeiten an zu „schlagen“. 
Um die leichtgängiger zu machen habe ich statt Muttern Kugellager 
verkantet eingebaut. Meine Schrittmotore laufen am ruhigsten mit 1/8 
Mikroschritten. Irgendwann sind mir 2 Kugelumlaufspindeln zugelaufen. 
Die beiden seitlichen Führungen vom Schlitten sind fest verbunden, somit 
brauche ich nur einen Motor für diese Achse.
Beitrag "Re: Zeigt her eure Kunstwerke (2021)"
Wenn Du noch einen 1284 rumliegen hast und es ausprobieren möchtest, 
kann ich Dir das Programm gerne schicken.
Viel Erfolg
Carsten

von Stefan (drotalion)


Lesenswert?

Carsten-Peter C. schrieb:
> bei geringen Geschwindigkeiten an zu „schlagen“.
> Um die leichtgängiger zu machen habe ich statt Muttern Kugellager
> verkantet eingebaut.

Hallo Carsten,

vielen Dank für dein Beitrag. Was heißt "Schlagen" in diesem Kontext? 
Ich wollte die Gewindestange fetten und dann in einem Teleskopbehälter 
platzieren, damit kein grober Dreck drankommt. Ich hoffe, dass 
Gewindestange + Mutter + gescheites Gleitmittel ebenfalls wirken. Aber 
was bedeutet schlagen? `

Schließlich gleitet es ebenfalls, wenn man eine M8 Schraube mit einem 
Akkubohrer in einer Mutter / Gewinde reindrehen versucht. Weshalb ist es 
in diesem Kontext so viel anders?

von Gerald M. (gerald_m17)


Lesenswert?

Wie sieht das mit Umkehrspiel bei dir aus? Ist das egal in deiner 
Anwendung? Ich würde ebenfalls Kugelumlaufspindeln stark bevorzugen. 
Machen vieles leichter. Schritte verlierst du auch nicht so schnell. 
Wenn du schnell verfahren willst wird das außerdem sehr warm an der 
Mutter.

: Bearbeitet durch User
von Carsten-Peter C. (carsten-p)


Lesenswert?

Hallo Stefan,
nimm eine Gewindestange und spanne sie in eine handelsübliche 
Bohrmaschine. Dann lasse sie immer schneller drehen. Irgendwann wird 
sich eine Unwucht einstellen und sie wird verbiegen. Das passiert bei 
etwas längeren Gewindestangen schnell. Damit kannst Du die mögliche 
Geschwindigkeit abschätzen.
Weiterhin viel Erfolg bei Deinem Projekt
Carsten

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.