Mini Spider S12-PC patte courte 12 servomoteurs

.

Mise à jour le 29/06/2019: Retrouvez sur cette page l’ensemble des articles concernant le robot Spider S12-PC  ( album photos des pièces  , plan mécanique , fichier à télécharger pour l’impression 3D  )

Mini Spider S12 patte courte Version 02022017 - RedOhm

Mini Spider S12 patte courte Version 02022017 – RedOhm

 

Sommaire :

 

 

 

separateur-redohm-001

Vue éclatée de mini Spider S12-PC  et l’ensemble des fichiers à télécharger . Version 1.00

Vue éclatée de mini Spider S12 - RedOhm

Vue éclatée de mini Spider S12 Version 1.00 – RedOhm

 

Vue de la patte et de son servomoteur - RedOhm

Vue de la patte et de son servomoteur – RedOhm –

Ensemble des fichiers à télécharger pour imprimer Spider version 1.00 

Matériel utile : 

 12 Servomoteur: type ES08MA  miniature avec pignonnerie métallique 

  • Alimentation: 4,8 à 6 Vcc
  • Couple: 1,6 kg.cm à 4,8 Vcc
  • Vitesse: 0,12 s/60° à 4,8 Vcc
  • Dimensions: 24 x 12 x 29 mm

Informations techniques utiles :
Sur les servomoteurs en général  , Carte Arduino Mega , La programmation en particulier de la carte Arduino Mega , l’impression 3D en général .

Fournisseur:
Servomoteurs  : Gotronic 
Arduino Mega 2560 : Selectronic

Montant total du montage ( en version simple ):

1 Ensemble de PLA ou HIPS ou ABS => 25 €
12 servomoteurs à 6.90 €  => 82.80 €
1 carte arduino Mega => 29.95€
Soit un montant de = 137.75 € prix moyen 

– 
Retour au sommaire

 . 

separateur-redohm-001

Vue éclatée de mini Spider S12-PC  pour le choix des pièce et  l’ensemble des fichiers à télécharger Version 09-02-2017

 

 

Spider version 09-02-2017 RedOhm - 001

Spider version 09-02-2017 RedOhm – 001

 

Spider version 09-02-2017 RedOhm - 002

Spider version 09-02-2017 RedOhm – 002

 

 
 
Spider version 09-02-2017 RedOhm - 003

Spider version 09-02-2017 RedOhm – 003

 

Ensemble des fichiers à télécharger pour imprimer Spider Version 2.00 

Matériel utile : 

 12 Servomoteur: type ES08MA  miniature avec pignonnerie métallique 

  • Alimentation: 4,8 à 6 Vcc
  • Couple: 1,6 kg.cm à 4,8 Vcc
  • Vitesse: 0,12 s/60° à 4,8 Vcc
  • Dimensions: 24 x 12 x 29 mm

Informations techniques utiles :
Sur les servomoteurs en général  , Carte Arduino Mega , La programmation en particulier de la carte Arduino Mega , l’impression 3D en général .

Fournisseur:
Servomoteurs  : Gotronic 
Arduino Mega 2560 : Selectronic

Montant total du montage ( en version simple ):

1 Ensemble de PLA ou HIPS ou ABS => 25 €
12 servomoteurs à 6.90 €  => 82.80 €
1 carte arduino Mega => 29.95€
Soit un montant de = 137.75 € prix moyen 

.

Retour au sommaire

.

separateur-redohm-001

Porte batterie et capot

.

.

Ensemble des fichiers à télécharger  pour imprimer le  capot et le  porte batterie 

 

 
– 
Retour au sommaire

.

separateur-redohm-001

Repérage des numéros des servomoteurs 

Robot Spider repérage RedOhm

Robot Spider repérage RedOhm

 

Retour au sommaire

.

separateur-redohm-001

Programme de calibrage des moteurs ( Positionnement a 90° du servomoteur ) 

Voici un petit programme pour Arduino  permettant de positionner un servomoteur à 90°. Ce positionnement se produit quand on appuie sur le bouton poussoir , tant que celui-ci est sollicité le servomoteur conserve sa position, quand le bouton est relâché le servo est à nouveau libre.

 
/*
 * RedOhm
 * 
 * 
 * Positionne un servomoteur à son centre 
 *              donc à 90°
 *              
 * Le 06/12/2016
 * H.Mazelin              
 */
 
 
// Cette librairie permet à une carte Arduino de contrôler des servomoteurs
#include <Servo.h>
 
// Crée un objet de type "Servo", nommé -> monservo
Servo monservo;
 
// le bouton est connecté à la broche 2 de la carte Arduino
const int bouton=2;
// Variable qui enregistre l'état du bouton
int etatdubouton;
 
