[AYUDA] Configuracion marlin para BL touch

1,837 views
Skip to first unread message

Mario Hinojal

unread,
Feb 10, 2017, 12:58:26 PM2/10/17
to Clone Wars: Imprimiendo impresoras 3D
Hola, estoy intentando conectar un sensor bl touch a una tarjeta lionheart pro, el problema me surge a la hora de configurar marlin, os comento las modificaciones que he hecho a ver si me podeis hechar un cable:

En mechanical settings he realizado el cambio:

const bool Z_MIN_ENDSTOP_INVERTING = true ------> const bool Z_MIN_ENDSTOP_INVERTING = false.

En Bed auto leveling he dejado el codigo asi:


// @section bedlevel

#define ENABLE_AUTO_BED_LEVELING // 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 Leveling is Enabled.

#ifdef ENABLE_AUTO_BED_LEVELING

  // There are 2 different ways to specify probing locations
  //
  // - "grid" mode
  //   Probe several points in a rectangular grid.
  //   You specify the rectangle and the density of sample points.
  //   This mode is preferred because there are more measurements.
  //
  // - "3-point" mode
  //   Probe 3 arbitrary points on the bed (that aren't colinear)
  //   You specify the XY coordinates of all 3 points.

  // Enable this to sample the bed in a grid (least squares solution)
  // Note: this feature generates 10KB extra code size
  #define AUTO_BED_LEVELING_GRID

  #ifdef AUTO_BED_LEVELING_GRID

    #define LEFT_PROBE_BED_POSITION 40 //SAG20150811
    #define RIGHT_PROBE_BED_POSITION 160
    #define FRONT_PROBE_BED_POSITION 40
    #define BACK_PROBE_BED_POSITION 260

    #define MIN_PROBE_EDGE 10 // The probe square sides can be no smaller than this

    // Set the number of grid points per dimension
    // You probably don't need more than 3 (squared=9)
    #define AUTO_BED_LEVELING_GRID_POINTS 5

  #else  // !AUTO_BED_LEVELING_GRID

      // Arbitrary points to probe. A simple cross-product
      // is used to estimate the plane of the 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 140 //SAG20150811
      #define ABL_PROBE_PT_3_Y 20

  #endif // AUTO_BED_LEVELING_GRID

  // Offsets to the probe relative to the extruder tip (Hotend - Probe)
  // X and Y offsets must be integers //SAG20150811
  #define X_PROBE_OFFSET_FROM_EXTRUDER 39     // Probe on: -left  +right
  #define Y_PROBE_OFFSET_FROM_EXTRUDER 0     // Probe on: -front +behind
  #define Z_PROBE_OFFSET_FROM_EXTRUDER 0  // -below (always!)

  //SAG20150811   
  #define Z_RAISE_BEFORE_HOMING 5       // (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

  //SAG20150811
  #define Z_RAISE_BEFORE_PROBING 10   //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_RAISE_AFTER_PROBING 10    //How much the extruder will be raised after the last probing point.

//   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine.
                                                                            //Useful to retract a deployable probe.

  //#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 300


//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_MIN_POS + X_MAX_POS) / 2)    // X point for Z homing when homing all axis (G28)
    #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2)    // Y point for Z homing when homing all axis (G28)

  #endif

  // Support for a dedicated Z PROBE endstop separate from the Z MIN endstop.
  // If you would like to use both a Z PROBE and a Z MIN endstop together or just a Z PROBE with a custom pin, uncomment #define Z_PROBE_ENDSTOP and read the instructions below.
  // If you want to still use the Z min endstop for homing, disable Z_SAFE_HOMING above. Eg; to park the head outside the bed area when homing with G28.
  // WARNING: The Z MIN endstop will need to set properly as it would without a Z PROBE to prevent head crashes and premature stopping during a print.
  // To use a separate Z PROBE endstop, you must have a Z_PROBE_PIN defined in the pins.h file for your control board.
  // If you are using a servo based Z PROBE, you will need to enable NUM_SERVOS, SERVO_ENDSTOPS and SERVO_ENDSTOPS_ANGLES in the R/C Servo below.
  // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, otherwise connect to ground and D32
  // for normally closed configuration and 5V and D32 for normally open configurations. Normally closed configuration is advised and assumed.
  // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. Z_PROBE_PIN is setting the pin to use on the Arduino. Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
  // D32 is currently selected in the RAMPS 1.3/1.4 pin file. All other boards will need changes to the respective pins_XXXXX.h file.
  // WARNING: Setting the wrong pin may have unexpected and potentially disastrous outcomes. Use with caution and do your homework.

//#define Z_PROBE_ENDSTOP

#endif // ENABLE_AUTO_BED_LEVELING

En la zona de servos:

// 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 //SAG20150811

// Servo Endstops
//
// This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
// Use M851 to set the z-probe vertical offset from the nozzle. 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, 10,90} // X,Y,Z Axis Extend and Retract angles

Tras intentar compilarlo me lanza un error indicandome que el archivo es demasiado grande (Tamaño binario del Sketch: 124.124 bytes (de un máximo de 122.048 bytes)
 Comentaros que en tema de programacion estoy muy verde, ademas me surge la duda si se debe modificar el PIN en PIN.H del servo que se esta usando.
Agradeceria mucho una ayudita.
Un saludo.

Mario Hinojal

unread,
Feb 11, 2017, 11:16:33 AM2/11/17
to Clone Wars: Imprimiendo impresoras 3D
solucionado

Iceflow

unread,
Feb 11, 2017, 12:30:48 PM2/11/17
to asrob-uc3m-i...@googlegroups.com
Si cuentas como lo has solucionado, seguramente puedas ayudar a otros si tienen el mismo problema en el futuro!! :D

El 11 de febrero de 2017, 17:16, Mario Hinojal <mariohi...@gmail.com> escribió:
solucionado

--
Has recibido este mensaje porque estás suscrito al grupo "Clone Wars: Imprimiendo impresoras 3D" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a asrob-uc3m-impresoras-3d+unsub...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a asrob-uc3m-impresoras-3d@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/asrob-uc3m-impresoras-3d/4bf346c1-3eca-43ee-a05c-b33004c7d830%40googlegroups.com.

Para acceder a más opciones, visita https://groups.google.com/d/optout.

Mario Hinojal

unread,
Feb 12, 2017, 10:18:36 AM2/12/17
to Clone Wars: Imprimiendo impresoras 3D
Adjunto las modificaciones del firmware:

-const bool Z_MIN_ENDSTOP_INVERTING = true;-------->const bool Z_MIN_ENDSTOP_INVERTING = false
-#define min_software_endstops true------>#define min_software_endstops false
-Copio modificaciones en seccion autolevel:

//===========================================================================
//============================ Bed Auto Leveling ============================
//===========================================================================

// @section bedlevel

#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line) Descomentar la linea para activar autolevel.
//#define Z_PROBE_REPEATABILITY_TEST  // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled. Opcional, si quereis tener activo el test de repeticion de medicion descomentar la linea


#ifdef ENABLE_AUTO_BED_LEVELING

  // There are 2 different ways to specify probing locations
  //
  // - "grid" mode
  //   Probe several points in a rectangular grid.
  //   You specify the rectangle and the density of sample points.
  //   This mode is preferred because there are more measurements.
  //
  // - "3-point" mode
  //   Probe 3 arbitrary points on the bed (that aren't colinear)
  //   You specify the XY coordinates of all 3 points.

  // Enable this to sample the bed in a grid (least squares solution)
  // Note: this feature generates 10KB extra code size
  #define AUTO_BED_LEVELING_GRID

  #ifdef AUTO_BED_LEVELING_GRID

    #define LEFT_PROBE_BED_POSITION 30 //SAG20150811---- Aqui las medidas en las cuales quieres que haga mediciones el bl touch(Limitada por la posicion respecto al extrusor
    #define RIGHT_PROBE_BED_POSITION 165
    #define FRONT_PROBE_BED_POSITION 20
    #define BACK_PROBE_BED_POSITION 155


    #define MIN_PROBE_EDGE 10 // The probe square sides can be no smaller than this

    // Set the number of grid points per dimension
    // You probably don't need more than 3 (squared=9)
    #define AUTO_BED_LEVELING_GRID_POINTS 3     Aqui indicais cuantos puntos quereis para el autolevel, recomiendo 3 para camas cuadradas y 4 para rectangulares

  #else  // !AUTO_BED_LEVELING_GRID

      // Arbitrary points to probe. A simple cross-product          No es necesario modificar nada

      // is used to estimate the plane of the 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 140 //SAG20150811
      #define ABL_PROBE_PT_3_Y 20

  #endif // AUTO_BED_LEVELING_GRID

  // Offsets to the probe relative to the extruder tip (Hotend - Probe)                                   Aqui los offset del extrusor respecto del bl touch

  // X and Y offsets must be integers //SAG20150811
  #define X_PROBE_OFFSET_FROM_EXTRUDER -29     // Probe on: -left  +right
  #define Y_PROBE_OFFSET_FROM_EXTRUDER -20     // Probe on: -front +behind
  #define Z_PROBE_OFFSET_FROM_EXTRUDER -0  // -below (always!)

  //SAG20150811   
  #define Z_RAISE_BEFORE_HOMING 2       // (in mm) Raise Z before homing (G28) for Probe Clearance. Este valor puede ser necesario ser ajustado segun el offset del extrusor y bl touch, en mi caso no fue necesario

                                        // 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

  //SAG20150811
  #define Z_RAISE_BEFORE_PROBING 2   //How much the extruder will be raised before traveling to the first probing point. Este valor puede ser necesario ser ajustado segun el offset del extrusor y bl touch, en mi caso no fue necesario
  #define Z_RAISE_BETWEEN_PROBINGS 2  //How much the extruder will be raised when traveling from between next probing points Este valor puede ser necesario ser ajustado segun el offset del extrusor y bl touch, en mi caso no fue necesario
  #define Z_RAISE_AFTER_PROBING 0    //How much the extruder will be raised after the last probing point. Importante en mi caso el ajuste de este parametro es 0 si no la impresora imprime inexplicablemente en el aire


//   #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine.
                                                                            //Useful to retract a deployable probe.

  //#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 300 Descomentar esta linea, en mi caso si no no actua el servo.
-Configuracion de servos:

/*********************************************************************\
* R/C SERVO support
* Sponsored by TrinityLabs, Reworked by codexmas
**********************************************************************/


// 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 //SAG20150811 Descomentar y colocar numero de serovos a 1

// Servo Endstops
//
// This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
// Use M851 to set the z-probe vertical offset from the nozzle. Store that setting with M500.
//
#define SERVO_ENDSTOPS {-1, -1, 0} // Servo index for X, Y, Z. Disable with -1 Descomentar la linea e indicar que servo esta activo, en nuestro caso el z por tanto valor 0
#define SERVO_ENDSTOP_ANGLES {0,0, 0,0, 10,90} // X,Y,Z Axis Extend and Retract angles Descomentar la linea e indicar angulos de funcionamiento del servo, en el caso de bl touch 10,90


Con esta configuracion funciona perfectamente el autolevel con una placa lionheart pro.
Un saludo.

Jose Civera

unread,
Feb 14, 2017, 8:40:36 AM2/14/17
to Clone Wars: Imprimiendo impresoras 3D
Yo en mi Geeetech i3 Pro también lo conseguí hacer funcionar solo después de descomentar lo del retardo del servo, y así lo indiqué en el hilo del BL Touch de Spainlabs.  Lo que pasa es que otra gente dice que le va bien sin cambiar eso.

En cualquier caso no recomiendo comprar los BLTOUCH de Triangle Labs (en Aliexpress o revendidos en España) que dan mucho por el culo en comparación con otros, de eso sí que estoy seguro.

Bedelber J.C.

unread,
Apr 24, 2017, 2:34:43 PM4/24/17
to Clone Wars: Imprimiendo impresoras 3D
Buenas,

Yo lamentablemente, tengo uno de Trianglelab y no consigo que tire (aunque al final si va a conseguir que LO tire).

Al mandar un G28 X e Y correcto y Z sube un poco y se retrae el sensor.
Al mandar un G29 Z se mueve hacia arriba, saca el sensor, lo recoge y se va al siguiente punto y así los 4.

He copiado los parámetros de Duncan y no doy con la tecla. Se agrade ayuda e ideas.

La placa es una GT2560 y la impresora una Geeetech.

Iceflow

unread,
Apr 24, 2017, 3:43:31 PM4/24/17
to asrob-uc3m-i...@googlegroups.com
Que versión de marlin usas? has comprobado que todos todos los parámetros estén como deben?

--
Has recibido este mensaje porque estás suscrito al grupo "Clone Wars: Imprimiendo impresoras 3D" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a asrob-uc3m-impresoras-3d+unsub...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a asrob-uc3m-impresoras-3d@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages