Aller au contenu

Un mot pour Fahmio

Tu écris. Tu continues.

Un problème, une idée — assez pour qu’on comprenne, puis tu retournes à ta copie.

On lit. Tu n’as rien d’autre à faire.

Où veux-tu aller ?

↑ ↓ pour parcourir · Entrée pour ouvrir · Échap pour fermer

Fahmio
Fahmio
Bac Tunisie
ELE-FÉlectronique numérique (mise en forme, comptage, conversion)

Positionnement numérique d'un moteur : la même fonction en solution câblée (compteur/décompteur, comparateur, multiplexeur) puis programmée

Idée directrice

Pour amener un moteur à une position choisie, on compte les impulsions d'un codeur dans un compteur/décompteur qui tient la position NpN_p, et un comparateur la confronte à la consigne NoN_o. Le comparateur décide de tout à la fois : le contacteur à exciter, le sens de comptage (U/D‾U/\overline{D}), et l'arrêt (horloge coupée, compteur bloqué quand A=BA=B). La même fonction se programme ensuite sur un PIC : l'interruption met NpN_p à jour, la boucle lit la consigne et décide.

Ce qui aide à reconnaître la démarche

« Compléter le circuit ci-contre par les liaisons assurant » ; « Fonctionnement du C.I 74LS168 (compte / décompte / bloqué) » ; « déterminer les équations de KM1 et KM2 en fonction de MA » ; « analyser le fonctionnement du circuit 74LS151 » ; « Déterminer les équations logiques des entrées UP et DOWN »

Besoin d’un point de départ ? Voir la méthode
  • Relever sur le chronogramme constructeur les niveaux de chaque mode et la nature du chargement (au front d'horloge ou immédiat).
  • Position : U/D‾=QA<BU/\overline{D}=Q_{A<B} (monter = compter), validation du compteur =QA=B=Q_{A=B} si elle est active à 0.
  • Horloge : ne la transmettre que si la table doit bouger, Y=MA⋅Cp⋅(QA>B+QA<B)Y=MA\cdot C_p\cdot(Q_{A>B}+Q_{A<B}) ; avec un multiplexeur, repérer l'adresse de chaque combinaison.
  • Contacteurs : KM1=MA⋅QA<BKM1=MA\cdot Q_{A<B}, KM2=MA⋅QA>BKM2=MA\cdot Q_{A>B}.
  • Programme : Np±1N_p\pm1 dans l'interruption selon le contacteur actif ; consigne = 10 × quartet fort + quartet faible ; affichage BCD = 16 × dizaines + unités.
Les pièges à vérifier dans ta démarche

Oublier que ENP‾\overline{\mathrm{ENP}} et ENT‾\overline{\mathrm{ENT}} sont actives au niveau bas (0 valide, 1 bloque) ; appliquer des horloges différentes aux deux 74LS168 d'une cascade synchrone ; chaîner les comparateurs du poids fort vers le poids faible ; laisser l'horloge passer quand Np=NoN_p=N_o ; compter deux fois chaque impulsion avec une interruption sur changement d'état ; lire la consigne du port D en binaire naturel (0x46 vaut 70, pas 46).

Sujet principal

Exercice long — table élévatrice : solution câblée puis solution programmée (4,5 points), dans l'esprit des sessions 2020–2025

1 questionFigure fournieCorrigé masqué

Une table élévatrice de poste de chargement est positionnée à une hauteur choisie de 0 à 99 cm. Un codeur délivre, après mise en forme, une impulsion CpC_p par centimètre de déplacement. La position courante NpN_p est tenue par un circuit de comptage/décomptage à deux 74LS168 (unités, dizaines ; modulo 100) ; la consigne NoN_o est affichée sur deux roues codeuses, SW2 (dizaines) et SW1 (unités), en BCD. Le contacteur KM1 fait monter la table, KM2 la fait descendre ; l'interrupteur MA met la carte en service. On admet qu'à la mise sous tension la table est en bas et Np=00N_p=00.

B.1 — Solution câblée. Le synoptique ci-dessous résume la carte. Les deux 74LS85 (comparateur logique 4 bits ; U5 unités, U6 dizaines) comparent A=NpA=N_p à B=NoB=N_o. Le multiplexeur 74LS151 (8 vers 1) délivre l'horloge YY du compteur : son entrée de validation E‾\overline{E} reçoit MA‾\overline{MA}, ses entrées de sélection sont C=QA>BC=Q_{A>B}, B=QA<BB=Q_{A<B}, A=CpA=C_p, et Y=XiY=X_i avec i=4C+2B+Ai=4C+2B+A lorsque E‾=0\overline{E}=0 (Y=0Y=0 lorsque E‾=1\overline{E}=1).

Le document constructeur du 74LS168 (compteur/décompteur synchrone décimal) donne le chronogramme suivant (DCBA=0011DCBA=0011).

1. D'après ce chronogramme, compléter le tableau des modes, puis dire si le chargement est synchrone ou asynchrone.

ModeLOAD‾\overline{\mathrm{LOAD}}ENP‾\overline{\mathrm{ENP}} = ENT‾\overline{\mathrm{ENT}}U/D‾U/\overline{D}CLK
Chargement…………
Compte…………
Bloqué…………
Décompte…………

2. Compléter les liaisons assurant : la désactivation du préchargement des deux 74LS168 ; leur mise en cascade synchrone ; la commande de U/D‾U/\overline{D} et de ENP‾\overline{\mathrm{ENP}}, ENT‾\overline{\mathrm{ENT}} (unités) par le comparateur ; la mise en cascade des deux 74LS85.

3. Compléter le tableau des entrées de données du 74LS151, puis écrire l'équation de YY en fonction de MA, CpC_p, QA>BQ_{A>B} et QA<BQ_{A<B}.

X0X_0X1X_1X2X_2X3X_3X4X_4X5X_5X6X_6X7X_7
……………………

4. Écrire les équations de KM1 et KM2 en fonction de MA, QA>BQ_{A>B} et QA<BQ_{A<B}.

5. Compléter le tableau de fonctionnement (MA = 1).

QA<BQ_{A<B}QA=BQ_{A=B}QA>BQ_{A>B}U/D‾U/\overline{D}ENT‾\overline{\mathrm{ENT}}·ENP‾\overline{\mathrm{ENP}}CompteurTable
Np<NoN_p<N_o…………………
Np=NoN_p=N_o…………………
Np>NoN_p>N_o…………………


La consigne est No=46N_o=46 et la table est à Np=52N_p=52 : quel contacteur est excité et combien d'impulsions CpC_p le compteur reçoit-il avant l'arrêt ?

B.2 — Solution programmée. La même fonction est confiée à un microcontrôleur 16F877A : MA sur RB1, CpC_p sur RB4 (interruption sur changement d'état de RB4 à RB7), KM1 sur RA0, KM2 sur RA1, roues codeuses sur le port D (SW2 sur les 4 bits de poids fort, SW1 sur les 4 bits de poids faible), afficheurs BCD de NpN_p sur le port C.

6. a. Compléter le programme MikroC.

// Déclaration des variables
sbit MA  at RB1_bit;
sbit Cp  at RB4_bit;
sbit KM1 at RA0_bit;
sbit KM2 at RA1_bit;
unsigned short Np, No, Diz, Uni;

void interrupt() {
  if (Cp && KM1) Np = ……… ;  // +1 cm
  if (Cp && KM2) Np = ……… ;  // -1 cm
  INTCON = 0x88;
}

void main() {
  ADCON1 = 0x06;     // port A numérique
  TRISA = ……… ;      // RA0, RA1 sorties
  TRISB = 0xFF;
  TRISC = ……… ;      // affichage de Np
  TRISD = ……… ;      // roues codeuses
  Np = 0;
  INTCON = 0x88;
  while (1) {
    Diz = PORTD / 16;
    Uni = ……… ;
    No  = ……… ;
    PORTC = 16*(Np/10) + Np%10;
    KM1 = ……… ;
    KM2 = ……… ;
  }
}

b. Justifier la valeur INTCON=0x88\text{INTCON}=0\text{x}88 (bit 7 : GIE, bit 3 : RBIE). Pourquoi l'interruption teste-t-elle CpC_p ?

c. Les roues codeuses affichent 46 et Np=52N_p=52 : calculer PORTD, Diz, Uni, No et la valeur écrite dans PORTC.

Voir la correction commentéeAprès avoir posé votre démarche

1. Idée : lire, sur le chronogramme, les niveaux présents au front de CLK où chaque mode apparaît.

ModeLOAD‾\overline{\mathrm{LOAD}}ENP‾\overline{\mathrm{ENP}} = ENT‾\overline{\mathrm{ENT}}U/D‾U/\overline{D}CLK
Chargement0XX↑
Compte101↑
Bloqué11XX
Décompte100↑


LOAD‾\overline{\mathrm{LOAD}} passe à 0 à la graduation 2,4 mais les sorties ne prennent la valeur 3 qu'au front montant de CLK de la graduation 3 : le chargement est synchrone. Pendant ce chargement, le chronogramme montre ENP‾=ENT‾=0\overline{\mathrm{ENP}}=\overline{\mathrm{ENT}}=0 et U/D‾=1U/\overline{D}=1 ; le 74LS168 fait primer LOAD‾\overline{\mathrm{LOAD}} sur la validation et le sens, d'où les X de cette ligne.

2. Idée : synchrone = une seule horloge ; les comparateurs se chaînent du poids faible vers le poids fort.

  • LOAD‾\overline{\mathrm{LOAD}} des deux 74LS168 → +5 V (préchargement désactivé) ;
  • CLK des deux circuits → YY ; RCO‾\overline{\mathrm{RCO}} des unités → ENP‾\overline{\mathrm{ENP}} et ENT‾\overline{\mathrm{ENT}} des dizaines ;
  • U/D‾U/\overline{D} des deux circuits → QA<BQ_{A<B} (comptage quand Np<NoN_p<N_o) ; ENP‾\overline{\mathrm{ENP}} et ENT‾\overline{\mathrm{ENT}} des unités → QA=BQ_{A=B} (blocage quand Np=NoN_p=N_o) ;
  • U5 : entrées de cascade A<B=0A<B=0, A=B=1A=B=1, A>B=0A>B=0 ; sorties de U5 → entrées de cascade de U6, qui délivre QA<BQ_{A<B}, QA=BQ_{A=B}, QA>BQ_{A>B}.

3. Idée : l'horloge ne doit passer que si la table doit bouger (une seule des deux sorties à 1) ; l'adresse est 4QA>B+2QA<B+Cp4Q_{A>B}+2Q_{A<B}+C_p. Adresse 3 (QA<B=1Q_{A<B}=1, Cp=1C_p=1) et adresse 5 (QA>B=1Q_{A>B}=1, Cp=1C_p=1) : X3=X5=1X_3=X_5=1 ; toutes les autres entrées à 0 (X6X_6 et X7X_7 correspondent à une combinaison impossible).

X0X_0X1X_1X2X_2X3X_3X4X_4X5X_5X6X_6X7X_7
00010100
Y=MA⋅Cp⋅(QA>B+QA<B)Y=MA\cdot C_p\cdot\left(Q_{A>B}+Q_{A<B}\right)

autrement dit Y=MA⋅Cp⋅QA=B‾Y=MA\cdot C_p\cdot\overline{Q_{A=B}} : l'horloge est coupée dès que la consigne est atteinte ou que la carte est hors service.

4. KM1=MA⋅QA<B\boxed{KM1=MA\cdot Q_{A<B}} (monter tant que Np<NoN_p<N_o) ; KM2=MA⋅QA>B\boxed{KM2=MA\cdot Q_{A>B}} (descendre tant que Np>NoN_p>N_o).

5.

QA<BQ_{A<B}QA=BQ_{A=B}QA>BQ_{A>B}U/D‾U/\overline{D}ENT‾\overline{\mathrm{ENT}}·ENP‾\overline{\mathrm{ENP}}CompteurTable
Np<NoN_p<N_o10010comptemonte (KM1)
Np=NoN_p=N_o010X1bloquéarrêt
Np>NoN_p>N_o00100décomptedescend (KM2)


Les entrées de validation sont actives au niveau bas : 0 valide, 1 bloque. Avec No=46N_o=46 et Np=52N_p=52 : QA>B=1Q_{A>B}=1, KM2 est excité, le compteur décompte 52→4652\to46 : 6\boxed{6} impulsions, puis QA=B=1Q_{A=B}=1 coupe YY et KM2.

6.a Idée : l'interruption ne fait que mettre à jour NpN_p ; la boucle lit la consigne, affiche et décide.

void interrupt() {
  if (Cp && KM1) Np = Np + 1;
  if (Cp && KM2) Np = Np - 1;
  INTCON = 0x88;
}
// dans main :
TRISA = 0xFC;   // RA0, RA1 en sorties
TRISC = 0x00;   // port C en sorties
TRISD = 0xFF;   // port D en entrées
// dans la boucle :
Uni = PORTD - 16*Diz;
No  = 10*Diz + Uni;
KM1 = MA && (Np < No);
KM2 = MA && (Np > No);

6.b 0x88=1000 10000\text{x}88=1000\,1000 : GIE = 1 (interruptions autorisées) et RBIE = 1 (changement d'état de RB4 à RB7). Le changement d'état déclenche l'interruption sur les deux fronts de CpC_p ; tester CpC_p ne compte que le front montant, une seule fois par impulsion. Réécrire INTCON efface l'indicateur RBIF.

6.c PORTD =0100 0110=0x46=70=0100\,0110=0\text{x}46=70 ; Diz=70/16=4\text{Diz}=70/16=4 (division entière), Uni=70−64=6\text{Uni}=70-64=6, No=46\text{No}=\boxed{46}. PORTC=16×5+2=82=0x52\text{PORTC}=16\times5+2=82=0\text{x}52, soit 0101 0010\boxed{0101\,0010} : les afficheurs BCD montrent 52.

Changer d’énoncé, garder le raisonnement

Choisis un seul transfert après le sujet principal. Qu’est-ce qui change ? Quel résultat ou quelle méthode peux-tu réutiliser ? Les autres exercices restent disponibles pour une prochaine séance.

Variantes rencontrées : 74LS168 en cascade synchrone, deux 74LS85 et multiplexeur 74LS151 générant l'horloge, équations de KM1 et KM2 en fonction de MA, QA>BQ_{A>B}, QA<BQ_{A<B} (contrôle 2025) ; 74193 piloté par UP et DOWN à travers des portes NON-ET, consigne 0 ou 12 choisie par un 74157 (principale 2020) ; compteurs de colonnes et de niveaux comparés à des switchers, puis programme MikroC avec interruption (contrôle 2024) ; écart de deux codeurs calculé par une UAL 74LS381 (principale 2024) ; 74193 borné entre deux paliers par ses entrées d'horloge (principale 2017).

Exercices d'entraînement — une nuance à la fois

1 Drill ELE-F.1 — compteur/décompteur 74193 piloté par deux portes NON-ET et consigne choisie par un multiplexeur 74157
Entraînement 01 / 03

Drill ELE-F.1 — compteur/décompteur 74193 piloté par deux portes NON-ET et consigne choisie par un multiplexeur 74157

1 questionCorrigé masqué

Le mandrin d'une bobineuse doit faire 9 tours dans le sens horaire (étape 23), puis revenir de 9 tours dans le sens antihoraire (étape 25). Un capteur délivre, après mise en forme, une impulsion CpC_p par tour, comptée par le circuit de comptage. Un 74193 (compteur/décompteur binaire) compte sur un front montant de UP quand DOWN est à 1, et décompte sur un front montant de DOWN quand UP est à 1. Ses entrées UP et DOWN sont les sorties de deux portes NON-ET à trois entrées.

Un 7485 (comparateur logique 4 bits) reçoit AcA_c (sorties du 74193) et BcB_c (sorties YY d'un quadruple multiplexeur 74157) : Ma=QA<BMa=Q_{A<B}, Mi=QA>BMi=Q_{A>B}. Le 74157 délivre Y=AY=A si A‾/B=0\overline{A}/B=0 et Y=BY=B si A‾/B=1\overline{A}/B=1 ; A‾/B=X23‾\overline{A}/B=\overline{X_{23}}.

1. Quelles valeurs appliquer aux entrées A et B du multiplexeur ?

2. Déterminer les équations logiques des entrées UP et DOWN en fonction de X23X_{23}, X25X_{25}, CpC_p, MaMa et MiMi.

3. Donner UP et DOWN pendant le comptage (X23=1X_{23}=1, X25=0X_{25}=0, Ma=1Ma=1, Mi=0Mi=0).

4. Expliquer pourquoi le compteur s'arrête seul à 9 pendant l'étape 23, puis à 0 pendant l'étape 25.

Voir la correction commentéeAprès avoir posé votre démarche

1. Pendant l'étape 23, A‾/B=0\overline{A}/B=0 : Y=AY=A, la cible du comptage, A=1001A=\boxed{1001} (9). Sinon Y=BY=B, la cible du retour, B=0000B=\boxed{0000}.

2. Idée : une horloge du 74193 inactive doit rester à 1 ; une NON-ET délivre 1 dès qu'une entrée est à 0.

UP=Cp⋅X23⋅Ma‾UP=\overline{C_p\cdot X_{23}\cdot Ma}
DOWN=Cp⋅X25⋅Mi‾DOWN=\overline{C_p\cdot X_{25}\cdot Mi}

3. UP=Cp‾UP=\overline{C_p} (les impulsions complémentées : un front montant à la fin de chaque impulsion) et DOWN=1DOWN=1.

4. Pendant l'étape 23, le compteur monte jusqu'à Ac=9=BcA_c=9=B_c : MaMa passe à 0, UP reste figée à 1, plus aucun front. Pendant l'étape 25, Bc=0B_c=0 et Ac=9A_c=9 : Mi=1Mi=1, le 74193 décompte jusqu'à 0, où Mi=0Mi=0 fige DOWN à 1. Dans les deux cas, A=BA=B signale la fin du mouvement.

2 Drill ELE-F.2 — synchroniser deux colonnes élévatrices : écart calculé par une UAL 74LS381 et comparé à un seuil
Entraînement 02 / 03

Drill ELE-F.2 — synchroniser deux colonnes élévatrices : écart calculé par une UAL 74LS381 et comparé à un seuil

1 questionCorrigé masqué

Une rampe est soulevée par deux colonnes, chacune entraînée par son moteur (Mt1, Mt2) et équipée d'un codeur qui délivre, après mise en forme, une impulsion tous les 5 mm, comptée par le circuit de comptage. Les positions N1N_1 et N2N_2 (compteurs binaires 4 bits) sont comparées par le comparateur logique 1 (A=N1A=N_1, B=N2B=N_2 ; sorties Q4Q_4 : A<B, Q5Q_5 : A=B, Q6Q_6 : A>B). Une UAL 74LS381 reçoit A=N1A=N_1, B=N2B=N_2 et CN=1C_N=1 :

S2S1S0S_2S_1S_0Opération (CN=1C_N=1)
0 0 1F=B−AF=B-A
0 1 0F=A−BF=A-B
0 1 1F=A+B+1F=A+B+1


Le comparateur 2 compare l'écart Ec=FE_c=F à Eref=0011E_{ref}=0011 (sorties Q1Q_1 : A<B, Q2Q_2 : A=B, Q3Q_3 : A>B). La colonne en avance s'arrête dès que Ec≥ErefE_c\ge E_{ref}.

1. Exprimer S2S_2, S1S_1, S0S_0 en fonction de Q4Q_4 pour que l'écart soit toujours positif.

2. Écrire les conditions d'arrêt de Mt1 et de Mt2.

3. Compléter le tableau.

N1N_1N2N_2S2S1S0S_2S_1S_0EcE_cQ1Q2Q3Q_1Q_2Q_3Mt1Mt2
79……………
128……………
58……………
66……………

4. À quel décalage réel, en millimètres, correspond ErefE_{ref} ?

Voir la correction commentéeAprès avoir posé votre démarche

1. Idée : soustraire le plus petit du plus grand, et c'est le comparateur 1 qui dit lequel. Si N1<N2N_1<N_2 (Q4=1Q_4=1) : B−AB-A, code 001 ; sinon : A−BA-B, code 010. D'où S2=0S_2=0, S1=Q4‾S_1=\overline{Q_4}, S0=Q4S_0=Q_4 (pour N1=N2N_1=N_2, A−B=0A-B=0).

2. Mt1 est en avance si N1>N2N_1>N_2 : arrêt de Mt1 =Q6⋅(Q2+Q3)=Q_6\cdot(Q_2+Q_3) ; arrêt de Mt2 =Q4⋅(Q2+Q3)=Q_4\cdot(Q_2+Q_3).

3.

N1N_1N2N_2S2S1S0S_2S_1S_0EcE_cQ1Q2Q3Q_1Q_2Q_3Mt1Mt2
790010010100marchemarche
1280100100001arrêtmarche
580010011010marchearrêt
660100000100marchemarche

4. 33 impulsions ×5 mm=15 mm\times5\ \text{mm}=\boxed{15\ \text{mm}}.

3 Drill ELE-F.3 — compteur/décompteur 74193 borné entre 1 et 8 par ses entrées d'horloge : vitesse limite par paliers
Entraînement 03 / 03

Drill ELE-F.3 — compteur/décompteur 74193 borné entre 1 et 8 par ses entrées d'horloge : vitesse limite par paliers

1 questionCorrigé masqué

Sur un fauteuil roulant électrique, l'utilisateur choisit la vitesse limite par paliers avec deux boutons : S1S_1 (+) et S2S_2 (−). Dans le circuit de comptage, un 74193 (binaire) mémorise le palier NN de 1 à 8 : Vlim=N×0,6 km/hV_{lim}=N\times0{,}6\ \text{km/h}. Chaque bouton, relié à une résistance de tirage, est à 1 au repos et à 0 pendant l'appui. Le 74193 compte sur un front montant de CPUP quand CPDOWN est à 1, décompte sur un front montant de CPDOWN quand CPUP est à 1 ; son entrée LOAD‾\overline{\mathrm{LOAD}} (chargement asynchrone de D C B A) est active au niveau bas.

1. Une fois le compteur à 8=(1000)28=(1000)_2, les appuis sur S1S_1 doivent rester sans effet. Écrire l'équation de CPUP en fonction de S1S_1 et QDQ_D.

2. À 1=(0001)21=(0001)_2, les appuis sur S2S_2 doivent rester sans effet. Écrire l'équation de CPDOWN.

3. À la mise en marche (bouton M/A), le palier doit être 1. Préciser les liaisons de LOAD‾\overline{\mathrm{LOAD}} et de D C B A.

4. Calculer VlimV_{lim} au palier 5 et la vitesse limite maximale.

Voir la correction commentéeAprès avoir posé votre démarche

1. Idée : pour bloquer une horloge du 74193, on la fige à son niveau de repos 1. De 1 à 7, QD=0Q_D=0 ; à 8, QD=1Q_D=1 :

CPUP=S1+QDCPUP=S_1+Q_D

À 8, CPUP reste à 1 quels que soient les appuis, ce qui laisse aussi le décomptage possible (il exige CPUP = 1). Un ET du type S1⋅QD‾S_1\cdot\overline{Q_D} figerait CPUP à 0 et interdirait ensuite de redescendre.

2. Entre 1 et 8, 1 est le seul état où QD=QC=QB=0Q_D=Q_C=Q_B=0 :

CPDOWN=S2+QD‾ QC‾ QB‾CPDOWN=S_2+\overline{Q_D}\,\overline{Q_C}\,\overline{Q_B}

3. DCBA=0001DCBA=0001 ; LOAD‾\overline{\mathrm{LOAD}} reliée au bouton M/A monté vers la masse avec sa résistance de tirage : l'appui charge 1 aussitôt.

4. Vlim=5×0,6=3,0 km/hV_{lim}=5\times0{,}6=\boxed{3{,}0\ \text{km/h}} ; au palier 8 : 8×0,6=4,8 km/h8\times0{,}6=\boxed{4{,}8\ \text{km/h}}.

Relier ce raisonnement au bac

Choisis une filière pour voir les sujets qui étayent ce scénario.