Commande manuelle a partir d Arduino

  • Auteur de la discussion alain.depraetere
  • Date de début
A

alain.depraetere

Apprenti
Bonjour
J'ai commandé une carte Arduino
Un shield et des drivers
Comme je debute je voudrai pouvoir commander les moteurs PAP manuellement j'ai supprimé les manivelles sur ma mini fraiseuse proxxon mf70 j'ai vu un boîtier avec potard et inter c'est peut-être une solution je retouve plus le site et n'ai aucune idée de sa réalisation

Merci de votre aide
Alain
 
J

jpbbricole

Compagnon
Salut Alain
Dépendant de tes connaissances en électronique et en Arduino, j'ai fait ça qui peut très bien être réalisé avec des boutons au lieu de sensors.
Le principe est de "télécommander" un Arduino sous GRBL, ainsi on peut commander manuellement et envoyer des fichiers depuis UGS par exemple.

Cordialement
jpbbricole
 
Dernière édition:
A

alain.depraetere

Apprenti
Dur dur, et bluffant .
Je sais assemblé un kit , ( télé et poste a transistor en 1970) mais la :cry:
Je vais prendre le temps de lire et essayer d'aller au plus simple.
J'ai vu des kits mais livré avec moteurs et cher....
Merci de m'avoir répondu
Alain
 
B

BernardG

Apprenti
Hum, si tu veux te familiariser avec Arduino et moteurs pas à pas, va au plus simple. Commence par commander ton moteur avec du code, puis modifie le code pour mettre in potard. J'ai publié récemment sur mon blog un article concernant le réglage des drivers Pololu A4988 et DRV 8825. Tu peux aussi utiliser Grbl et la commande jogging.

Dans mon article tu as un schéma de branchement clair et simple, et le code Arduino, tout aussi clair et simple, et commenté en bon français en dessous. N'hésite pas si tu as des questions.
https://www.lebearcnc.com/reglage-d...-pas-pololu-a4988-drv8825-drv8824-et-drv4834/

Bon courage,
Cordialement.
 
B

BernardG

Apprenti
Merci, @RacingMat , ça fait toujours plaisir! Le tuto que tu mets en lien semble bien fait, certainement utile.
 
J

jpbbricole

Compagnon
Je sais assemblé un kit , ( télé et poste a transistor en 1970)
C'est bien claire, au vu de ça, je suis complètement hors sujet avec mes propositions (j'ai essayé, pour le fun!) et te conseille vivement de suivre le blog de Bernard, au demeurant super didactique, qui te permettra de te familiariser avec les finesses des MPAP et après cacher tout ça derrière des bibliothèques et ainsi "changer de vitesse"
Tu peux aussi utiliser Grbl et la commande jogging.
Je n'ai pas très bien compris l'avantage de la fonction Jog de GRBL par rapport à l'envoi, par G-code, de coordonnées?
Et il faut un PC donc plus d'autonomie?

Cordialement
jpbbricole
 
B

BernardG

Apprenti
Je n'ai pas très bien compris l'avantage de la fonction Jog de GRBL par rapport à l'envoi, par G-code, de coordonnées?
Et il faut un PC donc plus d'autonomie?

Cordialement
jpbbricole

Je me suis mal exprimé, Grbl n'a pas de fonction jog à proprement parler, j'aurais du dire par l'utilisation de fonctions Jog d'un contrôleur de Grbl. De toutes façons, il faut un programme extérieur, tournant sur un PC où autre, pour "dialoguer" avec Grbl et lui envoyer du GCode. L'intéret de "jogger", en terme CNC (pas autour du paté de maisons!), c'est justement qu'on peut envoyer des commandes (qui de toutes façons sont bien des commandes GCode), d'une manière plus "naturelle", en utilisant les flèches curseur du clavier et des appuis répétés sur celles-ci. Mais de toute façon, l'un n'empêche pas l'autre.

Je suis en train de finaliser la parution d'un article sur le "Panneau de Contrôle Grbl". Si tu vas à nouveau sur mon site d'ici une paire d'heures, il devrait être disponible. Ça rendra peut-être mon explication plus claire.
 
B

bipbip30

Compagnon
bonjour,

juste un petit coucou a BernardG en passant en le remerciant pour son blog et tous les articles intéressants que l'on y trouve :smt023
 
J

jpbbricole

Compagnon
(pas autour du paté de maisons!)
Mais souvent au tour du bureau quand ça tourne mal!
Grbl n'a pas de fonction jog à proprement parler
En fait oui, mais depuis la version (futur?) 1.1. J'avais déjà vu le terme s'adressant à GRBL, d'où ma question puisque il n'y a pas de pin de libres pour cette fonction. J'ai trouvé de la doc ici. GRBL avec cette fonction, jog, bloque l'entrée de nouveaux ordres jusqu'à ce que l'ordre précédent soit terminé.

Cordialement
jpbbricole
 
A

alain.depraetere

Apprenti
Merci à vous tous je vais prendre le temps de découvrir et chercher à comprendre tout cela et reviendrais vers vous.
Alain
 
B

BernardG

