Forum: Mechanik, Gehäuse, Werkzeug 3d-drucken generell


von Rainer V. (Gast)


Lesenswert?

Hallo, ich mache mir momentan Gedanken über die Ansteuerung von 
3d-Druckern, oder auch Leiterplatten-Fräsen. Ich frage mich, wie so ein 
Drucker einen Kreis drucken kann. Die Infos kommen ja normalerweise von 
einem Programm, dass Plot-Befehle erzeugt. Aber die beteiligten Motoren 
werden doch immer serielell anesteuert. Wie kann dann der Druckkopf 
einen Kreis abfahren?? Oder Frage ich falsch???
Danke Rainer

: Verschoben durch Admin
von Ui (Gast)


Lesenswert?

Im Zweifelsfall kann man einen Kreis in unendlich kleine Geraden 
zerlegen

von Kossel Fan (Gast)


Lesenswert?

Rainer V. schrieb:
> Ich frage mich, wie so ein
> Drucker einen Kreis drucken kann.

Schau dir einen Delta Drucker an und frage dich wie er eine Gerade 
drucken kann, und das noch in einer Ebene! ;)

von Einer (Gast)


Lesenswert?

Ui schrieb:
> Im Zweifelsfall kann man einen Kreis in unendlich kleine Geraden
> zerlegen

Dann dauert das Plotten aber auch unendlich lange.

von Rainer V. (Gast)


Lesenswert?

Liebe Leute,

wir wollen jetzt nicht mit unendlichen Polygomen - oder wie das heist - 
hantieren, aber wenn so ein Drucker mit vielleicht realistischen 0,1mm 
Auflösung läuft, dann ist doch ein Zahnrad oder gar eine Schnecke 
grottenschlecht. Davon abgesehen interessiert mich weiterhin, wie die 
Befehlshirarchie vom Controller zu den Motortreibern aussieht!? Wenn der 
Controller den Befehl bekommt, mache einen Kreis von 3mm Durchmesser, 
was schickt er dann den 3 oder 2 Treibern? Mir ist klar, dass ein Step 
am Motor einen hundertstel Vorschub bedeuten kann, aber die Befehle sind 
doch nie synchronisert. Also, Druck eines Zahnrads z.B in Modul 1 kann 
ich mir beim besten Willen nicht vorstellen...zumindest nicht, solange 
es mit einem anderen Rad zusammenlaufen soll.

Gruß Rainer

von Christian M. (Gast)


Lesenswert?

Der G-Code, den der Drucker bekommt, kennt nur Gerade. Schräg fahren 
wird dabei interpoliert. Die Firmware des Druckers arbeitet 
"vorausschauend", das heisst, die Rampe geht nicht zwischen jeder 
Geraden auf Null.
Ein Kreis (oder Zylinder) wird schon im 3D-Zeichnungsprogramm in Geraden 
aufgeteilt (Anzahl wählbar).

Gruss Chregu

von Rainer V. (Gast)


Lesenswert?

Christian M. schrieb:
> Der G-Code, den der Drucker bekommt, kennt nur Gerade. Schräg fahren
> wird dabei interpoliert. Die Firmware des Druckers arbeitet
> "vorausschauend", das heisst, die Rampe geht nicht zwischen jeder
> Geraden auf Null.
> Ein Kreis (oder Zylinder) wird schon im 3D-Zeichnungsprogramm in Geraden
> aufgeteilt (Anzahl wählbar).
>
> Gruss Chregu

Hi, aber das ist genau die Frage! Wer interpoliert wann und wo. Und wo 
wird der Zeitversatz vom Controller zu den Treibern abgearbeitet??? 
Vielleicht frage ich auch falsch :-)
Gruß Rainer

von Johannes S. (Gast)


Lesenswert?