/* 
 * Un programme Arduino doit impérativement contenir cette fonction .
 * Elle ne sera exécuter une seule fois au démarrage du microcontroleur
 * Elle sert à configurer globalement les entrées sorties  
 *  
 */
 
 
 
void setup() {
 
 
//le bouton est une entrée
  pinMode(bouton,INPUT);
//on initialise l'état du bouton comme "relaché"
  etatdubouton=LOW;
  
}
 
/*
 *Le programme principal s’exécute par une boucle infinie appelée Loop () 
 * 
 */
 
 
void loop() {
 
// lecture de l'etat du bouton
etatdubouton=digitalRead(bouton);
 
//test si le bouton a un niveau logique HAUT
if (etatdubouton == HIGH)
{
// associe le servomoteur a la broche 3  
   monservo.attach(3);
// Positionne mon servomteur a 90
   monservo.write(90);
// Réalise une pause dans l'exécution du programme pour une durée 
// de 20 millisecondes
// permettant au servomteur d'atteindre sa position  
   delay(20);
}
 
else 
{
 
// Dissocie la variable monservo de sa broche   
 monservo.detach();
 
}
 
 
  
 
}

Retour au sommaire

.

separateur-redohm-001

Programme d’initialisation de mini-spider et un petit bonjour 

/*
 * 
 * 
 * RedOhm
 * 
 * Initialisation de mini spider
 * 
 * but : les pattes en bas et droite
 * enfin un petit bonjour pour nous confirmer
 * que le robot est en attente
 * 
 * 
 * Le 28/01/2017
 * H-Mazelin
 */

 



// Cette librairie permet à une carte Arduino de contrôler des servomoteurs
#include <Servo.h>


//Crée un objet de type "Servo", nommé -> servo_d1
 Servo servo_d1; 
//Crée un objet de type "Servo", nommé -> servo_d2
 Servo servo_d2;
//Crée un objet de type "Servo", nommé -> servo_d3
 Servo servo_d3; 
//Crée un objet de type "Servo", nommé -> servo_d4
 Servo servo_d4;
//Crée un objet de type "Servo", nommé -> servo_d5
 Servo servo_d5;
//Crée un objet de type "Servo", nommé -> servo_d6
 Servo servo_d6;
//Crée un objet de type "Servo", nommé -> servo_d7
 Servo servo_d7;
//Crée un objet de type "Servo", nommé -> servo_d8
 Servo servo_d8; 
//Crée un objet de type "Servo", nommé -> servo_d9
 Servo servo_d9;
//Crée un objet de type "Servo", nommé -> servo_d10
 Servo servo_d10; 
//Crée un objet de type "Servo", nommé -> servo_d11
 Servo servo_d11;
//Crée un objet de type "Servo", nommé -> servo_d12
 Servo servo_d12;

// variable du type int pour les deplacement des servomoteurs
// a droite 
 int initd=5;
// variable du type int pour les deplacement des servomoteurs
// a gauche 
 int initg=5;
// variable du type int pour les boucle for 
 int x;



// Un programme Arduino doit impérativement contenir la fonction "setup"
// Elle ne sera exécuter une seule fois au démarrage du microcontroleur
// Elle sert à configurer globalement les entrées sorties 
void setup() {

// associe le servomoteur a la broche 2 
 servo_d1.attach(2,700,2000);
// associe le servomoteur a la broche 3 
 servo_d2.attach(3,700,2000);
// associe le servomoteur a la broche 4 
 servo_d3.attach(4,700,2000);
// associe le servomoteur a la broche 5 
 servo_d4.attach(5,700,2000); 
// associe le servomoteur a la broche 6 
 servo_d5.attach(6,700,2000); 
// associe le servomoteur a la broche 7 
 servo_d6.attach(7,700,2000); 
 
//associe le servomoteur a la broche 8 
 servo_d7.attach(8,700,2000);
//associe le servomoteur a la broche 9 
 servo_d8.attach(9,700,2000);
//associe le servomoteur a la broche 10 
 servo_d9.attach(10,700,2000);
//associe le servomoteur a la broche 11 
 servo_d10.attach(11,700,2000); 
//associe le servomoteur a la broche 12 
 servo_d11.attach(12,700,2000); 
//associe le servomoteur a la broche 13 
 servo_d12.attach(13,700,2000); 

// Appel de la fonction -> initialisation 
initialisation(); 
// pause pour le positionnement des servomoteurs 
delay(500);


// lancement d'un petit bonjour 
 servo_d1.write (175);
 for (x=0;x<2;x++){
 servo_d2.write (30);
 delay(500);
 servo_d2.write (150); 
 delay(500); 
 }
 
 servo_d2.write (90);
 delay(200);
 servo_d1.write (5);
 delay(500);
 servo_d1.write (175);
 for (x=0;x<2;x++){
 servo_d2.write (30);
 delay(500);
 servo_d2.write (150); 
 delay(500); 
 
 } 
 servo_d2.write (90);
 servo_d1.write (5);
}

// fin du bonjour 



//Le programme principal s’exécute par une boucle infinie appelée Loop () 
 
void loop() {

 


 
}


// Initialisation spider

void initialisation()
 {
 
 // position des pattes en bas 
 initd=5;
 initg=175;
 
 servo_d1.write (initd);
 servo_d9.write (initd);
 servo_d11.write (initd); 
 
 servo_d5.write (initg);
 servo_d3.write (initg); 
 servo_d7.write (initg);
 
 
 // position des pattes au centre 
 servo_d2.write (90);
 servo_d4.write (90);
 servo_d6.write (90);
 servo_d8.write (90); 
 servo_d10.write (90); 
 servo_d12.write (90); 
 

 }

  
 

 

.

Retour au sommaire

.

separateur-redohm-001

Programme enchaînement de divers sous programme 002

  • Initialisation spider
  • Petit bonjour 
  • Position d’attaque de Spider 
  • Rotation de Spider 
/*
 * 
 * 
 * RedOhm
 * 
 * Programme enchaînement de divers sous programme 
 * 
 * Initialisation spider
 * Petit bonjour 
 * Position d'attaque de Spider 
 * Rotation de Spider 
 * 
 * Le 18/02/2017
 * H-Mazelin
 * 
 */

 



// Cette librairie permet à une carte Arduino de contrôler des servomoteurs
#include <Servo.h>


//Crée un objet de type "Servo", nommé -> servo_d1
  Servo servo_d1; 
//Crée un objet de type "Servo", nommé -> servo_d2
  Servo servo_d2;
//Crée un objet de type "Servo", nommé -> servo_d3
  Servo servo_d3;  
//Crée un objet de type "Servo", nommé -> servo_d4
  Servo servo_d4;
//Crée un objet de type "Servo", nommé -> servo_d5
  Servo servo_d5;
//Crée un objet de type "Servo", nommé -> servo_d6
  Servo servo_d6;
//Crée un objet de type "Servo", nommé -> servo_d7
   Servo servo_d7;
//Crée un objet de type "Servo", nommé -> servo_d8
   Servo servo_d8;      
//Crée un objet de type "Servo", nommé -> servo_d9
   Servo servo_d9;
//Crée un objet de type "Servo", nommé -> servo_d10
   Servo servo_d10;   
//Crée un objet de type "Servo", nommé -> servo_d11
   Servo servo_d11;
//Crée un objet de type "Servo", nommé -> servo_d12
   Servo servo_d12;

// variable du type int pour les deplacement des servomoteurs
// a droite 
 int initd=5;
// variable du type int pour les deplacement des servomoteurs
// a gauche 
  int initg=5;
// variable du type int pour les boucle for   
  int x;
// variable du type int pour le deplacement arriere
int arriere =90;


// Un programme Arduino doit impérativement contenir la fonction "setup"
// Elle ne sera exécuter une seule fois au démarrage du microcontroleur
// Elle sert à configurer globalement les entrées sorties 
void setup() {

// associe le servomoteur a la broche 2  
  servo_d1.attach(2,700,2000);
// associe le servomoteur a la broche 3  
  servo_d2.attach(3,700,2000);
// associe le servomoteur a la broche 4  
  servo_d3.attach(4,700,2000);
// associe le servomoteur a la broche 5  
  servo_d4.attach(5,700,2000);  
// associe le servomoteur a la broche 6  
  servo_d5.attach(6,700,2000);  
// associe le servomoteur a la broche 7  
  servo_d6.attach(7,700,2000);  
    
//associe le servomoteur a la broche 8  
  servo_d7.attach(8,700,2000);
//associe le servomoteur a la broche 9  
  servo_d8.attach(9,700,2000);
//associe le servomoteur a la broche 10  
  servo_d9.attach(10,700,2000);
//associe le servomoteur a la broche 11  
  servo_d10.attach(11,700,2000);  
//associe le servomoteur a la broche 12 
  servo_d11.attach(12,700,2000);  
//associe le servomoteur a la broche 13 
  servo_d12.attach(13,700,2000);   



// Appel de la fonction -> initialisation 
initialisation(); 
// pause pour le positionnement des servomoteurs 
delay(1500);


   
}
 


//Le programme principal s’exécute par une boucle infinie appelée Loop () 
 
void loop() {

// appel du sous programme un petit bonjour 
  petit_bonjour();
// temporisation 
  delay(500);
// appel du sous programme attaque 
  attaque_spider();
 // Appel de la fonction -> initialisation 
initialisation(); 
// pause pour le positionnement des servomoteurs 
delay(500);
  
  
// temporisation 
  delay(2000); 



// realisation de 5 pas de rotation 
for (x=0;x<5;x++){
// appel du sous programme rotation
  rotation_spider(); 
  delay(300);
}  

   

  
}


/* 
 * =============================================
 *      
 *         ensemble de sous programme 
 *      
 * =============================================     
 */

// Initialisation spider

void initialisation()
 {
  
  // position des pattes en bas 
  initd=5;
  initg=175;
    
  servo_d1.write (initd);
   servo_d9.write (initd);
    servo_d11.write (initd); 
 
  servo_d5.write (initg);
    servo_d3.write (initg);  
      servo_d7.write (initg);
  
  
  // position des pattes au centre 
  servo_d2.write (90);
     servo_d4.write (90);
       servo_d6.write (90);
        servo_d8.write (90);   
         servo_d10.write (90);    
          servo_d12.write (90);    
  

 }



//========== sous programme petit bonjour ==========

void petit_bonjour()

{

 
   servo_d1.write (175);
    for (x=0;x<2;x++){
     servo_d2.write (30);
      delay(500);
     servo_d2.write (150); 
      delay(500); 
 }
   
   servo_d2.write (90);
   delay(200);
   servo_d1.write (5);
   delay(500);
   servo_d1.write (175);
    for (x=0;x<2;x++){
     servo_d2.write (30);
      delay(500);
     servo_d2.write (150); 
      delay(500);    
 
    } 
    servo_d2.write (90);
    servo_d1.write (5);



}

//==================fin du bonjour ======================


//========= position d'attaque de Spider ================

void attaque_spider()

{ 

  initd=55;
  initg=125;
    
  servo_d1.write (initd);
   servo_d9.write (initd);
    servo_d11.write (initd); 
 
  servo_d5.write (initg);
    servo_d3.write (initg);  
      servo_d7.write (initg);
  
  
  // position des pattes au centre 
  servo_d2.write (90);
     servo_d4.write (90);
       servo_d6.write (90);
        servo_d8.write (90);   
         servo_d10.write (90);    
          servo_d12.write (90);  

  delay(1000);
  servo_d8.write (40);   
  servo_d10.write (140); 
  delay(1000);
  initd=175;
  servo_d1.write (initd);
  servo_d11.write (initd); 
  delay(1000); 

  for (x=0;x<5;x++){
     initd=135;
  servo_d1.write (initd);
  servo_d11.write (initd); 
  delay(300);
    initd=175;
  servo_d1.write (initd);
  servo_d11.write (initd); 
  delay(300);
 } 

 }

 //====== position d'attaque de Spider =======



void rotation_spider()
{
 

 //===== rotation de spider ==================

//patte 1
 servo_d1.write (25);
  delay (200);
 servo_d2.write (50);
  delay (200);
 servo_d1.write (5);
  delay (200); 
//patte 2  
 servo_d11.write (25);
  delay (200);
 servo_d12.write (50);
  delay (200);
 servo_d11.write (5);
  delay (200); 
//patte3
servo_d9.write (25);
  delay (200);
 servo_d10.write (50);
  delay (200);
 servo_d9.write (5);
  delay (200); 
//patte4
servo_d3.write (150);
  delay (200);
 servo_d4.write (50);
  delay (200);
 servo_d3.write (175);
  delay (200); 
//patte 5
servo_d5.write (150);
  delay (200);
 servo_d6.write (50);
  delay (200);
 servo_d5.write (175);
  delay (200); 
 //patte6
 servo_d7.write (150);
  delay (200);
 servo_d8.write (50);
  delay (200);
 servo_d7.write (175);
  delay (200);  

// position des pattes en arriere 
 arriere=130;
// position des pattes au centre 
  servo_d2.write (arriere);
     servo_d4.write (arriere);
       servo_d6.write (arriere);
        servo_d8.write (arriere);   
         servo_d10.write (arriere);    
          servo_d12.write (arriere);  

 delay(500);

}

 //=====Fin de rotation de spider =====================

 .

separateur-redohm-001

Présentation de Mr le régulateur 7806 en boitier TO220

La série de régulateurs à trois broches LM78XX est disponible dans de nombreuses valeurs de tensions de sortie fixes et est très utile dans nombre d’applications. Bien que conçus pour fournir des tensions de sortie fixes, ces circuits peuvent également délivrer des tensions et courants réglables à l’aide de quelques composants extérieurs

La série LM78XX est disponible en boîtier aluminium TO-220 et peut délivrer jusqu’à 1 A si on utilise un refroidisseur approprié. Ce boîtier possède une limitation en courant interne pour ne pas dépasser les limites de sécurité en courant de pointe. Une plage de sécurité est prévue pour le transistor de sortie permettant de limiter la puissance interne dissipée. Si celle-ci devient trop importante pour le refroidisseur utilisé, le circuit de disjonction thermique est activé pour éviter une surchauffe du circuit intégré.

_
Retour au sommaire