Daftar Isi:

Analisis Impedansi Bio (BIA) Dengan AD5933: 9 Langkah
Analisis Impedansi Bio (BIA) Dengan AD5933: 9 Langkah

Video: Analisis Impedansi Bio (BIA) Dengan AD5933: 9 Langkah

Video: Analisis Impedansi Bio (BIA) Dengan AD5933: 9 Langkah
Video: NIC 39a: How does Bioelectrical Impedance Analysis work? 2024, November
Anonim

Saya tertarik untuk membuat Bio Impedance Analyzer untuk pengukuran komposisi tubuh dan pencarian acak saya terus menemukan desain dari kelas Instrumentasi Biomedis 2015 di Vanderbilt University. Saya telah mengerjakan desain dan sedikit meningkatkannya. Saya ingin berbagi temuan saya dengan Anda. Ambil apa yang dapat Anda gunakan dari "panduan" ini jika ada sesuatu yang tidak jelas, harap sarankan perbaikan. Suatu hari nanti saya mungkin menulis pemikiran saya dalam bentuk yang lebih kohesif, tetapi untuk saat ini saya harap Anda dapat menggunakan apa pun yang Anda lihat di sini. (Jika Anda pikir Anda dapat menulis ini dan meningkatkan, Anda dipersilakan)

Teddy

Desain ini terdiri dari chip AD5933 dan front-end analog kustom (AFE) untuk menghubungkan AD5933 dengan bodi. AD5933 kemudian melakukan pengukuran dan hasilnya kemudian dapat diproses oleh mikrokontroler (misalnya Arduino).

Jika Anda berencana menggunakan Arduino sebagai catu daya, pastikan bahwa penguat operasional dan instrumentasi (op-amp dan dalam-amp) mendukung apa yang disebut tegangan "suplai tunggal" dan memiliki spesifikasi rel-ke-rel.

(Berikut ini saya akan menggunakan catu daya (dari Arduino) 5V dan pengaturan Range 1 pada AD5933.)

Langkah 1: Tahap Re-bias

Bagian pertama dari AFE adalah tahap re-bias. Sinyal tegangan keluaran tidak terpusat di tengah rentang tegangan suplai (VDD/2). Ini diperbaiki dengan menggunakan kapasitor untuk memblokir bagian DC dari sinyal dan mengirimkannya melalui pembagi tegangan untuk menambahkan offset DC kembali ke sinyal.

Kedua resistor bias ulang dapat bernilai berapa pun selama keduanya sama. Nilai spesifik dari tutupnya juga tidak penting.

Tahap re-bias bekerja seperti filter lolos tinggi dan oleh karena itu memiliki frekuensi cutoff:

f_c = 1 / (2*pi * (0,5*R) * C)

Pastikan frekuensi cutoff beberapa dekade di bawah frekuensi minimum yang Anda rencanakan untuk digunakan. Jika Anda berencana menggunakan 1kHz dalam aplikasi Anda, Anda harus menggunakan nilai caps dan resistor yang akan memberi Anda frekuensi cutoff pada urutan 1-10 Hz.

Bagian terakhir dari tahap ini adalah op-amp yang diatur untuk menjadi pengikut tegangan. Ini untuk memastikan bahwa nilai resistor tidak mengganggu tahap selanjutnya

Langkah 2: Resistor Penginderaan Saat Ini

Resistor Penginderaan Saat Ini
Resistor Penginderaan Saat Ini

Bagian pertama dari tahap selanjutnya adalah resistor penginderaan arus. Arus yang melalui resistor ini akan menjadi arus yang sama yang akan coba dipertahankan oleh penguat melalui tubuh. Pastikan arus sesuai dengan standar keselamatan IEC6060-1*:

Di bawah frekuensi 1 kHz, maksimum 10 microAmps (RMS) diizinkan melalui tubuh. Pada frekuensi di atas 1kHz persamaan berikut memberikan arus maksimum yang diizinkan:

Arus AC maks < (frekuensi minimum dalam kHz) * 10 microAmps(RMS)

Hubungan antara amplitudo puncak sinyal AC dan nilai RMS-nya adalah: Peak = sqrt(2) * RMS. (10 microAmps RMS sesuai dengan 14 amplitudo puncak microAmps)

Dengan menggunakan Hukum Ohm pada resistor kita dapat menghitung nilai resistor yang memenuhi standar keamanan. Kami menggunakan tegangan eksitasi dari AD5933 dan nilai arus maks:

U = R * I => R = U / I

Misalnya. menggunakan pengaturan Range 1 Upeak = 3V / 2 = 1.5V (atau 1V @3.3V)

