Une carte de contrôle CNC simple et moderne

A la suite de l’utilisation de ma nouvelle machine  de découpe fil chaud équipée du système IPL5X (non compatible Jedicut) avec une carte de commande des moteurs PAP Ramps 1.4, il s’avère que la réalisation de la carte électronique est compliquée. Y a-t-il plus simple ?

Oui en associant Jedicut + Arduino + Ramps 1.4 et un peu de travail.

La version avec toutes les options revient à environ 160 €, la plus simple 80€.

Je tiens à féliciter Jérome pour son travail de développement de Jedicut et de Martin pour son plugin USB dont je me suis inspiré pour donner naissance à Jedicut-Alden.

J’ai relu certains passages du forum de Jedicut, en particulier Jérôme qui développe le logiciel Jedicut.  J’ai remarqué que des passionnés ont développés des plugins et une interface USB entre PC et carte de commande DB 25 de la MM2001 pour la commande des moteurs. J’ai donc fais des essais de ces interfaces et plugin, ceux-ci donnent  satisfaction.

Je me suis fait la réflexion suivante: Pourquoi ne pas donner la possibilité aux nouveaux adeptes de la découpe fil chaud de s’équiper d’une électronique bon marché,  performante et facile à réaliser. Je vais donc développer pour Jedicut une électronique USB + Arduino + Ramps 1.4.

Cet article n’est certainement pas parfait, j’ai essayé de le rendre accessible aux néophytes afin qu’ils réalisent leur machine sans trop de problème. Que les plus aguerris acceptent les répétitions, qu’ils me remontent aussi les erreurs éventuelles. Le dossier complet Jedicut-Alden  rassemble toutes les documentations nécessaires à la réalisation.  Il est important de lire entièrement cette notice avant de se lancer.

Important : Les connaissances  de l’Arduino, de la carte Ramps 1.4 et de l’environnement IDE Arduino ne sont pas détaillées dans cet article. Il faut lire aussi « Arduino + Ramps 1.4 + IDE » (inclus dans le dossier en téléchargement).

Je vous souhaite une bonne réalisation.

3 options possibles pour cette carte de contrôle CNC

En se basant sur le même principe Arduino + Ramps 1.4, il est possible de réaliser 3 versions :

  • Une version simple, c’est le minimum à réaliser.
  • Une version avec affichage (écran LCD),
  • Une version luxe avec affichage et panneau de commande.

Voici 2 liens pour acheter votre carte Arduino :

Schéma de câblage de la version simple

Version simple :

  • Arduino mega,
  • Ramps1.4,
  • Alim 12v,
  • Alim 36v,
  • PWM chauffe,
  • Arc fil,
  • Ampèremètre,
  • Ventilateur des drivers,
  • Commande d’un relais de coupure de chauffe.

Cette version ne gère pas les fins de course mini. Toutes les commandes se font par Jedicut.

Arrêt d’urgence par BP externe : celui-ci est mis en parallèle sur le BP « RESET » de la carte Ramps 1.4. Sur la Ramps 1.4 il n’y a pas de pin « RESET » à disposition, il faut donc  souder 2 fils sur le BP « RESET ».

Schéma de câblage de la version avec écran

Version Affichage :

  • Arduino mega,
  • Ramps1.4,
  • Alim 12v,
  • Alim 36v,
  • PWM chauffe,
  • Arc fil,
  • Ampèremètre,
  • Ventilateur des drivers,
  • Commande d’un relais de coupure de chauffe,
  • Afficheur 4×20.

Cet afficheur indique :

  • Pendant la découpe, affiche la vitesse de coupe et la puissance de chauffe en %,
  • Pendant l’initialisation, affichage des paramètres de configuration machine.

Cette version ne gère pas les fins de course mini. Toutes les commandes se font par Jedicut.

Arrêt d’urgence par BP externe : celui-ci est mis en parallèle sur le BP « RESET » de la carte Ramps 1.4. Sur la Ramps 1.4 il n’y a pas de pin « RESET » à disposition, il faut donc  souder 2 fils sur le BP « RESET ».

Schéma de câblage de la version de luxe

Version Luxe:

  • Arduino mega,
  • Ramps1.4,
  • Alim 12v,
  • Alim 36v,
  • PWM chauffe,
  • Arc fil,
  • Ampèremètre,
  • Ventilateur des drivers,
  • Commande d’un relais de coupure de chauffe,
  • Afficheur 4×20,
  • Condamnation des ordres venant du PC,
  • Condamnation des moteurs PAP,
  • Affichage des commandes manuelles.
  • Gestion des fins de course.

La gestion des fins de course peut shuntée si vous n’avez pas de capteur de fin de course en mettant un cavalier sur les 2 picots comme indiqué sur l’image en rouge.

Les particularités de cette version :

  • Arrêt d’urgence de la machine (la découpe ne peut pas redémarrée).
  • Permet de la chauffe du fil en manuel pour le nettoyage.
  • La chauffe du fil en manuel n’est pas permise pendant la découpe.
  • Hors découpe, permet la commande de chauffe d’un cutter électrique par exemple pour la découpe
    des cavités de servos.
  • Choix pour la commande manuelle de la chauffe du fil entre potentiomètre ou encodeur rotatif.
  • Buzzer d’alarme fin de course.
  • Si les fins de course sont utilisées, il est possible de positionner le zéro axe par axe.

Une fabrication simplifiée

Les circuits imprimés sont dans le dossier. Dans les versions sans commande manuelle, la réalisation de circuit imprimé n’est pas indispensable. Donc seule la version Luxe, avec ses commandes manuelles, nécessite la réalisation d’un circuit imprimé.

Les trois versions ont le même coffret, les plans dxf font partie du dossier.

Le matériel nécessaire

Pour la version Simple :

  • Arduino Mega + Ramps 1.4 + drivers,
  • Alimentation 12V 10A,
  • Alimentation 36V 10A,
  • Text step,
  • Ampèremètre (recommandé),
  • Programme Arduino : fcaldenmega_1-2-1-1.

Pour la version avec affichage, on rajoute :

  • Afficheur LCD + nappe pour son raccordement.

Pour la version de luxe :

  • L’ampèremètre est obligatoire,
  • Il faut acheter tous les composants nécessaires à la création du panneau de commande manuel (liste des composants dans le dossier),
  • Le programme Arduino change : fcaldenmega_2-4-1.

Pour les versions simple et affichage, le raccordement des moteurs peut se faire différemment, sans circuits imprimés.

Pour les trois versions, j’ai ressorti sur une pin du connecteur « AUX-0 » ou « SERVO » de la RAMPS 1.4  (D11) une recopie des impulsions de step de X1, cela permet de faire un contrôle avec un oscilloscope.

Le point test D11 et GND sont représentés par des points rouges.

Simulation des cartes électroniques

La carte de commandes manuelles avec connecteur pour câble plat vers Ramps 1.4 (côté composants et côté cuivre).

DB25 de connexions des équipements X1-Y1 ou X2-Y2 et des fins de courses. Pour les moteurs, les pins sont
doublées pour chaque fil. Il faut 2 cartes.

Les deux connecteurs DB25 pour la liaison des moteurs et des fins de course des équipements X1-Y1 et X2-Y2. Une DB9 pour éventuellement un 5 ème axe.

J’utilise le logiciel KiCad depuis de nombreuses années, la nouvelle version offre des possibilités de routage exceptionnelles, c’est un plaisir de router des cartes compliquées. Avant de bien maitriser la nouvelle version, j’ai un peu galéré, il est indispensable de pratiquer avec méthode, mais le résultat est là.

La génération des fichiers gerber des 2 faces cuivrées, du fichier de perçage, du fichier de contour est réalisé par KiCad. Ces fichiers sont directement lus par le logiciel CamBam. Je génère les 4 fichiers gcode pour ma fraiseuse CNC.

Pour ceux qui ne connaissent pas le logiciel Kicad, rendez vous dans le dossier CI_PDF vous trouverez tous les fichiers en *.pdf. Ces fichiers contiennent les tipons et les perçages.

Réalisation des cartes électroniques

Je réalise mes cartes par gravure CNC à partir de plaques époxy de 15/10 mm nues. De KICAD dans CamBam pour le Gcode puis sur fraiseuse CNC avec fraise javelot de 0.2 mm 30°, 25000 T/mn, 800mm/mn, 1 passe de 0.1 mm. Contour fraise diamant 1 mm en 2 passes.

Les cartes sortant de la fraiseuse CNC:

Les cartes sont dégraissées à l’acétone et étamées à froid.

La carte de commande manuelle avec ses composants.

Le dessous de la carte de commande.

Préparation des torons de câbles et prises pour raccordement sur la Ramps 1.4

Les DB25 et les câbles sont soudés.

Impression de la façade, 2.6 mm d’épaisseur avec une imprimante 3D.

La façade, l’ampèremètre indique l’intensité du courant traversant le fil chaud.

L’arrière de la façade.

Sur ma carte Ramps 1.4 il manque 2 picots pour le ventilateur des drivers, on voit les 2 trous à coté de la diode.

Soudure des 2 picots, le ventilateur sera bien alimenté en 12 v.

Présentation du support de ventilateur. Celui-ci est imprimé 3D, vous pouvez le faire en plastique plié à chaud.

Essai des cartes Arduino et Ramps 1.4 et réglage des drivers des moteurs pas à pas

Vous câblez l’ensemble pour réaliser les essais avec votre machine, la mise en boitier se fera après les essais.

Essai de la carte Ramps 1.4

Voir le dossier ARDUINO + RAMPS + IDE

Après les essais de la carte Ramps 1.4, vous pouvez coller les radiateurs sur les Pololu. Prendre garde qu’ils ne touchent pas les potentiomètres.

Vous réglez la REF au courant nominal de vos moteurs. Vous recoiffez le tout du ventilateur.

Programmation de l’Arduino

Attention, la programmation du firmware et sa configuration sont différents selon la version de la carte de contrôle que vous avez choisi.

Programmation de la version simple ou avec affichage

Dans un premier temps, vous copiez le sketch « fcaldenmega_1-2-1 » dans le sous-répertoire « Applications » du répertoire « Arduino ».

Lancez « IDE Arduino ». Vous aurez un programme par défaut qui s’ouvre ou un programme qui a été utilisé précédemment. Faites  « Fichier, Ouvrir », chercher dans le répertoire « Applications » le dossier de votre programme, ouvrir le dossier et cliquez 2 fois sur le « fcaldenmega_1-2-1.ino ».

Une nouvelle fenêtre s’ouvre et votre programme est disponible. Il se peut que vous ayez d’autres onglets que celui de votre programme, ceux-ci font partie de votre sketch, ce sont des fichiers qui permettent d’avoir des fichiers plus courts, plus faciles à modifier et souvent des fichiers de configuration.

Dans notre cas, nous avons un fichier « conf.h ».  Vous cliquez sur l’onglet, vous avez des paramètres propres à votre machine à configurer. Vous revenez sur l’onglet « fcaldenmega_1-2-1.ino ».

Je vous conseille avant toute modification d’enregistrer le sketch sous un autre nom pour conserver l’original comme indiqué dans la notice Arduino + Ramps + IDE.

Faites « Fichier, Enregistrer sous » choisissez le répertoire « Applications » de « Arduino » puis « Enregistrer ».

Votre sketch à son nouveau nom, vous le voyez dans l’onglet. Branchez le câble USB. Vérifiez dans l’IDE le type de carte et le port Comx.

Cliquez sur l’onglet « Conf.h ».

Vous avez 3 paramètres :

  • Pas par step en mm  400 ce sont mes moteurs 200 pas/tour, électronique en ½ pas, vis 1 mm. Vous remplacez la valeur sur la ligne 9  « 0.0025 » par votre valeur.
  • La ligne 11 : j’ai limité la puissance de mon fil chaud à 80 (80%), ça commence à rougir.
  • La ligne 13 la vitesse de transmission laissez 115200.

Vous changez les valeurs propres à votre machine, vous sauvegardez par l’icône « flèche vers le bas » vous revenez sur votre programme « fcaldenmega_1-2-1_al1.ino » par l’onglet.

Maintenant nous pouvons téléverser  dans l’Arduino Mega 2560:

  • Branchez le câble USB
  • Vérifiez dans l’IDE le type de carte et le port Comx
  • Téléversez le sketch.

Si vous êtes en version simple, vous passez à la phase d’essai avec Jedicut.

Si vous êtes en version affichage, à la fin du téléversement l’afficheur indique :

Pendant l’initialisation, l’affichage rappelle :

  • La configuration.
  • La version du sketch.
  • La vitesse de transmission.

Ensuite l’affichage indique :

  • Le déplacement à chaque step en mm,
  • La limite de chauffe.

A la fin de l’initialisation on a les indications de fonctionnement :

  • La vitesse de découpe,
  • La puissance de chauffe transmise par Jedicut.

