===== Firmware Anet 8 =====
(source: http://vincentrobic.me/2018/04/02/installation-marlin-anet-a8/)
Le firmware par défaut de l'Anet A8 a été remplacé par la version open source de Marlin.
* télécharger le source depuis http://github.com/MarlinFirmware/Marlin/
* télécharger l'IDE Arduino
* dans l'IDE Arduino installer le support de la board Anet depuis https://github.com/SkyNet3D/anet-board
* séléctionner "type de carte: Anet V1.0", "programmateur: AVRISPmk2"
* dans Marlin copier la configuration depuis example_configurations/Anet/A8/
À ce stade avec une Anet A8 non modifiée on peut compiler et flasher ce firmware avec vérifier/téléverser.
==== Configuration pour la sonde inductive et l'auto-leveling ====
diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h
index 1e6da8b0e..16b8c7cd5 100644
--- a/Marlin/Configuration.h
+++ b/Marlin/Configuration.h
@@ -716,7 +716,7 @@
* 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
+#define FIX_MOUNTED_PROBE
/**
* Z Servo Probe, such as an endstop switch on a rotating arm.
@@ -776,12 +776,12 @@
* O-- FRONT --+
* (0,0)
*/
-#define X_PROBE_OFFSET_FROM_EXTRUDER 0 // X offset: -left +right [of the nozzle]
-#define Y_PROBE_OFFSET_FROM_EXTRUDER 0 // Y offset: -front +behind [the nozzle]
+#define X_PROBE_OFFSET_FROM_EXTRUDER -26 // X offset: -left +right [of the nozzle]
+#define Y_PROBE_OFFSET_FROM_EXTRUDER -42 // Y offset: -front +behind [the nozzle]
#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle]
// Certain types of probes need to stay away from edges
-#define MIN_PROBE_EDGE 10
+#define MIN_PROBE_EDGE 25
// X and Y axis travel speed (mm/m) between probes
#define XY_PROBE_SPEED 6000
@@ -975,7 +975,7 @@
*/
//#define AUTO_BED_LEVELING_3POINT
//#define AUTO_BED_LEVELING_LINEAR
-//#define AUTO_BED_LEVELING_BILINEAR
+#define AUTO_BED_LEVELING_BILINEAR
//#define AUTO_BED_LEVELING_UBL
//#define MESH_BED_LEVELING
@@ -1141,7 +1141,7 @@
// - 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
+#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).
==== Paramétrage de la sonde inductive ====
Pièce pour la fixation: https://www.thingiverse.com/thing:2335596/
Une fois la sonde installée, s'assurer que la sonde est positionnée de façon à se déclencher avant que la buse ne tape dans la plateau.
Ensuite le décalage entre le déclenchement de la sonde et le vrai 0 du Z se paramètre avec la commande M851.
Par exemple si la sonde se déclenche 1 mm avant que la buse ne touche le plateau, on compense avec "M851 Z-1". Si la première couche est trop éloignée, il suffit de lire la valeur avec "M851" et la compenser avec un dixième de mm ou deux. Ne pas oublier "M500" pour sauvegarder.
Pour faire un auto-bedleveling, lancer G28 puis G29 au début d'une impression.
==== Problèmes avec l'écran LCD ====
Depuis le passage au firmware Marlin, l'écran LCD devenait rempli de caractères aléatoires en début d'impression.
Après quelques recherches le problème semble être celui-là: https://github.com/MarlinFirmware/Marlin/issues/5756
Le patch suivant dans Marlin semble corriger notre problème:
diff --git a/Marlin/pins_ANET_10.h b/Marlin/pins_ANET_10.h
index a8cbd5f29..889387bf0 100644
--- a/Marlin/pins_ANET_10.h
+++ b/Marlin/pins_ANET_10.h
@@ -180,13 +180,13 @@
#define BTN_EN2 10
#define BTN_ENC 16
#ifndef ST7920_DELAY_1
- #define ST7920_DELAY_1 DELAY_NS(0)
+ #define ST7920_DELAY_1 DELAY_0_NOP
#endif
#ifndef ST7920_DELAY_2
- #define ST7920_DELAY_2 DELAY_NS(63)
+ #define ST7920_DELAY_2 DELAY_1_NOP
#endif
#ifndef ST7920_DELAY_3
- #define ST7920_DELAY_3 DELAY_NS(125)
+ #define ST7920_DELAY_3 DELAY_2_NOP
#endif
#define STD_ENCODER_PULSES_PER_STEP 4
#define STD_ENCODER_STEPS_PER_MENU_ITEM 1