Correction
Exercices vacances noel CORRECTION. Exercices de .... For t2 = 1 to 255 2 ?s '
Note : la variable compteur s'incrémente pendant la tempo. Next t2 1 ?s ' grâce ...
Part of the document
Exercices de Vacances DECEMBRE - JANVIER TS SI
Exo n1
[pic]
1- Donner la valeur de V1 pour Ve = 5V puis Ve = 0V
Rep : Ve=5V ( V1=0V . Si Ve=0V ( V1=5V (nand montée en
inverseuse, alim 5V)
2- En déduire la valeur de Ve pour laquelle le transistor est saturé (c-a-
d passant)
Rep : Ve=0V ( V1=5V ( transistor saturé
3- Donner la relation liant Vcc, Vrc, Vled et Vce (loi des mailles) puis
calculer Rc
Vcc= Vrc + Vled + Vcesat
Vrc = Rc * Ic
D'où : Rc*Ic = Vcc- Vled - Vcesat ( Rc = (Vcc - Vled - Vcesat) / Ic
AN : Rc = ( 12 - 2 - 0,3 ) / 20.10-3 = 485mA
4- Calculer Ibsat ; en déduire Rb
Rep : Ibsat= Icsat/(min = 20.10-3 / 120 = 166(A (166.10-6 A)
Loi des mailles : V1 = Rb*Ibsat + Vbesat ( Rb = (V1 - Vbesat)/Ibsat =
(5-0,7)/ 166.10-6
Rb = 25,9k(
5- Afin d'être sûr de saturer le transistor , on applique à Ib un
coefficient de sursaturation k=1,5 . le nouvel Ib vaut donc Ib' =
k*Ibsat . En déduire la nouvelle valeur de Rb
Ib' = 1,5 * 166.10-6 = 249(A
le nouvel Rb vaut donc : Rb= (5-0,7)/249(A = 17,2 k(
6- Compléter le chronogramme ci-dessous . Indiquer si la led est allumée
ou éteinte :
[pic]
Exo n2
S1 S2 S3
[pic]
Donner les équations de S1 , S2 et S3
_ _ _ _ _ _ _ _ _ _
S1 = a .d + b.d S2 = b.c + a.b.c + a.c.d + a.b.d
Exo n3
Etude d'un comparateur à fenêtre
[pic]
1- Exprimer Vref1 en fonction de R1,R2,R3 et Vcc
Rep : Vref1 = (R1 + R2) * Vcc
R1 + R2 + R3
2- Exprimer Vref2 en fonction de R1,R2,R3 et Vcc
Vref2 = R1 * Vcc
R1 + R2 + R3
3- Sachant que Vcc = 12V et R1=R2=R3 = R , exprimer Vref1 et Vref2 en
fonction de Vcc
Rep : Vref1 = (R + R) * Vcc = 2 Vcc = 8V
R + R + R 3
Vref2 = R * Vcc = Vcc = 4V
R + R + R 3
4- Donner les tensions de sortie des AOP pour les cas suivants (faire
attention au fait que Ve est connecté à l'entrée «- » de l'AOP du haut
et « + » pour celui du bas )
Ve < Vref1 ( Vs1 = 12V Ve < Vref2 ( Vs2 = 0V .
Ve > Vref1 ( Vs1 = 0V Ve > Vref2 ( Vs2 = 12V.
5- Sachant que la structure diodes d1 + d2 + résistance R4 joue un rôle
de « ET » analogique, c-a-d Vs3 = Vs1.Vs2 (voir tableau de vérité),
donner la valeur de Vs3 pour les 3 cas suivants :
|Vs1|Vs2|Vs3 |
|0 |0 |0 |
|0 |Vcc|0 |
|Vcc|0 |0 |
|Vcc|Vcc|Vcc |
Ve < Vref2 : Vs3 = 0V
Vref2 < Ve < Vref1 : Vs3 = 12V
Ve > Vref1 : Vs3 = 0V.
[pic]
Exo n4
[pic]
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 .
1- Rappeler la signification du sigle DPI ?
rep : Détecteur de Proximité Inductif
2- 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
a- 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
b- 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
c- 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)
d- 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)
20
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
[pic]
e- M. Vergoz jeune programmeur en robotique, utilise une variable
« compteur » de 8bits . Est-ce suffisant ? Quelle est la vitesse maximale
du véhicule (en m/s) que pourra mesurer le microcontrôleur ?
2^8 -1 = 255 >20 . C'est donc suffisant ! La vitesse maximale mesurable
avec un compteur 8 bits sera donc :
Vitesse_roue = 255*30/20 = 382,5tr/min
Vitesse_vehicule = 382,5 * 2( *0,08/60 = 1,6 m/s
3- Le microcontrôleur va agir sur le hacheur pour faire varier la vitesse
du moteur . Le principe du hacheur est le suivant :
[pic][pic]
On donne Th = 100(s et T=400(s, Vcc=24V
a- Calculer le rapport cyclique noté Rc
Rc = 100(s/400(s = ¼
b- En déduire la tension moyenne vue par le moteur
Vmoy = Vcc * Rc = 24/4 = 6V
c- 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
4- Etude de l'interface d'adaptation
[pic]
a. Donner les processeurs (structures) correspondants aux 4
fonctions d'usages permettant d'adapter le signal capteur.
(Rep : Voir ci-dessus)
b. Fonction amplifier : Calculer le gain de l'amplificateur sachant
que R4=10k, R3=1k. La formule est donnée : G = V1/Vcap = (R4/R3
+ 1)
Rep : G = 10.103 / 1. 103 + 1 = 11. G= 11 (sans unité)
c. On donne : V1=4V , V2 = 1,6V (tension aux bornes de la diode
d1). Calculer la valeur de R1 pour limiter le courant IL dans la
diode infra-rouge à 30mA
Loi des mailles : V1 = R1*IL + V2 ( R1 = (V1 - V2) = 4 - 1,6 =
80 (
IL 30.10-3
d. En déduire Ic sachant que Ic/IL = 0,5
Rep : Ic = 0,5 * IL = 0,5 * 30.10-3 = 15.10-3 A = 15mA
e. Calculer la valeur de la résistance de rappel R2 . On prendra
Vcesat =0,4V .
Rep : Loi des mailles :
Vcc = R2*Ic + Vcesat ( R2 = Vcc - Vcesat = 5- 0,4 = 306(
Ic
15.10-3
f. Calculer la largeur du signal issu du monostable . (voir doc
technique du 4538) . On donne C=100nF et R=10k(
D'après doc du 4538 T = R*C = 100.10-9 * 10.10