Cours:SaeEvitementObstacles : Différence entre versions

De troyesGEII
Aller à : navigation, rechercher
(Eviter les obstacles)
(Ressources)
 
(27 révisions intermédiaires par 2 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
  
 
{{Cours:EvaluationSaeS4}}
 
{{Cours:EvaluationSaeS4}}
 +
 +
  
 
=Travail à réaliser=
 
=Travail à réaliser=
  
 
==1ère partie (2 semaines à l'iut)==
 
==1ère partie (2 semaines à l'iut)==
*travail individuel
+
*Travail individuel
*création d'une fonction :
+
*Création d'une fonction :
**qui comporte un µcontrôleur
+
** Réalisation d'un prototype ( plaque lab, plaque pastillée, fils volants avec carte µ type arduino ...)
**qui respecte un cahier des charges listant les e/s
+
***qui comporte un µcontrôleur
**finalisation des pcbs pour le {{Rouge|mercredi 17/04}}
+
***qui respecte un cahier des charges listant les e/s
**finalisation du programme pour le {{Rouge|vendredi 19/04}}
+
***finalisation du programme pour le {{Rouge|vendredi 19/04}}
*création d'un banc de test
+
**Réalisation d'une version "propre" sur KiCad
 +
***finalisation des pcbs pour le {{Rouge|mercredi 17/04}}
 +
*Création d'un banc de test
 
**à finaliser pour le {{Rouge|lundi 13/05}}
 
**à finaliser pour le {{Rouge|lundi 13/05}}
 
**qui permettra de valider :
 
**qui permettra de valider :
Ligne 24 : Ligne 28 :
 
**Assemblage matériel : mécanique et électronique  
 
**Assemblage matériel : mécanique et électronique  
 
**Programmation carte traitement mission
 
**Programmation carte traitement mission
 +
*Schéma synoptique de l'assemblage : [[Media:synoptique_sae_s4_p24.pdf| synoptique]]
  
 
=Les différentes fonctions=
 
=Les différentes fonctions=
Ligne 30 : Ligne 35 :
  
 
*Entrées :
 
*Entrées :
**Choisir parmi 4 fréquences
+
**Choisir parmi 4 fréquences ( 12kHz 20kHz, 28kHz et 36kHz)
 
**Choisir parmi 4 couleurs
 
**Choisir parmi 4 couleurs
 
**Réseau électrique
 
**Réseau électrique
Ligne 60 : Ligne 65 :
 
**connecteur molex 4 broches (+5v,gnd,tx,rx)
 
**connecteur molex 4 broches (+5v,gnd,tx,rx)
 
**un µcontrôleur {{Rouge|atmega328p}}
 
**un µcontrôleur {{Rouge|atmega328p}}
 +
**le récepteur IR ne devra être sensible qu'à la fréquence sélectionnée par la balise
 +
**il faudra pouvoir régler la fréquence sur 12kHz, 20kHz, 28kHz ou 36kHz
  
 
==Eviter les obstacles==
 
==Eviter les obstacles==
( ou Détecter les obstacles )
+
 
( à vérifier/compléter )
 
 
*Entrées : détection obstacle /mesure distance obstacle par plusieurs capteurs
 
*Entrées : détection obstacle /mesure distance obstacle par plusieurs capteurs
**Informations binaires : présence obstacle TOR
+
**Informations binaires : 4 présence obstacle TOR ( lidar [https://www.pololu.com/product/4050 pololu] )
**Bus I2c : mesures de distances ( VL53L1X ou équivalent )
+
**Bus I2c : 3 mesures de distances ( lidar VL53L1X )
 
*Sorties :
 
*Sorties :
 
**liaison série
 
**liaison série
 
***vitesse 250000 bauds
 
***vitesse 250000 bauds
***9 bits de données
+
***8 bits de données
***1 octet envoyé : nombre signé
+
***trames de 6 octets avec dans l'ordre
***informations transmises : présence obstacle , direction/orientation obstacle et distance mesurée
+
****1 octet pour début de trame : {{Rouge|$}}
 +
****1 octet capteurs tor (4 bits de poids faible)
 +
****3 octets lidar : distance en cm (valeur max 255 !)
 +
****1 octet pour fin de trame : {{Rouge|*}}
 
*Contraintes :
 
*Contraintes :
 
**Choisir le nombre et le positionnement/orientation des capteurs
 
**Choisir le nombre et le positionnement/orientation des capteurs
 
**connecteur molex 4 broches (+5v,gnd,tx,rx)
 
**connecteur molex 4 broches (+5v,gnd,tx,rx)
 
**un µcontrôleur {{Rouge|atmega328p}}
 
**un µcontrôleur {{Rouge|atmega328p}}
 +
 +
==Commander les moteurs==
 +
*Entrées :
 +
**Alimentation 12V : puissance pour moteurs ( cartes cytron md13s)
 +
**Informations binaires :
 +
***Pulsation roues motrices ( 2x2 capteurs réflectifs - vcnt2020 ou autre )
 +
**Liaison série #1 : ordre vitesse de croisière en translation et rotation
 +
***vitesse 250000 bauds
 +
***8 bits de données
 +
***4 octets reçus
 +
****1 octet de début de trame : $
 +
****1 octet valeur de wr ( entre -100 et 100)
 +
****1 octet valeur de Vt ( entre -100 et 100)
 +
****1 octet de fin de trame : *
 +
*Sorties :
 +
**Commande moteur : rampe d'accélération jusque vitesse de croisière
 +
***PWM Moteurs gauche et droite
 +
***Directions Moteurs gauche et drotie
 +
**Liaison série #1 : mesure/calcul position par odométrie
 +
**liaison série
 +
 +
*Contraintes :
 +
**connecteur molex 4 broches (+5v,gnd,tx,rx)
 +
**un µcontrôleur {{Rouge|atTiny841}}
  
 
==Centraliser/traiter les informations==
 
==Centraliser/traiter les informations==
( à vérifier/compléter )
+
 
 
*Entrées : collecte d'informations/signaux brutes et pré-traitées
 
*Entrées : collecte d'informations/signaux brutes et pré-traitées
 
**Alimentation par batterie 12V LiPo
 
**Alimentation par batterie 12V LiPo
Ligne 96 : Ligne 129 :
 
*Sorties :
 
*Sorties :
 
**Indicateurs tension batterie : normale, faible, très faible
 
**Indicateurs tension batterie : normale, faible, très faible
**Affichage informations : LCD 2x16( application et/ou développement ) ?
+
**Affichage informations : LCD 2x16( application et/ou développement )
 
**Liaison série #4 : commande moteurs
 
**Liaison série #4 : commande moteurs
 
*** vitesse translation
 
*** vitesse translation
 
*** vitesse rotation
 
*** vitesse rotation
 
**PWM et TOR : perçage ballon
 
**PWM et TOR : perçage ballon
**liaison série
 
***vitesse 250000 bauds
 
***9 bits de données
 
***1 octet envoyé : nombre signé
 
***informations transmises : présence obstacle , direction/orientation obstacle et distance mesurée
 
 
*Contraintes :
 
*Contraintes :
**choisir le nombre et le positionnement/orientation des capteurs
 
**connecteur molex 4 broches (+5v,gnd,tx,rx)
 
 
**un µcontrôleur {{Rouge|atmega2560}}
 
**un µcontrôleur {{Rouge|atmega2560}}
  
==Commander les moteurs==
+
=Ressources=
( à vérifier/compléter )
+
 
*Entrées :  
+
*vérifier la "programmabilité" du µcontroleur :
**Alimentation 12V : puissance pour moteurs ( cartes cytron )
+
**dans un terminal
**Informations binaires :
+
**avrdude -c usbasp -p nomDuMicro
***Pulsation roues motrices ( 2x2 capteurs réflectifs - vcnt202x2 ou autre )
+
**ex : avrdude -c usbasp -p t2313
**Liaison série #1 : ordre vitesse de croisière en translation et rotation
+
**ex : avrdude -c usbasp -p m328p
*Sorties :
+
 
**Commande moteur : rampe d'accélération jusque vitesse de croisière
+
*modification des fusibles pour choisir fréquence d'horloge:
***PWM Moteurs gauche et droite
+
**pour les atmega328p, dans le logiciel graver le bootloader
***Directions Moteurs gauche et drotie
+
**pour les attiny (utiliser '''arduino v1''' !! ) :
**Liaison série #1 : mesure/calcul position par odométrie
+
***installer attinycore : https://github.com/SpenceKonde/ATTinyCore/blob/v2.0.0-devThis-is-the-head-submit-PRs-against-this/Installation.md
**liaison série
+
***choisir le bon microcontroleur et la bonne source d'horloge
***vitesse 250000 bauds
+
***graver la séquence d'initialisation
***9 bits de données
+
**pour les atmega2560, attention il faut modifier les fusibles par rapport au bootloader arduino :
***1 octet envoyé : nombre signé
+
***dans un terminal
*Contraintes :
+
***avrdude -v -patmega2560 -cusbasp -e -Ulock:w:0x3F:m -Uefuse:w:0xFD:m -Uhfuse:w:0xD9:m -Ulfuse:w:0xFF:m
**connecteur molex 4 broches (+5v,gnd,tx,rx)
+
 
**un µcontrôleur {{Rouge|atTiny841}}
+
 
 +
 
  
=Ressources=
 
 
*http://raphael.candelier.fr/?blog=XL_320
 
*http://raphael.candelier.fr/?blog=XL_320

Version actuelle datée du 14 mai 2024 à 14:21

Modalités d'évaluation

1 soutenance

  • Vendredi 17/05 matin
    • 20 minutes de présentation
    • 10 minutes de questions
  • Présentation(introduction) de chaque "partie" en anglais

1 dossier

  • Analyse fonctionnelle
  • Nomenclature
  • Chiffrage
  • Etude détaillée de chaque fonction
  • Schémas électriques/algorithmes/simulations/courbes caractéristiques/fonctions de transfert ...

Démonstration(s)

  • Démonstration du fonctionnement le 12/05 à 12h
  • Participation au festival de robotique à Cachan

Note de résultat - Evaluation travaux de SAE

  • Groupe : accomplissement du projet
  • Individuelle : en fonction de
    • Difficulté technique
    • Quantité de travail
    • Qualité de la réalisation
    • Investissement : évalué chaque jour

Réalisation d'une vidéo

Vidéo à réaliser pour le concours EEA :

https://clubeea.com/concours-mon-projet-en-5-minutes/


Travail à réaliser

1ère partie (2 semaines à l'iut)

  • Travail individuel
  • Création d'une fonction :
    • Réalisation d'un prototype ( plaque lab, plaque pastillée, fils volants avec carte µ type arduino ...)
      • qui comporte un µcontrôleur
      • qui respecte un cahier des charges listant les e/s
      • finalisation du programme pour le vendredi 19/04
    • Réalisation d'une version "propre" sur KiCad
      • finalisation des pcbs pour le mercredi 17/04
  • Création d'un banc de test
    • à finaliser pour le lundi 13/05
    • qui permettra de valider :
      • les cartes utilisées ( ex : lidar, capteur de ligne ...)
      • simulera les entrées et vérifiera les valeurs des sorties
    • qui donnera des pistes pour réparer

2ème partie (1 semaine à l'iut)

  • Travail en binôme
  • Réalisation d'un robot répondant au cahier des charges de la coupe de robotique GEII pour les BUT2
    • Assemblage matériel : mécanique et électronique
    • Programmation carte traitement mission
  • Schéma synoptique de l'assemblage : synoptique

Les différentes fonctions

Balise émettrice - signaler la position de la destination

  • Entrées :
    • Choisir parmi 4 fréquences ( 12kHz 20kHz, 28kHz et 36kHz)
    • Choisir parmi 4 couleurs
    • Réseau électrique
  • Sorties :
    • Générer une lumière infrarouge
      • Leds infrarouge : SFH 4045N
      • Visible sur tout le terrain
      • Signal pulsé
    • Générer une lumière visible
      • dont la couleur sera adaptée à la caméra Pixy
      • visible au minimum à 3m
  • Contraintes :
    • dimensions maximales de la balise : cube de 20cm
    • utilisera un µcontrôleur attiny2313

Balise réceptrice - Repérer la destination par IR et magnétomètre

  • Entrées :
    • Lumière infrarouge
    • Entrée analogique réglable (potentiomètre)
    • IMU 9 axes mpu9250
  • Sorties :
    • Liaison série
      • vitesse 250000 bauds
      • 9 bits de données
      • 1 octet envoyé : nombre signé
      • valeur envoyée : angle de rotation pour être dans l'axe de la balise
  • Contraintes :
    • connecteur molex 4 broches (+5v,gnd,tx,rx)
    • un µcontrôleur atmega328p
    • le récepteur IR ne devra être sensible qu'à la fréquence sélectionnée par la balise
    • il faudra pouvoir régler la fréquence sur 12kHz, 20kHz, 28kHz ou 36kHz

Eviter les obstacles

  • Entrées : détection obstacle /mesure distance obstacle par plusieurs capteurs
    • Informations binaires : 4 présence obstacle TOR ( lidar pololu )
    • Bus I2c : 3 mesures de distances ( lidar VL53L1X )
  • Sorties :
    • liaison série
      • vitesse 250000 bauds
      • 8 bits de données
      • trames de 6 octets avec dans l'ordre
        • 1 octet pour début de trame : $
        • 1 octet capteurs tor (4 bits de poids faible)
        • 3 octets lidar : distance en cm (valeur max 255 !)
        • 1 octet pour fin de trame : *
  • Contraintes :
    • Choisir le nombre et le positionnement/orientation des capteurs
    • connecteur molex 4 broches (+5v,gnd,tx,rx)
    • un µcontrôleur atmega328p

Commander les moteurs

  • Entrées :
    • Alimentation 12V : puissance pour moteurs ( cartes cytron md13s)
    • Informations binaires :
      • Pulsation roues motrices ( 2x2 capteurs réflectifs - vcnt2020 ou autre )
    • Liaison série #1 : ordre vitesse de croisière en translation et rotation
      • vitesse 250000 bauds
      • 8 bits de données
      • 4 octets reçus
        • 1 octet de début de trame : $
        • 1 octet valeur de wr ( entre -100 et 100)
        • 1 octet valeur de Vt ( entre -100 et 100)
        • 1 octet de fin de trame : *
  • Sorties :
    • Commande moteur : rampe d'accélération jusque vitesse de croisière
      • PWM Moteurs gauche et droite
      • Directions Moteurs gauche et drotie
    • Liaison série #1 : mesure/calcul position par odométrie
    • liaison série
  • Contraintes :
    • connecteur molex 4 broches (+5v,gnd,tx,rx)
    • un µcontrôleur atTiny841

Centraliser/traiter les informations

  • Entrées : collecte d'informations/signaux brutes et pré-traitées
    • Alimentation par batterie 12V LiPo
    • Informations binaires :
      • Lancement de la mission du robot ( fils à tirer )
      • Détection ligne blanche au sol ( capteur CNY70 ou module QR1113 )
    • Liaison série #1 : carte balise réceptrice - repérage destination
      • indication direction destination/balise émettrice ( à gauche, à droite, en face - TOR ou proportionnelle )
    • Liaison série #2 : carte détection obstacle
      • Indication présence obstacle ( TOR et/ou distance )
      • Indication de position/direction de l'obstacle
    • Liaison série #3 : Module XBEE ( téléversement programme sans fils )
    • Liaison série #4 : carte commande moteurs Retour position
      • Position robot par odométrie, le cas échéant
    • Bus I2c : informations balise Emettrice en lumière visible via caméra Pixy
  • Sorties :
    • Indicateurs tension batterie : normale, faible, très faible
    • Affichage informations : LCD 2x16( application et/ou développement )
    • Liaison série #4 : commande moteurs
      • vitesse translation
      • vitesse rotation
    • PWM et TOR : perçage ballon
  • Contraintes :
    • un µcontrôleur atmega2560

Ressources

  • vérifier la "programmabilité" du µcontroleur :
    • dans un terminal
    • avrdude -c usbasp -p nomDuMicro
    • ex : avrdude -c usbasp -p t2313
    • ex : avrdude -c usbasp -p m328p
  • modification des fusibles pour choisir fréquence d'horloge: