Vai al contenuto

SG20, antagonisti per guide lineari economiche


Vai alla soluzione Risolta da Otto_969,

Messaggi raccomandati

Inviato
Il 18/06/2024 at 21:57, eaman ha scritto:

Klipper calcola le rotte a monte sul SBC, con una CPU e RAM che sono tot volte piu' prestanti di quelle di un MC che deve contemporaneamente gestire pure interfaccia utente e gcode e connesioni. Poi manda in formato compresso solo i comandi dei motori al MC in binario (tipo 4byte a comando) che cosi' ha una risoluzione molto superiore di quello che potrebbe essere tipo una Octapi connessa a un microcontroller Marlin.

Mettiamoci pure che il confronto qualità/prestazioni dei supporti (Raspberry Vs single MoBo) è improponibile... 😅

 

Io (su Vostro consiglio) prima di prendere la Duet 2 WiFi ho dato un'occhiata a Klipper perchè ho almeno 5/6 portatili davvero potenti (li usavo per fare grafica 3d) nell'armadio ed avrei voluto sfruttarne uno con Klipper facendo un SO ad hoc con avviamento personalizzato etc etc... Feci pure una Sand-Box per provare come andava e rispetto al Raspberry andare il triplo... Non avevo un Raspberry "fisico" ma usai i dati dichiarati (che sono sempre migliori di quelli reali).

 

Lasciai perdere perchè troppo complicato nei linguaggi e settaggi non proprio intuitivi. Ora vedo che anche Bed-Slinger economiche lo usano efficacemente.

Inviato

