GRBLhal sur SKR 2 pour une MPCNC

Il y a quelque temps, mon beau-frère et moi avions décidé que ce serait un projet amusant de construire chacun notre MPCNC. Etant donné que nous étions tous les deux en Suisse à l’époque, l’approvisionnement en pièces détachées n’était pas trivial, ni bon marché. Il était logique de grouper les commandes, et j’ai toute l’expérience de l’impression 3D et les machines nécessaires pour cela.

Nous nous sommes approvisionnés en kits hardware auprès d’un revendeur allemand qui vendait la variante M4/M8 des kits MPCNC Burly à l’époque. Et puis, la vie s’en est mêlée, comme toujours. Je suis devenu père, il a pris un nouveau travail et a dû déménager d’un pays à l’autre.

Mais récemment, j’ai eu besoin d’un routeur CNC basé sur Grbl, et je me suis dit « attendez, j’ai ces boîtes de pièces et de tubes prêtes à l’emploi » J’ai donc dépoussiéré la boîte, sorti les tubes d’acier de la cave et suis allé chercher un meuble sur lequel monter la machine.

Quelques jours d’assemblage plus tard, ma MPCNC était prête pour le câblage et l’électronique. Le câblage n’est pas encore terminé, car je vais tester la machine en utilisant un porte-stylo au lieu de la broche Aliexpress 500W, ER-11.

J’avais initialement commandé une carte RAMPS Mega2560 sur Aliexpress pour faire tourner Grbl. Oups. Elle n’a pas passé le test de la fumée. Littéralement.

J’ai donc cherché un contrôleur de qualité sur lequel je pourrais faire tourner GRBL ou GRBLhal. J’ai trouvé une carte SKR 2 avec des step sticks TMC2209 à un prix raisonnable et assez proche qui ferait l’affaire.

Une fois la carte arrivée, j’ai commencé à travailler pour flasher GRBLhal dessus. La méthode est similaire à celle utilisée pour flasher les firmwares Marlin ou Klipper MCU sur n’importe quelle carte BTT, mettre le firmware.bin sur la carte SD, la laisser démarrer et retirer la carte SD, vérifier que le fichier s’appelle maintenant FIRMWARE.CUR et c’est fini.

Sauf que… pas tout à fait. Ce fichu truc ne s’affiche pas sur l’USB ! Ce qui est très étrange. Je l’avais testé à la sortie de la boîte et le firmware de test d’usine s’était affiché, donc je savais que le matériel était en bon état. Mais la configuration de platformio avait tous les drapeaux nécessaires que j’ai pu trouver dans les documentations de platformio et GRBLhal.

Après 24 heures de frustration, quelques heures de sommeil et beaucoup de recherches sur Google, je suis tombé sur ce fil de discussion particulier du forum platformio qui explique comment les paramètres de construction par défaut de platformio ne configurent pas correctement le pilote USB CDC sur le contrôleur.

Un indice a été trouvé, un fil de discussion a été tiré et un mystère a été élucidé. La chose suivante que je savais, c’est que la machine fonctionnait en quelque sorte. Le seul problème que j’ai rencontré a été le sertissage d’un de ces fichus connecteurs JST-XH qui ne fonctionnait pas correctement, ce qui a fait que l’un des steppers ne s’est jamais déplacé correctement.

Une fois ce problème résolu, il était temps de passer à autre chose. Et c’est ce qui s’est passé !

Tadaaaa !