La réussite d’une impression 3D découle de la combinaison de nombreux facteurs. La performance du matériel, la qualité des consommables et l’ajustement précis des paramètres représentent quelques-uns de ces éléments clés. Parmi ces facteurs, la calibration de l’imprimante 3D a on le sait une influence directe sur la qualité des impressions. Confrontées à certaines limitations lors du développement de sa propre imprimante 3D, Vincent Bénet, un ingénieur mécatronique, a entrepris de développer une nouvelle méthode de calibrage, précise, rapide et automatique. Pour vous faire découvrir cette solution open-source, PRIMANTE3D est allé à sa rencontre.
« Le faire manuellement faisait perdre en précision et était une tâche longue. Mon objectif était donc de trouver une solution pour calibrer les axes de manière précise, rapide et automatique »

Vincent Bénet
Bonjour Vincent, pourrais-tu nous raconter le parcours qui t’a conduit jusqu’au poste de responsable mécatronique chez Skipper NDT ?
Pour le parcours scolaire, j’ai fait une classe préparatoire PTSI (physique technique sciences de l’ingénieur) au Lycée Jean Perrin à Marseille. A l’issue du concours national, j’ai intégré les Arts-et-Métiers du campus de Aix-en-Provence pour suivre le cursus d’ingénierie généraliste. J’ai poursuivi avec une spécialisation en mécatronique industrielle sur le campus de Lille. Ce choix a été principalement motivé par ma passion pour les drones et l’impression 3D.
Quant au parcours professionnel j’ai fait un premier CDD en 2ème année d’école d’ingénieur, à Cambridge dans le département de R&D à TE Connectivity où j’ai créé avec l’équipe de TE, mon premier projet open-source complet : Smart Thermostat — Smart Thermostat documentation (te_connectivity.gitlab.io). Il s’agit d’un thermostat intelligent utilisant des composants de l’entreprise afin d’inciter les « makers » à connaitre et acheter des produits de l’entreprise. Ça a également été ma première expérience d’implémentation de la méthode de minimisation dans un projet : Analyser loop — Smart Thermostat documentation .
Enfin, j’ai rejoint l’équipe de SkipperNDT, tout d’abord en tant que stagiaire en mécatronique puis en CDI. De conception en tests et de démonstrations en missions, l’entreprise a grossit et d’autres personnes sont arrivées. Ayant participé au projet porteur : Le scan magnétique et électromagnétique par drone, j’ai été placé en responsable mécatronique chez SkipperNDT.
« l’impression 3D a été un outil clé puisque j’ai conçu, imprimé et assemblé les premiers prototypes qui ont permis d’aboutir aux produits phares de l’entreprise. »
Afin de remettre les choses dans leur contexte, précise-nous-en quoi consiste ton métier et les missions de ton entreprise ?
Mon job en tant qu’ingénieur mécatronique chez Skipper NDT a consisté en grande partie à créer puis optimiser (plus léger, plus solide, plus facile à produire) les charges utiles pour maintenir divers capteurs sous un drone : magnétomètres, récepteur GNSS, antenne GNSS, carte d’acquisition, capteur de distance… Pour cela, l’impression 3D a été un outil clé puisque j’ai conçu, imprimé et assemblé les premiers prototypes qui ont permis d’aboutir aux produits phares de l’entreprise.
Depuis quelques mois, suite à mon déménagement à Montréal, je suis devenu ingénieur R&D. Mes missions ont donc évolué et consistent désormais à réaliser des preuves de concepts avec les clients de SkipperNDT à travers le monde. Finalement, je passe de la conception et fabrication à l’utilisation concrète de la technologie et des pièces.
Te souviens-tu de la première fois où tu as découvert l’impression 3D ?
J’ai découvert l’impression 3D à 16 ans le jour de Noël où nous (mon père et mes frères) avons eu notre première imprimante 3D : une Zortrax M200. Je me souviens très bien de ma première pièce : un sapin de Noël de quelques centimètres que j’avais fait rapidement sous SolidWorks. Ça a été un vrai moment fort et un déclic : je pouvais tenir un objet que j’avais pensé puis dessiné et conçu sur l’ordinateur.
« pour mieux comprendre les contrainte de ce milieu et j’ai cherché des solutions aux limites que je rencontrais »
Comment ton rapport à cette technologie a-t-il évolué par la suite ?
Il y a eu plusieurs phases : tout d’abord, l’excitation où tout était une bonne raison (ou excuse ?) pour imprimer une pièce (le manche du grille-pain casse : j’en imprime un nouveau !). Par la suite, environ après quelques mois d’utilisation, quand l’excitation redescend et de par le vieillissement de la machine, on prend conscience des limitations de l’impression 3D : le warping, les buses qui se bouchent, les problèmes d’extrusions, le décollement des premières couches, la longue durée d’impression pour les grosses pièces, le bruit du moteur pas à pas, les saut de pas …
Ça peut être une désillusion pour certain, mais pour ma part, ça m’a poussé à creuser : j’ai démonté, remonté la machine, recalibrer ce qui pouvait l’être pour mieux comprendre les contrainte de ce milieu et j’ai cherché des solutions aux limites que je rencontrais. Par la suite, mes projets personnels et professionnels m’ont poussé à utiliser l’impression 3D pour faire des pièces de plus en plus complexes avec de nouvelles contraintes : des pièces de liaison complexes, des liaisons mobiles indémontables, avec des contraintes techniques mais également esthétiques…
« j’ai compris qu’il y avait 3 grandes zones d’amélioration pour maximiser le jerk du déplacement de la buse »
Quel a été le déclic pour que tu te mettes un jour à vouloir développer ta propre imprimante 3D ? À quelles problématiques voulais-tu répondre ?
C’était une période durant laquelle je lisais beaucoup d’articles sur les différentes technologies d’imprimante 3D, je regardais des vidéos, notamment les défis « Speed Benchy Challenge » où le but est d’imprimer un petit bateau le plus vite possible d’une qualité acceptable, et j’ai compris qu’il y avait 3 grandes zones d’amélioration pour maximiser le jerk du déplacement de la buse : le poids des parties mobiles (1), la puissance des moteurs des parties mobiles (2) et la rigidité de la structure (3).
J’ai commencé à faire un premier schéma sans cette ambition pour essayer de trouver une architecture plus optimale que le « core XY » (le fameux !) avec pour logique d’utiliser deux moteurs par axe plutôt qu’un seul afin de doubler la puissance, augmenter la rigidité de la partie mobile et annihiler la torsion du chariot lors de son déplacement sur un axe.
De cette manière, le jerk est augmenté sans perte de qualité : l’assemblage est moins élastique durant l’effort et possède une hystérésis indépendante (pour les imprimantes 3D cartésiennes avec la buse au croisement des axes X et Y, l’amplitude de l’hystérésis de positionnement d’un axe dépend de la position de l’autre axe, car il y a deux chariots par axe et le chariot motorisé va tirer le chariot libre, entraînant un déplacement en biais de l’axe dans un sens ou dans l’autre).
Explique-nous-en quoi ta méthode de calibration est nouvelle et son fonctionnement ?
Une fois les parties mécaniques et électroniques (par Vincent Legouis pour l’electronique) finalisées, j’ai pu réaliser des premiers tests et je me suis rapidement rendu compte que les axes X et Y pouvaient pivoter autour de l’axe Z avec un angle important (>10°). Il fallait donc calibrer les axes avant chaque impression pour assurer l’orthogonalité de X et de Y. Le faire manuellement faisait perdre en précision et était une tâche longue. Mon objectif était donc de trouver une solution pour calibrer les axes de manière précise, rapide et automatique.
J’ai donc une imprimante avec ses 4 moteurs indépendants qui permettait de faire pivoter le plateau autour des axes X et Y d’environ 5° et un défaut d’orthogonalité important entre X et Y (les points de mesure de ma probe n’étaient pas aux mêmes positions). C’est grâce à cela que je trouve la solution :
Avec un défaut d’orthogonalité important entre les axes X et Y, les points de mesure de ma probe (Capteur de contact entre le plateau et la buse) ne sont pas aux positions attendues lorsque le plateau est incliné. Avec ces éléments je trouve le moyen de déduire le défaut d’orthogonalité :
Si le plateau est incliné au maximum autour de X et Y d’angles connu, son équation de plan est donc connue. Si les mesures donnent une équation de plan différente, il est possible à partir de ces deux équations de trouver le défaut d’orthogonalité des axes X et Y.
La formule exacte permettant de trouver le déphasage devient très vite complexe et ne repose que sur quelques points de mesure, laissant la non-planéité du plateau introduire une erreur importante dans le résultat final.
Je décide donc de passer par une méthode d’inversion par minimisation pour trouver le défaut d’orthogonalité permettant de prendre 25 points de mesure et ainsi diminuer ce bruit. Via un script python, j’ai modélisé le processus : klipper/calibration_ortho.py · master · Vincent Bénet / square_printer · GitLab
Le graphe représente la calibration du plateau pour la mise à plat, ici rien de révolutionnaire. Le modèle du paraboloïde hyperbolique est utilisé (les chips Pringle). Les couleurs sont les points de mesure, la grille noire est l’équation de surface du plateau et en rouge le plateau après déplacement des 4 moteurs pour mettre le plateau à plat.
Le second graphe bien moins visuel mais bien plus important, représente la différence entre le point mesuré et le point attendu après inclinaison forcé du plateau autour de X et de Y. En utilisant unalgorithme de minimisation (scipy minimize optimize), on retrouve, grâce à cette différence de mesure, l’erreur d’orthogonalité des axes X et Y, via la mesure en Z de la probe (BL touch ou autre).
Le principe est la minimisation : faire deviner des arguments à une fonction qui minimise un score d’erreur à partir de mesures et d’un modèle synthétique. Ici les arguments sont le défaut d’orthogonalité sur X et Y Les mesures sont les points de la probe Le modèle est l’équation de plan en Z du plateau incliné Le score d’erreur est la somme des écarts au carré entre les mesures et le modèle pour les points de mesures.
L’algorithme utilise un gradient convergent, à partir d’une initialisation des paramètres à deviner, pour deviner l’erreur. Cela peut être assimilé à la méthode de newton mais en 3D (2D pour les arguments, 1D pour le score) -> trouver le minimum sur un surface 3D : comme un lâcher d’une bille sur cette surface qui va se déplacer vers le point local le plus bas afin de trouver les minimums locaux.
« allouer moins de rectitude aux châssis des imprimantes 3D et donc partir sur des châssis assemblés en gardant une précision suffisante, même sur des grandes imprimantes »
Quels sont ses bénéfices pour la fabrication additive FFF, notamment en termes de précision ?
Cela permet d’envisager des imprimantes avec les deux bouts de l’axe piloté par un moteur de chaque côté, pour annuler complètement l’hystérésis de drag (erreur de positionnement selon si la buse arrive d’un côté ou de l’autre), cette hystérésis est impossible à contrer logiciellement car elle dépend de la force de résistance du bout de l’axe non poussé par le moteur (sur une imprimante classique) et de la position de la buse sur l’autre axe.
Aussi la calibration à chaque allumage permet donc de ne plus faire l’hypothèse (et donc se tromper) d’une structure parfaitement rigide et droite, cela est compensé par cette calibration. Cela signifie que l’on peut allouer moins de rectitude aux châssis des imprimantes 3D et donc partir sur des châssis assemblés en gardant une précision suffisante, même sur des grandes imprimantes.
Corriger l’orthogonalité via une calibration automatique permet de nombreuses choses :
Ayant trois axes X, Y et Z parfaitement orthogonaux, la première couche est donc bien plus précise car cette calibration peut être jouée avant chaque impression.
Les imprimantes avec un châssis assemblé ont tendance à ne pas être carrée si on regarde à l’ordre du dixième de mm. Avoir des axes orthogonaux sans avoir besoin d’un châssis en une seule pièce peux améliorer les précisions sur les imprimantes premier prix.
Pour les grandes imprimantes de l’ordre du mètre ou plus, qui imprime de grandes pièces comme des moteurs-fusées par exemple, il peut être très intéressant de garantir une pièce avec des bonnes rectitudes. En effet ces imprimantes ne peuvent pas être en une seule pièce. Elles sont donc calibrées manuellement (et peut-être pas à chaque impression), ce qui peux être moins précis.
Où en es-tu aujourd’hui dans le développement de ta solution ? Quels sont les principaux freins qu’il te reste encore à lever ?
A date, les sous-ensembles sont tous terminés et fonctionnels : de la mécanique à l’électronique en passant par le programme de calibration, Il reste une étape de paramétrage de Klipper, l’OS permettant de faire tourner le tout ensemble.
Malheureusement, mon déménagement à Montréal a dû mettre mon projet d’imprimante en stand-by, mais ce n’est que temporaire !
Que peux-tu nous dire enfin sur tes ambitions et ton calendrier ?
Dans l’idéal, j’aimerais me spécialiser en impression 3D en R&D pour pouvoir continuer d’approfondir mes connaissances et développer une vraie expertise et, pourquoi pas, implémenter ma solution de calibration sur imprimante commercialisée ! Avis aux entreprises qui seraient intéressées !
- La justice ordonne à Nano Dimension d’achever sa fusion avec Desktop Metal - 27/03/2025
- Bambu Lab revient avec H2D, une imprimante 3D innovante avec des versions hybrides de découpe et gravure laser - 26/03/2025
- UltiMaker Cura : zoom sur le logiciel star de l’impression 3D et ses nombreuses fonctionnalités - 25/03/2025