Skip to main content

Projet ROB3 : Fares, Ilyes, Albéric

Conception préliminaire 

Voici trois choix possible de conception du robot : LES DESSINS NE SONT PAS AUTO-SUFFISANTS. QUELQUES MOTS DE DESCRIPTION S'IMPOSENT POUR CHAQUE SOLUTION. METTEZ PLUS DE CONTRASTE ON NE VOIT PAS BIEN. APPLIQUEZ VOUS UN PEU PLUS.

PAR EXEMPLE POUR LE PREMIER: 

image.png

La première solution utilise pour les mouvements dans le plan (horizontal) de la feuille un mécanisme en boucle fermée à 5 barres , 5 liaisons pivot, dont deux sont motorisées. Voir une explication de son fonctionnement sur ce site . Pour les mouvements verticaux, on produit une translation verticale de la base qui soulève l'ensemble du robot.

WhatsApp Image 2024-02-08 à 12.11.11_d1457c5f.jpg

L’idée 3 à été écarté des possibilités en raison des composants disponibles.

Solution  Avantages Inconvénients

Idée 1

-Facilité de conception 

-Esthétique

-Précision : pas de contraintes mécanique trop importante sur l'axe des servomoteurs

 

-Possibilité d'une écriture du code plus complexe en raison de la forme.
Idée 2

-Mise en place simple

-Architecture simple

-Pas de contrainte potentielle sur les composants

-Possiblement difficile à réaliser car la contrainte mécanique sur l'axe d'un des servomoteur.

-Pas spécialement beau

 

Idée 3

- modèle cinématique facile à réaliser

-Guidage difficile à réaliser au niveau des courroies

-Composant non disponibles: courroie

-possibilité de perte de précision lors des déplacements à causes des roulements

Nous avons décidé après l'étude des différentes solution de sélectionner la première proposition. D'une part puisque nous trouvions le design  agréable et original. Et d'autre part pour certaines raisons pratiques cités ci-dessus. 

Ensemble des tâches à réaliser pour la conception du robot :

image.png

Diagramme de Gantt :

image.png

Schéma electronique :

image.png

Code provisoire : 

#include <Arduino.h>
#include "Servo.h"

int axey = A1;  
int axex = A0;  
int valeurX;
int valeurY;
Servo servo1;
Servo servo2;

void setup() {
  // put your setup code here, to run once:
  servo1.attach(6);
  servo2.attach(5);
  Serial.begin(9600);
}

void loop() {
  // put your main code here, to run repeatedly:
  valeurX = analogRead(axex);
  valeurY = analogRead(axey);
  valeurX = map(valeurX,0,1023,0,180);
  valeurY = map(valeurY,0,1023,0,180);
  servo1.write(valeurX);
  servo2.write(valeurY);
  delay(100);

  Serial.print("x = ");
  Serial.print(valeurX);
  Serial.print("   Y = ");
  Serial.println(valeurY);

}