Aller au contenu


Photo
- - - - -

le commencement du premier robot

2WD

102 réponses à ce sujet

#21 geek maxou

geek maxou

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 663 messages
  • Gender:Male
  • Location:Pas-de-Calais 62

Posté 08 mai 2012 - 05:24

salut :)
je vais enfin me mettre a la conception du robot ^_^
pour finir le chassis reste le meme sauf qu'il sera équiper en plus d'une pince monter sur un bras réaliser maison avec des servo et de l'huile de coude le bras sera piloter grace a des potentiometre de 10Kohms :)
il y aura un capteur sharp monter sur un servo a balayage.
et au final j'ai réussi a écrire mon propre code :D
bon voici ma commande qui se passera surement demain :
chez robot shop :
http://www.robotshop.com/eu/controleur-moteur-2a-arduino-dfrobot.html
http://www.robotshop.com/eu/kit-little-grip-lynxmotion-sans-servos.html
http://www.robotshop.com/eu/capteur-distance-ir-sharp-gp2yoa21-10cm-80cm.html
http://www.robotshop.com/eu/cable-sirc-04-lynxmotion.html
chez e-bay:
http://cgi.ebay.fr/10X-Micro-9g-Servo-RC-Futaba-helicopter-Trex-450-SG90-/320669312759?pt=Radio_Control_Parts_Accessories&hash=item4aa96166f7#ht_3264wt_1270
(si quelqun serait comment calculer les frais de douane sa m'aiderai pour mon budget :) )
cordialement Maxou

A.R.M.I

Autonomous Robotics Mechanics Intelligent


#22 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 963 messages
  • Gender:Male
  • Location:Anglet

Posté 08 mai 2012 - 05:56

salut :)
je vais enfin me mettre a la conception du robot ^_^
pour finir le chassis reste le meme sauf qu'il sera équiper en plus d'une pince monter sur un bras réaliser maison avec des servo et de l'huile de coude le bras sera piloter grace a des potentiometre de 10Kohms :)
il y aura un capteur sharp monter sur un servo a balayage.
et au final j'ai réussi a écrire mon propre code :D
bon voici ma commande qui se passera surement demain :
chez robot shop :
http://www.robotshop.com/eu/controleur-moteur-2a-arduino-dfrobot.html
http://www.robotshop.com/eu/kit-little-grip-lynxmotion-sans-servos.html
http://www.robotshop.com/eu/capteur-distance-ir-sharp-gp2yoa21-10cm-80cm.html
http://www.robotshop.com/eu/cable-sirc-04-lynxmotion.html
chez e-bay:
http://cgi.ebay.fr/10X-Micro-9g-Servo-RC-Futaba-helicopter-Trex-450-SG90-/320669312759?pt=Radio_Control_Parts_Accessories&hash=item4aa96166f7#ht_3264wt_1270
(si quelqun serait comment calculer les frais de douane sa m'aiderai pour mon budget :) )
cordialement Maxou


Tu as déjà les moteurs pour la direction de ton robot ?

Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#23 geek maxou

geek maxou

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 663 messages
  • Gender:Male
  • Location:Pas-de-Calais 62

Posté 08 mai 2012 - 06:16

Tu as déjà les moteurs pour la direction de ton robot ?

ouai je vais les acheter a un magasin pres de cher moi ou il y a plein de moteur et j'attend d'avoir le poid du chassis pour me faire une idée

A.R.M.I

Autonomous Robotics Mechanics Intelligent


#24 geek maxou

geek maxou

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 663 messages
  • Gender:Male
  • Location:Pas-de-Calais 62

Posté 08 mai 2012 - 06:20

voici le code du robot si vous voyer des erreur que le compilateur na pas vue sa serait gentil de me les dire ;)
#include <Servo.h>
 
 
int vitesse1 = 6;
int vitesse2 = 5;
int direction1 = 7;
int direction2 = 4; 
Servo myservo; // créer un objet de servo pour contrôler un servomoteur

int capteur;


int potpin = 0; // broche analogique utilisé pour connecter le capteur infrarouge SHARP
int val; // variable pour lire la valeur de la broche analogique