Personalmente mi ero informato prima di scegliere tra reprap firmware (che c'è sulle duet se non erro), marlin e klipper.
Uno dei limiti del reprap è che i valori di input shaping vengono inseriti uguali sia per x che per y (non si può altrimenti).

Ci sono dei motivi validi per questa scelta, uno ad esempio è che con valori diversi se ricordo bene si rischia che gli assi arrivino alla fine di un segmento in tempi diversi (quindi variandone la geometria).
Il problema che avevo intravisto io è che con le bed slinger sembra impossibile poter trovare dei valori intermedi che vadano bene per x (che muove l'hotend, qualche etto) ed y (che muove il piatto intero qualche kg anche)... 🤔

  • Like 1
Inviato

Hmmm... Uno dei motivi per cui ho scelto Duet (e quindi RepRap) è proprio l'Imput Shaping che è praticamente identico alle macchine CNC. Io ragiono a fil di logica, e nella stampa 3d dobbiamo estrudere del materiale, giusto?

 

Ovvio che L'Imput Shaping (IS) varia le accelerazioni di X, Y e Z, quindi anche l'estrusione DEVE seguire la stessa identica variazione, giusto? Giusto...

 

Ma se ad esempio in un angolo abbiamo 2 diversi settaggi di accelerazione per X e Y -> l'estrusore chi deve seguire? Le accelerazioni "Shapizzate" di X, oppure quelle "Shapizzate" di Y? Lascio perdere che poi le risonanze "peggiori" sono da attribuirsi all'elasticità delle cinghie, e pure peggio, queste elasticità varia continuamente rispetto alla posizione della testina di stampa (il "circuito" delle cinghie varia al variare della posizione della testina di stampa) e questa elasticità variabile non è quantificabile in modo definitivo.

Cmq questo è quello che Duet dice a proposito:

 

Why we don't support different shaping for the X and Y axes

Two reasons:

  1. It's not a good idea, for at least two reasons:
  • Supporting different input shaping frequencies and/or algorithms on the X and Y axes means that if input shaping is applied to printing moves other than pure X or pure Y moves, the tool path no longer follows the path commanded by the slicer during acceleration and deceleration. As a result, artefacts will occur in the print, especially around corners. The artefacts can be reduced by a smoothing process (as is done by Klipper firmware), but of course this reduces detail, for example by rounding corners that are supposed to be square. The best compromise between reducing artefacts caused by input shaping and reducing detail caused by smoothing may depend on the print.
  • Because input shaping modifies the acceleration profile of the move, when input shaping is applied to moves with extrusion the same modified acceleration profile should be applied to the extruder (and further modified by pressure advabnce, if it is configured) so that the extrusion rate stays in step with the movement. RepRapFirmware 3.5beta3 and later sychrhonise extruder acceleration with movement acceleration in this way. If different input shaping is applied to X and Y axes, extrusion can't be synchronised to both, so the extrusion won't be uniform.
  1. It's rarely if ever necessary to use different shaping on X and Y axes, because a single input shaper can suppress a wide range of resonant frequencies. The EI3 shaper suppresses ringing over a frequency range of 3:1. Resonant frequencies vary in proportion to the square root of the mass being moved, and the square root of the compliance of the belt or other elastic medium. Therefore you would need these elements to differ by a factor of more than 9:1 between the X and Y axes for the resonant frequencies to exceed a 3:1 ratio. In practice, the resonant frequencies to be suppressed rarely exceed a ratio of 2:1.
  • Like 1
Inviato
1 ora fa, Otto_969 ha scritto:

troppo complicato nei linguaggi e settaggi non proprio intuitivi

Ti direi una balla se ti dicessi che mi sono trovato bene da subito con Klipper. La prima settimana di stampa nn e' stata semplice nel cambio approccio a settaggi e calibrazioni. A distanza di 5 mesi nn tornerei indietro neanche sotto la minaccia delle armi (.... ho esagerato, credo che se mi minacciassero tornerei indietro.... 😕 ).

Se ripenso al menarello di dover ricompilare ogni volta che volevo cambiare una virgola di config in Marlin mi prende male. Inoltre, tante delle calibrazioni che era necessario fare "a mano", in Klipper sono guidate e spesso built-in (se configurate nel printer.cfg). Io sono soddisfatto del passaggio 

  • Like 2
Inviato
1 ora fa, dnasini ha scritto:

...mi sono trovato bene da subito con Klipper.

E' che tu sei contorto dentro, per questo ti trovi bene con Klipper! Io sono dritto come una freccia (per gentile concessione da "le ali della libertà") 😁😁😁😁😁

 

Cmq scherzi a parte, ognuno sceglie quello che gli pare seguendo le proprie necessità! Quindi bene che tu abbia trovato in Klipper quello che cercavi. Bene per me, che io abbia trovato in Reprap quello che cercavo. 

 

In particolare nella Duet 2 WiFi tutte le modifiche e aggiornamenti si fanno direttamente dalla schermata sul PC, basta cambiare il file di config dall'apposita finestra (integrata). Proprio ieri ho aggiornato FW scheda e FW del pannello LCD, ci avrò messo 30"...

 Cmq stò stampando un mare di cose, compresi tutti i pezzi di ricambio delle modifiche perchè mi si è rotto il supporto delle cinghie e mi sono reso conto che se mi si rompe qualcosa di grave devo ricorrere a qualcun altro perchè ho solo una stampante FDM... 🙄 

 

image.jpeg

  • Haha 1
Inviato

Avevo letto proprio la stessa pagina del reprap firmware.

Ancora non mi è chiaro perché non si riesca a coordinare due assi con inputshaper settati diversi.
Cioè:
- il "primo" asse con l' inputshaper descrive una traiettoria di avanzata lungo il suo asse nel tempo
- questo, in pase alla curva da percorrere, si traduce nella traiettoria di avanzata nel tempo del secondo asse
- perché il secondo asse non è in grado di seguire una qualsiasi traiettoria di avanzata nel tempo ?

La traiettoria di "avanzata" non è altro che un grafico spazio tempo lungo l'asse considerato, quindi perché non dovrei essere in grado di accelerare e decelerare a piacimento per descrivere qualsiasi traiettoria voglio ?
Capisco che ci siano limiti di accelerazione ma da come è posto sembra essrci proprio un problema di fondo, "geometrico" quasi... O forse è solo un limite computazionale ? Mah !

Comunque mi verrebbe da pensare che:
- se uno shaper può lavorare su due assi diversi con masse ed elasticità "sufficientemente simili" (entro i rapporti sopracitati)
- allora due shaper settati singolarmente sugli stessi assi dovranno a loro volta essere altrettanto "simili"
Quindi tra un approccio e l'altro, forse cambia solo l'aspetto teorico forse (almeno io questo sospetterei).

  • Like 1
Inviato
51 minuti fa, Cubo ha scritto:

Avevo letto proprio la stessa pagina del reprap firmware.

Ancora non mi è chiaro perché non si riesca a coordinare due assi con inputshaper settati diversi.
Cioè:
- il "primo" asse con l' inputshaper descrive una traiettoria di avanzata lungo il suo asse nel tempo
- questo, in pase alla curva da percorrere, si traduce nella traiettoria di avanzata nel tempo del secondo asse
- perché il secondo asse non è in grado di seguire una qualsiasi traiettoria di avanzata nel tempo ?

La traiettoria di "avanzata" non è altro che un grafico spazio tempo lungo l'asse considerato, quindi perché non dovrei essere in grado di accelerare e decelerare a piacimento per descrivere qualsiasi traiettoria voglio ?
Capisco che ci siano limiti di accelerazione ma da come è posto sembra essrci proprio un problema di fondo, "geometrico" quasi... O forse è solo un limite computazionale ? Mah !

Comunque mi verrebbe da pensare che:
- se uno shaper può lavorare su due assi diversi con masse ed elasticità "sufficientemente simili" (entro i rapporti sopracitati)
- allora due shaper settati singolarmente sugli stessi assi dovranno a loro volta essere altrettanto "simili"
Quindi tra un approccio e l'altro, forse cambia solo l'aspetto teorico forse (almeno io questo sospetterei).

Non ti è chiaro perchè pensi alle traiettorie X e Y (e pure Z) ma scordi il flusso di stampa...

E' il flusso di stampa che manda all'aria il computo del doppio IS.

Supponi di essere l'estrusore e devi estrudere un angolo; ma hai 2 diverse accelerazioni: una in X e una in Y -> con quale delle due setti il flusso? Con quella dell'asse X, o con quella dell'asse Y... Perchè negli angoli lavorano entrambe le accelerazione "shapizzate", che (quasi) si sovrappongono, ma hanno valore diversi. E' il flusso da applicare che crea il problema, non la doppia accelerazione Shapizzata.

Il principio è semplicissimo, spiegarlo bene non lo è affatto...

Infatti Klipper, sugli angoli, "spegne" il doppio IS e cambia leggermente geometria agli angoli e li "arrotonda". Lo fa in modo minimale, ma li arrotonda. Ma così facendo si perde definizione.

Per contro, se la funzione è ben settata (mi pare si chiami Junction Deviation, non sono sicurissimo),  Klipper "gira" gli angoli più velocemente senza rallentamenti. In Reprap proprio si nota che rallenta...

Alla fine, facendo il calcolo di slicing su una stampa di 10 ore, l'Imput Shape mi prendeva qualcosa come 4min... Cioè niente. Il tutto settato a 5000 di accelerazione (di più non voglio andare, non cambierebbe tanto, e porterebbe più problemi alla meccanica).

 

Questo è quello che ho capito da quello che ho letto, e da quello che so sulle macchine CNC con cui lavoro, dove il problema è più grande a cause delle masse in movimento che sono considerevoli e cambiare direzione "a spigolo" darebbe delle botte alla meccanica micidiali...

 

Il tutto IMHO, ovviamente.

  • Like 1
Inviato
7 minuti fa, Otto_969 ha scritto:

Supponi di essere l'estrusore e devi estrudere un angolo; ma hai 2 diverse accelerazioni: una in X e una in Y -> con quale delle due setti il flusso?

Quanto estrudo dipende univocamente da quanto spazio percorre il nozzle (moltiplicato per la sezione della linea di estrusione, variato secondo pressure advance e forse altro ma comunque tutto univoco, tot movimento -> tot mm^3).

Dopo aver calcolato con gli shapers i movimenti di X ed Y rispetto al tempo, calcolo lo spostamento complessivo ad ogni intervallo di tempo (piccolo quanto serve).
Praticamente mi creo un nuovo grafico spazio tempo. Il tempo è lo stesso, lo spazio è radice di X^2 + Y^2 (pitagora). Non ci vedo limiti a questo.
Da quel grafico, o meglio da quella correlazione posso derivare univocamente quanto l'estrusore deve estrudere ad ogni istante di tempo e quindi il suo movimento.

Il mio dubbio è che tutti questi passaggi si portino dietro una valanga di conti molto difficili da gestire con precisione a livello software senza intasare la cpu... Klipper si può far andare su un pc ultrapotente ma credo sia stato pensato per funzionare con molto meno (un raspberry ad esempio).

Anche io parlo IMHO ovviamente, sarebbe bello poterci entrare a fondo ma il tempo è quello che è purtroppo 😄
Grazie comunque della spiegazione 👍

Inviato
2 ore fa, Cubo ha scritto:
31 minuti fa, Cubo ha scritto:

Quanto estrudo dipende univocamente da quanto spazio percorre il nozzle (moltiplicato per la sezione della linea di estrusione, variato secondo pressure advance e forse altro ma comunque tutto univoco, tot movimento -> tot mm^3).

 

 

Rispondo velocemente perchè quì è cominciato il ferragosto ed il Barbeque mi aspetta...

 

 

Hmmmmm... Cmq non credo sia così. la velocità dell'estrusore deve variare al variare dell'accelerazione e deve dipendere pure dalla "plasticità" del materiale (che negli slicers è calcolata).

 

Al variare delle velocità, il flusso (velocità estrusore) deve variare allo stesso modo... Seguendo il tuo ragionamento se ho una linea di 10 cm e ci và ad es 5mm3 di materiale a velocità costante -> il materiale depositato sulla linea è costante.

 

Ma se vario la velocita per poi diminuirla, il flusso per unità di tempo deve variare esattamente come le velocità... Solo allora la quantità del materiale sarà uniforme su tutta la linea.

 

Partecipa alla conversazione

Puoi pubblicare ora e registrarti più tardi. Se hai un account, accedi ora per pubblicarlo con il tuo account.

Ospite
Rispondi a questa discussione...

×   Hai incollato il contenuto con la formattazione.   Rimuovere la formattazione

  Sono consentiti solo 75 emoticon max.

×   Il tuo collegamento è stato incorporato automaticamente.   Mostra come un collegamento

×   Il tuo contenuto precedente è stato ripristinato.   Pulisci editor

×   Non puoi incollare le immagini direttamente. Carica o inserisci immagini dall'URL.


×
×
  • Crea Nuovo...