Traceur maison: conseils pour les débutants, travailler avec grbl-firmware

Tout en étudiant à l'université un sujet aussi divertissant que les circuits, j'ai pensé à faire dans le cadre du projet de cours "Traceur à deux axes sur papier avec la tête d'un stylo plume basé sur Arduino." Au moment où j'ai commencé à travailler, j'ai moi-même vaguement imaginé le développement de la partie électrique du projet, ainsi que de la partie mécanique. Il n'y a jamais eu une telle expérience dans ma vie. C'est pourquoi j'ai trouvé sur le réseau, triant beaucoup de ressources, qui me semblait le tutoriel le plus simple et le plus compréhensible, et j'ai décidé de le suivre exactement. Cependant, il est vite devenu évident que tout ce qui était simple à première vue n'était pas assez détaillé pour un tel "artisan" comme moi. Par conséquent, dans les questions qui restaient en coulisse, j'ai dû improviser, pas toujours avec succès, comme il s'est avéré plus tard. C'était un peu de fond. J'aimerais maintenant partager ma précieuse expérience sur un certain nombre de questions clés. Je ne donnerai pas de nouvelles instructions avec ma version de cet appareil, car sur Internet, donc des solutions plus efficaces.


Table des matières


  1. La construction
  2. Circuit électrique
  3. Logiciels

1. Conception



Le design que j'ai choisi était en contreplaqué. Comme les essieux, des goujons ont été utilisés, qui ont été mis en rotation par des moteurs pas à pas, et pour cette raison, la plate-forme sur les écrous s'est déplacée le long de l'axe. Un axe était attaché à la plate-forme, l'autre avec un bord. De la fabrication de tout cela, je peux dire:


  • Si l'axe supérieur n'a pas de support des deux côtés, mais est fixé, comme le mien, avec un seul bord, vous devez réfléchir à l'avance à l'équilibre des axes. Celui du haut va inévitablement talonner, voire pas du tout, submerger toute la structure avec le poids de son bord «suspendu».
  • Les lignes du motif peuvent aller par vagues le long de la taille du filetage du goujon, ainsi qu'en raison de la gigue de la structure elle-même pendant le fonctionnement.
  • Deux des problèmes ci-dessus conduisent à une autre chose: le stylo (dans mon cas, le stylo) peut écrire de manière inégale dans différentes parties de la page.
  • Le poids et les dimensions de l'appareil doivent également être calculés à l'avance, afin que plus tard, il ne devienne pas clair que vos moteurs ne tirent pas une telle charge.
  • Et un autre détail important: il est préférable d'utiliser des vis, des clous, etc. dans la mesure du possible pour la fixation. Les dessins sur colle, même les plus fiables, ont tendance à se désagréger au moment le plus inattendu. Et dans certains cas, après assemblage de la pièce principale, il sera très difficile de revenir au «collage» de pièces internes petites mais très importantes sans démonter les pièces finies.
  • Si vous utilisez de la colle quelque part, veillez très, très attentivement à ce qu'elle ne tombe pas dans les parties mobiles de la structure. Même une petite gouttelette peut bloquer le mécanisme et le rendre inutilisable.

2. Le circuit électrique




Le circuit lui-même était extrêmement simple et ne nécessitait même pas de soudure. J'ai même pris le CNC Shield fini spécialement pour travailler avec CNC. Néanmoins, il y a quelques nuances ici:


  • Mon analogue chinois d'Arduino, nommé WAVGAT, pour un segment a refusé de flasher comme un Arduino Uno R3 normal. Il a été affirmé sur Internet que ces cartes sont entièrement compatibles avec tous les logiciels Arduino, mais pour travailler avec lui via l'IDE, il était nécessaire de télécharger une bibliothèque de mise à jour WAVGAT distincte. J'ai donc réussi à télécharger le croquis sur la carte, mais le logiciel lui-même ne voulait toujours pas fonctionner correctement. J'ai essayé toutes les options pour résoudre ces problèmes (j'ai surchargé le chargeur de démarrage de la carte, changé les fichiers des cartes et les constantes de la bibliothèque avec le logiciel), mais le résultat est resté le même. Apparemment, c'est pour cette tâche que vous devrez obtenir l'Arduino classique.
  • Un autre problème a été le lancement des moteurs pas à pas. Ils fredonnaient, s'échauffaient, malgré les conducteurs froids, mais ne bougeaient pas. En vérifiant méthodiquement la chaîne élément par élément, j'ai réalisé que le problème est dans leur connexion. Le fait est que cette fois, les Chinois étaient aussi originaux. Il s'est avéré que les fils du moteur contiennent des paires croisées AB. Si les paires d'un moteur de magasin ordinaire allaient de l'ordre de 2B-2A-1A-1B, alors pour une raison quelconque, les Chinois avaient 2V-1A-2A-1B. Cela peut être vérifié en «sélectionnant» le circuit avec un multimètre dans le mode correspondant: les sorties AB appariées grincent.
  • Et pourtant, il s'est avéré que le servo variateur inoffensif de faible puissance est tout à fait capable de "brûler" irrémédiablement toute la carte Arduino avec une charge excessive prolongée. Dans ce cas, la carte continuera à fonctionner, mais sera parfois interrompue au milieu, s'arrêtant aux commandes d'asservissement.
  • Par conséquent, surveillez la température des appareils pendant leur fonctionnement pour éviter des conséquences fatales.

3. Logiciel


Il y a des options:


  • Le moyen le plus simple d'obtenir un merveilleux programme BenBox simple. Il est spécialisé spécifiquement pour travailler avec CNC et est facile à installer et à manipuler. L'inconvénient de cette option est ses limites. Premièrement, le micrologiciel de la carte dans le bundle logiciel est déjà contenu dans le fichier hexadécimal, il y a donc des problèmes avec sa modification. Et la fonctionnalité en général n'est pas très étendue, elle ressemble à un simple éditeur graphique. Si vous ne voulez pas entrer dans les détails du fonctionnement de tout ce mécanisme, vous pouvez travailler avec cette option.
  • Un peu plus compliqué, mais aussi plus prometteur est de travailler avec le firmware GRBL. Cette bibliothèque peut être facilement consultée sur Internet et offre beaucoup plus de fonctionnalités que BenBox. Mais pour travailler à travers ce mécanisme, vous devez gérer la configuration initiale de tout cela.
    1. Alors, téléchargez et décompressez la bibliothèque grbl-servo. Vous pouvez maintenant le télécharger sur la carte via l'IDE, simplement en le trouvant parmi les exemples.
    2. Pour envoyer des commandes directement à l'appareil, vous aurez besoin de Universal Gcode Sender (ou d'un autre logiciel similaire). Après l'avoir installé sur un ordinateur, nous ouvrons le canal de communication avec la carte via le port com auquel la carte est connectée.
    3. Pour les paramètres initiaux et ultérieurs de la carte dans la ligne de commande de l'application, tapez "$$". Par cette commande, nous obtenons un ensemble complet de paramètres de base de la carte, qui peuvent être modifiés en définissant les paramètres nécessaires. Par exemple, les commandes "$ 110 = 380" et "$ 111 = 380" définissent la vitesse des moteurs sur les axes X et Y à 380 mm \ min. Les paramètres importants sont la vitesse et l'accélération des moteurs, la direction des axes (directe ou inverse). Vous trouverez plus d'instructions sur ce paramètre sur Internet.
    4. Il y a aussi la possibilité de contrôler la machine sur les moteurs (onglet de commande de la machine) et le servo (commandes M5 (rotation vers la position initiale) et M3 s90 (rotation 90 ou tout autre nombre de degrés)).
    5. Ensuite, vous devez préparer une image pour le travail. Pour cela, vous aurez également besoin d'un supplément. Logiciel, par exemple, Inkscape. Il est similaire à n'importe quel autre éditeur graphique et vous pouvez en savoir plus sur son utilisation également sur Internet. Mais il y a quelques points importants:
  • Vous devez d'abord définir les tailles de page correctes dans les propriétés afin que la taille de votre image ne semble pas être supérieure aux capacités du traceur. Il est également nécessaire de remplacer les pixels par des millimètres en unités de mesure.
  • Après avoir créé l'image, appuyez sur ctrl + shift + C et allez dans le menu - extensions - MI GRBL ... - réglez la vitesse des moteurs et l'angle de rotation du servo - enregistrez l'image au format gcode.
    1. Enfin, nous revenons à l'expéditeur universel de Gcode et dans l'onglet Mode fichier, ouvrons notre image gcode. À l'aide du bouton Visualiser, vous pouvez surveiller graphiquement le fonctionnement du programme et, dans la fenêtre Tableau des commandes, vous pouvez suivre l'exécution de la commande. Il ne reste plus qu'à exécuter tout cela et à observer le résultat.

En conséquence, le travail sur un tel appareil s'est avéré difficile et laborieux, et le résultat final n'est pas idéal. Mais une telle expérience est intéressante et non inutile. Par conséquent, j'espère que quelqu'un viendra à portée de main et aidera à éviter un "ratissage" inutile de mes conseils.

Source: https://habr.com/ru/post/fr432818/


All Articles