This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Duda con Geeetech A10 y 3dtouch.
#1
Buenos dias. Tengo una consulta y lo mismo es absurda.. pero llevo dias dando vueltas por que estoy liado recalibrando la impresora y me asalta la siguiente duda. 

Vamos a ver. Si yo tengo el 3dtouch montado en la a10, esta me hace el homing y me detecta la altura. Programo el stl con el G29, me escanea la cama y arranca a imprimir. Yo no veo que el eje Z haga correcciones de ningun tipo durante la impresion. No veo que corrija como tal la nivelacion erronea de la cama. El sensor si que dectecta variaciones x en la cama, pero no las corrige. No pasa lo mismo con el sensor cuando lo he tenido montado en la am8. Ahi, si que hacia correcciones en los eje z en funciones de las desnivelaciones. 

Entonces me pongo a pensar entre cables y atornilladores y un kilo de tabaco.. y o bien, algo se me esta pasando por alto o bien es absurdo montar este sensor en impresoras de 1 solo eje z ( a mi parecer, puesto que al apreciar esto me toca repasar con folio antes de impresiones severas aunque le pase luego el G29). 

Es mas.. he hago la calibracion de la cama antes de la impresion, marco el g29 al generar el gcode y aun  asi se me ha dado el caso de que por un costado de la cama se me ha ido enganchando la impresion y por otro ha quedado como debe.. a lo que ya no entiendo nada. 

Cansado de esta incertidumbre, he cogido mas de una vez y tan solo he dejado en el gcode marcado el g28. Me hace el test en el centro de la cama una sola vez y empieza a imprimir.. y he tenido buenos resultados.. 

Pero vamos, fuera ñapas, lo que me interesa saber es eso.. porque el eje z no hace las correcciones durante la impresion. ¿Porque me he dejado algo por activar, porque no sigo el procedimiento correcto o directamente porque es asi y marlin despues de medir saca una media correctiva de la superficie de la cama???  

No se.. podeis iluminarme.. me estoy quedando sin tabaco y sin paciencia.. Triste

Saludos a todos.
  Responder
#2
Hola, pues para poder darte una respuesta apropiada, sería necesario tener más información, como lo que hay después del G29 en el gcode de las piezas o la configuración de autolevel que tienes en Marlin.
De todas formas, si cuando imprimes sin autolevel obtienes como dices buenos resultados, ¿por qué piensas que deberías ver correcciones en el eje Z? Quizá no sean necesarias y por eso no las hace.
Si quieres comprobar si funciona, puedes desnivelar claramente la cama de forma que te asegures que le obligas a actuar.
Por otra parte, dependiendo de como se tenga configurado el autolevel, este no actúa fuera de la zona de medición, por lo que si se imprime muy al borde de la cama puede quedar fuera de la zona activa.
En todo caso, esto son especulaciones y como digo, se necesita más información.
  Responder
#3
[Imagen: Sin-t-tulo.jpg]


Esto es el gcode que normalmente uso..

/===========================================================================
//=============================== Bed Leveling ==============================
//===========================================================================
// @section calibrate

/**
* Choose one of the options below to enable G29 Bed Leveling. The parameters
* and behavior of G29 will change depending on your selection.
*
* If using a Probe for Z Homing, enable Z_SAFE_HOMING also!
*
* - AUTO_BED_LEVELING_3POINT
* Probe 3 arbitrary points on the bed (that aren't collinear)
* You specify the XY coordinates of all 3 points.
* The result is a single tilted plane. Best for a flat bed.
*
* - AUTO_BED_LEVELING_LINEAR
* Probe several points in a grid.
* You specify the rectangle and the density of sample points.
* The result is a single tilted plane. Best for a flat bed.
*
* - AUTO_BED_LEVELING_BILINEAR
* Probe several points in a grid.
* You specify the rectangle and the density of sample points.
* The result is a mesh, best for large or uneven beds.
*
* - AUTO_BED_LEVELING_UBL (Unified Bed Leveling)
* A comprehensive bed leveling system combining the features and benefits
* of other systems. UBL also includes integrated Mesh Generation, Mesh
* Validation and Mesh Editing systems.
*
* - MESH_BED_LEVELING
* Probe a grid manually
* The result is a mesh, suitable for large or uneven beds. (See BILINEAR.)
* For machines without a probe, Mesh Bed Leveling provides a method to perform
* leveling in steps so you can manually adjust the Z height at each grid-point.
* With an LCD controller the process is guided step-by-step.
*/
//#define AUTO_BED_LEVELING_3POINT
//#define AUTO_BED_LEVELING_LINEAR
#define AUTO_BED_LEVELING_BILINEAR
//#define AUTO_BED_LEVELING_UBL
//#define MESH_BED_LEVELING

