Tournage avec une CNC

  • Auteur de la discussion Auteur de la discussion gregmuch
  • Date de début Date de début

gregmuch

Apprenti
Bonjour à tous,


j'utilise depuis un ptit moment déjà CamBam+mach3 pour mes travaux d'usinage sur ma petite cnc chinoise 40x30 (broche 1kw). Ça n'est pas le truc de ouf mais elle s'en tire très bien sur l'alu et même l'acier standard (j'ai bricolé un système de lubrification).

J'ai à dispo un axe de rotation A et je voudrais savoir si il existe une solution pour "tourner" une pièce ? Genre l'axe A qui tourne en continue pendant que la fraise balaye le profil sur l'axe X (ou Y) ?


si vous avez une ruse à me conseiller, je suis preneur :D merci, Greg.
 
Salut,
Faire du tournage avec un axe qui semble de type "Axe C" (fait pour se positionner précisément) me paraît foireux voir impossible. Autant électriquement que mécaniquement si la machine n'est pas conçu pour comme sur un tour fraiseur par exemple.

Tu parle d'utiliser une fraise, cela serait plutôt du fraisage polaire (Fraisage avec un axe linéaire + un axe rotatif).
Il faut voir si ton axe c peut bouger pendant l'usinage, ou si il est fait pour se positionner uniquement avant usinage.

Je ne connais pas ce logiciel de FAO, mais a priori ils doivent tout être capable de le faire.
Cela peut aussi se programmer en ISO ou conversationnel.

Es-ce que tu peu déplacer ton axe rotatif manuellement depuis la cnc ?
 
Merci pour ta réponse !

Oui l'axe rotatif est pilotable via le gcode (donc si j'ai bien compris, on serait dans ce que tu appelles du fraisage polaire).

Par exemple pour le moment si je veux transformer un brut rectangulaire en cylindre, j'usine un demi cylindre puis le gcode fait tourner la pièce de 180deg et fais à nouveau un demi cylindre. C'est idiot comme façon de faire mais ça marche.

L'idée était donc d'avoir une rotation continue :-D
 
Dernière édition:
Ou iça pourrait marcher , il faut faire des essais
Mais pour moi le plus adapté à ton usinage c’est de faire ue interpolation circulaire , un rayon mais pour un tour complet oû en deux fois ça dépend de ton calculateur
 
Salut,

Tu ne peux pas réellement faire du tournage avec un 4ieme axe, ça ne tourne pas assez vite, mais il est effectivement possible de le faire tourner en continu, ça se paramètre sous Mach3, il suffit de le configurer comme une broche pilotée en step/dir.

Du pt de vue de CamBam, tu peux faire de l'usinage 4 axes moyennant un peut de bidouillage, mais ça ne fonctionne pas en rotation continue comme un tour, mais bien en usinage 4 axes.


++
David
 
Re

Pour faire un cylindre au 4ième axe avec CamBam, c'est relativement simple ; je te met 2 exemples similaires pour usiner un cylindre de 30mm de Ø fini et de 50mm de long, en partant sur une base de 40mm de Ø (enfin disons une section carrée de 40mm de diagonale si tu parts sur du carré)

Dans les 2 cas que je vais montrer, le principe reste exactement le même, on effectue un "surfaçage" à l'aide d'une opération de contour dont on va aussi utiliser le paramètre "largeur d'usinage", ensuite ce surfaçage sera "enroulé" autour d'un axe, Y dans le cas de cet exemple, à l'aide du post Processeur "RotaryY" (uniquement sur CamBam V1.0)

Pour l'exemple, on va supposer que ton 4ième axe est aligné sur l'axe Y de la fraiseuse.

Exemple1: usinage par bandes

Dans ce cas, le 4ième axe ne tournera pas pendant l'usinage, la fraise coupera le long de l'axe sur les 50mm de long, puis l'axe A tournera légèrement (de la valeur de l'écartement entre les passes) et une nouvelle bande sera coupée au retour, et ainsi de suite.

La base est une simple ligne (polyligne) verticale partant de 0 (centre de la croix des axes) et d'une longueur de 50mm, soit la longueur du cylindre comme sur l'image suivante.

Sans titre-1.jpg


On va assigner une opération de "Contour" à cette ligne en utilisant les paramètres suivants:

Surface pièce = 20 (soit le rayon du brut) ... c'est cette valeur que le PP de CamBam prendra comme valeur de rayon d'enroulement
Profondeur finale = 15, soit 30mm de Ø fini
Incrément de passe = 2.5 ; on aura donc 2 passes
Plan de dégagement = 25 (5mm au dessus du Ø du brut de départ)

