Division avec deux disques

  • Auteur de la discussion PUSSY
  • Date de début
P

pascalp

Compagnon
Pour le Machinery Handbook 27eme edition 2004:
C'est un peu rébarbatif à lire.
J'attends un exemplaire de la revue HSM , j'espère que la "vulgarisation" sera un peu plus digeste.
 
P

PUSSY

Lexique
J'ai commencé à traduire les parties "engrenages" et "division" de ce que j'ai pu télécharger sur les liens précédents (machinery handbook et HMS).
Je verrai s'il y a une mise à jour à faire.
 
S

simon74

Compagnon
Et pendant ce temps la, un grand plan sur le deuxieme doigt d'indexage

 
P

PUSSY

Lexique
Ce sera à ajouter si je (nous) faisons un doc la dessus
 
S

simon74

Compagnon
Bon, j'ai fait le parti calcul de mon petit logiciel, pour le plupart des resultats ca as l'air de concorder avec le "Machinerys' Handbook". Reste just a faire le parti formattage, et ca sortira des belles pdfs.

La mauvaise nouvelle, c'est ecrit en scheme et va utiliser LaTeX pour le formattage. Donc pas forcement tres accessible, mais je sera a dispo pour sortir des tables pour vos diviseurs specifiques, tous ce qu'il va me falloir c'est son rapport et les disques que vous avez a votre disposition.

Par exemple, si on prends l'exemple de notre ami @antoinus ici : https://www.usinages.com/threads/nbrs-de-trous-disque-de-diviseur.113970/, il as un diviseur de rapport 40:1 avec une seule disque, 25-27-29-31-33-35. si mes calculs sont corrects, il peut faire 127 divisions avec 19 trous sur le rang 25, suivi de 22 sur le rang de 27, avec un percentage d'erreur de 1/1350 (et en faisant 5 tours de la piece)
 
S

simon74

Compagnon
Bien sur que oui. Faut un installation de scheme, un r6rs quelquonque suffira, avec les bibliotheques srfi 1 et 26, et un installation de pdflatex. Puis un peu des notions de scheme.

La 'bleme c'est que je suis un petit peu informaticien, donc ce n'est pas facile a utiliser. Pour l'instant, on modifie des parametres dans le source, puis l'execute manuellement Dans une terminale

Le code (incomplet), c'est sur mon github - https://github.com/tufty/compound-division
 
P

PUSSY

Lexique
Je ne suis PAS informaticien (comme beaucoup d'autres) et nous (je) suis habitué à voir des "boîtes de dialogue" où l'on choisit les données propres à son cas.
Est-ce possible ici ?

Cordialement,
PUSSY
 
S

serge 91

Lexique
Bonjour,
Je sais bien que c'est pas le Pb évoqué ici...
Mais un plateau diviseur qui a été gradué sur la tranche en degrés et un index permet une précision excellente pour les divisions "bâtardes".
Par exemple, avec un rapport 1/40 pour 127 dents, en usinant tout les 113°1/2 on est à 359,999° pour 360
Faut se faire un tableau 113.5° ;227° ;340.5° ; 94°, etc, etc...
 
S

simon74

Compagnon
Je ne suis PAS informaticien (comme beaucoup d'autres) et nous (je) suis habitué à voir des "boîtes de dialogue" où l'on choisit les données propres à son cas.
Est-ce possible ici ?
Bien sur, on parle de l'informatique, donc quasiment tout est possible.

Mais ca deviens un question d'effort mise dedans par rapport aux resultat. Pour moi, le resultat n'est pas le logiciel lui meme, mais le pdf qu'il va (eventuellement) sortir. Il en faut que ca soit lisible, et surtout que les chiffres sont correct.

Comme il est actuellement, le parti calculs represent un peu pres 70 lignes de code. Je suis quasi-sur que les resultats sont corrects, mais je sais que ils ne sont pas comprehensifs, je coupe les recherches quand ou on trouve un (ou des) resultat exact, ou on trouve > 3 approximations assez precis (moins de 0.002% d'erreur par division actuellement). Donc c'est forte possible que ca rate des resultats exactes (mais qui demandera de faire, par exemple, ~60 tours de la manivelle par division). La difference - un recherche exhaustif prendra des heures a completer, au lieu de 6 secondes pour calculer 1-400.

Le "UI" (ou meme "UX", comme c'est la mode de l'appeler maintenant), m'interesse beaucoup moins. Pour en faire un application avec des petits boites de dialogue et des curseurs et des barres de progression et qui postent sur facebook ce que t'es en train de faire, le cahier des charges n'est pas le meme. C'est des centaines, des milliers, de lignes de code. De megabytes de trucs supplementaires a installer pour que ca fonctionne comme il faut. En sachent que, en moyen, le developpeur integre un peu pres un bug par dixaine de lignes de code. Donc du travail pour supprimer tous ces bugs. Et du travail pour le maintenir, le faire fonctionner sur le nouveaux versions du systeme d'exploitation. Et en plus, ca marchera probablement que sur OSX, car je n'utilise pas Windows...

Mais oui, c'est possible. Mon paypal est....
 
S

simon74

Compagnon
Bon, y a toujours quelques petits hics, je n'arrive pas a faire deux colonnes de table, je perds de temps en temps le marge droite et l'erreur a tendence a se faire montrer en mode scientifique, mais...

Comment faire quelques divisions interessant si on as un diviseur direct de broche Schaublin et on arrive a bidouiller quelquechose..

edit - et la, je realise qu'il y a des bugs.


 
Dernière édition:
P

PUSSY

Lexique
Peut-être pour simplifier ton programme, ne pourrais-tu te contenter de faire le calcul pour :
- Un nombre de divisions et
- Un rapport de diviseur,
ces deux nombres étant introduits par celui qui a besoin du résultat, avec les trois disques à 6 rangées de trous "standard" (15,16,17,18,19,20 / 21,23,27,29,31,33 / 37,39,41,43, 47,49) ?

Cordialement,
PUSSY
 
S

simon74

Compagnon
avec les trois disques à 6 rangées de trous "standard"
Seulement "standard" pour un diviseur Brown & Sharpe 40:1, et possiblement d'autre diviseurs du meme rapport.

De toute facon, les disques font bien parti des parametres du programme.

Pour ce qui est simplification, c'est parti des choses simples - ils sont toujours la.
 
S

simon74

Compagnon
Y a toujours un bug lieé a ce qui se passe quand on arrive aux nombres de tours qui excede le rapport de la diviseur, donc les solutions ou on as peu d'options de division ou on est en division directe. Mais pour la reste, je suis presque sur que les resultats sont correctes. ci-joint de 1 a 400 divisions pour le classique "browne and sharpe"

<resultat supprimé jusqu'au version finale>
 
Dernière édition:
P

PUSSY

Lexique
Bonjour,

Super travail !
Tes résultats donnent une bonne impression.
Préciser avec quel jeu de plateaux et quel rapport de division ces résultats ont été établis.
L'action est claire, sauf pour la division "2" : uniformiser l'écriture en mettant 1/2.
Quand à l'erreur plutôt qu'un pourcentage, (et cela te permettrait de vérifier si le programme est juste), donner l'angle final :
angle final = (nb. tours entiers + fraction 1 + fraction 2) x K (rapport diviseur) (en principe = 360°).
J'ai vérifié pour 45 et pour 59 et ça ne "colle" pas !
 
S

SULREN

Compagnon
Bonjour,
Cette discussion porte sur les engrenages qui sont un de mes centres d’intérêt. Je n’y ai pas participé lors de son ouverture par @PUSSY parce que j’étais saturé de projets et que j’avais mis les forums « en veilleuse ».

Je l’ai redécouverte hier en ouvrant moi-même une discussion pour poser une question, et j’avoue que je n’ai lue qu’en diagonale.
Je n’ai jamais utilisé la division différentielle, ni la division composée et je ne les connais que par la lecture de mes Nadreau, que je possède depuis des lustres.

Mais il me semble qu’on doit pouvoir écrire un programme qui donne les solutions, avec leur erreur intrinsèque, pour n’importe quel rapport de diviseur et n’importe quels jeux de disques à trous.
D'ailleurs @simon74 l’a fait semble t’il.

Il ne doit pas y avoir de grosse difficulté d’algorithme, mais il faut quand même « pisser » un peu de lignes de code. Je m’y essaierai à l’occasion, pour comparer aux résultats de @simon74 .
En attendant, bravo à lui.
@+
 
Dernière édition:
S

simon74

Compagnon

J'ai fait quelques modifs, suite a mes 1 bug tous les 10 lignes...

- Y avait un erreur (utilisation de 'ceiling' au lieu de 'round') qui faussait les tours de piece 50% du temps
- J'ai changé l'erreur en calculs comme celle du MH, c'est a dire nombre de divisions totale et Ø pour en avoir un erreur de 0,01mm cumulé au fin.
- Oui, ca manque un en-tete ou bas de page decrivant ses parametres.

<edit>

Version avec en-tete, disques, ect pour Browne & Sharpe
 

Fichiers joints

  • result.pdf
    125.5 KB · Affichages: 87
Dernière édition:
P

PUSSY

Lexique
Super !
En somme, il faut que tu fasses un tableau de résultats pour chaque type différent de diviseur (sinon il va y avoir des jaloux !).
Est-ce trop te demander ?
Faut-il rechercher tous les types de diviseurs existants ?

Cordialement,
PUSSY.
 
S

SULREN

Compagnon
Bonsoir,

Je n’ai pas pu résister à la tentation d’écrire un bout de programme sur le problème objet de cette discussion, et juste après le dîner je m’y suis collé.
C’est un outil encore "très très" incomplet, qui évoluera dans les prochains jours, mais bien sûr j’ai commencé à comparer mes premiers résultats à ceux de @simon74, qui est ma seule référence.

J’ai pris comme exemple la division en 96 dents.
Voici les solutions que je trouve :

Avec les cercles de 20 trous et 15 trous :
3/20 + 4/15
7/20 + 1/15

11/20 - 2/15
15/20 - 5/15
19/20 - 8/15
13/20 - 11/15
27/20 - 14/15

Avec les cercles de 18 trous et 16 trous :
3/18 + 4/16
12/18 - 4/16
21/18 - 12/16

Avec les cercles de 18 et 20 trous :
5/20 + 3/18
15/20 - 6/18
25/20 - 15/18

Les solutions présentées en gras sont celles que je trouve et que @simon74 a aussi indiquées dans son tableau.

Ensuite j’ai ajouté les solutions dans lesquelles on tourne une alidade dans un sens et l’autre alidade dans l’autre sens. Je les ai envisagées parce que Nadreau les envisage aussi.

Les solutions comme 27/20 -14/15 , où le nombre de trous déplacés fait plus d’un tour du cercle, sont celles où on donne des tours de manivelle. 27/20 veut dire qu’on donne un tour de manivelle et qu’ensuite on déplace l’alidade de 7 trous dans le même sens sur le cercle de 20 trous.

Je n'ai pas encore exploré les possibilités de faire 96 avec les autres disques à trous Brown & Sharpe, mais cela viendra.

Au stade primaire de la réflexion auquel je suis, après seulement quelques heures de travail, je n’exclus aucune solution et je prends donc en compte les sens opposés sur les alidades. Je me dis qu'il est possible que dans le cas des solutions approchées cela conduise à de meilleurs résultats.
Je verrai à l’usage si cela se confirme, sinon je ferai comme @simon74, je ne garderai que les actions additives sur les alidades.
A suivre.

En somme, il faut que tu fasses un tableau de résultats pour chaque type différent de diviseur (sinon il va y avoir des jaloux !)
On est là dans le cas "de la division composée". On peut ajouter au programme "la division différentielle".
 
Dernière édition:
S

simon74

Compagnon
Salut tout le monde.

Premierement, oui, il faut faire un document pour chaque diviseur, et si eventuellement on manque les disques, un document pour ce cas la. Je restera a dispo pour y faire, gratuitment bien sur.

Mais ne saute pas de joie trop vite Le resultat presenté ci-dessus est a prendre, quand meme, avec precaution. Il existe, pour l'instant, un bug; je ne peut garantir les resultats. Prendre, par exemple, le resultat pour division 375, viz:

<avertissement - mathematiques suit>



Pour le disque de 15 trous, chaque trou represent 360 / (15 * 40) = 0,6°. Donc 16 trous represent 9,6°. Et donc, 375 * 9.6, ca fait 3600, c'est a dire 10 tours. Tout est bien! Mais non. 375 as pour facteurs 1, 3, 5, 15, 25, 75, 125 et 375. Et si on regarde 75 * 9.6, on trouve 720, ce qui est un multiple de 360. C'est a dire que on peut bien faire avancer 375 fois de 16 trous sur la disque de 15, mais on fera seulement 75 divisions, (mais on les fera 5 fois). Oups.

<fin de mathematique>

Je suis en train de voir si je peut facilement eviter de calculer ces resultats, ou si il faut les eliminer une fois calculé (plus lourd en calcul, y a un factorisation a faire pour chaque resultat).

J'ai exiger seulement les options "additifs", les retours en arrieres peuvent entrainer des erreurs.

Apres, en concertation avec mon ami @PUSSY par mp, j'ai retravaillé un peu le presentation, j'ai francisé les en-tetes, ect. Mais y a question, encore sur le presentation, de données a presenter.

Actuellement, on as la division voulu, et les tours a faire (ca me semble un peu pres necessaire). Apres, j'ai mis plus ou meme les memes colonnes que sur MH, c'est a dire :

- tours fait par la piece
- nombre de divisions reels fait en totale (ce qui est un peu contre-intuitif, si ca marque + de divisions ca vas dire qu'on tombe une poilieme court)
- la diametre en mm au-dela de lequel la dernier division sera decalé de + que 1/100mm par rapport a sa position theorique (en MH, c'est donné en pouces pour 0.001" ou 0.025mm d'ecartement).

Pussy pense que la nombre de degrees exacte couvert sera plus parlant. Je vois bien d'ou il vient, mais perso, je ne suis pas persuadé - si on fait 15 tours de la piece, ca va donner ou ±5400°, pas trop parlant, ou, si divisé par 15, l'erreur sera divisé par 15 aussi, ce qui est, pour moi, un peu trompeur. Peut-etre 360 + (degrees reels - (360 * tours)) pour donner le positionnement du dernier trou en degrees (ou d/m/s)? Mais vu le place dispo sur la page, ca fait ou tomber a 2 colonnes par page, ou ca fait sauter une de autres colonnes.

Un autre question me tate. Pour l'instant, je cherche jusqu'au j'ai au moins un solution exacte, ou > 3 solutions approximatifs. Mais dans quelques cas, et surtout si je baisse le niveau d'exactitude voulu, je peut finir avec un paquet de resultats possibles, plus ou moins exactes. Mais lesqels prendre? Faut-il:

- exiger au moins un resultat par plateau de division (ce qui plairait aux celles qui ne veut pas changer les plateaux)?
- montrer tous les resultats, laisse l'utilisateur decide lequel il va utiliser?
- En cas ou y a des resultats exactes, exclure les approximations?
- preferer les approximations les plus exactes?
- preferer les combines les plus faciles a faire (peu importe le nombre de tours complets, preferer celles avec la minimum de trous supplementaires a faire, surtout sur la disque exterieur)?

Comme j'ai essayer d'expliquer plus haut, les calculs, c'est la parti facile, quand il faut prendre en compte le "UI", les questions devient plus difficile

On montagne aujourd'hui, probablement pas trop le temps d'y consacrer.
 
F

FB29

Rédacteur
Bonjour,

Encore bravo pour ce travail remarquable !!!

Si on peut voter, pour ma part je dirais:

- on admet qu'il faille changer les plateaux ... la précision vaut bien un petit effort ...
- si il y a des résultats exacts on exclue les approximations et on limite le nombre de résultats (4 ou 5 ?) aux cas les plus simples (critère à définir)
- si il n'y a pas de résultats exacts, on limite aussi le nombre de résultats approximatifs (4 ou 5 ?) en privilégiant la précision ...
- Edit: je pense que l'on peut inclure les résultats avec retour en arrière, car on peut rattraper le jeu en dépassant la limite pour ensuite atteindre la valeur requise en repartant en marche avant.

Cordialement,
FB29
 
Dernière édition:
S

serge 91

Lexique
Bonjour,
Exclure les approximations si il y a des résultats exacts !
Ne donner que la meilleure approximation (puisque le système envisage tous les cas)
Quantifier le risque de se gourer
 
P

PUSSY

Lexique
Il faut a mon avis :
- changer les disques n'est pas un problème.
- privilégier la division directe (avec un seul disque).

Si division composée (à deux disques) :
- privilégier la précision, c'est a dire que s'il y a une solution exacte, abandonner les autres solutions.
- au cas où il n'y a que des approximations, limiter le nombre des résultats (3 me paraît suffisant).

préférer les combines les plus faciles a faire (peu importe le nombre de tours complets, préférer celles avec la minimum de trous supplémentaires à faire, surtout sur le disque extérieur)?
La difficulté de manipulation n'a pas à intervenir dans le calcul des résultats (et comment faire intervenir cette notion !).


Mais le (gros) problème est :
s'il nous manque un plateau et que la (bonne) solution est avec ce plateau, on ne verra pas la solution approchée que l'on pourrait peut-être faire !

Soit on impose d'avoir tous les plateaux, soit on permet de renseigner le programme avec les disques en notre possession.
Aucune de ces alternative n'est satisfaisante, soit pour l'utilisateur, soit pour le programmeur.

je suis en train de voir si je peut facilement éviter de calculer ces résultats, ou si il faut les éliminer une fois calculé (plus lourd en calcul, y a un factorisation a faire pour chaque résultat).
Cela doit arriver seulement si l'angle total est multiple de "360", non ?

Pour la colonne "précision" :
(degrés réels - (360 * tours))
me semble être une bonne indication.

Cordialement,
PUSSY.
 
S

simon74

Compagnon
Cela doit arriver seulement si l'angle total est multiple de "360", non ?
Oui, mais pas en tout les cas ou on excede le 360. Ca serait simple sinon

soit on permet de renseigner le programme avec les disques en notre possession.
Perso, ca ne me gene pas de faire un document special pour (par exemple) notre ami antoinus qui a une seule disque avec sa diviseur. Puis il peut utiliser cette sorti pour faire les disques manquants, et j'en suis bon pour faire un autre...

Quantifier le risque de se gourer
La difficulté de manipulation n'a pas à intervenir dans le calcul des résultats (et comment faire intervenir cette notion !).
Oui et non, mais ca m'arrange de ne pas avoir a l'integrer
 
Dernière édition:
S

simon74

Compagnon
Bon, j'ai resolu le bug avec les divisions répétées, un autre qui ne prenait en compte les solutions approximatif utilisant une seule rangée de trous, et fait un petit refactor du code. Ji aussi reduit le nombre d'approximations a 3 (mais en cas ou y a plusiers solutions exactes, je les ai laissé tous)

Donc ca donne, divisions 1->400, toujours pour la classique "Brown & Sharpe" avec tous ces disques, le suivant.
 

Fichiers joints

  • result.pdf
    133.4 KB · Affichages: 51

Sujets similaires