Welcome! Log In Create A New Profile

Advanced

Effetto mirroring

Posted by marco1974 
Effetto mirroring
December 13, 2015 04:56PM
Sto finalmente procedendo alla stampa dei primi pezzi che non sono cubetti...
I primi pezzi di cui necessitavo erano i supporti per la bobina che ho provveduto a scaricare e stampare oggi.

A parte alcune imperfezioni che voglio cmq risolvere mi sto trovando in questa situazione. Di seguito il file del supporto destro che avevo in Cura e che ho stampato.


La stampa e' avvenuta invece in questo modo, come se fosse riflesso rispetto all'asse Y (ho dovuto ruotare un po' il pezzo in Cura altrimenti me lo dava sempre tutto BLU. Se lo avesse stampato come posizionato originariamente avrei detto che il riflesso era rispetto l'asse X...)


Dove dovrei intervenire ?


i3 Prusa Rework
Re: Effetto mirroring
December 13, 2015 05:38PM
Endstop X
Hai l'endstop X a destra quello dovrebbe essere X-Max è giusto???

[forums.reprap.org]


Edit: E' su X il mirror

Edited 1 time(s). Last edit at 12/14/2015 03:32AM by MagoKimbra.


COMPRA ITALIANO - sostieni le nostre aziende - sostieni la nostra gente - sostieni il tuo popolo - sosterrai te stesso.
Alberto C. felice possessore di una Kossel K2
My Blog - My Thingiverse
Re: Effetto mirroring
December 14, 2015 03:10AM
aggiungo per completezza: [www.ivanbortolin.it]


Alessandro

Prusa I3 Rework molto modificata - Taurino Classic - Ramps 1.4 - Driver DVR8825 - Titan Extruder e Hotend E3D V6 - Bltouch originale - Firmware MarlinKimbra - Cura - Repetier Host
Re: Effetto mirroring
December 14, 2015 04:14AM
Ottimi articoli.

Secondo me ad entrambi manca un elemento fondamentale: qual'e' l'origine (0,0,0) citata nei post rispetto alla stampante ?

Nel caso della mia configurazione della stampante per esempio (fino ad oggi) non e' vera la seguente immagine:



