Projet Fraiseuse X2 - Avance Auto "X"

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

Plopiche

Compagnon
Le moteur pas à pas est piloté par un driver qui lui donne 800 micropas par tour
La vis "X" de ma fraiseuse est au pas de 1.5 mm
Je vais commander le driver avec une manivelle électronique qui fournit 100 impulsions par tour (Cijoint)
Je veux que chaque graduation de la manivelle donne un déplacement de 0.01 mm de l'écrou de la vis.
Pour effectuer ce déplacement de 0.01 mm il faut un nombre entier de micropas.
Si le moteur était en prise directe avec la vis 1 micropas = 1500 µm / 800 = 1.875 µm
Il faut ajouter une transmission permettant d'obtenir un nombre entier de micropas.
On peut mettre des engrenages ou une courroie crantée
Je vais partir sur une courroie crantée au profil AT 5 pour les calculs
Si j'utilise une poulie moteur de 32 dents et une poulie sur la vis de 30 dents *
Le rapport de transmission sera de 32/30 = 1.06666…7
Et pour 1 micropas : (1,875 * 32) /30 = 2µm
Pour chaque impulsion de la manivelle électronique il faudra envoyer 5 micropas au moteur.
Si je mets un commutateur x1 / x10 qui permettra d'obtenir des déplacements plus rapides, on enverra 50 micropas au moteur et le déplacement sera de 10 mm pour un tour de manivelle.



* Pour ce qui est des poulies de 32 et 30 dents c'est Chat GPT qui l'a déterminé.

 
B

Bambi

Compagnon
Je crois que tu n'es pas obligé de faire des micro pas entiers. J'ai des vis au pas de 4 et 5, le même ensemble moteur/drivers que toi, j'ai des déplacements de l'intervalle que je as souhaite. Par contre pour la manivelle électronique je sais pas.
 
P

Plopiche

Compagnon
Je ne pense pas qu'on puisse faire autrement que des micopas entiers. J'aurais pu essayer de me rapprocher du rapport souhaité avec plus de micropas pour le driver, mais ça pose deux problèmes :
- Plus on a de micropas moins on a de couple
- pour obtenir le rapport souhaité si l'écart entre les deux poulies est trop faible je ne trouverai pas les bonnes poulies ou je devrai les prendre plus grosses.
J'aurais pu prendre des engrenages mais j'aime bien les courroies crantées
Si la vis "X" n'avait pas eu un pas de 1.5 ça aurait été plus simple.
 
P

Papy54

Compagnon
Le moteur pas à pas est piloté par un driver qui lui donne 800 micropas par tour
As-tu bien regardé le tableau de ton drivers.
Il y a souvent une série multiple de 400 et une série multiple de 1000
En prenant 1000 et mettant une réduction de 1,5 par courroie crantée, ça fera 1500 pulses par tour de vis soit 10 pulses par 1/100
 
P

Papy54

Compagnon
Tu pourrais faire aussi une réduction de 1/3 et tu aurais 0,5mm par tour de moteur.
Et en regardant la photo que tu as mis de ton kit, ton drivers dispose bien de cette conjugaison
 
P

Plopiche

Compagnon
Oui d'autres combinaisons que celle que j'ai choisie sont possibles.
je vais dessiner ça. je dois tenir compte de l'encombrement et des longueurs de courroies disponibles en standard.
J'utilise un logiciel Mulco pour le calcul
Je prends une courroie AT5 Gen 3 que j'ai déja utilisée pour la broche. j'en suis tres satisfait.
Voici un exemple de calcul ou j'ai mis des valeurs approximatives pour vous montrer à quoi ça ressemble.

 
P

Plopiche

Compagnon
J'ai comparé deux solutions. Pour ça j'ai utilisé Chat GPT

Voici ma la question posée à Chat GPT :

Je voudrais comparer deux dispositifs :
Il s'agit d'un moteur pas à pas qui entraine une vis au pas de 1.5 mm avec un train de 2 engrenages :

Solution 1 :
Le moteur est piloté avec 800 micro pas par tour
Le pignon menant possède 32 dents
Le pignon mené possède 30 dents
Pour 1 micropas du moteur l'écrou de la vis avancera de 2 µm

Solution 2
Le moteur est piloté avec 1000 micro pas par tour
Le pignon menant possède 40 dents
Le pignon mené possède 30 dents
Pour 1 micropas du moteur l'écrou de la vis avancera de 2 µ

Voici la réponse de Chat GPT (J'ai seulement retenu les conclusions) :
1)
Pour les deux solutions, l'écrou de la vis avancera de 2 µm (0.002 mm) pour 1 micropas du moteur. Cela signifie que, malgré les différences dans le nombre de micropas par tour et les configurations des engrenages entre les deux solutions, elles fournissent la même précision en termes de distance parcourue par l'écrou pour un micropas donné.

La principale différence entre ces deux solutions réside donc dans leur configuration mécanique et électronique (nombre de micropas par tour et rapport de transmission des engrenages), mais pas dans la précision de l'avancement de l'écrou, qui reste identique dans les deux cas.

2)
Pour un couple moteur identique dans les deux configurations, le couple disponible sur le pignon mené est différent :

Pour la Solution 1, le couple disponible sur le pignon mené est de 0.9375 Nm. *
Pour la Solution 2, le couple disponible sur le pignon mené est de 0.75 m *

Cela signifie que, bien que les deux solutions offrent la même précision en termes de distance parcourue par l'écrou pour un micropas donné, la Solution 1 fournit un couple supérieur sur le pignon mené par rapport à la Solution 2. Cette différence pourrait avoir un impact significatif sur la capacité du système à déplacer des charges, avec la Solution 1 étant potentiellement plus adaptée pour des applications nécessitant plus de force.

* Chat GPT a supposé que le couple du moteur était de 1 Nm
 
Dernière édition:
P

Papy54

Compagnon
Solution 2
Le moteur est piloté avec 1000 micro pas par tour
Le pignon menant possède 40 dents
Le pignon mené possède 30 dents
Pour 1 micropas du moteur l'écrou de la vis avancera de 2 µ
As-tu vraiment besoin de ChatGPT pour trouver ça?

Et Chat GPT il a pas pensé à ça? : Soit une impulsion/µ
En prenant 1000 et mettant une réduction de 1,5 par courroie crantée, ça fera 1500 pulses par tour de vis soit 10 pulses par 1/100
 
P

Plopiche

Compagnon
Je n'ai pas demandé à Chat GPT de trouver une solution mais seulement de comparer celles que je lui proposais. Mais la aussi j'avais une idée sur le résultat de la comparaison.
Beaucoup de gens sont allergiques à l'IA mais bon c'est tout de même Chat GPT qui a écrit mon programme Arduino de commande du moteur avec LED allumée quand le moteur tourne, potentiomètre de réglage de vitesse, bouton poussoir avec antirebond pour la mise en marche.
Il m'a aussi écrit le programme destiné à faire fonctionner la manivelle électronique.
Moi j'aime bien
 
P

Plopiche

Compagnon
Florent a imprimé une platine provisoire en PETG pour mes tests

 
P

Plopiche

Compagnon
Bonjour,
Je viens de recevoir le rail de guidage avec vis a billes et moteur pas à pas pour tester mon programme de déplacement "X" avec une manivelle électronique.
49.26 € chez Aliexpress. C'est pas cher



 
P

Plopiche

Compagnon
Peux tu stp donner le lien du rail de guidage, merci
Oui bien sur : https://fr.aliexpress.com/item/1005...t_main.11.59935e5bYICtNR&gatewayAdapt=glo2fra

Et voici ce que j'ai calculé, vérifié par chat GPT pour le fun :


You
Rail linéaire avec vis à bille et moteur pas à pas commandé par une manivelle électronique et un Arduino Uno Le moteur est commandé par un driver qui donne 800 µpas pour un tour de moteur La vis est au pas de 4 mm Pour que l'écrou avance de 1 mm il faut que la vis tourne de 1/4 de tour Soit 800 / 4 = 200 µpas La manivelle électronique envoie 100 impulsions pour un tour de manivelle. Pour chaque impulsion l'Arduino devra envoyer 200 / 100 = 2 impulsions au moteur Et on aura une avance de 1 mm pour 1 tour de manivelle électronique Mon calcul est-il exact ?