Es fängt an mit dem CAD Modell (wenn es ein konstruiertes Teil ist). Das 
CAD generiert ein Volumenmodell und exportiert ein STL file. Dabei kann 
man steuern wie fein das aufgelöst sein soll, da werden schon die Kreise 
in Geraden zerlegt. Hohe Auflösung erzeugt viele kleine Bewegungen -> 
drucken dauert länger. Der nächste Schritt ist das 'slicen', das 
zerlegen des Körpers in Schichten. Dabei wird G-Code erzeugt, das sind 
einfache Befehle wie 'Move To X Y Z E', E ist dabei der Extruder. Das in 
Schritte umzusetzen ist Aufgabe der Druckerfirmware und hier gibt es 
unterschiedliche Strategien. Weit verbreitet ist sowas wie der Bresenham 
Algorithmus wenn die Stepper mit konstanter Schrittfrequenz angesteuert 
werden. Bessere Kontroller können auch Y-t mit variablem t und dabei 
eine bessere Auflösung erzielen.
Detailauflösungen mit < 0,1 mm sind mit dem FDM Verfahren aber nicht 
wirklich drin, da sind SLS oder SLA besser.
Du kannst auch Software wie z.B. Repetier oder standalone Slicer ohne 
Drucker starten und sehen was die machen. Der G-Code ist im Textformat 
halbwegs lesbar und die meiste Druckersoftware kann die Bewegegungen 
auch visualisieren und man sieht wie ein Kreis zerlegt wurde.

von Timmo H. (masterfx)


Angehängte Dateien:

Lesenswert?

Im Prinzip liefert die STL Datei die Auflösung eines Kreises. Eine STL
Datei beinhaltet das 3D-Modell welches durch Dreiecke dargestellt wird 
(Bild 1).
Der Slicer läd diese STL-Datei und übersetzt diese in GCode, welche vom 
3D-Drucker dann Zeile für Zeile abgearbeitet wird.
Interpoliert wird da in der Regel eigentlich nicht, da der Drucker ja 
nicht weiß ob es ein Kreis werden soll oder nicht. Er soll das ja auch 
gar nicht beurteilen, schließlich weiß der Designer nur ob es ein Kreis 
oder ein Vieleck sein soll.
Wird ein STL in zu niedriger Auflösung exportiert so sieht man dieses 
"Vieleck" auch in Druck selbst (siehe Bild 2, Edit: fein und grob sind 
im Bild natürlich vertausch... ;-) )
Der grobe Ring besteht nur aus wenigen Zeilen:
1
G1 X108.888 Y113.282 F4200
2
G1 E0.0000 F1800
3
G92 E0
4
G1 X105.091 Y114.071 E0.1247 F1350
5
G1 X101.647 Y115.855 E0.2494
6
G1 X98.812 Y118.503 E0.3742
7
G1 X96.797 Y121.817 E0.4989
8
G1 X95.751 Y125.552 E0.6236
9
G1 X95.751 Y129.430 E0.7483
10
G1 X96.797 Y133.165 E0.8730
11
G1 X98.812 Y136.479 E0.9978
12
G1 X101.647 Y139.126 E1.1225
13
G1 X105.091 Y140.911 E1.2472
14
G1 X108.888 Y141.700 E1.3719
15
G1 X112.758 Y141.435 E1.4966
16
G1 X116.413 Y140.136 E1.6214
17
G1 X119.581 Y137.900 E1.7461
18
G1 X122.029 Y134.891 E1.8708
19
G1 X123.574 Y131.333 E1.9955
20
G1 X124.103 Y127.491 E2.1203
21
G1 X123.574 Y123.648 E2.2450
22
G1 X122.029 Y120.091 E2.3697
23
G1 X119.581 Y117.082 E2.4944
24
G1 X116.413 Y114.845 E2.6191
25
G1 X112.758 Y113.546 E2.7439
26
G1 X108.888 Y113.282 E2.8686
27
G92 E0
der feine Ring besteht hingegen aus 100 Zeilen, also etwa das 5-fache