Programmation de la version de luxe

Dans un premier temps, vous copiez le sketch  » fcaldenmega_2-4-1″ dans le sous-répertoire « Applications » du répertoire « Arduino ».

Lancez « IDE Arduino ». Vous aurez un programme par défaut qui s’ouvre ou un programme qui a été utilisé précédemment.

Faites  « Fichier, Ouvrir », chercher dans le répertoire « Applications » le dossier de votre programme, ouvrir le dossier et cliquez 2 fois sur le  » fcaldenmega_2-4-1.ino ».

Une nouvelle fenêtre s’ouvre et votre programme est disponible. Il se peut que vous ayez d’autres onglets que celui de votre programme, ceux-ci font partie de votre sketch, ce sont des fichiers qui permettent d’avoir des fichiers plus courts, plus faciles à modifier et souvent des fichiers de configuration.

Dans notre cas, nous avons un fichier « conf.h ».  Vous cliquez sur l’onglet, vous avez des paramètres propres à votre machine à configurer. Vous revenez sur l’onglet « fcaldenmega_2-4-1.ino ».

Je vous conseille avant toute modification d’enregistrer le sketch sous un autre nom pour conserver
l’original comme indiqué dans la notice Arduino + Ramps + IDE.

Faites « Fichier, Enregistrer sous » choisissez le répertoire « Application » de « Arduino » puis « Enregistrer ».

Votre sketch à son nouveau nom, vous le voyez dans l’onglet. Branchez le câble USB. Vérifiez dans l’IDE le type de carte et le port Comx.

Cliquez sur l’onglet « Conf.h ».

Vous avez 6 paramètres :

  • Pas par step : 400 ce sont mes moteurs 200 pas/tour, Electronique en ½ pas, vis 1 mm. Vous remplacez la valeur sur la ligne 9  « 0.0025 » par votre valeur.
  • La ligne 11 J’ai limité la puissance du cutter électrique à 50.
  • La ligne 13 j’ai limité la puissance de mon fil chaud à 80 (80%), ça commence à rougir.
  • La ligne 16 j’ai mis un « 0 » j’ai choisi l’encodeur pour le réglage manuel de la chauffe.
  • La ligne 18 j’ai mis « 1 » pas d’alarme sonore.
  • La ligne 20 la vitesse de transmission laissez 115200.

Vous changez les valeurs propres à votre machine, vous sauvegardez par l’icône « flèche vers le bas », vous revenez sur votre programme « fcaldenmega_2-4-1_al1.ino » par l’onglet.

Maintenant nous pouvons téléverser  dans l’Arduino Mega 2560 :

  • Branchez le câble USB,
  • Vérifiez dans l’IDE le type de carte et le port Comx,
  • Téléversez le sketch.

Pendant l’initialisation l’affichage rappelle la configuration :

  • La version du sketch,
  • La vitesse de transmission,
  • Le buzzer est OFF.

Le 2 ème écran présente :

  • Le déplacement à chaque step en mm,
  • La limite de chauffe du fil à 80%,
  • La limite de chauffe du cutter à 50%,
  • La variation de la chauffe manuelle se fait à partir de l’encodeur rotatif.

Lors de l’initialisation, on teste la position des interrupteurs. Dans ce cas l’interrupteur Mode PC/MANU est resté sur PC. Mettre l’inter sur manu, le test continue.

Si l’interrupteur Mot était déjà sur OFF, cet écran ne serait pas apparu.

Si l’interrupteur chauffe était déjà sur OFF, cet écran ne serait pas apparu.

Le démarrage est terminé, les lignes 3 et 4 sont séparées en 4 colonnes.

La réalisation de cette carte de contrôle est terminée !

La suite…

La suite de cet article est consacrée à la configuration de Jedicut et aux tests : https://www.jedicut.com/blog/carte-controle-cnc/arduino-ramps-decoupe-fil-chaud-partie-2/

Le dossier complet avec tous les fichiers nécessaires à la réalisation de cette carte de contrôle est disponible ici : https://drive.google.com/open?id=0BwnRsMt6_HIYZzZzNWQzS1FOQ2s

Si vous avez des questions, créez une discussion spécifique sur le forum, ça simplifiera les recherches pour les personnes qui se poseront les mêmes questions que vous 😉

Auteur : AERODEN
Blog : http://alainfelixdenis.wordpress.com/
Site internet : http://www.aeroden.fr