Un tout petit tutoriel pour apprendre à créer des fichiers GCODE en 5 minutes avec LibreCAD, HeeksCAD et HeeksCNC.
A voir en 720p / FullScreen sur Youtube.
Ce site regroupe des contributions en français de bidouilleurs, bricoleurs, électroniciens, adeptes de bidouillabilités, pour faire court : de passionnés du « fait soi-même ».
Samedi, janvier 21 2012
Par Pierre Doucet le Samedi, janvier 21 2012, 11:03 - Planet
Un tout petit tutoriel pour apprendre à créer des fichiers GCODE en 5 minutes avec LibreCAD, HeeksCAD et HeeksCNC.
A voir en 720p / FullScreen sur Youtube.
Dimanche, mai 29 2011
Par Pierre Doucet le Dimanche, mai 29 2011, 11:38 - Construction
Maintenant que je dispose du petit palpeur pour l’axe des Z, je me lance dans une série de tests de précision de la machine. Notamment un test concernant l’axe des Z. L’axe est monté et descendu 150 fois pour mesurer l’éventuelle dérive de position.
Voilà le morceau de G-CODE utilisé.
G21 (mm) F80 (probe speed) (PROBEOPEN probe_point.txt) #1=0 (counter) #2=150 (number of points) O1 while [#1 lt #2] G0Z2 G38.2Z-10 #1=[#1+1] O1 endwhile G0Z2 (PROBECLOSE) M2
Ainsi que le bout de programme gnuplot pour mettre tout ça en image.
set terminal png size 800,800 set output "point.png" set title "Vérification des mesures sur un point" #set xrange [0:5] #set yrange [-2:2] plot 'probe_point.txt' using 3 with lines
Et voilà le résultat:
Regardez bien l’échelle, on est au centième de millimètre… pas trop mal pour du DIY
Jeudi, mai 26 2011
Par Pierre Doucet le Jeudi, mai 26 2011, 20:29 - Construction
Vous vous souvenez, il y a quelques temps ma fraiseuse s’est « mise à jour » en s’auto fabricant un support de DREMEL en PEHD. Et bien voilà qu’elle remet ça. Je me suis décidé à remplacer ma table de fraisage en bois par une en PVC avec un système de réglage de l’assiette afin de pouvoir corriger d’éventuels défauts d’alignement ( oui, oui, il y en a un peu… ). Mais avant de remplacer cette table, il faut régler un problème avec les supports des barres de guidage. Les supports sont surélevés avec des rondelles pour permettre le passage des chariots sur douilles à billes. Seulement voilà, avec le poids de la machine, les rondelles commencent à s’enfoncer dans le bois qui n’est pas assez dur (MDF).
J’ai donc entrepris de fraiser des semelles en PEHD pour les supports. Après de longues minutes d’attente voilà mes 4 pieds prêts à poser.
Les semelles sont parfaitement ajustées et répartissent le poids de la machine sur le socle en bois.
Les bases sont posées, on peut remplacer la table de fraisage. C’est une plaque de PVC très rigide de 15mm d’épaisseur. Elle est montée sur 4 tiges filetées de 6mm afin de pouvoir ajuster précisément sa hauteur. Le pas d’une vis M6 étant de 1mm, ça signifie qu’en serrant l’écrou de réglage d’1 tour je pourrais monter ou descendre la table d’1mm. L’ajustement est donc particulièrement précis.
Ma table étant ajustable, il faut trouver un moyen précis pour calculer la hauteur requise au 4 coins en corrigeant d’éventuels problèmes d’ajustement de la machine. Pour cela j’ai mis au point un palpeur à monter sur la dremel. Ce n’est rien d’autre qu’un micro interrupteur qui servira à mesurer la hauteur de la table en différents points.
Un petit tour dans les boites à récup et me voilà avec une fiche CINCH, un interrupteur, un cable de souris, un bout de tube et un écrou / boulon de 3mm.
Un petit coup de fer à souder… un petit coup de perceuse pour passer le câble…
Et on assemble le tout à grand coup de colle cyanolite
La fiche CINCH est soudée sur le cable.
Le palpeur est terminé. Je l’installe sur le mandrin de la Dremel et je branche le câble sur l’entrée de la carte de commande servant habituellement au « Homing » de l’axe Z.
Le côté mécanique étant terminé, il faut s’attaquer à la partie logicielle. Nous allons utiliser un peu de langage G-CODE pour effectuer une grille de hauteur de la table de fraisage.
(Configuration section) G21 (mm) F80 (probe speed) #1=0 (X start) #2=50 (X increment) #3=5 (X count) #4=0 #5=50 #6=5 (Y count) #7=2 (Z safety) #8=-10 (Z probe) (End configuration section) (PROBEOPEN probe_table_map.txt) #9=0 #10=0 G0Z#7 O1 while [#9 lt #6] #10=0 G0 Y[#4+#5*#9] O2 while [#10 lt #3] O3 if [[#9/2] - fix[#9/2] eq 0] G0X[#1+#2*#10] O3 else G0X[#1+#2*[#3-#10-1]] O3 endif G38.2Z#8 G0Z#7 #10=[#10+1] O2 endwhile #9=[#9+1] O1 endwhile (PROBECLOSE) G0Z#7 G0X#1Y#4 M2
Ce code va lancer des mesures sur un carré de 200 x 200 mm en effectuant une mesure tous les 50mm. Les valeurs sont stockées dans un fichier texte probe_table_map.txt. (Je n’ai rien inventé, j’ai honteusement pompé un exemple proposé avec EMC)
Après quelques minutes, nous disposons d’un fichier texte avec les valeurs mesurées.
0.000000 0.000000 -1.434338 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 50.000000 0.000000 -1.495669 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 100.000000 0.000000 -1.619665 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 150.000000 0.000000 -1.763661 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 200.000000 0.000000 -1.894324 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 200.000000 50.000000 -2.024987 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 150.000000 50.000000 -1.916990 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 100.000000 50.000000 -1.795660 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 50.000000 50.000000 -1.696996 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 50.000000 -1.632998 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 100.000000 -1.766328 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 50.000000 100.000000 -1.834326 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 100.000000 100.000000 -1.944989 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 150.000000 100.000000 -2.528971 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 200.000000 100.000000 -2.115651 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 200.000000 150.000000 -2.167649 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 150.000000 150.000000 -2.086318 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 100.000000 150.000000 -2.014320 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 50.000000 150.000000 -1.939656 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 150.000000 -1.842325 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 200.000000 -1.882324 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 50.000000 200.000000 -1.975655 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 100.000000 200.000000 -2.020987 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 150.000000 200.000000 -2.104984 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 200.000000 200.000000 -2.187648 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
Ce n’est pas très parlant, mais gnuplot peut nous aider. Nous allons créer un petit programme gnuplot utilisant les fonctions pm3d pour mettre en image l’assiette de la table.
set terminal png size 800,800 set output "heatmmap.png" set xrange [0:200] set yrange [0:200] set cbrange [1:-2] set view map set dgrid3d 100,100,2 set palette model RGB set palette defined #unset surface set pm3d at s splot 'probe_table_map.txt' using 1:2:3 with pm3d at s notitle
Le résultat avec une table non équilibrée.
On voit immédiatement le déséquilibre, le coin devant/gauche est plus haut de 1mm que le coin derrière/droite !
En ajustant légèrement la vis de réglage devant à gauche, on peut corriger l’assiette.
Le résultat est encore imparfait ( j’ai réglé la table au pif ) mais la méthode fonctionne. C’est long et empirique mais l’essentiel c’est d’obtenir un résultat à la hauteur de ses espérances…
Vendredi, mars 11 2011
Par Pierre Doucet le Vendredi, mars 11 2011, 18:42 - Construction
Lorsque j’ai fabriqué ma fraiseuse numérique, il y a certaines pièces, comme le support de DREMEL, qui ont été fabriquées rapidement pour pouvoir être remplacées plus tard.
La machine étant pleinement fonctionnelle, il est temps de l’améliorer en lui fabriquant de nouveaux supports de DREMEL en PEHD. Les 2 pièces à fabriquer présentent des profils simples, on va utiliser QCAD pour les dessiner.
A part l’espace intérieur qui a été calculé par rapport au diamètre d’une Dremel série 300, le reste est un peu dessiné au pifomètre. Vous pouvez télécharger le profil DXF ici dremel_mount.dxf
Pour mieux se rendre compte de ce que sera l’objet final, j’ai utilisé l’excellent OPENSCAD pour modéliser en 3D les 2 pièces. Ce logiciel permet de charger des profils 2D en DXF pour les « extruder » et les modifier à volonté. Sa particularité, c’est d’utiliser un langage de définition des objets et non une interface graphique pour dessiner. Rebutant au premier abord, c’est finalement génial, on peut modéliser à la volée des changements de taille, de diamètre de perçage par exemple… sans aucun risque d’erreur de placement.
Voici par exemple le fichier de définition de mes supports.
module dremel_mount_top ()
{
difference()
{
dxf_linear_extrude(file="DREMEL_MOUNT.dxf",layer="MOUNT_TOP",height=15,center=true,$fn=100);
rotate([90,0,0])
{
// drill left hole
translate([40,0,0])
{
cylinder(r=2.5,h=100,center=true);
}
// drill right hole
translate([-40,0,0])
{
cylinder(r=2.5,h=100,center=true);
}
}
// drill hole
rotate([0,90,0])
{
translate([0,38,0])
{
cylinder(r=2.5,h=100,center=true);
}
}
}
}
module dremel_mount_bottom ()
{
difference()
{
dxf_linear_extrude(file="DREMEL_MOUNT.dxf",layer="MOUNT_BOTTOM",height=15,center=true,$fn=100);
rotate([90,0,0])
{
// drill left hole
translate([24,0,0])
{
cylinder(r=2.5,h=100,center=true);
}
// drill right hole
translate([-24,0,0])
{
cylinder(r=2.5,h=100,center=true);
}
}
// drill hole
rotate([0,90,0])
{
translate([0,22,0])
{
cylinder(r=2.5,h=100,center=true);
}
}
}
}
dremel_mount_bottom();
translate([0,0,100])
{
dremel_mount_top();
}
Et voilà le rendu final dans OpenSCAD
Plutôt réaliste non ?
De plus, le logiciel permettant d’exporter au format STL, vous pouvez imprimer les pièces en 3D si vous disposez d’une Reprap ou d’une MakerBot.
Pour usiner mes pièces, il faut transformer le profil en fichier de découpe interprétable par le logiciel EMC, c’est le langage G-CODE. J’ai utilisé l’excellent HeeksCNC pour celà.
Il est maintenant temps d’envoyer le fichier G-CODE sur la fraiseuse.
Une chute de PEHD de 15 mm est solidement fixée sur la table de fraisage. C’est parti pour une quinzaine de minutes d’usinage.
Le résultat final est à la hauteur de mes espérances
Il ne reste plus qu’à usiner la deuxième pièce et à monter le tout sur la machine, à la place de l’ancien système, peu pratique et peu esthétique.
Le projet ODCNC continue d’avancer, j’enrichis petit à petit la documentation au fur et à mesure de l’utilisation de la fraiseuse.
Samedi, novembre 28 2009
Par Pierre Doucet le Samedi, novembre 28 2009, 17:10 - Construction
Aujourd’hui, j’ai fabriqué un support « tout-terrain » pour appareil photo compact ou petit camescope afin de pourvoir filmer en attachant l’appareil à un guidon de vélo, un balcon de bateau, une branche ou même un casque. Pour ça j’ai dessiné un petit support comportant une vis centrale pour fixer l’appareil et 4 fentes latérales pour pouvoir y passer des bandes velcro ou des sangles.
Afin d’avoir un support très solide et de petites dimensions, j’ai utilisé du DELRIN, une matière plastique très solide. Pour la vis d’appareil photo, j’en ai récupéré une sur un pied d’appareil photo cassé. Sinon, vous pouvez vous en procurer chez tous les bons photographes. Attention à ne pas utiliser un boulon M6 métrique, les vis pour APN ont un pas anglais…
Un petit coup de Qcad nous donne une petite pièce toute simple. Vous pouvez télécharge le fichier DXF ici.
Quelques paramétrages plus loin, le fichier GCODE pour la fraiseuse est prêt. C’est parti pour une bonne heure de fraisage avec une fraise droite 3mm. J’ai réduit volontairement la vitesse de coupe et d’avance pour le pas fondre le plastique, celui-ci étant assez épais (8mm).
La matière première: un bloc de DELRIN noir de 88x38x8.
Après de longues minutes de fraisage, me voilà avec une belle pièce.
Le centre de la pièce est évidé pour que la tête de la vis puisse s’y loger en entier. Un circlip empêche la vis de tomber une fois en place.
Vue de derrière.
La partie arrière permet de visser fermement l’appareil sur le support. Ensuite elle se replie dans son logement.
Je mettrais l’article à jour dès que j’aurais récupéré des bandes velcro.
Le test sur un dossier de chaise avec une caméra Kodak Zi8: impec
Dimanche, novembre 22 2009
Par Pierre Doucet le Dimanche, novembre 22 2009, 09:34 - Construction
Vous vous souvenez de ma « fraiseuse CNC v1« , c’était une première version, pas vraiment fonctionnelle mais qui m’a permis de me familiariser avec la fabrication d’une telle machine.
Ensuite, j’ai fabriqué la version actuelle, estampillée V2, tout à fait opérationnelle celle là.
Cependant, avec l’expérience, elle souffre de quelques limitations:
Partant de ce constat, j’ai décidé de me lancer dans une 3° version qui j’espère sera plus performante. Avec toutefois 2 contraintes:
Pour arriver à un bon résultat, j’ai cherché du matériel me permettant d’obtenir des mouvements linéaires très précis sans pour autant êtres ruineux. Pour cela, j’ai trouvé sur Ebay des arbres de précision avec des paliers en aluminium équipés de douilles à billes. Pour la structure de la machine et les différentes pièces mécaniques, je me suis orienté vers du polyéthylène haute densité ou PEHD, moins cher que le DELRIN. C’est un plastique très dur, facile à fraiser / couper qui sert notamment dans le domaine alimentaire pour faire des planches à découper la viande. Je vais utiliser la fraiseuse V2 pour fabriquer les petites pièces plastiques de la V3. Concernant les entrainements, je pense rester sur des tiges filetées de 6mm, même si le rendement n’est que de 30%, elles sont d’un coût < à 1€ / m alors que les vis à billes sont de l’ordre de 100 € / m…
Les premières pièces:
Voilà deux exemples glanés sur le net de ce que pourrait être la machine finale:
Il ne me reste plus qu’à valider quelques « concepts » côté mécanique avant de me lancer dans la construction. La suite au prochain numéro.
Lundi, octobre 6 2008
Par Pierre Doucet le Lundi, octobre 6 2008, 20:17 - Construction
Après quelques tests sur ma précédente fraiseuse, je me suis rendu compte que le manque de précision était fatal à ce genre de machine. Bien décidé à ne pas laisser tomber, j’ai décidé d’en reconstruire une nouvelle beaucoup plus précise.
Le cahier des charges est assez simple:
J’ai choisi des matériaux faciles à trouver, il s’agit de tube carré en aluminium vendu en barres de 1 mètre chez LeroyMerlin, de tige filetée de 6mm, de boulons de 6mm et de roulements à billes de roller et d’autres récupérés dans des imprimantes ainsi que du tube de 25mm en acier pour la potence de l’axe Z.
La motorisation est assurée par 3 moteurs pas à pas unipolaires 4.1V 1.1A acheté chez Technimaniacs, les prix sont très corrects et le service parfait
à recommander. Je n’ai pas réutilisé les anciens moteurs, ils nécessitaient d’être démultipliés ce qui me faisait perdre en précision, de plus, leur puissance était vraiment limite.
Pour ce qui est de l’électronique, il s’agit de la même carte que ma première fraiseuse, un kit de chez HobbyCnc. Elle a le mérite de bien fonctionner et d’être très bon marché par rapport à la concurrence. Le pilotage ce fait cette fois sous linux avec EMC2. Un excellent logiciel opensource de pilotage de fraiseuse.
La chaine logiciel (opensource)utilisée est la suivante:
EMC2 est installé sur une ubuntu 8.04 avec un noyau temps réel RTLinux. C’est absolument nécessaire sur ce type de machine afin de garantir la précision du fraisage.
Pour la gravure de circuits imprimés, il y a Eagle et un script de génération du Gcode. Je ne suis pas certain que ce soit facilement faisable avec Kicad
Voici quelques photos de la machine construite. Le seul gros problème rencontré: un axe des Z trop souple donc une machine très imprécise. Je l’ai donc entièrement refait en acier soudé au chalumeau. Il est maintenant très rigide. Pour le reste, c’est assez simple, un châssis rectangulaire en aluminium dans lequel vient coulisser le mobile de l’axe des Y. C’est sur ce mobile Y que vient glisser le plateau de fraisage. L’axe des Z qui porte la dremel est guidé par des rails en alu. Des roulements de roller maintiennent le chariot Z en place.
Voilà une petite vidéo de test avec le fichier de démo d’Axis. Le fraisage ne se termine pas la course de ma machine étant trop limitée. Pour un premier test, la précision est au rendez-vous.
Dimanche, mars 30 2008
Par Pierre Doucet le Dimanche, mars 30 2008, 13:34 - Construction
Me revoilà avec mes histoires de fraiseuse CNC.
Et voilà, après quelques tests de calibrage, me voilà en train de lancer un premier test: un cercle en 2D. Le troisième axe étant réglé à la main ( il n’est pas encore correctement calibré ). C’est plutôt positif. La précision est au rendez-vous.
« billets précédents - page 1 de 2