: Bearbeitet durch User
von Rainer V. (Gast)


Lesenswert?

Johannes S. schrieb:
> Es fängt an mit dem CAD Modell (wenn es ein konstruiertes Teil ist). Das
> CAD generiert ein Volumenmodell und exportiert ein STL file. Dabei kann
> man steuern wie fein das aufgelöst sein soll, da werden schon die Kreise
> in Geraden zerlegt. Hohe Auflösung erzeugt viele kleine Bewegungen ->
> drucken dauert länger. Der nächste Schritt ist das 'slicen', das
> zerlegen des Körpers in Schichten. Dabei wird G-Code erzeugt, das sind
> einfache Befehle wie 'Move To X Y Z E', E ist dabei der Extruder. Das in
> Schritte umzusetzen ist Aufgabe der Druckerfirmware und hier gibt es
> unterschiedliche Strategien. Weit verbreitet ist sowas wie der Bresenham
> Algorithmus wenn die Stepper mit konstanter Schrittfrequenz angesteuert
> werden. Bessere Kontroller können auch Y-t mit variablem t und dabei
> eine bessere Auflösung erzielen.
> Detailauflösungen mit < 0,1 mm sind mit dem FDM Verfahren aber nicht
> wirklich drin, da sind SLS oder SLA besser.
> Du kannst auch Software wie z.B. Repetier oder standalone Slicer ohne
> Drucker starten und sehen was die machen. Der G-Code ist im Textformat
> halbwegs lesbar und die meiste Druckersoftware kann die Bewegegungen
> auch visualisieren und man sieht wie ein Kreis zerlegt wurde.

Hallo Johannes, danke für die ausführliche Antwort. Für mich stellt sich 
aber immer noch die Frage der "Gleichzeitigkeit". Die gibt es 
offensichtlich nicht!!! Ist mir auch klar, aber wie werden kleine 
Ungleichzeitigkeit im System verarbeitet.
Natürlich muß ich mir erst mal den G-Code anschaun.
Mir geht es aber um die Befehlsfoge des Contollers. Der kann ja jedem 
Motortreiber nur einen Step-Befehl nacheinander schicken und dann den 
nächsten oder geht das irgenwie synchron oder ist es so schnell, dass 
der serielle Versatz quasi keine Rolle spielt??? Und genau das ist mein 
Problem bei zB. einem Zahnrad. Ist da nix zu merken???
Heiliges WE und Gruß Rainer

von Conny G. (conny_g)


Lesenswert?

Jetzt sind wir beim G-Code, der gibt die Koordinaten, die die Stepper 
anfahren sollen.
Daraus berechnet die Druckerfirmware die Steps und die Timerintervalle 
den Schrittmotortreibern die Steps zu geben.
Ich glaube bei der Marlin Firmware läuft der Timer mit einer 
Grundfrequenz von 2 Mhz und der Counter wird immer individuell 
berechnet, wann der Int das nächste Mal zuschlagen soll.
Und die seriell empfangenen Bewgungskommandos/G-Codes werden laufen
D in eine Pipeline von Timerbasierten Schrittmotorsteps umgewandelt. 
Inclusive Beschleunigungs- und Bremsrampen sowie Berücksichtigung des 
nächsten Move, die Delta-Beschleunigungen zu ermitteln.

von Rainer V. (Gast)


Lesenswert?

Liebe Leute,

ich verstehe, dass der Contoller "Stückchen" kriegt...aber die 2 oder 3 
Motoren kriegen sie ja zeitversetzt und trotzdem wird ein Kreis draus! 
Frage ich falsch??? Oder was muß ich verstehen?
Danke Rainer

von Conny G. (conny_g)


Lesenswert?

Die Steps für die 3 (4+ mit Extrudern) Motoren kommen in einer 
Timerroutine wenige 100 Taktzyklen nacheinander, in 100 oder wenigen 
100us.
Jeder Step ist 0,0125mm, mit dem Auge nicht mehr sichtbar.
D.h. ja, die Steps sind nicht synchron, aber mit 100us nicht weit 
auseinander im vgl. zur Bewegungsgeschwindigkeit der Druckkopfs. Und ja, 
es gibt keinen Kreis, sondern gerade und Diagonale Linien mit 
Treppenstufen = Steps. Die sind aber 0,0125mm fein und verschmieren sich 
durch die Trägheit des Druckkopfs.
Zu den 100us zwischen Steps: das sind 0,1ms. Bei einer 
Druckgeschwindigkeit von 50mm/min bewegt sich der Druckkopf in dieser 
Zeit 0,083 Mikrometer.
Der Versatz ist also nicht feststellbar.

von Timmo H. (masterfx)


Lesenswert?

Conny G. schrieb:
> Ich glaube bei der Marlin Firmware läuft der Timer mit einer
> Grundfrequenz von 2 Mhz
So ist es.
Und natürlich werden die Stepper sequentiell angesteuert (wir arbeiten 
hier ja nicht mit einem FPGA), aber bei 2 MHz Update-Intervall könnte 
man es auch als parallel bezeichnen (zumindest ist das Druckergebnis so 
als wäre es parallel), nennen wir es einfach quasi-parallel. Und man 
muss halt auch bedenken, dass pro mm halt i.d.R. 100 (Mikro)Schritte 
gemacht werden, da sieht man nicht wirklich die einzelnen Steps im 
Ausdruck. Würde man ohne Mikroschritte arbeiten (d.h. nur ~6 Schritte 
pro mm), dann würde man bei einer gedruckten Diagonalen durchaus 
"Treppen" sehen können

: Bearbeitet durch User
von Chris D. (myfairtux) (Moderator) Benutzerseite


Lesenswert?

Wenn sich der Druckkopf mit bspw. 60mm/s bewegt und pro Schritt 0,05mm 
fährt, dann sind das 1200 Schritte/s.

Bei zwei Motoren sind das dann maximal 2400/s. Wenn nun der Controller 
bei 20MHz die Impulse der Motoren um zwei oder drei Befehle versetzt 
ausgibt, ist das um Größenordnungen weniger Zeit als ein mechanischer 
Schritt benötigt.

Die Mechanik ist viel zu träge und langsam, damit das eine Rolle spielen 
würde.

von Rainer V. (Gast)


Lesenswert?

Conny G. schrieb:
> etzt sind wir beim G-Code, der gibt die Koordinaten, die die Stepper
> anfahren sollen.
> Daraus berechnet die Druckerfirmware die Steps und die Timerintervalle
> den Schrittmotortreibern die Steps zu geben.
> Ich glaube bei der Marlin Firmware läuft der Timer mit einer
> Grundfrequenz von 2 Mhz und der Counter wird immer individuell
> berechnet, wann der Int das nächste Mal zuschlagen soll.
> Und die seriell empfangenen Bewgungskommandos/G-Codes werden laufen
> D in eine Pipeline von Timerbasierten Schrittmotorsteps umgewandelt.
> Inclusive Beschleunigungs- und Bremsrampen sowie Berücksichtigung des
> nächsten Move, die Delta-Beschleunigungen zu ermitteln.

Hi, das bringt mich schon mal weiter, aber es bleibt immer noch die 
Frage der "Gleichzeitigkeit". Mir ist klar, dass es sowas nicht 
gibt...aber von meinem derzeitigen Verständnis müßte der Controller dem 
Motorteiber X sagen, 1 Schritt, und dem Motorteiber Y, 1 Schritt, also 
ein elendes Schrittchen-Gehampel. Ist das in Echt so?? Und warum wird da 
trotzdem ein passabler Kreis draus?? Und ist es das wirklich?? Zahnrad
Danke und Gruß Rainer

von Johannes S. (Gast)


Lesenswert?

Conny G. schrieb:
> Ich glaube bei der Marlin Firmware läuft der Timer mit einer
> Grundfrequenz von 2 Mhz und der Counter wird immer individuell
> berechnet,

Genau sowas mit variablem t beherscht Marlin soweit ich weiss nicht. Der 
Takt für die Stepper ist fix 10 kHz und abhängig von der XY 
Geschwindigkeit werden dann die Takte ausgegeben. Bei <10.000 Schritte 
pro s ist es max. 1 Takt, bei <20.000 sind es 2 und darüber 4 Takte. 
Mehr geht bei Marlin auf dem Mega2560 nicht, die 32 Bit Versionen können 
vermutlich mehr. Je nachdem wieviele Schritte für einen Milimeter nötig 
sind hat man dann eine max. Geschwindigkeit. Weil in der ISR aber eine 
Menge gerechnet werden muss bzw. mehrere Achsen gleichzeitig ihre Takte 
bekommen ist max. Schrittfrequenz <40 kHz. Aber innerhalb dieser 10 kHz 
ISR werden mehrere Achsen gleichzeitig bedient und schräge Geraden 
ausreichend genau.

von Timmo H. (masterfx)


Lesenswert?

Timmo H. schrieb:
> aber bei 2 MHz Update-Intervall könnte
> man es auch als parallel bezeichnen
Kleine Korrektur... die Schritte werden natürlich nicht im 2 MHz takt 
aktualisiert, sondern normalerweise mit 10 kHz soweit ich weiß

von Conny G. (conny_g)


Lesenswert?

Ja, das ist ein Schrittchen-Gehampel und nein, ganz genau genommen hat 
das mit einem Kreis nichts mehr zu tun.
Aber hast Du Die schon mal einen Siebdruck oder Laserdruck mit dem 
Mikroskop angeschaut, was das für eine fürchterliche Sauerei ist?
Fürs Auge sind das aber in einer andern "Skalierung" gestochen scharfe 
und haarfeine Linien.
Genau so ist es mit dem 3D Druck auch. Vom mathematischen Kreis her 
gesehen ist diese Stepperei eine Riesensauerei, aber durch die Trägheit 
der Mechanik und die Ungenauigkeit des geschmolzenen Kunststoff werden 
glatte Oberflächen daraus. Jedenfalls für das Auge aus Distanz.

von Johannes S. (Gast)


Lesenswert?

hier druckt mein K8200 ein rundes Objekt: 
https://www.youtube.com/watch?v=Re0XYrGkc9I&t=44s
Hatte da mal einen Beschleunigungssensor angeklemmt um zu sehen was so 
für Vibrationen wirken weil das XY ziemlich überschwingt.

von Conny G. (conny_g)


Lesenswert?

Timmo H. schrieb:
> Timmo H. schrieb:
>> aber bei 2 MHz Update-Intervall könnte
>> man es auch als parallel bezeichnen
> Kleine Korrektur... die Schritte werden natürlich nicht im 2 MHz takt
> aktualisiert, sondern normalerweise mit 10 kHz soweit ich weiß

Nein, der Timer Int hat immer variablen Abstand in einer Auflösung von 
2Mhz. Der wird im Steps-Backlog mitberechnet.

von Rainer V. (Gast)


Lesenswert?

Hallo, ich glaube verstanden zu haben, dass alles in großer Auflösung 
"parallel" verläuft. Hätte ich mir auch selbst hinschreiben können :-) 
aber danke an alle.
Mein Projekt ist, so ein 2, 3D Gebilde ohne Stepper, also mit 
Bürstenmotoren zu realisieren, und mein Problem war immer die x-y-z 
Steuerung und dabei die Gleichzeittigkeit. "Gleichzeitig gibt es 
nicht"..is klar
Gruß Rainer

von Johannes S. (Gast)


Lesenswert?

Rainer V. schrieb:
> also mit
> Bürstenmotoren zu realisieren

