Go Down

Topic: Grbl et l'ide Arduino (Read 40226 times) previous topic - next topic

icare

Re,

bon voila ce qu'il y a comme interprétation pour les axes en officiel
    X position absolue
    Y position absolue
    Z position absolue
    A position (rotation autour de l'axe X)
    B position (rotation autour de l'axe Y)
    C position (rotation autour de l'axe Z)
    U position Relative OU axe secondaire
    V position Relative OU axe secondaire
    W position Relative OU axe secondaire

donc tout dépend de l'axe que l'on veut utiliser en fait.

Exact.
On utilise également des copies d'axes pour avoir un actionneur double.
2B OR NOT(2B) = FF
Arduino 1.0.5 à 1.8.5 + gEdit + Ubuntu 18.04 LTS

infobarquee

je viens de m'apercevoir que SPINDLE est toujours en HIGH.
donc le M03-M05 ne fonctionnent pas.
je vais fouiller dans les fichiers pour trouver pourquoi :)
AUCUNE AIDE PAR MP

LETARTARE

#32
Apr 15, 2014, 03:29 pm Last Edit: Apr 15, 2014, 03:46 pm by LETARTARE Reason: 1
Bonjour,
sur la version Win et avec Grbl-0.82 sur MEGA2560, les deux ordres M03 et M05 fonctionnent bien : marche et arrêt sur la broche 6.
De plus si vous modifier la variable en "$12=1" vous avez une sortie en b6  (PWM)  à 1 kHz avec un rapport cyclique de 1000/307 pour la valeur par défaut , la commande "S 700" va donner un rapport cyclique de 1000/700.
Bien cordialement.

infobarquee


Bonjour,
sur la version Win et avec Grbl-0.82 sur MEGA2560, les deux ordres M03 et M05 fonctionnent bien : marche et arrêt sur la broche 6.
De plus si vous modifier la variable en "$12=1" vous avez une sortie en b6  (PWM)  à 1 kHz avec un rapport cyclique de 1000/307 pour la valeur par défaut , la commande "S 700" va donner un rapport cyclique de 1000/700.
Bien cordialement.

étrange car chez moi, le M03 est actif par défaut au boot, donc spindle et pour le mettre sur off c'est M04.
aussi bien sous linux que windows, de toute manière ca ne change rien suivant l'OS.
AUCUNE AIDE PAR MP


infobarquee


Bonjour,
voir http://linuxcnc.org/docs/html/gcode/m-code_fr.html
A bientôt

je connais les commandes, merci ;)
pour montrer ce que j'avance voici les photos

1 allumage du mega
2 M05
3 M04
4 M03
AUCUNE AIDE PAR MP

icare

Re,

pour montrer ce que j'avance voici les photos
1 allumage du mega
2 M05
3 M04
4 M03

Coinces-tu toujours sur l'allumage et l'extinction de la diode ?
Pour les photos, j'ai l'impression que l'on a 3 fois la même photo :)
2B OR NOT(2B) = FF
Arduino 1.0.5 à 1.8.5 + gEdit + Ubuntu 18.04 LTS

LETARTARE

@infobarquee
je n'en doutais pas un instant, une simple précision.
Mais c'est effectivement curieux que le M03 soit actif au démarrage.

infobarquee

@icare
oui toujours et j'avoue que ca m'agace un peu, mais tétu le breton, donc j'insiste :)
je me suis bien calé pour les prendre ;)
je mets en plus la photo des commandes qui va bien avec les photos

@LETARTARE
pourtant c'est bien ce qu'il se passe.
j'éteins le relay via M04 (étrange), je reboot la mega et le relay se connecte de suite, donc pour moi, cela vient bien du prog.
vu que la 82mega est la seule qui prenne en compte 4 moteurs, c'est celle que je veux utiliser.

j'ai re re re revérifié mon cable et mes connectiques des fois que, ca arrive de faire une bourde, mais tout est ok et aucun faux contact détecté au multimètre entre les pinoches, ce qui peut arriver aussi
AUCUNE AIDE PAR MP

B@tto

Infobarquee : comme discuté j'ai testé et ça fonctionne. GRBL considère que pour le relay 0 = éteint et 1 = allumé, hors sur ces drivers, c'est actif à l'état bas. J'ai fait ces modifs dans spindle_control.cpp :

Code: [Select]
void spindle_stop()
{
  SPINDLE_ENABLE_PORT |= ~(0<<SPINDLE_ENABLE_BIT);
}

void spindle_run(int8_t direction) //, uint16_t rpm)
{
  if (direction != current_direction) {
    plan_synchronize();
    if (direction) {
      if(direction > 0) {
        SPINDLE_DIRECTION_PORT &= ~(1<<SPINDLE_DIRECTION_BIT);
      } else {
        SPINDLE_DIRECTION_PORT |= 1<<SPINDLE_DIRECTION_BIT;
      }
      SPINDLE_ENABLE_PORT &= 0<<SPINDLE_ENABLE_BIT;
    } else {
      spindle_stop();     
    }
    current_direction = direction;
  }
}


La logique inversée est prévu sur les pins attachés au moteurs, mais pas pour la broche. Avec ces modifs le fonctionnement redevient normal chez moi
Blog électronique : battomicro.wordpress.com
Photographie : www.interactive-celebration.fr
Fablab de Montpellier : www.labsud.org

infobarquee

je viens de faire la modif et aucun changement.
:smiley-eek-blue:
AUCUNE AIDE PAR MP

icare

Bonsoir,
@LE TARTARE
Dans la version Grbl82Mega2560 - fichier config.h ne devrait-on pas commenter la ligne 50 ?
2B OR NOT(2B) = FF
Arduino 1.0.5 à 1.8.5 + gEdit + Ubuntu 18.04 LTS

LETARTARE

Bonsoir,
pour quelle raison ?

icare

Re,

Bonsoir,
pour quelle raison ?

On utilise la même pin ligne 81
2B OR NOT(2B) = FF
Arduino 1.0.5 à 1.8.5 + gEdit + Ubuntu 18.04 LTS

LETARTARE

Bonjour,
@infobarquee
je viens de publier une version 0.83 qui prend en compte dans le fichier "config.h" le niveau actif voulu par l'utilisateur pour les sorties 6, 36, 37, 35
https://github.com/LETARTARE/Mega2560-grbl-0.81/tree/devArduino
je l'ai testé sous Vista Pro pack2 en utilisant des relais actifs niveau 0 pour :

  • Spindle Enable (br6) avec M3, M4, M5,

  • Spindle Direction (br36) avec M3, M4,

  • Coolant Flood (br37) avec M8, M9,

  • Coolant Mist (br35) avec M7, M9


toutes ces sorties fonctionnent correctement et lors d'une RAZ sont toutes inactives.
Pouvez la tester ?

Bien cordialement.

Go Up