Welcome! Log In Create A New Profile

Advanced

autonivelacion mal configurada

Posted by luismanson 
autonivelacion mal configurada
January 25, 2015 10:00PM
Hola tengo un problemita loco, quise implementar la autonivelacion con el servo usando marlin, mi brazo del servo esta atras del hot y hacia la derecha
El problma que tengo es que hace homing, baja el brazo, mide y se queda en el centro, no me gusta, pero hasta ahi anda. Ahora cuando tire el autonivelar O cuando le di imprimir Z quiso seguir bajando, ni intento bajar el brazo del servo, le dio derecho para abajo undiendo la cama :\
El switch del servo esta conectado donde estaba el min endstop.
esta es la config relevante:



#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)

#ifdef ENABLE_AUTO_BED_LEVELING

// There are 2 different ways to pick the X and Y locations to probe:

//  - "grid" mode
//    Probe every point in a rectangular grid
//    You must specify the rectangle, and the density of sample points
//    This mode is preferred because there are more measurements.
//    It used to be called ACCURATE_BED_LEVELING but "grid" is more descriptive

//  - "3-point" mode
//    Probe 3 arbitrary points on the bed (that aren't colinear)
//    You must specify the X & Y coordinates of all 3 points

  #define AUTO_BED_LEVELING_GRID
  // with AUTO_BED_LEVELING_GRID, the bed is sampled in a
  // AUTO_BED_LEVELING_GRID_POINTSxAUTO_BED_LEVELING_GRID_POINTS grid
  // and least squares solution is calculated
  // Note: this feature occupies 10'206 byte
  #ifdef AUTO_BED_LEVELING_GRID

    // set the rectangle in which to probe
    #define LEFT_PROBE_BED_POSITION 15
    #define RIGHT_PROBE_BED_POSITION 100
    #define BACK_PROBE_BED_POSITION 150
    #define FRONT_PROBE_BED_POSITION 20

     // set the number of grid points per dimension
     // I wouldn't see a reason to go above 3 (=9 probing points on the bed)
    #define AUTO_BED_LEVELING_GRID_POINTS 2


  #else  // not AUTO_BED_LEVELING_GRID
    // with no grid, just probe 3 arbitrary points.  A simple cross-product
    // is used to esimate the plane of the print bed

      #define ABL_PROBE_PT_1_X 15
      #define ABL_PROBE_PT_1_Y 180
      #define ABL_PROBE_PT_2_X 15
      #define ABL_PROBE_PT_2_Y 20
      #define ABL_PROBE_PT_3_X 170
      #define ABL_PROBE_PT_3_Y 20

  #endif // AUTO_BED_LEVELING_GRID


  // these are the offsets to the probe relative to the extruder tip (Hotend - Probe)
  #define X_PROBE_OFFSET_FROM_EXTRUDER -27
  #define Y_PROBE_OFFSET_FROM_EXTRUDER -4
  #define Z_PROBE_OFFSET_FROM_EXTRUDER -1.89

// actual es x27.00 y 4.00 z1.89

  #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z before homing (G28) for Probe Clearance.
                                        // Be sure you have this distance over your Z_MAX_POS in case

  #define XY_TRAVEL_SPEED 8000         // X and Y axis travel speed between probes, in mm/min

  #define Z_RAISE_BEFORE_PROBING 15    //How much the extruder will be raised before traveling to the first probing point.
  #define Z_RAISE_BETWEEN_PROBINGS 5  //How much the extruder will be raised when traveling from between next probing points

 //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
//#define SLED_DOCKING_OFFSET 5 // the extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.



  //If defined, the Probe servo will be turned on only during movement and then turned off to avoid jerk
  //The value is the delay to turn the servo off after powered on - depends on the servo speed; 300ms is good value, but you can try lower it.
  // You MUST HAVE the SERVO_ENDSTOPS defined to use here a value higher than zero otherwise your code will not compile.

  #define PROBE_SERVO_DEACTIVATION_DELAY 600


//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
//it is highly recommended you let this Z_SAFE_HOMING enabled!!!

  #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with probe outside the bed area.
                          // When defined, it will:
                          // - Allow Z homing only after X and Y homing AND stepper drivers still enabled
                          // - If stepper drivers timeout, it will need X and Y homing again before Z homing
                          // - Position the probe in a defined XY point before Z Homing when homing all axis (G28)
                          // - Block Z homing only when the probe is outside bed area.

  #ifdef Z_SAFE_HOMING

    #define Z_SAFE_HOMING_X_POINT (X_MAX_LENGTH/2)    // X point for Z homing when homing all axis (G28)
    #define Z_SAFE_HOMING_Y_POINT (Y_MAX_LENGTH/2)    // Y point for Z homing when homing all axis (G28)

  #endif

#endif // ENABLE_AUTO_BED_LEVELING



///////////////////
esto no se que es!!!!??

// Custom M code points
#define CUSTOM_M_CODES
#ifdef CUSTOM_M_CODES
  #define CUSTOM_M_CODE_SET_Z_PROBE_OFFSET 851
  #define Z_PROBE_OFFSET_RANGE_MIN -15
  #define Z_PROBE_OFFSET_RANGE_MAX -5
#endif


Esta es la parte de los sevos...
#define NUM_SERVOS 1 // Servo index starts with 0 for M280 command

// Servo Endstops
//
// This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
// Use M206 command to correct for switch height offset to actual nozzle height. Store that setting with M500.
//
#define SERVO_ENDSTOPS {-1, -1, 0} // Servo index for X, Y, Z. Disable with -1
#define SERVO_ENDSTOP_ANGLES {0,0, 0,0, 0,160} // X,Y,Z Axis Extend and Retract angles
// park 90

Edited 1 time(s). Last edit at 01/25/2015 10:00PM by luismanson.
Re: autonivelacion mal configurada
January 26, 2015 07:29AM
Pegale una mirada a estos 3 videos que explica como se configura paso a paso.

Parte 1
[www.youtube.com]

Parte 2
[www.youtube.com]

Parte 3
[www.youtube.com]
Re: autonivelacion mal configurada
January 26, 2015 07:38AM
Vos me estas diciendo que me mande una cagada muy obvia? tongue sticking out smiley

Marlin solia tener una opcion para asignar un pin...yo use en su momento max-andstop, asi conserve el min, pero ahora no tengo opcion ¬¬
Re: autonivelacion mal configurada
January 26, 2015 07:57AM
Quote
luismanson
Vos me estas diciendo que me mande una cagada muy obvia? tongue sticking out smiley

Marlin solía tener una opción para asignar un pin...yo use en su momento max-andstop, asi conserve el min, pero ahora no tengo opcion ¬¬

Luis, yo no tengo experiencia en este tema. pero cuando vi este videito de arriba esta explicado todo paso por paso y me pareció un material buenísimo, seguro que si lo seguís por ahi te das cuanta cual es la diferencia con tu configuración y la que sugiere en el video.
Re: autonivelacion mal configurada
January 26, 2015 10:14AM
Hola, yo lo arme hace poco. Te explico como lo arme yo...El servo lo conecté según este diagrama:
[forums.reprap.org]
en la linea de D11
previo cambiar el jumper para habilitar la salida de 5V en esa linea.

Compilando Marlin, solo con habilitar La parte que pusiste vos de servos, me abri la consola serie del ide de arduino y me fije que anden los comandos bien:

M280 P0 S0 (S0 S90 es el angulo)


Con eso te guardas tu punto servo arriba y servo abajo que vos queres definir y ahi lo cargas en marlin en la linea:

#define SERVO_ENDSTOP_ANGLES {0,0, 0,0, 0,160} // X,Y,Z Axis Extend and Retract angles


(en ese ejemplo 0 es "guardado" y 160 cuando baja)


Compilé subi todo de nuevo y ahi con la consola serie probé que funcione bien el comando:

M401 - Lower z-probe if present
M402 - Raise z-probe if present


Con eso, queda la configuración "fisica"... después tenes que seguir con la parte lógica en el firmware:

1ro:
El offset... hay videos por todos lados, pero es usar el metodo que vos quieras para medir los mas EXACTO posible la diferencia de distancia en los 3 ejes entre la punta del hotend y la punta del endstop Z... y eso lo ingresas en:


// these are the offsets to the probe relative to the extruder tip (Hotend - Probe)
  #define X_PROBE_OFFSET_FROM_EXTRUDER -27
  #define Y_PROBE_OFFSET_FROM_EXTRUDER -4
  #define Z_PROBE_OFFSET_FROM_EXTRUDER -1.89


Luego pones tu valor para el Z HOME, que cuando haces SAFE HOME (es el home en el medio o donde vos definas de la cama) porque normalmente si haces el home comun la zonda queda afuera de la cama segun la configuración


#ifdef Z_SAFE_HOMING

    #define Z_SAFE_HOMING_X_POINT (X_MAX_LENGTH/2)    // X point for Z homing when homing all axis (G28)
    #define Z_SAFE_HOMING_Y_POINT (Y_MAX_LENGTH/2)    // Y point for Z homing when homing all axis (G28)

  #endif


