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.

  • 5 voto(s) - 3.2 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Autolevel, paso a paso (I): Cambiar el firmware.
Buenas tardes,

estaba intentando poner Marlin con un video que vi en Youtube(con Visual Studio y AutoBuild Marlin) y fue satisfactorio, pero había opciones que traía el firmware de serie que ahora no veia (por ejemplo carga y descarga de filamento). Probé a activar de nuevo los menus (#define SLIM_LCD_MENUS) porque lo había desactivado para tener más memoria. Y al ir a cargar de nuevo el firmware, en vez de hacerlo con la opcion sanguino1284p lo hice con melzi_optiboot y la pantalla se ha quedado en azul

Mi impresora es una Anet A8plus y llegué a este foro después de hacer lo de arriba, sino seguramente hubiera optado por hacerlo con el método de este post

Si conecto la impresora a la corriente la pantalla se queda azul siempre; si la conecta por usb se ve la pantalla con la información normal pero no funciona el botón.

Creo que ahora no tengo más opción que cargar de nuevo el bootloader.

He leído que se puede hacer comprando un programador usb llamado USBasp. La información que encuentro es obsoleta y me preguntaba si hay alguna opción "más moderan" para recuperar el brickeo.

Dispongo de un Arduino Uno y páginas atrás vi que un usuario consiguió desbrickear con uno, pero pregunto por si a alguien más le ha pasado y me ayuda a salir de este problema

Muchas gracias de antemano
  Responder
Hola @astro, bienvenid@ al foro.
Lo primero que debes hacer es comprobar si realmente la placa ha perdido el bootloader, intentando volver a cargarlo con el entorno adecuado: en este caso, sanguino1284p_optimized, que genera un tamaño menor del firmware que el sanguino1284p.
Si realmente ha perdido el bootloader, puedes cargarlo de nuevo por dos vías: utilizando un programador AVR (USBasp, por ejemplo) o utilizando el Arduino Uno como programador: en este post puedes encontrar información de cómo hacerlo.
Aunque está escrito para las placas Creality, es perfectamente válido para las Anet y la placa quedará con el bootloader Optiboot (entornos melzi_optiboot o mejor melzi_optiboot_optimized).
  Responder
(03-10-2023, 11:54 PM)Simemart escribió: Hola @astro, bienvenid@ al foro.
Lo primero que debes hacer es comprobar si realmente la placa ha perdido el bootloader, intentando volver a cargarlo con el entorno adecuado: en este caso, sanguino1284p_optimized, que genera un tamaño menor del firmware que el sanguino1284p.
Si realmente ha perdido el bootloader, puedes cargarlo de nuevo por dos vías: utilizando un programador AVR (USBasp, por ejemplo) o utilizando el Arduino Uno como programador: en este post puedes encontrar información de cómo hacerlo.
Aunque está escrito para las placas Creality, es perfectamente válido para las Anet y la placa quedará con el bootloader Optiboot (entornos melzi_optiboot o mejor melzi_optiboot_optimized).

Buenas!!

Gracias por tu ayuda. Lo que veo diferente es la manera de conectar a la placa de la impresora. No encuentro la relación de conectar los pines del arduino con la placa aenet v1.7
  Responder
Efectivamente, hace tanto tiempo que no trabajo en la placa Anet, que se me olvidaba que no tiene indicado donde se encuentra en ella el conector ICSP:

[Imagen: Img1.jpg]

La orientación según se ve en la foto.
  Responder
(04-10-2023, 01:07 PM)Simemart escribió: Efectivamente, hace tanto tiempo que no trabajo en la placa Anet, que se me olvidaba que no tiene indicado donde se encuentra en ella el conector ICSP:

[Imagen: Img1.jpg]

La orientación según se ve en la foto.

Conecto los pines 1 a 1?, es decir el de arriba a la izquierda de Arduino con el de arriba a la izquierda del recuadro amarillo de la placa?
  Responder
Sí, excepto el de abajo a la izquierda, que va al pin 10 del Arduino, tal y como se indica en el post.
  Responder
Pues seguí los pasos, pero me ha dado pantallazo azul y ahora no puedo quitarlo. He escrito en otro post que hablaba de esto mismo que me pasa ahora
  Responder
No entiendo que utilidad puede tener reabrir ese post, al que por cierto que sí contesté en su día, aunque el usuario que planteó la pregunta parece que no se percató de ello.
Como comprenderás, no tiene mucho sentido estar saltando de un post al otro para tratar el mismo asunto, así que mejor que pongas todos los mensajes sobre este problema aquí.
Por la nueva información que facilitas, parece que la grabación del bootloader no la has realizado con el Arduino Uno, sino con un programador USBasp (¿cual? ¿cómo lo conectaste?) y que el bootloader que has instalado (o intentado instalar) es el normal en lugar del optiboot, por lo que no ganas memoria flash disponible para el firmware, cosa que no le viene nada bien a esta placa.
Cuando dices que seguiste los pasos, ¿a cuales te refieres? Porque no han sido los del post que te indiqué, así que tendrás que especificarlos para saber si hay algún error en ellos.
Y sobre como configurar, compilar y grabar Marlin2 con el autolevel manual activado (no conviene utilizar el tipo bilinear en este caso, sino el Mesh, pues hace lo mismo pero ahorrando memoria RAM), solo decir que puede hacerse sin renunciar a la memoria EEPROM (cosa nada recomendable. aunque en el video se le quite importancia), ni al menú completo y en español: eso sí, para ello hay que tener el bootloader optiboot que, siendo necesario hacerlo, es el que se debe instalar.
  Responder
Hola buenas noches, tengo una Anet A6 comprada en el año 2018 y después de los consejos de Simemart la he estado haciendo funcionar hasta finales de 2021, hace mas de 2 años que esta parada y ahora he vuelto a ponerla en marcha y he cambiado y actualizado el Firmware. Arduino-1.8.5, Marlin-1.1.x, anet-board-master, U8glib-1.19.1 y también e puesto el autolevel, pero al copilar me sale este error.
#error "Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN requires Z_MIN_ENDSTOP_INVERTING to match Z_MIN_PROBE_ENDSTOP_INVERTING."
Como puedo solucionarlo, esto es lo que puesto en "Z Probe Options " y "Bed Leveling "
/===========================================================================
//============================= Z Probe Options =============================
//===========================================================================
// @section probes

//
// See http://marlinfw.org/docs/configuration/probes.html
//

/**
* Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
*
* Enable this option for a probe connected to the Z Min endstop pin.
*/
#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN

/**
* Z_MIN_PROBE_ENDSTOP
*
* Enable this option for a probe connected to any pin except Z-Min.
* (By default Marlin assumes the Z-Max endstop pin.)
* To use a custom Z Probe pin, set Z_MIN_PROBE_PIN below.
*
* - The simplest option is to use a free endstop connector.
* - Use 5V for powered (usually inductive) sensors.
*
* - RAMPS 1.3/1.4 boards may use the 5V, GND, and Aux4->D32 pin:
* - For simple switches connect...
* - normally-closed switches to GND and D32.
* - normally-open switches to 5V and D32.
*
* WARNING: Setting the wrong pin may have unexpected and potentially
* disastrous consequences. Use with caution and do your homework.
*
*/
//#define Z_MIN_PROBE_ENDSTOP

/**
* Probe Type
*
* Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc.
* Activate one of these to use Auto Bed Leveling below.
*/

/**
* The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe.
* Use G29 repeatedly, adjusting the Z height at each point with movement commands
* or (with LCD_BED_LEVELING) the LCD controller.
*/
//#define PROBE_MANUALLY
//#define MANUAL_PROBE_START_Z 0.2

/**
* A Fix-Mounted Probe either doesn't deploy or needs manual deployment.
* (e.g., an inductive probe or a nozzle-based probe-switch.)
*/
#define FIX_MOUNTED_PROBE

/**
* Z Servo Probe, such as an endstop switch on a rotating arm.
*/
//#define Z_PROBE_SERVO_NR 0 // Defaults to SERVO 0 connector.
//#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles

/**
* The BLTouch probe uses a Hall effect sensor and emulates a servo.
*/
//#define BLTOUCH


/**
* Enable one or more of the following if probing seems unreliable.
* Heaters and/or fans can be disabled during probing to minimize electrical
* noise. A delay can also be added to allow noise and vibration to settle.
* These options are most useful for the BLTouch probe, but may also improve
* readings with inductive probes and piezo sensors.
*/
#define PROBING_HEATERS_OFF // Turn heaters off when probing
#if ENABLED(PROBING_HEATERS_OFF)
//#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy)
#endif
#define PROBING_FANS_OFF // Turn fans off when probing
//#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors

// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
//#define SOLENOID_PROBE

// A sled-mounted probe like those designed by Charles Bell.
//#define Z_PROBE_SLED
//#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.

//
// For Z_PROBE_ALLEN_KEY see the Delta example configurations.
//

/**
* Z Probe to nozzle (X,Y) offset, relative to (0, 0).
* X and Y offsets must be integers.
*
* In the following example the X and Y offsets are both positive:
* #define X_PROBE_OFFSET_FROM_EXTRUDER 10
* #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
*
* +-- BACK ---+
* | |
* L | (+) P | R <-- probe (20,20)
* E | | I
* F | (-) N (+) | G <-- nozzle (10,10)
* T | | H
* | (-) | T
* | |
* O-- FRONT --+
* (0,0)
*/
#define X_PROBE_OFFSET_FROM_EXTRUDER -33 // X offset: -left +right [of the nozzle]
#define Y_PROBE_OFFSET_FROM_EXTRUDER 22 // Y offset: -front +behind [the nozzle]
#define Z_PROBE_OFFSET_FROM_EXTRUDER -5.80 // Z offset: -below +above [the nozzle]

// ANET A8: BELOW IS FOR THE FRONT MOUNTED SENSOR WITH 3D PRINTED MOUNT
//#define X_PROBE_OFFSET_FROM_EXTRUDER -28 // X offset: -left +right [of the nozzle]
//#define Y_PROBE_OFFSET_FROM_EXTRUDER -45 // Y offset: -front +behind [the nozzle]
//#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle]

//AND THE LINES BELOW HERE ARE FOR THE OFFICIAL ANET REAR MOUNTED SENSOR
//#define X_PROBE_OFFSET_FROM_EXTRUDER -1 // X offset: -left +right [of the nozzle]
//#define Y_PROBE_OFFSET_FROM_EXTRUDER 3 // Y offset: -front +behind [the nozzle]
//#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle]

//ANET A6 with BLTouch/3D-Touch mounted right to the nozzel
#define X_PROBE_OFFSET_FROM_EXTRUDER 39 // X offset: -left +right [of the nozzle]
#define Y_PROBE_OFFSET_FROM_EXTRUDER 0 // Y offset: -front +behind [the nozzle]
#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle]

//ANET A6 with BLTouch/3D-Touch betwen Fan and Belt
// (mount: https://github.com/ralf-e/ANET_A6_modifi.../A6_X-Axis)
//#define X_PROBE_OFFSET_FROM_EXTRUDER -30 // X offset: -left +right [of the nozzle]
//#define Y_PROBE_OFFSET_FROM_EXTRUDER 15 // Y offset: -front +behind [the nozzle]
//#define Z_PROBE_OFFSET_FROM_EXTRUDER 0.75 // Z offset: -below +above [the nozzle]

// Certain types of probes need to stay away from edges
#define MIN_PROBE_EDGE 10

// X and Y axis travel speed (mm/m) between probes
#define XY_PROBE_SPEED 8000
//#define XY_PROBE_SPEED 6000

// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2)
#define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z

// Feedrate (mm/m) for the "accurate" probe of each point
#define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 3)

// The number of probes to perform at each point.
// Set to 2 for a fast/slow probe, using the second probe result.
// Set to 3 or more for slow probes, averaging the results.
#define MULTIPLE_PROBING 2

/**
* Z probes require clearance when deploying, stowing, and moving between
* probe points to avoid hitting the bed and other hardware.
* Servo-mounted probes require extra space for the arm to rotate.
* Inductive probes need space to keep from triggering early.
*
* Use these settings to specify the distance (mm) to raise the probe (or
* lower the bed). The values set here apply over and above any (negative)
* probe Z Offset set with Z_PROBE_OFFSET_FROM_EXTRUDER, M851, or the LCD.
* Only integer values >= 1 are valid here.
*
* Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle.
* But: `M851 Z+1` with a CLEARANCE of 2 => 2mm from bed to nozzle.
*/
#if 1 // 0 for less clearance
#define Z_CLEARANCE_DEPLOY_PROBE 10 // Z Clearance for Deploy/Stow
#define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points
#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes
//#define Z_AFTER_PROBING 5 // Z position after probing is done
#else
#define Z_CLEARANCE_DEPLOY_PROBE 5 // Z Clearance for Deploy/Stow
#define Z_CLEARANCE_BETWEEN_PROBES 3 // Z Clearance between probe points
#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes
//#define Z_AFTER_PROBING 3 // Z position after probing is done
#endif

#define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping

// For M851 give a range for adjusting the Z probe offset
#define Z_PROBE_OFFSET_RANGE_MIN -20
#define Z_PROBE_OFFSET_RANGE_MAX 20

// Enable the M48 repeatability test to test probe accuracy
//#define Z_MIN_PROBE_REPEATABILITY_TEST

// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
// :{ 0:'Low', 1:'High' }
#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 stepper immediately when it's not being used.
// WARNING: When motors turn off there is a chance of losing position accuracy!
#define DISABLE_X false
#define DISABLE_Y false
#define DISABLE_Z false
// Warn on display about possibly reduced accuracy
//#define DISABLE_REDUCED_ACCURACY_WARNING

// @section extruder

#define DISABLE_E false // For all extruders
#define DISABLE_INACTIVE_EXTRUDER true // Keep only the active extruder enabled.

// @section machine

// Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
#define INVERT_X_DIR false
//#define INVERT_Y_DIR true
//#define INVERT_Z_DIR false
//ANET A6:
#define INVERT_Y_DIR false
#define INVERT_Z_DIR true

// @section extruder

// For direct drive extruder v9 set to true, for geared extruder set to false.
#define INVERT_E0_DIR false
#define INVERT_E1_DIR false
#define INVERT_E2_DIR false
#define INVERT_E3_DIR false
#define INVERT_E4_DIR false

// @section homing

//#define NO_MOTION_BEFORE_HOMING // Inhibit movement until all axes have been homed

//#define UNKNOWN_Z_NO_RAISE // Don't raise Z (lower the bed) if Z is "unknown." For beds that fall when Z is powered off.

//#define Z_HOMING_HEIGHT 4 // (in mm) Minimal z height before homing (G28) for Z clearance above the bed, clamps, ...
// Be sure you have this distance over your Z_MAX_POS in case.

// Direction of endstops when homing; 1=MAX, -1=MIN
// :[-1,1]
#define X_HOME_DIR -1
#define Y_HOME_DIR -1
#define Z_HOME_DIR -1

// @section machine

// The size of the print bed
//#define X_BED_SIZE 200
//#define Y_BED_SIZE 200

Travel limits (mm) after homing, corresponding to endstop positions.
#define X_MIN_POS 0
#define Y_MIN_POS 0
//#define X_MAX_POS X_BED_SIZE
//#define Y_MAX_POS Y_BED_SIZE
//#define Z_MIN_POS 0
//#define Z_MAX_POS 200

ANET A6 Firmware V2.0 defaults:
#define X_BED_SIZE 220
#define Y_BED_SIZE 220
#define X_MIN_POS 0
#define Y_MIN_POS 0
#define Z_MIN_POS 0
#define Z_MAX_POS 250

// ANET A6, X0/Y0 0 front left bed edge :
//#define X_BED_SIZE 222
//#define Y_BED_SIZE 222
//#define X_MIN_POS -3
//#define Y_MIN_POS -5
//#define Z_MIN_POS 0
//#define Z_MAX_POS 230

// ANET A6 with new X-Axis / modded Y-Axis:
//#define X_BED_SIZE 235
//#define Y_BED_SIZE 230
//#define X_MIN_POS 0
//#define Y_MIN_POS 0
//#define Z_MIN_POS 0
//#define Z_MAX_POS 230

// ANET A6 with new X-Axis / modded Y-Axis, X0/Y0 0 front left bed edge :
//#define X_BED_SIZE 227
//#define Y_BED_SIZE 224
//#define X_MIN_POS -8
//#define Y_MIN_POS -6
//#define Z_MIN_POS 0
//#define Z_MAX_POS 230

#define X_MAX_POS X_BED_SIZE
#define Y_MAX_POS Y_BED_SIZE

/**
* Software Endstops
*
* - Prevent moves outside the set machine bounds.
* - Individual axes can be disabled, if desired.
* - X and Y only apply to Cartesian robots.
* - Use 'M211' to set software endstops on/off or report current state
*/

// Min software endstops constrain movement within minimum coordinate bounds
#define MIN_SOFTWARE_ENDSTOPS
#if ENABLED(MIN_SOFTWARE_ENDSTOPS)
#define MIN_SOFTWARE_ENDSTOP_X
#define MIN_SOFTWARE_ENDSTOP_Y
#define MIN_SOFTWARE_ENDSTOP_Z
#endif

// Max software endstops constrain movement within maximum coordinate bounds
#define MAX_SOFTWARE_ENDSTOPS
#if ENABLED(MAX_SOFTWARE_ENDSTOPS)
#define MAX_SOFTWARE_ENDSTOP_X
#define MAX_SOFTWARE_ENDSTOP_Y
#define MAX_SOFTWARE_ENDSTOP_Z
#endif

#if ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS)
//#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD
#endif

/**
* Filament Runout Sensors
* Mechanical or opto endstops are used to check for the presence of filament.
*
* RAMPS-based boards use SERVO3_PIN for the first runout sensor.
* For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc.
* By default the firmware assumes HIGH=FILAMENT PRESENT.
*/
//#define FILAMENT_RUNOUT_SENSOR
#if ENABLED(FILAMENT_RUNOUT_SENSOR)
#define NUM_RUNOUT_SENSORS 1 // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each.
#define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor.
#define FIL_RUNOUT_PULLUP // Use internal pullup for filament runout pins.
#define FILAMENT_RUNOUT_SCRIPT "M600"
#endif

/=============================== 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 15
//#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - 15)
//#define FRONT_PROBE_BED_POSITION 15
//#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - 15)

ANET A6
#define LEFT_PROBE_BED_POSITION 20
#define RIGHT_PROBE_BED_POSITION 190
#define FRONT_PROBE_BED_POSITION 20
#define BACK_PROBE_BED_POSITION 190

// ANET A6 BLTOUCH right (39mm) to the nozzle
//#define LEFT_PROBE_BED_POSITION 36
//#define RIGHT_PROBE_BED_POSITION 190
//#define FRONT_PROBE_BED_POSITION 20
//#define BACK_PROBE_BED_POSITION 190

// ANET A6 with new X-Axis and modded Y-Axis
//#define LEFT_PROBE_BED_POSITION 20
//#define RIGHT_PROBE_BED_POSITION 205
//#define FRONT_PROBE_BED_POSITION 20
//#define BACK_PROBE_BED_POSITION 205

// ANET A6 with new X-Axis and modded Y-Axis, X0/Y0 front left bed edge
//#define LEFT_PROBE_BED_POSITION 20
//#define RIGHT_PROBE_BED_POSITION 194
//#define FRONT_PROBE_BED_POSITION 20
//#define BACK_PROBE_BED_POSITION 194

// 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)
  Responder
Hola, el error se debe a una configuración que no aparece en esa parte que indicas del archivo Configuration.h.
Como se puede leer en el mensaje de error (en inglés, of course), el problema está en que tienes configurado un valor distinto en los parámetros Z_MIN_ENDSTOP_INVERTING y Z_MIN_PROBE_ENDSTOP_INVERTING, pues ambos deben ser iguales si se utiliza un sensor conectado en Zmin.
En todo caso, ese Marlin está más que obsoleto, por lo que te recomiendo que utilices la última versión patched, a la que quizá tengas que hacer algunos recortes para que quepa en la placa Anet: si no sabes cómo debes configurarla, no dudes en preguntar.
  Responder
Hola buenos dias Simemart, te hecho caso y ahora tengo esto para el nuevo Firmware. Arduino-1.8.5, Marlin-2.0.x, anet-board-master, U8glib-1.19.1, arduino-builder-249(windows) y esto es el error que me da al copilar, es la copia de todo.


Arduino:1.8.5 (Windows 10), Tarjeta:"Anet V1.0"
In file included from sketch\src\inc/MarlinConfigPre.h:39:0,
from sketch\src\inc/MarlinConfig.h:28,
from sketch\src\MarlinCore.h:24,
from sketch\src\MarlinCore.cpp:31:
c:\users\paco\appdata\local\temp\arduino_build_388484\sketch\configuration.h:1498:37:

error: floating constant in preprocessor expression

#define Z_PROBE_LOW_POINT -5.80 // Farthest distance below the trigger-point to go before stopping
^
sketch\src\inc/SanityCheck.h:1778:7: note: in expansion of macro 'Z_PROBE_LOW_POINT'
#if Z_PROBE_LOW_POINT > 0
^~~~~~~~~~~~~~~~~
In file included from sketch\src\inc/MarlinConfig.h:49:0,
from sketch\src\MarlinCore.h:24,
from sketch\src\MarlinCore.cpp:31:
sketch\src\inc/SanityCheck.h:2822:4:
error: #error "Please select only one LCD controller option."
~~~
In file included from sketch\src\lcd/dogm/u8g_fontutf8.h:11:0,
from sketch\src\lcd/lcdprint.h:53,
from sketch\src\lcd/marlinui.h:73,
from sketch\src\MarlinCore.cpp:61:
C:\Users\Paco\Documents\Arduino\libraries\U8glib-HAL\src/U8glib-HAL.h: In member function 'void U8GLIB_SSD1309_128X64_F::init(uint8_t, uint8_t, uint8_t, uint8_t, uint8_t)':
C:\Users\Paco\Documents\Arduino\libraries\U8glib-HAL\src/U8glib-HAL.h:944:110:

error: 'u8g_dev_ssd1309_128x64_f_sw_spi' was not declared in this scope

void init(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) { U8GLIB::init(&u8g_dev_ssd1309_128x64_f_sw_spi, sck, mosi, cs, a0, reset); }
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\Users\Paco\Documents\Arduino\libraries\U8glib-HAL\src/U8glib-HAL.h:944:110: note: suggested alternative: 'u8g_dev_ssd1309_128x64_sw_spi'
void init(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) { U8GLIB::init(&u8g_dev_ssd1309_128x64_f_sw_spi, sck, mosi, cs, a0, reset); }
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
u8g_dev_ssd1309_128x64_sw_spi
C:\Users\Paco\Documents\Arduino\libraries\U8glib-HAL\src/U8glib-HAL.h: In member function 'void U8GLIB_SSD1309_128X64_F::init(uint8_t, uint8_t, uint8_t)':
C:\Users\Paco\Documents\Arduino\libraries\U8glib-HAL\src/U8glib-HAL.h:945:83:

error: 'u8g_dev_ssd1309_128x64_f_hw_spi' was not declared in this scope

void init(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) { U8GLIB::init(&u8g_dev_ssd1309_128x64_f_hw_spi, cs, a0, reset); }
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\Users\Paco\Documents\Arduino\libraries\U8glib-HAL\src/U8glib-HAL.h:945:83: note: suggested alternative: 'u8g_dev_ssd1309_128x64_hw_spi'
void init(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) { U8GLIB::init(&u8g_dev_ssd1309_128x64_f_hw_spi, cs, a0, reset); }
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
u8g_dev_ssd1309_128x64_hw_spi
C:\Users\Paco\Documents\Arduino\libraries\U8glib-HAL\src/U8glib-HAL.h: In member function 'void U8GLIB_SSD1309_128X64_F::init(uint8_t)':
C:\Users\Paco\Documents\Arduino\libraries\U8glib-HAL\src/U8glib-HAL.h:946:65:

error: 'u8g_dev_ssd1309_128x64_f_i2c' was not declared in this scope

void init(uint8_t options = U8G_I2C_OPT_NONE) { U8GLIB::init(&u8g_dev_ssd1309_128x64_f_i2c, options); }
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\Users\Paco\Documents\Arduino\libraries\U8glib-HAL\src/U8glib-HAL.h:946:65: note: suggested alternative: 'u8g_dev_ssd1309_128x64_i2c'
void init(uint8_t options = U8G_I2C_OPT_NONE) { U8GLIB::init(&u8g_dev_ssd1309_128x64_f_i2c, options); }
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
u8g_dev_ssd1309_128x64_i2c
exit status 1

Error compilando para la tarjeta Anet V1.0.

Este reporte podría tener más información con
"Mostrar salida detallada durante la compilación"
opción habilitada en Archivo -> Preferencias.
  Responder
Te recomiendo que utilices las versiones actuales de todo el software: IDE de Arduino 1.8.19, Marlin 2.1.2.2 patched.
Sobre los errores, el primero se debe a que has configurado un valor decimal en el parámetro Z_PROBE_LOW_POINT, que solo admite valores enteros; el segundo, a que tienes seleccionada más de un tipo de pantalla; el resto son errores de la librería U8GLib, seguramente debidos al segundo error.
Supongo que estás utilizando un firmware ya configurado para otra máquina, cambiando lo que necesitas para adaptarlo a la tuya (de ahí la duplicidad de pantallas).
Si es así, no es buena idea y mi recomendación es que configures desde los archivos que trae por defecto Marlin, cambiando lo necesario para adecuarlo a tu impresora (puedes utilizar los que trae preconfigurados como orientación): si no sabes como hacerlo, no dudes en pedir ayuda.
  Responder
Hola buenas tardes Simemart, ahora tengo esto para el nuevo Firmware. Arduino-1.8.19, Marlin-2.1.2.2, anet-board-master, U8glib-1.19.1, arduino-builder-249(windows) y esto es el error que me da al copilar.
#error "Auto Bed Leveling requires either PROBE MANUALLY, SENSORLESS PROBING, or a real probe."
error: 'u8g_dev_ssd1309_128x64_f_i2c' was not declared in this scope

No se que tengo que hacer.
  Responder
Hola, el primer error indica que no has definido el tipo del sensor que va a utilizar el autolevel: en la primera configuración que adjuntaste, tenías un sensor fijo (#define FIX_MOUNTED_PROBE).
El segundo, es un error de la librería gráfica, seguramente porque no tienes instalada la librería U8glib-HAL, que es necesaria para las pantallas gráficas con Marlin 2: instálala y asegúrate de tener definida solo la pantalla ANET_FULL_GRAPHICS_LCD.
  Responder
Hola, solo me sale este mensaje y no me copila. Como se soluciona esto.

fork/exec C:\Users\Paco\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7/bin/avr-gcc.exe: El nombre del archivo o la extensión es demasiado largo.
Error compilando para la tarjeta Anet V1.0.
  Responder
Ese error probablemente se debe a que el firmware compilado, con todas las utilidades que tienes activadas, no cabe en la memoria de la MCU: las placas Anet llevan una MCU ATMega1284p, que está algo limitada de memoria y vas a necesitar hacer algunos ajustes para que quepa.
Para poder indicarte los cambios que debes hacer, necesito los archivos de configuración que estás utilizando (Configuration.h y Configuration_adv.h), pero tendrás que ponerlos en algún servicio de compartición de ficheros, porque no funciona la opción de adjuntar ficheros a los mensajes.
  Responder
Si le paso los archivos por correo electrónico. Este es mi correo paco_mt1958@hotmail.com
  Responder
Te he indicado la única forma en que me puedes facilitar los archivos, pues solo me comunico por los mensajes del foro.
  Responder
Vale, perdona, como adjunto los archivos que los he pasado a rar.

Entro en responder y se abre un sitio que pone, adjuntar archivo(Tu cuota para archivos adjuntos es de Ilimitado), pero cuando quiero pegarlo me da error ( subida del archivo fallido, escoja un archivo valido). estos son los archivos (Configuration_adv.rar y Configuration.rar)
  Responder
Como ya te indiqué en #196, no funciona la opción del foro para compartir archivos por lo que, si quieres hacerlo, tendrás que utilizar un servicio en la nube: tienes varias opciones gratuitas y sin necesidad de registro (en esta página comentan algunas).
  Responder


Posibles temas similares…
Tema Autor Respuestas Vistas Último mensaje
  Anet ET4 no me deja actualizar Firmware. Linuco 2 1,201 26-07-2023, 09:01 PM
Último mensaje: covilha6200
  placa anet v1.7 no me deja subir el firmware Hunterfett 4 2,129 19-09-2022, 02:12 PM
Último mensaje: Simemart
  Firmware (copia de seguridad y restauración) y bootloader. Simemart 98 51,804 29-04-2022, 08:33 PM
Último mensaje: Simemart
  Autolevel, paso a paso (III): configuración (ACTUALIZADO y EDITADO). Simemart 281 105,554 06-10-2021, 05:23 AM
Último mensaje: kimera1988
  Firmware Anet A8 Plus 1.6 Akila 1 1,421 20-02-2021, 05:51 PM
Último mensaje: miguelangel