Cours:SaeEvitementObstacles : Différence entre versions
(→Commander les moteurs) |
(→Ressources) |
||
(12 révisions intermédiaires par 2 utilisateurs non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
{{Cours:EvaluationSaeS4}} | {{Cours:EvaluationSaeS4}} | ||
+ | |||
+ | |||
=Travail à réaliser= | =Travail à réaliser= | ||
Ligne 26 : | 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 32 : | 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 63 : | Ligne 66 : | ||
**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 | **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 | + | **il faudra pouvoir régler la fréquence sur 12kHz, 20kHz, 28kHz ou 36kHz |
==Eviter les obstacles== | ==Eviter les obstacles== | ||
Ligne 74 : | Ligne 77 : | ||
***vitesse 250000 bauds | ***vitesse 250000 bauds | ||
***8 bits de données | ***8 bits de données | ||
− | ***trames de | + | ***trames de 6 octets avec dans l'ordre |
****1 octet pour début de trame : {{Rouge|$}} | ****1 octet pour début de trame : {{Rouge|$}} | ||
****1 octet capteurs tor (4 bits de poids faible) | ****1 octet capteurs tor (4 bits de poids faible) | ||
Ligne 135 : | Ligne 138 : | ||
=Ressources= | =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: | ||
+ | **pour les atmega328p, dans le logiciel graver le bootloader | ||
+ | **pour les attiny (utiliser '''arduino v1''' !! ) : | ||
+ | ***installer attinycore : https://github.com/SpenceKonde/ATTinyCore/blob/v2.0.0-devThis-is-the-head-submit-PRs-against-this/Installation.md | ||
+ | ***choisir le bon microcontroleur et la bonne source d'horloge | ||
+ | ***graver la séquence d'initialisation | ||
+ | **pour les atmega2560, attention il faut modifier les fusibles par rapport au bootloader arduino : | ||
+ | ***dans un terminal | ||
+ | ***avrdude -v -patmega2560 -cusbasp -e -Ulock:w:0x3F:m -Uefuse:w:0xFD:m -Uhfuse:w:0xD9:m -Ulfuse:w:0xFF:m | ||
+ | |||
+ | |||
+ | |||
+ | |||
*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
- Réalisation d'un prototype ( plaque lab, plaque pastillée, fils volants avec carte µ type arduino ...)
- 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
- Générer une lumière infrarouge
- 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
- Photodiode : SFH 2500 FA-Z
- Entrée analogique réglable (potentiomètre)
- IMU 9 axes mpu9250
- Lumière infrarouge
- 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
- Liaison série
- 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 : *
- liaison série
- 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
- Commande moteur : rampe d'accélération jusque vitesse de croisière
- 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:
- pour les atmega328p, dans le logiciel graver le bootloader
- pour les attiny (utiliser arduino v1 !! ) :
- installer attinycore : https://github.com/SpenceKonde/ATTinyCore/blob/v2.0.0-devThis-is-the-head-submit-PRs-against-this/Installation.md
- choisir le bon microcontroleur et la bonne source d'horloge
- graver la séquence d'initialisation
- pour les atmega2560, attention il faut modifier les fusibles par rapport au bootloader arduino :
- dans un terminal
- avrdude -v -patmega2560 -cusbasp -e -Ulock:w:0x3F:m -Uefuse:w:0xFD:m -Uhfuse:w:0xD9:m -Ulfuse:w:0xFF:m