Detection de fin de bobine

Les améliorations de vos imprimantes
paraglandeur
Vénérable membre
Messages : 328
Inscription : mer. févr. 03, 2016 1:01 pm
Imprimante 3D : Hephestos

J'ai vu que l'on pouvait assez facilement modifier le firmware pour gérer la détection de fin de bobine.
Il suffit d'utiliser la connectique du switch de fin de course de l'axe Z (non utilisé sur les Hephestos), et de rajouter un switch sur le parcours du filament. Lorsque ce dernier disparait, le firmware passe l'impression en pause jusqu'au changement du filament.

Par contre, je ne sais pas où se situe le connecteur de ce switch.
Sur l'image ci-dessous, est-ce les 3 pins à droite du detecteur Z (donc le dernier à droite ) ?

Image
Avatar de l’utilisateur
Jacques
Site Admin
Messages : 5616
Inscription : jeu. oct. 23, 2014 3:02 pm
Imprimante 3D : Witbox, Witbox 2 et Hephestos
Localisation : Aix en Provence
Contact :

Oui, c'est le dernier à droite
Le fil jaune c'est le signal, le rouge le + et le noir -
J'ai utilisé par le passé un système similaire mais il offrait plus d'inconvénients que d'avantage car une pause, c'est bien mais jusqu'à quand ?
L'idéal serait d'avoir une alarme et une pause après un certain temps et en troisième temps un arrêt de chauffe tout en laissant les moteurs sous tension pour éviter les micro-décalages.
Ensuite il faudrait mesurer la fin de fil mais aussi un fil coincé ou mieux encore un fil qui n'avance pas assez vite...
Le firmware actuel ne propose pas encore ces fonctions. Ce sera certainement pour un proche avenir.
Des idées d'améliorations https://www.thingiverse.com/Premium/designs
Une question, une précision, un manque de pièces détachées, posez vos questions ici même.
Avatar de l’utilisateur
Jacques
Site Admin
Messages : 5616
Inscription : jeu. oct. 23, 2014 3:02 pm
Imprimante 3D : Witbox, Witbox 2 et Hephestos
Localisation : Aix en Provence
Contact :

A noter que le firmware 2.3.0 permet de gérer la fin de fil par un détecteur.
Ce serait bien de regarder de ce coté, il est possible que cette fonction soit plus élaborée qu'une simple pause.
....
Je viens de regarder la commande c'est M600 soit une pause...
Par contre il permet aussi d'ajuster automatiquement l'extrusion au diamètre du fil.
Il y a donc une suite à découvrir avec un futur sensor
....
Je viens de trouver ici http://objectswithintelligence.weebly.com/store.html
Ce détecteur donne une tension directement proportionnelle avec le diamètre du fil.
S'il est validé dans le firmware, le diamètre s'affiche à l'écran LCD et l'extrusion est multipliée par un facteur pour compenser le manque ou le trop de PLA.
Bien entendu dans le firmware on règle la distance entre le détecteur et l'extrudeur afin de rester synchrone.
Une tension trop faible suppose qu'il n'y a plus de fil pourrait entrainer une pause.
Le montage est ici http://www.thingiverse.com/thing:454584
Le code dans configuration.h

Code : Tout sélectionner

**********************************************************************\

 * Support for a filament diameter sensor

 * Also allows adjustment of diameter at print time (vs  at slicing)

 * Single extruder only at this point (extruder 0)

 * 

 * Motherboards

 * 34 - RAMPS1.4 - uses Analog input 5 on the AUX2 connector 

 * 81 - Printrboard - Uses Analog input 2 on the Exp1 connector (version B,C,D,E)

 * 301 - Rambo  - uses Analog input 3

 * Note may require analog pins to be defined for different motherboards

 **********************************************************************/

// Uncomment below to enable

//#define FILAMENT_SENSOR



#define FILAMENT_SENSOR_EXTRUDER_NUM   0  //The number of the extruder that has the filament sensor (0,1,2)

#define MEASUREMENT_DELAY_CM        14  //measurement delay in cm.  This is the distance from filament sensor to middle of barrel



#define DEFAULT_NOMINAL_FILAMENT_DIA  1.75  //Enter the diameter (in mm) of the filament generally used (3.0 mm or 1.75 mm) - this is then used in the slicer software.  Used for sensor reading validation

#define MEASURED_UPPER_LIMIT          3.30  //upper limit factor used for sensor reading validation in mm

#define MEASURED_LOWER_LIMIT          1.90  //lower limit factor for sensor reading validation in mm

#define MAX_MEASUREMENT_DELAY       20  //delay buffer size in bytes (1 byte = 1cm)- limits maximum measurement delay allowable (must be larger than MEASUREMENT_DELAY_CM  and lower number saves RAM)



//defines used in the code

#define DEFAULT_MEASURED_FILAMENT_DIA  DEFAULT_NOMINAL_FILAMENT_DIA  //set measured to nominal initially 



//When using an LCD, uncomment the line below to display the Filament sensor data on the last line instead of status.  Status will appear for 5 sec.

//#define FILAMENT_LCD_DISPLAY



// Uncomment for defining a filament runout sensor to check the existence of filament

//#define FILAMENT_RUNOUT_SENSOR



#ifdef FILAMENT_RUNOUT_SENSOR

   const bool FIL_RUNOUT_INVERTING = false;  // Should be uncommented and true or false should assigned

   #define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.

   #define FILAMENT_RUNOUT_SCRIPT "M600"

#endif // FILAMENT_RUNOUT_SENSOR



Dans la seconde partie du code on trouve un switch pour détecter la présence du fil.

Bon, c'est du précis mais le fil étant de plus en plus constant dans sa fabrication, ca rend le système moins pertinent.
Des idées d'améliorations https://www.thingiverse.com/Premium/designs
Une question, une précision, un manque de pièces détachées, posez vos questions ici même.
paraglandeur
Vénérable membre
Messages : 328
Inscription : mer. févr. 03, 2016 1:01 pm
Imprimante 3D : Hephestos

Oui, Jacques, j'avais également jeté un œil dans le configuration.h du firmware 2.2 et j'avais vu ces lignes tout à la fin.
Mais j'avais compris que cela servait uniquement à ajuster la vitesse d'extrusion au diamètre du fil.
Et du coup, je m'étais dis que cela sous-entendais un capteur hyper précis, sans chercher plus loin.


En comparant le code du 2.2 à celui du 2.3, on voit que cette partie s'est étoffée avec "FILAMENT_RUNOUT_SENSOR" qui semble effectivement permettre la détection d'une fin de bobine.

Merci pour cette info très complète.
Avatar de l’utilisateur
Jacques
Site Admin
Messages : 5616
Inscription : jeu. oct. 23, 2014 3:02 pm
Imprimante 3D : Witbox, Witbox 2 et Hephestos
Localisation : Aix en Provence
Contact :

Il est bons de tenir compte des implémentations afin de tenter de rester compatible avec ce qui est développé par la communauté. De cette manière chaque expérience renforce le groupe par le résultat obtenu.

Dans le même esprit que le diamètre, il serait intéressant de mesurer le "glissement" du fil avec une comparaison entre les impulsions du moteur de l'extrudeur et une mesure de l'avancement véritable du fil.
De cette manière on aurait une bonne vision d'une bues bouchée ou d'un PTFE abimé mais aussi de la fin du fil.
Des idées d'améliorations https://www.thingiverse.com/Premium/designs
Une question, une précision, un manque de pièces détachées, posez vos questions ici même.
paraglandeur
Vénérable membre
Messages : 328
Inscription : mer. févr. 03, 2016 1:01 pm
Imprimante 3D : Hephestos

Certes, certes
mais lorsque l'on a fait pas mal de changements mécaniques, il est toujours pénible de devoir modifier le firmware.
En ce qui me concerne, j'ai un plateau chauffant, des vis trapézoïdales en pas de 1mm, basculé le firmware en français et modifié quelques traductions.
Rien de bien méchant en soi, mais pas mal de lignes à modifier au final, avec toujours un peu la peur de se tromper quelque part...

Ce qui fait que je suis toujours en 1.4 :lol:

Vous avez le firmware 2.3 en production ?
Répondre