Cours:InfoS2 tdRoueCodeuse : Différence entre versions
(Page créée avec « Cette partie sera simulée sur tinkercad. Vous trouverez sur le lien suivant le [https://www.tinkercad.com/things/hUxJEy8PWxE circuit tinkercad]. Fichier:Codeur increm... ») |
(→Travail à réaliser) |
||
(8 révisions intermédiaires par le même utilisateur non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
+ | [[Cours:CoursM2103|{{Rouge|<big>'''Fiche résumé'''</big>}}]] | ||
− | + | [[Cours:TPs_2103|{{Bleu|<big>'''Retour à la liste des Tps'''</big>}}]] | |
+ | [[Cours:InfoS2_tdRoueCodeuse_corrige|{{Vert|<big>'''Éléments de correction'''</big>}}]] | ||
+ | |||
+ | [[Cours:SimulIDE|{{Bleu|<big>'''simuler avec simulIDE'''</big>}}]] | ||
+ | |||
+ | =Principe du codeur incrémental= | ||
+ | La figure suivante représente un codeur incrémental : | ||
[[Fichier:Codeur incremental disque.gif]] | [[Fichier:Codeur incremental disque.gif]] | ||
− | + | L'observation des signaux permet de connaître : | |
+ | *le sens de rotation | ||
+ | *la vitesse de rotation | ||
+ | *calculer la position angulaire | ||
Vous pouvez consulter le lien suivant sur lequel une animation présente le fonctionnement : http://stephane.genouel.free.fr/FT/0%20Dossier%20technique/1%20Texte/RobotEricc_web2/co/module_Robot_Ericc_13.html | Vous pouvez consulter le lien suivant sur lequel une animation présente le fonctionnement : http://stephane.genouel.free.fr/FT/0%20Dossier%20technique/1%20Texte/RobotEricc_web2/co/module_Robot_Ericc_13.html | ||
Ligne 10 : | Ligne 20 : | ||
Le codeur utilisé n'a pas de top tour, seulement les 2 voies A et B. | Le codeur utilisé n'a pas de top tour, seulement les 2 voies A et B. | ||
+ | =Préparation de la simulation= | ||
+ | Nous allons simuler sur simulIde les signaux générés par un codeur incrémental. | ||
+ | #Télécharger les fichiers suivants: | ||
+ | #*[[Media:CodeurIncremental.hex]] | ||
+ | #*[[Media:Microc CodeurIncremental.sim1]] | ||
+ | #charger le programme de l'attiny13 : | ||
+ | #*clic droit sur le composant | ||
+ | #*charger le firmware | ||
+ | #*choisir le fichier CodeurIncremental.hex téléchargé précédemment | ||
+ | #définir l'atmega328 comme "Main cpu" : il doit y avoir un point jaune sur le composant | ||
+ | |||
+ | |||
+ | |||
+ | =Travail à réaliser= | ||
+ | [[Cours:Atmega328p#Interruption_externe |lien pour configurer les interruption INT0/INT1]] | ||
+ | |||
+ | Les signaux des 2 pistes du capteur sont connectées de la façon suivante : | ||
+ | *piste A => PD2 (INT0) | ||
+ | *piste B => PD4 | ||
+ | |||
+ | Nous utiliserons également 2 leds sur les broches PC0 et PC1 | ||
{{Question|Utilisez 2 leds pour visualiser le sens de rotation du moteur}} | {{Question|Utilisez 2 leds pour visualiser le sens de rotation du moteur}} | ||
Ligne 16 : | Ligne 47 : | ||
* au front montant sur l'une des voies | * au front montant sur l'une des voies | ||
* on regarde la valeur de l'autre voie | * on regarde la valeur de l'autre voie | ||
+ | |||
+ | {{Question|Améliorer la précision en utilisant à la fois le front montant et descendant}} | ||
{{Question|Modifier votre programme pour réaliser un compte tour, on affichera la valeur sur les leds.}} | {{Question|Modifier votre programme pour réaliser un compte tour, on affichera la valeur sur les leds.}} | ||
+ | Il y a 270 impulsions par tour de moteur |
Version actuelle datée du 15 février 2023 à 11:00
Principe du codeur incrémental
La figure suivante représente un codeur incrémental :
L'observation des signaux permet de connaître :
- le sens de rotation
- la vitesse de rotation
- calculer la position angulaire
Vous pouvez consulter le lien suivant sur lequel une animation présente le fonctionnement : http://stephane.genouel.free.fr/FT/0%20Dossier%20technique/1%20Texte/RobotEricc_web2/co/module_Robot_Ericc_13.html
Le codeur utilisé n'a pas de top tour, seulement les 2 voies A et B.
Préparation de la simulation
Nous allons simuler sur simulIde les signaux générés par un codeur incrémental.
- Télécharger les fichiers suivants:
- charger le programme de l'attiny13 :
- clic droit sur le composant
- charger le firmware
- choisir le fichier CodeurIncremental.hex téléchargé précédemment
- définir l'atmega328 comme "Main cpu" : il doit y avoir un point jaune sur le composant
Travail à réaliser
lien pour configurer les interruption INT0/INT1
Les signaux des 2 pistes du capteur sont connectées de la façon suivante :
- piste A => PD2 (INT0)
- piste B => PD4
Nous utiliserons également 2 leds sur les broches PC0 et PC1
Utilisez 2 leds pour visualiser le sens de rotation du moteur
Remarque : Le principe est assez simple
- au front montant sur l'une des voies
- on regarde la valeur de l'autre voie
Améliorer la précision en utilisant à la fois le front montant et descendant
Modifier votre programme pour réaliser un compte tour, on affichera la valeur sur les leds.
Il y a 270 impulsions par tour de moteur