Go Down

Topic: Comment utiliser une interface GRBL (débutant) ? (Read 3589 times) previous topic - next topic

demandeinfos

Bonjour,

Nouveau sur le forum, je souhaiterais me lancer dans ce projet : https://www.thingiverse.com/thing:2064368

Ce n'est pas une CNC mais je dispose de ce matériel que je souhaiterais utiliser pour actionner le moteur qui poussera le piston :
    1 Arduino uno
    1 Moteur Nema 17
    1 Shield CNC GRBL (résolution 200 pas, valeur moteur pour l'instant, pas de cavalier en place)
    1 Pilote moteur A4988

L'idée que j'ai est déjà d'arriver à ce que j'actionne le moteur nema avant/arrière via GRBL.

Je compte m'y prendre ainsi (je débute, je me suis fait une procédure en faisant la synthèse de plusieurs tutos web) :
-   Monter l'électronique
-   Vérifier le voltage du pilote moteur
-    Installer le logiciel arduino sur le PC, brancher la carte Arduino via USB, vérifier la reconnaissance du port
-   Tester la carte arduino (actionner la LED de la carte Arduino)
-   Mettre l'alimentation 12V en marche
-   Télécharger GRBL, téléverser dans arduino

C'est là à cette dernière étape GRBL où j'ai un peu de mal à voir. J'ai consulté les tutos ci-dessous, mais cette partie reste floue tout de même pour moi pour l'instant :
-   https://www.usinages.com/threads/g-code-et-grbl-mettre-le-pied-a-letrier-part-ii.97623/
-   https://www.youtube.com/watch?v=RRjNCKUdMT8

Ok pour téléverser GRBL dans l'IDE Arduino mais après j'ai du mal à voir comment l'utiliser pour actionner le moteur. Y a-t'il que le firmware GRBL qui est aussi une interface graphique X/Y/Z ou il faut le firmware GRBL + installer aussi une interface (Universal G-code Sender  ou GRBL Controller) ? et comment l'utiliser ?

Merci d'avance pour votre aide.

trimarco232

Bonjour,

GRBL est un protocole qui permet à un PC de commander une carte (un arduino en occurrence) via le port USB

il faut donc au niveau du PC une appli qui permet d'envoyer des commandes au format GRBL, et au niveau de la carte un sketch qui permet de recevoir ces commandes, d'en faire des commandes de moteur(s) PàP, de vitesse de broche, de répondre à des questions, etc

ton souci c'est l'appli au niveau du PC. Elle peut être réalisée de différentes manières :
- un logiciel genre Universal G-code Sender qui te permet d'envoyer les commandes manuellement
- une appli créée par tes soins à partir d'un logiciel de programmation sur PC
mais aussi :
- un logiciel tout fait qui fait exactement ou à peu près ce que tu veux
- un 2ème arduino qui envoie les commandes GRBL à celui muni du shield
et pourquoi pas :
on laisse tomber GRBL et le PC, et on fait faire tout le travail à l'arduino : prise en compte des données d'entrée (lesquelles ?), puis commande du shield pour le moteur PàP

car, ce qui n'apparaît pas dans ton exposé, ni dans le lien que tu as donné c'est quoi qui au début doit provoquer l'action sur la seringue ?



demandeinfos

Bonjour,

pour l'instant dans mon application, je cherche juste à vider la seringue de son contenu en poussant sur le piston (ce système ne sera pas destiné à du dosage, juste pour vider la seringue)

avec le système que je décris, j'envisage de dire au MPAP via l'interface GRBL, avance de X mm pour vider la seringue, je compte me débrouiller avec ça, c'est de la bidouille mais ça pourrait me dépanner (?)

si je peux pousser la seringue avec le moteur sur une distance donnée ce sera déjà une grande avancée, je peux envisager de faire varier la vitesse et mettre un endstop sauf si ça devient trop technique pour moi

après je suis aussi preneur de conseil ou d'information sur tout autre montage/système qui répondrait au projet mais sachant que je ne pourrai pas programmer Arduino et du C/C++ ni aller trop loin en dehors des montages "classiques"


Merci d'avance pour vos conseils.
Bonne journée.

hameau

#3
Jul 16, 2018, 03:36 pm Last Edit: Jul 16, 2018, 03:39 pm by hameau
Salut,

Tu n'a pas besoin du shiel cnc, juste arduino, le driver de moteur pas/pas et deux endstops, plus eventuellement  une carte permettant de monter le driver pas à pas , voir ci-dessous.


Aprés il faut faire un programme qui va commander la mise en rotation do moteur pas à pas (se trouve facimement), ensuite, l'arrêt du moteur se fait via les endstops , sinon plus sympa, envoyer au moteur un nombres de pas qui correspond à la distance de déplacement à réaliser pour vider la seringue.

Vue q'il y a un système vis-ecrou, une relation existe entre le  depalcement de la vis et le rotation de la vis. donc faut juste determiner le nombre de pas a envoyer au moteur pour 1 mm de deplacement, puis ensuite determiner le nombre de pas total poour faire un déplacement complet de la seringue, les endstops sont toujours présent en sécurité au cas ou.
@+

demandeinfos

#4
Jul 16, 2018, 06:31 pm Last Edit: Jul 16, 2018, 06:44 pm by demandeinfos
Hello

Quote
Aprés il faut faire un programme qui va commander la mise en rotation do moteur pas à pas (se trouve facimement), ensuite, l'arrêt du moteur se fait via les endstops
dans l'idée ça me plaît bien mais du coup je vais moins maîtriser et je ne serai pas en mesure de programmer (l'utilisation du montage UNO+shedl avec GRBL/UGS me conforte car on a une interface et je connais le montage)

je veux bien svp le schéma du montage avec l'unique pilote moteur + endstop (et où on peut le commander et les références des matériels) et avoir une idée de la procédure (je suis débutant et je ne suis pas familier de l'utilisation d'Arduino et de où on met les programmes)

Merci, bonne soirée.

hameau

#5
Jul 16, 2018, 07:08 pm Last Edit: Jul 16, 2018, 07:32 pm by hameau
Voici le schéma de cablage , le site :

http://hobbycomponents.com/motor-drivers/892-breakout-board-for-a4988-stepper-motor-driver



Par contre cela va impliquer de faire de la programmation avec la carte arduino, tu ne trouveras pas de solution toute faite.

Exemple de programme pilotant le pas à pas.
http://forum.hobbycomponents.com/viewtopic.php?f=76&t=2159.

Sinon pour l'apprentissage de l'arduino tu trouveras sur internet plein de site en français, et si problème sur le forum.

Decouverte Arduino en Fr


hameau

#6
Jul 16, 2018, 07:12 pm Last Edit: Jul 16, 2018, 07:37 pm by hameau
Autre solution avec juste Arduino et driver A4988 et pas à pas.

Tuto pas à pas arduino


demandeinfos

#7
Jul 17, 2018, 07:28 am Last Edit: Jul 17, 2018, 08:15 am by demandeinfos
merci beaucoup pour ce retour, je suis très intéressé

comme je ne suis pas du domaine, je ne connais pas les fournisseurs et termes techniques pour rechercher les matériels (les petits câbles et les contrôleurs notamment), pourriez-vous m'orienter sur l'achat des matériels que vous proposez ?

dans ces types de montage, il me semble que l'alimentation est fournie via l'USB de la carte arduino, est-ce bien le cas ?

je me pose cette question par rapport à la puissance, j'utilise le moteur suivant : moteur Nema 17 48 mm : Norme du moteur pas à pas: NEMA 17, Dimensions: 42.3x42.3x48mm, Poids: 350g, Diamètre de l'axe: Ø5 x ~24 mm, Nombre de phase: 2, Voltage standard: 2,8 V, Nombre de pas: 200, Pas angulaire: 1,8° (+/-5%), Couple de maintien: 50N.cm soit 70oz.in, Connection: 4 fils molex ou dupont, Résistance/phase: 1,65 Ohm par phase, Inductance/phase: 2,8 mH par phase, Courant/phase: 1,68 A par phase

merci d'avance



demandeinfos

Bonsoir,

Je profite de relancer mon post en précisant qu'en recherchant ce matériel je souhaiterais ne pas avoir à souder.

Merci d'avance.

hameau

#9
Jul 19, 2018, 11:32 pm Last Edit: Jul 19, 2018, 11:44 pm by hameau
Salut,

La carte pour installer le drivers pas à pas :

http://3dmodularsystems.com/fr/arduino/411-carte-d-extension-pour-driver-moteur-drv8825-a4988.html
Le moteur pas à pas se fixe directement sur la carte précédente, comme le driver  A4988.

Pour relier la carte arduino à la carte de contrôle il faut des fils de ce type :

https://www.amazon.fr/Elegoo-Breadboard-Femelle-Longueur-Arduino/dp/B01JD5WCG2/ref=sr_1_17?ie=UTF8&qid=1532035365&sr=8-17&keywords=arduino

Plus un bloc alimentation pour le moteur pas à pas  qui est à relier sur la première carte

https://www.amazon.fr/Alimentation-Externe-Secteur-220V-Sortie/dp/B001NKXXTG/ref=sr_1_8?s=computers&ie=UTF8&qid=1532035652&sr=1-8&keywords=alimentation+9v+3a

Et enfin ce cable pour relier alimentation au controleur

https://www.amazon.fr/dp/B073Q36R98/ref=sspa_dk_detail_2?psc=1&pd_rd_i=B073Q36R98

Voila



Alain46

En résumé on a :

Un PC avec GCode Sender
Relié par USB
A un Arduinio Uno dans lequel est chargé GRBL
Une interface moteur PAP reliée à l'Arduino, l'alimentation et le moteur

Donc, le PC envoie des phrases de commande GCode sur le port USB
La carte Arduino reçoit les phrases GCode, les interprètes et génère les signaux électriques permettant la rotation du moteur

Mais il reste une question non abordée :
Avec quoi sont générées les phrases de commande en langage GCode ?
Un programme qui se compile sans erreur n'est pas forcément un programme qui fonctionne.

Go Up