Application pour métrologie de marbre au niveau à bulle

Jmr06
Compagnon
14 Février 2017
1 382
Cannes
  • Auteur de la discussion
  • #1
Bonjour.
Suite au sujet de @Guydo67 sur la cartographie de son marbre, et envisageant de faire pareil sur le mien, j'ai "pondu" une petite application Excel d'éxploitation des mesures.
L'idée est de réaliser une cartographie précise d'un marbre avec un niveau, comme par exemple le superbe niveau réalisé par @cudrouc.
Pour la méthode de mesure, voire le sujet de @Guydo67 : https://www.usinages.com/threads/cartographier-une-plaque-de-fonte-avec-un-niveau.120904/#post-1456391
Les posts suivant sont réservés pour des explications et présentation.
Le logiciel, enfin le fichier Excel est en pièce jointe

La première feuille donne des explications sur l'utilisation.
La deuxième est la feuille de calcul et de présentation des résultats.
Il n'y a aucune protection sur le classeur, vous pouvez donc explorer dans tous les détails ce qui y est fait.
Par exemple, la figure suivante présente un exemple de saisie :
474972


Et cette saisie donne les résultats suivants :
474973

Les 3 posts suivants sont réservés pour la suite de la présentation.
 
Fichiers joints
Dernière édition:
Jmr06
Compagnon
14 Février 2017
1 382
Cannes
  • Auteur de la discussion
  • #2
Le logiciel suppose que la méthode de vérification du marbre consiste à disposer de proche en proche un niveau de précision, comme expliqué par la figure suivante :
474978

De proche en proche, on réalise un quadrillage du marbre comme indiqué par la figure suivante :
474977

Dans cet exemple, on effectue dont 4 mesures par ligne horizontale et 3 par ligne verticale. Il y a donc 35 mesures en tout, pour 20 points sur le marbre.

Le problème de résout l’application Excel, est comment déterminer la hauteur des 20 points avec ces 35 mesures : il y a trop de mesures pour le nombre de points pour avoir une solution directe.

La solution mathématique pour ce problème sera expliquée dans un poste dédié.

En pratique, il suffit :
De réaliser les mesures et de noter pour chaque translation du niveau la position de la bulle (c’est-à-dire le nombre de graduations).
Puis ouvrir le fichier Excel et :
- Indiquer le nombre de lignes et de colonnes de la grille de mesure
- Indiquer les caractéristiques du niveau : précision et longueur
- Saisir les mesures, évidement
Et, en appuyant sur le bouton « calculer », tous les calculs s’effectuent et donne la géométrie du marbre.
 
Dernière édition:
Jmr06
Compagnon
14 Février 2017
1 382
Cannes
  • Auteur de la discussion
  • #3
Dans ce premier exemple simple, on considère une grille de mesure de 3 x 3.
474983

Comme on le voit, le niveau a une précision de 2 centième par mètre et une longueur de 100 mm.
Les mesures sont toutes à une graduation.
Dans cette situation, la conclusion est simple : le marbre est parfait, il est simplement penché dans sa longueur et sa largeurs, ce qui fait que la bulle est toujours au même endroit.
Avec ces mesures, les résultats sont les suivants :
474993


Le premier tableau, dit "Résultats bruts", montre cette pente constante, de 2 micro à chaque déplacement du niveau : en partant du point haut-gauche qui est à zéro, on a 2 microns d'augmentation de la hauteur à chaque fois, ce qui est logique puisque le marbre est penché.
Le tableau du bas donne la hauteur de chaque point par rapport à un plan qui serait parfait. Comme dans cette exemple simpliste, le marbre est parfait, on a des zéros partout. Les défauts moyens et maximum sont de zéro.
 
Dernière édition:
Jmr06
Compagnon
14 Février 2017
1 382
Cannes
  • Auteur de la discussion
  • #4
Prochaines évolutions pour demain, si j'y arrive :
- présenter les résultats sous forme graphique. Il y aurra 2 graphiques correspondant aux 2 tableaux, dans un nouvel onglet.
- modifier le code pour des mesures sur une seule ligne. Le logiciel n'est pas vraiment indispensable dans ce cas (on peut résoudre à la main), mais il peut être pratique néanmoins.
Et pour plus tard, car il faut que j'étudie la question :
- le faire fonctionner sous LibreOffice.
 
Dernière édition:
Jmr06
Compagnon
14 Février 2017
1 382
Cannes
  • Auteur de la discussion
  • #5
Pour les matheux, voila la présentation de la méthode de calcul.
Si vous êtes allergique au math, je vous conseille vraiment de sauter ce post et d'aller au suivant...

Si on considère une grille de 5 lignes à 6 colonnes, cela fait :
- 30 points dont il faut déterminer la hauteur ;
- et 4x6 + 5x5 = 49 mesures.
Il y a donc bien plus de mesures que de points. Le système d'équations est donc "sur-déterminé". Il y a "trop" d'équations pour le nombre de points à calculer.
On pose le problème ainsi :
si X est le vecteur contenant la hauteur de tous les points.
M est le vecteur contenant toutes les mesures.
A est la matrice reliant les mesures à la hauteur des points : on a donc M = A * X.
- On connait A, cela se déduit facilement de la géométrie du problème
- on connait M, ce sont nos mesures
Il faut donc déterminer X.

Comme il y a plus de mesures que de points, A est une matrice rectangle.
Comme les mesures sont en fait des différences de hauteurs entre 2 points, il y a une indétermination par une translation en hauteur. La matrice A est donc de rang N-1 si N est le nombre de points. Plus précisément, elle est de rang N-1 et a N colonnes.
On corrige cela en plaçant un point arbitrairement à zéro. On prend le point n°1, le plus en haut à gauche que l'on met à zéro. Comme cela, on a donc maintenant N-1 points avec une matrice de N-1 colonnes et de rang N-1. Elle accepte donc une matrice pseudo-inverse de Moore-Penrose unique B qui se calcule facilement par B = inverse(At.A) . At. (ici, on notre At la transposée de A). On sait que B est telle que B * A = matrice identité de dimension N-1 et telle que X = B * M avec X optimal au sens des moindres carrés.
On obtient ainsi le vecteur X tel que les deux vecteurs M (nos mesures) et A.X (les mesure qu'on devrait trouver sachant X) sont les plus proches possibles au sens des moindres carrés.
On a ainsi, avec X, la cartographie des hauteurs de la plaque.
On a même l'erreur quadratique RMS des mesures en calculant la moyenne quadratique du vecteur M - A*X, qui s'écrit aussi M - A*B*M .

Certe, c'est bien beau, on a les positions des points de mesure. Mais ne c'est pas les défauts du marbre. Les défauts, ce sont les distances entre un plan parfait et les points de mesure. Pour cela, il faut déterminer ce plan parfait qui passe au plus près de tous ces points et ensuite calculer la distance entre ce plan et nos points de mesure.
Ce second problème est posé ainsi.
On considère nos points X est on considère un plan déterminé par :
- une position h en z (sa position en hauteur)
- un angle a selon l'axe x
- un angle b selon l'axe y
Le problème est de déterminer le vecteur (h,a,b) de manière à ce que, en moyenne, la distance entre le plan et les points soit minimale.
Si on a N points sur ce plan en regard à nos N points de mesure, on note R la matrice qui détermine la hauteur de ces points en fonction de (h,a,b). (R est donc une matrice de N lignes et 3 colonnes). On veut donc que R.(h,a,b) soit le plus proche possible de X. Et bien on utilise à nouveau la pseudo-inverse de R qu'on note S. Et on estime les paramètres du plan par (h,a,b) = S.X. On obtient ainsi notre plan qui passe au mieux à proximité des points de mesure. Et les distances des points à ce plan, c'est-à-dire les défauts du marbre, sont X - R.(h,a,b).
On a ainsi les défauts du marbre.
Pour éviter d'avoir des valeurs positives et négative, j'ai translaté toutes les valeurs de manière à avoir un point à zéro et tous les autres avec des valeurs positives.

Voili-voilou
 
Dernière édition:
Jmr06
Compagnon
14 Février 2017
1 382
Cannes
  • Auteur de la discussion
  • #9
Sous open-office cela devrait marcher
Comme tu l'as constaté, cela ne marche pas sous open office, car les calculs sont en VBA propre à Excel Microsoft.
J'ai fait une première version en MATLAB, mais comme je suppose que personne sur ce forum utilise MATLAB, j'ai fais en Excel que je pensais le plus répandu.
Si tu as besoin, tu peux toujours envoyer les mesures, on fera les calculs.
 
simon74
Compagnon
3 Mai 2016
1 019
Savoie
cela ne marche pas sous open office, car les calculs sont en VBA propre à Excel Microsoft.
Ceci n'est pas tout a fait vrai - par defaut, OpenOffice / LibreOffice ne prends pas en charge les macros VBA non-signés cryptographiquement par des sources "connus". Il faut modifier les parametres de securité et mettre un niveau de securité moyenne ou bas pour les macros.

Ceci dit, ca ne marche pas sur ma machine (LibreOffice Mac 6.1.0.3, OSX 10.11.6), erreur sur feuille 1 (calculs) ligne 102

Code:
Err_RMS = Math.Sqr(S / Nb_m)
Erreur 91 "Object variable not set"
 
Jmr06
Compagnon
14 Février 2017
1 382
Cannes
Merci @simon74 de ces précisions. J'ai un ordi avec LibreOffice, je vais régarder ce soir si je peux faire tourner le code. Je pensais bêtement que ce n'était pas compatible.
La fonction Math.Sqr() extrait la racine carrée. Elle n'existe pas sous cette forme en LibreOffice ? Ou faut-il déclarer quelque chose au préalable ?
 
serge 91
Lexique
18 Février 2010
5 285
FR-91 Brétigny sur Orge
Bonjour,
@Jmr06
Tes calculs sont évidement parfaitement justes...
Mais je ne suis pas convaincu de la méthode pour deux raisons.
La premiere, c'est que tu parts sur un niveau à "deux pieds"(ce qu'on ne trouve pas), ils sont toujours plats. Pour la simple raison que cela permet de voir les bosses!
475145

La deuxième, c'est que la cartographie obtenue n'est que celle des points de mesure et qu'on ne sait pas ce qu'il en est entre eux !

475147
 
Jmr06
Compagnon
14 Février 2017
1 382
Cannes
Bonjour @serge 91 .
C'est tout à fait vrai, la méthode indiquée ne fait que la géométrie aux points de mesure, pas entre ces points. C'est pour déterminer la forme "globale" du marbre.
Ce que tu évoques, c'est ce qu'on appelle, il me semble, la "répétitivité" des mesures, due aux défauts locaux et qu'on estime avec ce type d'instrument :

La méthode considérée et prise en compte dans la feuille Excel est adaptée au travail de surfaçage avec un marbre de rodage ou la méthode des 3 plaques. Avec ces méthodes, le problème est de suivre l'évolution de la géométrie globale du marbre, sachant que les défauts locaux sont corrigés par le rodage.
Comme tu le remarques, la méthode ne cartographie pas tous les défauts d'un marbre, seulement les défauts d'ensemble. Cela permet de déterminer là où il faut insister durant la phase de rodage suivant.
Pour ceux que cela intéresse, il y a les belles vidéos de @floods sur ce forum (et Youtube) . Bon, lui il fait cela à la lunette auto-colimatrice ! C'est la solution de luxe. Mais je pense qu'on devrait être capable faire la même chose au niveau, d'où ce fichier Excel.
 
floods
Compagnon
3 Octobre 2012
2 032
Moselle 57
Bonjour,
Très intéressant, alors effectivement j'ai utilisé l'autocollimateur, et aussi le niveau, je pense vraiment qu'il est possible de faire quelque chose de précis avec un bon niveau, j'ai utilisé le niveau entre chaque passe pour voir où j'en suis, et avec le niveau 0.02mm/m c'est très précis, il faut juste faire attention de ne pas trop le tenir en main, c'est très très sensible à la température.
 
Haut