Apprenti
Mais souvent au tour du bureau quand ça tourne mal!

En fait oui, mais depuis la version (futur?) 1.1. J'avais déjà vu le terme s'adressant à GRBL, d'où ma question puisque il n'y a pas de pin de libres pour cette fonction. J'ai trouvé de la doc ici. GRBL avec cette fonction, jog, bloque l'entrée de nouveaux ordres jusqu'à ce que l'ordre précédent soit terminé.

Cordialement
jpbbricole

Ha oui, j'avais oublié ça. Il y a d'autres fonctions modales, mais le passer en modal lors de l'envoi de commandes Jog est effectivement nouveau avec la version 1.1. Pas future, non, elle est dispo, et les copie d'écrans sur mon article sont faites avec elle: https://github.com/gnea/grbl/

Il n'y a pas besoin de pin dédié pour ça.
 
V

vres

Compagnon
Bonjour
Sur Arduino il existe une librairie très simple appelée "stepper".
Un exemple semble parfaitement correspondre à ta demande : https://www.arduino.cc/en/Tutorial/MotorKnob
Il me semble qu'une réalisation semblable à déjà été faite sur le forum.

L'exemple pilote le moteur en commande de phase. Il est préférable d'utiliser un driver classique en dir/step en utilisant la déclaration avec 2 Pins
 
Dernière édition:
A

alain.depraetere

Apprenti
Bonjour
Pour l'instant j'ai l'impression de visiter un pays dont je ne connais pas la langue.....!
Mais je vais étudier tous les liens et le PDF sur Arduino pour mettre à profit votre aide.
Merci
 
G

gégé62

Compagnon
je crois que <AccelStepper.h> est bien aussi, comme son nom l'indique réalise les rampes d'accel et décelération ( "stepper" est inclus dedans)
 
B

BernardG

Apprenti
je crois que <AccelStepper.h> est bien aussi, comme son nom l'indique réalise les rampes d'accélération et décélération ( "stepper" est inclus dedans)

Oui, j'allais en parler! En fait, suivant le "banc test", AccelStepper est fortement recommandé, les mouvements sans gestion d'accélération/décélération pouvant être assez brutaux!
Elle ne fait pas partie de la "livraison" d'origine avec l'environnement Arduino et se trouve ici: http://www.airspayce.com/mikem/arduino/AccelStepper/

Maintenant, si le but est d'aller vraiment au plus simple, on peut aussi se passer complétement de librairies.
 
V

vres

Compagnon
je crois que <AccelStepper.h> est bien aussi, comme son nom l'indique réalise les rampes d'accel et décelération ( "stepper" est inclus dedans)

Si la commande est faite par un potentiomètre par une consigne vitesse comme semble le vouloir Alain, je ne suis pas certain qu'il y ai besoin d'une gestion des accélérations.
En examinant le code de MotorKnob, cette exemple ne correspond pas à la demande.

C'est cet exemple qu'il faut prendre: https://www.arduino.cc/en/Tutorial/StepperSpeedControl
 
B

BernardG

Apprenti
Si la commande est faite par un potentiomètre par une consigne vitesse comme semble le vouloir Alain, je ne suis pas certain qu'il y ai besoin d'une gestion des accélérations.

J'ai regardé le code de l'exemple donné, le potentiomètre gère le nombre de pas, pas la vitesse. Par ailleurs, dans cet exemple, je ne vois pas comment s'inverse le sens du déplacement. Exemple très académique et pas vraiment pratique.
 
B

BernardG

Apprenti
Pour ce qui est du sens, il suffit d'assigner une entrée avec un inter. C'est 1 ligne de code.
Oui, oui, bien sûr, mais pour un complet débutant qui n'a jamais programmé, c'est pas si simple. En même temps, ça peut être un bon exercice :)
 
B

BernardG

Apprenti
bjr, oui mais il n'
y a pas d'inversion de sens de rotation !

@BernardG

haha, bien sur qu'on peut coder ce qu'on veut! La vidéo est un peu longue, mais bien faite. Ma remarque était liée au code exemple montré sur le site Arduino, je n'ai pas du tout voulu dire que ce n'était pas faisable. Avec un joystick ET un potard, pour régler sens du mouvement et vitesse, on a un ensemble qui va bien pour commander un stepper (des steppers).

Mais pour quelqu'un qui n'a jamais écrit de code et est plus intéressé par le résultat que par comment l'obtenir, il me semble qu'installer Grbl, et utiliser la fonction jogging du Panneau de Contrôle Grbl revient exactement au même et est bien plus simple. Mais bon, je me trompes peut-être sur ce que @alain.depraetere cherche à faire.
 
A

alain.depraetere

Apprenti
Mais bon, je me trompes peut-être sur ce que @alain.depraetere cherche à faire.
Bonjour
En fait je suis en train de construire un bateau remorqueur de 1,3 m propulsé par une machine a vapeur a partir d'un plan.
Je souhaite scanner le plan pour reproduire certaine pièces bois et laiton. J'ai une fraiseuse proxxon et je suis seulement en train d'installé des moteurs PAP.
Je veux aller au plus simple pour ce faire, et ne connais rien en moteur PAP, Arduino.... et n'ai besoin que de découvrir le stricte nécessaire pour cet objectif.
J'ai ouvert ce post car j'ai du enlever les manivelles de ma table croisée.
Merci
 
