Après avoir configuré l'extrudeur et la gestion thermique dans l'étape précédente, nous devons sécuriser le second pilier environnemental de notre Elegoo Neptune 4 Max : le flux d'air. Dans cet Article 8, nous créons et isolons le module de gestion aérodynamique de notre machine à travers le fichier Fans.cfg. Placé au cœur de notre dossier Hardware, ce script va nous permettre de dompter la ventilation électronique, le refroidissement de la tête et la puissante barre auxiliaire arrière via une approche d'ingénierie logicielle rationalisée.
Ce que vous allez accomplir : Nous allons regrouper l'intégralité des composants de ventilation de la machine au sein d'un sous-module dédié. Vous découvrirez comment isoler proprement les blocs d'origine pour préserver l'arborescence, tout en injectant une routine de pré-boot sécuritaire indispensable pour réveiller les ventilateurs au démarrage du firmware.
1. Structure du fichier Hardware/Fans.cfg
Ce fichier doit être créé à l'intérieur de votre sous-dossier de configuration Hardware (soit le chemin d'accès d'infrastructure ~/printer_data/config/Hardware/Fans.cfg). Voici le code de production d'origine, extrait et documenté selon la charte d'optimisation de notre projet :
#############################################################################
#############################################################################
# ZEW-Neptune4Max V1.0 | CUSTOM INTERFACE COMPONENT
# -------------------------------------------------------------------------
# MODULE : FAN MANAGEMENT (Fans.cfg)
# FUNCTION : Cooling Control for Electronics, Hotend & Print Surface
# DESIGNED BY : Frédéric IMBERT
# VERSION : 1.0.0 (2026-05-05)
# STATUS : PRODUCTION / STABLE
#############################################################################
#############################################################################
# --- Mainboard & Heatbreak Cooling ---
[controller_fan heatbreak+mainboard_fan]
pin: PC7
fan_speed: 1.0
idle_speed: 0.8
idle_timeout: 43200 ; 50% speed for 12h then OFF
shutdown_speed: 1
heater: extruder, heater_bed
stepper: stepper_x, stepper_y, stepper_z, extruder
# --- Print Cooling Fan (Toolhead) ---
[fan]
pin: PB7
# --- Rear Auxiliary Cooling Fan Array ---
[fan_generic fan3]
pin: PC9
[fan_generic fan4]
pin: PA8
[fan_generic fan5]
pin: PA15
# --- Boot Sequence Routine ---
[delayed_gcode start_fan_at_idle_speed]
initial_duration: 5. ; 5s wait after boot
gcode:
# Gcode Hack to trigger the mainboard fan from printer boot
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET=1 ; bed heat to 1degC
G4 P2000 ; wait 2s
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET=0 ; bed heat off
2. Le Labo sous le capot : La réalité physique des flux d'air
Au fait, petite parenthèse entre nous au milieu de ce grand nettoyage : vous l'avez sans doute remarqué, mais pour l'instant, les différents fichiers que nous extrayons (comme notre précédent module d'axes ou ce fichier de ventilation) sont construits sur la base brute des paramètres fournis par la distribution OpenNept4une. Hormis notre fichier central printer.cfg que nous modifions et élaguons au fur et à mesure pour y injecter nos liaisons, nous n'en sommes qu'à une phase purement structurelle de réorganisation. Pas de panique si vos valeurs physiques restent identiques à celles d'origine : nous trions le vrac et posons des cloisons propres. Les optimisations de réglages fins, les gains de vitesse et les ajustements mécaniques avancés viendront un peu plus tard dans cette série d'articles !
En analysant ce bloc de ventilation issu de la distribution d'origine, il y a une logique claire à comprendre quant au comportement par défaut de l'imprimante :
Le bloc [controller_fan heatbreak+mainboard_fan] gère conjointement le refroidissement de la carte électronique et du brise-flux thermique de la tête. Il tourne au maximum en cours de tâche, conserve une vitesse de maintien élevée à 80 % (idle_speed: 0.8) au repos, et applique une temporisation de sécurité de 12 heures (43200 secondes) avant coupure complète.
Le bloc standard [fan] contrôle directement le ventilateur de couche principal situé sur la tête d'impression (buse). En dessous, les blocs génériques fan3, fan4 et fan5 définissent la cartographie des broches de la grande rampe de ventilation installée à l'arrière du châssis pour la gestion des flux d'air globaux.
Le décodage logique du "Gcode Hack" de démarrage
Le point le plus insolite de ce fichier réside dans sa macro de démarrage temporisée : [delayed_gcode start_fan_at_idle_speed]. Programmée pour s'exécuter automatiquement 5 secondes après le boot complet du système, elle cache ce que les développeurs d'OpenNept4une appellent eux-mêmes un "Gcode Hack".
Sur l'architecture électronique d'origine de la carte mère Elegoo (ZNP K1), le circuit FAN1 (qui alimente conjointement la carte mère et le ventilateur du heatbreak) est asservi de façon matérielle à l'activation d'un élément chauffant. Au démarrage électrique de l'imprimante, ce circuit reste inactif et les ventilateurs ne tournent pas, ce qui peut créer une stagnation thermique passive inconfortable si la machine reste allumée à vide.
Pour contourner cette limite, la macro simule un début d'activité en demandant une consigne de chauffe éphémère de 1°C au plateau chauffant (SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET=1). Le système intercepte cet ordre, ce qui a pour effet immédiat de "réveiller" et d'initialiser le circuit FAN1. Après une pause précise de 2000 millisecondes (G4 P2000), le script coupe proprement la chauffe (TARGET=0), mais les ventilateurs de l'électronique restent désormais actifs à leur vitesse de repos (idle_speed).
Cette astuce de contournement garantit ainsi un refroidissement constant des drivers moteurs TMC2209 et du brise-flux dès la mise sous tension globale de la Neptune 4 Max.
3. Raccordement : Injection dans le Hub printer.cfg
Pour interconnecter cette gestion de la ventilation au cœur du système, nous suivons la même rigueur modulaire. Ouvrez votre fichier central printer.cfg à la racine, localisez votre bloc d'inclusions matérielles, et venez déclarer la liaison du fichier juste en dessous de votre module d'extrusion :
# MODULAR CONFIGURATION (INCLUDES)
#############################################################################
[force_move]
enable_force_move: True
# --- HARDWARE ---
[include Hardware/Neptune4max.cfg] # Main printer configuration (Chassis & Signaling)
[include Hardware/Extruders.cfg] # Extruder and heater settings
[include Hardware/Fans.cfg] # Aerodynamic & Thermal Cooling Management
#############################################################################
# BASE CONFIG (MCU & PRINTER)
#############################################################################
Rappel d'ingénierie : Veillez au strict respect des majuscules lors de l'enregistrement de votre fichier Fans.cfg. Une divergence d'écriture bloquerait l'interprétation du Hub central lors de la phase de redémarrage logiciel du firmware.
Le dossier Hardware de notre charte ZEW-Neptune4Max V1.0 est désormais isolé et structuré. Notre machine respire de manière stable. Dans le prochain article, nous verrons comment optimiser en profondeur ce fichier pour le rendre évolutif et parer aux besoins futurs de notre atelier. Restez connectés !