ChatGPT
Votre calcul semble correct en ce qui concerne la relation entre le nombre d'impulsions envoyées par la manivelle électronique, les micro-pas nécessaires pour actionner le moteur pas à pas, et le déplacement de l'écrou sur la vis à bille. Voici une récapitulation de votre raisonnement pour s'assurer qu'on est sur la même page :
  1. Le moteur est commandé pour effectuer 800 micro-pas (µpas) par tour complet de la vis.
  2. La vis a un pas de 4 mm, ce qui signifie que pour chaque tour complet de la vis, l'écrou avance de 4 mm.
  3. Pour avancer de 1 mm, l'écrou doit donc se déplacer d'un quart de tour de la vis, parce que 4 mm / 4 = 1 mm.
  4. Un quart de tour de la vis nécessite donc 800 µpas / 4 = 200 µpas.
  5. La manivelle électronique génère 100 impulsions par tour complet de la manivelle.
  6. Pour chaque impulsion de la manivelle électronique, l'Arduino doit envoyer 200 µpas / 100 = 2 µpas au moteur pour obtenir le mouvement désiré.
  7. En conséquence, un tour complet de la manivelle électronique entraînera un avancement de l'écrou de 1 mm.
Votre logique pour convertir les impulsions de la manivelle en micro-pas nécessaires pour le moteur, et donc en déplacement de l'écrou, est correcte. Cela signifie qu'avec les paramètres donnés, un tour complet de la manivelle électronique entraîne bien un avancement de l'écrou de 1 mm sur la vis à bille.
 
P

Plopiche

Compagnon
ça tourne ...
J'ai ajouté un microcontact pour inverser le sens de déplacement et ça fonctionne.
Je suis en train de me dire que je devrais remplacer la vis trapézoïdale de la glissière "X" au pas de 1.5 par une vis à billes.
Je ne sais pas si c'est simple mais ça serait bien mieux.
Je pourrais me passer de la courroie avec les poulies de 30/32 dents dans ce cas.
Mais si je met le moteur à droite les graduations du tambour de gauche n'iront plus : il y a 75 divisins sur le tambour gradué et si je prends la même vis que celle qui est sur le rail de mes tests qui a un pas de 4 mm ça ne va plus aller.
Chat GPT me dit qu'il existe de vis a billes au pas de 1.5 mm dans ce cas je pourrais conserver mon tambour gradué.
Une vis au pas de 2 mm ferait aussi l'affaire en ayant un tambour gradué avec 100 divisions.
Qu'en pensez-vous ?
Je crains de me compliquer la vie.
 

Fichiers joints

Dernière édition:
P

Plopiche

Compagnon
Bonjour,
Je suis en train d'apprendre à programmer mon arduino Uno en français ...
Pour ça j'utilise Chat GPT 4
Voici comment ça se présente :

Ce programme commande un rail linéaire.
Un bouton poussoir permet de démarrer le moteur et de l'arrêter : Entrée 2 de l'Arduino Uno
Un autre bouton poussoir permet d'inverser le sens de déplacement : Entrée 3 de l'Arduino Uno
Ces boutons ont un rappel au + interne et un anti rebond.
Une led est allumée quand le moteur tourne : Sortie 13 de l'Arduino Uno
Un potentiomètre permet de régler la vitesse de déplacement : Entrée A0 de l'Arduino Uno

Je souhaite ajouter une fonction à ce programme :

Je veux ajouter une manivelle électronique pour commander Le moteur
Cette manivelle sera alimentée par 5V et GND
La sortie A de la manivelle sera sur la broche 4 de l'Arduino Uno
La sortie B de la manivelle sera sur la broche 5 de l'Arduino Uno
Ces deux broches auront un rappel au + et un antirebond
Une led verte s'allumera pour une impulsion sur A : Broche 6 de l'Arduino Uno
Une led rouge s'allumera pour une impulsion sur B : Broche 7 de l'Arduino Uno
Le temps d'allumage sera suffisant pour être visible.
Chaque impulsion de la manivelle fera avancer ou reculer le moteur de 2 micropas
Le moteur est piloté par le driver DMS 542T qui est configuré sur 800 micropas par tour.

Pouvez - vous m'écrire le programme Arduino Uno ?

C'est magique

Autres points :
J'avais envisagé de mettre une vis a bille à la place de la vis d'origine mais je trouve que ça m'entraîne trop loin :
Il faut trouver la bonne vis
Je ne sais pas si on peut usiner les extrémités
Je crois bien qu'on ne peut pas démonter l'écrou a billes
Il faut loger l'écrou a billes à la place de celui d'origine avec sans doute des fraisages à faire alors que ma fraiseuse ne sera plus opérationnelle.
Le tambour gradué de gauche comporte 75 divisions : il faudra en faire un nouveau.

D'autre part : Quand j'aurai fini la mise au point de mon programme je n'aurai plus besoin de mon rail linéaire. Je peux le vendre à l'état neuf à moins qu'il me vienne une idée d'utilisation.

Peut-être avez vous des idées ?

Merci pour votre aide.
 
P

Plopiche

Compagnon
Bonjour,
En attendant de terminer mon dispositif d'avance "X" sur ma fraiseuse X2 j'ai insatllé un comparateur pour obtenir une mesure "Z" précise.
La pièce rouge est une butée amovible imprimée en PETG évitant de forcer sur le comparateur en bout de course.
On peut l'enlever ainsi que le comparateur et utilser des cales pour descendre la broche d'une valeur déterminée.



 
P

Plopiche

Compagnon
Voila .. ça fonctionne. Je vais maintenant travailler sur mon dispositif d'avance automatique "X"

 
P

Plopiche

Compagnon
Bonjour
Je vous propose 2 versions de tableau de bord pour l'avance "X"
Dans les deux cas on trouve :
Bouton lumineux avance gauche (Allumé si On)
Bouton lumineux avance droite (Allumé si On)
La vitesse est réglée par un potentiomètre situé entre les deux boutons
Bouton d'arrêt (rouge) Stop a toutes avances et Voyants éteints

La différence se situe au niveau du ou des boutons d'avance rapide
1 ou 2 ?
Un bouton d'avance rapide n'est actif que si on est en avance lente
Si on appuie a nouveau sur un bouton d'avance lente ce dernier est prioritaire.
Un bouton d'avance rapide donne une vitesse de déplacement fixe

Merci pour vos avis et conseils.



 
M

midodiy

Compagnon
Le rapide doit s’arrêter quand on appuie plus sur le bouton on.
 
P

Plopiche

Compagnon
Oui tout a fait .Merci
J'ai aussi oublié de parler des 2 inter de fin de course : Il coupent l'alimentation du driver et du moteur mais ils n'interviennent pas dans la commande de l'Arduino.
Il me semble que je préfère la version a deux boutons "Rapide"
Je trouve que le fonctionnement est plus facile à comprendre.
 
Dernière édition:
P

Plopiche

Compagnon
Pour effectuer la mise au point de mon programme, j'ai dessiné un tableau de bord de test.
Je vais faire réaliser le PCB chez Seeed Studio.

Les instructions destinées à Chat GPT pour écriture du programme Arduino :

Description du Programme Arduino pour Commande de Moteur Pas à Pas

Définition des Pins d'Entrée/Sortie :

Entrées Numériques:

Pin 2: Bouton "Avance Gauche" - Déclenche la rotation du moteur dans le sens horaire.

Pin 3: Bouton "Avance Droite" - Déclenche la rotation du moteur dans le sens antihoraire.

Pin 4: Bouton "Avance Rapide Droite" - Active la rotation rapide du moteur dans le sens horaire. Pour que la rotation rapide soit activée il faut maintenir l'appui sur le Bouton.

Pin 5: Bouton "Avance Rapide Gauche" - Active la rotation rapide du moteur dans le sens antihoraire. Pour que la rotation rapide soit activée il faut maintenir l'appui sur le Bouton.

Pin 7: Bouton "Stop" - Arrête immédiatement la rotation du moteur.

Pin A0: Potentiomètre - Contrôle la vitesse variable du moteur en avance lente gauche et droite.

Sorties Numériques:

Pin 13: LED Verte - Allumée lorsque le moteur tourne dans le sens horaire.

Pin 12: LED Bleue - Allumée lorsque le moteur tourne dans le sens antihoraire.

Pin 11: LED Jaune (pour avance rapide droite) - Allumée lors de la rotation rapide dans le sens horaire.

Pin 6: LED Jaune (pour avance rapide gauche) - Allumée lors de la rotation rapide dans le sens antihoraire.

Pin A1: LED Rouge - S'allume pendant 1 seconde lorsque le bouton "Stop" est pressé.

Fonctionnalités Supplémentaires:

Gestion de la Vitesse: La vitesse du moteur est réglable via le potentiomètre connecté à A0 pour la vitesse normale, et par une valeur fixe dans le programme pour la rotation rapide.

Priorité de Commande: Le dernier bouton appuyé prend la priorité.

Sécurité de Changement de Sens: Le moteur s'arrête pendant 2 secondes avant de changer de sens.

Configuration des Boutons:

Toutes les entrées des boutons sont configurées avec un rappel positif (pull-up).

Un mécanisme d'anti-rebond est intégré pour chaque bouton.

 
Dernière édition:
M

midodiy

Compagnon
C’est du simple face, pas de trou métallisé . Tu as plus facile à le faire toi même.
J’imprime avec une imprimante laser, transfert de toner sur le circuit imprimé, attaque chimique avec le mélange eau oxygénée/acide chlorhydrique....
On va dire qu’il faut une heure.
 
P

Plopiche

Compagnon
J'ai deux questions :

1) "Sécurité de Changement de Sens: Le moteur s'arrête pendant 2 secondes avant de changer de sens."
Faut -il bloquer le moteur pas à pas avant de changer de sens ou laisser le rotor libre ?

2) Connaissez vous ce type d'appareil :


ça devrait pouvoir s'adapter sur une fraisuse X2 sachant que la vis "X" a un pas de 1.5 mm et que je souhaite une résolution de 0.01 mm

Dommage c'est un peu cher.

J'en ai trouvé chez Aliexpress mais sans afficheurs LCD et je n'ai pas trouvé si ça pouvait convenir pour 1.5 mm / Resolution 0.01

Qu'en pensez vous ?

Merci pour votre aide.
 
W

wika58

Compagnon
L'inconvenient de ces afficheurs est que tu ne t'affranchis pas du backlash comme c'est le cas avec des règles...
 
P

Plopiche

Compagnon
Bonjour,
Voici la dernière version du support de moteur pas à pas
Elle est compatible avec l'utilisation de la manivelled'origine.
Il suffit de démonter 2 vis pour enlever l'étrier qui supporte le moteur.

 
P

Plopiche

Compagnon
Voici le prototype de la commande de mon avance automatique "X"
J'ai préféré ajouter cette étape avant de passer à la version définitive sur la fraiseuse.
La mise au point du programme sera plus facile.
Il ne me reste plus qu'a câbler.

 
P

Plopiche

Compagnon
ça n'a pas été vraiment facile mais ça fonctionne. Pour la version définitive je vais utiliser un Arduino Nano soudé sur le PCB de mes boutons de commande.



 

Sujets similaires

Réponses
3
Affichages
804
fauxjetons
Réponses
8
Affichages
1 436
p.e.basile
P
Réponses
91
Affichages
16 428
p7m13
P
T
Réponses
36
Affichages
5 171
Tristan l'apprenti
T
O
Réponses
15
Affichages
8 763
barbier 09000
B
T
Réponses
54
Affichages
57 286
woodbike
W
T
Réponses
34
Affichages
8 771
touramoto
T
T
Réponses
39
Affichages
16 969
bruce85
B