Aller au contenu


Photo

Roberto [PPE]


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

#1 Jekert

Jekert

    Auteur

  • Modérateur
  • PipPip
  • 223 messages
  • Gender:Male

Posté 08 janvier 2017 - 03:35

Salut à tous !

 

Je viens perturber la monarchie d'Oracid sur cette catégorie :D  avec la présentation de notre (nous sommes un groupe de 5) projet de terminale SI.

 

Donc l'objet de ce projet est de créer un robot stabilisateur de caméra pour la prise de vue au sol. On a donc séparer le projet en deux parties, le système de déplacement et celui de stabilisation.

 

Mon rôle dans ce projet est de choisir l'alimentation, programmer le système de déplacement et étudier les signaux de sortie des capteurs. Mais si vous avez des questions ou autres sur les autres parties du projet n'hésitez pas.

 

Pour la base mécanique du système de déplacement nous avons choisi d'utiliser des LEGO combiné à un EVShield (un Shield Arduino) pour le contrôle des 4 moteurs et des différents capteurs (de distance et d'inclinaison). La documentation du shield est disponible ici.

 

evshield-for-arduino-duemilanove-or-uno.jpg.png

 

Nous avons jusqu'en avril pour finir nos tâches mais voici un aperçu du système de déplacement (qui nécessite encore quelques modifications) :

 

15608593_1641217639512638_1828761564_o.jpg

15608836_1641217619512640_191563867_o.jpg

15609323_1641217599512642_1777660190_o.jpg

15658160_1641217592845976_367032436_o.jpg

15658890_1641217572845978_1821202811_o.jpg

 

Après avoir choisi une batterie lipo, je suis passé à la programmation des éléments du robot à commencer par les moteurs :

Test d'un moteur sur la Bank A port M1 :

// Bibliothèques :
#include <Wire.h>
#include <EVShield.h>

EVShield evshield(0x34, 0x36); //Adresses i²c des deux cotés du shield.

void setup()
{
  Serial.begin(9600); //Communication Série pour debugging

  evshield.init( SH_HardwareI2C ); //Initialisation de l'EV Shield

  evshield.bank_a.motorReset();
  evshield.bank_b.motorReset();

  Serial.println("Appuyez sur le bouton GO pour commencer");
  evshield.waitForButtonPress(BTN_GO); //Attente de commande utilisateur

  evshield.ledSetRGB(200,100,100);
}

void loop()
{
  evshield.bank_a.motorRunUnlimited(SH_Motor_1, SH_Direction_Forward, 100); //Remplacer Forward par Reverse pour modifier le sens de rotation

  delay(1000);
  
  evshield.bank_a.motorStop(SH_Motor_Both, SH_Next_Action_Brake);

 Serial.println("Appuyez sur le bouton GO pour commencer");
 evshield.waitForButtonPress(BTN_GO); //Attente de commande utilisateur
}

Test avec 4 moteurs :

// Bibliothèques :
#include <Wire.h>
#include <EVShield.h>

EVShield evshield(0x34, 0x36); //Adresses i²c des deux cotés du shield.



void setup()
{
  Serial.begin(9600); //Communication Série pour debugging

  evshield.init( SH_HardwareI2C ); //Initialisation de l'EV Shield

  evshield.bank_a.motorReset();
  evshield.bank_b.motorReset();

  Serial.println("Appuyez sur le bouton GO pour commencer");
  evshield.waitForButtonPress(BTN_GO); //Attente de commande utilisateur

  evshield.ledSetRGB(200,100,100);
}

void loop()
{
 evshield.bank_a.motorRunUnlimited(SH_Motor_Both, SH_Direction_Reverse, 100); //Démarre les moteurs à 100%
 evshield.bank_b.motorRunUnlimited(SH_Motor_Both, SH_Direction_Forward, 100); //Démarre les moteurs à 100%

 delay(1000);

 evshield.bank_a.motorStop(SH_Motor_Both, SH_Next_Action_Float);
 evshield.bank_b.motorStop(SH_Motor_Both, SH_Next_Action_Float);

 Serial.println("Appuyez sur le bouton GO pour commencer");
 evshield.waitForButtonPress(BTN_GO); //Attente de commande utilisateur
}

L'ensemble des programmes que je posterai sur ce fil seront aussi disponible ici.

 

Au programme des prochaines séances : mise en place du capteur de distance et d'inclinaison.

 

Voilà tout pour le moment, j'essayerai de mettre à jour régulièrement ce fil :)

 

