Le projet "Machine That Draws" s'inscrit dans le cadre de notre formation. L'objectif global était de concevoir de A à Z une machine capable de dessiner de manière automatisée.
Dès le départ, nous voulions créer quelque chose d'unique, un design de machine qui nous convient et qui nous différencie. Nous sommes donc partis sur l'idée d'un "pen plotter" (traceur à stylo). Cette machine fonctionne sur le même principe qu'une imprimante, c'est-à-dire que la feuille bouge avec des barres qui vont la faire coulisser, ainsi la feuille avance.
Ce projet a donc été un véritable challenge mêlant mécanique, programmation et électronique, nous avons décidé de nous répartir les tâches stratégiquement en fonction des affinités de chacun.
Louis a été d'une grande aide pour la réalisation de la carte électronique et la modélisation de certaines pièces.
Mathis s'est vu comme le commandant du projet et a élaboré l'axe x et z en totalité, il a également participé à la partie électronique.
Célian s'est démarqué dans la partie développement avec la création du site mais également dans le fait de faire fonctionner la machine. De plus il a aidé dans la partie électronique.
Alexandre a été l'homme de l'ombre qui a élaboré l'axe y en testant et en créant de nombreux prototypes.
Soren a schématisé les différentes pièces et a contribué à l'axe x avec Alexandre mais également sur des pièces importantes de la machine.
Transformer un pixel numérique en mouvement mécanique : voici le cœur de notre défi technique.
Le G-code est l’outil principal qui permet de faire fonctionner les machines à commande numérique (CNC). C’est un langage composé de lignes d’instructions séquentielles.
Chaque ligne correspond à une action précise : un déplacement vers des coordonnées exactes (X, Y, Z), le réglage d'une vitesse, ou l'activation d'un outil (comme la levée de notre stylo). C'est ce fichier qui fait le lien direct entre le monde numérique et le mouvement physique.
Pour que la machine comprenne un dessin, il ne suffit pas de lui envoyer une image classique. Nous utilisons le logiciel vectoriel Inkscape pour transformer l'image en tracés géométriques (des vecteurs).
Une fois vectorisé et mis à la bonne échelle, le dessin est converti en G-code grâce à une extension spécifique qui va calculer précisément le parcours physique que devra suivre le stylo.
Pour piloter la machine et exécuter le dessin, nous utilisons une interface de contrôle sur ordinateur, comme Universal Gcode Sender (UGS).
Ce logiciel permet non seulement de calibrer les axes et de déplacer la machine manuellement pour définir son point de départ, mais surtout d'envoyer le fichier G-code ligne par ligne à la carte électronique (équipée de son Firmware) qui l'exécutera en temps réel.
Pour la conception des pièces, on a utilisé Onshape. L’objectif était de modéliser toute la machine avant de passer à la fabrication.
On a travaillé de manière itérative, c’est-à-dire qu’on a conçu, testé puis amélioré les pièces plusieurs fois, en faisant évoluer le design à travers différents prototypes plutôt que de partir directement sur une version finale. En parallèle, on a aussi choisi de décomposer la machine en plusieurs petites pièces plutôt qu’un seul bloc, ce qui permet de modifier plus facilement une partie sans tout refaire et d’optimiser chaque élément indépendamment.
Grâce à l’impression 3D, on a pu faire différents essais, ajuster les dimensions, corriger les jeux mécaniques et améliorer la solidité des pièces au fur et à mesure jusqu’à obtenir un résultat fonctionnel.
L’axe X correspond au déplacement horizontal (gauche / droite).
Ce mouvement est assuré par un moteur pas à pas, qui permet un contrôle très précis des déplacements. Contrairement à un moteur classique, le moteur pas à pas avance par petits pas, ce qui permet de connaître précisément sa position sans capteur supplémentaire.
Le moteur entraîne un système de transmission, généralement une courroie crantée, qui est fixée à un chariot. Ce chariot se déplace le long de rails de guidage afin de garantir un mouvement droit, stable et précis.
L’objectif de cet axe est de gérer le positionnement horizontal sur la largeur de la zone de travail, avec une bonne répétabilité et sans perte de précision.
L’axe Y correspond au déplacement horizontal (droite / gauche).
Dans notre système, un moteur pas à pas est placé à l’extrémité de la structure. Sa rotation entraîne une courroie crantée. Cette courroie est directement reliée au bloc principal qui contient le crayon ainsi que le mécanisme de l’axe Z.
Ainsi, lorsque le moteur tourne dans un sens ou dans l’autre, la courroie se déplace et entraîne le bloc vers la droite ou vers la gauche. Cela permet un mouvement fluide et précis sur tout l’axe.
Ce système est efficace car la position dépend directement de la rotation contrôlée du moteur pas à pas, ce qui permet une bonne précision et une bonne répétabilité des déplacements.
L’axe Z correspond au déplacement vertical (haut / bas) du crayon.
Dans notre cas, il s’agit d’un bloc qui contient un servo moteur. Ce servo est relié à un système d’engrenage (rouage) qui transforme la rotation du moteur en un mouvement vertical.
En fonction de l’angle du servo, le rouage pivote et actionne un mécanisme qui fait monter ou descendre le support du crayon. Cela permet de contrôler précisément la position du crayon par rapport à la surface de travail.
Ce système est pratique car il permet un contrôle simple et précis uniquement avec l’angle du servo, ce qui facilite les phases de dessin et de déplacement sans contact.
De base, notre machine utilisait une carte Arduino Uno couplée à un "CNC Shield". C’est une solution pratique pour débuter et piloter les moteurs facilement.
Concrètement, cette installation nous limitait en place et en fonctionnalités, rendant par exemple très complexe l'ajout d'un écran ou d'un lecteur de carte.
L’objectif a donc été de concevoir une nouvelle carte sur mesure. Pour ça, on a remplacé l'Arduino par un ESP32, un microcontrôleur beaucoup plus performant.
Grâce à ça, on a pu regrouper tous les composants sur un seul circuit, pensé spécifiquement pour rendre la machine totalement autonome.
Le prototypage est l'étape qui va nous permettre de valider le fonctionnement de notre nouvelle carte avant sa fabrication. C’est une phase de test où l'on branche temporairement tous les composants.
Concrètement, on relie l'ESP32 avec les moteurs, l'écran ou le lecteur SD sur des plaques d'essai. Cela permet de vérifier que tout communique correctement.
L’objectif va donc être de valider notre logique de câblage et la gestion des alimentations. Pour ça, on teste des petits codes et on observe les réactions.
Grâce à ça, on évite les erreurs et on s'assure que le circuit théorique sera parfaitement fonctionnel.
Le schéma électronique est le plan qui va nous permettre de modéliser les connexions de notre future carte. C’est la traduction informatique de notre prototype.
Concrètement, on utilise le logiciel KiCad pour dessiner les liens entre chaque composant. Par exemple, on indique quelle broche de l'ESP32 doit être reliée à l'écran ou aux capteurs.
L’objectif va donc être de structurer toute cette électronique de façon logique, en intégrant bien les bus de communication (comme l'I2C ou le SPI).
Grâce à ça, le logiciel comprend les interactions entre les composants, ce qui prépare l'étape du dessin physique de la carte.
Le routage du PCB (circuit imprimé) est l'étape finale qui va nous permettre de passer au circuit physique. On place virtuellement chaque composant et on trace les chemins en cuivre.
Concrètement, il faut dessiner les pistes reliant les éléments tout en gérant les contraintes techniques. Par exemple, on élargit les pistes d'alimentation des moteurs pour supporter la puissance.
L’objectif va donc être d'optimiser l'espace pour obtenir les fichiers de fabrication. Pour ça, on envoie le design terminé à un constructeur professionnel.
Grâce à ça, on récupère une carte sur mesure où il ne reste plus qu'à souder les composants (CMS et traversants).
Pour finir, cette carte intègre plusieurs composants clés qui vont nous permettre de rendre la machine plus performante et sécurisée.
Concrètement, elle possède deux drivers A4988 pour piloter précisément les moteurs, et un lecteur de carte SD. Ce dernier permet de lancer directement un G-code sans ordinateur branché.