« CNC 3018 » : différence entre les versions
mAucun résumé des modifications |
mAucun résumé des modifications |
||
(14 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
== Logiciels nécessaires == | == Sur Logiciels nécessaires == | ||
Une CNC c'est bien mais "toute nue" avec seulement sa micro télécommande. c'est pas l'idéal. | Une CNC c'est bien mais "toute nue" avec seulement sa micro télécommande. c'est pas l'idéal. | ||
On trouve une liste de "ressources" chez [https://docs.sainsmart.com/article/3jgtgas880-genmitsu-3018-pro-resources Genmitsu]. | |||
=== Conception === | === Conception === | ||
Ligne 9 : | Ligne 11 : | ||
=== Génération du gcode === | === Génération du gcode === | ||
Je conseille l'utilisation de '''Carbide Create''' ([https://carbide3d.com/carbidecreate/ lien]) pour générer le gcode. | Je conseille l'utilisation de '''Carbide Create''' ([https://carbide3d.com/carbidecreate/ lien]) pour générer le gcode. | ||
'''Beaucoup d'avertissements:''' | |||
{| class="wikitable" | {| class="wikitable" | ||
|[[Fichier:Attention.png|sans_cadre|70x70px]] | |[[Fichier:Attention.png|sans_cadre|70x70px]] | ||
|Depuis la version 7 de Carbide Create on ne peut plus, sans payer une version pro, générer de gcode. On utilisera la V6 que l'on [https://carbide3d.com/carbidecreate/download6 trouve ici]. | |Depuis la version 7 de Carbide Create on ne peut plus, sans payer une version pro, générer de gcode. On utilisera la V6 que l'on [https://carbide3d.com/carbidecreate/download6 trouve ici]. | ||
Même le 6 est assez récente et pas la plus adaptée a la CNC3018. Moi j'utilise une "vielle" 1.1.7 mise a dispo par Genmitsu. Là c'est chrome qui nous pose des problèmes. Le lien lui plait pas! | |||
http://s3.amazonaws.com/s3.image.smart/download/101-60-3018PROVER/Grblcontrol%28Candle_1.1.7%20%29.zip<nowiki/>Un wget fat le travail! vive la ligne de commande! | |||
|} | |} | ||
{| class="wikitable" | {| class="wikitable" | ||
Ligne 85 : | Ligne 91 : | ||
!Vitesse de la broche | !Vitesse de la broche | ||
!nb flutes | !nb flutes | ||
! | !Plunge rate | ||
!Profondeur de coupe | vitesse de descente | ||
!Feedrate | |||
Vitesse d'avance | |||
!Depth | |||
Profondeur de coupe | |||
|- | |- | ||
!2mm | !2mm | ||
|max (10 000 t/min) | |max (10 000 t/min) | ||
|2 | |2 | ||
| | |800 m/min | ||
|800 m/min | |||
|0,200 mm | |0,200 mm | ||
|- | |- | ||
Ligne 97 : | Ligne 108 : | ||
|max (10 000 t/min) | |max (10 000 t/min) | ||
|2 | |2 | ||
| | |800 m/min | ||
|400 m/min | |||
|0,200 mm | |0,200 mm | ||
|- | |- | ||
Ligne 103 : | Ligne 115 : | ||
|max (10 000 t/min) | |max (10 000 t/min) | ||
|2 | |2 | ||
| | |800 m/min | ||
|400 m/min | |||
|0,200 mm | |0,200 mm | ||
|} | |} | ||
Ligne 118 : | Ligne 131 : | ||
* 10 Fraises de 0.6 mm à 21.69€ https://www.amazon.fr/dp/B08TR6X93M?psc=1&ref=ppx_yo2ov_dt_b_product_details | * 10 Fraises de 0.6 mm à 21.69€ https://www.amazon.fr/dp/B08TR6X93M?psc=1&ref=ppx_yo2ov_dt_b_product_details | ||
Dans un premier temps parlons de la fraise 1mm achetée chez Amazon. Je l'ai utilisée classiquement avec le trio [[FreeCad|freecad]] + carbide + candel. | |||
{| class="wikitable" | |||
|+ | |||
! | |||
!Vitesse de la broche | |||
!Plunge rate | |||
vitesse de descente | |||
!Feedrate | |||
Vitesse d'avance | |||
!Depth | |||
Profondeur de coupe | |||
|- | |||
|1.0 mm | |||
|max (10 000 t/min) | |||
|800 m/min | |||
|400 m/min* | |||
|0.2 | |||
|- | |||
|0.6 mm | |||
|max (10 000 t/min) | |||
|50 m/min | |||
|50 m/min | |||
|0.1 | |||
|} | |||
<nowiki>*</nowiki> On peut monter à 800 m/min mais ça a l'air de "forcer" à vous de voir. | |||
Bien sur j'utilise de l'huile de coupe "Fellowes" décrite ci dessus. Pour que ce soit idéal j'usine d'abord un cadre que je pose sur la plaque à usiner. Ca fait un "petit bassin" que je remplis d'huile c'est parfait. | |||
===== Les forêt ===== | |||
Je me fournis chez Farnell: | |||
* Un foret C.I.F. de 0.6mm à 5,64€ https://fr.farnell.com/cif/du66/foret-carbure-0-6mm/dp/1418450 | * Un foret C.I.F. de 0.6mm à 5,64€ https://fr.farnell.com/cif/du66/foret-carbure-0-6mm/dp/1418450 | ||
Pour faire des perçages à l'aide de foret carbide ne sais pas faire (ou j'ai pas compris comment faire). | |||
Carbide sait faire des perçages de type "pockets" mais, pour celà, il faut des fraises d'un diamètre inférieur au trou. | |||
[[Fichier:Pocket-percages.png|sans_cadre]] | |||
On voit la l'exemple d'un perçage de 1.2mm avec une fraise de 1mm. Dans cet exemple carbide à généré 7 étapes : | |||
* Descendre la fraise | |||
* Un petit cercle | |||
* Un plus grand cercle | |||
* Remonter la fraise pour "casser le copeau" | |||
Et ça 7 fois de suite. | |||
Ca fait un percage tout a fait correct mais: | |||
* Il faut une fraise encore plus petite que notre trou (déja je veux un percage de 0.6... me faudrait une fraise de 0.4) | |||
* La fraise travaille latéralement et quand elle est tres fine... ça casse (surtout pour une 0.4) | |||
La solution serait d'utiliser un foret au lieu d'une fraise et de programmer un trajet correspondant a ce que l'on ferait avec une perceuse sur colonne. | |||
* Je descends un peu le foret | |||
* Je remonte pour casser le copeau | |||
* Je redescends un peu plus bas | |||
* etc.. jusqu'a la profondeur voulue. | |||
Je ne vois pas pourquoi ma 3018 ne serait pas capable de cela mais, apres plein de recherches, je n'ai pas trouvé d'outils pour faire ça! | |||
En plus mon besoin était de partir d'un fichier "drl" issue d'un logiciel de CAO électronique ([[EAGLE PCB|Eagle PCB]]). | |||
Pour j'ai donc écris deux scripts python. | |||
* Un pour lire un fichier "drl" et construire un fichier JSON comportant les coordonnées de chaque trou et pour chaque outil (chaque diamètre) | |||
* Un pour convertir ce fichier JSON en gcode | |||
J'ai fait ça en deux morceaux car je voulais pouvoir générer du gcode même dans le cas où je n'ai pas de "drl" | |||
On va prendre un exemple ou je veux faire 6 trous de 0.6 mm sur deux rangées et espacés de 1.27 mm. | |||
On cherche à faire une pièce qui ressemble à : | |||
[[Fichier:Exemple-percage.png|sans_cadre]] | |||
On ne s'occupe pas ici du contour, c'est simple avec carbide, mais des 6 trous de 0.6mm. | |||
On a donc 6 trous à faire (origine à l'angle du bas à gauche) | |||
{| class="wikitable" | {| class="wikitable" | ||
|+ | |+ | ||
! | !Trou | ||
! | !x | ||
! | !y | ||
! | |- | ||
!1 | |||
|1.90 | |||
|1.27 | |||
|- | |||
!2 | |||
|3.17 | |||
|1.27 | |||
|- | |||
!3 | |||
|4.44 | |||
|1.27 | |||
|- | |- | ||
!4 | |||
|1.90 | |||
| | |2.54 | ||
| | |||
|- | |- | ||
!5 | |||
|3.17 | |||
| | |2.54 | ||
| | |||
|- | |- | ||
!6 | |||
|4.44 | |||
| | |2.54 | ||
| | |||
|} | |} | ||
On construit le JSON suivant:<syntaxhighlight lang="json"> | |||
{"tools":{ | |||
"T3":0.6, | |||
"T2":0.9, | |||
"T1":2 | |||
}, | |||
"holes":[ | |||
{"tool":"T3","x":1.900,"y":1.270}, | |||
{"tool":"T3","x":3.170,"y":1.270}, | |||
{"tool":"T3","x":4.440,"y":1.270}, | |||
{"tool":"T3","x":1.900,"y":2.540}, | |||
{"tool":"T3","x":3.170,"y":2.540}, | |||
{"tool":"T3","x":4.440,"y":2.540} | |||
] | |||
} | |||
</syntaxhighlight>J'utilise mon script de transformation:<syntaxhighlight lang="bash"> | |||
./json2gcode.py -test.nc test.json | |||
</syntaxhighlight>et j'obtiens :<syntaxhighlight lang="gcode"> | |||
;Generated with json2gcode.py (c) Jean PINON 2024 | |||
G90 | |||
G21 | |||
M05 | |||
G0Z4.0 | |||
M0 ;T3 | |||
M03S10000 | |||
;drill | |||
G0X1.9Y1.27Z4.0 | |||
G1Z0.0F203.0 | |||
G1Z-0.7F203.0 | |||
G0Z4.0 | |||
G1Z-1.4F203.0 | |||
G0Z4.0 | |||
G1Z-2.0999999999999996F203.0 | |||
G0Z4.0 | |||
G1Z-2.8F203.0 | |||
G0Z4.0 | |||
G1Z-3.5F203.0 | |||
G0Z4.0 | |||
G1Z-4.2F203.0 | |||
G0Z4.0 | |||
G1Z-4.9F203.0 | |||
G0Z4.0 | |||
G1Z-5.6000000000000005F203.0 | |||
G0Z4.0 | |||
G1Z-6.1F203.0 | |||
G0Z4.0 | |||
;drill | |||
G0X3.17Y1.27Z4.0 | |||
G1Z0.0F203.0 | |||
G1Z-0.7F203.0 | |||
G0Z4.0 | |||
G1Z-1.4F203.0 | |||
G0Z4.0 | |||
G1Z-2.0999999999999996F203.0 | |||
G0Z4.0 | |||
G1Z-2.8F203.0 | |||
G0Z4.0 | |||
G1Z-3.5F203.0 | |||
G0Z4.0 | |||
G1Z-4.2F203.0 | |||
G0Z4.0 | |||
G1Z-4.9F203.0 | |||
G0Z4.0 | |||
G1Z-5.6000000000000005F203.0 | |||
G0Z4.0 | |||
G1Z-6.1F203.0 | |||
G0Z4.0 | |||
;drill | |||
G0X4.44Y1.27Z4.0 | |||
G1Z0.0F203.0 | |||
G1Z-0.7F203.0 | |||
G0Z4.0 | |||
G1Z-1.4F203.0 | |||
G0Z4.0 | |||
G1Z-2.0999999999999996F203.0 | |||
G0Z4.0 | |||
G1Z-2.8F203.0 | |||
G0Z4.0 | |||
G1Z-3.5F203.0 | |||
G0Z4.0 | |||
G1Z-4.2F203.0 | |||
G0Z4.0 | |||
G1Z-4.9F203.0 | |||
G0Z4.0 | |||
G1Z-5.6000000000000005F203.0 | |||
G0Z4.0 | |||
G1Z-6.1F203.0 | |||
G0Z4.0 | |||
;drill | |||
G0X1.9Y2.54Z4.0 | |||
G1Z0.0F203.0 | |||
G1Z-0.7F203.0 | |||
G0Z4.0 | |||
G1Z-1.4F203.0 | |||
G0Z4.0 | |||
G1Z-2.0999999999999996F203.0 | |||
G0Z4.0 | |||
G1Z-2.8F203.0 | |||
G0Z4.0 | |||
G1Z-3.5F203.0 | |||
G0Z4.0 | |||
G1Z-4.2F203.0 | |||
G0Z4.0 | |||
G1Z-4.9F203.0 | |||
G0Z4.0 | |||
G1Z-5.6000000000000005F203.0 | |||
G0Z4.0 | |||
G1Z-6.1F203.0 | |||
G0Z4.0 | |||
;drill | |||
G0X3.17Y2.54Z4.0 | |||
G1Z0.0F203.0 | |||
G1Z-0.7F203.0 | |||
G0Z4.0 | |||
G1Z-1.4F203.0 | |||
G0Z4.0 | |||
G1Z-2.0999999999999996F203.0 | |||
G0Z4.0 | |||
G1Z-2.8F203.0 | |||
G0Z4.0 | |||
G1Z-3.5F203.0 | |||
G0Z4.0 | |||
G1Z-4.2F203.0 | |||
G0Z4.0 | |||
G1Z-4.9F203.0 | |||
G0Z4.0 | |||
G1Z-5.6000000000000005F203.0 | |||
G0Z4.0 | |||
G1Z-6.1F203.0 | |||
G0Z4.0 | |||
;drill | |||
G0X4.44Y2.54Z4.0 | |||
G1Z0.0F203.0 | |||
G1Z-0.7F203.0 | |||
G0Z4.0 | |||
G1Z-1.4F203.0 | |||
G0Z4.0 | |||
G1Z-2.0999999999999996F203.0 | |||
G0Z4.0 | |||
G1Z-2.8F203.0 | |||
G0Z4.0 | |||
G1Z-3.5F203.0 | |||
G0Z4.0 | |||
G1Z-4.2F203.0 | |||
G0Z4.0 | |||
G1Z-4.9F203.0 | |||
G0Z4.0 | |||
G1Z-5.6000000000000005F203.0 | |||
G0Z4.0 | |||
G1Z-6.1F203.0 | |||
G0Z4.0 | |||
G0X0Y0Z4.0G1 | |||
M05 | |||
M02 | |||
</syntaxhighlight>Que je peux ouvrir avec candle: | |||
[[Fichier:Exemple-percages-candle.png|sans_cadre]] | |||
Il n'y a plus qu'à lancer l'usinage! J'utilise toujours ma méthode de bain d'huile et ca marche tres bien même avec les fraises de 0.6 bon marché Amazon. | |||
Pour les vitesses j'ai mis les constantes suivantes dans mon script :<syntaxhighlight lang="python3"> | |||
zUpPosition=4.00000 | |||
zDownPosition=0.00000 | |||
zDepth=-6.1 | |||
zStep=0.7 | |||
plugeSpeed=203.0 | |||
</syntaxhighlight>Déplacement à 4mm au dessus de la plaque (oui c'est pas haut). | |||
* On commence à percer à 0. | |||
* Un trou de 6.1 mm. | |||
* Par pas de 0.7 mm | |||
* Avec une vitesse de plongée de 203 m/min | |||
Une page de ce wiki présente ce script : [[Gcode percage foret|génération gcode de perçage]]. | |||
== Mode LASER == | |||
La CNC possède deux modes un mode normal et un mode LASER. | |||
* Mode normal : Durant l'usinage la broche continue à tourner pendant les déplacements rapides entre deux traveaux. | |||
* Mode Laser : Le laser est éteint lors des parcours rapides. | |||
L'usage du mode Laser en usinage fait allumer la broche alors que la fraise est déja rentré dans la matière. | |||
L'usage du mode normal en marquage (découpe) laser va faire des traits lors des déplacements. | |||
Pour changer de mode c'est :<syntaxhighlight lang="gcode"> | |||
(Mode normal) | |||
$32=0 | |||
(Mode laser) | |||
$32=1 | |||
</syntaxhighlight>Dans mon cas le logiciel de laser (Laser GRBL) Force le paramètre à $32=1 alors que Candle ne le positionne pas à $32=0! On peut le rajouter dans la chaine d'init mais ce n'est pas la conf par défaut. | |||
== Le hardware == | |||
[[Fichier:GRBL 1.1.png|alt= GRBL 1.1|vignette|119x119px|GRBL 1.1]] | |||
=== La carte mère === | |||
Pour remplacer la carte mère livrée avec la CNC 3018 PRO d'origine j'ai trouvé une version améliorée: | |||
* Il y a un bouton ON/OFF digne de ce nom (pas le pousseur infame de la version d'origine) | |||
* Le bouton reset a changé de place (pas plus accessible qu'avant mais ailleurs) | |||
* Les connecteurs "d'en bas" ne sont plus de bêtes broches espacés de 2.54 mais une série de "vrais" JST à deux voie. | |||
* Un nouveau connecteur pour un bouton d'arrêt d'urgence est disponible (toujours en JST 2 voies) | |||
[[Fichier:CarteMere3018grbl1.1.png|sans_cadre|473x473px]] | |||
=== Installer une broche plus puissante que celle d'origine === | |||
=== Utiliser la sonde d'axe Z === | |||
=== Installer des "fin de courses" === | |||
Apres un an avec des "fin de courses" mécaniques de type microswitch. | |||
[[Fichier:Switchs fin de course.png|sans_cadre|122x122px]] | |||
Le fonctionnement était assez satisfaisant mais la durabilité a été mauvaise. Malgré des petits boitiers sur mesure imprimés en 3D pour les protéger ils n'ont pas duré plus de 12 mois en utilisation moyenne. | |||
J'ai procédé à un remplacement par des modèles optiques. | |||
[[Fichier:Fin de course optique.png|sans_cadre]] | |||
C'est significativement le même prix (entre 1 et 2 € chacun) | |||
Attention cependant ils sont assez sensibles et l'obstacle à la lumière doit être efficace. 4mm de CPE jaune ne suffit pas, il faut impérativement du noir. | |||
J'ai crée des petits dispositifs imprimés en 3D pour placer ces capteurs: | |||
[[Fichier:3D-stops-3018.png|sans_cadre|529x529px]] | |||
On voit les supports en jaune. (sans compter les deux molettes X Y) | |||
==== Le capteur de fin de course "X" ==== | |||
[[Fichier:X-stop.png|sans_cadre|420x420px]][[Fichier:EndstopX-2.png|sans_cadre|424x424px]]Une pièce fixe est fixée sur les rails profilés "X" avec deux "t-nuts". le capteur optique est fixé dessus. Un index est lui fixé sur le chariot "X" avec deux vis M2. Un perçage de 1.6 est fait dans le chariot puis fileté. le capteur et l'index peuvent être ajustés en serrant ou desserrant les vis. Le connecteur du capteur se retrouve tourné vers l'arrière. | |||
==== Le capteur de fin de course "Y" ==== | |||
[[Fichier:Endstop-Y.png|sans_cadre|420x420px]][[Fichier:Endstop-Y-vue 2.png|sans_cadre|420x420px]] | |||
Une pièce fixe portant le module optique est serrée sur le profilé Y. L'index est fixé sur le plateau Y (par dessous). La fixation se fait par des vis et des t-nuts toujours pour ajuster. | |||
==== Le capteur de fin de course "Z" ==== | |||
C'est le plus difficile à réaliser et le plus complexe (3 pièces) | |||
[[Fichier:Zstop.png|sans_cadre|421x421px]][[Fichier:Zstop-view2.png|sans_cadre|420x420px]] | |||
Le support du module optique est fixé sur le chariot X avec une vis M2. Un perçage sera fait sur le chariot taraudé en M2. | |||
L'index est fait de deux pièces affin qu'il soit "imprimable". | |||
Sur la vue de droite on voit le détail des deux pièces. La partie rouge rentre dans la fente de serrage du support de broche. Elle permet un ajustement de quelques mm de l'index dans l'axe des Y. La pièce verte et la rouge seront collées à la cyano. | |||
l'ajustement se fait toujours grâce à une vise M2 et a un taraudage dans le porte broche. | |||
=== Molette de déplacement manue === | |||
A faire | |||
== Liens utiles == | |||
Dans certains cas je n'ai pas encore eu le temps d'écrire "à ma façon" une page sur un sujet alors je donne des liens. | |||
* Comment utiliser une CNC 3018 avec un [[Raspberry PI]] https://lebearcnc.com/preparation-dun-rapsberry-pi-4-pour-piloter-sa-cnc-avec-bcnc-et-ou-cncjs-on-vous-montre-tout/ |
Version actuelle datée du 29 octobre 2024 à 12:58
Sur Logiciels nécessaires
Une CNC c'est bien mais "toute nue" avec seulement sa micro télécommande. c'est pas l'idéal.
On trouve une liste de "ressources" chez Genmitsu.
Conception
Il faut d'abord faire de la conception. En 2D avec InkScape par exemple et en 3D avec FreeCAD (un excellent outil).
Avec FREECAD on peut générer des plans de coupe en 2D (des fichiers DXF) que l'on pourra utiliser avec un logiciel de FAO.
Génération du gcode
Je conseille l'utilisation de Carbide Create (lien) pour générer le gcode.
Beaucoup d'avertissements:
Depuis la version 7 de Carbide Create on ne peut plus, sans payer une version pro, générer de gcode. On utilisera la V6 que l'on trouve ici.
Même le 6 est assez récente et pas la plus adaptée a la CNC3018. Moi j'utilise une "vielle" 1.1.7 mise a dispo par Genmitsu. Là c'est chrome qui nous pose des problèmes. Le lien lui plait pas! http://s3.amazonaws.com/s3.image.smart/download/101-60-3018PROVER/Grblcontrol%28Candle_1.1.7%20%29.zipUn wget fat le travail! vive la ligne de commande! |
Pour les utilisateurs de Windows en français Carbide gère mal les séparateurs décimaux. Il n'autorise que la saisie avec des points (1.2mm par exemple) mais utilise les settings de Windows pour valider la saisie.
Pour entrer un diamètre de fraise de 1,6 mm on est obligé de taper 1.6 (carbide interdit de saisir une virgule) en revanche, lors de la vérification de la saisie il utilise les settings Windows. Donc il oblige de saisir les nombres au format anglo-saxon mais interdit la validation si ce n'est pas une "," dans le cas de la France.... On appelle ça un dead-lock ! La seule solution pour se sortir de ce mauvais pas c'est de changer les settings Windows. C'est sale car tout le PC est impacté mais c'est comme ça! Sous Windows 11 le changement est assez fastidieux. Je le décris ici. |
Pilotage de la CNC
Ensuite il faudra un logiciel de gestion de la machine pour "jouer le gcode" sur la CNC. Moi j'utilise Candle GRBL.
Perçages
Avec une CNC et des fraises on peut faire des perçages en tout genres. Les "pockets" avec Carbade Create sont là pour ça. Mais leur principe est basé sur l'utilisation d'une fraise.
- On positionne la fraise au centre du trou
- On la descends pour faire une premiere passe
- On la déplace pour faire le trou (éventuellement en plusieurs fois)
- On descends un peu plus bas
- ....
Cela implique d'avoir des fraises plus petites que le trou.
Mais si nous voulons faire un joli trou cylindrique et que l'on dispose d'un foret du bon diamètre pourquoi faire compliqué!
- On positionne le foret au dessus du trou
- On descends par petits coup sucessifs (pour casser le copeau)
- Et on remonte
C'est tout.
J'ai fais deux scripts python pour gérer ça.
- Un pour traduire les fichiers Excellon (issue de EAGLE PCB par exemple) en une description JSON plus simple
- Un second qui prends un JSON généré plus haut et en fait le gCode pour Candle GRBL
Entre les deux étapes on peut modifier le JSON (ou même en créer un beau tout neuf).
On trouvera le code ici : https://github.com/villoiseaux/cnctools/tree/main/simple-drilling
Vitesse de coupe
C'est l'un des paramètres le plus difficile a gérer. Surtout lorsque on sort du traditionnel MDF qui accepte un peut tout.
Normalement la fraise doit faire de jolis copeaux. Si on avance trop vite le copeau est trop gros la fraise bloque et se casse. Si on est sous la vitesse idéale la fraise ne fait qu'user la matière. on a alors de la sciure plutôt que de beau copeaux. Normalement ça peut être un moindre mal : ça marche mais on pourrait aller plus vite.
Acrylique
C'est souvent ce que l'on appelle "plexiglass". Ce sont les plaques de plastique transparent que l'on a vu fleurir entre nous et les commerçants à la caisse. On en trouve beaucoup depuis la fin de la crise sanitaire.
Il est difficile a usiner car, si on va trop vite en terme d'avance la fraise casse (ça c'est du classique) mais si on ne va pas assez vite elle frotte et... elle casse.
En plus sur nos CNC bas de gamme la réduction de de la vitesse de la broche lui enlève tout son couple.
La solution : "mets de l'huile". Oui c'est la lubrification qui nous permettra de faire un joli travail.
En ce qui concerne "quel lubrifiant utiliser"; j'utilisais auparavant de l'huile de coupe achetée en grande surface de bricolage. Ca se présentait en spray et c'était pas idéal. C'est le hasard qui m'a fait trouvé le lubrifiant idéal.
Suite a un déménagement au bureau où je travailles on allait jeter un carton de liquide de lubrification pour les broyeurs à papier.
Les fraises
Les "grosses"
J'utilise des fraise HSS assez standards et elles ne s'usent pas très vites.
Classiquement j'utilise des fraises cylindrique de 2mm, 3mm, 4mm (queue de 4) et 5mm (queue de 6).
Pour l'acrylique je préfère les fraises de 2, 3 et 4mm elles marchent très bien.
Vitesse de la broche | nb flutes | Plunge rate
vitesse de descente |
Feedrate
Vitesse d'avance |
Depth
Profondeur de coupe | |
---|---|---|---|---|---|
2mm | max (10 000 t/min) | 2 | 800 m/min | 800 m/min | 0,200 mm |
3mm | max (10 000 t/min) | 2 | 800 m/min | 400 m/min | 0,200 mm |
4mm | max (10 000 t/min) | 2 | 800 m/min | 400 m/min | 0,200 mm |
Le truc est de laisser toujours la fraise baigner dans le lubrifiant. Tant que les copaux restent transparents c'est bon. Des qu'ils deviennent blancs c'est qu'il faut de l'huile.
Les "petites"
Pour un projet j'ai usiné de l'acrylique avec des fraises de 1mm et de 0.6mm. Le tout sur des plaques de 3 à 6mm d'épaisseur.
Je ne précise pas le nombre de "flutes" car elles sont très petites et ce n'est pas précisé dans la doc!
Je me suis fournis chez Amazon:
- 10 Fraises de 1mm à 11.99€ https://www.amazon.fr/dp/B082B46442?ref=ppx_yo2ov_dt_b_product_details&th=1
- 10 Fraises de 0.6 mm à 21.69€ https://www.amazon.fr/dp/B08TR6X93M?psc=1&ref=ppx_yo2ov_dt_b_product_details
Dans un premier temps parlons de la fraise 1mm achetée chez Amazon. Je l'ai utilisée classiquement avec le trio freecad + carbide + candel.
Vitesse de la broche | Plunge rate
vitesse de descente |
Feedrate
Vitesse d'avance |
Depth
Profondeur de coupe | |
---|---|---|---|---|
1.0 mm | max (10 000 t/min) | 800 m/min | 400 m/min* | 0.2 |
0.6 mm | max (10 000 t/min) | 50 m/min | 50 m/min | 0.1 |
* On peut monter à 800 m/min mais ça a l'air de "forcer" à vous de voir.
Bien sur j'utilise de l'huile de coupe "Fellowes" décrite ci dessus. Pour que ce soit idéal j'usine d'abord un cadre que je pose sur la plaque à usiner. Ca fait un "petit bassin" que je remplis d'huile c'est parfait.
Les forêt
Je me fournis chez Farnell:
- Un foret C.I.F. de 0.6mm à 5,64€ https://fr.farnell.com/cif/du66/foret-carbure-0-6mm/dp/1418450
Pour faire des perçages à l'aide de foret carbide ne sais pas faire (ou j'ai pas compris comment faire).
Carbide sait faire des perçages de type "pockets" mais, pour celà, il faut des fraises d'un diamètre inférieur au trou.
On voit la l'exemple d'un perçage de 1.2mm avec une fraise de 1mm. Dans cet exemple carbide à généré 7 étapes :
- Descendre la fraise
- Un petit cercle
- Un plus grand cercle
- Remonter la fraise pour "casser le copeau"
Et ça 7 fois de suite.
Ca fait un percage tout a fait correct mais:
- Il faut une fraise encore plus petite que notre trou (déja je veux un percage de 0.6... me faudrait une fraise de 0.4)
- La fraise travaille latéralement et quand elle est tres fine... ça casse (surtout pour une 0.4)
La solution serait d'utiliser un foret au lieu d'une fraise et de programmer un trajet correspondant a ce que l'on ferait avec une perceuse sur colonne.
- Je descends un peu le foret
- Je remonte pour casser le copeau
- Je redescends un peu plus bas
- etc.. jusqu'a la profondeur voulue.
Je ne vois pas pourquoi ma 3018 ne serait pas capable de cela mais, apres plein de recherches, je n'ai pas trouvé d'outils pour faire ça!
En plus mon besoin était de partir d'un fichier "drl" issue d'un logiciel de CAO électronique (Eagle PCB).
Pour j'ai donc écris deux scripts python.
- Un pour lire un fichier "drl" et construire un fichier JSON comportant les coordonnées de chaque trou et pour chaque outil (chaque diamètre)
- Un pour convertir ce fichier JSON en gcode
J'ai fait ça en deux morceaux car je voulais pouvoir générer du gcode même dans le cas où je n'ai pas de "drl"
On va prendre un exemple ou je veux faire 6 trous de 0.6 mm sur deux rangées et espacés de 1.27 mm.
On cherche à faire une pièce qui ressemble à :
On ne s'occupe pas ici du contour, c'est simple avec carbide, mais des 6 trous de 0.6mm.
On a donc 6 trous à faire (origine à l'angle du bas à gauche)
Trou | x | y |
---|---|---|
1 | 1.90 | 1.27 |
2 | 3.17 | 1.27 |
3 | 4.44 | 1.27 |
4 | 1.90 | 2.54 |
5 | 3.17 | 2.54 |
6 | 4.44 | 2.54 |
On construit le JSON suivant:
{"tools":{
"T3":0.6,
"T2":0.9,
"T1":2
},
"holes":[
{"tool":"T3","x":1.900,"y":1.270},
{"tool":"T3","x":3.170,"y":1.270},
{"tool":"T3","x":4.440,"y":1.270},
{"tool":"T3","x":1.900,"y":2.540},
{"tool":"T3","x":3.170,"y":2.540},
{"tool":"T3","x":4.440,"y":2.540}
]
}
J'utilise mon script de transformation:
./json2gcode.py -test.nc test.json
et j'obtiens :
;Generated with json2gcode.py (c) Jean PINON 2024
G90
G21
M05
G0Z4.0
M0 ;T3
M03S10000
;drill
G0X1.9Y1.27Z4.0
G1Z0.0F203.0
G1Z-0.7F203.0
G0Z4.0
G1Z-1.4F203.0
G0Z4.0
G1Z-2.0999999999999996F203.0
G0Z4.0
G1Z-2.8F203.0
G0Z4.0
G1Z-3.5F203.0
G0Z4.0
G1Z-4.2F203.0
G0Z4.0
G1Z-4.9F203.0
G0Z4.0
G1Z-5.6000000000000005F203.0
G0Z4.0
G1Z-6.1F203.0
G0Z4.0
;drill
G0X3.17Y1.27Z4.0
G1Z0.0F203.0
G1Z-0.7F203.0
G0Z4.0
G1Z-1.4F203.0
G0Z4.0
G1Z-2.0999999999999996F203.0
G0Z4.0
G1Z-2.8F203.0
G0Z4.0
G1Z-3.5F203.0
G0Z4.0
G1Z-4.2F203.0
G0Z4.0
G1Z-4.9F203.0
G0Z4.0
G1Z-5.6000000000000005F203.0
G0Z4.0
G1Z-6.1F203.0
G0Z4.0
;drill
G0X4.44Y1.27Z4.0
G1Z0.0F203.0
G1Z-0.7F203.0
G0Z4.0
G1Z-1.4F203.0
G0Z4.0
G1Z-2.0999999999999996F203.0
G0Z4.0
G1Z-2.8F203.0
G0Z4.0
G1Z-3.5F203.0
G0Z4.0
G1Z-4.2F203.0
G0Z4.0
G1Z-4.9F203.0
G0Z4.0
G1Z-5.6000000000000005F203.0
G0Z4.0
G1Z-6.1F203.0
G0Z4.0
;drill
G0X1.9Y2.54Z4.0
G1Z0.0F203.0
G1Z-0.7F203.0
G0Z4.0
G1Z-1.4F203.0
G0Z4.0
G1Z-2.0999999999999996F203.0
G0Z4.0
G1Z-2.8F203.0
G0Z4.0
G1Z-3.5F203.0
G0Z4.0
G1Z-4.2F203.0
G0Z4.0
G1Z-4.9F203.0
G0Z4.0
G1Z-5.6000000000000005F203.0
G0Z4.0
G1Z-6.1F203.0
G0Z4.0
;drill
G0X3.17Y2.54Z4.0
G1Z0.0F203.0
G1Z-0.7F203.0
G0Z4.0
G1Z-1.4F203.0
G0Z4.0
G1Z-2.0999999999999996F203.0
G0Z4.0
G1Z-2.8F203.0
G0Z4.0
G1Z-3.5F203.0
G0Z4.0
G1Z-4.2F203.0
G0Z4.0
G1Z-4.9F203.0
G0Z4.0
G1Z-5.6000000000000005F203.0
G0Z4.0
G1Z-6.1F203.0
G0Z4.0
;drill
G0X4.44Y2.54Z4.0
G1Z0.0F203.0
G1Z-0.7F203.0
G0Z4.0
G1Z-1.4F203.0
G0Z4.0
G1Z-2.0999999999999996F203.0
G0Z4.0
G1Z-2.8F203.0
G0Z4.0
G1Z-3.5F203.0
G0Z4.0
G1Z-4.2F203.0
G0Z4.0
G1Z-4.9F203.0
G0Z4.0
G1Z-5.6000000000000005F203.0
G0Z4.0
G1Z-6.1F203.0
G0Z4.0
G0X0Y0Z4.0G1
M05
M02
Que je peux ouvrir avec candle:
Il n'y a plus qu'à lancer l'usinage! J'utilise toujours ma méthode de bain d'huile et ca marche tres bien même avec les fraises de 0.6 bon marché Amazon.
Pour les vitesses j'ai mis les constantes suivantes dans mon script :
zUpPosition=4.00000
zDownPosition=0.00000
zDepth=-6.1
zStep=0.7
plugeSpeed=203.0
Déplacement à 4mm au dessus de la plaque (oui c'est pas haut).
- On commence à percer à 0.
- Un trou de 6.1 mm.
- Par pas de 0.7 mm
- Avec une vitesse de plongée de 203 m/min
Une page de ce wiki présente ce script : génération gcode de perçage.
Mode LASER
La CNC possède deux modes un mode normal et un mode LASER.
- Mode normal : Durant l'usinage la broche continue à tourner pendant les déplacements rapides entre deux traveaux.
- Mode Laser : Le laser est éteint lors des parcours rapides.
L'usage du mode Laser en usinage fait allumer la broche alors que la fraise est déja rentré dans la matière.
L'usage du mode normal en marquage (découpe) laser va faire des traits lors des déplacements.
Pour changer de mode c'est :
(Mode normal)
$32=0
(Mode laser)
$32=1
Dans mon cas le logiciel de laser (Laser GRBL) Force le paramètre à $32=1 alors que Candle ne le positionne pas à $32=0! On peut le rajouter dans la chaine d'init mais ce n'est pas la conf par défaut.
Le hardware
La carte mère
Pour remplacer la carte mère livrée avec la CNC 3018 PRO d'origine j'ai trouvé une version améliorée:
- Il y a un bouton ON/OFF digne de ce nom (pas le pousseur infame de la version d'origine)
- Le bouton reset a changé de place (pas plus accessible qu'avant mais ailleurs)
- Les connecteurs "d'en bas" ne sont plus de bêtes broches espacés de 2.54 mais une série de "vrais" JST à deux voie.
- Un nouveau connecteur pour un bouton d'arrêt d'urgence est disponible (toujours en JST 2 voies)
Installer une broche plus puissante que celle d'origine
Utiliser la sonde d'axe Z
Installer des "fin de courses"
Apres un an avec des "fin de courses" mécaniques de type microswitch.
Le fonctionnement était assez satisfaisant mais la durabilité a été mauvaise. Malgré des petits boitiers sur mesure imprimés en 3D pour les protéger ils n'ont pas duré plus de 12 mois en utilisation moyenne.
J'ai procédé à un remplacement par des modèles optiques.
C'est significativement le même prix (entre 1 et 2 € chacun)
Attention cependant ils sont assez sensibles et l'obstacle à la lumière doit être efficace. 4mm de CPE jaune ne suffit pas, il faut impérativement du noir.
J'ai crée des petits dispositifs imprimés en 3D pour placer ces capteurs:
On voit les supports en jaune. (sans compter les deux molettes X Y)
Le capteur de fin de course "X"
Une pièce fixe est fixée sur les rails profilés "X" avec deux "t-nuts". le capteur optique est fixé dessus. Un index est lui fixé sur le chariot "X" avec deux vis M2. Un perçage de 1.6 est fait dans le chariot puis fileté. le capteur et l'index peuvent être ajustés en serrant ou desserrant les vis. Le connecteur du capteur se retrouve tourné vers l'arrière.
Le capteur de fin de course "Y"
Une pièce fixe portant le module optique est serrée sur le profilé Y. L'index est fixé sur le plateau Y (par dessous). La fixation se fait par des vis et des t-nuts toujours pour ajuster.
Le capteur de fin de course "Z"
C'est le plus difficile à réaliser et le plus complexe (3 pièces)
Le support du module optique est fixé sur le chariot X avec une vis M2. Un perçage sera fait sur le chariot taraudé en M2.
L'index est fait de deux pièces affin qu'il soit "imprimable".
Sur la vue de droite on voit le détail des deux pièces. La partie rouge rentre dans la fente de serrage du support de broche. Elle permet un ajustement de quelques mm de l'index dans l'axe des Y. La pièce verte et la rouge seront collées à la cyano.
l'ajustement se fait toujours grâce à une vise M2 et a un taraudage dans le porte broche.
Molette de déplacement manue
A faire
Liens utiles
Dans certains cas je n'ai pas encore eu le temps d'écrire "à ma façon" une page sur un sujet alors je donne des liens.
- Comment utiliser une CNC 3018 avec un Raspberry PI https://lebearcnc.com/preparation-dun-rapsberry-pi-4-pour-piloter-sa-cnc-avec-bcnc-et-ou-cncjs-on-vous-montre-tout/