B

BernardG

Apprenti
Bonjour
En fait je suis en train de construire un bateau remorqueur de 1,3 m propulsé par une machine a vapeur a partir d'un plan.
Je souhaite scanner le plan pour reproduire certaine pièces bois et laiton. J'ai une fraiseuse proxxon et je suis seulement en train d'installé des moteurs PAP.
Je veux aller au plus simple pour ce faire, et ne connais rien en moteur PAP, Arduino.... et n'ai besoin que de découvrir le stricte nécessaire pour cet objectif.
J'ai ouvert ce post car j'ai du enlever les manivelles de ma table croisée.
Merci

Bonjour Alain et merci des précisions. Le plus simple aurait été que tu trouves des moteurs pas à Pas avec l'arbre sortant des deux cotés, comme celui-ci, par exemple: https://www.aliexpress.com/store/product/Nema17-CNC-stepper-motor-78-Oz-in-Dual-shaft-48mm-stepping-motor-1-8A-RATTM-MOTOR/907217_32679252428.html

Mais d'après ce que tu dis, je comprends que tu as déjà tes moteurs, donc cette option semble devoir être écartée.

Maintenant, le strict nécessaire pour faire ce que tu veux, ce n'est PAS de passer des commandes manuelles, puisqu'en fait, tu veux pouvoir découper des pièces provenant d'un plan scanné. Cela implique:
  • Transformer le résultat du scan en fichier DXF où STL
  • Utiliser un programme où utilitaire pour convertir le fichier vectorisé en GCode
  • Utiliser un logiciel tel que le Panneau de Contrôle GRBL (dont j'ai parlé dans un message précédent), pour envoyer le GCode
  • Utiliser GRBL, qui va recevoir le Gcode, l'interpréter et commander la machine.
Si tout cela te semble du chinois, j'en reviens à ce que j'ai dit plus haut: l'option qui "semble" devoir être écartée est en fait la meilleure option. Un moteur pas à pas, s'il n'est pas alimenté en courant, n'oppose quasiment pas de résistance au mouvement. Sur un moteur avec un arbre sortant des deux cotés, il suffit de monter une molette, et tu "récupéres" l'usage de ta fraiseuse, en manuel, le temps d'apprendre et de "digérer" les différentes étapes indiquées. Pratiquement, c'est comme si tu avais 2 machines en une: Arduino éteint, pas de courant aux moteurs, utilisation manuelle. Arduino en ligne, machine CNC.

Bien sûr c'est un achat que tu n'avais surement pas prévu, mais tu dois pouvoir revendre tes moteurs actuels, et au regard du coté pratique et du temps gagné, à mon avis, y'a pas photo.
J'espère que cela t'aide!

Bon courage et sûrement à bientôt,
 
Dernière édition:
J

jpbbricole

Compagnon
Salut alain
j'ai vu un boîtier avec potard et inter c'est peut-être une solution
Un pot, oui, mais au niveau pratique, pour gérer les déplacements des axes, surtout X et Y c'est pas pratique. Un joystick logique ou analogique, c'est mieux.
Le mieux que tu ait à faire, vu que tu as déjà l'Arduino et le shield, c'est d'utiliser une bibliothèque de gestion de MPAP, de faire les exemples, d'essayer de comprendre et ensuite d'y mettre ton grain de sel.
Pour débuter facilement, je te conseille la librairie AH_Pololu.h et l'exemple AH_Pololu_lite. C'est le b.a.-ba du MPAP avec driver.
Procures-toi le schéma de ton shield.
Pour les questions, ne te gêne pas, c'est la meilleure façon d'avancer et d'arriver à une mini fraiseuse qui se manie du bout des doigts.

Cordialement
jpbbricole
 
A

alain.depraetere

Apprenti
Re JPB

Merci de ta réponse, mais je vais d’abord assurer avec les moteurs double shaft proposés par Bernard au cas ou je n'aboutirai pas dans mon projet .Je suis dans l'attente de l'arduino et du shield parti de chine il y a 2 jours.
donc pas de test possible pour l'instant
 
J

jpbbricole

Compagnon
assurer avec les moteurs double shaft proposés par Bernard
Ok pas de souci.
Question, pourquoi n'as-tu pas utilisé cette solution?

Autre remarque
il me semble qu'installer Grbl, et utiliser la fonction jogging du Panneau de Contrôle Grbl revient exactement au même
Bernard n'a pas tort, en effet ce n'est non pas plus pratique et plus simple à implémenter mais surtout il ne faut pas oublier, si tu veux faire marcher ta machine avec GRBL ce qui semble être le cas, que tout mouvement que tu feras avec tes montages ou à la main ne seront pas enregistrés par GRBL, donc perte de références par GRBL, avec la solution Bernard oui (à ne surtout pas négliger!).

Bonne après-midi
jpbbricole
 
Dernière édition:
Haut