PS: J'ai hésité à placer ce sujet dans LEGO vu que tout les programmes seront en Arduino, mais je pense que ça peut tout de même donner une idée de ce que l'on peut faire avec l'EVShield


Mon blog  ------  101robotics.com

Ouvrage    -----  Guide pour débuter avec Arduino

Ancien Blog  --  Journal d'un Arduinaute


#2 Path

Path

    Made By Humans

  • Modérateur
  • PipPipPipPipPip
  • 2 504 messages
  • Gender:Male
  • Location:Paris

Posté 08 janvier 2017 - 03:51

C'est intéressant !! Merci du partage



#3 Oliver17

Oliver17

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 2 758 messages
  • Gender:Male

Posté 08 janvier 2017 - 04:41

+1 :)


signature_01.png -->

 

Mon Tipeee
 


#4 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 6 766 messages
  • Gender:Male

Posté 08 janvier 2017 - 05:34

Salut à tous !
 
Je viens perturber la monarchie d'Oracid sur cette catégorie :D  avec la présentation de notre (nous sommes un groupe de 5) projet de terminale SI.
 
Au programme des prochaines séances : mise en place du capteur de distance et d'inclinaison.
 
PS: J'ai hésité à placer ce sujet dans LEGO vu que tout les programmes seront en Arduino, mais je pense que ça peut tout de même donner une idée de ce que l'on peut faire avec l'EVShield

Bien au contraire, tout l'honneur est pour moi et je pense que cette réalisation a toute sa place dans la rubrique Lego plutôt qu'ailleurs.

Quelques remarques :
- vous utilisées des servos NXT et non pas EV3. Mais c'est bien aussi, d'autant qu'ils sont plus puissants.
- pourquoi les servos sont-ils orientés à 90° alors que l'axe en prise direct est fait pour ce genre de mobile ?
- les petites chenilles caoutchouc d'origine ont une longueur fixe, ce qui pourra vous poser des problèmes d'adaptabilité en cas de modification de structure. Ma chenille est autrement plus efficace, voir ma vidéo #13, mais vous avez peut-être vos raisons.
- concernant le capteur d'inclinaison, vous ne savez peut-être pas où vous mettez les pieds. Voici quelques liens qui devraient vous intéresser :




Et un exemple de programme minimaliste qui affiche l'inclinaison sur une brique EV3, à adapter donc :
Affiche inclinaison.jpg

J'attends la suite avec impatience.

#5 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 6 766 messages
  • Gender:Male

Posté 08 janvier 2017 - 06:17

Voilà 2 vidéos sur le même sujet que j'ai trouvé très intéressantes.



#6 Jekert

Jekert

    Auteur

  • Modérateur
  • PipPip
  • 223 messages
  • Gender:Male

Posté 08 janvier 2017 - 10:24

Merci pour vos retours :)

 

 

- vous utilisées des servos NXT et non pas EV3. Mais c'est bien aussi, d'autant qu'ils sont plus puissants.
- pourquoi les servos sont-ils orientés à 90° alors que l'axe en prise direct est fait pour ce genre de mobile ?

Oui l'ensemble du matériel LEGO est de la génération NXT.

On avait orienté les servos à 90° pour avoir le maximum d'espace au centre pour éviter que si un objet passe au centre le robot soit stopper ainsi que pour ajouter une réduction (qui a finalement été retirée).

 

 

les petites chenilles caoutchouc d'origine ont une longueur fixe, ce qui pourra vous poser des problèmes d'adaptabilité en cas de modification de structure. Ma chenille est autrement plus efficace, voir ma vidéo #13, mais vous avez peut-être vos raisons.

On avait commencé par le robot à chenilles du guide compris dans les boites LEGO (qui avait l'air de bien fonctionner), que nous avons adapter pour notre projet. Mais si on rencontre des problèmes avec, on se tournera vers ta vidéo (mais ce robot n'est pas prévu pour monter des grandes pentes(~10%)). Et une autre raison est le fait que nous pensions que cela réduirai les "dérapages" (ou déraillement) si les moteurs ne tournent pas exactement à la même vitesse.

 

 

concernant le capteur d'inclinaison, vous ne savez peut-être pas où vous mettez les pieds. Voici quelques liens qui devraient vous intéresser :

 

Le capteur d'inclinaison LEGO que le lycée possède provient de chez Hitec. Mais je n'ai pas encore réussi à le faire fonctionner avec l'EVShield donc je suis en train de me renseigner sur l'utilisation d'un MPU-6050 au cas où il ne soit pas compatible.

 

Merci pour les vidéos sur la stabilisation mais j'ai oublié de préciser la partie orientation du stabilisateur, on est donc parti sur un type de gimbal (composée de 3 moteurs brushless) commandé avec SimpleBCG que l'on placera sur le robot.


Mon blog  ------  101robotics.com

Ouvrage    -----  Guide pour débuter avec Arduino

Ancien Blog  --  Journal d'un Arduinaute


#7 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 6 766 messages
  • Gender:Male

Posté 09 janvier 2017 - 07:48

Mettre les motors à 90° pour le passage entre les chenilles, je suis dubitatif. Surtout quand je vois l'utilisation de barres transversales sous les moteurs alors que les moteurs possèdent des prises hautes. Mais bon...

L'utilisation de 4 chenilles au lieu de 2 va provoquer un frottement maximum dans les virages et surtout dans les demi-tours sur place. Les chenilles ne vont pas tangenter la courbe des virages, mais la couper. Cette solution est utilisé pour un char articulé, mais en toute connaissance de cause. Je pense que mécaniquement, c'est un non sens. Mais pas de problème, ça passera, en force, mais ça passera...

Le NXT ne possédait pas nativement de capteur d'inclinaison, c'est pour cette raison que Hitec le proposait. Je ne connais pas ce capteur et son bloc de programmation, il faut être vigilant, l'utilisation de ces capteurs a toujours posé de gros problèmes, mais les solutions proposées aujourd'hui sont pérennes.

Pour le Gimbad, on est dans la super classe. Je suis impatient de voir le résultat.

#8 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 6 766 messages
  • Gender:Male

Posté 09 janvier 2017 - 11:32

À la réflexion, mon analyse n'est pas bonne.

Voir schéma ci-dessous.
En cas d'inversion du sens de rotations des paires de moteurs, les deux trains de chenilles A et B, voudraient décrire les petits cercles, mais n'y parviendront pas.
Le grand cercle C correspond au cercle intuitivement souhaité.

Ces 4 chenilles pourraient être vues comme 4 roues, mais avec des frottements beaucoup plus importants.
De plus, dans ce chassis il y a 4 chenilles et 4 moteurs, alors que la dimension et le poids du mobile ne nécessiterait, à mon avis, que 2 moteurs.
Cela ferait économiser environs 150g et surtout libérerait 2 ports sur l'EVShield.

cercle.jpg

#9 Jekert

Jekert

    Auteur

  • Modérateur
  • PipPip
  • 223 messages
  • Gender:Male

Posté 09 janvier 2017 - 07:12

Merci pour tes remarques, je transmettrai à la personne qui s'en occupe :)

 

 

Le NXT ne possédait pas nativement de capteur d'inclinaison, c'est pour cette raison que Hitec le proposait. Je ne connais pas ce capteur et son bloc de programmation, il faut être vigilant, l'utilisation de ces capteurs a toujours posé de gros problèmes, mais les solutions proposées aujourd'hui sont pérennes.

Nous l'avons déjà utilisé avec la brique NXT mais pas encore avec l'EVShield. Je mettrai un programme si j'y arrive.

 

A propos des chenilles, je n'ai pas trouvé sur bricklink les éléments de la chenille que tu utilise ainsi que les "roues", es-ce que tu aurais encore le lien du site où tu les a achetés ?


Mon blog  ------  101robotics.com

Ouvrage    -----  Guide pour débuter avec Arduino

Ancien Blog  --  Journal d'un Arduinaute


#10 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 6 766 messages
  • Gender:Male

Posté 10 janvier 2017 - 08:02

A propos des chenilles, je n'ai pas trouvé sur bricklink les éléments de la chenille que tu utilise ainsi que les "roues", es-ce que tu aurais encore le lien du site où tu les a achetés ?

- éléments de chenille gris ou noir, moi j'ai des noirs , réf.57518, http://www.bricklink.com/v2/catalog/catalogitem.page?id=66799#T=S&O={"st":"4"}
- barbotin noir, réf. 57519, http://www.bricklink.com/v2/catalog/catalogitem.page?P=57519&idColor=11#T=S&C=11&O={"color":11}

Pour les éléments de chenilles, j'en ai sur lesquels j'ai mis de la colle au pistolet ou du scotch double face très résistant, pour mes tests.
Cela ne les empêche pas de fonctionner, mais c'est pas très propre, sauf si tu as la patience de gratter avec tes ongles.
Alors, comme je ne les utiliserai plus, c'est cadeau. Et je mettrai 4 barbotins en prime.
Si ça t'intéresse, tu m'envoies ton adresse en MP.
Et dis toi que ce n'est vraiment pas grand chose. Lego fait des prix défiants toute concurrence aux AFOLs, mais chut, c'est un secret...

#11 Jekert

Jekert

    Auteur

  • Modérateur
  • PipPip
  • 223 messages
  • Gender:Male

Posté 11 janvier 2017 - 04:54

Oui, ça m'intéresse, merci ! :)

 

D'ailleurs, as-tu rencontré des problèmes avec l'utilisation de 2 moteurs sur une même chenille ? (juste pour savoir au cas où 2 moteurs au total ne suffiraient pas)

 

J'ai un petit peu avancé sur le capteur de distance (un module à ultrasons HC-SR04), après avoir eu des problèmes avec mon "filtre" (le module s’arrêter pendant l'exécution du programme), j'ai finalement utilisé deux fonctions incluses dans la bibliothèque NewPing (ping_median et convert_cm):

#include <NewPing.h>

//Capteur à ultrasons :
#define TRIG 13   // Pin de déclenchement de la mesure
#define ECHO 12   // Pin de retour de la mesure
#define MAXD 30   // Distance maximale de détection en cm
#define DISTANCE_SECU 25 //Distance maximale en cm à laquelle le robot s'arrete d'un objet
NewPing sonar(TRIG, ECHO, MAXD); //Déclaration du capteur à ultrasons

#define LED 11

void setup() {
  pinMode(LED, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  
  //Mesure et conversion :
  int timeD = millis();
  int med = sonar.ping_median(7); //On effectue 7 mesures, retire les valeurs hors de portée et retourne le temps median en us.
  int dist = sonar.convert_cm(med); // Converti le temps en distance en cm
  
  //Affichage :
  Serial.print("Distance: ");
  Serial.print(dist); Serial.print(" | Temps de mesure: ");
  Serial.println(millis() - timeD); //Affiche le temps de mesure
  
  //Réactions :
  if (dist <= DISTANCE_SECU && dist > 0)
  {
    digitalWrite(LED, HIGH); //Allume la led si un objet se trouve à moins de 25 cm du capteur
  }
  else
  {
    digitalWrite(LED, LOW);
  }
}

Le temps de mesure est d'environ 172ms (ce qui est bien mieux que mes 600ms avec le programme précédent quand ça fonctionnait...) et la mesure est précise à environ 1 à 2 cm près sans obtenir de valeurs improbables.

Puis je l'ai combiné au programme pour contrôler 1 Moteur pour vérifier qu'il était possible d'arrêter le robot avec une distance mesurée par le capteur :

// Bibliothèques :
#include <Wire.h>
#include <EVShield.h>
#include <NewPing.h>

EVShield evshield(0x34, 0x36); //Adresses i²c des deux 

//Capteur à ultrasons :
#define TRIG 13   // Pin de déclenchement de la mesure
#define ECHO 12   // Pin de retour de la mesure
#define MAXD 30   // Distance maximale de détection en cm
#define DISTANCE_SECU 25 //Distance en cm à laquelle le robot s'arrete d'un objet
NewPing sonar(TRIG, ECHO, MAXD); //Déclaration du capteur à ultrasons

void setup() {
  Serial.begin(9600);
  
  evshield.init( SH_HardwareI2C ); //Initialisation de l'EV Shield

  evshield.bank_a.motorReset();
  evshield.bank_b.motorReset();

  Serial.println("Appuyez sur le bouton GO pour commencer");
  evshield.waitForButtonPress(BTN_GO); //Attente de commande utilisateur

  evshield.ledSetRGB(200,100,100);
}

void loop() {
  
  //Mesure et conversion :
  int timeD = millis();
  int med = sonar.ping_median(7); //On effectue 7 mesures, retire les valeurs hors de portée et retourne le temps median en us.
  int dist = sonar.convert_cm(med); // Converti le temps en distance en cm
  
  //Affichage :
  Serial.print("Distance: ");
  Serial.print(dist); Serial.print(" | Temps de mesure: ");
  Serial.println(millis() - timeD); //Affiche le temps de mesure
  
  //Réactions :
  if (dist <= DISTANCE_SECU && dist > 0)
  {
   evshield.bank_a.motorStop(SH_Motor_Both, SH_Next_Action_Float);
  }
  else
  {
   evshield.bank_a.motorRunUnlimited(SH_Motor_1, SH_Direction_Forward, 100); 
  }
}

Je vais maintenant passer au capteur d'inclinaison du robot. Suite au prochain épisode :)


Mon blog  ------  101robotics.com

Ouvrage    -----  Guide pour débuter avec Arduino

Ancien Blog  --  Journal d'un Arduinaute


#12 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 6 766 messages
  • Gender:Male

Posté 11 janvier 2017 - 08:23

Oui, ça m'intéresse, merci ! :)
D'ailleurs, as-tu rencontré des problèmes avec l'utilisation de 2 moteurs sur une même chenille ? (juste pour savoir au cas où 2 moteurs au total ne suffiraient pas)

Non, le problème n'est pas de mettre 2 moteurs sur la même chenille, mais de mettre 2 chenilles de chaque coté du char.
D'ailleurs, la majorité de les mes chars ont 2x2 moteurs, comme ici, http://www.robot-maker.com/forum/topic/10713-lego-ev3-big-and-light-tank-climber-12/

J'ai déjà expérimenté un système à 4 chenilles sur ce char, http://www.robot-maker.com/forum/topic/10394-lego-le-v-tank-climber/, le résultat a été très mauvais.

Si je préconise 2 moteurs pour ton projet, c'est parce que je pense que la taille et le poids du char ne nécessitent pas 4 moteurs.
Comme sur ces 2 vidéos,
'https://www.youtube....yJX5UxPy8&t=1s'
'https://www.youtube....WeFkbWRA&t=30s'

#13 Jekert

Jekert

    Auteur

  • Modérateur
  • PipPip
  • 223 messages
  • Gender:Male

Posté 23 janvier 2017 - 08:59

Salut,

Quelques nouvelles du projet :

 

Le chassis est en pleine modification:

Voici l'état actuel (les chenilles ne sont pas encore correctement alignées...):

16251415_641926846008420_739044856_o.jpg 16229557_641926669341771_1141405332_o.jpg 16251278_641926899341748_2128402999_o.jpg

(je tiens à préciser que nous avons pas ignoré tes conseils Oracid, mais nous avons préféré suivre ceux des profs (2moteurs par chenilles avec un différentiel), c'est (en partie) eux qui nous notent...)

 

Premiers tests du MPU-6050 :
Pour le capteur d'inclinaison (il sera utilisé sur un seul axe, le tangage) je n'ai pour l'instant testé que le code proposé sur le site /dev/tbo et une version basée sur ce programme où j'ai ajouté un bouton de remise à zéro:

#include "Wire.h"
#include "I2Cdev.h"  //Bibliothèque à installer: http://gilles.thebault.free.fr/IMG/zip/I2Cdev.zip
#include "MPU6050.h" //Bibliothèque à installer: http://gilles.thebault.free.fr/IMG/zip/MPU6050.zip
#include "math.h"
     
// AD0 low = 0x68 (default for InvenSense evaluation board)
// AD0 high = 0x69
MPU6050 accelgyro;
     
int16_t ax, ay, az;  //mesures brutes
int16_t gx, gy, gz;
uint8_t Accel_range;
uint8_t Gyro_range;
float angle=0;
int offset;

#define BP 3
    
void setup() {
  pinMode(BP, INPUT);
  Wire.begin();  //I2C bus
  Serial.begin(9600);
  while (!Serial) {
   ; // wait for serial port to connect. Needed for native USB (LEONARDO)
  }
     
  // initialize device
  Serial.println("Initialisation I2C...");
  accelgyro.initialize();
 
  // verify connection
  Serial.println("Test de la conection du dispositif ...");
  Serial.println(accelgyro.testConnection() ? "MPU6050 connection reussie" : "MPU6050 connection echec");
  delay(1000);
}
     
void loop() {
  accelgyro.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);
  angle=0.99*(angle+float(gy)*0.01/131) + 0.01*atan2((double)ax,(double)az)*180/PI; //131 est la sensibilité signalée dans la doc.
  int i = 0;
  while (digitalRead(BP) == HIGH) //Mise à zéro de l'angle
  {
    accelgyro.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);
    angle=0.5*(angle+float(gy)*0.01/131) + 0.5*atan2((double)ax,(double)az)*180/PI;
    i++;
    offset = angle;
  }
  Serial.println(angle-offset); 
  delay(10);
}

De plus, le reste du groupe avance bien sur la partie stabilisation/orientation, on devrais prochainement imprimer nos pièces en 3D pour construire celui-ci (photos à venir) :)


Mon blog  ------  101robotics.com

Ouvrage    -----  Guide pour débuter avec Arduino

Ancien Blog  --  Journal d'un Arduinaute


#14 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 6 766 messages
  • Gender:Male

Posté 24 janvier 2017 - 08:20

Super, ça avance !

Un différentiel, c'est très bien. Surtout quand on a 1 moteur pour 2 roues, mais là j'en vois 2x2. Sauf si c'est un différentiel programmé.
Si vous visez un haut niveau technique pour le roulement de ce char, alors une suspension me parait indiquée.

#15 Mike118

Mike118

    Staff Robot Maker

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

Posté 24 janvier 2017 - 08:30

Je suppose qu'il parle du char comme étant un robot avec système en conduite différentiel.

Non pas d'un différentiel mécanique. 

 

En tout cas c'est cool de voir que ça avance bien ;) on a path qui concurrence yamovince telson et oliver et maintenant c'est jekert qui vient concurrencer Oracid ;) 


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  

 

 

 


#16 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 6 766 messages
  • Gender:Male

Posté 24 janvier 2017 - 02:25

Je suppose qu'il parle du char comme étant un robot avec système en conduite différentiel.
Non pas d'un différentiel mécanique.

Je ne crois pas. Clique sur la première et la troisième image, on voit bien les roues dentées du différentiel entre deux moteurs.

#17 Mike118

Mike118

    Staff Robot Maker

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

Posté 24 janvier 2017 - 03:43

Ah en effet, je vois un espèce de truc ... à confirmer donc ... Mais je n'arrive pas à voir la cinématique qui est en place... 

Avec un schémas ça peut être plus claire... 


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  

 

 

 


#18 Jekert

Jekert

    Auteur

  • Modérateur
  • PipPip
  • 223 messages
  • Gender:Male

Posté 24 janvier 2017 - 05:41

C'est bien un différentiel mécanique (on a utilisé le #6573):

16231391_641926719341766_825885519_o.jpg

 

Si vous visez un haut niveau technique pour le roulement de ce char, alors une suspension me parait indiquée.

C'est prévu, si on a le temps a la fin ou si on remarque qu'elle sont nécessaires au cours du projet :)

 

Avec un schémas ça peut être plus claire...

Je vais voir ce que je peut faire


Mon blog  ------  101robotics.com

Ouvrage    -----  Guide pour débuter avec Arduino

Ancien Blog  --  Journal d'un Arduinaute


#19 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 6 766 messages
  • Gender:Male

Posté 24 janvier 2017 - 07:46

Un char, un char de combats, ça n'a qu'un seul moteur. En conséquence, c'est le même moteur qui entraine les deux barbotins à l'avant du char, et donc il y a un différentiel.
Mais si tu mets, un moteur pour le barbotin avant/gauche et un moteur pour le barbotin avant/droite, tu peux également faire un différentiel, mais c'est plus compliqué.
Et si en plus, tu mets 4 moteurs, perso je jette l'éponge.
Et là, en plus, ce ne sont pas des moteurs, mais des servos que tu peux, il est vrai, utiliser comme de simple moteur.

#20 Jekert

Jekert

    Auteur

  • Modérateur
  • PipPip
  • 223 messages
  • Gender:Male

Posté 24 janvier 2017 - 09:15

Oups, la photo prête à confusion, j'ai essayé de faire grossièrement quelque chose de plus compréhensible :

ppe-m.png

On utilise 2 moteurs par chenilles, ils sont fixés à la même extrémité du robot (avant ou arrière) et sont reliés entre eux par un différentiel (qui devrait évité tout problèmes liés à la différence de vitesse entre les moteurs, le différentiel nous a fortement été conseillé par nos profs) dont la roue à 24 dents est reliée à un engrenage se trouvant sur l'axe du barbotin. Donc les 2 moteurs à l'avant servent à faire tourner la chenille gauche sur le barbotin avant gauche et les 2 moteurs à l'arrière servent à faire tourner la chenille droite sur le barbotin arrière droit. Les 2 autres barbotins tournant "librement".

 


Mon blog  ------  101robotics.com

Ouvrage    -----  Guide pour débuter avec Arduino

Ancien Blog  --  Journal d'un Arduinaute





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

0 members, 0 guests, 0 anonymous users