Ce n'est rien d'autre qu'un micro interrupteur qui servira à mesurer la hauteur en différents points.
Matériel nécessaire:
Un petit coup de fer à souder… un petit coup de perceuse pour passer le câble…
L'ensemble est collé avec de la colle cyanolite
La fiche CINCH est soudée sur le cable.
Le palpeur est terminé. Il faut brancher 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.
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 d'un test pour mesurer la régularité de la table de fraisage.
On voit immédiatement le déséquilibre, le coin devant/gauche est plus haut de 1mm que le coin derrière/droite !