Ventilateur pour l’extrudeur, commandé par la GEN7 avec Teacup

Le SevenSwitch

Le SevenSwitch est un circuit additionnel à la GEN7 permettant la commande de système auxiliaire : ventilateur, enceinte thermostatée, éclairage, voyant, buzzer(!) , …. Ce circuit peut utiliser une sortie PWM de l’ATMega pour faire varier en continu cette commande. Il est a noter qu’on trouve sur le WEB des commandes d’actionneur, directement depuis une sortie de l’ATMega. Gaffe ça peut être dangereux pour le microcontroleur. En  dehors de l’intensité maximale que peut fournir l’ATMega (40mA) , des retours de courant fréquent avec les moteurs électriques peuvent faire fumer le composant. Vous trouverez rapidement le SevenSwitch en vente sur la boutique si le besoin s’en fait sentir.

La sortie toute récente de ce sevenswitch (merci Markus) était l’occasion rêvée pour mettre en place un ventilateur permettant de refroidir le PLA dès sa dépose. Ce ventilateur est  surtout utile pour éviter que le PLA(ou ABS) ne s’effondre lors de la construction de  ponts (bridges), mais aussi lors de la réalisation de pièces avec de petites sections. les dernières versions de Slic3r intègre cette fonctionnalité (voir onglet cooling).
Un petit coup de ventilateur pour forcer la solidification au bon moment et le tour est joué.
Vous pouvez aussi utiliser ce ventilateur pour refroidir la partie montante de votre nozzle, surtout si vous trouvez que la chaleur du nozzle remonte trop vers le chariot et vient ramollir la pièce x-carriage.

Le ventilateur, un 40x40mm, est porté par l’extrudeur. il existe plein de configurations possible pour fixer le ventilateur sur le chariot X qui porte l’extrudeur, je vous laisse voir sur thingverse ces différentes solutions.fan-extrudeur

 

Pour la partie logiciel les codes G à utiliser sont:

  •   M106 pour activer le ventilateur
  •   M107 pour l’éteindre

Vous pouvez, suivant le firmware (a priori pas le TEACUP ), spécifier la vitesse de rotation entre 0 et 255 avec la commande M106 S255.

Pour le câblage sur la GEN7.

Le plus simple, et sans risque pour l’ATMEGA, est de se reprendre sur le conn6 de la carte GEN7. Pour cela il ne faut pas utilisez pas les fins de course Max. Ce conn6 est utilisé pour télécharger le bootloader dans le microcontroleur. Autant dire que ce connecteur est très peu utilisé, les Atmega étant souvent fourni avec le bootloader si vous les achetez auprès de Markus ou de Paoparts.
Sur ce connecteur vous avez accès à la pin7 du port PB6 appelé DIO06 (ouf!) du microcontroleur. C’est ce port E/S que nous allons utiliser pour piloter le sevenswitch qui lui même commande le ventilateur. Ce port est aussi câblé pour le capteur fin de course XMax, vérifiez bien que vous ne l’utilisez pas.
RMQ : vous pouvez aussi utiliser le port PD4 – DIO12 disponible sur le connecteur MISC si vous avez soudée une embase sur la carte GEN7.
GEN7-conn6 pour FanIl suffit alors de tirer 2 fils du conn6:
– pin1: commande DIO06—> fil blanc/brun
– pin6: masse —> fil brun

sur la photo j’ai utilisé 2 connecteur 2 prises molex dont 1 fiche à chaque fois n’est pas utilisée…. je n’avais que cela sous la main.

ces 2 fils sont reliés à l’entrée du SevenSwitch (prise CONN2), voir l’image ci contre.Le ventilateur est connecté sur la sortie du sevenswitch (prise HEATER).
Le SevenSwitch est alimenté avec une prise MOLEX issue de l’alimentation ( prise CONN1).

 

 

 

 

 

 

 

Le FirmWare:

Il faut maintenant régler le firmware, pour qu’il prenne en compte les commandes M106 et M107 et spécifier le port utilisé. Sous Teacup il faut rajouter 2 lignes dans le fichier config.h, ligne en gras ci dessous.

*********************************************************************************

// name port
DEFINE_HEATER(extruder, DIO4)
DEFINE_HEATER(bed, DIO3)
DEFINE_HEATER(fan, DIO6) // FAN A RAJOUTER- utilisation de PB6 sur broche 7 - GEN7 conn6 - broche 1 et 6 - remplace XMAX

/// and now because the c preprocessor isn’t as smart as it could be,
/// uncomment the ones you’ve listed above and comment the rest.
/// NOTE: these are used to enable various capability-specific chunks of code, you do NOT need to create new entries unless you are adding new capabilities elsewhere in the code!
/// so if you list a bed above, uncomment HEATER_BED, but if you list a chamber you do NOT need to create HEATED_CHAMBER
/// I have searched high and low for a way to make the preprocessor do this for us, but so far I have not found a way.

#define HEATER_EXTRUDER HEATER_extruder
#define HEATER_BED HEATER_bed
#define HEATER_FAN HEATER_fan // FAN A RAJOUTER
*****************************************************************************

Compilez votre nouveau firmware en utilisant l’IDE Arduino, téléchargez le firmware sur votre carte, et testez tout cela en utilisant l’interface Host Repetier par exemple.
Attention pour que cela fonctionne il faut que l’alimentation ne soit pas en veille ( led verte allumée), vous pouvez faire sortir la carte du mode veille en mettant en chauffe le lit chauffant, ensuite  tapez la commande M106 dans l’interface de dialogue, si tout se passe bien le ventilateur se met en route.

Slic3r :

Régler la configuration de votre slicer, en activant la fonction cooling. Celui ci intégrera les commandes M106 et M107 dans votre codeG au bon moment.

 

La suite:

profiter jusqu’au bout de la commande en PWM et des capacités du SevenSwitch pour faire varier la vitesse du ventilateur:
il faut modifier ( je n’ai pas encore eu le temps de regarder cela)  les lignes du fichier gcode_process.c du code du firmware TEACUP à partir des lignes numéro 509
******************************************************

case 106:
//? --- M106: Fan On ---
//?
//? Example: M106
//?
//? Turn on the cooling fan (if any).
//?

#ifdef ENFORCE_ORDER // wait for all moves to complete
queue_wait();
#endif
#ifdef HEATER_FAN
heater_set(HEATER_FAN, 255);
#endif
break;

***************************************************

Ce contenu a été publié dans EXTRUDEUR. Vous pouvez le mettre en favoris avec ce permalien.