Menggunakan nilai puncak 14 microAmp dari atas saya mendapatkan nilai resistor minimal 107kOhms

Referensi:

* Perangkat Analog: "Desain Sirkuit Bio-Impedansi untuk Sistem yang Dikenakan Tubuh"

Langkah 3: Penguat Trans-konduktansi

Penguat Trans-konduktansi
Penguat Trans-konduktansi

Setelah resistor penginderaan arus ada op-amp dalam konfigurasi umpan balik negatif. Ini adalah apa yang disebut pengaturan Load-in-the-Loop. Terminal input positif op-amp dihubungkan ke tegangan VDD/2. Op-amp sekarang akan mencoba menyesuaikan outputnya dalam arah yang berlawanan dengan sinyal eksitasi sehingga tegangan pada terminal negatif akan sama dengan VDD/2. Ini akan menghasilkan potensi jungkat-jungkit mendorong dan menarik arus melalui tubuh.

Arus yang ditarik dari terminal negatif op-amp hampir nol. Semua arus melalui resistor penginderaan arus karena itu harus mengalir melalui tubuh. Ini adalah mekanisme yang membuat pengaturan ini menjadi penguat trans-konduktansi (juga disebut sumber arus yang dikendalikan tegangan, VCCS).

Op-amp hanya dapat mempertahankan arus jika impedansi bodi tidak terlalu tinggi. Jika tidak, output op-amp hanya akan maksimal pada tegangan suplai (0 atau 5 V). Rentang tegangan maksimum yang dapat dipertahankan adalah VDD/2 + Upeak (2.5+1.5V = 4V @ 5V supply). Margin tegangan op-amp harus dikurangi dari nilai ini, tetapi jika op-amp memiliki spesifikasi rail-to-rail itu hanya akan menjadi jumlah yang kecil. Impedansi maksimum yang dapat digerakkan oleh op-amp adalah:

Z < (VDD/2 + Upeak) / Imax

(Dalam pengaturan saya Z <4V / 14 microAmps = 285 kOhm, keinginannya cukup untuk menutupi rentang impedansi bodi)

Resistor pelindung memiliki nilai yang sangat besar (1-1,5 MOhm) dibandingkan dengan bodi (kira-kira 100kOhm) dan untuk semua operasi normal ini tidak akan menarik arus yang nyata dan impedansi koneksi paralel didominasi oleh impedansi bodi. Jika impedansi badan harus naik (misalnya bantalan lepas) arus kemudian dapat melewati resistor dan memaksimalkan op-amp tidak akan membuat tegangan yang tidak menyenangkan di bantalan.

Langkah 4: Penguat Instrumentasi

Penguat Instrumentasi
Penguat Instrumentasi

Tahap selanjutnya adalah penguat instrumentasi (in-amp) yang mengukur tegangan di seluruh tubuh. Tegangan di seluruh tubuh berosilasi sekitar 0V, tetapi AD5933 membutuhkan tegangan input berada dalam kisaran positif. Oleh karena itu, in-amp menambahkan offset DC VDD/2 ke sinyal tegangan terukur.

Referensi VDD/2 dihasilkan oleh pembagi tegangan. Nilai resistor apa pun dapat digunakan asalkan nilainya sama. Pembagi tegangan dipisahkan dari impedansi sisa rangkaian oleh pengikut tegangan. Output dari pengikut tegangan kemudian dapat diteruskan ke penguat in-amp dan trans-konduktansi.

Langkah 5: Tahap Input dan Kalibrasi

Tahap Input dan Kalibrasi
Tahap Input dan Kalibrasi
Tahap Input dan Kalibrasi
Tahap Input dan Kalibrasi

Tahap input AD5933 berisi op-amp dalam konfigurasi umpan balik negatif. Ada dua resistor: satu seri (Rin) dan satu paralel (RFB). Gain dari op-amp diberikan oleh

A = - RFB / Rin

Keuntungan dari input op-amp dan in-amp (dan PGA) perlu memastikan bahwa sinyal yang masuk ke ADC dari AD5933 selalu dalam 0V dan VDD.

(Saya menggunakan nilai gain in-amp dan resistor yang akan memberikan kira-kira A = 0,5)

Di dalam AD5933, ADC akan mengubah sinyal tegangan menjadi sinyal digital. Rentang tegangan dari 0V ke VDD diubah menjadi rentang digital 0-128 (2^7). (Dokumentasi tidak jelas tentang ini tetapi pemeriksaan dekat plot di [1] dan beberapa eksperimen di pihak saya mengkonfirmasi hal ini.)