On devra également renseigner 2 autres paramètres importants:

Largeur d'usinage = 125.6636, qui est égale au développé du Ø de 40mm, soit 40*Pi
Sens d'usinage = Mixte, pour éviter les retours à vide

Voila le résultat "à plat"

Sans titre-2.jpg

On choisis alors le post-pro "RotaryY" pour enrouler autour de l'axe Y

Sans titre-3.jpg

Puis on produit le GCode ; voila le résultat vu sous NCnetic

Sans titre-4.jpg


Exemple2: usinage en tournant

Dans ce cas, on utilise toujours le même principe, tout ce qui change c'est l'orientation de la polyligne de base ainsi que sa longueur.

Sa longueur deviens la valeur du développement du cylindre (125.6636mm) et la largeur d'usinage deviens la longueur du cylindre (50mm)

Sans titre-5.jpg


Sans titre-6.jpg


Le résultat sous NCnetic, l'usinage se fait en tournant, l'axe A tournera alternativement dans un sens puis dans l'autre. (pas de rotation continue)

Sans titre-7.jpg


Si les parcours d'outil ne se font pas du bon coté de la polyligne, il suffit d'inverser "Intérieur/Extérieur" dans l'opération de contour (ou d'inverser la polyligne elle même)

Si l'axe A est aligné sur X, le principe reste bien sur le même mais on utilisera le post-pro "RotaryX" à la place et le sens de la ligne (horizontale/verticale) donnera le résultat inverse du point de vu du sens de balayage (par bande ou en tournant)

Je pense qu'une fraise cylindrique devrait donner de meilleurs résultats qu'une hémisphérique ; le "lissage" du cylindre quand à lui dépendra de l'écartement entre les passes (recouvrement)

Dans le cas ou tu veux tourner un profil qui ne soit pas un cylindre, voir le tuto 4 axe à partir d'ici pour voir les méthodes possibles.

Comme dans ce cas il faut que l'usinage se fasse avec variation en Z, seules les opérations d'usinage fonctionnant en 3D peuvent être utilisées dans ce cas (Gravure et Profilage 3D), donc les opérations de contour et de poche ne sont pas utilisables.

Dans tous les cas, le 0 en Z devra être à l'axe de rotation du A (c'est la norme)

La méthode que j'utilise pour trouver le 0 en Z sur l'axe A (en mode "usinage en tournant", sinon ce n'est pas pratique, mais tu peux faire tourner le A en manuel avec les flèches du clavier)


Bonnes expérimentations ;)

++
David
 

Fichiers joints

Dernière édition:
Wouhaou, mille merci pour toutes ces explications ! :smt007

J'avoue que j'aime bien la solution 2 et je pense que ça donnera un meilleur état de surface (pas de facette).

Je sens que demain je vais faire plein d'essaies avec l option post processor Rotary x/y que je ne connaissais pas. :-D
 
Re

et si tu veux faire du vrai tournage, donc avec un outil de tournage et Gcode de tournage, c'est également possible:

- il te faut mettre un moteur "normal" sur ton 4ieme axe à la place du PàP pour pouvoir tourner assez vite, si c'est un 4ieme axe à courroie comme on voit souvent sur les petites Chinoises, ce ne devrait pas être très difficile à faire, et tu peux simplement commander le M/A du moteur avec un inter non commandé par Mach3 ... ou le gérer via Mach3 comme une broche en utilisant une sortie pour commander un relais moteur, comme pour une broche de fraiseuse.

- ensuite il y a 2 possibilités pour configurer ta fraiseuse en tour:

1) soit tu crée un profil tournage sous Mach3 ou tu assigneras différemment les pins moteurs (ports&pin/motor output) pour respecter le sens des axes d'un tour, soit Z de la fraiseuse devient X du tour et, suivant l'orientation de l'axe rotatif, Y ou X deviens Z du tour.

2) si tu n'a pas de chance et que ta carte d'axe est une carte Chinoise (il y a des chances sur une machine Chinoise ;)) alors tu ne pourras pas gérer le changement de noms d'axe en changeant les n° de pin via un profil Mach3 car sur ces cartes, les n° de pins moteurs sont codées en dur dans le plugin et changer les valeurs ne changera rien ; dans ce cas tu devras intervertir les axes au niveau du câblage lui même en intervertissant les sorties sur la carte d'axe.


++
David
 
Dernière édition:
encore une autre méthode que j'avais utilisée, elle permet par contre de couper un profil autre que cylindrique .. à condition qu'il n'y ai pas de zones inaccessibles à la fraise en raison de son Ø.

