RobotTondeuse : Différence entre versions

De troyesGEII
Aller à : navigation, rechercher
(Travail à réaliser)
(Tests réalisés)
Ligne 775 : Ligne 775 :
  
 
= Tests réalisés =
 
= Tests réalisés =
 +
 +
=={{Bleu|Capteurs de distance}}==
 +
 +
Nous avons connecté un seul capteur pour commencer sur une platine à essai avec un arduino uno avec le programme fourni par le constructeur, et avons vérifié que le capteur
 +
nous donne une valeur correcte. Nous avons ensuite connecté les 3 capteurs en série sur la platine d'essai toujours, et avons vérifié qu'ils affichaient une valeur différente
 +
grâce à leur différente adresse.
 +
 +
 +
=={{Bleu|Gyroscope}}==
 +
 +
 +
 +
 +
=={{Bleu|Moteur brushless}}==
 +
 +
Nous avons testé plusieurs codes qui permettaient de faire tourner le moteur mais aucun ne le faisait tourner en continu. Pour ce faire, nous avons modifié un code qui
 +
permettait de faire du RUN / STOP pendant un certain temps fixé. (voir ci-contre)
 +
 +
 +
=={{Bleu|Moteurs MDP}}==
 +
 +
 +
 +
 +
=={{Bleu|Plaque pastillée}}==

Version du 16 mars 2021 à 09:23



Présentation du projet

turbo tondeuse


Site Marchand


Objectif

Le projet consiste à fabriquer un robot tondeuse autonome capable d'éviter les obstacles grâce à des capteurs de distance et faire tourner un moteur brushless désignant la lame de la tondeuse.

Tâches individuelles

  • Arel RAKO :
   * capteur VL53L1X
     - programmé et connecté le capteur
   * moteur brushless 
     - programmé, connecté, fait les soudures nécessaires pour le connecteur de la batterie
   * interrupteur
     - programmé en PULL UP pour faire tourner le moteur à l'état haut et l'arrêter à l'état bas
   * plaque pastillée
     - toutes les soudures de la plaque, qui seront détaillés un peu plus tard
  • Anthony JEAN-BAPTISTE-ADOLPHE :
   * gyroscope MPU9250
    - programmé et connecté le gyroscope
   * capteur VL53L1X
    - programmation pour faire fonctionner 3 capteurs en même temps avec le gyroscope aussi
   * code général
    - programmation
   * différentes soudures

Découpage fonctionnel

découpage fonctionnel

Travail à réaliser

Objectif

L'objectif sera bien évidemment de terminer le projet de sorte qu'il réponde au cahier des charges décrit précédemment.

Pour ce faire, il conviendra de :

- rechercher des solutions à partir du schéma fonctionnel fourni ( schéma électronique et composants )
- dimensionner les composants utilisés
- tester les différents blocs fonctionnels
- programmer les composants
- valider le fonctionnement

Choix des composants

- 3 capteurs de distance VL53L1X
- 1 arduino uno
- 1 shield avec drivers
- 1 gyroscope MPU9250
- 1 batterie EMMERICH 12.8V
- 1 abaisseur de tension LM2596
- 1 moteur brushless
- 1 interrupteur
- 2 moteurs MDP (moteurs des roues)

VL53L1x Arduino Uno MPU9250 LM2596 Moteur Brushless Driver Moteur MDP Interrupteur Batterie

Tondeuse composants.jpg

Explications

  • les capteurs de distance
   * connectés en I2C via les ports SCL et SDA de l'arduino 
   * alimentés en 5V via le pin VIN, ils possèdent un régulateur qui transforme le 5V en 2.8V (sortie VDD)
   * placés au côté gauche, droit et au milieu du robot pour avoir un plus grand champ de vision 
   * détails de fonctionnement: 
- si le capteur à gauche détecte un obstacle à moins de 20cm, le robot tourne à droite - si le capteur à droite détecte un obstacle à moins de 20cm, le robot tourne à gauche - si le capteur du milieu détecte un obstacle à moins de 20cm, le robot s'arrête et fait demi-tour vers la droite
  • le gyroscope
   * connecté en I2C comme les capteurs de distance
   * alimenté en 5V comme les capteurs de distance 
   * prend la valeur de 100 angles et fait leur moyenne pour plus de précision


  • moteur brushless
   * connecté à un pin PWM de l'arduino pour pouvoir le piloter
   * alimenté directement via la batterie car nécessite 12V 
   * sur le rotor on a mis du scotch pour modéliser la lame
  • interrupteur
   * connecté en PULL-UP à un pin quelconque de l'arduino 	
   * alimenté en 5V
   * s'il envoie 1, le moteur brushless commence à tourner, s'il envoie 0, le moteur s'arrête Attention! Prévoir 5 secondes pour l'arrêt du moteur 
  • abaisseur de tension
   * transforme le 12V de la batterie en 5V pour alimenter les capteurs
  • plaque pastillée
   * constituée de 6 parties:
     - le 12V pour alimenter l'arduino, on y branche aussi le connecteur AMASS du moteur brushless et l'abaisseur de tension
     - le 5V où sont connectés tous les capteurs, le gyroscope et l'interrupteur
     - SCL où est connecté le pin SCL des capteurs et du gyroscope au pin SCL de l'arduino
     - SDA où est connecté le pin SDA des capteurs et du gyroscope au pin SDA de l'arduino
     - masse du 12V 
     - masse du 5V
  • moteurs MDP


Programmation

Code des différents composants

  • programmation des capteurs de distance
 -Bibliothèque  pour le capteur de distance : Bibliothèque
[Développer]

Code distance

  • programmation moteur brushless avec l'interrupteur
[Développer]

Code brushless

  • programmation gyroscope
 - Bibliothèque du MPU9250 : Bibliothèque
[Développer]

Code gyro

  • programmation moteurs MDP
[Développer]

Code moteurs MDP

Code général

[Développer]

Code_tondeuse

Vidéos

Vidéo de démonstration du robot qui roule
Vidéo du moteur de coupe

Tests réalisés

Capteurs de distance

Nous avons connecté un seul capteur pour commencer sur une platine à essai avec un arduino uno avec le programme fourni par le constructeur, et avons vérifié que le capteur 
nous donne une valeur correcte. Nous avons ensuite connecté les 3 capteurs en série sur la platine d'essai toujours, et avons vérifié qu'ils affichaient une valeur différente 
grâce à leur différente adresse.


Gyroscope

Moteur brushless

Nous avons testé plusieurs codes qui permettaient de faire tourner le moteur mais aucun ne le faisait tourner en continu. Pour ce faire, nous avons modifié un code qui 
permettait de faire du RUN / STOP pendant un certain temps fixé. (voir ci-contre) 


Moteurs MDP

Plaque pastillée