Projet Robot suiveur Jérémie/Yann/nicolas

Robot suiveur Jérémie/Yann/nicolas
63% de réussite
Ouvert par Nicolas Moine le 2017-02-04


Description

Créer un robot suiveur pour le concours interne du club robotique

Programmation Partagée : 1

Nom du programme Version Visualiser
test_moteur 0.01 Voir

Fichiers joints : 7


Warning: filesize(): stat failed for ./upload/35279_d.jpg in /home/clubrobo/public_html/projet.php on line 951

Warning: filesize(): stat failed for ./upload/vue1.pdf in /home/clubrobo/public_html/projet.php on line 951

Warning: filesize(): stat failed for ./upload/chassis.pdf in /home/clubrobo/public_html/projet.php on line 951

Warning: filesize(): stat failed for ./upload/nema14.stl in /home/clubrobo/public_html/projet.php on line 951

Warning: filesize(): stat failed for ./upload/memoire.pdf in /home/clubrobo/public_html/projet.php on line 951

Warning: filesize(): stat failed for ./upload/sherman-1rca.jpg in /home/clubrobo/public_html/projet.php on line 951

Warning: filesize(): stat failed for ./upload/devis.pdf in /home/clubrobo/public_html/projet.php on line 951

Nom Type Taille Action
35279_d.jpgImages -
vue1.pdfDocument PDF -
chassis.pdfDocument PDF -
nema14.stlFichier 3D -
memoire.pdfDocument PDF -
sherman-1rca.jpgImages -
devis.pdfDocument PDF -

Commande Consommable : 1

Consommable Membre Quantité Motif Date
Responsive image Ressort Jérémie Dathée char robot nico/yann/jeremie 2 2018-01-17

Impression 3D : 0

Statut 3D Demandeur
  • 2019-11-16
  • 2018-01-17
  • 1 an

    Jérémie Dathée a commandé un consommable

    Responsive image Ressort

    Quantité demandé : 2

    Motif : char robot nico/yann/jeremie

  • 2017-11-18
  • 1 an

    Nicolas Moine a créé un objectif

    programme
    //librairie
    #include <Servo.h>
    Servo myservo;
    //variable test servo
    int pos = 0;
    //delay entre 2 impulsion step micrseconde
    int delayvitesse=2000;

    //driver droit
    #define pinEnabledroit 47 // Activation du driver/pilote
    #define pinDirdroit     49 // Direction
    #define ms1droit 45
    #define ms2droit 44
    #define ms3droit 43

    //driver gauche
    #define pinEnablegauche  53// Activation du driver/pilote
    #define pinDirgauche    46 // Direction
    #define ms1gauche 52
    #define ms2gauche 50
    #define ms3gauche 48
    //commun aux driver
    #define pinStep    51 // Signal de PAS (avancement)
    //************************************************************
    //déclaration des registres
    //************************************************************
    //registre configuration des drivers
    //bit1=full step
    //bit2=half step
    //bit3=quarter step
    //bit4=eighth step
    //bit5=sixteenth step
    // on demarre en full step
    int registre_driverdroit=1;
    int registre_drivergauche=1;
     
    void setup(){
    //servo pin tourelle
      myservo.attach(3);
     
    //initialisation rs232
      Serial.begin(9600);
     
    //configuaration des pin
    //driver droit
      pinMode( pinEnabledroit, OUTPUT );
      pinMode( pinDirdroit   , OUTPUT );
    //driver gauche
      pinMode( pinEnablegauche, OUTPUT );
      pinMode( pinDirgauche   , OUTPUT );
    //commun driver
      pinMode( pinStep  , OUTPUT );
    //disable driver
         digitalWrite( pinEnabledroit   , HIGH); // enable driver
         digitalWrite( pinEnablegauche   , HIGH); // enable driver
        
    //configuration driver gauche
      digitalWrite( ms1gauche   , LOW); // Direction avant
        digitalWrite( ms2gauche   , LOW); // Direction avant
          digitalWrite( ms3gauche   , LOW); // Direction avant
          //configuration driver droit
      digitalWrite( ms1droit   , LOW); // Direction avant
        digitalWrite( ms2droit   , LOW); // Direction avant
          digitalWrite( ms3droit   , LOW); // Direction avant
      digitalWrite( pinStep  , LOW);  // Initialisation de la broche step
    }
     
     
     
     
     
     
     

    void loop(){
      Serial.println("chaque etape 5 seconde de pause");
    //  programme avance
    configstep();
     avance();
      delay( 5000 );
    recule ();
      delay( 5000 );
    tournergauche();
      delay( 5000 );
    tournerdroit();
    //envoie message
    //servotourelle();
      //delay( 5000 );
      debug();
      Serial.println("Fin de programme");
      while( true );
     
    }
     
    /*
    **************************************************************************************************
    programme avance
    **************************************************************************************************
    */

    void avance()
    {
      int i = 0;
    //enable driver+drirection
        digitalWrite( pinEnabledroit   , LOW); // enable driver
        digitalWrite( pinDirdroit   , LOW); // Direction avant
        digitalWrite( pinEnablegauche   , LOW); // enable driver
        digitalWrite( pinDirgauche   , HIGH); // Direction avant
      // Avance de 200 pas
      for( i=0; i<200; i++){
    //Serial.println("configuration driver gauche");
        digitalWrite( pinStep, HIGH );
    delayMicroseconds(delayvitesse);
        digitalWrite( pinStep, LOW );
    delayMicroseconds(delayvitesse);
      }
      //disable driver
          digitalWrite( pinEnabledroit   , HIGH); // enable driver
          digitalWrite( pinEnablegauche   , HIGH); // enable driver
    }
     
     
     
     
     
     
     
     
     
     
     
     
     
    /*
    **************************************************************************************************
    programme recule
    **************************************************************************************************
    */
     
    void recule()
    {
      int i = 0;
        digitalWrite( pinEnabledroit    , LOW); // enable driver
        digitalWrite( pinDirdroit   , HIGH); // Direction avant
        digitalWrite( pinEnablegauche   , LOW); // enable driver
        digitalWrite( pinDirgauche   , LOW); // Direction avant
      // Avance de 200 pas
      for( i=0; i<200; i++){
       // Serial.println( i );
        digitalWrite( pinStep, HIGH );
    delayMicroseconds(delayvitesse);
        digitalWrite( pinStep, LOW );
    delayMicroseconds(delayvitesse);
      }
    //disable driver
          digitalWrite( pinEnabledroit   , HIGH); // enable driver
          digitalWrite( pinEnablegauche   , HIGH); // enable driver
     
    }
    /*
    **************************************************************************************************
    programme tourner a gauche
    **************************************************************************************************
    */
    void tournergauche(){
      int i = 0;
        digitalWrite( pinEnabledroit    , LOW); // enable driver
        digitalWrite( pinDirdroit   , HIGH); // Direction avant
        digitalWrite( pinEnablegauche   , LOW); // enable driver
        digitalWrite( pinDirgauche   , HIGH); // Direction avant
      // Avance de 200 pas
      for( i=0; i<200; i++){
       // Serial.println( i );
        digitalWrite( pinStep, HIGH );
    delayMicroseconds(delayvitesse);
        digitalWrite( pinStep, LOW );
    delayMicroseconds(delayvitesse);
      }
    //disable driver
          digitalWrite( pinEnabledroit   , HIGH); // enable driver
          digitalWrite( pinEnablegauche   , HIGH); // enable driver
     
    }
    /*
    **************************************************************************************************
    programme tourner a droite
    **************************************************************************************************
    */
    void tournerdroit(){
      int i = 0;
        digitalWrite( pinEnabledroit    , LOW); // enable driver
        digitalWrite( pinDirdroit   , LOW); // Direction avant
        digitalWrite( pinEnablegauche   , LOW); // enable driver
        digitalWrite( pinDirgauche   , LOW); // Direction avant
      // Avance de 200 pas
      for( i=0; i<200; i++){
      //  Serial.println( i );
        digitalWrite( pinStep, HIGH );
    delayMicroseconds(delayvitesse);
        digitalWrite( pinStep, LOW );
    delayMicroseconds(delayvitesse);
      }
    //disable driver
          digitalWrite( pinEnabledroit   , HIGH); // enable driver
          digitalWrite( pinEnablegauche   , HIGH); // enable driver
     
    }
    /*
     * *****************************************************************************************
     * ce sous programmme permet de tester le servo tourrelle
     * *****************************************************************************************
     */
    void servotourelle(){
      for (pos = 0; pos <= 180; pos += 1) { // goes from 0 degrees to 180 degrees
        // in steps of 1 degree
        myservo.write(pos);              // tell servo to go to position in variable 'pos'
        delay(15);                       // waits 15ms for the servo to reach the position
      }
      for (pos = 180; pos >= 0; pos -= 1) { // goes from 180 degrees to 0 degrees
        myservo.write(pos);              // tell servo to go to position in variable 'pos'
        delay(15);                       // waits 15ms for the servo to reach the position
      }
    }
    /*
     * *****************************************************************************************
     * ce sous programmme permet de configurer les drivers selon le tableau 1 A4988 resolution
     * *****************************************************************************************
     */
    void configstep(){
      //full step
    if( bitRead(registre_driverdroit, 1) == HIGH){
          //configuration driver droit full step
      digitalWrite( ms1droit   , LOW);
        digitalWrite( ms2droit   , LOW);
          digitalWrite( ms3droit   , LOW);
    } if( bitRead(registre_drivergauche, 1) == HIGH){
          //configuration driver gauche full step
      digitalWrite( ms1gauche   , LOW);
        digitalWrite( ms2gauche   , LOW);
          digitalWrite( ms3gauche   , LOW);
    }
      //half step
    if( bitRead(registre_driverdroit, 2) == HIGH){
          //configuration driver droit full step
      digitalWrite( ms1droit   , HIGH);
        digitalWrite( ms2droit   , LOW);
          digitalWrite( ms3droit   , LOW);
    } if( bitRead(registre_drivergauche, 2) == HIGH){
          //configuration driver gauche full step
      digitalWrite( ms1gauche   , HIGH);
        digitalWrite( ms2gauche   , LOW);
          digitalWrite( ms3gauche   , LOW);
    }

      //quater step
    if( bitRead(registre_driverdroit, 3) == HIGH){
          //configuration driver droit full step
      digitalWrite( ms1droit   , LOW);
        digitalWrite( ms2droit   , HIGH);
          digitalWrite( ms3droit   , LOW);
    } if( bitRead(registre_drivergauche, 3) == HIGH){
          //configuration driver gauche full step
      digitalWrite( ms1gauche   , LOW);
        digitalWrite( ms2gauche   , HIGH);
          digitalWrite( ms3gauche   , LOW);
    }
      //eighth step
    if( bitRead(registre_driverdroit, 4) == HIGH){
          //configuration driver droit full step
      digitalWrite( ms1droit   , HIGH);
        digitalWrite( ms2droit   , HIGH);
          digitalWrite( ms3droit   , LOW);
    } if( bitRead(registre_drivergauche, 4) == HIGH){
          //configuration driver gauche full step
      digitalWrite( ms1gauche   , HIGH);
        digitalWrite( ms2gauche   , HIGH);
          digitalWrite( ms3gauche   , LOW);
    }
      //sixteenth step
    if( bitRead(registre_driverdroit, 5) == HIGH){
          //configuration driver droit full step
      digitalWrite( ms1droit   , HIGH);
        digitalWrite( ms2droit   , HIGH);
          digitalWrite( ms3droit   , HIGH);
    } if( bitRead(registre_drivergauche, 5) == HIGH){
          //configuration driver gauche full step
      digitalWrite( ms1gauche   , HIGH);
        digitalWrite( ms2gauche   , HIGH);
          digitalWrite( ms3gauche   , HIGH);
    }
    }
    /* ********************************************************************************
     *  ce sous programme permet d'envoyer sur port pc des informations pour le debug
     * 
     *  *******************************************************************************
     * 
     */
    void debug(){
    Serial.println("configuration driver droit");
    Serial.println(registre_driverdroit);
    Serial.println("configuration driver gauche");
    Serial.println(registre_drivergauche);
     

     
    }
     
     
     
     
     
     
     
     
  • 2017-11-15
  • 2 ans

    Nicolas Moine a créé une programmation partagée

  • 2 ans

    Jérémie Dathée a commenté un objectif

    :+1:
  • 2017-11-14
  • 2 ans

    Nicolas Moine a créé un objectif

    programme 1

    //delay entre 2 impulsion step micrseconde
    int delayvitesse=4000;

    //driver droit
    #define pinEnabledroit 53 // Activation du driver/pilote
    #define pinDirdroit     49 // Direction

    //driver gauche
    #define pinEnablegauche  35// Activation du driver/pilote
    #define pinDirgauche    33 // Direction
    #define ms1gauche 52
    #define ms2gauche 50
    #define ms3gauche 48

    //commun aux driver
    #define pinStep    51 // Signal de PAS (avancement)

     


    void setup(){
    //initialisation rs232
      Serial.begin(9600);
     
    //configuaration des pin
    //driver droit
      pinMode( pinEnabledroit, OUTPUT );
      pinMode( pinDirdroit   , OUTPUT );

    //driver gauche
      pinMode( pinEnablegauche, OUTPUT );
      pinMode( pinDirgauche   , OUTPUT );

    //commun driver
      pinMode( pinStep  , OUTPUT );

    //disable driver
         digitalWrite( pinEnabledroit   , HIGH); // enable driver
         digitalWrite( pinEnablegauche   , HIGH); // enable driver
         
    //configuration driver gauche
      digitalWrite( ms1gauche   , LOW); // Direction avant
        digitalWrite( ms2gauche   , LOW); // Direction avant
          digitalWrite( ms3gauche   , LOW); // Direction avant

      digitalWrite( pinStep  , LOW);  // Initialisation de la broche step
    }

    void loop(){

    //  programme avance
      avance();

     
    //envoie message
      Serial.println("fin avance 5 seconde");
      delay( 5000 );

    recule ();


    //envoie message


      Serial.println("Fin de programme");
      while( true );

     
    }
     
    /*
    **************************************************************************************************
    programme avance
    **************************************************************************************************
    */

    void recule()
    {
      int i = 0;
    //enable driver+drirection
        digitalWrite( pinEnabledroit   , LOW); // enable driver
        digitalWrite( pinDirdroit   , HIGH); // Direction avant
        digitalWrite( pinEnablegauche   , LOW); // enable driver
        digitalWrite( pinDirgauche   , HIGH); // Direction avant

      // Avance de 200 pas
      for( i=0; i<200; i++){
        Serial.println( i );
        digitalWrite( pinStep, HIGH );
    delayMicroseconds(delayvitesse);
        digitalWrite( pinStep, LOW );
    delayMicroseconds(delayvitesse);

      }
      //disable driver
          digitalWrite( pinEnabledroit   , HIGH); // enable driver
          digitalWrite( pinEnablegauche   , HIGH); // enable driver
    }

    /*
    **************************************************************************************************
    programme recule
    **************************************************************************************************
    */

     
    void avance()
    {
      int i = 0;
        digitalWrite( pinEnabledroit    , LOW); // enable driver
        digitalWrite( pinDirdroit   , LOW); // Direction avant
        digitalWrite( pinEnablegauche   , LOW); // enable driver
        digitalWrite( pinDirgauche   , LOW); // Direction avant

      // Avance de 200 pas
      for( i=0; i<200; i++){
        Serial.println( i );
        digitalWrite( pinStep, HIGH );
    delayMicroseconds(delayvitesse);
        digitalWrite( pinStep, LOW );
    delayMicroseconds(delayvitesse);

      }
    //disable driver
          digitalWrite( pinEnabledroit   , HIGH); // enable driver
          digitalWrite( pinEnablegauche   , HIGH); // enable driver
     
    }

     

     

     

     

  • 2017-11-03
  • 2 ans

    Nicolas Moine a créé un objectif

    caractéristique moteur

    型號:35HS3408A4  電流0.8A  電阻6.5Ω  相電壓5.2V  兩相四線

    je traduis 08A tension de 5.2v donc 5.2/6.5=0,8A

     

    info drivers

    http://reprap.org/wiki/Stepstick

     

    réglage des drivers

    To calculate the VREF for a target current, VREF = A * 8 * RS , or A * 1.6 . So, if you wanted 0.8A, VREF = 0.8 * 1.6 = 1.28V

     

    Vref=1.28V

  • 2017-10-02
  • 2 ans

    Nicolas Moine a créé un objectif

    char vu 3d

    a voire

  • 2017-06-14
  • 2 ans

    Jérémie Dathée a commenté un objectif

    bien !
  • 2 ans

    Nicolas Moine a créé un objectif

    vue char

    vue du char en gros

  • 2017-06-05
  • 2 ans

    Jérémie Dathée a changé de statut un objectif en Réussi

  • Voir plus

Objectifs : 16