Autres Trouver deux fractions dont la somme vaut une fraction

GUGUSSE2

XLDnaute Occasionnel
Bonjour,

J'ai EXCEL 2007 et j'aimerai résoudre le problème suivant :

La raison :
Lorsque l'on veut usiner un engrenage par exemple (de N dents), on utilise un diviseur, appareil qui effectue i/K tours à chaque tour de manivelle;
Pour rendre les choses plus précises, devant la manivelle, on place un disque comportant des cercles de trous (exemple, plateau "A" : 15,16,17,18,19 et 20 trous).
La manivelle peut donc faire des tours complets mais aussi des fractions de tours.

exemple : 19 divisions à réaliser avec un diviseur au 1/90°.
90/19 = 4,73... = 4 tours + 0,7368 tours.
0,7368 t correspondent à 14/19.
Pour réaliser la pièce, il faudra tourner la manivelle de 4 tours + avancer de 19 espaces sur le cercle de 19 trous chaque fois que l'on voudra réaliser une dent.
(4 + 14/19) x 4 x 19 = 360° (la "division" est exacte) (le "4" correspond au nombre de degrés imposé à la broche du diviseur lorsque la manivelle fait 1 tour (360/90) ).

Mais avec ces trois plateaux (ces 18 cercles de trous), toutes les divisions ne sont pas réalisables.
Pour y remédier, on utilise la division composée (le résultat n'est pas toujours exact !) :
On effectue un certain nombre de tours "entiers" + une fraction de tour sur un cercle + (ou -) une autre fraction de tour sur un autre cercle.
Exemple :
61 divisions avec un diviseur au 1/90° : faire 1 tour + 16 espaces sur le cercle de 49 trous + 7 espaces sur le cercle de 47 trous.
(1 + 16/49 + 7/47) x 4 x 61 = 360,014 ° (la "division" est approchée).

Le problème :
(**) Le problème est donc de trouver deux fractions dont la somme (ou la différence) est égale à une fraction (la partie fractionnaire de K/N) (avec une erreur à ne pas dépasser).

(++) J'ai récupéré sur le net un programme EXCEL qui semble donner le résultat, mais beaucoup de formules manquent, il y en a partout (qui ne servent pas toutes !) et je ne comprends pas la démarche du calcul.

.
Est-ce que quelqu'un est capable de m'aider à comprendre ce programme EXCEL (++) ou connaît le moyen de résoudre le problème (**)?

Désolé d'avoir été "long" dans la présentation du problème, mais il fallait que vous assimiliez l'utilisation du diviseur avec un ou deux disques.

D'avance merci.
Cordialement,
GUGUSSE2
 

Pièces jointes

  • IndexRT.xls
    43 KB · Affichages: 16

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Gugusse. Assez obscur pour un néophyte, même bien expliqué. :)
De combien de plateaux disposez vous ? Et connaissez vous le nombre de série de trous par plateau ? ( du genre plateau "A" : 15,16,17,18,19 et 20 trous )
Une méthode "bourrin" est de calculer en VBA toutes les configurations possibles et de trouver le meilleur compromis. Ca devrait être très rapide.
 

GUGUSSE2

XLDnaute Occasionnel
Bonjour Sylvanu,

Les plateaux "standards" sont :
A : 15,16,17,18,19,20
B : 21,23,27,29,31,33
C :37,39,41,43, 47,49
Mais certains constructeurs ont des offres plus étendues.

Il faut prévoir je pense la possibilité de les modifier.

Pour le programme, mode "bourin" en VBA, pourquoi pas pour 1 fraction, mais pour 2 fractions, je ne vois pas trop comment faire.
Je pensais trouver un algorithme pour traiter le cas où la division simple ne donnait rien.

Cordialement,
GUGUSSE2
 

Graveling

XLDnaute Junior
C'est clair, j'ai passé une bonne partie de la journée dessus...

Il y a peut-être un moyen de voir autrement le problème.

dans l'exemple avec 2 plateaux. en gros, il y a d'abord 1 tour car 90/61=1+29/61. 29/61=0.47541...

Si on fait une matrice avec pour chaque ligne les plateaux, et en colonne le nombre d'espace, la matrice est remplie par le rapport nb espace/n°plateau

En gros, maintenant, si on trouve les 2 valeurs dans la matrice dont la somme est égale à 0.47541... (ou en tout cas la plus proche), alors ces deux valeurs sont l'intersection du plateau et du nb de trou à faire.

Maintenant, si on soustrait à toute les valeurs de la matrice 0.47541..., alors il "suffit" de trouver dans les 2 matrices, les 2 cellules qui ont vu leur position intervertie (+/- les arrondis).

Je vous met un fichier en PJ (sheet 2) pour mieux comprendre ce que je veux dire.

Au final, je ne sais pas si cela simplifie le problème, mais cela peut être une autre approche...

J'ai essayé de comprendre le fichier, mais j'ai du mal à voir comment il s'articule:
- où renseigner les valeurs,
- où sont les calculs intéressant...
- j'ai pas compris la formule ou il fait 240*60/(valeur plateau)...pourquoi 240?60?
 

Pièces jointes

  • IndexRT.xls
    152 KB · Affichages: 4

GUGUSSE2

XLDnaute Occasionnel
Premier lien donné par Sylvanu :
1573843305054.png

"Plate" correspond à la rangée de trou du plateau à utiliser et "hole" au nombre de trous à compter en plus du nombre de tours entiers donné par "turns".

Pour le deuxième lien, le programme ne donne un résultat que si a division simple est possible. Pour un engrenage de 59 dents, il ne trouve rien !

j'ai pas compris la formule ou il fait 240*60/(valeur plateau)...pourquoi 240?60?
= 14400 = nombre de secondes d'arc effectuées par la broche quand la manivelle fait 1 tour, diviseur au "1/90"

J'ai essayé de comprendre le fichier, mais j'ai du mal à voir comment il s'articule:
- où renseigner les valeurs,
- où sont les calculs intéressant...
Les seules parties de calcul en rapport avec le problème me semblent être les partie encadrées en rouge, à condition de remplir les partie en vert selon ce que l'on souhaite !
1573845884798.png

Il n'y a apparemment par de calculs automatiques !
Et si l'on choisi le cercle désigné par le "min" en case S90, ça ne marche pas !
Je crois qu'il faut abandonner ce programme.

Si on fait une matrice avec pour chaque ligne les plateaux,
Il y a longtemps que je n'ai plus "travaillé" avec les matrice ! Je te laisses faire !

L'idéal serait d'avoir un programme qui, après avoir donné les cercles de trous que l'on possède, le rapport du diviseur (donnée introduite "à demeure" dans le programme) et le nombre de dents à faire, nous donne la manip à faire.

C'est comme les Shadocks, plus tu avances moins tu comprends.
J'espère que vous n'allez pas vous décourager ! je suis là pour vous expliquer tous ce que vous voulez savoir.

Cordialement,
GUGUSSE2.
 
Dernière édition:

GUGUSSE2

XLDnaute Occasionnel
il a mis directement 240×60.
Il ne faut pas chercher à comprendre vu que c'est un programme fait en dépit du bon sens !

Je viens de penser à quelque chose :
Si l'on calcule toutes les valeurs "Ni trous / Nb trous du cercle" (1/15, 2/15, 3/15, ...., 1/49, 2/49, ....., 48/49) pour tous les cercles, est-il possible de trouver dans ces données la valeur (ou la somme ou la différence de deux valeurs) égale à la partie fractionnaire de K/N (rapport du diviseur/nombre de dents à usiner) ?
 

Graveling

XLDnaute Junior
ben en fait, cela revient à faire la matrice. au lieu d'avoir des nombre décimaux, tu auras les ratios.

Si tu sélectionnes les cellules du tableau que j'ai fais et que tu les mets en "fraction", tu retrouves les ratio (format de cellule / fraction / fraction à chiffre)
 

GUGUSSE2

XLDnaute Occasionnel
Comme le fichier que tu a modifié portait le même nom que celui que j'avais envoyé, je n'avait pas regardé !
Effectivement, tu m'avais devancé sur la méthode.
Je me suis posé la question en regardant en haut à gauche :
1573851128552.png

Je n'ai pas compris l'utilité du deuxième tableau ?
Les relations que tu as mises en couleurs dans ces deux tableaux ne correspondent pas aux exemples (19 ou 91 divisions) puisque je "voies" 7/47" ou "16/49" et pas 14/19 ou 29/61) !

L'idée de faire ces tableaux jusqu'à "59" :
- est une "bonne" idée puisqu'elle dispense de donner les valeurs de ses propres plateaux,
- n'est pas une bonne idée si l'on a des plateaux avec des cercles ayant plus de trous,
- n'est pas une bonne idée si le résultat trouvé fait appel à un cercle de trous que l'on ne possède pas !
On ne sait pas s'il existe une solution moins précise avec des cercles que l'on posséderait car le programme les ignore !

Quoi qu'il en soit, tu es sur la bonne voie.
Excel peut-il "remplir" ce (ces deux) tableau(x) seul à partir d'une liste introduite par l'utilisateur (la recherche des "correspondances" entre les cases se faisant ensuite par EXCEL ou VBA)?

Cordialement,
GUGUSSE2.
 

Graveling

XLDnaute Junior
Il me semble que l'exemple que j'ai mis correspond au cas de 61 division avec un diviseur de 90. Quand tu mets 90/61 sous forme de fraction dans excel, il te renvoie 1 29/61, cela correspond à 1 tour plus 29/61ème de tour soit 0.47541.

le premier tableau donne toute les valeurs pour les roues. il y a deux valeurs dans ce tableau dont la somme est la plus proche de 0.47541.

en gros j'ai Cel1 + Cel2 =0.47541

Dans la seconde matrice, j'ai retranché 0.47541 à toute les valeur. Du coup, pour une cellule donnée du 2eme tableau, je peux retrouver cette même valeur à un autre endroit dans le premier tableau. Il se trouve que la position de ces cellules dans chacun des tableaux correspond au numero du trou et au nombre de trou par cercle.

J'ai fais le tableau jusqu'à 59 de manière arbitraire, on devrait d'ailleurs prendre les même valeurs en ligne et colonne...
 
Dernière édition:

GUGUSSE2

XLDnaute Occasionnel
puisque je "voies" 7/47" ou "16/49" et pas 14/19 ou 29/61) !
Un peu tardivement, j'ai compris mon erreur :
(1+7/47+16/41) x 4 x 61 = 360,014°.
Bravo pour la méthode.
reste le problème :
L'idée de faire ces tableaux jusqu'à "59" :
- est une "bonne" idée puisqu'elle dispense de donner les valeurs de ses propres plateaux,
- n'est pas une bonne idée si l'on a des plateaux avec des cercles ayant plus de trous,
- n'est pas une bonne idée si le résultat trouvé fait appel à un cercle de trous que l'on ne possède pas !
On ne sait pas s'il existe une solution moins précise avec des cercles que l'on posséderait car le programme les ignore !

Cordialement,
GUGUSSE2.
 
Dernière édition:

GUGUSSE2

XLDnaute Occasionnel
Pour trouver deux "nombres" "A" et "B" dont la somme vaut "C", vous faites B' = C - A' dans le deuxième tableau.
Si A = B', alors A = C-A' et A + A' = C et A et A' sont les deux nombres cherchés.
Comme A (A') sont le résultat de la division "indice colonne"/"indice ligne", les cordonnées des cases où se trouvent A et B' sont les numérateurs et dénominateurs es deux fractions recherchées.

La difficulté pour moi est de savoir comment trouver ces deux cases et comment "extraire" les coordonnées pour ensuite les traduire en "fractions".
Mais vous allez sans doute pouvoir m'expliquer tout ça !
Question : Si la division est possible avec une seule fraction, que devient le raisonnement ?

Comment traiter le problème :
<.... si le résultat trouvé fait appel à un cercle de trous que l'on ne possède pas !
On ne sait pas s'il existe une solution moins précise avec des cercles que l'on posséderait car le programme les ignore !

Cordialement,
GUGUSSE2.
 
Dernière édition:

sylvanu

XLDnaute Barbatruc
Supporter XLD
Gugusse, tu donnes mal au crane !
Voici une piste de bourrin. Ca à l'air de marcher mais qu'avec une roue pas deux. Mais peut être une inspiration.
En fait j'ai un tableau avec toutes les roues tous les trous. ( 525 lignes ) et je calcule pour chaque configuration l'erreur. J'en extrait l'erreur min.
Peut être une piste pour deux roues.
 

Pièces jointes

  • PlateauDiviseurEngrenages.xlsm
    38.9 KB · Affichages: 5

Discussions similaires

Statistiques des forums

Discussions
312 098
Messages
2 085 267
Membres
102 845
dernier inscrit
Baticle.geo