/**
* Normally G28 leaves leveling disabled on completion. Enable
* this option to have G28 restore the prior leveling state.
*/
//#define RESTORE_LEVELING_AFTER_G28

/**
* Enable detailed logging of G28, G29, M48, etc.
* Turn on with the command 'M111 S32'.
* NOTE: Requires a lot of PROGMEM!
*/
//#define DEBUG_LEVELING_FEATURE

#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_BILINEAR) || ENABLED(AUTO_BED_LEVELING_UBL)
// Gradually reduce leveling correction until a set height is reached,
// at which point movement will be level to the machine's XY plane.
// The height can be set with M420 Z<height>
#define ENABLE_LEVELING_FADE_HEIGHT

// For Cartesian machines, instead of dividing moves on mesh boundaries,
// split up moves into short segments like a Delta. This follows the
// contours of the bed more closely than edge-to-edge straight moves.
#define SEGMENT_LEVELED_MOVES
#define LEVELED_SEGMENT_LENGTH 5.0 // (mm) Length of all segments (except the last one)

/**
* Enable the G26 Mesh Validation Pattern tool.
*/
#define G26_MESH_VALIDATION
#if ENABLED(G26_MESH_VALIDATION)
#define MESH_TEST_NOZZLE_SIZE 0.4 // (mm) Diameter of primary nozzle.
#define MESH_TEST_LAYER_HEIGHT 0.2 // (mm) Default layer height for the G26 Mesh Validation Tool.
#define MESH_TEST_HOTEND_TEMP 205.0 // (°C) Default nozzle temperature for the G26 Mesh Validation Tool.
#define MESH_TEST_BED_TEMP 60.0 // (°C) Default bed temperature for the G26 Mesh Validation Tool.
#endif

#endif

#if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)

// Set the number of grid points per dimension.
#define GRID_MAX_POINTS_X 3
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X

// Set the boundaries for probing (where the probe can reach).
#define LEFT_PROBE_BED_POSITION 45
#define RIGHT_PROBE_BED_POSITION 160
#define FRONT_PROBE_BED_POSITION 40
#define BACK_PROBE_BED_POSITION 180

// Probe along the Y axis, advancing X after each column
//#define PROBE_Y_FIRST

#if ENABLED(AUTO_BED_LEVELING_BILINEAR)

// Beyond the probed grid, continue the implied tilt?
// Default is to maintain the height of the nearest edge.
//#define EXTRAPOLATE_BEYOND_GRID

//
// Experimental Subdivision of the grid by Catmull-Rom method.
// Synthesizes intermediate points to produce a more detailed mesh.
//
//#define ABL_BILINEAR_SUBDIVISION
#if ENABLED(ABL_BILINEAR_SUBDIVISION)
// Number of subdivisions between probe points
#define BILINEAR_SUBDIVISIONS 3
#endif

#endif

#elif ENABLED(AUTO_BED_LEVELING_UBL)

Primera parte

y la segunda..

//===========================================================================
//========================= Unified Bed Leveling ============================
//===========================================================================

//#define MESH_EDIT_GFX_OVERLAY // Display a graphics overlay while editing the mesh

#define MESH_INSET 1 // Set Mesh bounds as an inset region of the bed
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X

#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
#define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500

//#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used
// as the Z-Height correction value.

#elif ENABLED(MESH_BED_LEVELING)

//===========================================================================
//=================================== Mesh ==================================
//===========================================================================

#define MESH_INSET 10 // Set Mesh bounds as an inset region of the bed
#define GRID_MAX_POINTS_X 3 // Don't use more than 7 points per axis, implementation limited.
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X

//#define MESH_G28_REST_ORIGIN // After homing all axes ('G28' or 'G28 XYZ') rest Z at Z_MIN_POS

#endif // BED_LEVELING

/**
* Points to probe for all 3-point Leveling procedures.
* Override if the automatically selected points are inadequate.
*/
#if ENABLED(AUTO_BED_LEVELING_3POINT) || ENABLED(AUTO_BED_LEVELING_UBL)
#define PROBE_PT_1_X 15
#define PROBE_PT_1_Y 145
#define PROBE_PT_2_X 15
#define PROBE_PT_2_Y 20
#define PROBE_PT_3_X 145
#define PROBE_PT_3_Y 20
#endif

/**
* Add a bed leveling sub-menu for ABL or MBL.
* Include a guided procedure if manual probing is enabled.
*/
#define LCD_BED_LEVELING

#if ENABLED(LCD_BED_LEVELING)
#define MBL_Z_STEP 0.025 // Step size while manually probing Z axis.
#define LCD_PROBE_Z_RANGE 4 // Z Range centered on Z_MIN_POS for LCD Z adjustment
#endif

// Add a menu item to move between bed corners for manual bed adjustment
//#define LEVEL_BED_CORNERS

#if ENABLED(LEVEL_BED_CORNERS)
#define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling
// #define LEVEL_CORNERS_Z_HOP 4.0 // (mm) Move nozzle up before moving between corners
//#define LEVEL_CENTER_TOO // Move to the center after the last corner
#endif

/**
* Commands to execute at the end of G29 probing.
* Useful to retract or move the Z probe out of the way.
*/
//#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10"


// @section homing

// The center of the bed is at (X=0, Y=0)
//#define BED_CENTER_AT_0_0

// Manually set the home position. Leave these undefined for automatic settings.
// For DELTA this is the top-center of the Cartesian print volume.
//#define MANUAL_X_HOME_POS 0
//#define MANUAL_Y_HOME_POS 0
//#define MANUAL_Z_HOME_POS 0

// Use "Z Safe Homing" to avoid homing with a Z probe outside the bed area.
//
// With this feature enabled:
//
// - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
// - If stepper drivers time out, it will need X and Y homing again before Z homing.
// - Move the Z probe (or nozzle) to a defined XY point before Z Homing when homing all axes (G28).
// - Prevent Z homing when the Z probe is outside bed area.
//
#define Z_SAFE_HOMING

#if ENABLED(Z_SAFE_HOMING)
#define Z_SAFE_HOMING_X_POINT ((X_BED_SIZE) / 2) // X point for Z homing when homing all axes (G28).
#define Z_SAFE_HOMING_Y_POINT ((Y_BED_SIZE) / 2) // Y point for Z homing when homing all axes (G28).
#endif

// Homing speeds (mm/m)
#define HOMING_FEEDRATE_XY (50*60)
#define HOMING_FEEDRATE_Z (15*60)

// @section calibrate

/**
* Bed Skew Compensation
*
* This feature corrects for misalignment in the XYZ axes.
*
* Take the following steps to get the bed skew in the XY plane:
* 1. Print a test square (e.g., https://www.thingiverse.com/thing:2563185)
* 2. For XY_DIAG_AC measure the diagonal A to C
* 3. For XY_DIAG_BD measure the diagonal B to D
* 4. For XY_SIDE_AD measure the edge A to D
*
* Marlin automatically computes skew factors from these measurements.
* Skew factors may also be computed and set manually:
*
* - Compute AB : SQRT(2*AC*AC+2*BD*BD-4*AD*AD)/2
* - XY_SKEW_FACTOR : TAN(PI/2-ACOS((AC*AC-AB*AB-AD*AD)/(2*AB*AD)))
*
* If desired, follow the same procedure for XZ and YZ.
* Use these diagrams for reference:
*
* Y Z Z
* ^ B-------C ^ B-------C ^ B-------C
* | / / | / / | / /
* | / / | / / | / /
* | A-------D | A-------D | A-------D
* +-------------->X +-------------->X +-------------->Y
* XY_SKEW_FACTOR XZ_SKEW_FACTOR YZ_SKEW_FACTOR
*/
//#define SKEW_CORRECTION

#if ENABLED(SKEW_CORRECTION)
// Input all length measurements here:
#define XY_DIAG_AC 282.8427124746
#define XY_DIAG_BD 282.8427124746
#define XY_SIDE_AD 200

// Or, set the default skew factors directly here
// to override the above measurements:
#define XY_SKEW_FACTOR 0.0

//#define SKEW_CORRECTION_FOR_Z
#if ENABLED(SKEW_CORRECTION_FOR_Z)
#define XZ_DIAG_AC 282.8427124746
#define XZ_DIAG_BD 282.8427124746
#define YZ_DIAG_AC 282.8427124746
#define YZ_DIAG_BD 282.8427124746
#define YZ_SIDE_AD 200
#define XZ_SKEW_FACTOR 0.0
#define YZ_SKEW_FACTOR 0.0
#endif

// Enable this option for M852 to set skew at runtime
//#define SKEW_CORRECTION_GCODE
#endif

(18-09-2019, 10:12 AM)Simemart escribió: Hola, pues para poder darte una respuesta apropiada, sería necesario tener más información, como lo que hay después del G29 en el gcode de las piezas o la configuración de autolevel que tienes en Marlin.
De todas formas, si cuando imprimes sin autolevel obtienes como dices buenos resultados, ¿por qué piensas que deberías ver correcciones en el eje Z? Quizá no sean necesarias y por eso no las hace.
Si quieres comprobar si funciona, puedes desnivelar claramente la cama de forma que te asegures que le obligas a actuar.
Por otra parte, dependiendo de como se tenga configurado el autolevel, este no actúa fuera de la zona de medición, por lo que si se imprime muy al borde de la cama puede quedar fuera de la zona activa.
En todo caso, esto son especulaciones y como digo, se necesita más información.

las correciones creo que debe de hacerlas precisamente porque despues de la medicion, sobre el cristal hay costados que los aplasta mas que otros, con lo que ello conlleva. Cuando le paso el G29 en cura este me muestra que efectivamente hay un desnivel en ese costado, pero no me lo contempla a la hora de imprimir.. entonces o bien no funciona como debe o bien me falta por corregir.. es que no lo se.. me pierdo.
  Responder
#4
En principio, todo lo que veo parece correcto y en teoría debería estar activado el autolevel.
Si quieres, puedes descomentar (quitar las // iniciales) la línea #define RESTORE_LEVELING_AFTER_G28, para asegurarte que se activa el autolevel después de realizar el home (el G28 lo desactiva), aunque teniendo el G29 despues del G28 no debería ser necesario.
También puedes descomentar la línea #define EXTRAPOLATE_BEYOND_GRID, que extiende la zona activa del autolevel más allá de la rejilla de medición, por si sales de ella durante la impresión.
Aunque no tenga nada que ver, tienes una velocidad para el homing de Z demasiado alta (15mm/s), aunque supongo que la máxima que tendrás configurada para ese eje será menor.
Sobre lo que indicas al final, si actuase el autolevel y realizase las correcciones precisamente evitaría esas capas más aplastadas en unas zonas que en otras, por lo que parece que no lo hace o son zonas fuera de la rejilla de medición.
  Responder
#5
voy a echarle un ojo al firmware y ha realizar las correcciones pertinentes que me indicas y veo que ocurre.. muchas gracias. ya os contare.
  Responder


Posibles temas similares…
Tema Autor Respuestas Vistas Último mensaje
  Cambio Endstop por 3dTouch y no funciona. Luz roja constante [Solucionado]. Mafer 15 1,987 13-09-2021, 09:09 PM
Último mensaje: Simemart
  CONSULTA silenciar drivers en Geeetech A10M djohny1 9 2,816 11-04-2020, 09:23 AM
Último mensaje: djohny1
  Problema placa geeetech i3 norwito 9 2,876 20-05-2019, 12:49 PM
Último mensaje: Nullz
  Me ha explotado la fuente de alimentación de la Geeetech Prusa i3 pro B LuluJmz 37 10,323 04-06-2017, 10:23 PM
Último mensaje: Eduardo
  Motores extrusor geeetech kakosa 2 1,691 22-05-2017, 05:05 PM
Último mensaje: kakosa