Table des matières PDF

Mesure d'un flux magnétique

1. Introduction

On se propose de mesurer le flux magnétique dans une bobine en intégrant la force-électromotrice d'induction. Dans un premier temps, on mesurera le flux créé par un aimant permanent. La seconde expérience consistera à mesurer le flux créé par une autre bobine en régime sinuoïdal, ce qui permettra d'obtenir l'inductance mutuelle entre les deux bobines.

2. Matériel

3. Flux magnétique d'un aimant

3.a. Dispositif expérimental

Le dispositif comporte une bobine, un amplificateur inverseur de gain G = 10, et une carte d'acquisition. L'amplificateur est alimenté par l'alimentation -12/0/12 V disponible sur la carte. La résistance d'entrée de l'amplificateur est Re = 10.

bobine-aimant.svgFigure pleine page

L'amplificateur comporte un potentiomètre multitours, dont on tourne la vis pour annuler le décalage de tension en sortie.

L'expérience consiste à déplacer un aimant droit dans l'axe de la bobine tout en enregistrant la tension en sortie de l'amplificateur.

Définir le circuit fermé puis la force-électromotrice e(t). Énoncer la loi de Faraday.

Justifier que la tension en sortie de l'amplificateur est u(t)=-Ge(t).

Montrer que, si la position initiale de l'aimant est assez lointaine, on obtient le flux magnétique par intégration de u(t).

Pourquoi est-il nécessaire de bien annuler un éventuel décalage de tension ?

En réalité, le décalage de tension peut venir aussi bien de l'amplificateur que de l'étage d'entrée de la carte d'acquisition (qui comporte aussi un amplificateur). Le potentiomètre permet d'annuler ce décalage, dans la mesure où il reste constant au cours du temps.

3.b. Traitement du signal

Pour un déplacement manuel de l'aimant, le spectre du signal ne comporte pas de fréquences au delà de 100Hz. Le signal u(t) est échantillonné à 1000Hz. Un filtrage passe-bas numérique est appliqué au signal un, avant de réduire sa fréquence d'échantillonnage d'un facteur 5, ce qui amène la fréquence finale à 200Hz. Le filtre passe-bas est un fitre de convolution (filtre RIF) dont les coefficients seront calculés avec la fonction scipy.signal.firwin.

Quel est l'intérêt du sur-échantillonnage ?

Quelle doit être la fréquence de coupure du filtre passe-bas ?

Après réduction de la fréquence d'échantillonnage, on applique un filtre intégrateur, défini par la récurrence :

yn=yn-1+Te2(xn+xn-1)(1)

Le script python filtreIntegrateurSP5.py effectue l'acquisition et le traitement tout en traçant les deux signaux. La fenêtre graphique comporte :

  • Un curseur pour faire une correction logicielle du décalage (en plus de la correction par le potentiomètre).
  • Un curseur pour modifier le gain de l'intégrateur.
  • Un bouton pour remettre à zéro l'intégrateur, en cas de dérive trop grande.

Les paramètres à éventuellement modifier sont :

  • Umax : la valeur maximale de la tension u(t).
  • duree_totale : la durée (en secondes) de l'acquisition.
  • duree : la durée de la fenêtre du tracé.

À la fin de l'acquisition, les signaux sont enregistrés dans un fichier texte. Les trois tableaux enregistrés sont ceux du temps, du signal après réduction de l'échantillonnage et du signal après application du filtre intégrateur. Ce dernier ne prend pas en compte le gain réglé par l'utilisateur avec le curseur.

Par défaut, les coefficients bk du filtre intégrateur sont :

b0=b1=0.01(2)
Par quel coefficient faut-il multiplier le signal y pour obtenir le flux magnétique dans le système international d'unités ?

3.c. Mesures de flux

Faire une première acquisition pour régler le zéro, c'est-à-dire tourner le potentiomètre jusqu'à annulation de la tension. On ne doit pas observer de dérive du signal y sur une durée de l'ordre de la minute.

Pour chaque nouvelle acquisition, penser à changer le nom du fichier dans la commande numpy.savetxt.

Faire une acquisition avec des mouvements de l'aimant. Attention à ne pas dépasser la valeur Umax pour la tension u(t).

Vérifier que le flux magnétique reste constant lorsqu'on ne déplace plus l'aimant, et qu'il revient bien à zéro lorsqu'on l'éloigne.

Pour le calcul du flux magnétique, on pourra traiter les données enregistrées dans le fichier texte.

Mesurer le flux magnétique produit par l'aimant dans la bobine lorsque l'aimant se trouve à l'intérieur de la bobine, son pôle nord au milieu. Donner la valeur du flux avec une incertitude, en expliquant la méthode utilisée.

4. Flux et inductance mutuelle de deux bobines

4.a. Dispositif expérimental

On reprend le dispositif précédent pour la mesure du flux magnétique dans la bobine. Le champ magnétique est produit par une seconde bobine, placée de manière coaxiale à une distance d. Le circuit de cette bobine (appelé circuit primaire) comporte un générateur de signaux basse fréquence (GBF) et une résistance de 50Ω. La tension aux bornes de cette résistance permet d'accéder à l'intensité du courant; elle sera numérisée sur la voie EA1.

bobines.svgFigure pleine page

Le courant circulant dans la bobine primaire est sinusoïdal, avec une fréquence de l'ordre de 100Hz. L'auto-inductance de la bobine est de l'ordre du mH.

Expliquer pourquoi l'auto-inductance peut être négligée (dans les deux circuits).

Expliquer comment la mesure du courant i(t) dans le circuit primaire et de la tension u(t) en sortie de l'amplificateur permet d'obtenir l'inductance mutuelle M entre les deux bobines.

4.b. Traitement du signal

La numérisation des signaux sere faite avec le script suivant :

numerisation.py
# -*- coding: utf-8 -*-
import pycanum.main as pycan
import numpy
R=50.0 # résistance du cicuit primaire
#branchement EA0 : fem secondaire, EA1 : Ri primaire
sys=pycan.Sysam("SP5")
fe=5000.0 # fréquence d'échantillonnage
te=1.0/fe
N=10000
Umax = 10.0 # à réduire lorsque la fem diminue
sys.config_entrees([0,1],[Umax,10])
sys.config_echantillon(te*1e6,N)
sys.acquerir()
t = sys.temps()
u = sys.entrees()
temps = t[0]
fem = u[0]
i1 = u[1]/R
sys.fermer()
numpy.savetxt("mutuelle-1.txt",[temps,fem,i1])
              

Le calibre pour la voie EA1 est fixé à 10 V. Pour la voie EA0, on pourra l'abaisser lorsque la force électromotrice sera très faible.

Pour effectuer l'intégration numérique du signal uk, on utilise un filtre passe-bas défini par la récurrence

yn=ryn-1+Te2(xn+xn-1)(3)

Ce filtre a été étudié dans le TP Intégrateur numérique. Le coefficient r doit être strictement inférieur à 1 mais proche de 1.

Définir les coefficients an et bn de ce filtre puis tracer sa réponse fréquentielle (voir annexe).

Choisir le paramètre r assez proche de 1 pour que le signal sinusoïdal de 100Hz soit bien dans le domaine intégrateur.

4.c. Mesures de l'inductance mutuelle

Pour calculer l'inductance mutuelle, on utilisera la fonction numpy.std qui calcule l'écart-type d'une liste de valeurs, qui correspond à la valeur efficace du signal.

Compléter le script précédent pour faire l'intégration numérique, puis le calcul de l'inductance mutuelle dans le système international d'unités.

Tracer l'inductance mutuelle en fonction de la distance d, variable de 0 à 15cm

4.d. Amélioration de l'intégrateur

L'intégrateur précédent est très sensible à un décalage du signal d'entrée, bien qu'il ne présente pas la dérive de l'intégrateur parfait. Une amélioration est obtenue avec le filtre passe-bande suivant :

yn=2ryn-1-r2yn-2+Te2(xn-xn-2)(4)

Tracer sa réponse fréquentielle et ajuster le paramètre r pour qu'un signal sinusoïdal de 100Hz soit bien intégré.

Quel est l'avantage par rapport au filtre passe-bas utilisé précédemment ?

Le script python inductanceMutuelleTempsReel.py effectue ce filtrage tout en traçant les signaux en temps réel.

Exécuter ce script et observer le comportement du filtre lorsqu'on fait varier la fréquence ou l'amplitude du courant. Vérifier que le courant dans le circuit primaire est en phase avec le flux dans le circuit secondaire.

4.e. Annexe : réponse fréquentielle d'un filtre numérique

w,h=scipy.signal.freqz(b,a)

figure()
subplot(211)
plot(w/(2*numpy.pi),20*numpy.log10(numpy.absolute(h)))
xlabel("f/fe")
ylabel("GdB")
grid()
subplot(212)
plot(w/(2*numpy.pi),numpy.unwrap(numpy.angle(h)))
xlabel("f/fe")
ylabel("phase")
grid()
show()
                
Creative Commons LicenseTextes et figures sont mis à disposition sous contrat Creative Commons.