Cours:InfoS2 tdRoueCodeuse : Différence entre versions
(→Travail à réaliser) |
|||
(4 révisions intermédiaires par le même utilisateur non affichées) | |||
Ligne 7 : | Ligne 7 : | ||
[[Cours:SimulIDE|{{Bleu|<big>'''simuler avec simulIDE'''</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]] | ||
+ | |||
+ | 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. | Nous allons simuler sur simulIde les signaux générés par un codeur incrémental. | ||
#Télécharger les fichiers suivants: | #Télécharger les fichiers suivants: | ||
Ligne 18 : | Ligne 32 : | ||
− | |||
− | |||
− | |||
− | + | =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 32 : | 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