#21
Posté 08 mai 2012 - 05:24
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
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
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
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 !
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!
#24
Posté 08 mai 2012 - 06:20
#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
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 !
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!
#30
Posté 09 mai 2012 - 03:45
Je ne suis pas sûr d'avoir bien compris "^^oui mes moi si fe fait sa je le ferai en visuel le robot je le verrai exemple dans mon jardin
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
Posté 09 mai 2012 - 06:21
oui c'est bien ca je me suis mal exprimer désolerJe 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é.
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
A.R.M.I
Autonomous Robotics Mechanics Intelligent
#32
Posté 09 mai 2012 - 06:36
http://www.gotronic.fr/art-commande-a-relais-dg3a-12410.htm
A.R.M.I
Autonomous Robotics Mechanics Intelligent
#33
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 !
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!
#34
Posté 09 mai 2012 - 08:08
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
#39
Posté 10 mai 2012 - 06:37
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.daccord mais il y aura un pont en H ou un autre truc pour a souder avec le L293 ?
#40
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 )
- Mike118 aime ceci
Si mon commentaire vous a plus laissez nous un avis !
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!
Répondre à ce sujet
Aussi étiqueté avec au moins un de ces mots-clés : 2WD
Découvertes →
Concours tournois et autres compétitions →
Coupe de France de robotique / Eurobot →
Synthèse de RCVA ses 10 ans de participations à la CDRDébuté par Mike118, 02 oct. 2018 Robot mobile, 2WD, Théorie |
|
|||
2WD
Projets et réalisations, robots et machines en tout genre →
Robots roulants, chars à chenilles et autres machines sur roues →
Suivez la naissance d’IR bObOt !!.... ps : le retour de neo ! THE COME-BACK !Débuté par Prinz metal ex-neo, 26 avril 2009 2WD |
|
0 utilisateur(s) li(sen)t ce sujet
0 members, 0 guests, 0 anonymous users