Di dalam modul DFT ada penskalaan lagi 256 (1024/4, lihat [1]) sebelum hasilnya disimpan dalam register real dan imajiner.

Dengan mengikuti sinyal tegangan melalui AFE, ke ADC dan menggunakan faktor skala yang disebutkan sebelumnya, dimungkinkan untuk memperkirakan faktor penguatan menjadi:

g = (VDD * Rcurrent * Rin) / (256 * PGA * Upeak * RFB * 2^7)

beberapa kalibrasi mungkin masih diperlukan sehingga memperhitungkan beberapa efek yang bukan bagian dari model matematika ini, jadi harap ukur nilai penguatan yang sebenarnya dengan mengukur komponen yang diketahui impedansinya, seperti resistor. (g = Z / mag, lihat di bawah)

Impedansi sekarang dapat dihitung dengan

Z = g * mag

mag = kuadrat(nyata^2 + imajiner^2)

PA = arctan2(nyata, imajiner) - deltaPA

PA mungkin perlu dikalibrasi serta ada pergeseran fasa sistematis sebagai fungsi frekuensi di AD5933. deltaPA mungkin akan menjadi beberapa fungsi linier frekuensi.

Resistansi dan reaktansi sekarang dapat dihitung dengan

R = Z * cos(PA)

X = Z * sin(PA)

Referensi:[1] Leonid Matsiev, "Meningkatkan Kinerja dan Keserbagunaan Sistem Berdasarkan Detektor DFT Frekuensi Tunggal Seperti AD5933", Elektronik 2015, 4, 1-34; doi: 10.3390/elektronik4010001

Langkah 6: Barang Lanjutan: Kebocoran Spektral (DC)

Sinyal yang kami masukkan ke dalam AD5933 adalah tegangan/arus sebagai fungsi waktu, tetapi yang menjadi perhatian utama kami adalah impedansi sebagai fungsi frekuensi. Untuk mengkonversi antara domain waktu dan domain frekuensi kita perlu mengambil transformasi Fourier dari sinyal domain waktu. AD5933 memiliki modul transformasi Fourier diskrit (DFT) bawaan. Pada frekuensi rendah (di bawah kira-kira 10 kHz) build di DFT dipengaruhi oleh kebocoran aliasing dan spektral. Dalam [1] ia membahas matematika tentang bagaimana memperbaiki kebocoran spektral. Inti dari ini adalah menghitung lima (ditambah dua) konstanta untuk setiap langkah frekuensi dalam sapuan. Ini dapat dengan mudah dilakukan mis. oleh Arduino dalam perangkat lunak.

Kebocoran ada dua bentuk: kebocoran DC yang bersifat aditif dan kebocoran AC yang bersifat multiplikasi.

Kebocoran DC berasal dari fakta bahwa sinyal tegangan pada ADC tidak berosilasi sekitar 0V tetapi sekitar VDD/2. Level DC VDD/2 harus sesuai dengan pembacaan DC digital kira-kira 64 (delta yang ditentukan dalam [1]).

Langkah-langkah untuk memperbaiki kebocoran spektral DC:

1) Hitung faktor Amplop E untuk frekuensi arus.

2) Hitung dua faktor keuntungan GI (nyata) dan GQ (imajiner)

3) Kurangi delta * GI dari nilai register nyata dan delta * GQ dari nilai register imajiner

Referensi:

[1] Leonid Matsiev, "Meningkatkan Kinerja dan Keserbagunaan Sistem Berdasarkan

Detektor DFT Frekuensi Tunggal Seperti AD5933 , Electronics 2015, 4, 1-34; doi:10.3390/electronics4010001

[2] Konrad Chabowski, Tomasz Piasecki, Andrzej Dzierka, Karol Nitsch, "Pengukur Impedansi Rentang Frekuensi Lebar Sederhana Berdasarkan Sirkuit Terpadu AD5933", Metrol. Meas. Sistem, Vol. XXII (2015), No. 1, hlm. 13–24.

Langkah 7: Barang Lanjutan: Kebocoran Spektral (AC)

Seperti kebocoran DC, kebocoran AC dapat diperbaiki secara matematis. Dalam [1] resistansi dan reaktansi masing-masing disebut A*cos(phi) dan A*sin(phi), di mana A sesuai dengan besarnya impedansi dan phi sesuai dengan sudut fasa (PA).

Langkah-langkah untuk memperbaiki kebocoran spektral AC:

1) Hitung faktor Amplop E (tidak sama dengan DC) untuk frekuensi arus.

2) Hitung tiga faktor a, b, dan d. (nilai perkiraan pada frekuensi yang lebih tinggi: a = d = 256 dan b = 0)

3) Resistansi (Acos(phi)) dan reaktansi (Asin(phi)) sekarang dapat dihitung dalam satuan digital

Referensi:[1] Leonid Matsiev, "Meningkatkan Kinerja dan Keserbagunaan Sistem Berdasarkan Detektor DFT Frekuensi Tunggal Seperti AD5933", Elektronik 2015, 4, 1-34; doi: 10.3390/elektronik4010001

[2] Konrad Chabowski, Tomasz Piasecki, Andrzej Dzierka, Karol Nitsch, "Pengukur Impedansi Rentang Frekuensi Lebar Sederhana Berdasarkan Sirkuit Terpadu AD5933", Metrol. Meas. Sistem, Vol. XXII (2015), No. 1, hlm. 13–24.

Langkah 8: Hal Lanjutan: Faktor Keuntungan Teoretis

Mengingat pemodelan matematis DFT, seharusnya juga dimungkinkan untuk memodelkan seluruh AFE secara matematis. Secara matematis sinyal tegangan dapat digambarkan dengan fungsi sinus dengan frekuensi tetap yang diberikan, offset DC dan osilasi AC dengan amplitudo puncak. Frekuensi tidak berubah selama langkah frekuensi. Karena faktor penguatan hanya mengubah besarnya impedansi dan bukan PA, kami di sini tidak akan peduli dengan pergeseran fasa apa pun yang diinduksi pada sinyal.

Berikut adalah ringkasan singkat dari sinyal tegangan saat merambat melalui AFE:

1) Setelah tahap bias ulang, amplitudo AC masih Upeak=1.5V (1V @ VDD=3.3V) dan DC offcet telah diubah menjadi VDD/2.

2) Pada resistor penginderaan arus tegangannya masih sama dengan tahap sebelumnya …

3) … tetapi karena tegangan jungkat-jungkit dari op-amp, osilasi AC memiliki ukuran Z*Upeak/Rcurrent. (Offset DC dibatalkan oleh tegangan referensi op-amp VDD/2 - titik pivot jungkat-jungkit - dan menjadi tanah kebajikan di bagian rangkaian ini)

4) Unit in-amp menambahkan offset DC VDD/2 kembali dan meneruskan sinyal ke tahap input AD5933

5) Op-amp pada tahap input memiliki penguatan A=-RFB/Rin dan oleh karena itu amplitudo AC menjadi (Z*Upeak/Rcurrent)*(RFB/Rin)

6) Tepat sebelum ADC terdapat programmable gain amplifier (PGA) dengan dua pengaturan gain 1 atau 5. Oleh karena itu, sinyal tegangan pada ADC menjadi: PGA*(Z*Upeak/Rcurrent)*(RFB/Rin)

ADC mengubah sinyal v(t) menjadi sinyal digital x(t) = u(t) / VDD * 2^7 dengan akurasi 12 bit.

Besarnya A dihubungkan ke impedansi Z oleh faktor penguatan, k, sebagai A = k * Z dan memiliki nilai perkiraan k = PGA * Upeak * RFB * 2^7 / (VDD * Rcurrent * Rin).

Jika Anda ingin bekerja dengan gain-faktor bukan g = 1 / k dan Z = g * A.

Langkah 9: Hal Lanjutan: Pergeseran PA

Dalam [2] mereka menemukan pergeseran sistematis dalam PA sebagai fungsi frekuensi. Hal ini disebabkan adanya jeda waktu antara DAC dimana sinyal eksitasi dibangkitkan dan DFT dimana sinyal masuk perlu dibelokkan dengan sinyal keluar.

Pergeseran ini ditandai dengan jumlah clock-siklus sinyal penundaan antara DAC dan DFT internal di AD5933 tersebut.

Referensi:[1] Leonid Matsiev, "Meningkatkan Kinerja dan Keserbagunaan Sistem Berdasarkan Detektor DFT Frekuensi Tunggal Seperti AD5933", Elektronik 2015, 4, 1-34; doi: 10.3390/elektronik4010001

[2] Konrad Chabowski, Tomasz Piasecki, Andrzej Dzierka, Karol Nitsch, "Pengukur Impedansi Rentang Frekuensi Lebar Sederhana Berdasarkan Sirkuit Terpadu AD5933", Metrol. Meas. Sistem, Vol. XXII (2015), No. 1, hlm. 13–24.

Direkomendasikan: