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
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! ;)
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
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
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
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.
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
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
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.
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
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.
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
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.
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
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.
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ß
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.
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.
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.
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
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.
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
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.
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"?
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?
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.
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
Ich möchte einen Hohlspiegel gedruckt bekommen, Sonnenlicht auffangen
und den Brennpunkt bestimmen lassen. Geht das? Wenn ja wie Punktförmig
ist der dann?
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.
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
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.
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
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.
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
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.
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.
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.