Go Down

Topic: logiciel CNC pour arduino en java (Read 3 times) previous topic - next topic

Jean-François

#15
Jun 07, 2008, 01:45 am Last Edit: Jun 07, 2008, 01:47 am by jfs Reason: 1
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: [Select]

// 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: [Select]
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: [Select]
...
  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: [Select]
/*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: [Select]
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   ;).
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

Jean-François

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: [Select]
...
    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.
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

Jean-François

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

Dans le chapitre "Two-Wire Connection".
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

Jean-François

#18
Jun 19, 2008, 01:31 am Last Edit: Jun 19, 2008, 07:46 am by jfs Reason: 1
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...
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

Go Up