void Moteur1(int valeur_vitesse, boolean sens_avant)
{
analogWrite(vitesse1,valeur_vitesse); //valeur_vitesse = 0 à l'arrêt, et 255 pour vitesse maximum
if(sens_avant)
{
digitalWrite(direction1,HIGH);
}
else
{
digitalWrite(direction1,LOW);
}
}

void Moteur2(int valeur_vitesse, boolean sens_avant)
{
analogWrite(vitesse2,valeur_vitesse); //valeur_vitesse = 0 à l'arrêt, et 255 pour vitesse maximum
if(sens_avant)
{
digitalWrite(direction2,HIGH);
}
else
{
digitalWrite(direction2,LOW);
}
} 

const int POS_MIN=550;
const int POS_MAX=2330;
 
const int SERVO_0=2; //declaration constante de broche  
const int SERVO_1=3; //declaration constante de broche  
const int SERVO_2=4; //declaration constante de broche  
const int SERVO_3=5; // declaration constante de broche 
const int SERVO_4=6; // declaration constante de broche 
const int SERVO_5=7; // declaration constante de broche 
 
const int Voie_0=0; //declaration constante de broche analogique 
const int Voie_1=1; //declaration constante de broche analogique 
const int Voie_2=2; //declaration constante de broche analogique 
const int Voie_3=3;//declaration constante de broche analogique 
const int Voie_4=4; //declaration constante de broche analogique
const int Voie_5=5; //declaration constante de broche analogique 
 
// --- Déclaration des variables globales --- 
int mesure_brute=0;// Variable pour acquisition résultat brut de conversion analogique numérique 
float mesuref=0.0;// Variable pour calcul résultat décimal de conversion analogique numérique 
 
int angle_servo_0=0; // variable pour angle du servomoteur 
int angle_servo_1=0; // variable pour angle du servomoteur 
int angle_servo_2=0; // variable pour angle du servomoteur 
int angle_servo_3=0; // variable pour angle du servomoteur 
int angle_servo_4=0; // variable pour angle du servomoteur 
int angle_servo_5=0; // variable pour angle du servomoteur 
 
Servo mon_servo_0;  // je crée un objet servo pour contrôler le servomoteur 
Servo mon_servo_1;  // je crée un objet servo pour contrôler le servomoteur 
Servo mon_servo_2;  // je crée un objet servo pour contrôler le servomoteur 
Servo mon_servo_3;  // je crée un objet servo pour contrôler le servomoteur  
Servo mon_servo_4;  // je crée un objet servo pour contrôler le servomoteur  
Servo mon_servo_5;  // je crée un objet servo pour contrôler le servomoteur  

void setup()   {
myservo.attach(3); // attache le servo sur la broche 3 à l'objet servo
int i;
for(i=5;i<=8;i++)
pinMode(i, OUTPUT); //met les pin 4,5,6,7 en mode sortie 
 
mon_servo_0.attach(SERVO_0, POS_MIN, POS_MAX);  // j'attache l'objet servo à la broche de commande du servomoteur 
mon_servo_1.attach(SERVO_1, POS_MIN, POS_MAX);  // j'attache l'objet servo à la broche de commande du servomoteur 
mon_servo_2.attach(SERVO_2, POS_MIN, POS_MAX);  // j'attache l'objet servo à la broche de commande du servomoteur 
mon_servo_3.attach(SERVO_3, POS_MIN, POS_MAX);  // j'attache l'objet servo à la broche de commande du servomoteur  
mon_servo_4.attach(SERVO_4, POS_MIN, POS_MAX);  // j'attache l'objet servo à la broche de commande du servomoteur  
mon_servo_5.attach(SERVO_5, POS_MIN, POS_MAX);  // j'attache l'objet servo à la broche de commande du servomoteur  
 
// ------- Broches en sortie -------   
 
pinMode(SERVO_0, OUTPUT); //jz met la broche en sortie  
pinMode(SERVO_1, OUTPUT); //je met la broche en sortie  
pinMode(SERVO_2, OUTPUT); //je met la broche en sortie  
pinMode(SERVO_3, OUTPUT); //je met la broche en sortie  
pinMode(SERVO_4, OUTPUT); //je met la broche en sortie  
pinMode(SERVO_5, OUTPUT); //je met la broche en sortie  
}


void loop()   { 
 
//========== SERVO_0 =============== 
 mesure_brute=analogRead(Voie_0);  
 
angle_servo_0=map(mesure_brute,0,1023,0,180); 
 
 mon_servo_0.write(angle_servo_0); // positionne le servo à l'angle que je veux
 
//========== SERVO_1 =============== 
mesure_brute=analogRead(Voie_1);  
 
angle_servo_1=map(mesure_brute,0,1023,0,180);

 mon_servo_1.write(angle_servo_1);
 
//========== SERVO_2 ===============  
mesure_brute=analogRead(Voie_2);  
 
angle_servo_2=map(mesure_brute,0,1023,0,180); 
 
mon_servo_2.write(angle_servo_2);
 
//========== SERVO_3 =============== 
mesure_brute=analogRead(Voie_3); 
 
angle_servo_3=map(mesure_brute,0,1023,0,180); 
 
mon_servo_3.write(angle_servo_3); 
 
//========== SERVO_4 =============== 
mesure_brute=analogRead(Voie_4); 
 
angle_servo_4=map(mesure_brute,0,1023,0,180); 
 
mon_servo_4.write(angle_servo_4); 
 
//========== SERVO_5================ 
mesure_brute=analogRead(Voie_5); 
 
angle_servo_5=map(mesure_brute,0,1023,0,180); 
 
mon_servo_5.write(angle_servo_5);



val = analogRead(capteur); // lit la valeur du capteur
val = map(val, 0, 115, 0, 300); // l'échelle pour l'utiliser avec le servo (valeur entre 0 et 300)
myservo.write(val); // définit la position d'asservissement en fonction de la valeur à l'échelle
delay(400); // attend que le servo pour y arriver

if (val >= 180) // si on est à moins de 10 cm d'un obstacle
{
Moteur1(0,true); //j'arrete le moteur 1
Moteur2(0,true); // j'arrete le moteur 2
delay(200);    //j'attend 2 seconde
Moteur1(255,true); //J'avance tout droit 
Moteur2(0,true); // j'arrete le moteur 2
delay(400); //la valeur à mettre reste à définir en fonction de la vitesse du robot 
Moteur1(255,true); //J'avance tout droit en metant les 2 moteurs à fond
Moteur2(255,false); //J'avance tout droit en metant les 2 moteurs à fond

}
else
{
Moteur1(255,false);
Moteur2(255,true); 
}

}

cordialement Maxou

A.R.M.I

Autonomous Robotics Mechanics Intelligent


#25 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 963 messages
  • Gender:Male
  • Location:Anglet

Posté 08 mai 2012 - 06:28

ouai je vais les acheter a un magasin pres de cher moi ou il y a plein de moteur et j'attend d'avoir le poid du chassis pour me faire une idée


C'est un bon plan ;)

Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#26 geek maxou

geek maxou

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 663 messages
  • Gender:Male
  • Location:Pas-de-Calais 62

Posté 08 mai 2012 - 06:31

c'est principalement de cette vidéo et des photo que je suis partit sur l'idée de se robot:


robot.jpg

4252.jpg

A.R.M.I

Autonomous Robotics Mechanics Intelligent


#27 geek maxou

geek maxou

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 663 messages
  • Gender:Male
  • Location:Pas-de-Calais 62

Posté 08 mai 2012 - 07:04

questions
est-ce-que sa serait possible de controller son robot comme dans la vidéo ?
Bien sur sa serai pour plus tard car le porte monets ne suivrait plus sinon :D
cordialement Maxou

A.R.M.I

Autonomous Robotics Mechanics Intelligent


#28 Francky

Francky

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 967 messages
  • Gender:Male

Posté 08 mai 2012 - 07:30

Bien sûr : il fais bien xD

Par contre le lidar doit pas être donné...

Après, il est possible de faire du mapping à "moindre coût". Avec des ultrasons par exemple. Par contre ça devient vite compliqué.

#29 geek maxou

geek maxou

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 663 messages
  • Gender:Male
  • Location:Pas-de-Calais 62

Posté 08 mai 2012 - 08:20

oui mes moi si fe fait sa je le ferai en visuel le robot je le verrai exemple dans mon jardin ;)

A.R.M.I

Autonomous Robotics Mechanics Intelligent


#30 Francky

Francky

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 967 messages
  • Gender:Male

Posté 09 mai 2012 - 03:45

oui mes moi si fe fait sa je le ferai en visuel le robot je le verrai exemple dans mon jardin

Je ne suis pas sûr d'avoir bien compris "^^
Voilà ce que je pense que tu as voulu dire : tu piloteras ton robot en ayant un contact visuel avec lui (donc sans mapping).

Si c'est bien ça alors ce sera plus simple, surtout si tu ordinateur a un module bluetooth intégré.

#31 geek maxou

geek maxou

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 663 messages
  • Gender:Male
  • Location:Pas-de-Calais 62

Posté 09 mai 2012 - 06:21

Je ne suis pas sûr d'avoir bien compris "^^
Voilà ce que je pense que tu as voulu dire : tu piloteras ton robot en ayant un contact visuel avec lui (donc sans mapping).

Si c'est bien ça alors ce sera plus simple, surtout si tu ordinateur a un module bluetooth intégré.

oui c'est bien ca je me suis mal exprimer désoler :)
mais sa c'est pour plus terd car le robot n'a toujours pas avancer :(
je devais réaliser le chassis pour savoir son poid mais avec ce temps de M**** du pas de calais je n'ai rien fait :angry:

A.R.M.I

Autonomous Robotics Mechanics Intelligent


#32 geek maxou

geek maxou

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 663 messages
  • Gender:Male
  • Location:Pas-de-Calais 62

Posté 09 mai 2012 - 06:36

possible de controller mes moteur avec cette carte ?
http://www.gotronic.fr/art-commande-a-relais-dg3a-12410.htm

A.R.M.I

Autonomous Robotics Mechanics Intelligent


#33 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 963 messages
  • Gender:Male
  • Location:Anglet

Posté 09 mai 2012 - 07:18

possible de controller mes moteur avec cette carte ?
http://www.gotronic.fr/art-commande-a-relais-dg3a-12410.htm


ça dépend de ce que tu veux au niveau du contrôle de tes moteurs: les allumer et les éteindre ou bien tenter de leur imposer une vitesse voir carrément les asservir ...

Pour ça il faut définir les ordre qui serviront à la direction. Quels seront les tiens ?

cinq exemples d'ordres:
1)On/off
2)allez à X% de la vitesse max suivant votre unique sens de marche
3)allez à X% de la vitesse max dans tel sens
4)Suivez rigoureusement cette vitesse X suivant votre unique sens de marche
5)suivez rigoureusement cette vitesse X dans tel sens

les idées de solutions associées pour un moteur à courant continu:
1) les relais suffisent
2) un hacheur
3) Hacher un signal de commande pour un Pont en H
4) asservir un hacheur, nécessite d'avoir un retour image de la vitesse
5) asservir le signal de commande pour un pont en H, nécessite un retour image de la vitesse

Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#34 geek maxou

geek maxou

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 663 messages
  • Gender:Male
  • Location:Pas-de-Calais 62

Posté 09 mai 2012 - 08:08

est-ce que sa serait possible de faire un controlleur de moteur avec des pont en H
car il y a plus d'1 mois j'avais déja poser la questions mais j'etait tomber sur un énorme schéma exacte au controlleur shield mais sa c'etait trop compliquer pour moi ... :(
j'avais peur de mal souder et de tout foirer

A.R.M.I

Autonomous Robotics Mechanics Intelligent


#35 Francky

Francky

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 967 messages
  • Gender:Male

Posté 09 mai 2012 - 08:11

Tout dépend de ce que tu entends par "contrôleur de moteur".

On pourra mieux te renseigner si tu réponds aux questions de mike118 ^^

#36 geek maxou

geek maxou

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 663 messages
  • Gender:Male
  • Location:Pas-de-Calais 62

Posté 10 mai 2012 - 06:52

il dvra simplement faire tourner les moteur et arreter un des moteur pour tourne
desoler pour cette reponse vite fait mais je pars en cours
cordialement Maxou

A.R.M.I

Autonomous Robotics Mechanics Intelligent


#37 Francky

Francky

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 967 messages
  • Gender:Male

Posté 10 mai 2012 - 02:27

il dvra simplement faire tourner les moteur et arreter un des moteur pour tourne
desoler pour cette reponse vite fait mais je pars en cours
cordialement Maxou

Solution très simple et peu coûteuse : un L293D.

#38 geek maxou

geek maxou

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 663 messages
  • Gender:Male
  • Location:Pas-de-Calais 62

Posté 10 mai 2012 - 04:16

daccord mais il y aura un pont en H ou un autre truc pour a souder avec le L293 ?

A.R.M.I

Autonomous Robotics Mechanics Intelligent


#39 Francky

Francky

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 967 messages
  • Gender:Male

Posté 10 mai 2012 - 06:37

daccord mais il y aura un pont en H ou un autre truc pour a souder avec le L293 ?

Le L293D est un circuit intégré comportant 2 ponts en H et des diodes de roues libres. Autrement dit, tu le soudes sur ta plaque, tu le câbles comme il faut (c'est très simple) et tu peux contrôler 2 moteurs dans les 2 sens.

#40 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 963 messages
  • Gender:Male
  • Location:Anglet

Posté 10 mai 2012 - 06:40

daccord mais il y aura un pont en H ou un autre truc pour a souder avec le L293 ?


les ordres que tu as spécifié caractérisent un fonctionnement " On Off " donc en théorie des simple relais = " des interrupteurs commandé électriquement" suffisent pour commander un moteur à courant continu. La première carte que tu proposais était basé sur ces composants.
Cependant, cette solution est coûteuse en énergie et lente ( temps de commutation pouvant être de une seconde)

On préfère donc utiliser un simple transistor en commutation dans ce cas là: il est moins coûteux en énergie plus rapide, et même plus facile à mettre en place. C'est la solution qui me semble la plus adaptée dans ton cas. Il faut ensuite dimensionner le transistor en fonction de la tension max aux bornes de ton moteur à courant continu et de l'intensité max qui y circulera. Puis il faudra sélectionner parmis les candidats le moins cher pouvant être commander en commutation par ta partie commande. ( pour deux moteurs il faudra deux fois le même transistors : un par moteur )

L'avantage du transistors est que le temps de commutation est si faible ( entre 0,1 et 10µS ) qu'on peut même utiliser ce montage de base pour faire "un hacheur" qui lui va permettre de commander ton moteur à courant continu en vitesse en envoyant un signal de XVolt modulé en rapport cyclique.
Cependant, un seul transistor ne peut te faire tourner qu'un moteur et que dans un sens. alors qu'un seul relais peut être susceptible de faire tourner un moteur dans deux sens ( avec deux alimentations opposées par rapport à le masse )

Pour faire tourner un moteur à courant continu dans deux sens avec des transistors tu peux utiliser un montage push pull avec deux transistors ( nécessite deux alimentations opposées par rapport à la masse ) ou un pont en H contenant 4 transistors ( nécessitant qu'une unique alimentation )

Un L293D est quand a lui une puce contenant 2 pont en H limités à un débit de 600mA pour une tension de 4,5V à 36V. Tout est inclu dans la puce donc il n'y a rien à rajouter. Le L293D propose même une patte sur laquelle tu peux envoyer un ordre d'arrêt d'urgence par pont en H.

Si tes moteurs ont une consommation inférieur à 600mA et une tension de fonctionnement comprise entre 4,5V et 36V le L293D peut à fortiori être une solution mais n'est pas nécessaire. C'est comme utiliser le must des 4*4 pour te déplacer là où tu as juste besoin d'au moins un vélo ( uniquement sur le point de vue du principe mais pas forcément sur le point coût ou encombrement )

Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 




Répondre à ce sujet



  



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

0 members, 0 guests, 0 anonymous users