Académique Documents
Professionnel Documents
Culture Documents
Cours:TPS 2103 tp
regulationVitesse
Fiche
résumé
Retour à
la liste
des Tps
Éléments
de
correction
simuler avec simulIDE
Pensez à mettre sur la 1ère ligne de votre code :
// Compiler: Avrgcc device: nomDuMicrocontroleur
datasheet atmega328p
Sommaire
1 Contraintes
1.1 Commande moteur
1.2 Moteur
2 Travail à réaliser
2.1 Validation de la MLI
2.2 Mise en marche/arrêt
2.3 Asservissement de vitesse
2.3.1 Comptage par interruption
wikigeii.iut-troyes.univ-reims.fr/index.php?title=Cours:TPS_2103_tp_regulationVitesse 1/4
24/03/2023 10:26 Cours:TPS 2103 tp regulationVitesse — troyesGEII
Contraintes
Commande moteur
on utilisera un timer 16 bits pour contrôler la vitesse du moteur
utilisation du timer dans le mode 14 avec valeur max 0xffff (65535 ou 2^16-1)
la Fmli devra :
être la plus élevée possible
compatible avec la carte de puissance utilisée :
https://www.dfrobot.com/product-1567.html
Moteur
https://www.gotronic.fr/art-motoreducteur-mfa-970d161-12412.htm
Travail à réaliser
Validation de la MLI
(10 points) Ecrire un programme qui
génère une mli
dont on peut faire varier le rapport cylique avec le potentiomètre
1. etape 1 :
pas de potar
générer la mli
la visualiser à l'oscilloscope
2. etape 2
ajouter potentiomètre
il n'est pas nécessaire de faire varier le rapport cyclique de 0% à 100%
3. etape 3 : vous pouvez brancher le moteur
wikigeii.iut-troyes.univ-reims.fr/index.php?title=Cours:TPS_2103_tp_regulationVitesse 2/4
24/03/2023 10:26 Cours:TPS 2103 tp regulationVitesse — troyesGEII
Mise en marche/arrêt
(2 points) Ajouter la gestion marche/arrêt avec les 2 boutons poussoirs
Asservissement de vitesse
Comptage par interruption
On utilise des fourches optiques TCUT1300 (https://fr.farnell.com/vishay/tcut1300x01/capteur-trans
m-aec-q101-1-2v-cms/dp/2889654?st=TCUT1300X01) pour détecter la rotation de l'arbre moteur.
Il y a 8 dents sur la roue codeuse par tour.
On utilisera l'une des entrées INT0/INT1 pour réaliser le comptage de la roue codeuse.
//interruption qui incrémente un compteur à chaque front montant de la fourche optique
int main()
{
// configuration dont timer/interruption
while(1)
{
_delay_ms(10);
// ttes les 10ms on :
// regarde la valeur du compteur de la fourche optique
// augmente/diminue la vitesse si le compteur est sup/inf à 8
// remettre à 0 le compteur
}
}
Remarques :
en observant les fronts montants+descendants il y a 16 impulsions par tour, ce qui permet
d'augmenter la précision de la mesure de vitesse
on peut jouer sur la durée du delay
il faut rester dans les limites du compteur (8 bits)
on peut éventuellement observer le bit de débordement du timer
Récupérée de « http://wikigeii.iut-troyes.univ-reims.fr//index.php?
title=Cours:TPS_2103_tp_regulationVitesse&oldid=17780 »
wikigeii.iut-troyes.univ-reims.fr/index.php?title=Cours:TPS_2103_tp_regulationVitesse 4/4