Da müsstest du dich in der CNC Ecke umsehen, die haben da höhere 
Anforderungen und da gibt es Servoantriebe die das können. Ist aber um 
einiges aufwändiger als mit Schrittmotoren.

Mit dem variablen Timer hat Conny recht, da wird aus Tabellen für die 
Beschleunigung ein Timerwert gelesen, die 10 kHz sind wohl der 
Startwert. Ist jedenfalls recht komplex was alles abgeht und berechnet 
wird.
Das basiert auf GRBL, https://github.com/grbl/grbl, da findest du sicher 
auch was zu dem Thema.

von Rainer V. (Gast)


Lesenswert?

Johannes S. schrieb:
> Da müsstest du dich in der CNC Ecke umsehen, die haben da höhere
> Anforderungen und da gibt es Servoantriebe die das können. Ist aber um
> einiges aufwändiger als mit Schrittmotoren.
>
> Mit dem variablen Timer hat Conny recht, da wird aus Tabellen für die
> Beschleunigung ein Timerwert gelesen, die 10 kHz sind wohl der
> Startwert. Ist jedenfalls recht komplex was alles abgeht und berechnet
> wird.
> Das basiert auf GRBL, https://github.com/grbl/grbl, da findest du sicher
> auch was zu dem Thema.

Hi, ja da muß ich mich reinknien...
danke an alle

von Conny G. (conny_g)


Lesenswert?

Rainer V. schrieb:
> ... und mein Problem war immer die x-y-z
> Steuerung und dabei die Gleichzeittigkeit. "Gleichzeitig gibt es
> nicht"..is klar

Aus mechanischer Perspektive, also wieviel Strecke der Druckkopf in 
100us bis 1ms zurücklegt, ist das "gleichzeitig" :-)
Nach meiner Rechnung oben ist mechanische Bewegung gegen diesen Versatz 
im Schrittimpuls mehr als 1:100 auseinander.

Nochmal gerechnet.
Könnte man mit 100mm/min Drucken (was wg. der Aufheizzeit des Materials 
im Druckkopf und der Viskosität des Materials schon über/mindestens an 
der Grenze ist), dann wären das 1,7mm/s oder 136 Steps pro Sekunde bei 
einem Ultimaker 2.
D.h. alle 7 Millisekunden muss ein Step gemacht werden (jetzt nur eine 
Richtung gedacht, bei Diagonal in X/Y oder X/Y/Z wären es entsprechend 2 
oder 3 Motoren).
Angenommen die Timerroutine bräuchte 1.000 Takte bei 20 Mhz um alle 
Schrittmotoren zu versorgen, dann ist das ein Zeitraum von 0,05 
Millisekunden.
D.h. weniger als ein Hundertstel der Zeitspanne für einen Step.
Selbst wenn man mit dem Auge einen Step sehen könnte - was bei 0,0125 
nur mit einem Mikroskop oder einem guten Makroobjektiv der Fall ist - 
wäre der Versatz nur ein Hunderstel davon.
Und beim 3D Druck würde man den Versatz nicht einmal sehen, da sieht man 
auch keine 0,0125mm.

von Rainer V. (Gast)


Lesenswert?

Conny G.

 Hallo. mir geht es ja ebewn nicht! um Schrittmotoren und da ist jede 
Info Gold wert!!

Danke Rainer

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Rainer V. schrieb:
> mir geht es ja ebewn nicht! um Schrittmotoren

Gibt es irgendeinen speziellen Grund, warum Du daran festhältst?

Ist das so etwas wie die von Dir ständig 'rausgekramte 
"Gleichzeitigkeit"?

von Cyborg (Gast)


Lesenswert?

Rainer V. schrieb:
> jede
> Info Gold wert!!

Da habe ich Zweifel, dass dir die irgendwie nützt.
Dazu muss man schon etwas mehr in der Birne haben. ;-b

Rainer V. schrieb:
> Hallo. mir geht es ja ebewn nicht!

So einen einfachen Satz sollte man doch fehlerfrei schreiben
können, oder?

von Cyborg (Gast)


Lesenswert?

Rufus Τ. F. schrieb:
> rausgekramte
> "Gleichzeitigkeit"?

vermutlich meint der TO, dass die Motore gleichzeitig arbeiten,
anstatt abwechselnd, oder irre ich mich da?

Wenn man die Motore über einen Port laufen lassen kann, sollte
"Gleichzeitigkeit" eigentlich kein Problem darstellen.

von Josef T. (t_joe)


Lesenswert?

Hallo Rainer

Dann kommen, wie oben schon erwähnt, nur Servomotoren in Frage! Der 
Vorteil davon ist, dass durch das geschlossenen Regelkreis (Closed Loop) 
keine Schritte verloren gehen können! Aber auch bei Servomotoren ist es 
nicht anders als bei Schrittmotoren, auch dort heißt es: fahre ** 
Inkremente in X und ** Inkremente in Y! Was ja dann wieder nur 
aneinander gereite Geraden sind!
Nur ist der Aufwand/Kosten höher Servomoter anzusteuern! Wenns "nur" um 
verlorene Schritte geht, wäre auch ein geschlossener Regelkreis mit 
Schrittmotoren möglich!
Und Genauigkeiten im 1/100mm sind Wunschdenken, da kommen noch so viele 
mechanische Faktoren hinzu! Im Eigenbau wenn man 1/10 Genauigkeit 
erreicht, ist das schon relativ gut! Mehr geht dann eigentlich nur, wenn 
man Zugriff auf eine professionelle CNC hat um sich seine eigene zu 
bauen!

Gruß
Josef

von Eieiei (Gast)


Lesenswert?

Ich möchte einen Hohlspiegel gedruckt bekommen, Sonnenlicht auffangen 
und den Brennpunkt bestimmen lassen. Geht das? Wenn ja wie Punktförmig 
ist der dann?

von Cyborg (Gast)


Lesenswert?

Eieiei schrieb:
> Ich möchte einen Hohlspiegel gedruckt bekommen, Sonnenlicht auffangen
> und den Brennpunkt bestimmen lassen. Geht das? Wenn ja wie Punktförmig
> ist der dann?

Mit welchem Filament willst du das denn drucken?
Das Material ist doch viel zu diffus. Da braucht
man schon spiegelndes Material aus Glas oder verchromtem
Blech.

von Rainer V. (Gast)


Lesenswert?

ok ok, ich frage trotzdem noch mal, ohne mich auf die Gleichzeitigkeit 
zu versteiffen...wenn ich eine Diagonale abfahren soll von 0,0 bis 3,8 
wer berechnet dann die Schritte? Der Controller oder die 
Schrittmotortreiber?
Das war etwa das, was ich  mit "Frage ich falsch" ansprechen wollte.
Gruß Rainer

von Conny G. (conny_g)


Lesenswert?

Der Controller. Er berechnet deltaX und deltaY, daraus die Steps pro 
Sekunde für jeden Schrittmotor und setzt dann laufend den 
Timer-Interrupt entsprechend wo dann entsprechend die Impulse an den 
Schrittmotortreiber gegeben werden.

von Rainer V. (Gast)


Lesenswert?

ok. danke, muß ich mir erst mal reinziehen...
Gruß Rainer

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


Lesenswert?

Die Schrittmotortreiber (guter Begriff, viele sagen 
Schrittmotorsteuerung, was fälschlicherweise impliziert, dass das eine 
Bahnsteuerung drinn sei) setzen in der Regel ganz "dumm" Taktsignale in 
Motorschritte um. Egal oder Voll-, Halb- oder Mikroschritt, das ist 
zunächstmal eine diskrete Bewegung. Erst durch die Massenträgheit von 
Motor und Last wird da mit steigender Frequenz eine 
quasi-kontinuierliche Bewegung draus.

Die Intelligenz liegt im Controller. Bei Schrittmotor-Steuerungen war 
das früher der PC mit der DOS- oder Windows-Software, welche die 
Taktsignale auf dem Parallelport ausgegeben hat. Heute sind diese 
echtzeitkritischen Anteile auf externe Controller ausgelagert, die per 
USB- oder Ethernet an den PC angebunden sind. Wo die Interpolation 
stattfindet (PC oder Controller), dürfte von Programm zu Programm 
unterschiedlich sein.

Mit freundlichen Grüßen
Thorsten Ostermann

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Thorsten O. schrieb:
> Wo die Interpolation stattfindet (PC oder Controller), dürfte von
> Programm zu Programm unterschiedlich sein.

Wenn G-Code an den Drucker gesendet wird, ist das recht eindeutig, das 
macht der G-Code-Interpreter, und der ist Bestandteil der 
Druckerfirmware.

Damit ist auch ein "Offlinebetrieb" des Druckers, also Drucken ohne 
angeschlossenen PC möglich, die Druckdaten (der G-Code) werden hier 
üblicherweise von einer SD-Karte gelesen.

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


Lesenswert?

Das dürfte zumindest für GRBL zutreffen. Ich weiß nicht, was Mach3 an 
den Smooth-Stepper überträgt oder WinPCNC an den ncUSB...

Mit freundlichen Grüßen
Thorsten Ostermann

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Werden "Mach3" oder "WinPCNC" für 3D-Drucker verwendet?

von Christian B. (luckyfu)


Lesenswert?

kann man vermutlich machen, wird aber eher untypisch sein.

von Conny G. (conny_g)


Lesenswert?

Sicher nicht, denn der Trick an einem 3D-Drucker Controller ist, dass er 
auch die Extrusion des Filaments mitberechnet. So etwas machen die 
bestimmt nicht, als CNC-Controller.

von Chris D. (myfairtux) (Moderator) Benutzerseite


Lesenswert?

Conny G. schrieb:
> Sicher nicht, denn der Trick an einem 3D-Drucker Controller ist, dass er
> auch die Extrusion des Filaments mitberechnet.

Das wäre mir neu. Bei sämtlichen Filamentdruckern, die mir bekannt sind, 
übernimmt der Slicer diese Aufgabe. Der G-Code-Interpreter weiss nichts 
über gewünschte Schichtdicken, First-Layer-Einstellungen etc. etc. Der 
führt einfach nur G-Code aus.

> So etwas machen die
> bestimmt nicht, als CNC-Controller.

Sie berechnen das nicht, aber auch bei Marlin ist der Filament-Extruder 
schlicht nur eine vierte Achse, die entsprechend mit G-Code angesteuert 
wird.

Es spricht prinzipell nichts gegen den Einsatz von Mach3, LinuxCNC etc. 
in 3D-Druckern. Man müsste nur die vielen M-Befehle entsprechend 
umsetzen.

: Bearbeitet durch Moderator
von Conny G. (conny_g)


Lesenswert?

Chris D. schrieb:
> Conny G. schrieb:
>> Sicher nicht, denn der Trick an einem 3D-Drucker Controller ist, dass er
>> auch die Extrusion des Filaments mitberechnet.
>
> Das wäre mir neu. Bei sämtlichen Filamentdruckern, die mir bekannt sind,
> übernimmt der Slicer diese Aufgabe. Der G-Code-Interpreter weiss nichts
> über gewünschte Schichtdicken, First-Layer-Einstellungen etc. etc. Der
> führt einfach nur G-Code aus.

Oh ja, Entschuldigung, da habe ich zu schnell falsch geschlussfolgert. 
Der G-Code enthält natürlich nur die "Strecke", die das Filament bewegt 
werden soll, das zu extrudierende Volumen und daraus die Strecke 
berechnet der Slicer. Richtig.

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.