Robot

Bonjour à tous,

Nous avons un projet qui est devenu réalité et qui sera présenté lors des futures olympiades des sciences de l'ingénieur la semaine prochaine. Le but du projet était de réalisé un robot sauteur similaire à celui-ci: Sand Flea Jumping Robot - YouTube
Pour cela nous avons utilisé une carte arduino mega 2560, deux servomoteurs pour l'inclinaison avant le saut, deux moteurs cc pour faire avancer le robot, un vérin pneumatique et son distributeur pour propulser le robot, et un afficheur 7 segments pour montrer le déroulement des étapes.
Nous avons programmé le robot, ce qui à donné le code suivant, en pièce jointe.

Le but de se programme est de permettre au robot de faire les mouvements suivants:

  • Etape 0: La chambre 1 du distributeur se met en position de telle sorte qui la tige du vérin sorte
  • Etape 1: Le robot accélère
  • Etape 2: Le robot décellère
  • Etape 3: Le robot s'arrête
  • Etape 4: Les servomoteurs se mettent en position inital, angle de 180°
  • Etape 5: Les servomoteurs se placent en un angle donné, ex 45°
  • Etape 6: La chambre 2 du distributeur se met en position pour faire sortir la tige
  • Etape 7: La chambre 1 du distributeur se met en position pour faire rentrer la tige
  • Etape 8: Les servomoteurs se mettent en position initial

Les distributeur: distributeur pneumatique 5/2 de 24 VDC qui se contrôle avec une impulsion pour la chambre 1 et 2
Moteurs cc: Moteurs cc de 6-9 V
Servomoteurs: couple de 4.5 kg/cm² alimenté sur 5 V
Vérin: pneumatique, pas besoin de le contrôler car le distributeur s'en charge
Afficheur 7 segments: TDSR 5150
Résistance: 8 de 270 kohm pour le sept segment et 1 de 10 kohm pour chaque moteurs cc
Transistors: 1 BC337 pour chaque moteurs cc
Alimentations: 9V pour carte arduino, 15 V pour distributeur 1 et 2, 9V pour moteurs cc 1 et 2, 5V pour servo 1 et 2 sur arduino.

Lorsque je téléverse le programme sur la carte, aucune erreur mais le programme ne marche pas, à quoi est-ce dû?

Quelles sont les résistance que je dois utiliser pour chacune des chambres du distributeur? Et les transistors? Et les roues leds?

Comment générer qu'une seule impulsion pour le distributeur 1 et 2? J'ai mis une valeur de 127.

Les branchements sont-ils bons? Voir liens: http://fr.flossmanuals.net/arduino/_booki/arduino/static/moteur_mousse_1_1.png .Pour les moteurs cc , j'ai fait ces branchements fois deux et pour les deux chambres du distributeurs j'ai jute remplacé le moteur par une chambre du distributeur. http://www.mon-club-elec.fr/mes_images/montages/digits/digit_cc_x1.gif pour l'afficheur 7 segments et je les ai branchés sur les pins digitaux de la méga. Pour les servomoteurs, rien de bien compliqué, fil blanc sur pwm, noir sur gnd et rouge sur 5 volts.

Comment contrôler le robot avec ce programme en wifi (avec un wifi shield arduino) en appuyant sur un bouton pour mise en marche moteur, arrêt, angle servomoteur, propulsion du robot?

Merci beaucoup

robot_sauteur_complet.ino (8.74 KB)

salut,

Qu'est-ce qui ne marche pas ? l'afficheur, les moteurs des roues les servos ???
As-tu testé une à une chaque fonction (faire tourner les roues, les servos, le distributeur ?) dans un programme dédié à chacune d'elles avant d'essayer de tout faire en même temps ?
Utilises plutôt la liaison série pour commencer à donner des ordres à ton robot, et vérifier par des serial.print ou tu en es dans ton programme ... en wifi ça rajoute une grosse couche de programmation
Pourquoi 127 en étape 0 ? le max c'est 255 .. et pour générer une impulsion, on écrit une valeur haute, on attend le temps qu'il faut et on écrit un zéro ...
Tu fais des analogRead sur Voie_0 et Voie_0_2 qui sont toutes les 2 initialisées à 0 ... quel capteur de donne un angle, sur quelle broche ?
10kOhms pour la résistance de base des transistors me semble un peu forte et il doit donc toujours rester à l'état bloqué ... j'essaierai avec 1000 ohms (mais j'ai toujours eu horreur des calculs des résistances avec les transistors ...)
Je suis perplexe sur les virgules entre les digitalWrite pour ton afficheur (certes je n'ai pas d'erreurs non plus, mais je mettrai des :wink:

D'accord, c'est quoi la liaison série et les serials prints?

edwinre:
D'accord, c'est quoi la liaison série et les serials prints?

Waou ... Va peut-être falloir étudier les bases avant de vouloir faire de l'ingénierie !!! Si tu ne connais même pas ça je te conseille te passer par la et de faire les tuto de base, sinon impossible que tu arrives à quoique ce soit !

L'arduino est une carte très facile à prendre en main dans le domaine des microcontrolleurs, mais ce n'est pas une carte "magique" qui permet à un néophyte de faire une fusée en 2 jours, ça demande du temps, de la patience et de te pas sauter les étapes. On mets pas les pieds dans une F1 quand on vient de décrocher son permis au risque de se prendre le mur à 300 km/h ... Te lancer dans un tel projet alors que tu ne sais même pas ce qu'est une liaison série, ça va te saouler au bout de 2 jours c'est certain !

Oui surtout en UNE semaine ! Ca parait bien court pour un tel projet...et en plus si on considère le temps pour commander des pièces etc une semaine c'est juste mission impossible :slight_smile: