Pages: 1 [2]   Go Down
Author Topic: logiciel CNC pour arduino en java  (Read 2863 times)
0 Members and 1 Guest are viewing this topic.
Geneva
Offline Offline
Faraday Member
**
Karma: 30
Posts: 3231
Yoplait... le pt'it suisse
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Finalement j'ai replacé chaque partie de code l'une après l'autre et testé à chaque ajouts ou modifications.

Pour le moment j'ai mis cette ligne en commentaire :

Code:
// moveSteppers(xsteps, ysteps, zsteps, dirx, diry, dirz);

Ceci pour mettre de coté "linear_interpolation.pde".


Dans cette partie j'ai mis la fonction clearBuffer() en commentaire :

Code:
Serial.print(ACK,BYTE);//ACK = 006
  // clearBuffer();  déplacé à la fin de clearBuffer()
      done = true;


J'ai replacé la fonction clearBuffer() à la fin de la fonction parseBuffer() :

Code:
...
   break;
         case 'Z':
            zsteps = makeLong(i+1);
            if ( zsteps < 0 ){ zsteps = -zsteps; dirz = -1; }
            break;
            case 10 :
          { clearBuffer();}
          break;
       }

Maintenant les leds clignotent, apparemment le buffer était vidé avant sa lecture.


La fonction fonction calcCRC() bloque tout, j'en ai mis une partie en commentaire et j'ai gardé le boléen bufferReady :

Code:
/*if (calcCRC() == buffer[bufferLength-2]){
         done = false;
         pause = false;*/

         bufferReady = true; // crc ok

      /*}else{// uh-oh. wrong crc, send NAK
         clearBuffer();
         Serial.print(NAK,BYTE);// NAK = 025
      }*/

Je n'arrive toujours pas à comprendre comment va cette fonction, j'ai simplement compris qu'elle compare la fin du string et que cela doit correspondre à un certain caractère qui se trouve entre LF et '*' cette valeur CRC peut être LF, STOP, ACK ou Nak.


L'autre problème réside dans le fait que la fonction ChekTemp() qui lit la valeur du capteur de température n'a pas l'air de fonctionner, ce qui n'arrange pas les choses c'est que je ne comprend pas le boléen "sendBack" :

Code:
int CheckTemp(boolean sendBack){
   // read adc pin and optionally send it back to Processing.
   thermistorValue = analogRead( thermistorPin );
   if(thermistorValue < MaxTempReading && thermistorValue > MinTempReading){ tempOK = true; }
   else{ tempOK = false;}
   int t = thermistorValue;
   if(sendBack){ // send temp back to processing if true or too hot/cold
      Serial.print("UT");
      Serial.print(t,DEC);// string représentation
      Serial.print("*");
      Serial.print(10,BYTE);
   }
}

Mais pour l'instant j'avance quand même   smiley-wink.
« Last Edit: June 06, 2008, 06:47:20 pm by jfs » Logged

MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

Geneva
Offline Offline
Faraday Member
**
Karma: 30
Posts: 3231
Yoplait... le pt'it suisse
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Je me suis aperçu que lorsque je mets tout les "clearBuffer()" en commentaire, les leds clignotent, mais au bout d'un moment elles s'allument dans une position et ne bougent plus.

Code:
...
     moveSteppers(xsteps, ysteps, zsteps, dirx, diry, dirz);
         Serial.print(ACK,BYTE);//ACK = 006

         clearBuffer();

         done = true;
   }...


J'ai essayé de déplacer l'appel à la fonction clearBuffer(), mais chaque fois que je la remet en fonction les leds restent éteintes.
Logged

MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

Geneva
Offline Offline
Faraday Member
**
Karma: 30
Posts: 3231
Yoplait... le pt'it suisse
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Pour le branchement des moteurs il me semble que sur ce site il y a la solution.

Dans le chapitre "Two-Wire Connection".
Logged

MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

Geneva
Offline Offline
Faraday Member
**
Karma: 30
Posts: 3231
Yoplait... le pt'it suisse
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Comme l'ULN 2004 ne supporte pas plus que 500mA j'essaie de "piloter" des tip120 avec.

J'ai modifié le schéma cité dans le message précédent de cette façon (c'est un ULN 2004 que j'ai):





J'ai eu quelque soucis, mais ce matin j'ai trouvé le problème, le montage que j'avais mettait chaque fois deux Tip120 sur le même radiateur en alu et de ce fait ils s'actionnaient en même temps...
« Last Edit: June 19, 2008, 12:46:12 am by jfs » Logged

MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

Pages: 1 [2]   Go Up
Jump to: