Table des matières

CONFUCIUS

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)

Descriptif

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.

Matériels nécessaires

- 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)

Construction

Réalisation du châssis

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.

Contrôle des moteurs

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…

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); 
}
}
}

Rampe

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.

Journal de bord

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…):

Rendu final

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é.