Turinys:
- 1 žingsnis: pakartotinio šališkumo etapas
- 2 žingsnis: srovės jutiklis
- 3 žingsnis: Trans-laidumo stiprintuvas
- 4 žingsnis: prietaisų stiprintuvas
- 5 žingsnis: įvesties etapas ir kalibravimas
- 6 veiksmas: išplėstiniai dalykai: spektrinis nuotėkis (DC)
- 7 žingsnis: išplėstiniai dalykai: spektrinis nuotėkis (AC)
- 8 žingsnis: išplėstiniai dalykai: teorinis pelno koeficientas
- 9 veiksmas: išplėstiniai dalykai: PA poslinkis
Video: Biologinės varžos analizė (BIA) naudojant AD5933: 9 žingsnius
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:47
Man buvo įdomu sukurti bio impedanso analizatorių, skirtą kūno sudėjimo matavimams, ir atsitiktinių paieškų metu vis rasiu dizainą iš 2015 m. Biomedicinos instrumentų klasės Vanderbilto universitete. Aš dirbau su dizainu ir šiek tiek patobulinau. Norėčiau su jumis pasidalinti savo atradimais. Pasinaudokite tuo, ką galite naudoti iš šio „pasivaikščiojimo“, jei kažkas neaišku, pasiūlykite patobulinimų. Galbūt kada nors parašysiu savo mintis darnesniu pavidalu, bet kol kas tikiuosi, kad galėsite panaudoti viską, ką čia matote. (Jei manote, kad galite tai parašyti ir patobulinti, esate laukiami)
Meškiukas
Šį dizainą sudaro AD5933 lustas ir pasirinktinis analoginis priekinis galas (AFE), skirtas AD5933 sąsajai su korpusu. Tada AD5933 atlieka matavimą, o rezultatus galima apdoroti mikrovaldikliu (pvz., „Arduino“).
Jei planuojate naudoti „Arduino“kaip maitinimo šaltinį, įsitikinkite, kad veikimo ir prietaisų stiprintuvai (op-amp ir in-amper) palaiko vadinamąją „vieno maitinimo“įtampą ir turi specifikacijas nuo bėgio iki bėgio.
(Toliau naudosiu 5 V maitinimo šaltinį (iš „Arduino“) ir AD5933 1 diapazono nustatymą.)
1 žingsnis: pakartotinio šališkumo etapas
Pirmoji AFE dalis yra pakartotinio šališkumo etapas. Išėjimo įtampos signalas nėra centre maitinimo įtampos diapazono (VDD/2) viduryje. Tai ištaisoma naudojant kondensatorių, kuris blokuoja nuolatinę signalo dalį ir siunčia jį per įtampos skirstytuvą, kad į signalą būtų įtrauktas nuolatinės srovės poslinkis.
Du pakartotinio šališkumo rezistoriai gali būti bet kokios vertės, jei jie yra vienodi. Konkreti viršutinės ribos vertė taip pat nėra svarbi.
Pakartotinio poslinkio etapas veikia kaip aukšto dažnio filtras, todėl turi ribinį dažnį:
f_c = 1 / (2 * pi * (0,5 * R) * C)
Įsitikinkite, kad ribinis dažnis kelis dešimtmečius yra mažesnis už minimalų dažnį, kurį planuojate naudoti. Jei planuojate naudoti 1 kHz savo programoje, turėtumėte pasirinkti viršutines ir rezistorių vertes, kurios suteiks jums ribinį dažnį 1–10 Hz.
Paskutinė šio etapo dalis yra op-amp, nustatytas kaip įtampos sekėjas. Taip siekiama įsitikinti, kad rezistoriaus vertės netrukdo kitam etapui
2 žingsnis: srovės jutiklis
Pirmoji kito etapo dalis yra srovės jutiklis. Srovė per šį rezistorių bus ta pati, kurią stiprintuvas bandys išlaikyti per kūną. Įsitikinkite, kad srovė atitinka IEC6060-1 saugos standartus*:
Žemiau nei 1 kHz dažnius per kūną leidžiama ne daugiau kaip 10 mikroAmp (RMS). Kai dažnis viršija 1 kHz, ši lygtis pateikia didžiausią leistiną srovę:
Maksimali kintamosios srovės srovė <(minimalus dažnis kHz) * 10 mikroAmp (RMS)
Kintamosios srovės signalo didžiausios amplitudės ir jo RMS vertės santykis yra: Pikas = sqrt (2) * RMS. (10 mikroAmps RMS atitinka 14 mikroAmps piko amplitudę)
Naudodami rezistoriaus omų įstatymą, galime apskaičiuoti rezistoriaus vertę, kuri atitiks saugos standartą. Mes naudojame sužadinimo įtampą iš AD5933 ir maksimalią srovės vertę:
U = R * I => R = U / I
Pvz. naudojant 1 diapazono nustatymą Upeak = 3V / 2 = 1.5V (arba 1V @3.3V)
Naudodamas 14 mikroAmp smailės vertę iš viršaus, aš gaunu ne mažesnę kaip 107 kOhm rezistoriaus vertę
Nuorodos:
* Analoginiai įrenginiai: „Bio-impedanso grandinės dizainas kūno susidėvėjusioms sistemoms“
3 žingsnis: Trans-laidumo stiprintuvas
Po dabartinio jutiklio rezistoriaus yra neigiamo grįžtamojo ryšio konfigūracijos op-amp. Tai vadinamoji „Load-in-the-Loop“sąranka. Teigiamas įvesties gnybtas yra prijungtas prie VDD/2 įtampos. Dabar „op-amp“bandys sureguliuoti savo išėjimą priešinga žadinimo signalo kryptimi taip, kad įtampa neigiamame gnybte būtų lygi VDD/2. Tai sukels matymo potencialą, stumiantį ir traukiantį srovę per kūną.
Srovė, paimta iš neigiamo op-amp gnybto, praktiškai lygi nuliui. Todėl visa srovė per srovės jutiklį turi tekėti per kūną. Tai yra mechanizmas, dėl kurio ši sąranka tampa laidumo stiprintuvu (dar vadinamu įtampos valdomu srovės šaltiniu, VCCS).
„Op-amp“gali išlaikyti srovę tik tuo atveju, jei kūno varža nėra per didelė. Priešingu atveju maitinimo įtampa (0 arba 5 V) tiesiog padidės. Didžiausias įtampos diapazonas, kurį galima išlaikyti, yra VDD/2 + Upeak (2,5 + 1,5 V = 4 V @ 5 V maitinimas). Op-amp įtampos ribos turėtų būti atimtos iš šios vertės, tačiau jei op-amp turi specifikacijas nuo geležinkelio iki bėgio, tai būtų tik nedidelė suma. Todėl maksimali varža, kurią gali valdyti op-amp, yra:
Z <(VDD / 2 + Upeak) / Imax
(Mano sąrankoje Z <4V / 14 microAmps = 285 kOhms, noro užtenka kūno impedanso diapazonui padengti)
Apsauginis rezistorius turi labai didelę vertę (1–1,5 Mhm), palyginti su korpusu (maždaug 100 kOhm), ir atliekant visas įprastas operacijas, ši srovė neatims jokios pastebimos srovės, o lygiagrečios jungties varža priklauso nuo kūno varžos. Jei kūno varža turėtų padidėti (pvz., Trinkelės atsilaisvintų), srovė gali praeiti per rezistorių, o maksimalus išjungimas iš op-amp nesukeltų nemalonios įtampos pagalvėse.
4 žingsnis: prietaisų stiprintuvas
Kitas etapas yra prietaisų stiprintuvas (stiprintuvas), kuris matuoja įtampą visame kūne. Įtampa visame kūne svyruoja apie 0 V, tačiau AD5933 įvesties įtampa turi būti teigiama. Todėl stiprintuvas prie išmatuoto įtampos signalo prideda VDD/2 nuolatinės srovės poslinkį.
VDD/2 nuorodą generuoja įtampos skirstytuvas. Bet koks vertės rezistorius gali būti naudojamas tol, kol jie yra vienodi. Įtampos daliklis nuo likusios grandinės varžos yra atskirtas įtampos sekėju. Tada įtampos sekiklio išėjimas gali būti persiųstas tiek į stiprintuvą, tiek į laidumo stiprintuvą.
5 žingsnis: įvesties etapas ir kalibravimas
AD5933 įvesties etape yra neigiamo grįžtamojo ryšio konfigūracijos op-amp. Yra du rezistoriai: vienas nuosekliai (Rin) ir vienas lygiagrečiai (RFB). „Op-amp“padidėjimą suteikia
A = - RFB / Rin
Įvesties op-amp ir in-amp (ir PGA) pelnas turi užtikrinti, kad signalas, patenkantis į AD5933 ADC, visada būtų 0V ir VDD ribose.
(Aš naudoju vienybės stiprinimo stiprintuvo ir rezistoriaus vertes, kurios duos maždaug A = 0,5)
AD5933 viduje ADC įtampos signalą pavers į skaitmeninį signalą. Įtampos diapazonas nuo 0V iki VDD paverčiamas skaitmeniniu diapazonu 0-128 (2^7). (Dokumentacija šiuo klausimu nėra aiški, tačiau tai patvirtina kruopštus [1] sklypų tyrimas ir kai kurie eksperimentai.)
DFT modulio viduje yra dar vienas 256 mastelio keitimas (1024/4, žr. [1]), kol rezultatas išsaugomas realiame ir įsivaizduojamame registre.
Sekdami įtampos signalą per AFE, į ADC ir naudodamiesi anksčiau paminėtais skalės koeficientais, galima įvertinti tokį stiprinimo koeficientą:
g = (VDD * Rcurrent * Rin) / (256 * PGA * Upeak * RFB * 2^7)
vis tiek gali prireikti šiek tiek kalibruoti, todėl atsižvelkite į kai kuriuos efektus, kurie nėra šio matematinio modelio dalis, todėl išmatuokite tikrąją padidėjimo vertę matuojant žinomos varžos komponentus, pvz., rezistorius. (g = Z / mag, žr. žemiau)
Dabar varžą galima apskaičiuoti pagal
Z = g * mag
mag = sqrt (realus^2 + įsivaizduojamas^2)
PA = arctan2 (tikras, įsivaizduojamas) - deltaPA
PA tikriausiai reikia kalibruoti, taip pat yra sistemingas fazės poslinkis kaip dažnio funkcija AD5933. „deltaPA“greičiausiai bus tam tikra linijinė dažnio funkcija.
Atsparumą ir reaktyvumą dabar galima apskaičiuoti pagal
R = Z * cos (PA)
X = Z * sin (PA)
Nuorodos: [1] Leonidas Matsjevas, „Sistemų, pagrįstų vieno dažnio DFT detektoriais, tokiais kaip AD5933, našumo ir universalumo gerinimas“, „Electronics 2015“, 4, 1-34; doi: 10.3390/electronics4010001
6 veiksmas: išplėstiniai dalykai: spektrinis nuotėkis (DC)
Signalas, kurį įdėjome į AD5933, yra įtampa/srovė kaip laiko funkcija, tačiau pagrindinis mūsų interesas yra varža kaip dažnio funkcija. Norėdami konvertuoti laiko sritį į dažnio sritį, turime imtis laiko srities signalo Furjė transformacijos. AD5933 turi įmontuotą diskrečiojo Furjė transformacijos (DFT) modulį. Esant žemiems dažniams (mažesniems nei maždaug 10 kHz), DFT konstrukciją įtakoja slapstymasis ir spektrinis nuotėkis. [1] jis eina per matematiką, kaip ištaisyti spektrinį nuotėkį. Esmė yra apskaičiuoti penkias (plius dvi) konstantas kiekvienam dažnio žingsniui. Tai nesunkiai galima padaryti pvz. „Arduino“programinėje įrangoje.
Nuotėkis yra dviejų formų: nuolatinės srovės nuotėkis, kuris yra papildomo pobūdžio, ir kintamosios srovės nuotėkis, kurio pobūdis yra dauginamas.
Nuolatinės srovės nuotėkis atsiranda dėl to, kad įtampos signalas ADC svyruoja ne apie 0 V, o apie VDD/2. VDD/2 nuolatinės srovės lygis turėtų atitikti maždaug 64 skaitmeninį nuolatinės srovės rodmenį (žymimas delta [1]).
DC spektrinio nuotėkio ištaisymo veiksmai:
1) Apskaičiuokite dabartinio dažnio apvalkalo koeficientą E.
2) Apskaičiuokite du stiprinimo koeficientus GI (realus) ir GQ (įsivaizduojamas)
3) Atimkite delta * GI iš realaus registro vertės ir delta * GQ iš įsivaizduojamo registro vertės
Nuorodos:
[1] Leonidas Matsjevas, „Sistemų našumo ir universalumo gerinimas remiantis
Vieno dažnio DFT detektoriai, tokie kaip AD5933 , Electronics 2015, 4, 1-34; doi: 10.3390/electronics4010001
[2] Konrad Chabowski, Tomasz Piasecki, Andrzej Dzierka, Karol Nitsch, „Paprastas plataus dažnio diapazono varžos matuoklis, pagrįstas AD5933 integruota grandine“, Metrol. Matavimai. Syst., T. XXII (2015), Nr. 1, p. 13–24.
7 žingsnis: išplėstiniai dalykai: spektrinis nuotėkis (AC)
Kaip ir nuolatinės srovės nuotėkį, kintamosios srovės nuotėkį galima ištaisyti matematiškai. [1] pasipriešinimas ir reaktyvumas atitinkamai vadinami A*cos (phi) ir A*sin (phi), kur A atitinka varžos dydį, o phi - fazės kampą (PA).
Kintamosios srovės spektrinio nuotėkio ištaisymo veiksmai:
1) Apskaičiuokite dabartinio dažnio apvalkalo koeficientą E (jis nėra toks pat kaip DC).
2) Apskaičiuokite tris faktorius a, b ir d. (apytikslės vertės aukštesniais dažniais: a = d = 256 ir b = 0)
3) Atsparumą (Acos (phi)) ir reaktyvumą (Asin (phi)) dabar galima apskaičiuoti skaitmeniniais vienetais
Nuorodos: [1] Leonidas Matsjevas, „Sistemų, pagrįstų vieno dažnio DFT detektoriais, tokiais kaip AD5933, našumo ir universalumo gerinimas“, „Electronics 2015“, 4, 1-34; doi: 10.3390/electronics4010001
[2] Konrad Chabowski, Tomasz Piasecki, Andrzej Dzierka, Karol Nitsch, „Paprastas plataus dažnio diapazono varžos matuoklis, pagrįstas AD5933 integruota grandine“, Metrol. Matavimai. Syst., T. XXII (2015), Nr. 1, p. 13–24.
8 žingsnis: išplėstiniai dalykai: teorinis pelno koeficientas
Atsižvelgiant į matematinį DFT modeliavimą, taip pat turėtų būti įmanoma matematiškai modeliuoti visą AFE. Matematiškai įtampos signalą galima apibūdinti sinusine funkcija su tam tikru fiksuotu dažniu, nuolatinės srovės poslinkiu ir kintamosios srovės svyravimu, kurio didžiausia amplitudė. Dažnio pakopos metu dažnis nesikeičia. Kadangi stiprinimo koeficientas keičia tik impedanso dydį, o ne PA, čia mes nesirūpinsime jokiu signalo sukeltu fazės poslinkiu.
Čia yra trumpa įtampos signalo santrauka, sklindanti per AFE:
1) Po pakartotinio šališkumo etapo kintamosios srovės amplitudė vis dar yra viršūnė = 1,5 V (1 V @ VDD = 3,3 V), o nuolatinės srovės poslinkis pakeistas į VDD/2.
2) Srovės jutiklio rezistoriuje įtampa yra tokia pati kaip ankstesniame etape …
3) … bet dėl op-amp sūpynės įtampos kintamosios srovės virpesiai yra Z*Upeak/Rcurrent. (Nuolatinės srovės poslinkį panaikina VDD/2 atskaitos įtampa - apsisukimo posūkio taškas - ir tampa virtuelio įžeminimu šioje grandinės dalyje)
4) Vienybės stiprintuvas prideda VDD/2 nuolatinės srovės poslinkį atgal ir perduoda signalą į AD5933 įvesties pakopą
5) Įvesties etapo op-amp stiprinimas yra A = -RFB/Rin, todėl kintamosios srovės amplitudė tampa (Z*Upeak/Rcurrent)*(RFB/Rin)
6) Prieš pat ADC yra programuojamas stiprintuvas (PGA) su dviem nustatymais 1 arba 5. Taigi įtampos signalas ADC tampa: PGA*(Z*Upeak/Rcurrent)*(RFB/Rin)
ADC konvertuoja v (t) signalą į skaitmeninį signalą x (t) = u (t) / VDD * 2^7 su 12 bitų tikslumu.
A dydis yra prijungtas prie varžos Z stiprinimo koeficientu k, kaip A = k * Z ir apytikslė vertė yra k = PGA * Upeak * RFB * 2^7 / (VDD * Rcurrent * Rin).
Jei jums patinka dirbti su padidinimo faktoriu, vietoj to g = 1 / k ir Z = g * A.
9 veiksmas: išplėstiniai dalykai: PA poslinkis
[2] jie nustato sistemingą PA pasikeitimą kaip dažnio funkciją. Taip yra dėl laiko vėlavimo tarp DAC, kuriame generuojamas sužadinimo signalas, ir DFT, kai įeinantį signalą reikia sujungti su išeinančiu signalu.
Poslinkiui būdingas laikrodžio ciklų skaičius, kai signalas vėluoja tarp DAC ir DFT AD5933 viduje.
Nuorodos: [1] Leonidas Matsjevas, „Sistemų, pagrįstų vieno dažnio DFT detektoriais, tokiais kaip AD5933, našumo ir universalumo gerinimas“, „Electronics 2015“, 4, 1-34; doi: 10.3390/electronics4010001
[2] Konrad Chabowski, Tomasz Piasecki, Andrzej Dzierka, Karol Nitsch, „Paprastas plataus dažnio diapazono varžos matuoklis, pagrįstas AD5933 integruota grandine“, Metrol. Matavimai. Syst., T. XXII (2015), Nr. 1, p. 13–24.
Rekomenduojamas:
Paprastas nuolatinės srovės - nuolatinės srovės stiprinimo keitiklis naudojant 555: 4 žingsnius
Paprastas nuolatinės srovės - nuolatinės srovės stiprinimo keitiklis naudojant 555: dažnai grandinėje naudinga turėti aukštesnę įtampą. Pateikti „ +ve“ir „ve“bėgelius „op -amp“, vairuoti signalus ar net relę be papildomos baterijos. Tai paprastas 5V iki 12V nuolatinės srovės keitiklis, sukurtas naudojant 555 laikmatį
Dirvožemio drėgmės matavimas naudojant Raspberry Pi 4: 4 žingsnius
Dirvožemio drėgmės matavimas naudojant Raspberry Pi 4: Ar žinote, kaip dažnai laistyti augalus? Arba išliejo augalus ir juos pametė. Kad tai išspręstų, maniau, kad būtų daug svarbiau, jei mes nustatytume vandens kiekį dirvožemyje, kad galėtume priimti sprendimą dėl tinkamo augalų laistymo
Varžos matavimas naudojant „LTspice“: 4 žingsniai
Varžos matavimas naudojant „LTspice“: Sveiki visi, tai bus paprastas įvadas, kaip generuoti grandinės kintamosios srovės šlifavimą ir rasti varžą bet kuriuo metu, tai buvo keletą kartų mano kursuose ir man buvo labai sunku rasti kaip tai padaryti internete
Kaip padaryti liniją po roboto naudojant Rpi 3: 8 žingsnius
Kaip sukurti liniją sekantį robotą naudojant „Rpi 3“: Šioje pamokoje išmoksite sukurti liniją sekantį robotą klaidą, kad ji galėtų lengvai švilpti aplink takelį
TEMPERATŪROS IR Drėgmės matavimas naudojant DHT 11: 5 žingsnius
Temperatūros ir drėgmės matavimas naudojant DHT 11 (matavimas): 0,3 mACUR