สารบัญ:

การวิเคราะห์ความต้านทานทางชีวภาพ (BIA) ด้วย AD5933: 9 ขั้นตอน
การวิเคราะห์ความต้านทานทางชีวภาพ (BIA) ด้วย AD5933: 9 ขั้นตอน

วีดีโอ: การวิเคราะห์ความต้านทานทางชีวภาพ (BIA) ด้วย AD5933: 9 ขั้นตอน

วีดีโอ: การวิเคราะห์ความต้านทานทางชีวภาพ (BIA) ด้วย AD5933: 9 ขั้นตอน
วีดีโอ: วัดองค์ประกอบของร่างกาย Body Composition ด้วยวิธี BIA (Bioelectrical Impedance Analysis) 2024, พฤศจิกายน
Anonim

ฉันสนใจที่จะสร้างเครื่องวิเคราะห์อิมพีแดนซ์ชีวภาพสำหรับการวัดองค์ประกอบของร่างกาย และการค้นหาแบบสุ่มของฉันยังคงค้นหาการออกแบบจากคลาสเครื่องมือวัดทางชีวการแพทย์ปี 2015 ที่มหาวิทยาลัยแวนเดอร์บิลต์ ฉันได้ทำงานผ่านการออกแบบและปรับปรุงเล็กน้อย ฉันต้องการแบ่งปันการค้นพบของฉันกับคุณ ใช้สิ่งที่คุณสามารถใช้ได้จาก "บทช่วยสอน" นี้ หากมีอะไรไม่ชัดเจน โปรดแนะนำการปรับปรุง สักวันหนึ่งฉันอาจจะเขียนความคิดของฉันในรูปแบบที่เหนียวแน่นมากขึ้น แต่ตอนนี้ฉันหวังว่าคุณสามารถใช้สิ่งที่คุณเห็นที่นี่ (ถ้าคุณคิดว่าสามารถเขียนและปรับปรุงสิ่งนี้ได้ ยินดีต้อนรับ)

เท็ดดี้

การออกแบบนี้ประกอบด้วยชิป AD5933 และส่วนหน้าแบบอะนาล็อกแบบกำหนดเอง (AFE) เพื่อเชื่อมต่อ AD5933 กับตัวเครื่อง จากนั้น AD5933 จะทำการวัด จากนั้นไมโครคอนโทรลเลอร์สามารถประมวลผลผลลัพธ์ได้ (เช่น Arduino)

หากคุณวางแผนที่จะใช้ Arduino เป็นแหล่งจ่ายไฟ ตรวจสอบให้แน่ใจว่าแอมพลิฟายเออร์การทำงานและเครื่องมือวัด (op-amps และ in-amps) รองรับแรงดันไฟฟ้าที่เรียกว่า "แหล่งจ่ายเดียว" และมีข้อกำหนดเฉพาะแบบรางต่อราง

(ต่อไปนี้ฉันจะใช้แหล่งจ่ายไฟ (จาก Arduino) 5V และการตั้งค่าช่วง 1 บน AD5933)

ขั้นตอนที่ 1: เวทีอคติซ้ำ

ส่วนแรกของ AFE คือระยะอคติใหม่ สัญญาณแรงดันไฟขาออกไม่อยู่ตรงกลางของช่วงแรงดันไฟฟ้าของแหล่งจ่าย (VDD/2) สิ่งนี้แก้ไขได้โดยใช้ตัวเก็บประจุเพื่อบล็อกส่วน DC ของสัญญาณและส่งผ่านตัวแยกแรงดันไฟฟ้าเพื่อเพิ่ม DC offset กลับเข้าไปในสัญญาณ

ตัวต้านทานไบแอสสองตัวสามารถเป็นค่าใดๆ ก็ได้ ตราบใดที่มีค่าเท่ากัน ค่าเฉพาะของฝาก็ไม่สำคัญเช่นกัน

ขั้นตอนอคติใหม่ทำงานเหมือนฟิลเตอร์กรองความถี่สูง ดังนั้นจึงมีความถี่คัทออฟ:

f_c = 1 / (2*pi * (0.5*R) * C)

ตรวจสอบให้แน่ใจว่าความถี่ตัดผ่านต่ำกว่าความถี่ขั้นต่ำที่คุณวางแผนจะใช้สองสามทศวรรษ หากคุณวางแผนที่จะใช้ 1kHz ในแอปพลิเคชันของคุณ คุณควรเลือกค่าแคปและตัวต้านทานที่จะให้ความถี่คัทออฟตามลำดับ 1-10 Hz

ส่วนสุดท้ายของสเตจนี้คือ op-amp ที่ตั้งค่าให้เป็นตัวติดตามแรงดันไฟ เพื่อให้แน่ใจว่าค่าความต้านทานไม่รบกวนขั้นตอนถัดไป

ขั้นตอนที่ 2: ตัวต้านทานการตรวจจับปัจจุบัน

ตัวต้านทานการตรวจจับปัจจุบัน
ตัวต้านทานการตรวจจับปัจจุบัน

ส่วนแรกของขั้นตอนต่อไปคือตัวต้านทานการตรวจจับกระแส กระแสที่ผ่านตัวต้านทานนี้จะเป็นกระแสเดียวกับที่แอมพลิฟายเออร์จะพยายามรักษาไว้ผ่านร่างกาย ตรวจสอบให้แน่ใจว่ากระแสไฟฟ้าเป็นไปตามมาตรฐานความปลอดภัย IEC6060-1*:

ต่ำกว่าความถี่ 1 kHz สูงสุด 10 microAmps (RMS) ที่ได้รับอนุญาตผ่านร่างกาย ที่ความถี่สูงกว่า 1kHz สมการต่อไปนี้จะให้กระแสสูงสุดที่อนุญาต:

กระแสไฟ AC สูงสุด < (ความถี่ต่ำสุดในหน่วย kHz) * 10 microAmps(RMS)

ความสัมพันธ์ระหว่างความกว้างสูงสุดของสัญญาณ AC และค่า RMS คือ: Peak = sqrt(2) * RMS (10 microAmps RMS สอดคล้องกับ 14 microAmps peak amplitude)

การใช้กฎของโอห์มกับตัวต้านทาน เราสามารถคำนวณค่าตัวต้านทานที่จะเป็นไปตามมาตรฐานความปลอดภัย เราใช้แรงดันกระตุ้นจาก AD5933 และค่ากระแสสูงสุด:

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

เช่น. โดยใช้การตั้งค่า Range 1 Upeak = 3V / 2 = 1.5V (หรือ 1V @3.3V)

การใช้ค่าสูงสุด 14 microAmp จากด้านบน ฉันได้ค่าความต้านทานอย่างน้อย 107kOhms

ข้อมูลอ้างอิง:

* อุปกรณ์แอนะล็อก: "การออกแบบวงจรอิมพีแดนซ์ชีวภาพสำหรับระบบที่สึกหรอตามร่างกาย"

ขั้นตอนที่ 3: แอมพลิฟายเออร์ทรานส์คอนดักเตอร์

แอมพลิฟายเออร์ทรานส์คอนดักเตอร์
แอมพลิฟายเออร์ทรานส์คอนดักเตอร์

หลังจากตัวต้านทานการตรวจจับปัจจุบันมี op-amp ในการกำหนดค่าตอบรับเชิงลบ นี่คือการตั้งค่า Load-in-the-Loop ที่เรียกว่า ขั้วอินพุตบวกของ op-amp เชื่อมต่อกับแรงดันไฟฟ้า VDD/2 ตอนนี้ op-amp จะพยายามปรับเอาท์พุตในทิศทางตรงกันข้ามกับสัญญาณกระตุ้น เพื่อให้แรงดันไฟฟ้าที่ขั้วลบจะเท่ากับ VDD/2 สิ่งนี้จะทำให้เกิดศักยภาพในการผลักและดึงกระแสผ่านร่างกาย

กระแสที่ดึงออกมาจากขั้วลบของ op-amp นั้นแทบจะเป็นศูนย์ กระแสทั้งหมดผ่านตัวต้านทานการตรวจจับกระแสจึงต้องไหลผ่านร่างกาย นี่คือกลไกที่ทำให้การตั้งค่านี้เป็นเครื่องขยายสัญญาณทรานส์คอนดักเตอร์ (เรียกอีกอย่างว่าแหล่งจ่ายกระแสไฟที่ควบคุมด้วยแรงดันไฟฟ้า VCCS)

op-amp สามารถรักษากระแสได้ก็ต่อเมื่ออิมพีแดนซ์ของร่างกายไม่สูงเกินไป มิฉะนั้นเอาต์พุต op-amp จะสูงสุดที่แรงดันไฟฟ้า (0 หรือ 5 V) ช่วงแรงดันไฟฟ้าสูงสุดที่สามารถรักษาได้คือ VDD/2 + Upeak (2.5+1.5V = 4V @ 5V แหล่งจ่าย) ระยะขอบของแรงดันไฟฟ้าของ op-amp ควรถูกลบออกจากค่านี้ แต่ถ้า op-amp มีข้อกำหนด rail-to-rail ที่จะเป็นเพียงจำนวนเล็กน้อยเท่านั้น ความต้านทานสูงสุดที่ op-amp สามารถขับได้คือ:

Z < (VDD/2 + Upeak) / Imax

(ในการตั้งค่าของฉัน Z < 4V / 14 microAmps = 285 kOhms ความต้องการมีมากพอที่จะครอบคลุมช่วงอิมพีแดนซ์ของร่างกาย)

ตัวต้านทานตัวป้องกันมีค่าสูงมาก (1-1.5 MOhms) เมื่อเทียบกับตัวกล้อง (ประมาณ 100kOhms) และสำหรับการทำงานปกติทั้งหมด จะไม่ดึงกระแสใดๆ ที่เห็นได้ชัดเจน และอิมพีแดนซ์ของการเชื่อมต่อแบบขนานจะถูกครอบงำโดยอิมพีแดนซ์ของร่างกาย หากอิมพีแดนซ์ของร่างกายควรเพิ่มขึ้น (เช่น แผ่นอิเล็กโทรดหลุดออกมา) กระแสไฟฟ้าสามารถไหลผ่านตัวต้านทานได้ และค่าสูงสุดของ op-amp จะไม่สร้างแรงดันไฟฟ้าที่ไม่พึงประสงค์ในแผ่นอิเล็กโทรด

ขั้นตอนที่ 4: เครื่องขยายเสียงเครื่องมือ

แอมพลิฟายเออร์เครื่องมือวัด
แอมพลิฟายเออร์เครื่องมือวัด

ขั้นต่อไปคือเครื่องขยายสัญญาณเครื่องมือวัด (ในแอมป์) ซึ่งวัดแรงดันไฟฟ้าทั่วร่างกาย แรงดันไฟฟ้าทั่วร่างกายกำลังสั่นอยู่ที่ประมาณ 0V แต่ AD5933 ต้องการให้แรงดันไฟฟ้าขาเข้าอยู่ในช่วงบวก ดังนั้นในแอมป์จึงเพิ่ม DC offset ของ VDD/2 ให้กับสัญญาณแรงดันไฟที่วัดได้

การอ้างอิง VDD/2 ถูกสร้างขึ้นโดยตัวแบ่งแรงดันไฟฟ้า ตัวต้านทานค่าใดๆ สามารถใช้ได้ตราบเท่าที่มีค่าเท่ากัน ตัวแบ่งแรงดันไฟฟ้าถูกแยกออกจากอิมพีแดนซ์ของวงจรที่เหลือโดยตัวติดตามแรงดันไฟฟ้า เอาต์พุตของตัวติดตามแรงดันไฟฟ้าสามารถส่งต่อไปยังทั้งแอมพลิฟายเออร์ในแอมป์และทรานส์คอนดักเตอร์

ขั้นตอนที่ 5: ขั้นตอนการป้อนข้อมูลและการปรับเทียบ

ขั้นตอนอินพุตและการสอบเทียบ
ขั้นตอนอินพุตและการสอบเทียบ
ขั้นตอนอินพุตและการสอบเทียบ
ขั้นตอนอินพุตและการสอบเทียบ

ขั้นตอนอินพุตของ AD5933 มี op-amp ในการกำหนดค่าข้อเสนอแนะเชิงลบ มีตัวต้านทานสองตัว: ตัวหนึ่งในซีรีย์ (Rin) และตัวหนึ่งในแบบขนาน (RFB) กำไรของ op-amp ถูกกำหนดโดย

A = - RFB / ริน

เกนของอินพุต op-amp และ in-amp (และ PGA) จำเป็นต้องตรวจสอบให้แน่ใจว่าสัญญาณที่เข้าสู่ ADC ของ AD5933 นั้นอยู่ภายใน 0V และ VDD เสมอ

(ฉันใช้ค่า unity gain ในแอมป์และค่าความต้านทานที่จะให้ประมาณ A = 0.5)

ภายใน AD5933 ADC จะแปลงสัญญาณแรงดันไฟฟ้าเป็นสัญญาณดิจิทัล ช่วงแรงดันไฟฟ้าตั้งแต่ 0V ถึง VDD จะถูกแปลงเป็นช่วงดิจิตอล 0-128 (2^7) (เอกสารไม่ชัดเจนในเรื่องนี้ แต่การตรวจสอบอย่างละเอียดของแปลงใน [1] และการทดลองบางส่วนในส่วนของฉันยืนยันสิ่งนี้)

ภายในโมดูล DFT มีการปรับขนาดอีก 256 (1024/4 ดู [1]) ก่อนที่ผลลัพธ์จะถูกบันทึกไว้ในรีจิสเตอร์จริงและจินตภาพ

โดยการติดตามสัญญาณแรงดันไฟฟ้าผ่าน AFE เข้าไปใน ADC และใช้ตัวประกอบมาตราส่วนที่กล่าวถึงก่อนที่จะสามารถประมาณค่าปัจจัยเกนได้เป็น:

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

การปรับเทียบบางอย่างอาจยังมีความจำเป็นอยู่ ดังนั้นให้คำนึงถึงผลกระทบบางอย่างที่ไม่ได้เป็นส่วนหนึ่งของแบบจำลองทางคณิตศาสตร์นี้ ดังนั้นโปรดวัดค่าเกนที่แท้จริงโดยการวัดส่วนประกอบของอิมพีแดนซ์ที่รู้จัก เช่น ตัวต้านทาน (g = Z / mag ดูด้านล่าง)

อิมพีแดนซ์สามารถคำนวณได้โดย

Z = ก. * แม็ก

mag = sqrt(จริง^2 + จินตภาพ^2)

PA = arctan2 (ของจริง, จินตภาพ) - deltaPA

PA อาจจำเป็นต้องได้รับการสอบเทียบเช่นเดียวกับการกะระยะที่เป็นระบบตามฟังก์ชันของความถี่ใน AD5933 deltaPA น่าจะเป็นฟังก์ชันเชิงเส้นของความถี่

ค่าความต้านทานและค่ารีแอกแตนซ์สามารถคำนวณได้โดย

R = Z * cos(PA)

X = Z * บาป (PA)

ข้อมูลอ้างอิง:[1] Leonid Matsiev, "การปรับปรุงประสิทธิภาพและความเก่งกาจของระบบโดยใช้เครื่องตรวจจับ DFT ความถี่เดียวเช่น AD5933", Electronics 2015, 4, 1-34; ดอย:10.3390/electronics4010001

ขั้นตอนที่ 6: เนื้อหาขั้นสูง: Spectral Leakage (DC)

สัญญาณที่เราใส่เข้าไปใน AD5933 เป็นแรงดัน/กระแสในรูปแบบของเวลา แต่ความสนใจหลักของเราคืออิมพีแดนซ์เป็นฟังก์ชันของความถี่ ในการแปลงระหว่างโดเมนเวลาและโดเมนความถี่ เราจำเป็นต้องแปลงฟูริเยร์ของสัญญาณโดเมนเวลา AD5933 มีโมดูลการแปลงฟูเรียร์แบบแยกส่วน (DFT) ในตัว ที่ความถี่ต่ำ (ต่ำกว่าประมาณ 10 kHz) การสร้างใน DFT ได้รับอิทธิพลจากนามแฝงและการรั่วไหลของสเปกตรัม ใน [1] เขาเรียนคณิตศาสตร์เกี่ยวกับวิธีการแก้ไขการรั่วไหลของสเปกตรัม สาระสำคัญของสิ่งนี้คือการคำนวณค่าคงที่ห้า (บวกสอง) สำหรับแต่ละขั้นตอนความถี่ในการกวาด สามารถทำได้ง่ายเช่น โดย Arduino ในซอฟต์แวร์

การรั่วไหลมาในสองรูปแบบ: การรั่วไหลของ DC ซึ่งเป็นสารเติมแต่งในธรรมชาติและการรั่วไหลของ AC ซึ่งมีลักษณะทวีคูณ

กระแสไฟตรงรั่วเกิดจากสัญญาณแรงดันไฟที่ ADC ไม่ได้แกว่งที่ 0V แต่อยู่ที่ VDD/2 ระดับ DC ของ VDD/2 ควรสอดคล้องกับการอ่าน DC แบบดิจิทัลประมาณ 64 (เดลต้าที่กำหนดใน [1])

ขั้นตอนในการแก้ไขการรั่วไหลของสเปกตรัม DC:

1) คำนวณ Envelope-factor E สำหรับความถี่ปัจจุบัน

2) คำนวณปัจจัยเกนทั้งสอง GI (ของจริง) และ GQ (จินตภาพ)

3) ลบเดลต้า * GI จากค่าของรีจิสเตอร์จริงและเดลต้า * GQ จากค่าของรีจิสเตอร์จินตภาพ

ข้อมูลอ้างอิง:

[1] Leonid Matsiev "การปรับปรุงประสิทธิภาพและความเก่งกาจของระบบตาม

เครื่องตรวจจับ DFT ความถี่เดียว เช่น AD5933 , Electronics 2015, 4, 1-34; doi:10.3390/electronics4010001

[2] Konrad Chabowski, Tomasz Piasecki, Andrzej Dzierka, Karol Nitsch, "เครื่องวัดความต้านทานช่วงความถี่กว้างอย่างง่ายตาม AD5933 Integrated Circuit", Metrol วัด. Syst., ฉบับที่. XXII (2015), No. 1, pp. 13–24.

ขั้นตอนที่ 7: เนื้อหาขั้นสูง: Spectral Leakage (AC)

เช่นเดียวกับการรั่วไหลของ DC การรั่วไหลของ AC สามารถแก้ไขได้ทางคณิตศาสตร์ ใน [1] ความต้านทานและรีแอกแตนซ์เรียกว่า A*cos(phi) และ A*sin(phi) ตามลำดับ โดยที่ A สอดคล้องกับขนาดของอิมพีแดนซ์ และ phi สอดคล้องกับมุมเฟส (PA)

ขั้นตอนในการแก้ไขการรั่วไหลของสเปกตรัม AC:

1) คำนวณ Envelope-factor E (ไม่เหมือนกับ DC) สำหรับความถี่ปัจจุบัน

2) คำนวณปัจจัยสามตัว a, b และ d (ค่าโดยประมาณที่ความถี่สูง: a = d = 256 และ b = 0)

3) ค่าความต้านทาน (Acos(phi)) และค่ารีแอกแตนซ์ (Asin(phi)) สามารถคำนวณได้ในหน่วยดิจิทัล

ข้อมูลอ้างอิง:[1] Leonid Matsiev, "การปรับปรุงประสิทธิภาพและความเก่งกาจของระบบโดยใช้เครื่องตรวจจับ DFT ความถี่เดียวเช่น AD5933", Electronics 2015, 4, 1-34; ดอย:10.3390/electronics4010001

[2] Konrad Chabowski, Tomasz Piasecki, Andrzej Dzierka, Karol Nitsch, "เครื่องวัดความต้านทานช่วงความถี่กว้างอย่างง่ายตาม AD5933 Integrated Circuit", Metrol วัด. Syst., ฉบับที่. XXII (2015), No. 1, pp. 13–24.

ขั้นตอนที่ 8: เนื้อหาขั้นสูง: ปัจจัยกำไรทางทฤษฎี

จากการสร้างแบบจำลองทางคณิตศาสตร์ของ DFT มันควรจะเป็นไปได้ที่จะสร้างแบบจำลอง AFE ทั้งหมดทางคณิตศาสตร์ ในทางคณิตศาสตร์ สัญญาณแรงดันไฟฟ้าสามารถอธิบายได้ด้วยฟังก์ชันไซน์ที่มีความถี่คงที่ที่กำหนด ออฟเซ็ต DC และการสั่นของกระแสสลับที่มีแอมพลิจูดสูงสุด ความถี่ไม่เปลี่ยนแปลงระหว่างขั้นตอนความถี่ เนื่องจากเกนแฟคเตอร์จะเปลี่ยนขนาดของอิมพีแดนซ์เท่านั้น ไม่ใช่ PA เราจะไม่เกี่ยวข้องกับการเลื่อนเฟสใดๆ ที่เกิดขึ้นบนสัญญาณ

ต่อไปนี้คือข้อมูลสรุปสั้นๆ ของสัญญาณแรงดันไฟฟ้าขณะแพร่กระจายผ่าน AFE:

1) หลังจากระดับอคติใหม่ แอมพลิจูดของ AC ยังคงเป็น Upeak=1.5V (1V @ VDD=3.3V) และ DC offcet ถูกเปลี่ยนเป็น VDD/2

2) ในตัวต้านทานการตรวจวัดกระแส แรงดันจะนิ่งเหมือนกับสเตจก่อนหน้า …

3) … แต่เนื่องจากแรงดันกระดานหกของ op-amp การสั่นของ AC จึงมีขนาด Z*Upeak/Rcurrent (DC offset ถูกยกเลิกโดยแรงดันอ้างอิง op-amps ของ VDD/2 - จุดหมุนของกระดานหก - และกลายเป็นกราวด์เสมือนในส่วนนี้ของวงจร)

4) Unity in-amp เพิ่ม DC offset ของ VDD/2 กลับและส่งต่อสัญญาณไปยังอินพุต stage ของ AD5933

5) op-amp ในสเตจอินพุตมีเกน A=-RFB/Rin และแอมพลิจูดของ AC จึงกลายเป็น (Z*Upeak/Rcurrent)*(RFB/Rin)

6) ก่อน ADC จะมีตัวขยายสัญญาณขยายสัญญาณที่ตั้งโปรแกรมได้ (PGA) ที่มีการตั้งค่าสองค่าที่ได้รับ 1 หรือ 5 สัญญาณแรงดันไฟฟ้าที่ ADC จะกลายเป็น: PGA*(Z*Upeak/Rcurrent)*(RFB/Rin)

ADC แปลงสัญญาณ v(t) เป็นสัญญาณดิจิตอล x(t) = u(t) / VDD * 2^7 ด้วยความแม่นยำ 12 บิต

ขนาด A เชื่อมต่อกับอิมพีแดนซ์ Z ด้วยปัจจัยเกน k เนื่องจาก A = k * Z และมีค่าประมาณ k = PGA * Upeak * RFB * 2^7 / (VDD * Rcurrent * Rin)

ถ้าคุณชอบทำงานกับ gain-faktor แทน g = 1 / k และ Z = g * A

ขั้นตอนที่ 9: เนื้อหาขั้นสูง: PA Shift

ใน [2] พวกเขาพบการเปลี่ยนแปลงอย่างเป็นระบบใน PA เป็นหน้าที่ของความถี่ เนื่องจากมีการหน่วงเวลาระหว่าง DAC ที่มีการสร้างสัญญาณกระตุ้นและ DFT ที่สัญญาณขาเข้าจะต้องสลับซับซ้อนกับสัญญาณขาออก

การเปลี่ยนแปลงมีลักษณะตามจำนวนรอบสัญญาณนาฬิกาที่สัญญาณล่าช้าระหว่าง DAC และ DFT ภายใน AD5933

ข้อมูลอ้างอิง:[1] Leonid Matsiev, "การปรับปรุงประสิทธิภาพและความเก่งกาจของระบบโดยใช้เครื่องตรวจจับ DFT ความถี่เดียวเช่น AD5933", Electronics 2015, 4, 1-34; ดอย:10.3390/electronics4010001

[2] Konrad Chabowski, Tomasz Piasecki, Andrzej Dzierka, Karol Nitsch, "เครื่องวัดความต้านทานช่วงความถี่กว้างอย่างง่ายตาม AD5933 Integrated Circuit", Metrol วัด. Syst., ฉบับที่. XXII (2015), No. 1, pp. 13–24.

แนะนำ: