Porteurs du projet: Lucile Auzeméry (contact : lucileauzemery@orange.fr) Ivanna Langan (contact : langan.annavi@gmail.com) Adrien Avramoglou (contact : adrienavra@yahoo.fr) Théo Jesu (contact : theojesu@gmail.com) Aurélien Cintioni (contact : aurelien_cintioni@hotmail.fr)
Nous avons dès le départ récupéré des moteurs brushless avec leurs contrôleurs associés.
Bien que déconseillés, puisqu'ils ne sont pas simples d'utilisation, nous avons quand même décidé d'apprendre à les utiliser.
Nous avons opté pour une stratégie simple : alourdir au maximum notre robot et le faire foncer sur l'adversaire afin de pousser ce dernier hors du dohyo.
- 1 Arduino Uno ou similaire - 4 roues
- 4 moteurs brushless et leurs contrôleurs (entouré en rouge)
- dominos, équerres, vis… - batterie LIPO de 11,1 volts - chargeur associé à la batterie (il doit vraiment être choisi en fonction de la batterie, au risque de.. tout faire exploser!) - plaque à souder (interrupteur)
Dans un premier temps, pour la version 0, nous avions découpé un simple châssis rectangulaire.
Mais nous l'avons ensuite modifié dans le but de rapprocher les roues du châssis : La découpe est faite de sorte à ce que les roues puissent être au plus proche du châssis possible (cf. les encoches au niveau des 4 angles), et de sorte à laisser une rampe s'insérer sur l'avant.
Chaque moteur est relié à son contrôleur qui reçoit le signal PWM de la carte Arduino, ainsi chaque moteur est indépendant. Nous avons donc testé chaque moteur indépendamment pour trouver le bon sens de rotation (si le sens de rotation n'était pas celui souhaité, il suffisait d'inverser deux fils du moteur) et connaître la valeur minimale à partir de laquelle un moteur tourne.
Les moteurs sont reliés à leurs contrôleurs par le biais de dominos.
Une des premières grosses étapes a été de réussir à faire tourner ces moteurs, ce qui nécessite obligatoirement un programme…
On programme sur Arduino :
#include <Servo.h> // appel bibliothèque Servo Servo ctrl_1 ; // création de variables Servo Servo ctrl_2 ; // on leur donne leurs noms Servo ctrl_3 ; Servo ctrl_4 ; boolean premierefois = true;
void setup() {
pinMode(7,INPUT); pinMode(3,OUTPUT); pinMode(5,OUTPUT); pinMode(6,OUTPUT); pinMode(8,OUTPUT);
On choisit 4 pins de la carte qui délivrent des signaux PWM. Ce sera donc la 3, 5, 6 et 8. La 7 est réservée à notre interrupteur.
ctrl_1.attach(3); ctrl_2.attach(5); ctrl_3.attach(6); ctrl_4.attach(8);
On associe chaque contrôleur à une sortie.
ctrl_1.writeMicroseconds(1000); // On attribue la valeur min // moteur ne démarre pas a sa val min
ctrl_2.writeMicroseconds(1000);
ctrl_3.writeMicroseconds(1000); ctrl_4.writeMicroseconds(1000); Serial.begin(9600); }
void loop() { boolean etatBouton = digitalRead(7); if (etatBouton == HIGH) { if (premierefois == true) { delay(5000); ctrl_1.writeMicroseconds(1180); // 1130 ctrl_2.writeMicroseconds(1160); //1110 ctrl_3.writeMicroseconds(1160); //1120 ctrl_4.writeMicroseconds(1190); //1150 delay(10000); premierefois = false; }
Le delay (5000) est notre départ différé de 5 secondes. Les moteurs sont donc mis en marche après ce temps, la valeur entre parenthèses nous permettant de régler la vitesse de rotation. Le delay (10000) correspond au temps de rotation des moteurs, ici 10 secondes.
if (premierefois == false) { ctrl_1.writeMicroseconds(1000); ctrl_2.writeMicroseconds(1000); ctrl_3.writeMicroseconds(1000); ctrl_4.writeMicroseconds(1000); } } if (etatBouton==LOW) { ctrl_1.writeMicroseconds(1000); ctrl_2.writeMicroseconds(1000); ctrl_3.writeMicroseconds(1000); ctrl_4.writeMicroseconds(1000); } } }
La découpe est faite de sorte à pouvoir s'insérer dans le châssis, et la longueur est maximale de sorte à compléter les 40 centimètres.
Nous l'avons également recouverte de Teflon, afin que l'adversaire n'adhère pas à notre rampe et perde donc toute accroche.
Enfin nous avons fixé un “mur” en haut de cette rampe, pour éviter que l'adversaire ne puisse pas passer par dessus notre robot.
13/11/2017 :
20/11/17 :
30/11/2017 :
04/12/2017 :
05/12/2017 :
06/12/2017 :
Hors Fablab (chez soi, dans l'atrium, dans un couloir…):
Malheureusement, après la pesée et à moins d'une demie heure de la compétition, il s'avère que notre robot pèse plus de 2,5 kg !
Nous avons donc essayé de l'alléger au maximum (retrait du mur, retrait de pièces de bois sur le coté qui maintenaient le châssis, trous dans le mur et le châssis,…) mais impossible d'atteindre les 2 kg réglementaires.
Prêts à déclarer forfait, nous avons néanmoins pu concourir mais avec des points de pénalité.