Cours:InfoS2 tdRoueCodeuse : Différence entre versions
(→Travail à réaliser) |
|||
(3 révisions intermédiaires par le même utilisateur non affichées) | |||
Ligne 11 : | Ligne 11 : | ||
[[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 | ||
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= | =Préparation de la simulation= | ||
Ligne 31 : | Ligne 33 : | ||
+ | =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 37 : | 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