banner
Casa / Blog / Derek Schulte: Pianificazione del percorso per stampanti 3D
Blog

Derek Schulte: Pianificazione del percorso per stampanti 3D

Jun 21, 2023Jun 21, 2023

[Derek Schulte] ha progettato e vende una stampante 3D consumer e questo gli offre molte informazioni su ciò che le fa funzionare. La sua stampante, la New Matter MOD-t, è diversa dalla stampante 3D che stai utilizzando ora in alcuni modi diversi. La cosa più interessante è che utilizza feedback a circuito chiuso e motori CC invece di stepper e utilizza un processore ARM a 32 bit piuttosto robusto invece del glorificato Arduino Uno che gestisce molte stampanti in circolazione.

La prima di queste scelte significava che [Derek] doveva scrivere il proprio software di controllo motorio e di pianificazione del percorso, e la seconda significa che aveva l'elaborazione per supportarlo. Nel suo discorso, entra nei dettagli più dettagliati su come sono arrivati ​​all'adozione del sistema di pianificazione del percorso e su come funziona esattamente. Se hai mai riflettuto attentamente su come una testina di stampa fisica, con lo slancio, crea gli angoli infinitamente acuti che le vengono indicati nel codice G, questo discorso è per te. (Spoiler: non infrange le leggi della fisica e la navigazione attraverso la curva implica la matematica.)

La pianificazione del percorso avviene all'interno della stampante 3D stessa. È ciò che fa il firmware della stampante 3D con il codice G ricevuto che lo trasforma nel movimento fisico dei motori lungo gli assi X, Y e Z, nonché dell'estrusore. Sebbene il codice G sia universale, è anche irrealistico: specifica una serie di punti nello spazio 4D (l'estrusore, ricordate?) e le velocità necessarie per arrivarci. La pianificazione del percorso unisce la conoscenza delle capacità di controllo del movimento della stampante fisica e cerca di far sì che il risultato finale corrisponda al codice G il più ragionevolmente possibile, senza impiegare un'eternità. Essendo l'interfaccia tra il codice G idealizzato e una stampante reale, il firmware di pianificazione deve tenere conto del design della stampante stessa, con tutti i suoi limiti fisici.

Puoi creare la tua stampante 3D una tantum con unobtainium, scaglie di drago e il lavoro non fatturato di un anno di fine settimana. Ma se vuoi realizzare un prodotto da vendere al grande pubblico a un prezzo ragionevole, deve essere costruito utilizzando parti di base e funzionare in modo robusto. Questo è ciò che ha spinto [Derek] a utilizzare un motore DC con un codificatore invece degli onnipresenti, pesanti e relativamente costosi motori passo-passo utilizzati dalla maggior parte delle altre stampanti 3D. Guidare i motori DC con feedback ad anello aperto significava che nessuno dei firmware "standard" della stampante avrebbe funzionato: aveva bisogno di crearne uno suo. Ed è così che parliamo di come andare da A a C, dietro l'angolo in B, nel modo più rapido e preciso possibile.

Esistono alcuni modi per trasformare un pezzo di codice G che dice "vai a nord a 50 mm/sec e poi vai a ovest a 50 mm/sec" in movimento della macchina. Uno è andare a nord a tutta velocità, fermarsi di colpo e poi masturbarsi verso ovest a tutta velocità. Questo è ciò che facevano le prime versioni del firmware della stampante 3D fai-da-te e il risultato era rumore, vibrazione della testina di stampa e degrado della qualità di stampa. Erano tempi brutti.

[Derek], e il pianificatore del percorso in grbl, hanno scelto la soluzione successiva più complicata: muoversi ad accelerazione costante per ogni segmento del percorso, risultando in profili di velocità trapezoidali. Questo risulta funzionare abbastanza bene nella pratica ed è facile da calcolare. [Derek] ha aggiunto l'arrotondamento degli angoli alla routine: dove il codice G diceva di fare un angolo acuto, il firmware prenderebbe un angolo curvo abbastanza vicino da non sembrare brutto, ma non richiede nemmeno che l'ugello rallenti ad una fermata. Combinare i due è fondamentalmente la soluzione più semplice che può funzionare bene.

Collegare insieme alcuni segmenti è il passaggio successivo, ma consente alla stampante di fermarsi, alla fine del percorso o perché un utente ha premuto il pulsante di pausa.

La maggior parte delle stampanti 3D azionate da stepper funzionano in modalità di controllo a circuito aperto. Il firmware dice al driver del motore passo-passo di fare dieci passi avanti e spera per il meglio. Quando una stampante perde passaggi, i livelli vengono disallineati l'uno dall'altro e, se ti è capitato che ciò accada in modo catastrofico nel mezzo di una stampa, sai perché può fare schifo.