je coupe de profil, et c'est aussi un principe d'usinage par bande, la rotation de l'axe à chaque passage et gérée par un 'objet GCode' contenant le code de rotation mais on pourrait aussi mettre le bout de Gcode pour la rotation dans le pied ou l'en tête d'opération personnalisée de l'opération d'usinage.


Ça date de 2011, et depuis je sais comment faire une répétition de la rotation un nombre définis de fois. Le principe utilisé est le même que sur le tuto 4axes pour couper un arbre cannelé, j'utilise une liste de points + répétition d'usinage, le code de rotation est directement dans l'en tête d'opération personnalisée.


++
David
 
Aller, encore de quoi t'amuser ! et encore une autre méthode pour faire un cylindre, et en rotation continue.

Cette fois ci on coupe en rotation continue comme si on faisait un filetage avec une fraise en V

On a besoin d'une seule ligne inclinée qui sera enroulée. Cette ligne devra avoir, en X, la longueur du parcours déroulé et en Y la longueur du cylindre. (pour un enroulement autour de Y)

Ex, pour un usinage sur 40mm de Ø et 50mm de long avec un écartement entre les spires de 2mm (le pas en fait) il nous faut une ligne qui passe de 0 à 50mm en Y et de 0 à 3141.59 en X

Avec un pas de 2mm, sur 50mm de long, il faut donc 50/2 = 25 rotations

Développement = Ø * Pi * Nb Rot = 40 * 3.14159 * 25 sur cet exemple

Sans titre-10.jpg


Tu peux entrer directement les valeurs dans la collection de points de la ligne, ou comme moi, tu peux simplement dessiner un polyrectangle avec les bonnes dimensions et créer la ligne qui servira de parcours en joignant les coins opposées du rectangle.

Le résultat sur NCnetic

Sans titre-11.jpg


Si tu utilises cette méthode, attention à t'assurer que les limites de l'axe A soient définies assez larges dans Homing/Limits sur Mach3 ; par exemple ici il y a 25 tours donc ça va aller de 0 à 360*25 = 9000° .. il faudra donc que tes limites soient au moins de +9000° et -9000° dans Mach3.

Comme tu peux voir, ça donne un GCode très simple et très court, qu'on pourrait facilement faire à la main ;)

++
David

PS: désolé pour le mal de crâne ... ;)
 

Fichiers joints

Dernière édition:
Oui c'est vrai que sur le dernier exemple, le gcode est bête comme choux et si on veut faire un cône, il suffit de rajouter une consigne en Z. Reste malgré tout à réfléchir à la vitesse d'avance de l'outil et donc trouver la bonne vitesse de rotation par rapport au diamètre de la pièce (les calculs ne sont pas bien compliqué, faut juste penser à les faire )

En ce qui concerne mon setup, ça ressemble à ça :
1000011616.jpg


Pour des pièces non régulières, je pars d'un stl que je duplique 4 fois (ou plus) dans CamBam en appliquant une rotation à chaque copie du stl.

Ensuite je fais un profilage 3D de chacun des stl avec une rotation de la broche en post processing entre chaque profilage.
Ça prend un temps énorme à usiner mais le résultat est raisonnable.
1000037295.jpg


1000037294.jpg
 
Salut,
Reste malgré tout à réfléchir à la vitesse d'avance de l'outil et donc trouver la bonne vitesse de rotation par rapport au diamètre de la pièce (les calculs ne sont pas bien compliqué, faut juste penser à les faire )

Lorsque tu utilises un 4ieme axe rotatif, tu n'as pas besoin de faire de calculs, dans CamBam, tu donnes ta vitesse d'avance en mm/min comme pour n'importe quel usinage 3 axes ; c'est Mach3 qui va faire en sorte de respecter la bonne vitesse de rotation du A pour que la V d'avance soit la bonne en fonction du Ø en cours d'usinage (vu qu'il sait ou est le Z il connait donc le Ø d'usinage en cours)

Pour ça il faut:

- menu config/general config > cocher "A-Axis is angular".
- Menu config/toolpath > cocher "Use radius for feedrate"
- Sur l'écran settings (réglages), dans "Rotation radius" (ou "Diamètre des axes rotatifs" sur l'écran FR), mettre une faible valeur dans A, par exemple 0.001 (si laissé à 0 ça désactive la correction d'avance en fonction du rayon)

Mach3 essaiera de faire tourner l'axe A à la bonne vitesse pour conserver la vitesse d'avance demandée, mais sans jamais dépasser la V de rotation maxi définie dans le motor tuning pour A (valeur donnée en °/min)

++
David
 
Retour
Haut