.STL File / 3D model: EFFECTEUR MAGNETIC + SONDE BED AUTO LEVELING INTéGRéE

Videos

Principe / Principle : https://youtu.be/iCEmxZ5T0OA
Impression / Print : https://youtu.be/ikwoGAey3fY
Assemblage / Assembly : https://youtu.be/SkY21pOv6xk

Directions en Français (English below)

Présentation

Voici mon second effecteur magnétique, entraxe 45mm, avec une sonde de plateau intégrée. Je l'ai conçu de telle sorte que la hotend soit la sonde et qu'elle puisse sonder tous les plateaux, quel qu'en soit la matière ou le revêtement.

L'effecteur est composé de deux pièces :

  • Un corps principal auquel sont reliés les bras
  • Une mÃpennieschoire qui tient la hotend.

Le principe est très simple : Ces deux pièces peuvent coulisser l'une par rapport à l'autre uniquement sur l'axe Z. Entre les deux sont disposés des micros-switchs qui permettent de détecter lorsque les deux pièces s'écartent l'une p l'autre. Ainsi, lorsque l'effecteur descend et que la hotend rentre en contact avec le plateau, la mÃpennies qui tient la hotend ne descend plus, mais l'effecteur lui continu a descendre. Les deux parties s'écartent, ce qui actionne les boutons poussoirs.

Solution a¨s bon marché, très précise. Au niveau du firmware, il n'y a©calage en Z à gérer. Il correspond à l'écartement des deux pièces nécessaire pour déclencher la sonde, plus le dégagement de la buse par rapport au plateau (l'épaisseur d'une feuille de papier normalement), soit au total 0,2mm dans mon cas

#define Z_PROBE_OFFSET_FROM_EXTRUDER 0.2 // Z offset: -below +above [the nozzle]

Lâ$™assemblage p prend une demi-heure.
Conception réalisée avec : Autodesk Fusion 360
Toutes les pièces sont conçues pour être imprimées sans support matériel.

Pièces à imprimer
  • Le corps principal
  • La mÃpennieschoire en deux parties
Quincaillerie
  • two vis M3x12
  • 5 vis M3x20
  • 3 ressorts 3.45 - 4.8 mm 8mm
  • 3 rondelles M3
  • 6 aimants néodyme fraisés D12 d4 e4.75
  • 2 micro switch 6x6x4.3
  • 50cm de fil AWG30
  • 4cm de gaine thermorétractable 1mm
  • Colle cyanoacrylate (Super Glue)
Matériel
  • Paire de ciseaux
  • Fer à souder + fil d'étain
  • Multimètre

Assemblage p l'effecteur (voir la vidéo d'assemblage)

  • Nettoyer la pièce et les trous
  • Vérifier que les logements des aimants et des microswitchs sont exempts de coulures qui pourraient les empêcher de se mettre en place.
  • Souder les cÃpenniesbles des interrupteurs (branchement en série), il est préférable dâ$™effectuer cette opération avant que les poussoirs ne soient collés, sinon il est difficile de positionner les fils, le fer est attiré par les aimants et sa chaleur fait fondre lâ$™effecteur
  • Coller les deux interrupteurs
  • Coller les fils sous lâ$™effecteur
  • Placer les fils au plus près du col, ils ne devront pas gêner le mouvement de vas et vient de la HotEnd dans lâ$™effecteur
  • Vérifier au Multimètre le bon fonctionnement des interrupteurs
  • Coller les six aimants : encoller les trous deux à deux, placez-y les aimants, retourner lâ$™effecteur sur un plan et appuyer pour assurer une bonne adhésion.

