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 :
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 ?
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 ?
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"
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.
@+
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 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
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 ?