<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>CNC-Tuning on Schallberts Blog</title><link>https://blog.schallbert.de/tags/cnc-tuning/</link><description>Recent content in CNC-Tuning on Schallberts Blog</description><generator>Hugo</generator><language>de</language><lastBuildDate>Sat, 04 May 2024</lastBuildDate><atom:link href="https://blog.schallbert.de/tags/cnc-tuning/index.xml" rel="self" type="application/rss+xml"/><item><title>CNC Tuning #3</title><link>https://blog.schallbert.de/cnc-tuning-pathinterpreter/</link><pubDate>Sat, 04 May 2024</pubDate><author>Schallbert</author><guid>https://blog.schallbert.de/cnc-tuning-pathinterpreter/</guid><description type="html">&#10; &lt;img src="https://blog.schallbert.de/assets/images/posts/2024-04-20-G64RD-thumb.jpg"&#10; class="post-cover"&#10; alt="Image: Thumbnail of endmill cutting forces"&#10; title="CNC Tuning #3" /&gt;&#10;&lt;p&gt;Dies ist der letzte Teil meiner Reihe über die Optimierung der Fertigungszeit auf CNC-Fräsmaschinen. Er konzentriert sich auf den Pfadinterpreter der CNC-Steuersoftware.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://blog.schallbert.de/cnc-tuning-gcode/"&gt;&lt;em&gt;Teil 1&lt;/em&gt;: Besserer G-Code&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://blog.schallbert.de/cnc-tuning-kinematics/"&gt;&lt;em&gt;Teil 2&lt;/em&gt;: Kinematische Parameter hochdrehen&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Der Pfadinterpreter der Steuersoftware ist dafür zuständig, die Anweisungen aus dem &lt;code&gt;G-Code&lt;/code&gt; zu lesen und in Maschinenbewegungen zu übersetzen. Soll beispielsweise &lt;code&gt;G01 X100 Y200 Z-2.0 F2000 S18000&lt;/code&gt; ausgeführt werden, so muss der Pfadinterpreter die akuelle Position der Maschine kennen und einen Fräsvektor erzeugen, der zur gewünschten Position mit den vorgegebenen Parametern zeigt.&lt;/p&gt;&#10;&lt;p&gt;Hierbei muss der Interpreter die kinematischen Parameter der Maschine berücksichtigen: Mit welcher Rampe auf Zielgeschwindigkeit &lt;code&gt;F1000&lt;/code&gt; beschleunigt wird ob der gewünschte Vorschub überhaupt zulässig ist, und ab welchem Punkt wieder gebremst werden muss um den Zielpunkt exakt zu erreichen. Die so gewonnenen Daten werden schließlich in eine Schrittfolge für die drei Schrittmotoren übersetzt, in einen Pufferspeicher geladen und schließlich in Echtzeit an die Motorendstufen ausgegeben.&lt;/p&gt;&#10;&lt;h2 id="schritt-3-optimierung-des-pfadinterpreters"&gt;Schritt 3: Optimierung des Pfadinterpreters&lt;/h2&gt;&#10;&lt;p&gt;&lt;figure class="media-frame media-frame--right"&gt;&#10; &lt;img src="https://blog.schallbert.de/assets/images/posts/2024-05-04-laf-settings.jpg" alt="Image: Look Ahead Feed in the CNC control software"&gt;&lt;/figure&gt;&#10;Viele Steuersoftware-Anbieter haben integrierte Fräspfadfilter programmiert, welche mittels Kommando &lt;code&gt;G64&lt;/code&gt; oder per Menü zu konfigurieren sind. Ich verlinke hier mal ein paar Beispiele verschiedener Hersteller, wo für spezifische Details nachgelesen werden kann:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://www.datron.com/resources/blog/toolpath-filter-achieves-a-perfect-surface-finish/" target="_blank" rel="noopener noreferrer" class="external-link"&gt;&amp;ldquo;Toolpath filter&amp;rdquo; von Datron&lt;span class="external-link-icon" aria-hidden="true"&gt;↗&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://docs.edingcnc.com/settings/trajectory" target="_blank" rel="noopener noreferrer" class="external-link"&gt;&amp;ldquo;Look Ahead Feed&amp;rdquo; von EdingCNC&lt;span class="external-link-icon" aria-hidden="true"&gt;↗&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="http://wiki.linuxcnc.org/cgi-bin/wiki.pl?TrajectoryControl" target="_blank" rel="noopener noreferrer" class="external-link"&gt;&amp;ldquo;Path Blending&amp;rdquo; von LinuxCNC&lt;span class="external-link-icon" aria-hidden="true"&gt;↗&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Die Kunst ist nun, eine Konfiguration passend zum Fräsjob und der Maschinenkinematik zu finden. Es geht hier immer um einen Kompromiss zwischen Fertigungsgeschwindigkeit und Bahntoleranz. Soll also mit hohem Vorschub gefahren werden, werden eigentlich spitze Kanten verrundet, verbundene Liniensegmente in einem Toleranzband angefahren oder Pfade so vereinfacht, dass außerhalb der von der Maschine erreichbaren Beschleunigung befindliche Pfadpunkte nicht angefahren werden.&lt;/p&gt;&#10;&lt;h3 id="grundlagen-was-ist-look-ahead-feed"&gt;Grundlagen: Was ist &amp;ldquo;Look Ahead Feed&amp;rdquo;?&lt;/h3&gt;&#10;&lt;p&gt;Hiermit ist gemeint, dass der Pfadinterpreter der Steuersoftware sich während des Ausführens einer Fräsoperation - z.B. &lt;code&gt;G01 X* Y* (lineare Bewegung Punkt zu Punkt)&lt;/code&gt; - bereits die nächste(n) Operation(en) anschaut und herausfindet, ob und wie stark zwischen den Operationen abgebremst und wieder beschleunigt werden muss bzw. direkt durchgefahren werden kann. Die Physik dahinter erkläre ich &lt;a href="https://blog.schallbert.de/portal-milling-setup/#acceleration"&gt;im Artikel zum CNC-Setup&lt;/a&gt;.&lt;/p&gt;&#10;&lt;p&gt;Hierdurch kann teils massiv Zeit gespart werden, der Fräsvorgang wird flüssiger und die Maschine erfährt geringere Belastungen. Zusätzlich zur Vermeidung von Beschleunigungs- und Bremsvorgängen kann mittels Parameter &lt;code&gt;G64&lt;/code&gt; eingestellt werden, ob und wie Fräspfadfilter die geplante Trajektorie verändern dürfen, um weiter auf höhere Bahngeschwindigkeiten zu optimieren.&lt;/p&gt;&#10;&lt;h3 id="ideal-im-gravurbetrieb"&gt;Ideal im Gravurbetrieb&lt;/h3&gt;&#10;&lt;p&gt;Im Gravurbetrieb kann man sich solche Optionen hervorragend zu Nutze machen: Höhere Toleranzen sind hier meist OK, und leicht verrundete Kanten oft akzeptabel. Bei 3D-Gravuren dauert das Fräsen durch die vielen Pfade lang, und hier ist besonders viel Zeit herauszuholen.&lt;/p&gt;&#10;&lt;p&gt;Da ich Eding CNC benutze, kann ich nur für Parameter dieser Steuerung Tipps geben. Nun aber ab ins Detail zur Erklärung der Einstellungen!&lt;/p&gt;&#10;&lt;h3 id="fräspfadtoleranz-g64-p"&gt;Fräspfadtoleranz &lt;code&gt;G64 P*&lt;/code&gt;&lt;/h3&gt;&#10;&lt;p&gt;&lt;figure class="media-frame media-frame--right"&gt;&#10; &lt;img src="https://blog.schallbert.de/assets/images/posts/2024-05-04-lafblending.jpg" alt="Image: Look Ahead Feed G64 CNC corner blending"&gt;&lt;/figure&gt;&#10;Dieser Parameter gibt der Steuersoftware die allgemeine Toleranz der Pfadgenauigkeit vor.&lt;/p&gt;&#10;&lt;p&gt;Ich habe meine Maschine so eingestellt, dass sie im Gravurbetrieb Abweichungen vom vorgegebenen Fräspfad von bis zu &lt;code&gt;LAF blending tolerance = 0.3mm&lt;/code&gt; zulässt. Alternativ kann die Konfiguration per Kommando &lt;code&gt;G64 P0.3&lt;/code&gt; erfolgen. Im Bild habe ich skizziert, wie sich eine solche Einstellung in der Praxis auswirken kann: Der Fräspfad (weiß) besteht aus &lt;code&gt;G01&lt;/code&gt;-Liniensegmenten. Die Toleranz ist mit Hilfe von Kreisen eingezeichnet. Der Pfadinterpreter der Steuersoftware kann nun eigenständig Kreissegmente so definieren, dass innerhalb der Toleranz eine möglichst hohe Bahngeschwindigkeit erreicht wird.&lt;/p&gt;&#10;&lt;p&gt;Die so ermittelte Bahn (türkis) ähnelt einer Spline-Kurve. Zu beachten ist hier, dass sämtliche Linien von dieser Einstellung betroffen sein können - auch solche, die strenge Toleranzanforderungen haben. Ist dies nicht gewünscht, so sollte hier ein kleinerer Wert verwendet werden.&lt;/p&gt;&#10;&lt;h3 id="pfadverrundung-g64-r"&gt;Pfadverrundung &lt;code&gt;G64 R*&lt;/code&gt;&lt;/h3&gt;&#10;&lt;p&gt;Treffen zwei Liniensegmente im Winkel von bis zu &lt;code&gt;LAF full speed blending angle threshold = 12°&lt;/code&gt; aufeinander, wird die Maschine ohne abzubremsen versuchen, dem Winkel genau zu folgen. Bei größeren Winkeln wird mit reduzierter Geschwindigkeit mit per &lt;code&gt;G64 P*&lt;/code&gt; definierter Toleranz gefahren. Diese Konfiguration wird mit &lt;code&gt;G64 R12&lt;/code&gt; programmiert.&lt;/p&gt;&#10;&lt;p&gt;Die Werte hier sind mit großer Vorsicht einzustellen, weil sie zu Beschleunigungsspitzen auf der Maschine führen. Große Werte können Schrittverluste und höheren Verschleiß der CNC-Fräse verursachen. Dafür werden Bahngeschwindigkeit und Genauigkeit optimal gehalten.&lt;/p&gt;&#10;&lt;h3 id="pfadverrundung-bei-reduziertem-vorschub-g64-s-d"&gt;Pfadverrundung bei reduziertem Vorschub &lt;code&gt;G64 S* D*&lt;/code&gt;&lt;/h3&gt;&#10;&lt;p&gt;&lt;figure class="media-frame media-frame--right"&gt;&#10; &lt;img src="https://blog.schallbert.de/assets/images/posts/2024-05-04-G64RD.jpg" alt="Image: Look Ahead Feed G64 CNC corner radius"&gt;&lt;/figure&gt;&#10;Diese Konfiguration gibt der Steuersoftware die Möglichkeit, Kanten bis zum eingestellten Toleranzwert zu verrunden: &lt;code&gt;LAF reduced speed path smoothing delta = 0.001mm&lt;/code&gt;. In Kombination mit der Verrundung muss der Winkel eingestellt werden, bis zu dem diese Verrundung durchgeführt werden soll: &lt;code&gt;LAF reduced speed path smoothing angle threshold = 0°&lt;/code&gt;.&lt;/p&gt;&#10;&lt;p&gt;Programmiert wird diese Funktion am Besten in Kombination mit der Pfadverrundung bei vollem Vorschub als &lt;code&gt;G64 R* S* D*&lt;/code&gt;. Der Vorteil hierbei ist, dass Liniensegmenten wie im Bild gezeigt sehr genau gefolgt wird, und die Kanten gleichzeitig aber fein justierbar abgerundet werden. Bis zum über &lt;code&gt;R&lt;/code&gt; definierten Winkel wird sogar mit vollem Vorschub dem Pfad exakt gefolgt.&lt;/p&gt;&#10;&lt;p&gt;Werden bei &lt;code&gt;S&lt;/code&gt; sehr große Winkel eingestellt, so findet entsprechend &lt;code&gt;D&lt;/code&gt; auch eine stärkere Verrundung statt. Überschreitet der im Fräsprogramm vorgegebene Winkel jedoch den konfigurierten Wert, so fällt der Algorithmus auf die für &lt;code&gt;P&lt;/code&gt; hinterlegten Werte bzw. in den exakten Pfadfolgemodus zurück.&lt;/p&gt;&#10;&lt;h3 id="pfadvereinfachung-g64-q"&gt;Pfadvereinfachung &lt;code&gt;G64 Q*&lt;/code&gt;&lt;/h3&gt;&#10;&lt;p&gt;&lt;figure class="media-frame media-frame--right"&gt;&#10; &lt;img src="https://blog.schallbert.de/assets/images/posts/2024-05-04-lafcombine.jpg" alt="Image: Look Ahead Feed G64, path combine setting"&gt;&lt;/figure&gt;&#10;Enthält die G-Code Datei zahlreiche, sehr kurze Liniensegmente (wie sie oft bei der Erstellung von Pfaden aus Bilddateien entstehen), kann diese Funktion durch Vereinfachen der Fräspfade Abhilfe schaffen. Dabei gibt die Zahl hinter dem Parameter die Toleranz an, bis zu der Liniensegmente zu einer Linie verschmolzen werden.&lt;/p&gt;&#10;&lt;p&gt;Diese Einstellung entlastet den Pufferspeicher der Maschine und erhöht gleichzeitig die mittlere Bahngeschwindigkeit. Für den Gravurbetrieb halte ich diese Einstellung insbesondere für interessant, wenn mit &amp;ldquo;verrauschten&amp;rdquo; Daten gearbeitet wird und im CAD nicht die Möglichkeit bestand, die Anzahl der Pfade zu reduzieren.&lt;/p&gt;&#10;&lt;h3 id="beschleunigungsfilter-g64-f"&gt;Beschleunigungsfilter &lt;code&gt;G64 F*&lt;/code&gt;&lt;/h3&gt;&#10;&lt;p&gt;Mittels diesen Parameters können die durch Look Ahead Feed möglicherweise erzeugten Beschleunigungsspitzen abgemildert werden. Der minimal einzustellende Wert ergibt sich durch den Quotienten aus gewähltem Vorschub für die Operation und maximaler Geschwindigkeit der Maschine.&lt;/p&gt;&#10;&lt;p&gt;Beispiel: &lt;code&gt;Fmin = Foperate / Fg00&lt;/code&gt;, bei &lt;code&gt;Fg00 = 12000mm/min&lt;/code&gt; und &lt;code&gt;Foperate = 5000mmm/min&lt;/code&gt; ist &lt;code&gt;Fmin = 0.42&lt;/code&gt;&lt;/p&gt;&#10;&lt;p&gt;Also wird bei Vorschub von &lt;code&gt;5000mm/min&lt;/code&gt; die maximal mögliche Beschleunigung der Maschine abgerufen und Kurvenradien so eingestellt, dass sie bei konstanter Bahngeschwindigkeit gefahren werden. Alle Werte größer gleich &lt;code&gt;Fmin = 1&lt;/code&gt; sind inherent sicher, unabhängig vom gewählten Vorschub.&lt;/p&gt;&#10;&lt;p&gt;&lt;figure class="media-frame media-frame--right"&gt;&#10; &lt;img src="https://blog.schallbert.de/assets/images/posts/2024-05-04-accelfilter.jpg" alt="Image: acceleration filter for G64 operation"&gt;&lt;/figure&gt;&#10;Dieser Parameter wurde entwickelt für die Bearbeitung von elastischen Materialien wie Gummi oder Kork, wo eine konstante Vorschubgeschwindigkeit extrem wichtig und die Bahntreue eher zweitrangig ist. Der Parameter wird in Kombination mit &lt;code&gt;G64 R*&lt;/code&gt; verwendet. Die folgende Programmierung für das obige Beispiel würde die volle Kapazität der Maschine abrufen: &lt;code&gt;G64 R120 F0.42&lt;/code&gt;, wobei mit &lt;code&gt;F5000&lt;/code&gt; gefahren wird, &lt;code&gt;F12000&lt;/code&gt; der Maximalvorschub der Maschine ist und spitze Winkel bis &lt;code&gt;120°&lt;/code&gt; ohne abzubremsen gefahren werden sollen.&lt;/p&gt;&#10;&lt;p&gt;Wende ich diese Werte auf meine Maschine an, entsteht das nebenstehende Bild. Hier soll ein Rechteck mit &lt;code&gt;25 x 100mm&lt;/code&gt; Kantenlänge gefertigt werden. Weiß ist wieder die Zieltrajektorie dargestellt. Die türkise Kurve zeigt die durch die Programmierung des Beschleunigungsfilters gefahrene Kurve mit konstanter Bahngeschwindigkeit. Je geringer der Vorschub im Verhältnis zum Maximalvorschub und je höher die Beschleunigung der Maschine eingestellt ist, desto kleiner wird der notwendige Radius.&lt;/p&gt;&#10;&lt;p&gt;Für den Gravurbetrieb und das Fräsen fester Materialien wird dieser Parameter meiner Erfahrung nach jedoch nicht verwendet.&lt;/p&gt;&#10;&lt;h2 id="meine-konfiguration-für-die-hobbyline-4530"&gt;Meine Konfiguration für die Hobbyline 4530&lt;/h2&gt;&#10;&lt;p&gt;Ich habe im Gravurbetrieb viel mit den verschiedenen LAF-Parametern herumgespielt und eine Menge Rohlinge als Lehrgeld &amp;ldquo;verbraucht&amp;rdquo;. Die kürzesten Fertigunszeiten erhielt ich bei vorheriger Optimierung der kinematischen Parameter mit folgender Konfiguration:&lt;/p&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;&lt;code&gt;G64 Q0.3 R12 D0.3 S120&lt;/code&gt;&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;p&gt;Damit sage ich der Maschine folgendes:&lt;/p&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;&amp;ldquo;Verwende den Pfadvorschau-Algorithmus und versuche, kurze Liniensegmente unter &lt;code&gt;0.3mm&lt;/code&gt; Länge zu verschmelzen. Versuche, den Vorschub bei einem Winkel zweier Streckenabschnitte von bis zu &lt;code&gt;12°&lt;/code&gt; nicht herunterzuregeln. Bei größeren Winkeln bis &lt;code&gt;120°&lt;/code&gt; kann statt einem exakten Nachfahren mit bis zu &lt;code&gt;r=0.3mm&lt;/code&gt; verrundet werden. Bei noch größeren Winkeln ist dem vorgegebenen Pfad zu folgen und, falls erforderlich, bis zum Stillstand abzubremsen.&amp;rdquo;&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;h2 id="fazit"&gt;Fazit&lt;/h2&gt;&#10;&lt;p&gt;&lt;figure class="media-frame media-frame--right"&gt;&#10; &lt;img src="https://blog.schallbert.de/assets/images/posts/2024-05-04-duplicated-software.jpg" alt="Image: dual install of CNC control software for different purposes"&gt;&lt;/figure&gt;&#10;Da mich die Parameteroptimierung für den Gravurbetrieb ziemlich weit vom Parametersatz für den normalen Fräsbetrieb weggebracht haben, habe ich mein Steuerprogramm einfach ein zweites Mal installiert.&lt;/p&gt;&#10;&lt;p&gt;Dort konnte ich dann Geschwindigkeit, Achsbeschleunigung und Pfadparametrierung getrennt festlegen. Nun habe ich das Beste beider Welten auf einer Maschine zur Verfügung:&lt;/p&gt;&#10;&lt;p&gt;Einen sehr genauen, weich operierenden Fräsbetrieb mit folgenden Parametern:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;Fmax XY 12000mm/min&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;Fmax Z 4800mm/min&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;Amax X 1000mm/s²&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;Amax Y 1000mm/s²&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;Amax Z 1000mm/s²&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;G64 P0.1 R6&lt;/code&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Und über die andere Verknüpfung einen überaus flinken Gravurbetrieb:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;Fmax XY 12000mm/min&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;Fmax Z 4800mm/min&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;Amax X 4000mm/s²&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;Amax Y 3200mm/s²&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;Amax Z 1600mm/s²&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;G64 Q0.3 R12 D0.3 S120&lt;/code&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="und-wo-ist-der-beweis"&gt;Und wo ist der Beweis?&lt;/h2&gt;&#10;&lt;p&gt;Das eingebettete Video zeigt dasselbe Gravurprojekt mit vier verschiedenen Optimierungsstufen:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;oben links: Herstellerkonfiguration der Maschine, Standard-Fräspfade aus CAD/CAM&lt;/li&gt;&#10;&lt;li&gt;oben rechts: Geschwindigkeit und Beschleunigung auf Fräsbetrieb erhöht&lt;/li&gt;&#10;&lt;li&gt;unten links: Look Ahead feed eingeschaltet &lt;code&gt;G64 P0.3&lt;/code&gt;, Fräspfade im CAM optimiert&lt;/li&gt;&#10;&lt;li&gt;unten rechts: Optimiert für Gravurbetrieb wie oben beschrieben, CAM Flyover auf &lt;code&gt;2mm reduziert&lt;/code&gt; und Leerfahrten minimiert&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;figure class="media-frame media-frame--center media-frame--video"&gt;&#10; &lt;div class="media-video"&gt;&lt;iframe&#10; src="https://makertube.net/videos/embed/2EWe1ZvVW9TKY6k3XtpmWF"&#10; title="CNC-Tuning für den Gravurbetrieb"&#10; loading="lazy"&#10; allow="autoplay; fullscreen; picture-in-picture"&#10; allowfullscreen&#10; style="width: 100%; height: auto; min-height: 315px; aspect-ratio: 16/9;"&#10; &gt;&lt;/iframe&gt;&lt;/div&gt;&#10; &lt;figcaption class="media-caption"&gt;&#10; &lt;span class="caption-text"&gt;CNC-Tuning für den Gravurbetrieb&lt;/span&gt;&lt;a href="https://makertube.net/videos/embed/2EWe1ZvVW9TKY6k3XtpmWF" class="attr-link" target="_blank" rel="noopener noreferrer"&gt;↗&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&#10;</description></item><item><title>CNC Tuning #2</title><link>https://blog.schallbert.de/cnc-tuning-kinematics/</link><pubDate>Sat, 27 Apr 2024</pubDate><author>Schallbert</author><guid>https://blog.schallbert.de/cnc-tuning-kinematics/</guid><description type="html">&#10; &lt;img src="https://blog.schallbert.de/assets/images/posts/2024-04-27-kinematics-thumb.jpg"&#10; class="post-cover"&#10; alt="Image: Thumbnail of a CNC machine&amp;#39;&amp;#39;s portal X-Axis"&#10; title="CNC Tuning #2" /&gt;&#10;&lt;p&gt;Dies ist der zweite Teil meiner Reihe über die Optimierung der Fertigungszeit auf CNC-Fräsmaschinen. Er konzentriert sich auf die kinematischen Maschinenparameter für den Gravurbetrieb.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://blog.schallbert.de/cnc-tuning-gcode/"&gt;&lt;em&gt;Teil 1&lt;/em&gt;: Besserer G-Code&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://blog.schallbert.de/cnc-tuning-pathinterpreter/"&gt;&lt;em&gt;Teil 3:&lt;/em&gt; Pfadinterpreter optimieren&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="schritt-2-tuning-der-kinematischen-parameter-der-cnc"&gt;Schritt 2: Tuning der kinematischen Parameter der CNC&lt;/h2&gt;&#10;&lt;p&gt;Die theoretischen Grundlagen habe ich im &lt;a href="https://blog.schallbert.de/portal-milling-setup/"&gt;Artikel zur CNC-Steuerungskonfiguration&lt;/a&gt; ausführlich erläutert. Meine Probleme damit und zugehörige Lösungen habe ich nach vielen Tests und Rücksprache mit dem Hersteller im &lt;a href="https://blog.schallbert.de/projects/one-year-zerspanobert/#velocityerror"&gt;Fazit zu einem Jahr CNC-Betrieb&lt;/a&gt; festgehalten. Die folgenden Abschnitte wenden die obigen Erkenntnisse auf eine Demonstrationsmaschine an, die ich mir habe leihen können.&lt;/p&gt;&#10;&lt;h3 id="verfahrgeschwindigkeit-im-eilgang"&gt;Verfahrgeschwindigkeit im Eilgang&lt;/h3&gt;&#10;&lt;p&gt;Für die Demomaschine konnte ich die Geschwindigkeit im Eilgang von den vorgeschlagenen &lt;code&gt;Fxy = 4m/min&lt;/code&gt; und &lt;code&gt;Fz = 2.4m/min&lt;/code&gt; auf &lt;code&gt;Fxy = 12m/min&lt;/code&gt; und &lt;code&gt;Fz = 4.8m/min&lt;/code&gt; erhöhen. Setze ich alle drei Achsen gleichzeitig in Bewegung, erhalte ich durch Steigung der Kugelgewindespindeln und Mikroschrittkonfiguration (8 pro Vollschritt) der Motoren eine kombinierte Schrittfrequenz von &lt;code&gt;96kHz&lt;/code&gt;, was unter der maximalen Schrittfrequenz von &lt;code&gt;125kHz&lt;/code&gt; der Steuerung liegt.&lt;/p&gt;&#10;&lt;h3 id="beschleunigung-im-eilgang"&gt;Beschleunigung im Eilgang&lt;/h3&gt;&#10;&lt;p&gt;Die Herstellerangaben empfehlen hier &lt;code&gt;aXY = 300mm/s²&lt;/code&gt; und &lt;code&gt;aZ = 200mm/s²&lt;/code&gt;.&lt;/p&gt;&#10;&lt;p&gt;Ich habe die Beschleunigung in mehreren Schritten hochgesetzt und bin in einer ersten Runde bei &lt;code&gt;aXY = 1000mm/s²&lt;/code&gt; und &lt;code&gt;aZ = 400mm/s²&lt;/code&gt; gelandet. Diese Werte sind für diese kleine und leichte Maschine mit nur &lt;code&gt;30x45x14cm&lt;/code&gt; Verfahrweg nach meiner Erfahrung für den Normalbetrieb ohne Weiteres möglich. Sie erhöhen die Fertigungsgeschwindigkeit stark, denn jeder Richtungswechsel, auch die im Materialeingriff bei &lt;code&gt;G01, G02, G03&lt;/code&gt;, werden nun um Faktor &lt;code&gt;3&lt;/code&gt; bzw. &lt;code&gt;2.5&lt;/code&gt; schneller ausgeführt.&lt;/p&gt;&#10;&lt;p&gt;So habe ich die Maschine oft betrieben und auch auf der Messe bin ich mit diesen Werten stabil und sicher gefahren. Das folgende Video zeigt die Fräse im Gravurbetrieb mit den angegebenen Werten.&lt;/p&gt;&#10;&lt;figure class="media-frame media-frame--center media-frame--video"&gt;&#10; &lt;div class="media-video"&gt;&lt;iframe&#10; src="https://makertube.net/videos/embed/vvmwT8e6vWnj5zbuqMdUfN"&#10; title="CNC-Tuning: Vorschau"&#10; loading="lazy"&#10; allow="autoplay; fullscreen; picture-in-picture"&#10; allowfullscreen&#10; style="width: 100%; height: auto; min-height: 315px; aspect-ratio: 16/9;"&#10; &gt;&lt;/iframe&gt;&lt;/div&gt;&#10; &lt;figcaption class="media-caption"&gt;&#10; &lt;span class="caption-text"&gt;CNC-Tuning: Vorschau&lt;/span&gt;&lt;a href="https://makertube.net/videos/embed/vvmwT8e6vWnj5zbuqMdUfN" class="attr-link" target="_blank" rel="noopener noreferrer"&gt;↗&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&#10;&lt;p&gt;Danach jedoch wollte ich wissen, wie weit ich es treiben kann. Getreu dem vorher beschriebenen Motto&lt;/p&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;&amp;ldquo;Wer die Grenze nicht überschreitet, weiß nicht, wo sie liegt&amp;rdquo;&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;p&gt;habe ich erst einmal geprüft, wie sich massive Schrittverluste bei dieser Maschine anhören. Also habe ich eine Achse mit einem Holzbalken blockiert und bin vorsichtig dagegen gefahren:&lt;/p&gt;&#10;&lt;figure class="media-frame media-frame--center media-frame--video"&gt;&#10; &lt;div class="media-video"&gt;&lt;video controls&gt;&#10; &lt;source src="https://blog.schallbert.de/assets/video/posts/2024-04-27-soundoflosingsteps.mp4" type="video/mp4"&gt;&#10; Your browser does not support the video tag.&#10; &lt;/video&gt;&lt;/div&gt;&#10; &lt;figcaption class="media-caption"&gt;&#10; &lt;span class="caption-text"&gt;Massive step loss soundcheck&lt;/span&gt;&lt;/figcaption&gt;&lt;/figure&gt;&#10;&lt;p&gt;Das deutlich vernehmbare Rattern entsteht wenn der Motorhochlauf zwar klappt, in Richtung Zielgeschwindigkeit aber diverse Vollschritte verloren gehen. Wird der Rotor bereits bei Anlauf des Motors &amp;ldquo;verloren&amp;rdquo;, so fiept der Motor nur noch, ohne die Achse überhaupt in Bewegung zu setzen. Verliert der Motor nur wenige Schritte, befindet sich aber auf Zielgeschwindigkeit, so gibt es einen rauen und unter Umständen kratzenden Ton.&lt;/p&gt;&#10;&lt;p&gt;Ich habe für das Experiment die X-Achse gewählt, weil sie sich am einfachsten blockieren lässt. Des Weiteren habe ich sie in &lt;code&gt;X+&lt;/code&gt;-Richtung blockiert. Begründung: diese Maschine besitzt kein professionelles Festlager zur Aufnahme von Druck- und Zugkräften der Kugelumlaufspindel. Stattdessen werden Druckkräfte in Richtung Schrittmotor sicher von einem auf der Spindel montierten Flansch abgefangen, der gegen in der Portalwange befindliche Kugellager drückt.&lt;/p&gt;&#10;&lt;p&gt;Zugkräfte hingegen werden hauptsächlich von den Motorlagern aufgenommen - da wollte ich kein Risiko eingehen.&#10;Nun ist also das Geräusch bei plötzlichem und ruckartigen Schrittverlust bekannt - das Übertakten kann beginnen!&lt;/p&gt;&#10;&lt;p&gt;Meine Vorgehensweise:&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;Die Beschleunigung einer Achse der Maschine verdoppeln&lt;/li&gt;&#10;&lt;li&gt;Die betreffende Achse umher joggen, dabei auf merkwürdige Geräusche achten und die Achsbewegung beobachten&lt;/li&gt;&#10;&lt;li&gt;Vorige Schritte wiederholen, bis massive Schrittverluste auftreten&lt;/li&gt;&#10;&lt;li&gt;Beschleunigung auf den Mittelwert zwischen &amp;ldquo;klappt&amp;rdquo; und &amp;ldquo;klappt nicht&amp;rdquo; zurückfahren&lt;/li&gt;&#10;&lt;li&gt;Den vorigen Schritt solange wiederholen, bis die Maschine sauber fährt&lt;/li&gt;&#10;&lt;li&gt;Alle Schritte auch für die anderen Achsen durchführen&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;So bin ich schließlich bei für eine solche Hobbymaschine unglaublichen &lt;code&gt;aXY = 4000mm/s²&lt;/code&gt;, &lt;code&gt;aZ = 1600mm/s²&lt;/code&gt; gelandet. Dies liegt nun eine Größenordnung über den empfohlenen Werten.&lt;/p&gt;&#10;&lt;p&gt;Die kleine Fräse scheint auch hier stabil zu laufen und die gefertigten Gravuren sehen gut aus. Allerdings konnte ich mir nicht vorstellen, dass ich Schrittmotoren, Treiberstufen und Netzteil noch innerhalb ihrer Spezifikation betreibe. Daher habe ich gemessen.&lt;/p&gt;&#10;&lt;h3 id="elektrische-messwerte"&gt;Elektrische Messwerte&lt;/h3&gt;&#10;&lt;p&gt;Das Netzteil ist mit &lt;code&gt;3.7A&lt;/code&gt; bei &lt;code&gt;36V&lt;/code&gt; angegeben. Ich darf diesen Wert also in der Summe weder im Eilgang &lt;code&gt;G00&lt;/code&gt; noch im Materialeingriff dauerhaft überschreiten. Wie oben erklärt, ist der Eilgang im Gravurbetrieb durch die geringeren Fräskräfte maßgeblich, sodass ich besonderes Augenmerk auf das Verfahren mehrerer Achsen gleichzeitig legen muss.&lt;/p&gt;&#10;&lt;p&gt;Die Motoren können je einen Dauerstrom von &lt;code&gt;3.0A&lt;/code&gt; verkraften, limitieren mir hier also nichts. In den elektrischen Tests schaue ich lediglich, ob ich mit der Energieaufnahme des Systems im Rahmen bleibe.&lt;/p&gt;&#10;&lt;h4 id="messaufbau"&gt;Messaufbau&lt;/h4&gt;&#10;&lt;p&gt;Ich schließe das aus &lt;a href="https://blog.schallbert.de/measure-inrush-current/"&gt;diesem Artikel bekannte&lt;/a&gt; Multimeter direkt am Ausgang des Netzteils an und nehme Spannung und Strom auf. Für das Experiment simuliere ich die Fertigung der oben im Video verlinkten Gravur und führe in zwei Durchläufen zuerst eine zeitlich grob aufgelöste Leistungsfaktoranalyse (&lt;code&gt;2Hz&lt;/code&gt;) durch, gefolgt von einer fein aufgelösten Stromermittlung mit &lt;code&gt;20kHz&lt;/code&gt;.&lt;/p&gt;&#10;&lt;h4 id="ergebnisse"&gt;Ergebnisse&lt;/h4&gt;&#10;&lt;figure class="media-frame media-frame--center"&gt;&#10; &lt;img src="https://blog.schallbert.de/assets/images/posts/2024-04-27-powerdiagram-engrave.jpg" alt="Image: Power diagram for tuned engraving"&gt;&lt;/figure&gt;&#10;&lt;p&gt;Im obigen Bild sind Spannung, Strom, Wirk- und Blindleistung aufgetragen. Zu erkennen ist, dass die Blindleistung (&lt;code&gt;grün&lt;/code&gt;) immer dann kurze Spitzen zeigt, wenn mehrere Achsen gleichzeitig in den Eilgang beschleunigen. Die Leistungsaufnahme einer Achse im Eingriff &lt;code&gt;G01/G02/G03, blau&lt;/code&gt; beträgt im Schnitt etwa &lt;code&gt;45W&lt;/code&gt; und ist ähnlich hoch wie bei der Konstantfahrt im Eilgang.&lt;/p&gt;&#10;&lt;p&gt;Das Netzteil ist in der Lage, die Spannung (&lt;code&gt;orange&lt;/code&gt;) ziemlich konstant zu halten und knickt selbst unter Volllast nur um knapp &lt;code&gt;0.2V&lt;/code&gt; ein. Einzig der Stromwert sah mir etwas zu glatt aus. Ich vermutete an dieser Stelle, dass die zeitliche Auflösung zu gering ist und beschloss, das Experiment mit Konzentration auf den Strom zu wiederholen.&lt;/p&gt;&#10;&lt;figure class="media-frame media-frame--center"&gt;&#10; &lt;img src="https://blog.schallbert.de/assets/images/posts/2024-04-27-currentdiagram-engrave.jpg" alt="Image: Current diagram for tuned engraving"&gt;&lt;/figure&gt;&#10;&lt;p&gt;Und tatsächlich. Die höhere zeitliche Auflösung zeigt, dass die Stromaufnahme bei Beschleunigung mehrerer Achsen Spitzen zeigt, die über den bereits bekannten Werten liegt.&lt;/p&gt;&#10;&lt;figure class="media-frame media-frame--center"&gt;&#10; &lt;img src="https://blog.schallbert.de/assets/images/posts/2024-04-27-currentpeak-engrave.jpg" alt="Image: Zoomed-in current draw for axis acceleration"&gt;&lt;/figure&gt;&#10;&lt;p&gt;Hier stechen Bewegungen auf der Y-Achse, welche das gesamte Portal in Bewegung setzen muss, besonders heraus. Und zwar genau dann, wenn die anderen Achsen noch in Bewegung sind oder gerade gehalten haben. Dies hängt mit den Schrittmotortreibern zusammen. Sie betreiben die Motoren nämlich noch etwa &lt;code&gt;0.5s&lt;/code&gt; nach Anhalten bei vollem Strom weiter. Die dadurch entstehende Überlagerung lässt die Spitzen noch dramatischer aussehen.&lt;/p&gt;&#10;&lt;h4 id="benchmark-spitzenlast"&gt;Benchmark Spitzenlast&lt;/h4&gt;&#10;&lt;p&gt;&lt;figure class="media-frame media-frame--right"&gt;&#10; &lt;img src="https://blog.schallbert.de/assets/images/posts/2024-04-27-loadtest.jpg" alt="Image: Zoomed-in current draw for axis acceleration"&gt;&lt;/figure&gt;&#10;Na dann treiben wir es mal auf die Spitze mit einem Beschleunigungs-Benchmark. Wird das Netzteil auch bei voller Last unter Beschleunigung aller Motoren gleichzeitig die Ausgangsspannung halten können?&lt;/p&gt;&#10;&lt;p&gt;Um dies zu testen, habe ich einen G-Code geschrieben, der alle Achsen gleichzeitig auf Höchstgeschwindigkeit beschleunigen und dann wieder abbremsen lässt. Anschließend wird unter gleichen Bedingungen zum Ausgangspunkt zurückgefahren und das Ganze wiederholt.&lt;/p&gt;&#10;&lt;p&gt;Auf diese Weise kann ich herausfinden, ob das Netzteil genügend Reserven hat, um Lastspitzen abzufangen und gleichzeitig schauen, ob die Motoren bereits im größeren Maße Schritte verlieren. Im Mittel liegt hier die aufgebrachte Leistung bei &lt;code&gt;95W&lt;/code&gt; und die Versorgungsspannung sinkt um &lt;code&gt;0.28V&lt;/code&gt; auf &lt;code&gt;35.72V&lt;/code&gt; ab. Dabei muss das Netzteil in der Spitze &lt;code&gt;5.14A&lt;/code&gt; abgeben, was knapp &lt;code&gt;40%&lt;/code&gt; über Nennstrom liegt.&lt;/p&gt;&#10;&lt;figure class="media-frame media-frame--center media-frame--video"&gt;&#10; &lt;div class="media-video"&gt;&lt;video controls&gt;&#10; &lt;source src="https://blog.schallbert.de/assets/video/posts/2024-04-20-benchmark.mp4" type="video/mp4"&gt;&#10; Your browser does not support the video tag.&#10; &lt;/video&gt;&lt;/div&gt;&#10; &lt;figcaption class="media-caption"&gt;&#10; &lt;span class="caption-text"&gt;Benchmark&lt;/span&gt;&lt;/figcaption&gt;&lt;/figure&gt;&#10;&lt;p&gt;Hört man ganz genau hin, so klingt die Maschine direkt zu Beginn des Benchmarks etwas rau, fängt sich dann aber. So können auch Schrittverluste klingen. Es ist daher sehr wichtig, die Maschine mit allen Sinnen zu überwachen.&lt;/p&gt;&#10;&lt;h3 id="mechanische-prüfung"&gt;Mechanische Prüfung&lt;/h3&gt;&#10;&lt;p&gt;Nun zur letzten Prüfung: Ich gebe beim Eilgang-Benchmark zusätzlich Last auf die Achsen, indem ich während des Programmablaufes mit meinem Arm an der jeweiligen Achse ziehe. Die Achsen Z und X laufen stabil weiter. Bei der Portalachse &lt;code&gt;Y&lt;/code&gt; merke ich jedoch, dass die Maschine nun anders klingt. Irgendwie rau, als würde man mit mit einer Raspel leicht über eine Holzplatte ziehen.&lt;/p&gt;&#10;&lt;figure class="media-frame media-frame--center"&gt;&#10; &lt;img src="https://blog.schallbert.de/assets/images/posts/2024-04-27-steplossy.jpg" alt="Image: Y-axis reveals massive step loss"&gt;&lt;/figure&gt;&#10;&lt;p&gt;Lege ich eine große Last an, so fährt der Schrittmotor auf dieser Achse nicht mal mehr an, sondern fiept nur noch. Er kann den Pulsen der Endstufe nicht mehr folgen. Ich reduziere nun also die Beschleunigung schrittweise, bis der Motor die Portalachse auch unter mittlerer Last wiederholbar und ohne hörbare Schrittverluste beschleunigen kann. Hier lande ich am Ende bei immer noch flinken &lt;code&gt;[aX = 4000mm/s² aY = 3200mm/s² aZ = 1600mm/s²]&lt;/code&gt;.&lt;/p&gt;&#10;&lt;p&gt;In einem letzten Schritt führe ich nach fünfmaliger Wiederholung des Benchmarks eine weitere Referenzfahrt durch und schaue mir die Logs der Steuersoftware an. Alle Achsen sind nun unauffällig hinsichtlich Schrittverlusten.&lt;/p&gt;&#10;&lt;figure class="media-frame media-frame--center"&gt;&#10; &lt;img src="https://blog.schallbert.de/assets/images/posts/2024-04-27-steplossxz.jpg" alt="Image: XZ-axis without step loss"&gt;&lt;/figure&gt;&#10;&lt;h3 id="appelle-zum-cnc-tuning"&gt;Appelle zum CNC-Tuning&lt;/h3&gt;&#10;&lt;p&gt;Bitte geht beim Tuning eurer Maschine behutsam vor. Lernt sie richtig kennen, bevor ihr damit beginnt. Hört genau hin und optimiert Achse für Achse nacheinander. Nehmt euch Zeit für Tests, Prüfungen und Experimente.&lt;/p&gt;&#10;&lt;p&gt;Selbst wenn ihr eine sehr ähnliche Maschine wie meine besitzt, machen andere Abmessungen bereits einen riesigen Unterschied hinsichtlich Steifigkeit und damit auch möglicher Verfahrgeschwindigkeit bzw. Beschleunigung. Sogar Wartungszustand, leichtgängigere Wellen, andere Führungen o.Ä. können dazu führen, dass ihr am Ende mit anderen Werten fahrt als ich.&lt;/p&gt;&#10;&lt;p&gt;Es wird kein Profi-Equipment benötigt, um die Grenzen der Maschine auszuloten. Nicht einmal eine Messuhr, da Schrittverluste auch mit Hilfe der Referenzschalter hinreichend genau bestimmt werden können.&lt;/p&gt;&#10;&lt;p&gt;Alles was ich durch die elektrischen Messungen oben festgestellt habe, ist, dass der Hersteller bei der Auslegung der Maschine sauber gearbeitet hat und keine Komponente unterdimensioniert ist. Im Gegenteil, diese Maschine ist für die Übertaktung bestens geeignet.&lt;/p&gt;&#10;&lt;p&gt;Und nun weiter zum letzten &lt;a href="https://blog.schallbert.de/cnc-tuning-pathinterpreter/"&gt;&lt;em&gt;Teil 3:&lt;/em&gt; Pfadinterpreter optimieren&lt;/a&gt;.&lt;/p&gt;&#10;</description></item><item><title>CNC Tuning #1</title><link>https://blog.schallbert.de/cnc-tuning-gcode/</link><pubDate>Sat, 20 Apr 2024</pubDate><author>Schallbert</author><guid>https://blog.schallbert.de/cnc-tuning-gcode/</guid><description type="html">&#10; &lt;img src="https://blog.schallbert.de/assets/images/posts/2024-04-20-camtuned-thumb.jpg"&#10; class="post-cover"&#10; alt="Image: Thumbnail of CAM simulation for G-code optimizing"&#10; title="CNC Tuning #1" /&gt;&#10;&lt;p&gt;Dies ist der erste Teil meiner Reihe über die Optimierung der Fertigungszeit auf CNC-Fräsmaschinen. Er konzentriert sich auf den Einsatz von CAD- und CAM-Werkzeugen zur Erzeugung effizienteren G-Codes.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://blog.schallbert.de/cnc-tuning-kinematics/"&gt;&lt;em&gt;Teil 2&lt;/em&gt;: Kinematische Parameter hochdrehen&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://blog.schallbert.de/cnc-tuning-pathinterpreter/"&gt;&lt;em&gt;Teil 3:&lt;/em&gt; Pfadinterpreter optimieren&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Es gibt diverse Maßnahmen zur Reduktion der Fertigungszeit mit einer CNC-Maschine. Erstmal jedoch sollte beleuchtet werden, warum so etwas gewünscht ist und welche möglichen Nachteile sich hierdurch ergeben.&lt;/p&gt;&#10;&lt;h2 id="warum-überhaupt"&gt;Warum überhaupt?&lt;/h2&gt;&#10;&lt;p&gt;Aus kaufmännischer Sicht sorgen geringere Fertigungszeiten für einen höheren Teiledurchsatz und ermöglichen damit einen höheren Umsatz in einer gegebenen Zeitspanne. Zudem ist die Investition der Maschine schneller amortisiert.&lt;/p&gt;&#10;&lt;p&gt;Als Hobbyist sind kürzere Fertigungszeiten vor allem dann interessant, wenn das Ziel die Herstellung sehr komplexer Geometrien oder die 3D-Fertigung ist. Hier können Fräszeiten durchaus mehrere Stunden betragen und die möglichen Einsparungen sind folglich besonders groß.&lt;/p&gt;&#10;&lt;p&gt;Bei mir steht wie auch in der Lehre der wissenschaftliche Gedanke im Vordergrund: Ich will herauszufinden, wo die Grenze der Maschine liegt. Ich möchte wissen, warum sie dort liegt. Ich werde versuchen, sie stabil innerhalb ihrer Grenzen zu betreiben. Dabei ist der Verschleiß unter Kontrolle zu halten.&lt;/p&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;Um diese Grenze jedoch genau zu kennen, muss sie zuerst übertreten werden. Woher sonst soll ich wissen, wo sie sich befindet?&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;h3 id="was-sind-mögliche-nachteile"&gt;Was sind mögliche Nachteile?&lt;/h3&gt;&#10;&lt;p&gt;Bestimmte Komponenten einer &amp;ldquo;übertakteten&amp;rdquo; Maschine könnten schneller als üblich verschleißen. Dazu zählen etwa Netzteile und Motor-Endstufen, die höhere transiente Ströme verkraften müssen. Lager und Führungen werden durch höhere Beschleunigungen stärker beansprucht. Umlaufspindeln und Maschinenrahmen müssen die dadurch resultierenden, stärkeren und schneller wechselnden Kräfte und Vibrationen aufnehmen und können früher Ermüdungserscheinungen oder sich lösende Verbindungen aufweisen.&lt;/p&gt;&#10;&lt;p&gt;Bei der Ermittlung der Grenzen kann die Maschine im Extremfall sogar beschädigt werden: Mit hoher Wahrscheinlichkeit treten jenseits der Grenze Schrittverluste&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt; auf. Das ist zwar im Testbetrieb nicht weiter problematisch. Doch stimmt die angenommene Position dann nicht mehr mit der tatsächlichen Position überein und es besteht das Risiko des &amp;ldquo;Crashes&amp;rdquo; - wenn nicht mit Bedacht vorgegangen wird. Hier noch ein ziemlich gutes &lt;a href="https://www.youtube.com/watch?v=C_9dM1wx0Sg" target="_blank" rel="noopener noreferrer" class="external-link"&gt;Youtube-Video von &lt;em&gt;gammaflow&lt;/em&gt; zum Thema Schrittverluste vermeiden&lt;span class="external-link-icon" aria-hidden="true"&gt;↗&lt;/span&gt;&lt;/a&gt;.&lt;/p&gt;&#10;&lt;p&gt;Werden die Fräsbahnen im CAD oder CAM zugunsten kürzerer Fertigungszeiten verändert, so kann dies außerdem negative Auswirkungen auf Schnitt-, Kanten- und Oberflächenqualität haben.&lt;/p&gt;&#10;&lt;p&gt;Bei der Optimierung des Pfadinterpreters der Steuersoftware ist ebenfalls ein Kompromiss einzugehen: Höhere Fertigungsgeschwindigkeit wird hier mit geringerer Genauigkeit und/oder höherem Maschinenverschleiß eingekauft.&lt;/p&gt;&#10;&lt;h3 id="welche-maßnahmen-werden-nicht-diskutiert"&gt;Welche Maßnahmen werden nicht diskutiert?&lt;/h3&gt;&#10;&lt;p&gt;Nicht betrachten werde ich hier die Optimierung von Vorschub &lt;code&gt;F&lt;/code&gt; und Drehzahl &lt;code&gt;S&lt;/code&gt; des gewählten Fräsers im Eingriff. Diese Parameter hängen vom zu bearbeitendem Material, der Fräsergeometrie, den Fähigkeiten der Maschine und dem Mut des Bedienpersonals ab, sodass ich keine allgemein gültigen Tunings vorschlagen kann.&lt;/p&gt;&#10;&lt;p&gt;Einen anderen, großen Einflussfaktor muss ich hier ebenfalls ausklammern: Die Bearbeitungsstrategie des CAM-Programms bezogen auf Eilgänge. Mein CAM-Programm lässt mich da nicht besonders tief eingreifen, sodass ich für die Optimierung der letzten paar Prozent Fertigungszeit stets von Hand im G-Code arbeiten muss, was entsprechend fehleranfällig ist.&lt;/p&gt;&#10;&lt;h2 id="tuning-in-drei-schritten"&gt;Tuning in drei Schritten&lt;/h2&gt;&#10;&lt;p&gt;Bei meiner Optimierung bin ich in drei Schritten vorgegangen, die allerdings unabhängig voneinander umgesetzt werden können. Jeder Schritt hat mir hierbei deutlich spürbare Verbesserungen gebracht. Dieser Artikel konzentriert sich aus mehreren Gründen auf den Gravurbetrieb:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Gravuren erlauben meist größere Toleranzen als andere Betriebsarten. Dadurch kann stärker verrundet werden, was zu geringeren Beschleunigungen führt. Dies ermöglicht im Mittel größere Vorschübe&lt;/li&gt;&#10;&lt;li&gt;Die zu erwartenden Fräskräfte sind geringer: Keine Durchfräsungen, kaum Energieeinsatz bei der Spanverdrängung, kleineres Spanvolumen als bei Schaftfräsern&lt;/li&gt;&#10;&lt;li&gt;Dadurch kann die Maschine näher an ihren mechanischen und elektrischen Grenzen betrieben werden&lt;/li&gt;&#10;&lt;li&gt;Durch im Schnitt größere G-Code Dateien mehr Optimierungspotential&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="schritt-1-besserer-g-code"&gt;Schritt 1: Besserer G-Code&lt;/h2&gt;&#10;&lt;p&gt;Dieser Abschnitt folgt dem Credo &lt;code&gt;Garbage in, Garbage out&lt;/code&gt;. Will heißen: Wenn mein G-Code schon schlecht ist, kann die Maschine niemals optimale Fertigungszeiten erreichen. Was zeichnet also &amp;ldquo;schlechten&amp;rdquo; G-Code in Bezug auf Fertigungszeit aus?&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;übermäßig komplex und lang, möglicherweise Dateigröße im Megabyte-Bereich&lt;/li&gt;&#10;&lt;li&gt;extrem viele Stützpunkte und eine Menge kurzer Liniensegmente&lt;/li&gt;&#10;&lt;li&gt;Einen Haufen &amp;ldquo;Leerfahrten&amp;rdquo; im Eilgang auf XY mit hochgezogener Z-Achse&lt;/li&gt;&#10;&lt;li&gt;Viele Rückzüge der Z-Achse auf Sicherheitshöhe&lt;/li&gt;&#10;&lt;li&gt;Häufige Wartezeiten der Maschine (Spindelhochlauf, Kühlmittelpumpe, Controller-Puffer voll)&lt;/li&gt;&#10;&lt;li&gt;Übermäßiges Feinstschlichten auch bei B-Oberflächen&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="aber-wie-soll-ich-meinen-g-code-vereinfachen"&gt;Aber wie soll ich meinen G-Code vereinfachen?&lt;/h3&gt;&#10;&lt;p&gt;Kurze Frage, lange Antwort: Es fängt im CAD an und hört möglicherweise im CAM nicht auf.&lt;/p&gt;&#10;&lt;h3 id="beispiel-cad"&gt;Beispiel CAD&lt;/h3&gt;&#10;&lt;p&gt;&lt;figure class="media-frame media-frame--right"&gt;&#10; &lt;img src="https://blog.schallbert.de/assets/images/posts/2024-04-20-bline.jpg" alt="Image: Letter &amp;#39;B&amp;#39; in CAM, drawn as a set of line segments"&gt;&lt;/figure&gt;&#10;Nehmen wir an, wir möchten eine Schrift fräsen. Unser CAD-Programm hat auch einen Haufen toller Schriftarten dazu. Wir erzeugen nun eine DXF-Datei für&amp;rsquo;s CAM. Im CAM dann sehen wir plötzlich beim Hineinzoomen, dass alle Buchstaben aus sehr kurzen Liniensegmenten bestehen statt aus Kreissegmenten oder &lt;a href="https://en.wikipedia.org/wiki/Spline_%28mathematics%29" target="_blank" rel="noopener noreferrer" class="external-link"&gt;Splines&lt;span class="external-link-icon" aria-hidden="true"&gt;↗&lt;/span&gt;&lt;/a&gt;. Die Folge: Das CAM wird &lt;code&gt;G01&lt;/code&gt;-Bewegungen, also &amp;ldquo;Linear Moves&amp;rdquo; bzw. eine Aneinanderreihung von Strecken erzeugen.&lt;/p&gt;&#10;&lt;p&gt;Die verbundenen Strecken machen sehr viele Richtungswechsel der Maschine erforderlich. Folglich muss sie vor dem Verbindungspunkt ständig abbremsen und danach wieder beschleunigen. Die Maschine kann also nicht mit konstanter Geschwindigkeit fahren, denn das würde eine unendliche Beschleunigung am Knickpunkt erfordern.&lt;/p&gt;&#10;&lt;p&gt;Für dieses Problem gibt es Lösungen, die im Idealfall gemeinsam angewendet werden:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Im CAD-Programm einstellen, dass wann immer möglich Splines oder Kurven statt Liniensegmenten erstellt werden sollen&lt;/li&gt;&#10;&lt;li&gt;Vereinfachung der Zeichnung durch Reduktion der Stützstellen&lt;/li&gt;&#10;&lt;li&gt;Vermehrte Nutzung von Radien und Splines an Kanten, Vermeidung von Winkeln&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;In meinem Falle war die erste Option nicht verfügbar, sodass ich nun ein anderes Programm für die Gravur von Schriften verwende als für meine üblichen Zeichnungen. Dadurch kann ich Schrift jetzt in Linien- und Bogensegmenten ausdrücken. Die dafür erforderliche Fräszeit halbiert sich und gleichzeitig kommt der G-Code mit weniger Zeilen aus. Außerdem wird die Schrift runder und hält sich sogar noch genauer an die anfangs gewählte Schriftart.&lt;/p&gt;&#10;&lt;figure class="media-frame media-frame--center"&gt;&#10; &lt;img src="https://blog.schallbert.de/assets/images/posts/2024-04-20-bsplinevsline.jpg" alt="Image: Letter &amp;#39;B&amp;#39; in CAM, twice. Once per spline, once as line segments"&gt;&lt;/figure&gt;&#10;&lt;p&gt;Gute Beispiele für die Vereinfachung von Pfaden durch Reduktion von Stützpunkten liefern Gimp und Inkscape - für Inkscape habe ich das sogar bereits meinem &lt;a href="https://blog.schallbert.de/path-from-image/#inkscape"&gt;Artikel zum Thema Bild-zu-Pfad-Konversion&lt;/a&gt; gezeigt. Mit ein paar wenigen Klicks erhält man auf Kosten der Genauigkeit Zeichnungsdaten, die teils deutlich schneller zu fertigen sind.&lt;/p&gt;&#10;&lt;p&gt;Da ein Schaftfräser sowieso keine Tasche mit &lt;code&gt;r=0&lt;/code&gt; in den Ecken fertigen kann, habe ich mir angewöhnt, sämtliche Ecken und Kanten im CAD abzurunden. Nicht nur liegen so hergestellte Teile besser in der Hand, sie sind außerdem schneller zu fertigen - die Zeitersparnis summiert sich, besonders auf langsamen und trägen Maschinen.&lt;/p&gt;&#10;&lt;h3 id="beispiel-cam"&gt;Beispiel CAM&lt;/h3&gt;&#10;&lt;p&gt;Im CAM kann ich durch vermehrte Verwendung von Anfahrpunkten und Rampen ein wenig Zeit sparen. Ich lege sie zumeist an das kürzeste Liniensegment und spare so einen Brems/Beschleunigungsvorgang. Bei der Eintauchart ist der Vorteil von &amp;ldquo;Rampe&amp;rdquo; gegenüber &amp;ldquo;Helix&amp;rdquo;, dass sämtliche Wege des Fräsers Nutzwege sind und ich ohne zusätzliche Achsbeschleunigungen durchfahren kann. Je nach Rampensteigung allerdings verlängert sich der Fräspfad, da Überlappungen entstehen.&lt;/p&gt;&#10;&lt;p&gt;Einen viel größeren Effekt auf die Fertigungszeit hat die kluge Auswahl von Räumzustellungen und -strategien für Taschen passend zu Material, Fräser und gewünschter Oberflächengüte. So erzeugt Wirbelfräsen (Trochoidalfräsen&lt;sup id="fnref:2"&gt;&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref"&gt;2&lt;/a&gt;&lt;/sup&gt;) in vielen Fällen längere Dateien und kostet auf der Maschine mehr Zeit als der klassische &amp;ldquo;Rasenmäher&amp;rdquo;, welcher die Tasche bloß abzeilt. Für die Räumzustellung wähle ich bei Materialien wie Holz und Acrylglas gern große Werte über &lt;code&gt;60%&lt;/code&gt; - es sei denn, der Boden der Tasche muss besonders hohen Qualitätsansprüchen genügen.&lt;/p&gt;&#10;&lt;p&gt;Für Gravuren ist es meiner Meinung nach oft am Schnellsten, auf einen Räumgang mit einem zweiten Fräser zu verzichten und wenn möglich einen Gravurfräser mit abgeflachter Spitze - ähnlich derer für meine &lt;a href="https://blog.schallbert.de/cut-dibond-tests/"&gt;Tests mit Dibond&lt;/a&gt; - zu verwenden. Dieser benötigt zum Räumen zwar länger; das kann ich durch gesteigerte Gravurtiefe und eine recht breite Abflachung von &lt;code&gt;1.5mm&lt;/code&gt; aber kompensieren. Ich verwende bei einem solchen Fräser eine Räumzustellung in XY von &lt;code&gt;1mm&lt;/code&gt;. Übrig bleibt schließlich der Zeitvorteil durch weniger Werkzeugwechsel.&lt;/p&gt;&#10;&lt;h3 id="aber-wie-soll-ich-die-leerfahrten-reduzieren"&gt;Aber wie soll ich die Leerfahrten reduzieren?&lt;/h3&gt;&#10;&lt;p&gt;Endlich mal ein paar knackig-kurze Antworten:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Geringere Rückzugshöhe in &lt;code&gt;Z&lt;/code&gt; (ich verwende &lt;code&gt;5mm&lt;/code&gt; aber &lt;code&gt;2mm&lt;/code&gt; würde bei mir wahrscheinlich auch funktionieren)&lt;/li&gt;&#10;&lt;li&gt;Optimierung der Frässtrategie im CAM auf &amp;ldquo;minimale Wege&amp;rdquo;&lt;/li&gt;&#10;&lt;li&gt;Bei Nesting: Darauf achten, dass die Geometrie möglichst nicht Zeile für Zeile, sondern Teil für Teil gefertigt wird.&lt;/li&gt;&#10;&lt;li&gt;Im Zweifel Optimierung der Strategie im G-Code von Hand. Lohnt sich dann, wenn das CAM-Programm nicht gut genug arbeiten kann und viele Gleichteile zu fertigen sind&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="und-wo-ist-das-problem-mit-rückzügen-der-z-achse"&gt;Und wo ist das Problem mit Rückzügen der Z-Achse?&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Rückzüge finden vor allem im Gravurbetrieb sehr häufig statt&lt;/li&gt;&#10;&lt;li&gt;der Zeitverlust summiert sich&lt;/li&gt;&#10;&lt;li&gt;Beim Wiedereingriff wird meist nicht im Eilgang sondern mit für den Fräser vorgesehener Geschwindigkeit mit &lt;code&gt;G01&lt;/code&gt; auf das Material gefahren&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Eine Verbesserung kann hier eine gute Planung der Fräsreihenfolge im CAM bringen. Möglichst viele Sektionen sollten verbunden und ohne Absetzen des Fräsers gefertigt werden. Im CAM sollte für Rückzug und Wiedereinfahrt in &lt;code&gt;Z&lt;/code&gt; der Eilgang verwendet werden.&lt;/p&gt;&#10;&lt;h3 id="wie-reduziere-ich-wartezeiten"&gt;Wie reduziere ich Wartezeiten?&lt;/h3&gt;&#10;&lt;p&gt;Mit Kühlschmierstoffschaltvorgängen, Wechsel der Spindeldrehzahl oder des Werkzeugs sind Wartezeiten verbunden, die meist leicht zu reduzieren sind:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Kühlschmierstoffförderung durchlaufen lassen während des Programmablaufes&lt;/li&gt;&#10;&lt;li&gt;die Verwendung möglichst weniger Werkzeuge bei gleichbleibender Drehzahl für ein Produkt&lt;/li&gt;&#10;&lt;li&gt;Anschläge verwenden, um die Maschinenbeschickung zu vereinfachen und Nullpunkte nicht immer wieder neu setzen zu müssen&lt;/li&gt;&#10;&lt;li&gt;Wird die Maschine mit komplett verschiedenen parametern für Gravur- und Fräsbetrieb gefahren, empfiehlt sich die doppelte Installation der Steuersoftware mit jeweils passenden Parametersätzen. Dadurch entfällt das ständige Ändern der Konfiguration.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Weiter geht es in &lt;a href="https://blog.schallbert.de/cnc-tuning-kinematics/"&gt;&lt;em&gt;Teil 2&lt;/em&gt;: Kinematische Parameter hochdrehen&lt;/a&gt;.&lt;/p&gt;&#10;&lt;div class="footnotes" role="doc-endnotes"&gt;&#10;&lt;hr&gt;&#10;&lt;ol&gt;&#10;&lt;li id="fn:1"&gt;&#10;&lt;p&gt;Schrittverluste treten dann auf, wenn die Achse eines Schrittmotors nicht mehr synchron mit der durch die Steuerung vorgegebenen Schrittfolge dreht, sondern weniger bzw. mehr Schritte zurücklegt als vorgegeben. Fast immer ist die Ursache eines Schrittverlustes in einer unzureichenden Auslegung des Systems (z.B. zu geringe oder instabile Versorgungsspannung, zu schwache oder nicht an den Motor angepasste Endstufen) oder einer Überlastung des Schrittmotors zu finden. Selten jedoch können Schrittverluste Symptome von Defekten sein wie Lagerfraß, Windungsschluss oder durchschlagene Pufferkondensatoren.&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li id="fn:2"&gt;&#10;&lt;p&gt;Das Trochoidalfräsen ist keine schlechte Praxis. Es hat andere Stärken, ist im Gravurrbetrieb aber nur selten von Nutzen.&amp;#160;&lt;a href="#fnref:2" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;/div&gt;&#10;</description></item><item><title>CNC: Überlastung Fräsmotor</title><link>https://blog.schallbert.de/cnc-router-overload/</link><pubDate>Sat, 18 Jun 2022</pubDate><author>Schallbert</author><guid>https://blog.schallbert.de/cnc-router-overload/</guid><description type="html">&#10; &lt;img src="https://blog.schallbert.de/assets/images/posts/2022-06-18_overload-thumb.jpg"&#10; class="post-cover"&#10; alt="Image of an endmill path that doesn&amp;#39;t look good at all"&#10; title="CNC: Überlastung Fräsmotor" /&gt;&#10;&lt;h2 id="was-ich-eigentlich-wollte"&gt;Was ich eigentlich wollte&lt;/h2&gt;&#10;&lt;p&gt;Ich hatte eine Anfrage zum Schneiden und Gravieren von Hochdrucklaminaten. Dabei handelt es sich um eine Lasagne aus gepresstem Papier und &lt;a href="https://en.wikipedia.org/wiki/Phenol_formaldehyde_resin" target="_blank" rel="noopener noreferrer" class="external-link"&gt;Phenolharz&lt;span class="external-link-icon" aria-hidden="true"&gt;↗&lt;/span&gt;&lt;/a&gt;, überzogen mit einer dünnen Schicht (farbigen) &lt;a href="https://en.wikipedia.org/wiki/Melamine_resin" target="_blank" rel="noopener noreferrer" class="external-link"&gt;Melaminharzes&lt;span class="external-link-icon" aria-hidden="true"&gt;↗&lt;/span&gt;&lt;/a&gt;. HPL ist so widerstandsfähig, dass es für Fassadenbeplankungen verwendet wird. Es ist spülmaschinenfest und einige Varianten können auf bis zu 200°C erhitzt werden, ohne Schaden zu nehmen. HPL findet man als Platten auf Spielplätzen, Gartentischen, als Paneele in der Straßenbahn und an vielen anderen Stellen im Alltag.&#10;Also dachte ich mir: &amp;ldquo;Cooles Zeug, Probieren geht über Studieren!&amp;rdquo;&lt;/p&gt;&#10;&lt;h2 id="schnittdaten-in-hochdrucklaminaten-hpl-resopal"&gt;Schnittdaten in Hochdrucklaminaten (HPL, &amp;ldquo;Resopal&amp;rdquo;)&lt;/h2&gt;&#10;&lt;p&gt;&lt;figure class="media-frame media-frame--right"&gt;&#10; &lt;img src="https://blog.schallbert.de/assets/images/posts/2022-06-18_overload_chips.jpg" alt="Image: HPL und Späne nach dem Schneiden"&gt;&lt;/figure&gt;&#10;Ich habe die von einigen Websites empfohlenen Schnittdaten mit Werten für &amp;ldquo;Hartholz&amp;rdquo; verwendet.&#10;2-Schneider.Holz-Hartmetallschaftfräser, Schnittgeschwindigkeit &lt;code&gt;450m/min&lt;/code&gt;, &lt;code&gt;d6mm&lt;/code&gt;, &lt;code&gt;Z+6,5mm&lt;/code&gt;, &lt;code&gt;S24000rpm&lt;/code&gt;, &lt;code&gt;F3500mm/min&lt;/code&gt;, Vollnut, Gleichlauffräsen.&lt;/p&gt;&#10;&lt;h2 id="schnittergebnisse"&gt;Schnittergebnisse&lt;/h2&gt;&#10;&lt;p&gt;Und ich war erschrocken, wie der Schnitt aussah, als ich fertig war.&#10;Hier sind die Symptome:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Während des Schneidens fiel die Spindeldrehzahl wiederholt ab, stieg aber schnell wieder auf die gewünschte Drehzahl an.&lt;/li&gt;&#10;&lt;li&gt;hohe Spanlast am Fräser, große Späne, sah alles gut aus&lt;/li&gt;&#10;&lt;li&gt;der Fräser folgte keiner geraden Linie: schien dem Material irgendwie ausweichen zu wollen.&lt;/li&gt;&#10;&lt;li&gt;bei der Herstellung von Anbindungen, um das Werkstück an Ort und Stelle zu halten, bewegt sich der Fräser ein wenig quer zur Fräsbahn, obwohl er das nicht sollte&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="suche-nach-dem-übeltäter"&gt;Suche nach dem Übeltäter&lt;/h2&gt;&#10;&lt;p&gt;Zuerst habe ich die Spindel überprüft. Keine Überhitzung, immer noch fest an der Portalfräse eingespannt, kein Lagerspiel, Schaftfräser sicher befestigt. Dann dachte ich: &amp;ldquo;Vielleicht stimmt etwas mit dem Portal nicht? Kann ich es merklich verwinden?&amp;rdquo; Nein, das konnte ich nicht. Dann sah ich mir den Schaftfräser an.&lt;/p&gt;&#10;&lt;p&gt;&lt;figure class="media-frame media-frame--right"&gt;&#10; &lt;img src="https://blog.schallbert.de/assets/images/posts/2022-06-18_overload_endmill.jpg" alt="Image: dull carbide endmill after cutting HPL"&gt;&lt;/figure&gt;&#10;Es sah überhaupt nicht gut aus. Die Schnittkanten waren an den Stellen, an denen sie das Material berührt hatten, praktisch weg. Seltsam. Es war nagelneu als ich den Auftrag begann, und der lief nicht einmal 20 Minuten lang.&lt;/p&gt;&#10;&lt;h2 id="analyseergebnisse"&gt;Analyseergebnisse&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Ich habe viel zu aggressive Schnittdaten verwendet.&lt;/li&gt;&#10;&lt;li&gt;Dadurch wurde der Motor der Oberfräse weit über seine Möglichkeiten hinaus betrieben.&lt;/li&gt;&#10;&lt;li&gt;Dies führte zu einem plötzlichen Abfall der Motordrehzahl.&lt;/li&gt;&#10;&lt;li&gt;Dies wiederum führte zu einer erhöhten Spanbelastung meines Fräsers&lt;/li&gt;&#10;&lt;li&gt;Da die Lager und die Befestigung des Fräsmotors am Portal &amp;ldquo;weich&amp;rdquo; sind, versuchte der Fräser, seiner Fräsbahn auszuweichen&lt;/li&gt;&#10;&lt;li&gt;Dies hat mich wahrscheinlich vor dem Bruch des Fräsers bewahrt.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="verbesserungen"&gt;Verbesserungen&lt;/h2&gt;&#10;&lt;h3 id="neubewertung-der-schnittparameter-für-hochdrucklaminat"&gt;Neubewertung der Schnittparameter für Hochdrucklaminat&lt;/h3&gt;&#10;&lt;p&gt;Ich habe nochmal online recherchiert. HPL ist unglaublich hart und steif. Hier mal ein paar Werte zum Vergleich (Brinellhärte):&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;Buche: &lt;code&gt;~3.7N/mm²&lt;/code&gt; (&lt;a href="https://www.olivenholzprodukte.de/Holzhaerte-Tabelle-nach-Brinell" target="_blank" rel="noopener noreferrer" class="external-link"&gt;Source&lt;span class="external-link-icon" aria-hidden="true"&gt;↗&lt;/span&gt;&lt;/a&gt;)&lt;/li&gt;&#10;&lt;li&gt;HPL: &lt;code&gt;~185N/mm²&lt;/code&gt; (&lt;a href="https://www.pro-hpl.org/assets/uploads/prohpl/files/200330_Technische_Kennziffern_und_physikalische_Eigenschaften_von_HPL.pdf" target="_blank" rel="noopener noreferrer" class="external-link"&gt;Source&lt;span class="external-link-icon" aria-hidden="true"&gt;↗&lt;/span&gt;&lt;/a&gt;)&lt;/li&gt;&#10;&lt;li&gt;Baustahl ST70: &lt;code&gt;215N/mm²&lt;/code&gt; (&lt;a href="https://www.ingenieurkurse.de/baustofftechnik-1/stoffeigenschaften-im-bauwesen/mechanische-eigenschaften-von-baustoffen/oberflaechenhaerte/brinellhaerte.html" target="_blank" rel="noopener noreferrer" class="external-link"&gt;Source&lt;span class="external-link-icon" aria-hidden="true"&gt;↗&lt;/span&gt;&lt;/a&gt;)&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;Des Weiteren fand ich einige Empfehlungen zur spanabhebenden Verarbeitung von HPL, z.B.: &amp;ldquo;Vollhartmetallfräser sollten eine Schnittgeschwindigkeit von bis zu &lt;a href="https://www.dekorplatten.de/sites/default/files/dateien/HPL-Verarbeitungshinweise.pdf" target="_blank" rel="noopener noreferrer" class="external-link"&gt;&lt;code&gt;150m/min&lt;/code&gt;&lt;span class="external-link-icon" aria-hidden="true"&gt;↗&lt;/span&gt;&lt;/a&gt;&amp;rdquo; und &amp;ldquo;Diamantbeschichtungen aufweisen oder als Einschneider zur Bearbeitung von Aluminium ausgeführt sein&amp;rdquo;.&lt;/p&gt;&#10;&lt;h3 id="zwischenlösung"&gt;Zwischenlösung&lt;/h3&gt;&#10;&lt;p&gt;&lt;figure class="media-frame media-frame--right"&gt;&#10; &lt;img src="https://blog.schallbert.de/assets/images/posts/2022-06-18_overload_corrected.jpg" alt="Image: dull carbide endmill after cutting HPL"&gt;&lt;/figure&gt;&#10;Um die Dinge zu korrigieren, habe ich alle Ausschnitte mit den Schlicht-Einstellungen in CAM erneut durchgeführt. Mit einem neuen Schaftfräser und weniger aggressiven Vorschubgeschwindigkeiten von &lt;code&gt;F2500mm/min&lt;/code&gt; und einer aktualisierten Tiefe pro Durchgang von &lt;code&gt;Z+1,5mm&lt;/code&gt;.&#10;Das Ergebnis sieht jetzt viel besser aus.&lt;/p&gt;&#10;&lt;h3 id="optimierung-der-schnittdaten"&gt;Optimierung der Schnittdaten&lt;/h3&gt;&#10;&lt;p&gt;Dann berechnen wir schnell mal neue Schnittdaten aufgrund der oben gewonnenen Erkenntnisse. Ich wähle einen &lt;code&gt;4mm&lt;/code&gt; Einschneider (&lt;code&gt;z=1&lt;/code&gt;) mit Beschichtung zur besseren Wärmeabfuhr für Aluminium und lege die oben genannte Schnittgeschwindigkeit von &lt;code&gt;vc=150m/min&lt;/code&gt; für HPL zugrunde. Weiterhin wähle ich einen Zahnvorschub von &lt;code&gt;fTooth = 0,025mm&lt;/code&gt;, ähnlich wie beim Fräsen von Stahl.&lt;/p&gt;&#10;&lt;p&gt;Zieldrehzahl: &lt;/p&gt;&#10;$$n=\frac{v_c}{\pi d}=\frac{150000\frac{mm}{min}}{\pi \cdot 4mm}=12000\frac{1}{min}$$&lt;p&gt;Zielvorschub: &lt;/p&gt;&#10;$$F=n \cdot f_{Tooth} \cdot z = 12000\frac{1}{min} \cdot 0,025mm \cdot min \cdot 1= 300\frac{mm}{min}$$&lt;p&gt;Ich habe einen &lt;code&gt;4mm&lt;/code&gt;-Schaftfräser gewählt, weil das Drehmoment meines Fräsmotors bei sinkender Drehzahl überproportional abnimmt. Bei größerem Fräserdurchmesser würde dieser Effekt wahrscheinlich zu einer unzureichenden Schnittleistung führen. Spindeln mit einer Asynchronmaschine sind hier durch ihr konstant hohes Drehmoment im unteren Drehzahlbereich (bei Vektorsteuerung kann es sogar deutlich über dem Nennmoment des Motors liegen) ganz klar im Vorteil.&lt;/p&gt;&#10;&lt;p&gt;Der berechnete Vorschub kommt mir so langsam vor. Ich hoffe, dass sich das Material dadurch nicht so stark erhitzt, dass es delaminiert (laut Wikipedia schmilzt es nicht&amp;hellip;)&lt;/p&gt;&#10;&lt;p&gt;Zur Information: &lt;a href="https://hobbyline.info/forum/index.php?thread/678-hpl-platten-fr%C3%A4sen/" target="_blank" rel="noopener noreferrer" class="external-link"&gt;Hier ist der zugehörige Thread&lt;span class="external-link-icon" aria-hidden="true"&gt;↗&lt;/span&gt;&lt;/a&gt; in dem Forum, das ich regelmäßig besuche.&lt;/p&gt;&#10;&lt;h3 id="weitere-tests"&gt;Weitere Tests&lt;/h3&gt;&#10;&lt;p&gt;&lt;figure class="media-frame media-frame--right"&gt;&#10; &lt;img src="https://blog.schallbert.de/assets/images/posts/2022-06-18_coated_new.jpg" alt="Image: new coated carbide endmill for aluminium"&gt;&lt;/figure&gt;&#10;Ich habe einige Teile mit oben angesprochenem Fräser und Einstellungen gefertigt. Um die Fertigungszeiten etwas im Zaum zu halten, habe ich die Werte leicht angepasst: &lt;code&gt;ftooth = 0.04mm&lt;/code&gt; und &lt;code&gt;vc = 130m/min&lt;/code&gt;. Für den &lt;code&gt;4mm&lt;/code&gt; Fräser ergibt sich&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;S = 10300U/min&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;F = 410mm/min&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;Z+ = 3mm&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;vc = 1%&lt;/code&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Dieser Schaftfräser lebte etwa 1 Stunde lang. Nicht lange genug. Das Schneiden mit einem solchen Fräser könnte nie wirtschaftlich werden. Das HPL, das ich verwende, hat zwei Materialeigenschaften, die Hartmetallfräser schnell zerstören: Erstens ist es abrasiv, sodass die dünne Schneide des Fräsers abgetragen und zerstört wird. Meines ist ganz besonders abrasiv, da es einen unheimlich hohen Faseranteil besitzt. Zweitens leiten die Späne die entstehende Wärme nicht gut von der Schneide ab, so dass ihre Schärfe noch schneller nachlässt. Hitze scheint das Kryptonit für Hartmetallfräser zu sein.&lt;/p&gt;&#10;&lt;figure class="media-frame media-frame--right"&gt;&#10; &lt;img src="https://blog.schallbert.de/assets/images/posts/2022-06-18_coated_worn.jpg" alt="Image: coated carbide endmill for aluminium after 1h"&gt;&lt;/figure&gt;&#10;&lt;h3 id="endgültige-lösung"&gt;Endgültige Lösung&lt;/h3&gt;&#10;&lt;p&gt;Eine wirtschaftlichere Lösung mit 40-facher (Herstellerangabe) Lebensdauer wäre ein Hartmetallfräser mit Diamantschneiden (z. B. wie &lt;a href="https://www.artifex24.de/JSO-5mm-Diamant-PKD-Nutschaftfraeser-Diatec-DUO-5x10/50mm-Z2-S6-rechts" target="_blank" rel="noopener noreferrer" class="external-link"&gt;dieser hier&lt;span class="external-link-icon" aria-hidden="true"&gt;↗&lt;/span&gt;&lt;/a&gt;). Der Nachteil ist, dass sie fast zehnmal so teuer sind. Wenn ich dieses Material in Zukunft öfter schneiden muss, kaufe ich vielleicht einen und teile meine Erfahrungen - in der Zwischenzeit lasse ich die Fräser lieber schärfen, um Geld zu sparen.&lt;/p&gt;&#10;</description></item><item><title>CNC Teil4 - Setup</title><link>https://blog.schallbert.de/portal-milling-setup/</link><pubDate>Thu, 03 Mar 2022</pubDate><author>Schallbert</author><guid>https://blog.schallbert.de/portal-milling-setup/</guid><description type="html">&#10; &lt;img src="https://blog.schallbert.de/assets/images/posts/2022-03-03_setup-thumb.jpg"&#10; class="post-cover"&#10; alt="Image: First steps with CNC software &amp; config"&#10; title="CNC Teil4 - Setup" /&gt;&#10;&lt;p&gt;Dies ist der vierte Teil meiner Reihe über Portalfräsmaschinen. Er konzentriert sich auf das Zusammenspiel von Hardware und Software, sodass mein fertig aufgebauter &amp;ldquo;Zerspanobert&amp;rdquo; bald im Produktivbetrieb arbeiten kann.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://blog.schallbert.de/portal-milling/"&gt;&lt;em&gt;Teil 1&lt;/em&gt;: Gedanken zu Portalfräsmaschinen und ihre Auslegung für den (ambitionierten) Hobbybereich&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://blog.schallbert.de/cnc-electronics/"&gt;&lt;em&gt;Teil 2&lt;/em&gt;: CNC Elektrik / Elektronik&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://blog.schallbert.de/portal-milling-build/"&gt;&lt;em&gt;Teil 3:&lt;/em&gt; Zusammenbau&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://blog.schallbert.de/edingcnc-config/"&gt;&lt;em&gt;Teil 4.1:&lt;/em&gt; Konfiguration der Software&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://blog.schallbert.de/macros-for-cnc/"&gt;&lt;em&gt;Teil 5:&lt;/em&gt; Makros für die CNC&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="kinematics"&gt;Kinematik&lt;/h2&gt;&#10;&lt;p&gt;Bevor die CNC-Software auf meiner &lt;strong&gt;BasicLine 0607&lt;/strong&gt; arbeiten kann, muss sie korrekt eingerichtet werden. Sie muss die Verfahrbereiche der Maschinenachsen kennen und wissen, wo sich die Referenzschalter befinden. Außerdem ist relevant, in welche Richtung die Schrittmotoren gedreht werden müssen, um eine &amp;ldquo;positive/negative&amp;rdquo; Achsenbewegung zu erreichen.&lt;/p&gt;&#10;&lt;p&gt;In einem ersten Schritt muss entschieden werden, wie die Achsen der Maschine benannt werden (X, Y, Z), wo alle Achsen tatsächlich 0 sein sollen, und in welche Richtung die Bewegung gehen soll (positiv, negativ). Alle diese Koordinatenpunkte sind relativ und können willkürlich gewählt werden, aber es gibt einige Konventionen in der CNC-Welt:&lt;/p&gt;&#10;&lt;p&gt;Achsen:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Die X-Achse liegt auf dem Portalbett und bewegt die Y-Achse des Portals.&lt;/li&gt;&#10;&lt;li&gt;Die Y-Achse befindet sich oben auf dem Portal und bewegt die Z-Achsen-Baugruppe.&lt;/li&gt;&#10;&lt;li&gt;Die Z-Achse befindet sich an der Spindel und bewegt diese auf- und abwärts.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="maschinen-nullpunkt"&gt;Maschinen-Nullpunkt&lt;/h3&gt;&#10;&lt;p&gt;Maschinen- Nullpunkt und -Bewegungsrichtung:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;X-0 befindet sich auf der &amp;ldquo;hinteren&amp;rdquo; Seite der Achse. Die Bewegungsrichtung ist negativ.&lt;/li&gt;&#10;&lt;li&gt;Y-0 befindet sich auf der &amp;ldquo;linken&amp;rdquo; Seite der Achse. Die Bewegungsrichtung ist positiv.&lt;/li&gt;&#10;&lt;li&gt;Z-0 befindet sich auf der &amp;ldquo;oberen&amp;rdquo; Seite der Achse. Die Bewegungsrichtung ist negativ.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Für meine Maschine (sie ist breiter als lang), ihre Zugänglichkeit und den Raum, den ich zur Verfügung habe, habe ich die Achsen umgelegt. Bei mir ist die X-Achse die lange Achse des Portals und die Y-Achse befindet sich parallel zur Linearschine, die das Portal hält. Vom Arbeitstisch aus betrachtet ist der Maschinen-Nullpunkt bei mir also &amp;ldquo;hinten links oben&amp;rdquo;. Also bewegt sich Z in negative Richtung, Y ebenfalls, nur X geht zu positiven Werten.&lt;/p&gt;&#10;&lt;p&gt;Verwirrend, nicht wahr? Ist aber kein Problem, denn später arbeitet man kaum mehr mit Maschinenkoordinaten ;)&lt;/p&gt;&#10;&lt;figure class="media-frame media-frame--center"&gt;&#10; &lt;img src="https://blog.schallbert.de/assets/images/posts/2022-03-03_kinematics.jpg" alt="Image: machine kinematics and 0-point"&gt;&lt;/figure&gt;&#10;&lt;h3 id="bewegungsrichtungen"&gt;Bewegungsrichtungen&lt;/h3&gt;&#10;&lt;p&gt;Für die Konfiguration habe ich meine CNC-Software &lt;a href="https://edingcnc.com/" target="_blank" rel="noopener noreferrer" class="external-link"&gt;Link zu EdingCNC&lt;span class="external-link-icon" aria-hidden="true"&gt;↗&lt;/span&gt;&lt;/a&gt; mit der Maschine verbunden. An ihr erkläre ich das Vorgehen, was bei anderen Steuerungsprogrammen im Kern aber ähnlich funktioniert. In de &lt;em&gt;Setup&lt;/em&gt;-Ansicht gebe ich die Anzahl Schritte ein, die vom Motor zu gehen sind, bis sich die Achse um einen Millimeter bewegt: &lt;code&gt;16 Mikroschritte/Schritt&lt;/code&gt; multipliziert mit &lt;code&gt;200 Schritten/Motorumdrehung&lt;/code&gt; geteilt durch &lt;code&gt;10mm/spindelumdrehung&lt;/code&gt; = &lt;code&gt;320 Mikroschritte/mm&lt;/code&gt;. Für die Z-Achse wird der Wert durch die bei mir engere Gewindespindel verdoppelt.&lt;/p&gt;&#10;&lt;p&gt;Die 16 Mikroschritte/Schritt ist der Standardwert, welcher von meinem Maschinenhersteller vorgeschlagen wurde. Es gibt &lt;a href="https://www.faulhaber.com/en/support/technical-support/motors/tutorials/stepper-motor-tutorial-microstepping-myths-and-realities/" target="_blank" rel="noopener noreferrer" class="external-link"&gt;ein paar gute Argumente&lt;span class="external-link-icon" aria-hidden="true"&gt;↗&lt;/span&gt;&lt;/a&gt; und eine tiefgehende Analyse &lt;a href="https://www.edn.com/why-microstepping-in-stepper-motors-isnt-as-good-as-you-think/" target="_blank" rel="noopener noreferrer" class="external-link"&gt;hier&lt;span class="external-link-icon" aria-hidden="true"&gt;↗&lt;/span&gt;&lt;/a&gt; darüber, dass man Microstepping so wenig wie möglich verwenden sollte. Da ich weder eine Genauigkeit von 1µm erreichen muss, noch die Schrittmotoren bei meiner Anwendung sehr hohe Drehmomente bewältigen müssen, sollte das aber kein Thema sein.&lt;/p&gt;&#10;&lt;p&gt;Ohne vorher eine Referenzfahrt durchzuführen (die sowieso nicht funktionieren würde), habe ich die Maschine per Pfeiltasten vorsichtig verfahren, um zu sehen, welche Taste welche Achse in welche Richtung bewegt. Da mein Setup vom &amp;ldquo;Normal&amp;rdquo; abweicht, können die von mir gewählten Werte individuell ausfallen.&#10;Wenn eine Achse nicht mit der Pfeiltaste übereinstimmt (wenn ich z.B. &amp;ldquo;rechts&amp;rdquo; drücke und erwarte, dass sich meine X-Achse nach rechts bewegt, aber die Z-Achse tatsächlich nach unten geht), so konnte ich die Motoranschlüsse am Schaltkasten vertauschen, bis die Tasten mit den erwarteten Achsen übereinstimmten.&lt;/p&gt;&#10;&lt;figure class="media-frame media-frame--center"&gt;&#10; &lt;img src="https://blog.schallbert.de/assets/images/posts/2022-03-03_setup_kinematics.jpg" alt="Image: machine kinematics EdingCNC setup"&gt;&lt;/figure&gt;&#10;&lt;p&gt;Wenn die Tasten die Maschine nun in die falsche Richtung bewegen - ich drücke z.B: &amp;ldquo;Bild abwärts) aber die Z-Achse bewegt sich nach oben, würde ich das Vorzeichen der Motorschrittauflösung ändern - Nicht besonders intuitiv, was? Ich habe auch ein paar Foreneinträge durchsuchen müssen, bevor ich das raus hatte.&lt;/p&gt;&#10;&lt;p&gt;Dies kam nun dabei heraus:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;X-axis -320.000&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;Y-axis 320.000&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;Z-axis -640.000&lt;/code&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="grenzen-der-maschinenbewegung"&gt;Grenzen der Maschinenbewegung&lt;/h3&gt;&#10;&lt;p&gt;Meine Maschine hat einen nutzbaren mechanischen Verfahrweg von &lt;code&gt;0 / 732mm&lt;/code&gt; in X-Richtung, &lt;code&gt;-654mm / 0&lt;/code&gt; in Y-Richtung, und &lt;code&gt;-134mm / 0&lt;/code&gt; in Z-Richtung. Diese Werte habe ich in die Maske für &lt;code&gt;negative limit&lt;/code&gt; / &lt;code&gt;positive limit&lt;/code&gt; eingegeben und die Vorzeichen auf Basis der Bewegungsrichtung relativ zum Maschinennullpunkt eingestellt.&lt;/p&gt;&#10;&lt;h3 id="referenzschalter-triggerpegel"&gt;Referenzschalter: Triggerpegel&lt;/h3&gt;&#10;&lt;p&gt;Die Achsen der meisten Maschinen haben einen &lt;a href="https://cncphilosophy.com/cnc-offsets-and-machine-reference-explained/" target="_blank" rel="noopener noreferrer" class="external-link"&gt;Referenzschalter&lt;span class="external-link-icon" aria-hidden="true"&gt;↗&lt;/span&gt;&lt;/a&gt;. Diese Schalter werden verwendet, um die Maschine zu &amp;ldquo;referenzieren&amp;rdquo;. Die Referenzfahrt ist bei jedem Start der Maschine erforderlich, da die Software intern nur die XYZ-Position durch Akkumulation der Motorschritte ermittelt. Sobald das System neu gestartet wird, gehen alle diese Werte auf 0 zurück, so dass die Maschine ihre Position vergisst.&lt;/p&gt;&#10;&lt;p&gt;Ich habe meine Schalter so angeschlossen, dass sie &amp;ldquo;normalerweise geschlossen&amp;rdquo; sind: Ihre Kontakte sind stromführend, wenn sie nicht ausgelöst werden. Auf diese Weise kann eine fehlerhafte, offene Verbindung sofort erkannt werden, da die Maschine in diesem Fall (erfolglos) mit einer ungewöhnlich niedrigen Geschwindigkeit anfahren würde: &lt;code&gt;homeVelocitySlow&lt;/code&gt; ist in meiner Konfiguration nur 1/10 der normalen Fahrgeschwindigkeit für das Anfahren der Nullpunkte. Trotzdem müssen wir sicherstellen, dass der Referenzfahrt-Kontakt richtig interpretiert wird. Dies kann im Abschnitt &amp;ldquo;Homing and E-Stop&amp;rdquo; des &amp;ldquo;Setup&amp;rdquo;-Bildschirms eingestellt werden. Ich gebe also eine &amp;ldquo;1&amp;rdquo; für &amp;ldquo;Normalerweise geschlossen&amp;rdquo; ein.&lt;/p&gt;&#10;&lt;h3 id="referenzschalter-position"&gt;Referenzschalter: Position&lt;/h3&gt;&#10;&lt;p&gt;Einige CNC-Maschinen bieten eine Positioniersteuerung mit geschlossenem Regelkreis - sie benötigen keine Referenzschalter, da ihre Motoren mit Positionsgebern ausgestattet sind, die die absolute Position jeder Achse zurückmelden. Diese Maschinen verlieren keine Schritte und sind in der Lage, Positionierungsfehler zu erkennen, die z. B. durch mechanische Überlastung verursacht werden. Man nennt solche Motoren meist &lt;em&gt;Servos&lt;/em&gt;.&lt;/p&gt;&#10;&lt;p&gt;Mit Hilfe des Referenzschalters kann eine Maschine ohne geregelte Positionierung - wie meine - ihre Schrittzahl an einer bekannten Position zurücksetzen, so dass die Achsbewegung wiederholbar wird. Allerdings muss die Position des Referenzschalters bekannt sein, um die Schrittzählung korrekt den Achsenpositionen zuzuordnen, und deshalb müssen wir die Positionen der Referenzschalter an den Achsen eingeben. Ich habe mit Vorsicht beobachtet, wie weit ich die Maschine nach dem Auslösen des Referenzschalters weiter verfahren kann, bevor ich an das mechanische Ende einer Achse stoße (Menü &amp;ldquo;Jog&amp;rdquo;). Dies sind die Werte, die ich schließlich für meine Maschine eingegeben habe:&lt;/p&gt;&#10;&lt;p&gt;&lt;em&gt;Steps/AppUnit&lt;/em&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;X-axis: 10mm&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;Y-axis: -4mm&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;Z-axis: -16mm&lt;/code&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="not-aus"&gt;Not-Aus&lt;/h3&gt;&#10;&lt;p&gt;Der Not-Aus ist ein weiterer Eingang für die CNC-Software und -Hardware. Durch Drücken dieses Schalters wird die Achsenbewegung gestoppt und im Zuge dessen sowohl Spindel, Kühlschmierstoffzufuhr als auch Hilfsstromkreise deaktiviert. Er ist auch &amp;ldquo;normal geschlossen&amp;rdquo; verdrahtet, um Verbindungsprobleme zu erkennen, und kann wie ein Referenzschalter konfiguriert werden.&lt;/p&gt;&#10;&lt;p&gt;Wenn der Not-Aus-Schalter aktiviert wurde, müssen die Treiber der Maschine zurückgesetzt und die Maschine erneut referenziert werden, bevor sie nach dem Loslassen der Taste wieder normal arbeiten kann.&lt;/p&gt;&#10;&lt;p&gt;Das Not-Aus Signal wird nicht nur an die Software gemeldet, sondern sorgt auf der Steuerplatine selbst für das Abfallen der entsprechenden Relais, sodass die Maschine in den sicheren Zustand gebracht werden kann.&lt;/p&gt;&#10;&lt;h2 id="bewegungsparameter-der-achsen"&gt;Bewegungsparameter der Achsen&lt;/h2&gt;&#10;&lt;p&gt;Die CNC-Software muss wissen, wie sie die Bewegung der Maschinenachsen richtig handhaben muss: Eine schwerere und steifere Maschine mit starken Schrittmotoren wird natürlich schneller verfahren und starke Beschleunigungen sowie ruckartige Bewegungen besser bewältigen können als weichere, leichtere Maschinen. Aus diesem Grund sollten die Bewegungsparameter Ihrer Maschine sorgfältig ermittelt und in der Software hinterlegt werden.&lt;/p&gt;&#10;&lt;h3 id="achsgeschwindigkeit"&gt;Achsgeschwindigkeit&lt;/h3&gt;&#10;&lt;p&gt;&amp;ldquo;Warum sollte Zerspanobert schnell sein?&amp;rdquo; habe ich mich gefragt. Mir fielen nicht allzu viele gute Antworten ein, da die normalen Vorschubgeschwindigkeiten mit den geplanten Schaftfräsern weit unter den Möglichkeiten der Maschine liegen werden. Aber egal, hier sind einige Argumente, eine Maschine schnell verfahren zu lassen:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;die Arbeitszeiten sollten nicht zu lang werden&lt;/li&gt;&#10;&lt;li&gt;lange Verfahrwege, die mit einer großen Maschine zurückzulegen sind&lt;/li&gt;&#10;&lt;li&gt;beim Schneiden weicher Materialien mit geringer Dichte können die Vorschübe viel höher sein&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Wollen Sie noch immer eine schnelle Maschine? Einige Berechnungen helfen uns hier weiter.&lt;/p&gt;&#10;&lt;h4 id="bestimmung-der-fähigkeiten-der-bewegungselektronik"&gt;Bestimmung der Fähigkeiten der Bewegungselektronik&lt;/h4&gt;&#10;&lt;p&gt;Die maximale Geschwindigkeit wird durch mehrere Faktoren begrenzt:&lt;/p&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Parameter&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Symbol&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Wert&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Einheit&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;maximale Antriebsfrequenz&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;fD&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;125&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;kHz&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Mikroschritt-Einstellung des Antriebs&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;N&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;16&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;max. Software-Frequenz&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;fS&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;125&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;kHz&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Schrittzahl/Umdrehung&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;nS&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;200&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Schrittmotor max. Drehzahl&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;nSm&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;3300&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;1/min&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Kugelgewindebreite&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;P&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;0,01&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;m&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Kugelumlaufspindel max. Drehzahl&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;nLm&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;1700&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;1/min&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;p&gt;Nehmen wir ein Beispiel für einen 125-kHz-Treiber und nehmen wir an, dass die Software diese Schrittfrequenz unterstützt. Nehmen wir weiter an, dass die Motoren 200 Schritte/Umdrehung haben und der Treiber auf 16 Mikroschritte/Schritt konfiguriert ist.&lt;/p&gt;&#10;&lt;p&gt;Damit erreicht man eine Maximaldrehzahl der Kugelumlaufspindel von \(\frac{125000}{3200} = 39\) Umdrehungen pro Sekunde oder &lt;code&gt;2340 U/min&lt;/code&gt;, was für einen Schrittmotor echt zügig ist. Auf einer Kugelumlaufspindel mit &lt;code&gt;10mm&lt;/code&gt; Gewindeweite führt das zu einer theoretischen Verfahrgeschwindigkeit von &lt;code&gt;23.4m/min&lt;/code&gt;, was auf einer kleinen Maschine wie meiner unglaublich schnell aussieht.&lt;/p&gt;&#10;&lt;h4 id="grenzen-der-mechanik"&gt;Grenzen der Mechanik&lt;/h4&gt;&#10;&lt;p&gt;Gut, dann schauen wir mal, ob die Kugelumlaufspindeln dieses Tempo mitgehen. Die auf meiner Maschine verbaute Serie &lt;code&gt;KGS16&lt;/code&gt; hat eine ungestützte Strecke von &lt;code&gt;~850mm&lt;/code&gt; zwischen den Lagern auf der langen Achse. Aus der &lt;a href="https://www.neff-gewindetriebe.de/fileadmin/PDF-Datenblaetter/berechnungsgrundlagen/kugelgewindetriebe/berechnungsgrundlagen_kgt.pdf" target="_blank" rel="noopener noreferrer" class="external-link"&gt;Online-Dokumenation des Herstellers&lt;span class="external-link-icon" aria-hidden="true"&gt;↗&lt;/span&gt;&lt;/a&gt; entnehme ich hierbei eine maximale Drehzahl von &lt;code&gt;1700U/min&lt;/code&gt;.&lt;/p&gt;&#10;&lt;p&gt;Damit bleiben 70% von der anfänglichen Maximalgeschwindigkeit übrig: &lt;code&gt;17m/min&lt;/code&gt;. Immer noch echt flink.&lt;/p&gt;&#10;&lt;p&gt;Nun wissen wir aber, dass das Moment der Schrittmotore bei steigender Geschwindigkeit abnimmt. Wenden wir unseren Blick mal dorthin:&lt;/p&gt;&#10;&lt;h4 id="genügend-motormoment"&gt;Genügend Motormoment?&lt;/h4&gt;&#10;&lt;figure class="media-frame media-frame--center"&gt;&#10; &lt;img src="https://blog.schallbert.de/assets/images/posts/2022-03-03_torque_curve.jpg" alt="ESM.6088.42 Schrittmotor: Drehmomentverlauf"&gt;&lt;figcaption class="media-caption"&gt;&#10; &lt;span class="caption-text"&gt;Datasheet: Der Drehmomentverlauf meines Schrittmotors (Bild bereitgestellt durch Sorotec GmbH)&lt;/span&gt;&lt;a&#10; href="https://www.sorotec.de/webshop/Datenblaetter/Schrittmotoren/ESM.6088.42/ESM.6088.42_V1.1.pdf"&#10; class="attr-link"&#10; aria-label="Attribution 1"&#10; &gt;&#10; &lt;sup class="attr-id"&gt;[1]&lt;/sup&gt;&#10; &lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&#10;&lt;p&gt;Der blaue Pfeil markiert meinen Zielvorschub zum Schruppen in Holz. Hier habe ich ordentlich Drehmoment zur Verfügung um auch tiefe Nuten in einem Durchgang fertigen zu können. Selbst bei schnellen Schlichtdurchläufen oder sehr weichen Materialien (grüner Pfeil) habe ich noch fast 50% des maximalen Drehmoments zur Verfügung. Um noch genügend Luft bis zur kritischen Drehzahl der Kugelumlaufspindel zu haben, wähle ich eine maximale Geschwindigkeit für den Eilgang (&lt;code&gt;G0&lt;/code&gt;) von &lt;code&gt;12m/min = 200mm/sek&lt;/code&gt;. An diesem Punkt sind von den ursprünglich &lt;code&gt;3Nm&lt;/code&gt; nur noch &lt;code&gt;0.7Nm&lt;/code&gt; verfügbar.&lt;/p&gt;&#10;&lt;p&gt;Mit dieser Konfiguration habe ich eine recht schnelle Maschine bei genügend Luft zu kritischen Werten.&lt;/p&gt;&#10;&lt;h3 id="acceleration"&gt;Beschleunigungen&lt;/h3&gt;&#10;&lt;p&gt;Stellen Sie sich vor, Sie möchten in einem Ihrer Programme einen 90°-Winkel bei einem Vorschub von &lt;code&gt;12m/min&lt;/code&gt; fahren. Ähnlich wie bei dem Versuch, eine sehr enge Kurve auf dem Fahrrad zu nehmen, ist dies nicht bei hoher Geschwindigkeit möglich. Man muss erst auf eine Geschwindigkeit herunterbremsen, bei der die Kurve gefahrlos genommen werden kann und danach wieder hochbeschleunigen.&lt;/p&gt;&#10;&lt;p&gt;Wenn wir bei der Maschine nicht bereit sind zu warten, bis eine Achse quasi zum Stillstand gekommen ist bevor die andere losfährt, schneiden wir die Ecke rund. Wenn wir jedoch bremsen, ist unsere Bahngeschwindigkeit nicht mehr konstant - ein Dilemma. Um hier einen möglichst guten Kompromiss zu erreichen, ist die Ermittlung einer passenden Maschinenbeschleunigung wichtig.&lt;/p&gt;&#10;&lt;p&gt;Auf dem Fahrrad vermeidet man beim Bremsen bewusst das Blockieren eines Rades, um die Stabilität nicht zu gefährden. Auf der CNC gilt wieder um Ähnliches: Hinreichend hohe Beschleunigungen erreichen, ohne Schrittverlust, unnötige Schwingungen, Verklemmung / Blockade einer Achse, starke Rucke oder Torsion zu riskieren. Zudem möchten wir Maschinenverschleiß minimieren.&lt;/p&gt;&#10;&lt;p&gt;Klingt schwierig? Ist machbar, benötigt aber etwas Mathematik und Gefühl.&lt;/p&gt;&#10;&lt;figure class="media-frame media-frame--center media-frame--video"&gt;&#10; &lt;div class="media-video"&gt;&lt;video controls&gt;&#10; &lt;source src="https://blog.schallbert.de/assets/video/posts/2022-03-03_cnc_cornering.mp4" type="video/mp4"&gt;&#10; Your browser does not support the video tag.&#10; &lt;/video&gt;&lt;/div&gt;&#10; &lt;figcaption class="media-caption"&gt;&#10; &lt;span class="caption-text"&gt;Kurven zeichnen: `vmax = 200mm/s`, `a=400mm/s^2`&lt;/span&gt;&lt;/figcaption&gt;&lt;/figure&gt;&#10;&lt;p&gt;Das Video oben illustriert den Sachverhalt: Bei Kanten und engen Kurven bremst die Maschine merklich ab um den Richtungswechsel hinzubekommen.&lt;/p&gt;&#10;&lt;h4 id="motivation"&gt;Motivation&lt;/h4&gt;&#10;&lt;p&gt;Warum möchte ich, dass Zerspanobert hohe Beschleunigungswerte unterstützt? Ein paar meiner Antworten: Meine Projekte haben oft eine Menge kurzer Liniensegmente und 2.5D-Arbeiten. Die Formen sind komplex und die G-Code Dateien zumeist recht lang. Daher verwende ich auch den &lt;a href="https://www.mmsonline.com/articles/a-closer-look-at-look-ahead" target="_blank" rel="noopener noreferrer" class="external-link"&gt;Look-Ahead Feed&lt;span class="external-link-icon" aria-hidden="true"&gt;↗&lt;/span&gt;&lt;/a&gt; &lt;code&gt;G64&lt;/code&gt; mit &lt;code&gt;0.1mm&lt;/code&gt; erlaubter Abweichung vom Pfad.&lt;/p&gt;&#10;&lt;p&gt;Außerdem möchte ich möglichst lange mit konstanter Geschwindigkeit durch das Material fahren. So vermeide ich Stellen, an denen das Material heißer wird als nötig. Nicht zuletzt will ich natürlich nicht unnötig viel Zeit an der Maschine verbringen - Die Maschine arbeitet mit höheren Beschleunigungswerten einfach deutlich schneller; dies wirkt sich bei meinen Projekten sogar stärker aus als ein noch flinkerer Eilgang.&lt;/p&gt;&#10;&lt;h4 id="bestimmung-der-maximalen-achsbeschleunigung"&gt;Bestimmung der maximalen Achsbeschleunigung&lt;/h4&gt;&#10;&lt;p&gt;Dann ermitteln wir mal den maximal möglichen Wert für die Maschinenbeschleunigung.&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;&lt;a href="https://en.wikipedia.org/wiki/Newton%27s_laws_of_motion" target="_blank" rel="noopener noreferrer" class="external-link"&gt;Newtons zweites Gesetz&lt;span class="external-link-icon" aria-hidden="true"&gt;↗&lt;/span&gt;&lt;/a&gt; (axiale Bewegung): \(F_{ax} = m_pa\)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://en.wikipedia.org/wiki/Torque" target="_blank" rel="noopener noreferrer" class="external-link"&gt;Drehmoment&lt;span class="external-link-icon" aria-hidden="true"&gt;↗&lt;/span&gt;&lt;/a&gt; an der Achse: \(M_a = \frac{a J}{P}\)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://en.wikipedia.org/wiki/Moment_of_inertia" target="_blank" rel="noopener noreferrer" class="external-link"&gt;Trägheitsmoment&lt;span class="external-link-icon" aria-hidden="true"&gt;↗&lt;/span&gt;&lt;/a&gt; der Achse (Zylinder): \(J = m \frac{a}{2}r^2\)&lt;/li&gt;&#10;&lt;li&gt;Benötigtes &lt;a href="https://tech.thk.com/de/products/pdf/de_b17_009.pdf" target="_blank" rel="noopener noreferrer" class="external-link"&gt;Motormoment&lt;span class="external-link-icon" aria-hidden="true"&gt;↗&lt;/span&gt;&lt;/a&gt; für die Linearbewegung: \(M_d =\frac{F_{ax} P}{2 \pi \eta} + M_a\)&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;Wenn ich diese Formeln kombiniere, erhalte ich für die Beschleunigung:&lt;/p&gt;&#10;$$a = \frac{M_d}{\frac{m_p P}{2 \pi \eta} + \frac{J}{P}}$$&lt;p&gt;In Worten: Die höchste Beschleunigung, die die Maschine theoretisch erreichen kann, ist das verfügbare Motormoment \(M_d\) geteilt durch die Masse des Portals \(m_p\), gewichtet mit spezifischen Parametern der Kugelumlaufspindel wie Gewindespreizung \(P\) und Wirkungsgrad des bewegten Systems \(\eta\) zuzüglich des Trägheitsmoment \(J\) der rotierenden Komponenten, wiederung gewichtet durch die Gewindespreizung.&lt;/p&gt;&#10;&lt;h4 id="konkrete-richtwerte"&gt;Konkrete Richtwerte&lt;/h4&gt;&#10;&lt;p&gt;Setzen wir mal ein paar Werte ein - meine BasicLine 0607:&lt;/p&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Parameter&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Symbol&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Wert&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Einheit&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Stepper torque @ vmax&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Md&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;0.5&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Nm&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Portalmasse&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;mp&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;40&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;kg&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Spreizung Gewindespindel&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;P&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;0.01&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;m&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Radius Gewindespindel&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;r&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;0.008&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;m&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Rotierende Masse&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;ma&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;4&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;kg&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Wirkungsgrad der Bewegung&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;n&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;75&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;%&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;p&gt;Wo ich keine exakten Werte zur Verfügung hatte, habe ich worst-case Annahmen getroffen. Beim Schrittmotor z.B. meine Maximalgeschwindigkeit bei geringster Versorgungsspannung. Auch das Gewicht der rotierenden Masse (Spindel, Kupplung, Rotor und Achse des Motors) habe ich geschätzt sowie den Wirkungsgrad von Kugelumlaufspindel, Lagern und Linearführungen.&lt;/p&gt;&#10;&lt;p&gt;Dies ist mein Ergebnis (Trommelwirbel):&lt;/p&gt;&#10;$$a = 5.0m/s^2$$&lt;h4 id="was-dieser-wert-bedeutet"&gt;Was dieser Wert bedeutet&lt;/h4&gt;&#10;&lt;p&gt;Wie lange benötigt die Maschine, um auf Höchstgeschwindigkeit zu beschleunigen?&#10;Nehmen wir unser Physikwissen aus der Sekundarstufe: &lt;a href="https://en.wikipedia.org/wiki/Acceleration" target="_blank" rel="noopener noreferrer" class="external-link"&gt;gleichmäßig beschleunigte Bewegung&lt;span class="external-link-icon" aria-hidden="true"&gt;↗&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&#10;$$v(t) = at \Rightarrow t = \frac{v_{max}}{a} = 40ms$$&lt;p&gt;Wie groß ist der Weg, den wir dabei zurücklegen (&lt;/p&gt;&#10;$$s_0 = 0, v_0 = 0$$&lt;p&gt;)?&lt;/p&gt;&#10;$$s(t) = \frac{a}{2}t^2 + v_0t + s0 \Rightarrow s(t=40ms) = 4mm$$&lt;p&gt;Welche Axialkräfte wirken dabei auf das Portal ein? &lt;/p&gt;&#10;$$F_{ax} = m_pa = 200N$$&lt;p&gt;Die von mir hier errechnete Beschleunigung ist mehr als eine Größenordnung über der Empfehlung des Herstellers von &lt;code&gt;300mm/s^2&lt;/code&gt;. Ich habe mich da deutlich verschätzt.&lt;/p&gt;&#10;&lt;p&gt;🤔 &lt;em&gt;Ich muss etwas übersehen haben.&lt;/em&gt;&lt;/p&gt;&#10;&lt;h4 id="zusammenfassung-erfahrung-zählt"&gt;Zusammenfassung: Erfahrung zählt!&lt;/h4&gt;&#10;&lt;p&gt;Die Formeln oben berücksichtigen weder die Steifheit der Maschine noch Ruck, Torsion oder auftretende Schwingungen unter dynamischer Last. Was ein &amp;ldquo;Ruck&amp;rdquo; im CNC-Kontext darstellt? Dieses kurze &lt;a href="https://www.youtube.com/watch?v=9Z9Zws9K5kc" target="_blank" rel="noopener noreferrer" class="external-link"&gt;Youtube-Video&lt;span class="external-link-icon" aria-hidden="true"&gt;↗&lt;/span&gt;&lt;/a&gt; klärt auf. Meine Steuersoftware jedoch verfügt nicht über eine Ruckbegrenzung.&lt;/p&gt;&#10;&lt;p&gt;Obwohl ich viel darüber gelernt habe, wie man sich mit Hilfe der Mathematik eine Einordnung der Parameter ermöglicht, läuft alles wieder auf die Erfahrung hinaus:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Wie schwer und stabil ist die Maschine?&lt;/li&gt;&#10;&lt;li&gt;Mit welcher Art von Material arbeite ich: Ist es nachgiebig oder steif?&lt;/li&gt;&#10;&lt;li&gt;Habe ich komplexe oder möglicherweise langwierige Fräsaufgaben zu erledigen?&lt;/li&gt;&#10;&lt;li&gt;Arbeitet meine CNC in einer Produktionsumgebung, in der die Maschinenzeit wichtig ist?&lt;/li&gt;&#10;&lt;li&gt;Wie klingt und fühlt sich die CNC bei hohen Beschleunigungswerten an?&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Ich habe einen Wert von 800 mm/s^2 als Beschleunigung für die X- und Y-Achse eingegeben. Das schien ohne Probleme zu funktionieren. Immerhin bleibt er um den Faktor 6 unter der berechneten Fähigkeit des Bewegungssystems.&lt;/p&gt;&#10;&lt;h2 id="ausprobieren"&gt;Ausprobieren&lt;/h2&gt;&#10;&lt;p&gt;Ich weiß, das war eine lange Lektüre und viel mehr eine fundierte Vermutung als eine strenge Berechnung 😅. Trotzdem sind wir jetzt bereit, die Maschine das erste Mal in Betrieb zu nehmen.&#10;Probieren Sie es aus. Gehen Sie danach im manuellen Betrieb auf allen Achsen auf auf den Maschinennullpunkt. Hält sie an, bevor sie den mechanischen Endstopp erreicht?&lt;/p&gt;&#10;&lt;p&gt;Verwenden Sie dann den kontinuierlichen Tippbetrieb, um sich dem anderen Ende aller Achsen anzunähern. Bewegen Sie vorsichtig die letzten Millimeter. Sind alle Messungen und Einstellungen korrekt?&#10;Wenn ja, versuchen Sie es mit der 100%-Geschwindigkeitstaste (&lt;code&gt;Shift&lt;/code&gt; - auf meiner Tastatur). Bewegt sich die CNC schnell und stoppt automatisch am Achsenende ohne Kollision?&lt;/p&gt;&#10;&lt;p&gt;Herzlichen Glückwunsch!&lt;/p&gt;&#10;&lt;h2 id="rechner-für-maximale-kinematikparameter"&gt;Rechner für maximale Kinematikparameter&lt;/h2&gt;&#10;&lt;p&gt;Dies war ein richtig langer Artikel. Zur Belohnung habe ich ein kleines Excel-Tool vorbereitet: Den &lt;a href="https://blog.schallbert.de/assets/docs/cnc_kinematics_helper.xlsx"&gt;CNC kinematics helper&lt;/a&gt;. Er basiert auf den oben angegebenen Formeln und erlaubt es, Schätzungen für mögliche Maximalwerte der Parameter zu erstellen. Natürlich kann ich keine Verantwortung für die Ergebnisse übernehmen, die bei der Verwendung dieses Tools herauskommen. Selbiges gilt für Schäden, die unpassende Werte verursachen können.&lt;/p&gt;&#10;&lt;aside class="update-box update-box--error" role="note"&gt;&#10; &lt;span class="update-box__icon" aria-hidden="true"&gt;&#10; ⛔&#10; &lt;/span&gt;&#10;&#10; &lt;div class="update-box__body"&gt;&#10; &lt;div class="update-box__heading"&gt;&#10; &lt;strong class="update-box__title"&gt;&#10; &#10; Update der Kinematikparameter&#10; &#10; &lt;/strong&gt;&#10;&#10; &lt;time datetime="2022-03-20T00:00:00Z"&gt;&#10; 20. März 2022&#10; &lt;/time&gt;&#10; &#10; &lt;/div&gt;&#10;&#10; &#10; &lt;div class="update-box__content"&gt;&#10; Die gewählten &lt;code&gt;300mm/s&lt;/code&gt; im Eilgang war zu schnell und ich bekam Software-Limit-Fehler. Bei &lt;code&gt;240mm/s&lt;/code&gt; hat meine Maschine stark vibriert. Also habe ich die Höchstgeschwindigkeit bei &lt;code&gt;220mm/s&lt;/code&gt; belassen, was in Ordnung zu sein scheint. Außerdem habe ich die Beschleunigung auf &lt;code&gt;1200mm/s^2&lt;/code&gt; erhöhen können. Das einzige Problem mit diesem neuen Wert ist, dass die Maschine bei kurzen Bewegungen etwas schwingt.&#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10;&lt;/aside&gt;&#10;&lt;aside class="update-box update-box--note" role="note"&gt;&#10; &lt;span class="update-box__icon" aria-hidden="true"&gt;&#10; ℹ️&#10; &lt;/span&gt;&#10;&#10; &lt;div class="update-box__body"&gt;&#10; &lt;div class="update-box__heading"&gt;&#10; &lt;strong class="update-box__title"&gt;&#10; &#10; Update: Grenzwerte korrekt berücksichtigen&#10; &#10; &lt;/strong&gt;&#10;&#10; &lt;time datetime="2022-04-03T00:00:00Z"&gt;&#10; 03. Apr. 2022&#10; &lt;/time&gt;&#10; &#10; &lt;/div&gt;&#10;&#10; &#10; &lt;div class="update-box__content"&gt;&#10; Die obige Berechnung ist zwar mathematisch nicht falsch, aber sie ist &lt;em&gt;irreführend&lt;/em&gt;. Sie suggeriert, dass jede Achse mit dieser Geschwindigkeit laufen könnte, was schlicht nicht der Fall ist. Ich habe mir vom &lt;a href="https://edingcnc.com/" target="_blank" rel="noopener noreferrer" class="external-link"&gt;Anbieter der Steuerungssoftware für meine Maschine&lt;span class="external-link-icon" aria-hidden="true"&gt;↗&lt;/span&gt;&lt;/a&gt; bestätigen lassen, dass die &lt;code&gt;125kHz&lt;/code&gt; die maximale Befehlsfrequenz des &lt;strong&gt;Systems&lt;/strong&gt; sind. Wenn ich versuche, höhere Geschwindigkeiten zu fahren, erhalte ich die Fehlermeldung &amp;lsquo;Velocity was higher than max!&amp;rsquo;. Deshalb sollte ein so hoher Geschwindigkeitswert &lt;em&gt;nicht&lt;/em&gt; verwendet werden, wenn die Maschine mit mehreren Achsen gleichzeitig im Eilgang läuft. Ich habe einen Folgeartikel verfasst und &lt;a href="https://blog.schallbert.de/projects/one-year-zerspanobert/#velocityerror"&gt;hier&lt;/a&gt; zur Information verlinkt. Dort verwende ich Werte, die stabil in jeder Situation funktionieren, auch wenn alle Achsen mit voller Geschwindigkeit gleichzeitig betrieben werden.&#10; &lt;/div&gt;&#10; &#10; &lt;/div&gt;&#10;&lt;/aside&gt;&#10;&lt;h2 id="weiterlesen"&gt;Weiterlesen?&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://blog.schallbert.de/edingcnc-config/"&gt;Einrichtung der Maschinensoftware&lt;/a&gt;&lt;/p&gt;&#10;</description></item></channel></rss>