Aller au contenu


Photo
* * * * - 1 note(s)

Présentation dema petite CNC


  • Veuillez vous connecter pour répondre
127 réponses à ce sujet

#121 Forthman

Forthman

    Habitué

  • Membres
  • PipPip
  • 231 messages
  • Gender:Not Telling
  • Location:Montauban (82)

Posté 19 octobre 2017 - 03:32

Oui, tu peux l'utiliser comme tuteur pour les tomates  :crazy: :whistle2: 



#122 levend

levend

    &1

  • Modérateur
  • PipPipPipPipPip
  • 3 271 messages
  • Gender:Male
  • Location:Vendée
  • Interests:Robotique, informatique, architecture et patrimoine...

Posté 19 octobre 2017 - 07:56

Notre terrain contient déjà assez de fer :D .

 

Non mais l'oxydation n'est qu'en surface donc tout à fait utilisable mais pas pour n'importe quoi.

 

Edit : plus qu'à fixer le moteur et le second côté sera terminé, ce n'est pas e plus simple :D...


Combats de robots : stratégie avant tout, le Combat des makers

Cagnotte Leetchi : mon projet de robot d'exploration .


#123 levend

levend

    &1

  • Modérateur
  • PipPipPipPipPip
  • 3 271 messages
  • Gender:Male
  • Location:Vendée
  • Interests:Robotique, informatique, architecture et patrimoine...

Posté 20 octobre 2017 - 05:23

Pour une fois que le WIFI fonctionne dans mon atelier, je passe ici.

 

Donc le côté est remonté, y compris le moteur que j'ai même câble de manière très pro (un domino :D ) à une extrémité du câble, c'est du provisoire je vous rassure. L'autre extrémité du câble est branchée sur le driver qui lui même est relié à l'Arduino (pour les essais).

 

J'ai testé avec ce petit programme :

int dirpin = 3;
int steppin = 12;
// int enapin = ;

void setup() {
  // put your setup code here, to run once:
Serial.begin(9600);

pinMode(dirpin, OUTPUT);
pinMode(steppin, OUTPUT);
// pinMode(enapin, OUTPUT);
}

void loop() {
  // put your main code here, to run repeatedly:

  int i;

  digitalWrite(dirpin, LOW);     // Set the direction.
  delay(1000);
// digitalWrite(enapin, HIGH);
// delay(100);

Serial.println(">>");
  for (i = 0; i<4000; i++)       // Iterate for 4000 microsteps.
  {
digitalWrite(steppin, LOW);  // This LOW to HIGH change is what creates the
digitalWrite(steppin, HIGH); // "Rising Edge" so the easydriver knows to when to step.
    delayMicroseconds(2000);      // This delay time is close to top speed for this
  }                              // particular motor. Any faster the motor stalls.

  digitalWrite(dirpin, HIGH);    // Change direction.
  delay(1000);

  Serial.println("<<");
  for (i = 0; i<4000; i++)       // Iterate for 4000 microsteps
  {
digitalWrite(steppin, HIGH);  // This LOW to HIGH change is what creates the
    digitalWrite(steppin, LOW); // "Rising Edge" so the easydriver knows to when to step.
    delayMicroseconds(2000);      // This delay time is close to top speed for this
  }
}

Le moteur ne tourne que dans un sens.

 

J'ai aussi essayé avec ce programme :

i

nt PUL=12; //define Pulse pin
int DIR=3; //define Direction pin
int ENA=5; //define Enable Pin
void setup() {
  pinMode (PUL, OUTPUT);
  pinMode (DIR, OUTPUT);
  pinMode (ENA, OUTPUT);

}

void loop() {
  for (int i=0; i<6400; i++)    //Forward 5000 steps
  {
    digitalWrite(DIR,LOW);
    digitalWrite(ENA,HIGH);
    digitalWrite(PUL,HIGH);
    delayMicroseconds(50);
    digitalWrite(PUL,LOW);
    delayMicroseconds(50);
  }
  for (int i=0; i<6400; i++)   //Backward 5000 steps
  {
    digitalWrite(DIR,HIGH);
    digitalWrite(ENA,HIGH);
    digitalWrite(PUL,HIGH);
    delayMicroseconds(50);
    digitalWrite(PUL,LOW);
    delayMicroseconds(50);
  }
}

Le moteur ne tourne pas :( .

 

Les entrées Dir et Pulse du drivers sont reliées respectivement au pin 3 et 12 de l'arduino, l'entrée Enable n'est pas branchée.

 

Je mettrai peut-être une vidéo ce soir.


Combats de robots : stratégie avant tout, le Combat des makers

Cagnotte Leetchi : mon projet de robot d'exploration .


#124 levend

levend

    &1

  • Modérateur
  • PipPipPipPipPip
  • 3 271 messages
  • Gender:Male
  • Location:Vendée
  • Interests:Robotique, informatique, architecture et patrimoine...

Posté 20 octobre 2017 - 09:36

La vidéo n'apporte pas grand chose :

 

J'aurais bien aimé que l'on puisse entendre le bruit du moteur lorsque qu'il ne tourne plus (et qu'il devrait tourner dans l'autre sens).

 

Edit  : il y a-t-il une erreur dans le programme ?

P.S. : le moteur est alimenté en 24V seulement.


Combats de robots : stratégie avant tout, le Combat des makers

Cagnotte Leetchi : mon projet de robot d'exploration .


#125 ashira

ashira

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 1 181 messages
  • Gender:Male

Posté 20 octobre 2017 - 10:24

Pour ton 2eme code, si tu laisses enable à 0v ça fonctionne ?

Le bruit me fait penser à un problème de connection entre le moteur et le driver. Si c'est ça c'est risqué pour le driver!

Edit: dans ton 1er code, si tu mets aussi un delayMicroseconds (2000) entre les 2 digitalWrite() ça fait quoi ? Le bruit qu'on entend ça peut aussi être une fréquence trop élevée pour le moteur, essai en baissant la frequance pour voir.

#126 levend

levend

    &1

  • Modérateur
  • PipPipPipPipPip
  • 3 271 messages
  • Gender:Male
  • Location:Vendée
  • Interests:Robotique, informatique, architecture et patrimoine...

Posté 21 octobre 2017 - 01:42

Le Enable n'étant pas câblé, qu'il soit à 0 ou non ne va rien changer, demain je le câble et le met à 0.

 

J'ai respecter le câblage indiqué par le fabricant du moteur.

 

Demain, j'essaie en réduisant la fréquence.

 

Le but de ces tests est de tester la mécanique, de ce côté ça semble être bon, mais aussi l'électronique vu que j'ai déjà eu une alim neuve HS et tout provient d'un même lot, la seconde alim fonctionne mais ceux sont les alim pour les NEMA 23, je n'ai pas encore testé les deux alims pour les NEMA 34.

 

Edit : je teste tout à mesure pour m'éviter de perdre du temps à monter et démonter, j'ai déjà assez trainer :mellow:


Combats de robots : stratégie avant tout, le Combat des makers

Cagnotte Leetchi : mon projet de robot d'exploration .


#127 Forthman

Forthman

    Habitué

  • Membres
  • PipPip
  • 231 messages
  • Gender:Not Telling
  • Location:Montauban (82)

Posté 21 octobre 2017 - 12:30

perso je mettrais un delay entre le changement haut/bas de pulse.

si ton driver n'est pas assez rapide, il risque de ne pas voir le changement d'état.

Le "enable" est bien actif sinon ton moteur ne bougerait pas du tout, donc tu peux le laissé non piloté.

 

Par contre, dans ton deuxième exemple, les délais sont de 50µs entre chaque changement d'état de pulse,

si tu travailles en pas entiers et que ton moteur fait 400 pas par tours, ça veut dire qu'il devrait tourner à 3000trs/min

Essayes avec 5000 au lieu de 50 pour voir...



#128 levend

levend

    &1

  • Modérateur
  • PipPipPipPipPip
  • 3 271 messages
  • Gender:Male
  • Location:Vendée
  • Interests:Robotique, informatique, architecture et patrimoine...

Posté 21 octobre 2017 - 03:10

@Forthman : j'ai mis un delay de 2000, 5000 c'était trop , j'avais pas fait gaffe à cette erreur : il y a plusieurs mois que j'avais préparé ça, et j'écris une ligne et je fais un copier/coller quand j'en ai besoin donc une erreur de frappe reproduit x fois :D.

 

C'était bien un problème de frréquence, maintenant ça fonctionne dans les deux sens, avec le programme n°2 corrigé.

Ce n'est pas très rapide mais je m'en fou, c'est juste pour les tests puisque lorsque la machine tournera elle sera piloter via une interface PC.

 

 

Edit : je ne sais pas si je ne vais pas tout abandonner ...


Combats de robots : stratégie avant tout, le Combat des makers

Cagnotte Leetchi : mon projet de robot d'exploration .





0 utilisateur(s) li(sen)t ce sujet

0 members, 0 guests, 0 anonymous users