Quand la fraiseuse se met à jour – Episode 2

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…

Quand la fraiseuse se met à jour

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.

Fraiseuse CNC DIY v3 – Episode 2

Voilà la suite tant attendue ( par moi surtout ;-)) de la construction de ma fraiseuse numérique.

En cours de conceptionLa voilà presque terminée. il me reste 1 moteur à câbler et la vis sans fin de l’axe des X à installer, tout le reste est en place. On est bien loin de l’épisode 1 avec ses quelques pièces éparses !

DIY CNC Parts


N’ayant pas eu le temps de faire un article à chaque étape de l’avancement de la construction, j’ai mis en place un Wiki dans lequel je vais essayer de documenter l’ensemble du projet afin d’aider ceux qui comme moi veulent se lancer dans la fabrication d’un tel outil. Le wiki est « ouvert », si vous aussi vous construisez une machine et que voulez m’aider à documenter, je peux vous donner un accès en écriture. Pour le moment il n’y a pas grand chose, mais je compte l’enrichir régulièrement et je compte aussi sur votre aide !

L’adresse du projet: http://odcnc.equinoxefr.org