Table des matières:
- Étape 1: L'étape de re-biais
- Étape 2: Résistance de détection de courant
- Étape 3: L'amplificateur de trans-conductance
- Étape 4: L'amplificateur d'instrumentation
- Étape 5: L'étape d'entrée et l'étalonnage
- Étape 6: Trucs avancés: Fuite spectrale (DC)
- Étape 7: Trucs avancés: Fuite spectrale (AC)
- Étape 8: Advanced Stuff: le facteur de gain théorique
- Étape 9: Trucs avancés: le PA Shift
Vidéo: Analyse de bio impédance (BIA) avec l'AD5933 : 9 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:07
J'ai été intéressé par la fabrication d'un analyseur d'impédance biologique pour les mesures de la composition corporelle et mes recherches aléatoires ont continué à trouver un design de la classe 2015 d'instrumentation biomédicale à l'Université Vanderbilt. J'ai travaillé sur le design et je l'ai légèrement amélioré. Je voudrais partager mes découvertes avec vous. Prenez ce que vous pouvez utiliser de cette "procédure pas à pas" si quelque chose n'est pas clair, veuillez suggérer des améliorations. Je pourrais un jour écrire ma pensée sous une forme plus cohérente, mais pour l'instant j'espère que vous pourrez utiliser tout ce que vous voyez ici. (Si vous pensez que vous pouvez écrire ceci et vous améliorer, vous êtes le bienvenu)
Nounours
Cette conception se compose de la puce AD5933 et d'un frontal analogique personnalisé (AFE) pour interfacer l'AD5933 avec le corps. L'AD5933 effectue ensuite la mesure et les résultats peuvent ensuite être traités par un microcontrôleur (par exemple un Arduino).
Si vous envisagez d'utiliser l'Arduino comme alimentation, assurez-vous que les amplificateurs opérationnels et d'instrumentation (amplificateurs opérationnels et amplificateurs intégrés) prennent en charge les tensions dites "d'alimentation unique" et ont des spécifications rail à rail.
(Dans ce qui suit, j'utiliserai une alimentation (à partir d'un Arduino) de 5V et le réglage Range 1 sur l'AD5933.)
Étape 1: L'étape de re-biais
La première partie de l'AFE est une étape de re-biais. Le signal de tension de sortie n'est pas centré au milieu de la plage de tension d'alimentation (VDD/2). Ceci est corrigé en utilisant un condensateur pour bloquer la partie CC du signal et en l'envoyant à travers un diviseur de tension pour ajouter un décalage CC dans le signal.
Les deux résistances de re-polarisation peuvent avoir n'importe quelle valeur tant qu'elles sont identiques. La valeur spécifique du plafond n'est pas non plus importante.
L'étage de re-bias fonctionne comme un filtre passe-haut et a donc une fréquence de coupure:
f_c = 1 / (2*pi * (0,5*R) * C)
Assurez-vous que la fréquence de coupure est de quelques décennies en dessous de la fréquence minimale que vous prévoyez d'utiliser. Si vous prévoyez d'utiliser 1 kHz dans votre application, vous devriez opter pour des valeurs de plafond et de résistance qui vous donneront une fréquence de coupure de l'ordre de 1 à 10 Hz.
La dernière partie de cette étape est un ampli-op configuré pour être un suiveur de tension. C'est pour s'assurer que les valeurs de résistance n'interfèrent pas avec l'étape suivante
Étape 2: Résistance de détection de courant
La première partie de l'étape suivante est la résistance de détection de courant. Le courant à travers cette résistance sera le même courant que l'amplificateur essaiera de maintenir à travers le corps. Assurez-vous que le courant est conforme aux normes de sécurité IEC6060-1*:
En dessous de fréquences de 1 kHz, un maximum de 10 microampères (RMS) est autorisé à travers le corps. Aux fréquences supérieures à 1 kHz, l'équation suivante donne le courant maximal autorisé:
Courant alternatif max < (fréquence minimale en kHz) * 10 microAmps (RMS)
La relation entre l'amplitude de crête d'un signal CA et sa valeur RMS est: Peak = sqrt(2) * RMS. (10 microAmps RMS correspondent à 14 microAmps d'amplitude de crête)
En utilisant la loi d'Ohm sur la résistance, nous pouvons calculer la valeur de résistance qui sera conforme à la norme de sécurité. Nous utilisons la tension d'excitation de l'AD5933 et la valeur de courant max:
U = R * I => R = U / I
Par exemple. en utilisant le réglage de la plage 1 Upeak = 3V / 2 = 1.5V (ou 1V @3.3V)
En utilisant la valeur de crête de 14 microampères ci-dessus, j'obtiens une valeur de résistance d'au moins 107 kOhms
Les références:
* Appareils analogiques: « Conception de circuits à bioimpédance pour les systèmes portés par le corps »
Étape 3: L'amplificateur de trans-conductance
Après la résistance de détection de courant, il y a un amplificateur opérationnel dans une configuration de rétroaction négative. Il s'agit d'une configuration dite Load-in-the-Loop. La borne d'entrée positive de l'ampli-op est connectée à une tension VDD/2. L'ampli-op va maintenant essayer d'ajuster sa sortie dans le sens opposé au signal d'excitation de telle sorte que la tension à la borne négative soit égale à VDD/2. Cela produira un potentiel de bascule poussant et tirant le courant à travers le corps.
Le courant tiré de la borne négative de l'ampli-op est pratiquement nul. Tout le courant traversant la résistance de détection de courant doit donc traverser le corps. C'est le mécanisme qui fait de cette configuration un amplificateur à transconductance (également appelé source de courant commandée en tension, VCCS).
L'ampli-op ne peut maintenir le courant que si l'impédance du corps n'est pas trop élevée. Sinon, la sortie de l'ampli-op serait juste au maximum à la tension d'alimentation (0 ou 5 V). La plage de tension maximale pouvant être maintenue est VDD/2 + Upeak (2,5+1,5V = 4V @ 5V d'alimentation). Les marges de tension de l'amplificateur opérationnel doivent être soustraites de cette valeur, mais si l'amplificateur opérationnel a des spécifications rail à rail, ce ne serait qu'une petite quantité. L'impédance maximale que l'ampli-op peut piloter est donc:
Z < (VDD/2 + Upeak) / Imax
(Dans ma configuration Z < 4V / 14 microAmps = 285 kOhms, le souhait est largement suffisant pour couvrir la plage d'impédance du corps)
La résistance de protection a une très grande valeur (1-1,5 MOhms) par rapport au corps (environ 100kOhms) et pour toutes les opérations normales, cela ne tirera aucun courant notable et l'impédance de la connexion parallèle est dominée par l'impédance du corps. Si l'impédance du corps devait augmenter (par exemple, des plaquettes se desserrant), le courant peut alors traverser la résistance et le maximum de l'amplificateur opérationnel ne créerait pas de tensions désagréables dans les plaquettes.
Étape 4: L'amplificateur d'instrumentation
L'étape suivante est l'amplificateur d'instrumentation (in-amp) qui mesure la tension à travers le corps. La tension à travers le corps oscille autour de 0V, mais l'AD5933 a besoin que la tension d'entrée soit dans une plage positive. L'in-amp ajoute donc un décalage CC de VDD/2 au signal de tension mesuré.
La référence VDD/2 est générée par un diviseur de tension. N'importe quelle résistance de valeur peut être utilisée tant qu'elles sont identiques. Le diviseur de tension est séparé de l'impédance du reste du circuit par un suiveur de tension. La sortie du suiveur de tension peut ensuite être transmise à la fois à l'amplificateur d'entrée et à l'amplificateur à trans-conductance.
Étape 5: L'étape d'entrée et l'étalonnage
L'étage d'entrée de l'AD5933 contient un amplificateur opérationnel en configuration de rétroaction négative. Il y a deux résistances: une en série (Rin) et une en parallèle (RFB). Le gain de l'ampli-op est donné par
A = - RFB / Rin
Les gains de l'ampli-op d'entrée et de l'ampli-in (et PGA) doivent s'assurer que le signal entrant dans l'ADC de l'AD5933 est toujours entre 0V et VDD.
(J'utilise un gain unitaire dans l'ampli et les valeurs de résistance qui donneront environ A = 0,5)
À l'intérieur de l'AD5933, l'ADC convertira le signal de tension en un signal numérique. La plage de tension de 0V à VDD est convertie en plage numérique 0-128 (2^7). (La documentation n'est pas claire à ce sujet mais un examen attentif des parcelles dans [1] et quelques expérimentations de ma part le confirment.)
A l'intérieur du module DFT, il y a une autre mise à l'échelle de 256 (1024/4, voir [1]) avant que le résultat ne soit enregistré dans les registres réel et imaginaire.
En suivant le signal de tension à travers l'AFE, dans l'ADC et en utilisant les facteurs d'échelle mentionnés précédemment, il est possible d'estimer que le facteur de gain est:
g = (VDD * Rcurrent * Rin) / (256 * PGA * Upeak * RFB * 2^7)
un étalonnage peut encore être nécessaire afin de tenir compte de certains effets ne faisant pas partie de ce modèle mathématique, veuillez donc mesurer la vraie valeur de gain en mesurant les composants d'impédance connue, comme les résistances. (g = Z / mag, voir ci-dessous)
L'impédance peut maintenant être calculée par
Z = g * mag
mag = sqrt(réel^2 + imaginaire^2)
PA = arctan2(réel, imaginaire) - deltaPA
Le PA a probablement besoin d'être calibré car il y a un déphasage systématique en fonction de la fréquence dans l'AD5933. deltaPA sera probablement une fonction linéaire de la fréquence.
La résistance et la réactance peuvent maintenant être calculées par
R = Z * cos(PA)
X = Z * sin(PA)
Références:[1] Leonid Matsiev, « Améliorer les performances et la polyvalence des systèmes basés sur des détecteurs DFT à fréquence unique tels que AD5933 », Electronics 2015, 4, 1-34; doi:10.3390/électronique4010001
Étape 6: Trucs avancés: Fuite spectrale (DC)
Le signal que nous mettons dans l'AD5933 est une tension/courant en fonction du temps, mais notre principal intérêt est l'impédance en tant que fonction de la fréquence. Pour convertir entre le domaine temporel et le domaine fréquentiel, nous devons prendre la transformée de Fourier du signal dans le domaine temporel. L'AD5933 dispose d'un module de transformée de Fourier discrète (DFT) intégré. Aux basses fréquences (inférieures à environ 10 kHz), l'intégration de la DFT est influencée par le repliement et les fuites spectrales. Dans [1], il passe en revue les mathématiques sur la façon de corriger la fuite spectrale. L'essence de ceci est de calculer cinq (plus deux) constantes pour chaque pas de fréquence dans le balayage. Cela peut être facilement fait, par ex. par l'Arduino dans le logiciel.
La fuite se présente sous deux formes: une fuite CC qui est de nature additive et une fuite CA qui est de nature multiplicative.
La fuite DC provient du fait que le signal de tension au CAN n'oscille pas autour de 0V mais autour de VDD/2. Un niveau CC de VDD/2 devrait correspondre à une lecture CC numérique d'environ 64 (désignée delta dans [1]).
Les étapes pour corriger la fuite spectrale DC:
1) Calculez le facteur d'enveloppe E pour la fréquence actuelle.
2) Calculer les deux facteurs de gain GI (réel) et GQ (imaginaire)
3) Soustraire delta * GI de la valeur du registre réel et delta * GQ de la valeur du registre imaginaire
Les références:
[1] Leonid Matsiev, « Améliorer les performances et la polyvalence des systèmes basés sur
Détecteurs DFT à fréquence unique tels que AD5933 , Electronics 2015, 4, 1-34; doi:10.3390/electronics4010001
[2] Konrad Chabowski, Tomasz Piasecki, Andrzej Dzierka, Karol Nitsch, "Impédancemètre simple à large bande de fréquence basé sur le circuit intégré AD5933", Metrol. Mes. Syst., Vol. XXII (2015), n° 1, pp. 13-24.
Étape 7: Trucs avancés: Fuite spectrale (AC)
Comme la fuite DC, la fuite AC peut être corrigée mathématiquement. Dans [1] la résistance et la réactance sont appelées respectivement A*cos(phi) et A*sin(phi), où A correspond à l'amplitude de l'impédance et phi correspond à l'angle de phase (PA).
Les étapes pour corriger la fuite spectrale AC:
1) Calculez le facteur d'enveloppe E (pas le même que pour DC) pour la fréquence actuelle.
2) Calculer les trois facteurs a, b et d. (valeurs approximatives à des fréquences plus élevées: a = d = 256 et b = 0)
3) La résistance (Acos(phi)) et la réactance (Asin(phi)) peuvent maintenant être calculées en unités numériques
Références:[1] Leonid Matsiev, « Améliorer les performances et la polyvalence des systèmes basés sur des détecteurs DFT à fréquence unique tels que AD5933 », Electronics 2015, 4, 1-34; doi:10.3390/électronique4010001
[2] Konrad Chabowski, Tomasz Piasecki, Andrzej Dzierka, Karol Nitsch, "Impédancemètre simple à large bande de fréquence basé sur le circuit intégré AD5933", Metrol. Mes. Syst., Vol. XXII (2015), n° 1, p. 13-24.
Étape 8: Advanced Stuff: le facteur de gain théorique
Compte tenu de la modélisation mathématique de la DFT, il devrait également être possible de modéliser mathématiquement l'ensemble de l'AFE. Mathématiquement, le signal de tension peut être décrit par une fonction sinusoïdale avec une fréquence fixe donnée, un décalage continu et une oscillation alternative avec une amplitude de crête. La fréquence ne change pas pendant un pas de fréquence. Comme le facteur de gain ne change que l'amplitude de l'impédance et non le PA, nous ne nous préoccuperons pas ici d'un éventuel déphasage induit sur le signal.
Voici un bref résumé du signal de tension tel qu'il se propage à travers l'AFE:
1) Après l'étape de re-polarisation, l'amplitude AC est toujours Upeak=1.5V (1V @ VDD=3.3V) et l'offcet DC a été changé en VDD/2.
2) Dans la résistance de détection de courant, la tension est toujours la même que celle de l'étage précédent…
3) … mais en raison de la tension de bascule de l'amplificateur opérationnel, les oscillations AC ont une taille de Z*Upeak/Rcurrent. (Le décalage CC est annulé par la tension de référence des amplificateurs opérationnels de VDD/2 - le point de pivot de la bascule - et devient une terre virtuelle dans cette partie du circuit)
4) L'unité d'amplification ajoute le décalage CC de VDD/2 et transmet le signal à l'étage d'entrée de l'AD5933
5) L'ampli-op dans l'étage d'entrée a un gain de A=-RFB/Rin et l'amplitude AC devient donc (Z*Upeak/Rcurrent)*(RFB/Rin)
6) Juste avant l'ADC il y a un amplificateur de gain programmable (PGA) avec deux réglages un gain de 1 ou 5. Le signal de tension à l'ADC devient donc: PGA*(Z*Upeak/Rcurrent)*(RFB/Rin)
L'ADC convertit le signal v(t) en un signal numérique x(t) = u(t) / VDD * 2^7 avec une précision de 12 bits.
L'amplitude A est reliée à l'impédance Z par le facteur de gain, k, comme A = k * Z et a une valeur approximative de k = PGA * Upeak * RFB * 2^7 / (VDD * Rcurrent * Rin).
Le si vous aimez travailler avec gain-faktor à la place g = 1 / k et Z = g * A.
Étape 9: Trucs avancés: le PA Shift
Dans [2] ils trouvent un décalage systématique de l'AP en fonction de la fréquence. Cela est dû à un délai entre le DAC où le signal d'excitation est généré et le DFT où le signal entrant doit être convolué avec le signal sortant.
Le décalage est caractérisé par le nombre de cycles d'horloge pendant lesquels le signal est retardé entre le DAC et le DFT en interne dans l'AD5933.
Références:[1] Leonid Matsiev, « Améliorer les performances et la polyvalence des systèmes basés sur des détecteurs DFT à fréquence unique tels que AD5933 », Electronics 2015, 4, 1-34; doi:10.3390/électronique4010001
[2] Konrad Chabowski, Tomasz Piasecki, Andrzej Dzierka, Karol Nitsch, "Impédancemètre simple à large bande de fréquence basé sur le circuit intégré AD5933", Metrol. Mes. Syst., Vol. XXII (2015), n° 1, p. 13-24.
Conseillé:
Impédance des composants à l'aide de mathématiques complexes : 6 étapes
Impédance des composants à l'aide de mathématiques complexes : Voici une application pratique d'équations mathématiques complexes. Il s'agit en fait d'une technique très utile que vous pouvez utiliser pour caractériser des composants, ou même une antenne, à des fréquences prédéterminées. Si vous avez bricolé de l'électronique, vous peut-être fam
Analyse de LTE Cat.M1 PSM (mode d'économie d'énergie): 4 étapes
Analyse du LTE Cat.M1 PSM (Mode d'économie d'énergie) : dans l'article précédent, nous avons expliqué comment définir le cycle Actif / Veille à l'aide du PSM. Veuillez vous reporter à l'article précédent pour obtenir des explications sur les paramètres matériels et PSM et la commande AT. (Lien : https://www.instructables.com/id/What-Is-a-PSMPow…Ac
Mesurer l'impédance à l'aide de LTspice : 4 étapes
Mesurer l'impédance à l'aide de LTspice : Hé tout le monde, cela va être une introduction simple à la génération d'un balayage CA d'un circuit et à la recherche de l'impédance à un moment donné, cela est revenu plusieurs fois dans mes cours et il m'a été très difficile d'en trouver façon de le faire en ligne donc
Analyse des sentiments Twitter avec Raspberry Pi : 3 étapes (avec photos)
Analyse des sentiments sur Twitter avec Raspberry Pi : qu'est-ce que l'analyse des sentiments et pourquoi s'en soucier ? L'analyse des sentiments est le processus qui consiste à déterminer le ton émotionnel d'une série de mots, utilisé pour comprendre les attitudes, les opinions et les émotions exprimées. au sein d'un
Analyse du système Bluetooth Windows - une approche SensorTag: 7 étapes (avec images)
Analyse du système Windows Bluetooth – une approche SensorTag : Dans ce qui suit, je vais faire une analyse du système d'exploitation (OS) Windows du point de vue de la communication avec les appareils Bluetooth Low Energy - dans notre cas avec différents types de SensorTags : Thunderboard React, Thunderboard Sense (b