Nella mia stampante, rispetto all'immagine sopra, stavo considerando l'origine degli assi (0,0,0) il punto in basso a DESTRA e non quello in basso a SINISTRA come indicato (in pratica asse Z e Y corretti, ma che originano dove c'e' la scritta X (MAX) e la punta della freccia fucsia, con l'asse X che invece seguiva la stessa linea ma con origine in X (MAX) e punta in (0, 0, 0))

Ecco perche' avevo postato la seguente immagine con il vertice in basso a destra in Cura:


Mentre invece la stessa immagine avrei dovuta vederla cosi' e quando settero' correttamente l'asse X (correggetemi se sbaglio) anche l'oggetto stampato dovra' trovarsi su questa stessa posizione:


Riassumendo: devo intervenire sull'asse X (modificando il valore per INVERT_X_DIR immagino) perche' considerando la nuova (e corretta) origine degli assi X-Y-Z rispetto al piatto di stampa se su pronterface clicco freccia destra il carrello si muove a sinistra (freccia sinistra va a destra) e non devo intervenire ne sugli assi Z e Y (per quest'ultimo infatti se premo su freccia SU il piatto viene verso di me, rusultando rispetto all'estrusore un movimento di +Y e viceversa quando premo freccia GIU').

Rispetto all'immagine degli assi disegnati sulla Prusa l'endstop indicato come XMAX per me era l'endstop XMIN ed anche li devo intervenire scambiando opportunamente sulla RAMPS il connettore.
Sempre rispetto alla stessa immagine l'endstop indicato come YMAX per me era l'endstop YMIN (sbagliatissimo... a seguito di quanto mi avete fatto scoprire oggi smiling smiley ).

Quando avvio la stampa nello start gcode ho i comandi vai nella home X e Y (la Z la verifico prima a mano con pronterface per livellare il piatto): nel mio caso andava verso l'endstop XMIN lo trovava e si fermava, mentre andava dalla parte opposta di quello che stavo considerando YMIN. Per farla funzionare e stamparmi alcuni pezzi che mi servivano stavo risolvendo settando anche l'asse Y prima con pronterface e quando avviavo la stampa per simulare l'arrivo verso l'endstop YMIN lo tenevo premuto con la mano.
I miei valori correnti sono
#define X_HOME_DIR -1
#define Y_HOME_DIR -1
#define Z_HOME_DIR -1

Ora la mia domanda e': poiche' da oggi ho scoperto di non avere piu' gli endstop XMIN e YMIN, ma solo gli endstop XMAX e YMAX come fa la stampante a posizionarsi da sola in posizione X,Y uguale a (0,0) ?


i3 Prusa Rework
Re: Effetto mirroring
December 14, 2015 05:19AM
No no...

Allora L'origine degli assi cartesiani è sempre lo stesso per X a sinistra quindi se hai l'endstop a destra è un X-max e non un Xmin...
Per Y l'origine è tutto dietro come disegnato nella figura.... Quindi per il piano l'endstop dietro è un Y-min e non un Y-max come erroneamente disegnato in figura...
Per Z è abbastanza semplice Z min in basso...


COMPRA ITALIANO - sostieni le nostre aziende - sostieni la nostra gente - sostieni il tuo popolo - sosterrai te stesso.
Alberto C. felice possessore di una Kossel K2
My Blog - My Thingiverse
Re: Effetto mirroring
December 14, 2015 11:56AM
Ok. Dunque e' tutto vero cio' che e' in figura tranne l'YMAX che e' invece un YMIN (meglio così non modifico quella parte)

Quote

Riassumendo: devo intervenire sull'asse X (modificando il valore per INVERT_X_DIR immagino) perche' considerando la nuova (e corretta) origine degli assi X-Y-Z rispetto al piatto di stampa se su pronterface clicco freccia destra il carrello si muove a sinistra (freccia sinistra va a destra) e non devo intervenire ne sugli assi Z e Y (per quest'ultimo infatti se premo su freccia SU il piatto viene verso di me, rusultando rispetto all'estrusore un movimento di +Y e viceversa quando premo freccia GIU').
Questo di cui sopra e' giusto no ?

Inoltre poiche' da oggi ho scoperto di non avere piu' l'endstop XMIN, ma solo l'endstop XMAX come fa la stampante a posizionarsi da sola in posizione X,Y uguale a (0,0) quando da start gcode gli dico G28 X0 Y0 ? C'e' un modo di dirgli qualcosa del tipo quando parti vai a G28 XMAX Y0 (visto che so che li ci sono gli endstop) e poi relativamente a quella posizione l'estrusore viene portato nel primo punto in cui deve iniziare a depositare il filamento ? Cioe' e' necessario partire sempre da (0,0,0) oppure puo' partire anche da un'altra (ben definita) zona (in questo caso XMAX, YMIN, ZMIN) ?
Re: Effetto mirroring
December 14, 2015 01:22PM
Ok si devi invertire la direzione in modo che cliccando a destra vada a destra e viceversa e naturalmente indicare che la home la fa su max #define X_HOME_DIR 1

Allora erroneamente si pensa che il comando G28 si scriva come tu lo hai scritto, no il comando è solo G28 X Y Z che ci sia lo zero o meno è ininfluente... In effetti il comando dice vai in home per X Y Z. Quindi G28 X home di X, che se poi uno a settato su max andrà tutto a destra fino a toccare l'endstop...
Come fa a sapere dov'è lo 0, semplice con i parametri delle misure, se si setta X_MAX_POS a 220 mm per esempio al momento di fare la home so che sto a 220mm a quel punto torno indietro di 220 per arrivare allo zero... Quindi per trovare l'esatto zero va modificato esattamente la misura di X_MAX_POS...


COMPRA ITALIANO - sostieni le nostre aziende - sostieni la nostra gente - sostieni il tuo popolo - sosterrai te stesso.
Alberto C. felice possessore di una Kossel K2
My Blog - My Thingiverse
Re: Effetto mirroring
December 19, 2015 09:02AM
Sono riuscito a risolvere il problema di mirroring.
Ora la stampante si posiziona perfettamente nella posizione x,y,z di home dietro l'invio del comando pronterface e basandosi sui supporti XMIN e YMIN che sono riuscito a stampare. Invertendo la direzione della X nel firmware e considerando le corrette impostazioni dell'origine finalmente ora l'effetto mirroring e' risolta.

Grazie per il supporto ricevuto.

Thank you MagoKimbra too smiling smiley

Ciao!
Marco
Re: Effetto mirroring
January 24, 2016 01:47PM
Riesumo questo post perchè ho un problema simile e le spiegazioni date sopra non trovano effetto stranamente sulla mia configurazione, dico stranamente perchè il sistema XYZ è identico a quello di marco1974.

Ho l'endstop di X a destra e le stampe mi vengono specchiate.
La cosa strana è che quando mando in home X fa tutto bene, il carrello va a destra, trova l'endstop e si ferma. Quindi non ho problemi in questo senso.
Ma le stampe mi vengono specchiate lo stesso eye popping smiley

Secondo voi cosa può essere?
grazie

il codice è questo:
//===========================================================================
//=============================Mechanical Settings===========================
//===========================================================================

// Uncomment the following line to enable CoreXY kinematics
// #define COREXY

// coarse Endstop Settings
#define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors

#ifndef ENDSTOPPULLUPS
  // fine Enstop settings: Individual Pullups. will be ignored if ENDSTOPPULLUPS is defined
  #define ENDSTOPPULLUP_XMAX
  #define ENDSTOPPULLUP_YMAX
  #define ENDSTOPPULLUP_ZMAX
  #define ENDSTOPPULLUP_XMIN
  #define ENDSTOPPULLUP_YMIN
  //#define ENDSTOPPULLUP_ZMIN
#endif

#ifdef ENDSTOPPULLUPS
//  #define ENDSTOPPULLUP_XMAX
//  #define ENDSTOPPULLUP_YMAX
//  #define ENDSTOPPULLUP_ZMAX
  #define ENDSTOPPULLUP_XMIN
  #define ENDSTOPPULLUP_YMIN
  #define ENDSTOPPULLUP_ZMIN
#endif

// The pullups are needed if you directly connect a mechanical endswitch between the signal and ground pins.
const bool X_ENDSTOPS_INVERTING = false; // set to true to invert the logic of the endstops.
const bool Y_ENDSTOPS_INVERTING = false; // set to true to invert the logic of the endstops.
const bool Z_ENDSTOPS_INVERTING = false; // set to true to invert the logic of the endstops.
//#define DISABLE_MAX_ENDSTOPS
//#define DISABLE_MIN_ENDSTOPS

// Disable max endstops for compatibility with endstop checking routine
#if defined(COREXY) && !defined(DISABLE_MAX_ENDSTOPS)
#define DISABLE_MAX_ENDSTOPS
#endif

// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
#define X_ENABLE_ON 0
#define Y_ENABLE_ON 0
#define Z_ENABLE_ON 0
#define E_ENABLE_ON 0 // For all extruders

// Disables axis when it's not being used.
#define DISABLE_X false
#define DISABLE_Y false
#define DISABLE_Z false
#define DISABLE_E false // For all extruders

#define INVERT_X_DIR true    // for Mendel set to false, for Orca set to true
#define INVERT_Y_DIR true    // for Mendel set to true, for Orca set to false
#define INVERT_Z_DIR false     // for Mendel set to false, for Orca set to true
#define INVERT_E0_DIR true   // for direct drive extruder v9 set to true, for geared extruder set to false
#define INVERT_E1_DIR false    // for direct drive extruder v9 set to true, for geared extruder set to false
#define INVERT_E2_DIR false   // for direct drive extruder v9 set to true, for geared extruder set to false

// ENDSTOP SETTINGS:
// Sets direction of endstops when homing; 1=MAX, -1=MIN
#define X_HOME_DIR -1
#define Y_HOME_DIR -1
#define Z_HOME_DIR -1

#define min_software_endstops true // If true, axis won't move to coordinates less than HOME_POS.        ****CNC
#define max_software_endstops false  // If true, axis won't move to coordinates greater than the defined lengths below.
// Travel limits after homing
#define X_MAX_POS 400
#define X_MIN_POS 0
#define Y_MAX_POS 200
#define Y_MIN_POS 0
#define Z_MAX_POS 200
#define Z_MIN_POS 0

#define X_MAX_LENGTH (X_MAX_POS - X_MIN_POS)
#define Y_MAX_LENGTH (Y_MAX_POS - Y_MIN_POS)
#define Z_MAX_LENGTH (Z_MAX_POS - Z_MIN_POS)

// The position of the homing switches
//#define MANUAL_HOME_POSITIONS  // If defined, MANUAL_*_HOME_POS below will be used
//#define BED_CENTER_AT_0_0  // If defined, the center of the bed is at (X=0, Y=0)

//Manual homing switch locations:
// For deltabots this means top and center of the cartesian print volume.
#define MANUAL_X_HOME_POS 0
#define MANUAL_Y_HOME_POS 0
#define MANUAL_Z_HOME_POS 0
//#define MANUAL_Z_HOME_POS 402 // For delta: Distance between nozzle and print surface after homing.

//// MOVEMENT SETTINGS
#define NUM_AXIS 4 // The axis order in all axis related arrays is X, Y, Z, E
#define HOMING_FEEDRATE {50*60, 50*60, 4*60, 0}  // set the homing speeds (mm/min)

// default settings

#define DEFAULT_AXIS_STEPS_PER_UNIT   {320,320,2133,33,214}  // default steps per unit for Ultimaker
#define DEFAULT_MAX_FEEDRATE          {500, 500, 5, 25}    // (mm/sec)
#define DEFAULT_MAX_ACCELERATION      {9000,9000,100,10000}    // X, Y, Z, E maximum start speed for accelerated moves. E default values are good for skeinforge 40+, for older versions raise them a lot.

#define DEFAULT_ACCELERATION          1000    // X, Y, Z and E max acceleration in mm/s^2 for printing moves
#define DEFAULT_RETRACT_ACCELERATION  1000   // X, Y, Z and E max acceleration in mm/s^2 for retracts

// Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing).
// The offset has to be X=0, Y=0 for the extruder 0 hotend (default extruder).
// For the other hotends it is their distance from the extruder 0 hotend.
// #define EXTRUDER_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis
// #define EXTRUDER_OFFSET_Y {0.0, 5.00}  // (in mm) for each extruder, offset of the hotend on the Y axis

// The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously)
#define DEFAULT_XYJERK                20.0    // (mm/sec)
#define DEFAULT_ZJERK                 0.4     // (mm/sec)
#define DEFAULT_EJERK                 5.0    // (mm/sec)
Re: Effetto mirroring
January 24, 2016 04:59PM
Basta che cambi questo parametro così:#define X_HOME_DIR 1 e non - 1
E il finecorsa va cobnesso su Xmax, ovviamente.
Ciao


Prusa i3 Rework - hotend IeC 0.4mm (bowden) - filamento 1.75mm - Repetier-Host - MarlinKimbra - RAMPS 1.4
Re: Effetto mirroring
January 25, 2016 07:09PM
E anche invertire la direzione del motore X...




Edit:
Praticamente hai detto che la home la fa su min
#define X_HOME_DIR -1

Ma a destra non è il min, ma il max...
Quindi fai come ti è stato detto metti il valore a 1
sposta il connettore dell'endstop X su max e inverti la direzione del motore X

Edited 1 time(s). Last edit at 01/25/2016 07:11PM by MagoKimbra.


COMPRA ITALIANO - sostieni le nostre aziende - sostieni la nostra gente - sostieni il tuo popolo - sosterrai te stesso.
Alberto C. felice possessore di una Kossel K2
My Blog - My Thingiverse
Re: Effetto mirroring
January 30, 2016 10:24AM
Quote
MagoKimbra
E anche invertire la direzione del motore X...

Edit:
Praticamente hai detto che la home la fa su min
#define X_HOME_DIR -1

Ma a destra non è il min, ma il max...
Quindi fai come ti è stato detto metti il valore a 1
sposta il connettore dell'endstop X su max e inverti la direzione del motore X

Il problema è proprio questo,

ora ho su min -1, X mi va a destra, trova correttamente l'endstop e si ferma. Ma le stampe vengono specchiate.

Viceversa se metto correttamente come mi avete detto l'endstop su max, X HOME DIR 1 e inverto la direzione di X, tutte le volte che clicco su home di X va a destra ma non riconosce l'endstop e non si ferma proseguendo la sua corsa. E come se l'endstop max di X sulla ramps non funzionasse...

Edited 1 time(s). Last edit at 01/30/2016 10:55AM by 3dgraf.
Re: Effetto mirroring
January 30, 2016 11:15AM
Prova prima con M119 e vedi che dice..
Ti deve dire X max endstop non triggered (o open) e quando è premuto triggered...

Edited 1 time(s). Last edit at 01/30/2016 11:16AM by MagoKimbra.


COMPRA ITALIANO - sostieni le nostre aziende - sostieni la nostra gente - sostieni il tuo popolo - sosterrai te stesso.
Alberto C. felice possessore di una Kossel K2
My Blog - My Thingiverse
Re: Effetto mirroring
January 30, 2016 11:25AM
Mi dice questo:

17:24:56.938 : Segnalazione stato degli endstop
17:24:56.938 : x_min: INNESCATO
17:24:56.939 : x_max: aperto
17:24:56.940 : y_min: aperto
17:24:56.940 : y_max: aperto
17:24:56.942 : z_min: aperto
17:24:56.942 : z_max: aperto

come può essere innescato X min, quando è impostato su max? eye rolling smiley

Edited 1 time(s). Last edit at 01/30/2016 11:43AM by 3dgraf.
Re: Effetto mirroring
January 30, 2016 12:14PM
Ma hai spostato il connettore su xmax?


COMPRA ITALIANO - sostieni le nostre aziende - sostieni la nostra gente - sostieni il tuo popolo - sosterrai te stesso.
Alberto C. felice possessore di una Kossel K2
My Blog - My Thingiverse
Re: Effetto mirroring
January 30, 2016 12:15PM
Quote
MagoKimbra
Ma hai spostato il connettore su xmax?

si certo, su xmax
Re: Effetto mirroring
January 30, 2016 12:26PM
Mentre scrivevo, cambiavo il codice e provavo il comportamento della stampante.

Ho risolto il problema, ora funziona tutto e gli endstop risultano tutti aperti. Le stampe non sono più specchiate.

In pratica ho modificato questa parte di codice in questo modo e la x su max funziona a dovere:

#ifdef ENDSTOPPULLUPS
  #define ENDSTOPPULLUP_XMAX
//  #define ENDSTOPPULLUP_YMAX
//  #define ENDSTOPPULLUP_ZMAX
//  #define ENDSTOPPULLUP_XMIN
  #define ENDSTOPPULLUP_YMIN
  #define ENDSTOPPULLUP_ZMIN
#endif

Grazie a tutti per la pazienza..smileys with beer

Edited 2 time(s). Last edit at 01/30/2016 12:40PM by 3dgraf.
Re: Effetto mirroring
August 29, 2016 04:12PM
Permettetemi di aggiungere una "banale" segnalazione per chi in futuro si imbatterà in questo post cercando la soluzione alla "stampa specchiata":
problema non infrequente soprattutto tra noi possessori di prusa I3 Rework che monta l'Xendstop sul montante di destra.

dopo diversi tentativi di risolvere il problema nei mesi scorsi oggi ho preso di petto la cosa:
ho rifatto nell'ordine tutti i cambiamenti descritti in questo e in altri post e seguito la guida di Ivan...ma niente di niente!
La cosa peggiore era che non veniva sentito l'X_max...e con l'endstop cablato su X_Max e l'homing settato verso X_max non succedeva un bel niente
e la stampante considerava X0 la posizione all'accensione...qualsiasi essa fosse.

è stato facendo la diagnosi con pronterface, comando M119, che ho aperto gli occhi:
nella lista non apparivano i MAX_endstop

morale della favola:

fate sempre attenzione che

//#define DISABLE_MAX_ENDSTOPS <<------ sia commentato altrimenti i MAX endstops vengono disabilitati e quindi non più letti
//#define DISABLE_MIN_ENDSTOPS

nella mia versione di Marlin invece i Max_endstops erano disabilitati di default facendomi impazzire non poco!
ora è tutto ok e finalmente non servirà più invertire gli stl con lo slicer (evitando di dimenticarsene e infuriarsi a stampa ultimata angry smiley)

Buon lavoro e buon divertimento a tutti!


Prusa I3 reworks, frame e base in MDF, Arduino Mega+RAMPS 1,4 , POLOLU DRW8825, LCD 12864 con SD reader, firmware: Marlin 1.1.0-RC3
Sorry, only registered users may post in this forum.

Click here to login