Calculer la vitesse de rotation d’un moteur

Exercices

Un disque muni de 4 ergots métallique est monté solidairement sur une roue d’un petit véhicule. Chaque fois qu’un ergot passe devant le capteur DPI , une impulsion électrique (signal carré mis en forme par l’interface) est envoyée vers l’entrée A0 du microcontrôleur. Ce système permet au microcontrôleur de connaître la vitesse du véhicule. Le microcontrôleur peut moduler la puissance commutée au moteur en pilotant un « Hacheur » avec ses sorties B0 et B1.

Appeler la signification du sigle DPI ?

rep : Détecteur de Proximité Inductif

Quelle est, en point/tour , la résolution de ce codeur ? (disque)

Rep : 4 points/tour

On donne : Rayon R1 = 5cm (disque + ergot) .
Rayon R2 = 8cm (rayon de la roue au sol)
Réducteur k = 1/550
On effectue avec un tachymètre une mesure de la vitesse de rotation de la roue : 30tours/minute

Calculer la vitesse de déplacement du véhicule en m/s
VL =VitesseLinéaire = *R2 ( en rd/s et R2 en mètre )
(  = 30 * 2/60 ) , d’où VL = 30*2 * 0,08 / 60 = 0,251m/s. . VL = 0,251m/s

Calculer la vitesse de rotation du moteur (en tour/minute puis en rd/s )
m = 30*550 = 16500 tr/min ou encore m = 16500 * 2/60 = 1728 rd/s

Calculer la fréquence des impulsions générées par le capteur DPI.
Chaque fois que la roue fait 1 tour, 4 impulsions sont générées.
Si la roue fait 30t/min , on aura 30*4 = 120 impulsions par minute, soit 2 impulsions/ seconde (120/60). D’où F=2hz
(On peut aussi appliquer la formule F = R*N =4*30/60, avec F en hertz, R : résolution du codeur, N : Tr/s)

Pour connaître la vitesse de rotation de la roue, une solution possible est de compter le nombre d’impulsions reçues pendant 10 secondes et d’en déduire par calcul la vitesse. L’algorithme -que vous devez compléter (refaire sur feuille)- est le suivant :
(donner les formules des vitesses en fonction du rayon de la roue et variable compteur )
Do
Compteur = 0 ……. ‘ Initialisation du compteur
For t1=1 to n1 2 s ‘ temporisation
For t2 = 1 to 255 2 s ‘ Note : la variable compteur s’incrémente pendant la tempo
Next t2 1 s ‘ grâce à une routine d’interruption non décrite ici
Next t1 1 s
Vitesse_roue = compteur * 30/20 ( en tr/min)… ‘ A compléter (en tr/min)
Vitesse_vehicule = Vitesse_roue*2*R2 / 60 ‘ A compléter ( en m/s)
Loop
 Calculer la valeur de n1 pour avoir une temporisation de 10s (+/- 0.05s) . Indiquer le format de la variable n1 que vous choisirez (8 bits ou 16 bits)
La boucle interne dure 255*3s . on veut 10s au total : on en déduit n1 : n1=10s/255*3s
. n1= 10/0,000765 = 13071 . on a négligé le temps d’exécution des instructions boucle externe (l’erreur est de 13071 * 0,000003 = 0.039s inférieur à la marge de 0,05s demandé)
La variable n1 devra être de 16bits (2^16 = 65535 > 13071 )
-> Compléter les formules vitesse roue et vitesse véhicule.
On a vu plus haut que si la roue fait 30tr/min, cela génère 2 impulsions par seconde soit 20 impulsions en 10secondes. On en déduit par proportionnalité la formule générale :
30tr/min  20
Vitesse_roue  compteur
Vitesse_roue = compteur * 30 ( en tr/min)
On vérifie bien que pour compteur=20, on a vitesse = 30tr/min. Pour compteur=40, on a 60tr/min)
Pour le calcul de la vitesse du véhicule, on ramène la vitesse roue en rd/s et on multiplie par le rayon R2

Le microcontrôleur va agir sur le hacheur pour faire varier la vitesse du moteur . Le principe du hacheur est le suivant 

On donne Th = 100s et T=400s, Vcc=24V
 Calculer le rapport cyclique noté Rc
Rc = 100s/400s = ¼
En déduire la tension moyenne vue par le moteur
Vmoy = Vcc * Rc = 24/4 = 6V
 Pour une tension moyenne donnée, la vitesse du véhicule peut varier s’il doit gravir une pente, s’il est en charge …etc . Grâce au retour capteur, on a vu qu’il était possible de déterminer la vitesse réelle du véhicule. On souhaite maintenir la vitesse constante :
– Que doit faire le microcontrôleur si la vitesse diminue ? (comment doit varier Th ?) :
Rep : Il faut augmenter Th
– Que doit faire le microcontrôleur si la vitesse augmente ? (comment doit varier Th ?)
Rep : Il faut diminuer Th

– Compléter l’algorithme de régulation de vitesse ( encore appelé « asservissement de vitesse ») sachant que :
– PORTB.0 = 1 : T1 fermé
– PORTB.0 = 0 : T1 ouvert
On suppose qu’un sous programme d’interruption génère automatiquement, de façon cyclique toutes les 400s, les signaux carrés. Il faut simplement faire varier le temps th en modifiant la valeur du compteur Cth (Th proportionnel à Cth)
Do
Lire vitesse
Si vitesse>vitesse_souhaitee alors
Cth = Cth – 1 ‘ à compléter
Fin si
Si vitesse< Vitesse_souhaitee alors
Cth = Cth + 1 ‘ à Compléter
Fin si
Loop
Sous programme interruption (exécuté toutes les 400s )
PORTB = 1……… ‘ à compléter
FOR t= 1 to Cth
NEXT t
PORTB = 0…….. ‘ à compléter
Fin prg interruption

Cours gratuitTélécharger le document complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *