Problème mathématique pour développement d'un petit programme

Bonjour à tous,

Je me permets de vous solliciter parce que j’ai un petit problème mathématique que je n’arrive pas à résoudre :
Je suis en train de m’amuser à essayer de concevoir un petit programme (en Quick Basic) qui aura pour finalité de commandé des moteurs pas à pas afin de convertir un tour à métaux “classique” en “une sorte” de tour à commande numérique.
Bref voila mon problème :
(Par un exemple, ce sera plus simple à la fois à expliquer et à comprendre)
Je dois passer d’un diamétre de 20mm à un diamétre de 12mm en 4 passes ((20-12)/2 = 4 passes), sachant que l’épaisseur maximale d’une passe est de 4mm et que l’épaisseur minimale d’une passe est de 0.4mm ; on ne peut pas passer directement de 4mm à 0.3mm, ça doit se faire progressivement (sinon on dit que la pièce “cede”).
Exactement mon problème est que je ne trouve pas le moyen de calculer l’épaisseur de chacune de mes passes …
Bien sur, en pratique, quand je tourne manuellement une pièce je fais ça à ma sauce (par ex 1x4mm, puis 1x3mm ensuite 1x0.6mm enfin 1x0.4mm)

Est-ce que quelqu’un pourrait m’aider à trouver une formule pour calculer l’épaisseur de chacune de mes passes ?

Merci d’avance (à ceux qui ont une grosse bosse des maths lol)

Donc tu peux “évaburer” de 4mm jusqu’à 0.4mm par pas de combien au minimum ?

0.1 mm ? Ou tu as des valeurs imposées comme dans ton exemple avec 4mm, 3mm, 0.6mm, 0.4mm ?

Tu es obligé d’utiliser “forcément” 4 passes (je dis ça parce qu’avec 2 passes de 0.4mm ou alors 3 passes en 0.4 + 0.3 + 0.1 … :paf: )

T’as un truc de la forme:

a1x1+a2x2+a3x3+a4x4 = diamètre à “évaburer”

Les a1 sont des “flags”, ça veut simplement dire que tu as 4 passes au maximum, mais que tu n’es pas obligé de toutes les utiliser (ça reste une question puisque je ne sais pas si tu dois faire FORCEMENT 4 passes ?).

Si tu veux, ai (i=1;4) peut valoir 0 ou 1 suivant que tu utilises ou pas une passe.

Après les Xi (i=1;4) c’est le diamètre de ta passe.

Admettons que tu dois forcément utiliser 4 passes, ça veut dire:
X1 + X2 + X3 +X4 = diamètre à évaburer

(tous les ai = 1)

Après, je suppose que tu vas me dire que tu dois utiliser, 1 fois et 1 seule, une passe de disponible c’est ça ? :smiley:
(C’est ce qu’on appelle ne pas avoir une valeur dégénérée )

Là, on a besoin d’un peu plus d’infos de ta part pour continuer…

Bonjour fbzn, et merci de t’interesser à ma question.
Je vais essayer de te répondre simplement.
Perso pour savoir combien de passes je dois effectuer au minimum pour usiner un diamétre, je soustrais le diamétre final du diamètre d’origine et je divise le résultat par 2 d’où les 4 passes de mon exemple qui proviennent du calcul (20-12)/2.

Il est tout à fait possible de faire plus de 4 passes, mais ceci prend plus de temps et use prématurement les outils.

Pour des raisons techniques il est impossible de couper plus de 4mm par passe (avec mes outils), et il est quasi impossible de couper moins de 0.1mm (l’outil glisse et ne coupe plus), perso je prefers terminer par 0.3 voir 0.4mm.

Enfin, il est impossible de passer directement de 4mm à 0.3mm : en prenant 4mm le métal “céde”, il se déforme, donc pour obtenir une belle finition, assez précise je dois terminer progressivement jusqu’a ma coupe minimale (0.3mm).

Après, je pourrais choisir la solution de facilité : couper 1x1.7mm , puis 6x1mm puis 1x0.3mm mais comme je l’ai expliqué (et vous pourrez le comprendre) mon outil sera usé 2 fois plus vite par cette méthode qu’en essayant de le faire travailler convenablement.

Enfin, il est tout à fait possible de faire plusieurs passes d’une même profondeur.

J’espère avoir répondu à tes question de façon claire…

Non. :o

:smiley:

Je demande si on a à disposition TOUTES les tailles intermédiaires: 4mm; 3.9mm; 3.8mm; …0.2mm; 0.mm, donc tout ça par pas de 0.1mm.

L’idée serait de prendre l’épaisseur à enlever (20-12 = 8 dans ce cas), puis de soustraire à chaque fois en partant du plus gros qu’on a à disposition:

20- 12 = 8 => 8 mm à enlever, on dispose d’un évaburage de 4mm => 8-4 = 4 mm, reste donc 4 mm à enlever.

Et là, ton problème devient non pas insoluble, mais il y a trop de solutions, puisque tu me dis que tu pourrais réutiliser le 4mm, mais qu’évidemment (métal qui cède), tu ne peux pas, donc que tu dois prendre des combinaisons linéaires de différentes tailles disponibles… et il y en a un paquet !

S’il reste 4mm, tu peux prendre 3.8 + 0.2, 3.6 +0.4, 3 + 1 + 0.6 + 0.4, etc…

Il faudrait éventuellement mettre une condition sur la dernière passe (genre pas moins de 0.2mm, pas plus de 0.4 mm).

Ensuite, on sait aussi (puissance de 2) qu’avec du:

0.1: 0.2 ; 0.4; 0.8; 1.6; 3.2

On peut faire toute découpe entre 0 et 6.3 mm (si on ne réutilise pas 2 fois une même lame).

Par contre, ça sous-entend ne se servir que de CES hauteurs de coupe… donc question usure… :paf:

Enfin bref, si j’ai bien compris ton problème il y a une infinité de solutions, la seule façon de les réduire, ce serait à toi d’indiquer des choix (des boucles conditionnelles) en essayant de répartir au mieux les différentes possibilités… :ane:

Tu as regardé un peu sur le net si quelqu’un n’avait pas déjà eu le même problème ?
Est-ce qu’il n’y aurait pas déjà dans la littérature sur les commandes numériques de la théorie à ce sujet ? :jap:
Edité le 22/09/2009 à 10:33

Pardon ne n’avoir pas répondu à cette question :wink:
OUI, il est possible de prendre n’importe quelle épaisseur de coupe intermédaire.
par exemple 1.23456789 mm est possible en théorie, mais après il faut être capable de régler une coupe aussi précise :slight_smile: De mémoire : 120° sur le vernier correspond environ à 1mm.

Toutes les combinaisons sont possibles, du moment que l’on passe progressivement de la coupe maximum à la coupe minimum en un nombre de passages limités.

En fait pour résumé, je dois trouver une formule qui me permette en 4 nombres de passer de la valeur 4 à la valeur 0.4 de façon progressive sachant que la somme de ces chiffres doit faire 8.

J’ai essayé de trouver des infos sur ce gerne de problèmes sur Internet, mais les quelques articles que j’ai pu lire sur la convertion d’un tour classique en un tour numérique traitent ce genre de problème par un circuit électronique (qui gère les avances, les vitesses etc …)Alors que perso, vu que je n’y connais pas grand chose en électronique, je prefers gèrer ça par informatique et transmettre mes ordres directement et de façon claire.
J’espère que cette fois mes réponses sont claire et vont t’aider à comprendre mon problème.

J’ai bien compris ton problème, mais malheureusement il n’y a pas UNE solution.

Relis un peu ce que j’ai marqué, mais ça revient à faire une somme avec des termes quasiment arbitraires.

On sait simplement que la somme doit bien faire l’épaisseur à enlever, mais il y trop de combinaisons possibles.