Advertisements

Arduino & CNC Shield

  • Auteur de la discussion mochel
  • Date de début
M
mochel
Nouveau
26 Mai 2017
5
  • Auteur de la discussion
  • #1
Bonjour

J'ai l'idée de me construire une imprimante et je viens de recevoir mon arduino et la carte CNC shield avec 4 cartes A4988.

J'ai trouvé un petit programme pour piloter un moteur pas a pas ...avec une carte A4988.
je l'ai transferé et réalisé en fil a fil la commande du moteur.
Le moteur tourne bien , tout est ok pour ce 1er test.

L'étape suivante etait de transferer grbl dans l'arduino et de faire déplacer le moteur avec une commande gcode.

J'ai donc remis le moteur sur l'axe X et saisi une commande type G28 X100
mais rien ne bouge, pourtant l'arduino répond ok

J'ai rien de plus que les 4 fils qui vont vers le moteur et bien sur l'alimentation de puissance

Qui pourais m'aider ?

merci

CNC Shield V3 Expansion Board + 4pcs A4988 Stepper Motor Driver for 3D
 
Advertisements
Marc PELTIER
Marc PELTIER
Compagnon
1 Juin 2010
507
89500
G28, c'est pour le retour de la tête à la position HOME.
Pour les déplacements, essaie G0 ou G1

G1 X100
 
M
mochel
Nouveau
26 Mai 2017
5
  • Auteur de la discussion
  • #3
bonjour A tous

voila j'avance un peu dans mon projet et j'ai récupéré 2 micro strep driver et j'en ai cablé 1 pour tester directement mon moteur pas a pas avec ce code :

//Arduino Sketch based on easy driver
int dirpin = 8;
int steppin = 9;
int enable = 7;
void setup()
{
pinMode(dirpin, OUTPUT);
pinMode(steppin, OUTPUT);
digitalWrite(enable, HIGH);
}
void loop()
{
int i;
digitalWrite(dirpin, HIGH); // Set the direction.
delay(5000);
for (i = 0; i<400; i++)
// Iterate for 4000 microsteps.
{
digitalWrite(steppin, LOW); // This LOW to HIGH change is what creates the
delayMicroseconds(3500);
digitalWrite(steppin, HIGH);
delayMicroseconds(3500); // This delay time is close to top tspeed for this
}
// particular motor. Any faster the motor stalls.
digitalWrite(dirpin, LOW); // Change direction.
delay(5000);
for (i = 0; i<400; i++)
// Iterate for 4000 microsteps
{
digitalWrite(steppin, LOW); // This LOW to HIGH change is what creates the
delayMicroseconds(3500);
digitalWrite(steppin, HIGH);
delayMicroseconds(3500); // This delay time is close to top speed for this
}
// particular motor. Any faster the motor stalls.
}

et le moteur tourne bien dans 1 sens et 1 autre.

je suis repassé avec le code grbl dans l'arduino et j'ai lancé la commande G1 X5 Y0 Z0 voila le résultat :

Grbl 1.1e ['$' for help]
[HLP:$$ $# $G $I $N $x=val $Nx=line $J=line $SLP $C $X $H ~ ! ? ctrl-x]
ok
ok
error:22
ok

qui peut m'aider svp ?

merci
 
M
mochel
Nouveau
26 Mai 2017
5
  • Auteur de la discussion
  • #4
suite de mon projet avec le cde Marlin dans l'arduino

j'ai branché l'arduino sur 1 microstep comme cela
PULS+ = sortie
DIR+ = sortie 5
ENA+ = sortie 8
tous les - ensembles et sur le GND Arduino

je lance le moniteur série sur le PC et je tape par exemple G1 X33 ou autre chose
le moteur pas a pas chauffe beaucoup mais je bouge pas?

cela vient d'ou ?

merci
 
La dernière réponse à ce sujet date de plus de 6 mois
Advertisements
Haut