Assemblage de la mÃpennieschoire (voir la vidéo d'assemblage)

  • Présentez les deux mÃpennieschoires confront à  confront et faire prendre les vis de 5 mm.
  • Passez la HotEnd dans le trou de lâ$™effecteur
  • Écartez les mÃcentschoires et passez la HotEnd dans le trou des mÃcentschoires
  • Alignez le passage de cÃpenniesble des mÃcentschoires et de lâ$™effecteur.
  • Placez du Scotch bleu sur les deux aimants coté vis afin de ne pas les abîmer avec le tourne vis
  • Vissez les mÃpennieschoires, elles ne se touchent pas et doivent rester parallèles.
  • Vérifiez que les trois centreurs de lâ$™effecteur sont bien en place dans les trois renfoncements des mÃpennieschoires.
  • Placez les trois tendeurs : rondelle + ressort +vis, et vissez-les jusqu'à ce que le ressort ne bouge plus librement. Inutile de serrer plus.
  • Faites naviguer les mÃpennieschoires pour quâ$™elles soient bien en place.
  • Vérifiez que vos ressorts sont toujours légèrement en tension, sinon revissez ceux qui le nécessitent. Il faut essayer dâ$™avoir la tension de ressort sur les trois tendeurs.
  • Connectez un multimètre sur les fils des la sonde
  • Placez le multimètre en détection de continuité (beep quand on touche les deux fils)
  • Vissez une des deux vis de réglage de butée jusquâ$™Ã  ce que lâ$™effecteur et la mÃpennieschoire sâ$™Ã©cartent.
  • Faites de même avec la seconde vis jusquâ$™Ã  faire sonner le multimètre
  • Dévissez doucement une première vis jusquâ$™Ã  ce que le beep sâ$™arrête
  • Revissez légèrement cette première vis jusquâ$™Ã  faire sonner à nouveau le multimètre
  • Dévissez doucement la seconde vis jusquâ$™Ã  ce que le beep sâ$™arrête
  • Revissez légèrement cette seconde vis jusquâ$™Ã  faire sonner à nouveau le multimètre
  • Vissez ces deux vis dâ$™un quart de tour supplémentaire
    En tenant lâ$™effecteur, appuyez la tête dâ$™™opinion sur un plan, le beep doit sâ$™arrêter. RelÃpennieschez la pression et le beep doit reprendre. La pression à exercer ne doit pas être importante, et le beep doit systématiquement reprendre de manière franche (pas de grésillement ou de bip qui s'arrête et reprend). Si câ$™est bien le cas ! Si ce nâ$™est pas le cas, vérifiez :
    • le positionnement des mÃpennieschoires par rapport à lâ$™effecteur
    • la tension des suspensions
    • le point de bascule de chaque microswitch

Configuration Marlin Firmware 1.1.0-RC6

Cette configuration est celle de ma machine qui est équipée d'une carte Arduino MEGA + RAMPS 1.4, d'un écran + lecteur SD.

Configuration.h

Parce que les sont normalement maintenus en position fermée
Const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false;


#define AUTO_BED_LEVELING_FEATURE // Lively la fonction de Bed car leveling
#define DEBUG_LEVELING_FEATURE // active le mode debug pour la calibration
#define DELTA_PROBABLE_RADIUS (DELTA_PRINTABLE_RADIUS - 10) // Je détermine le rayon de la surface sondée égale au rayon de la surface dâ$™™opinion moins 10mm
#define AUTO_BED_LEVELING_GRID_POINTS 5 //Nombre de points de la grille (doit être supérieur ou égale à 5)


Il nâ$™y a pas de distance a paramétrer entre la buse et le palpeur puisque la buse est le palpeur !
#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]
jâ$™indique cependant un décalage de hauteur entre le plateau et la buse qui sera égale a la distance parcourue par lâ$™effecteur pour actionner le micro switch + la distance a laquelle je décale la buse pour imprimer la première couche.
#define Z_PROBE_OFFSET_FROM_EXTRUDER 0.2 // Z offset: -below +above [the nozzle]


#define XY_TRAVEL_SPEED 4000 // vitesse de déplacement de lâ$™effecteur entre chaque sondage, en mm/min.
#define Z_RAISE_BEFORE_PROBING 30 // Hauteur en mm de lâ$™effecteur avant de se déplacer vers le premier point de sondage
#define Z_RAISE_BETWEEN_PROBINGS 5 // Hauteur en mm de lâ$™effecteur lors des déplacements entre les points de sondages
#define Z_RAISE_AFTER_PROBING 30 // Hauteur en mm de lâ$™effecteur après le dernier point de sondage


Il faut désactiver cette fonction lorsquâ$™on utilise un capteur pour Z_MAX et un autre capteur pour Z_MIN, ce qui est mon cas puisque le micro switch nâ$™est utilisé QUE pour le Z_MIN. Le Z_MAX est donnà les fins de courses de colonne.
// #define Z_SAFE_HOMING
Cette fonction doit en revanche être activée
#define Z_MIN_PROBE_ENDSTOP"

pins_RAMPS_13. h

Dans Marlin Firmware , la est par défaut configurée pour y brancher la sonde de plateau. La borne 18 est quant à elle attribuée au capteur Z_MINI.
Dans la mesure ou je nâ$™utilise pas de Z_MINI, et que la borne 32 est déjà utilisée par lâ$™afficheur LCD, je réattribue la broche 18 au contact du palpeur en intervertissant les valeurs suivantes :

#define Z_MIN_PIN 18 â†' #define Z_MIN_PIN 32
#define Z_MIN_PROBE_PIN 32 â†' #define Z_MIN_PROBE_PIN 18

Compilez et téléversez le firmware.
Pour vérifier que tout fonctionne, utilisez la commande m119 et vérifiez que lâ$™Ã©tat de vos fins de courses est correct :

Si est en position vous devez obtenir ce rà © sultat, HOME :
x_max: TRIGGED
y_max: TRIGGED
z_max: TRIGGED
z_probe: open

Si$™est pas vous devez obtenir ce rà © sultat, HOME :
X_max: open
y_max: Open
z_max: open
z_probe: open

Lorsque vous soulevez votre HotEnd rapport à  l'effecteur, vous devez voir changer l'état de la sonde z :
z_probe: TRIGGED

Autres conseils

Lorsque vous palpez votre plateau, pensez au préalable chauffer votre HotEnd à 170°C environ. En effet, il n'est pas petit bout de filament de la buse. Pour que la mesure soit correcte, il faut qu'il s'écrase lorsque la le plateau.
Par précaution, pensez également à désactiver la sonde (M121) une fois l'auto bed leveling terminé, car si la sonde se déclenche pendant une impression, l'imprimante considère que la tête à touché sa position Z limite et prevent le travail en cours. Ce problème est apparu sur la version 1.1.0-RC6 p Marlin, peut-être sera-t-il corrigé dans les variations futures...

Pour exemple, voici mon script p Start g-code (j'utilise Slic3r) :

M106 S128 ; Allume le ventilateur à 50% de sa puissance
M104 S170 ; Positionne la température cible de l'extruder à 170°
G28 ; home
G1 X0 Y0 Z30 F6000 ; Descente de la tête
M109 S170 ; attend que la HotEnd atteigne 170 °C
G92 E0 ; initialise la position de l'extruder
G1 F9000 E-1 ; rétracte 1 mm
G92 E0 ; initialise la position de l'extruder
G29 v4 ; Bed auto levelling
M121 ; désactive la sonde de plateau
G1 X0 Y-100 Z30 F6000 ; Positionne la tête sur l'avant
M109 S[first_layer_temperature] ; attends que la HotEnd soit à température
G92 E0 ; initialise la position de l'extruder
G1 F100 E20 ; extrude 15 mm
G92 E0 ; initialise la position de l'extruder
G1 F9000 E-2 ; rétracte 2mm
G92 E0 ; initialise la position de l'extruder
G1 X0 Y0 Z30 F6000 ; Cente HotEnd

===========================================================================

English

Presentation

Here is my second magnetic effector, spacing that is 45mm, using a built-in bed levelling probe. It was designed by me so that the hotend is the probe, and it can probe all beds, no matter material or coating.

The principle is simple: The effector is composed of two parts:

  • A primary body to which the arms are connected
  • A jaw holding the hotend.

One can slide relative to each other only. Are organized if both parts move away from each other, two switches that detect. Once the effector sinks and the hotend comes into contact the jaw holding the hotend get down, but the effector itself continuous go down. Both sides go away, which the push buttons detect.

This alternative has the advantage of functioning on coating or any support and being very cheap, very exact, passive. Concerning the firmware, only the Z offset have to be set. It corresponds to the spacing of the two pieces necessary to trigger the probe, plus release of the nozzle in the bed (normally the thickness of a sheet of paper), 0.2 mm in total in my own case.

The assembly takes about 30 minutes.
Designed with Autodesk Fusion 360
All pieces are designed to be printed without material supports

Parts to print
  • the primary body
  • the jaw in two bits
Quincaillerie
  • 2 screws M3x12
  • 5 screw M3x20
  • 3 Springs 3. 45 - 4. 8 mm 8mm
  • 3 dishwashers M3
  • 6 magnet neodymium milled D12 d4 e4. 75
  • 2 micro switch 6 x 6 x 4. 3
  • 50cm AWG30 copper wire
  • 4cm heat shrink sleeve 1mm
  • Cyanoacrylate glue (Super Glue)
Substance
  • Pair of scissors
  • Soldering iron + tin cable
  • Multimeter

Assembling the Effector (see the Assembly video)

  • Clean the part and the holes
  • Verify that housing magnets and micro switches are free of drips that might keep them from being put in position.
  • Weld the micro-switch cables (serial connection), it is preferable to carry out this operation prior to the pushers are glued, otherwise it is difficult to position the wires, the iron is attracted by the magnets and its heat melts the Effector
  • Glue the 2 switches
  • Glue the wires beneath the effector
  • Place the wires closest to the neck, they shouldn't interfere with the translation motion of the HotEnd into the effector
  • With the multimeter, check for proper operation of the switches
  • Glue the six magnets: paste the holes two by two, put the magnets in them, turn the effector on a plane and press to ensure a good adhesion.

Assemblage of the jaw (see the Assembly video)

  • Present both limbs face to face and do take the screws of 5 mm.
  • Pass HotEnd through the hole of the effector
  • spread the jaws and pass the HotEnd through the hole of the jaws
  • Align the passing of cable of the jaws and the Effector.
  • Place blue tape over the 2 magnets side screws in order not to damage them with the screw driver
  • Twist the jaws, they shouldn't touch and must remain parallel.
  • Check that the 3 centring of the Effector are in place at the three recesses of the jaws.
  • Put three turnbuckles: washer + spring + screw, and screw them up until the spring no longer moves freely. Needless to tighten more.
  • Make browse the jaws to keep them in place.
  • Check that your springs are still slightly in tension, if not tighten those who require it. Try to have the spring tension on the 3 tensioners.
  • Connect multimeter on the wires probe
  • put the multimeter in continuity detection (beep when you touch the two wires)
  • Screw among the two adjusting screws until the effector and the jaw move away.
  • Do the same with the second screw until the multimeter beeps.
  • Gently unscrew until the beep stops
  • Slightly tighten this again first screw until the multimeter seems again.
  • Gently unscrew the next screw until the beep stops
  • Screw the next screw slightly again until the multimeter is ringing again
  • Twist both of these screws an extra quarter turn
    By holding the effector, press the HotEnd on a plane, the beep must stop. Release pressure and the beep must resume. The back pressure shouldn't be important, and the beep must systematically resume clearly (no sizzle or beep that stops and resumes). If this is the case, your probe is prepared! If this is not the case, check
  • the position of the jaws related to the effector
  • the tension of the suspensions
  • the tipping point of every micro-switch

Configuration Marlin Firmware 1.1.0-RC6

Cette configuration est celle de ma machine qui est équipée d'une carte Arduino MEGA + RAMPS 1.4, d'un écran + lecteur SD.

Configuration.h

Because the micro-switches is normally held in the closed position by a screw
Const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to reverse the logic of the endstop.


#define AUTO_BED_LEVELING_FEATURE // Delete the comment to enable (remove // at the beginning of the line)
#define DEBUG_LEVELING_FEATURE // Activates debug mode for calibration


#define DELTA_PROBEABLE_RADIUS (DELTA_PRINTABLE_RADIUS - 10) // I determine the radius of the probe surface equal to the radius of the print surface without 10mm
#define AUTO_BED_LEVELING_GRID_POINTS 5 // Number of points in the grid (must be greater than or equal to 5)


// There is no space to be set between nozzle and the probe as the nozzle is the probe!
#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]
Height counter between the plate and the nozzle will be equal to the distance travelled by the effector to actuate the micro switch + the distance at which I change the nozzle to print the first layer.
#define Z_PROBE_OFFSET_FROM_EXTRUDER 0.2 // Z offset: -below +above [the nozzle]


#define XY_TRAVEL_SPEED 4000 // X and Y axis travel rate between probes, in mm/min.
#define Z_RAISE_BEFORE_PROBING 30 // How much the Z axis will be increased before travelling into the first probing point.
#define Z_RAISE_BETWEEN_PROBINGS 5 // How much the Z axis will be increased when travelling from between following probing points
#define Z_RAISE_AFTER_PROBING 30 // How much the Z axis will be increased after the final probing point.
It is necessary to disable this function when using a sensor for Z_MAX and another sensor for Z_MIN, which is my case since the micro switch is used just for the Z_MIN. The Z_MAX is given by the end of every column.
// #define Z_SAFE_HOMING


On the other hand, this function must be activated
#define Z_MIN_PROBE_ENDSTOP

pins_RAMPS_13. h

By default in Marlin Firmware, pin 18 is delegated to the Z_MINI sensor and pin 32 is configured to connect the bed auto levelling probe.
Since I do not use Z_MINI, and pin 32 is already used by the LCD, I reassign pin 18 to the bed probe by switching the following values:

#define Z_MIN_PIN 18 â†' #define Z_MIN_PIN 32
#define Z_MIN_PROBE_PIN 32 â†' #define Z_MIN_PROBE_PIN 18

Compile and upload the firmware.
To verify that everything works, use the m119 control and verify that the status of your limit switches are correct:
When the printer is in the HOME position, you must achieve this result:
X_max: TRIGGED
Y_max: TRIGGED
Z_max: TRIGGED
Z_probe: open

You must obtain this result, if the printer is not in the HOME position:
X_max: Open
Y_max: Open
Z_max: Open
Z_probe: open

You must change the probe status z when your HotEnd move away in the effector:
Z_Probe: TRIGGER

More tips

Before you perform an auto bed levelling, consider to warm your HotEnd to about 170 ° C. Indeed, it is not uncommon for a little slice of filament to come out of the nozzle. When the bed is probed by the nozzle for the measurement to be correct, it must be flattened.
As a precaution, disable the probe (M121) once the auto levelling is finished, because if the sensor is triggered during printing, the printer assumes that the nozzle has touched its Z limits position and stops the current job . This problem has emerged on the 1.1.0-RC6 Marlin version, perhaps it'll be adjusted later on...

For example, here is my Start g-code script (I use Slic3r):

M106 S128; Turns on the fan at 50% electricity.
M104 S170; Position the target temperature to extrude into 170 °
G28; Home
G1 X0 Y0 Z30 F6000; Descent of the head
M109 S170; Waits for HotEnd to reach 170 ° C
G92 E0; Initialises the position of the extruder
G1 F9000 E-1; Retract 1 mm
G92 E0; Initialises the position of the extruder
G29 v4; Automobile Bed levelling
M121; Disables the bed probe
G1 X0 Y-100 Z30 F6000; Position the head on the front
M109 S [first_layer_temperature]; Waits for HotEnd to maintain temperature
G92 E0; Initialises the position of the extruder
G1 F100 E20; Extruder 15 mm
G92 E0; Initialises the position of the extruder
G1 F9000 E-2; Retract 2mm
G92 E0; Initialises the position of the extruder
G1 X0 Y0 Z30 F6000; Cente HotEnd


Related designs

ldr