(yo ese valor como estaba cambiando cosas lo cambie y lo puse a mano en el lugar que me pareció sino por defecto con tu definicion de cama maxima lo divide por dos)

Con eso debería andar (te comento que yo con la versión relativamente vieja que tenia de marlin no andaba... tuve que compilar la ultima)

Ahora, no probe con la de estos dias pero la GRILLA que definis en marlin para mi caso tuve que poner valores negativos (luego cambie la zonda de lugar y no fue mas necesario)... no se si ya esta corregido, pero a lo que vos definis como DERECHA, IZQUIERDA, etc,etc le SUMA O RESTA TU OFFSET EN EL MOMENTO DE MEDIR.... pero por ejemplo te pego mi conf:


#define ENABLE_AUTO_BED_LEVELING
#define ENABLE_AUTO_BED_COMPENSATION // Delete the comment to enable (remove // at the start of the line)
#define Z_PROBE_REPEATABILITY_TEST  // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Compensation is Enabled.

#ifdef ENABLE_AUTO_BED_COMPENSATION

// There are 2 different ways to pick the X and Y locations to probe:

//  - "grid" mode
//    Probe every point in a rectangular grid
//    You must specify the rectangle, and the density of sample points
//    This mode is preferred because there are more measurements.
//    It used to be called ACCURATE_BED_COMPENSATION but "grid" is more descriptive

//  - "3-point" mode
//    Probe 3 arbitrary points on the bed (that aren't colinear)
//    You must specify the X & Y coordinates of all 3 points

 #define AUTO_BED_COMPENSATION_GRID
  // with AUTO_BED_COMPENSATION_GRID, the bed is sampled in a
  // AUTO_BED_COMPENSATION_GRID_POINTSxAUTO_BED_COMPENSATION_GRID_POINTS grid
  // and least squares solution is calculated
  // Note: this feature occupies 10'206 byte
  #ifdef AUTO_BED_COMPENSATION_GRID

    // set the rectangle in which to probe
    #define LEFT_PROBE_BED_POSITION 5
    #define RIGHT_PROBE_BED_POSITION 155
    #define BACK_PROBE_BED_POSITION 120
    #define FRONT_PROBE_BED_POSITION 0

     // set the number of grid points per dimension
     // I wouldn't see a reason to go above 3 (=9 probing points on the bed)
    #define AUTO_BED_COMPENSATION_GRID_POINTS 3


  #else  // not AUTO_BED_COMPENSATION_GRID
    // with no grid, just probe 3 arbitrary points.  A simple cross-product
    // is used to esimate the plane of the print bed

      #define ABL_PROBE_PT_1_X -60
      #define ABL_PROBE_PT_1_Y 0
      #define ABL_PROBE_PT_2_X 50
      #define ABL_PROBE_PT_2_Y 145
      #define ABL_PROBE_PT_3_X 0
      #define ABL_PROBE_PT_3_Y 93

  #endif // AUTO_BED_COMPENSATION_GRID


  // these are the offsets to the probe relative to the extruder tip (Hotend - Probe)
  #define X_PROBE_OFFSET_FROM_EXTRUDER -25
  #define Y_PROBE_OFFSET_FROM_EXTRUDER -42.6
  #define Z_PROBE_OFFSET_FROM_EXTRUDER -1.55

  #define Z_RAISE_BEFORE_HOMING 3       // (in mm) Raise Z before homing (G28) for Probe Clearance.
                                        // Be sure you have this distance over your Z_MAX_POS in case

  #define XY_TRAVEL_SPEED 3500         // X and Y axis travel speed between probes, in mm/min

  #define Z_RAISE_BEFORE_PROBING 3    //How much the extruder will be raised before traveling to the first probing point.
  #define Z_RAISE_BETWEEN_PROBINGS 2  //How much the extruder will be raised when traveling from between next probing points

  //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
  //#define SLED_DOCKING_OFFSET 5 // the extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.

  //If defined, the Probe servo will be turned on only during movement and then turned off to avoid jerk
  //The value is the delay to turn the servo off after powered on - depends on the servo speed; 300ms is good value, but you can try lower it.
  // You MUST HAVE the SERVO_ENDSTOPS defined to use here a value higher than zero otherwise your code will not compile.

  #define PROBE_SERVO_DEACTIVATION_DELAY 600


