Wiki

Reso-nance numérique | Arts et cultures libres

Outils du site


Panneau latéral

projets:charly_robot_grbl:accueil

Ceci est une ancienne révision du document !


Charlyrobot GRBL

  • Porteur du projet : resonance & julien maire
  • Date : 16/03/2017/ - …
  • Licence : CC-by-sa-3.0
  • Description : Passer en GRBL une fraiseuse numérique Charlyrobot CRA4

Description

Passer en grbl une fraiseuse numérique Charlyrobot CRA4

Les Charlyrobot ont envahi les collèges dans les années 90, ce sont des machines robustes, mais leur logiciel est un peu archaïque.
Nous décidons de remettre a jour une CRA4 récupérée à l'ESADMM (Beaux-Arts de Marseille) en changeant l'électronique par une Arduino qui permettra une gestion en Grbl avec des logiciels comme Universal Gcode sender.

charly robot grbl

Inspiration : http://www.usinages.com/threads/retrofit-charlyrobot.42233/print

Nous n'allons certainement pas garder :

  • le verrouillage du capot
  • certains boutons à l'avant de la machine

Matériaux

  • 1 Arduino (uno)
  • 1 cnc shield
  • 3 drivers moteur DM420A
  • du cable électrique

Notes

  • Les steppers ont 8 fils , 4 paire de deux. (il y en a une paire rouge (1e bobine) et une paire marron (2e bobine).
  • Les end stops sont des fils jaunes vifs (certains sont bariolés), en paire avec les fils rouges (+ dans l'ancienne config).
  • Le palpeur semble être un fil gris clair.
  • L'alimentation d'origine délivre 32.5v

Code test drivers pas à pas :

Nous allons tester les moteurs et drivers un par un avec ce code test :

ps : nous règlons les DIPSWITCHs :

  • pour un maximum de courant : SW1,SW2,SW3 = OFF OFF OFF, SW4 = ON
  • pour une résolution au 1/16e de pas : SW5 SW6 SW7 = ON ON OFF
//Relier les entrées du driver à l'Arduino
int dirPin = 2;
int pulPin = 3;
int enblPin = 4;
 
void setup(){
    pinMode(dirPin, OUTPUT);
    pinMode(pulPin, OUTPUT);
    pinMode(enblPin, OUTPUT);
    digitalWrite(enblPin, HIGH);
}
 
void loop(){
    slide('L', 500, 500); //go Left for 500 steps at speed 500, (the lower the number is the faster the motor will go)
    delay(2000);
    slide('R', 500, 500); //go Right for 500 steps at speed 500
    delay(2000);
}
 
void slide(int dir, int steps, int sspeed){
    if (sspeed < 50) sspeed = 10; //keeps the speed above 10
    if (dir == 'L') digitalWrite(dirPin, HIGH);
    else if (dir == 'R') digitalWrite(dirPin, LOW);
 
    while (steps > 0){
        digitalWrite(pulPin, HIGH);
        delayMicroseconds(10);
        digitalWrite(pulPin, LOW);
        delayMicroseconds(10);
        delayMicroseconds(sspeed);
        steps--;
    }
}

Photos

Le cablage a moitié fini :

Configuration GRBL

Nous devons configurer le grbl … https://github.com/grbl/grbl/wiki/Configuring-Grbl-v0.9

=== Pour l'instant : === (le homing ne marche pas… mais le reste est bien) les end stop x et y semble fonctionner)

$0=10 (step pulse, usec)
$1=255 (step idle delay, msec)
$2=0 (step port invert mask:00000000)
$3=0 (dir port invert mask:00000000)
$4=1 (step enable invert, bool)
$5=0 (limit pins invert, bool)
$6=0 (probe pin invert, bool)
$10=3 (status report mask:00000011)
$11=0.010 (junction deviation, mm)
$12=0.002 (arc tolerance, mm)
$13=0 (report inches, bool)
$20=0 (soft limits, bool)
$21=1 (hard limits, bool)
$22=1 (homing cycle, bool)
$23=2 (homing dir invert mask:00000010)
$24=25.000 (homing feed, mm/min)
$25=500.000 (homing seek, mm/min)
$26=250 (homing debounce, msec)
$27=1.000 (homing pull-off, mm)
$100=640.000 (x, step/mm)
$101=640.000 (y, step/mm)
$102=800.000 (z, step/mm)
$110=2000.000 (x max rate, mm/min)
$111=2000.000 (y max rate, mm/min)
$112=500.000 (z max rate, mm/min)
$120=40.000 (x accel, mm/sec^2)
$121=40.000 (y accel, mm/sec^2)
$122=40.000 (z accel, mm/sec^2)
$130=320.000 (x max travel, mm)
$131=220.000 (y max travel, mm)
$132=80.000 (z max travel, mm)
/home/resonancg/www/wiki/data/attic/projets/charly_robot_grbl/accueil.1491292441.txt.gz · Dernière modification: 2017/04/04 09:54 de resonance