//If you have enabled the Bed Auto Compensation and are using the same Z Probe for Z Homing,
//it is highly recommended you let this Z_SAFE_HOMING enabled!!!

  #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with probe outside the bed area.
                          // When defined, it will:
                          // - Allow Z homing only after X and Y homing AND stepper drivers still enabled
                          // - If stepper drivers timeout, it will need X and Y homing again before Z homing
                          // - Position the probe in a defined XY point before Z Homing when homing all axis (G28)
                          // - Block Z homing only when the probe is outside bed area.

  #ifdef Z_SAFE_HOMING

    #define Z_SAFE_HOMING_X_POINT (80)    // X point for Z homing when homing all axis (G28)
    #define Z_SAFE_HOMING_Y_POINT (50)    // Y point for Z homing when homing all axis (G28)

  #endif

#endif // ENABLE_AUTO_BED_COMPENSATION

// Number of servos
//
// If you select a configuration below, this will receive a default value and does not need to be set manually
// set it manually if you have more servos than extruders and wish to manually control some
// leaving it undefined or defining as 0 will disable the servo subsystem
// If unsure, leave commented / disabled
//
#define NUM_SERVOS 1 // Servo index starts with 0 for M280 command

// Servo Endstops
//
// This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
// Use M206 command to correct for switch height offset to actual nozzle height. Store that setting with M500.
//
#define SERVO_ENDSTOPS {-1, -1, 0} // Servo index for X, Y, Z. Disable with -1
#define SERVO_ENDSTOP_ANGLES {0,0, 0,0, 82,0} // X,Y,Z Axis Extend and Retract angles

Cualquier cosa mandame un privado y si puedo te doy una mano... saludos!!!
Re: autonivelacion mal configurada
January 26, 2015 01:49PM
Buenas como te fue con el autolevel????
Re: autonivelacion mal configurada
January 26, 2015 02:06PM
mira..el tema lo hice hace poco mas de medio dia, no estube en casa aun
Re: autonivelacion mal configurada
January 26, 2015 06:15PM
Bueno, creo que lo tengo resuelto, sigo probando pero ando sin tiempo
Re: autonivelacion mal configurada
January 27, 2015 08:08PM
Listo, funciona, lo que pensaba correjír es que claro el slic3r manda altura de primer capa, pero segun las instrucciones nosotros dejamos de por si "1 hoja" de diferencia entre la zonda y el hot, en referencia a Z, o sea que la capa 0.3 termina en mas o menos 0.4!!
PFFFF, hice algo de 2 capas y quedo casi invisible, se me fue la mano ¬¬

Ahora tocando slic3r, comienza a calentar con el hot alto porque acaba de terminar la calibracion de G29, asique agregue un G1

G28 ; home all axes
G29 ; autonivelacion
M190 S[first_layer_bed_temperature] ; start y wait bed heating
M300 S400 P600; beep
M300 S500 P700; beep
G1 Z0
M109 S[first_layer_temperature]
M300 S1400 P200; beep
M300 S1500 P200; beep
M300 S2500 P500; beep
M117 Esperamos 5s...
G4 P5000 ; esperemos 5 segundos por si te colgaste
;G1 Z5 F5000 ; NO lift nozzle

consejos?

Edited 1 time(s). Last edit at 01/27/2015 08:08PM by luismanson.
Re: autonivelacion mal configurada
February 21, 2015 08:57PM
Hola, ni se si alguien se molesto en leer todo lo anterior pero encontre dos problemas mayores, ya cansado porque no podia encontrar el offset de Z adecuado, siempre jodiendo en 0.Xmm
Uno era que el switch estaba apenas flojo, lo suficiente como joder un tantito
El otro lo note despues de mucho jugar con Z haciendo movimientos altos >10mm al parecer se ha gastado un poco una varilla o la tuerca del lado derecho y era suficiente como para que la varilla zafe dentro de la manguera que lo acopla al motor, nunca note el problema en impresiones, asique saltó al jugar con el endstop.

Por otro lado migue a un opto endstop, bah tenia el switch mecanico clasico con led y reemplaze solo el switch por un opto que tiene una leva con resorte, esta vez creo haber logrado mucho mejor repetitividad, porque con el mecanico taaaaammmbiiieeeen renegue bastante, habia llegado a usarlo agregando un offzet en el G-code generado pero cuando resolvi los dos temas anteriores y quise re calibrar todo de nuevo se me quemaron los papeles!!!

no es lindo, pero funciona, lo mas loco es que el led va prendiendo proporcional a como se va activando el endstop. lo unico malo es que no pude encontrar el codigo de marlin que lee los endstop para saber en q punto lo toma como activado (alguna idea?)
Re: autonivelacion mal configurada
October 02, 2015 05:09PM
Hola luismanson, Es M119. JVARL
Sorry, only registered users may post in this forum.

Click here to login