資料介紹
作者制作了一個基于光敏電阻的心率監測器以在示波器上顯示。這樣您就可以在示波器上查看波形,同時還可以讀出您的心率。
當心臟收縮并將血液推向全身時,可以檢測到血壓的瞬時波動。這就是我們可以感覺到脈搏的原因。在皮膚和肌肉足夠薄的身體區域,可以在穿過的光的輕微變化中檢測到這些脈沖。雖然我們的眼睛不夠敏感,甚至無法看到穿過我們身體的光線,更不用說波動了,但光敏電阻確實具有這種程度的敏感度。
光敏電阻會隨著落在其上的光強而改變其電阻。盡管對于光照強度的細微變化,電阻的變化可能非常小,但可以使用幾個運算放大器 IC 來放大它們。
操作原理
下圖顯示了電路原理圖以及該項目中使用的面包板。
1 / 2
光敏電阻與 20kΩ 電阻器位于分壓器中,這意味著隨著電阻器上光量的增加,分壓器上的電壓也會增加。第一個運算放大器(上圖中的“Amp1”)用作分壓器的濾波器,從信號中去除高頻噪聲。第二個運算放大器(“Amp2”)用作反相放大器,設置為最大化通過濾波器的信號。第三個運算放大器(“Amp3”)設置虛擬接地,將信號集中在 2.5V。這確保運算放大器能夠提供從 0V 到 5V 的最大信號擺幅。經過過濾和放大后,信號看起來像這樣。
為了讓 Arduino 測量您的心率,信號需要通過一個比較器(示意圖中的“Cmp”)。比較器是專門設計用于輸出高信號或低信號的運算放大器。當正輸入電壓大于負輸入電壓時,比較器輸出高電平,當正輸入電壓小于負輸入電壓時,比較器輸出低電平。在其最基本的配置中,比較器用作閾值檢測器,在測量電壓高于或低于該閾值時發出信號。由于比較器輸出高電平 (5V) 或低電平 (0V),因此非常適合與 Arduino 的數字引腳連接。
注意噪音和重搏切跡。
仔細觀察來自運算放大器的信號圖像,很明顯在電壓下降之前有一個二次脈沖(這稱為重博陷波)。此外,信號中存在大量噪聲。這兩個事實意味著基本的比較器配置將無法正確檢測脈沖。比較器將生成多個脈沖,而不是每次心跳都生成一個方波脈沖。發生這種情況是因為噪聲會導致信號在上升和下降過程中多次超過閾值,并且可能在重搏切跡期間根據閾值的設置位置而定。這將導致 Arduino 計算出比實際存在的更多的脈沖。
可以使用滯后來處理噪聲信號。這個文件德州儀器 (Texas Instruments) 就滯后信號調理主題進行了精彩討論,展示了信號噪聲如何影響比較器性能,以及如何處理這些問題。我使用他們的原理圖和導出的方程式(分別為文檔的第 5 頁和第 7 頁)為該項目設計了非對稱比較器??傮w思路是來自輸出的反饋回路將改變正輸入端的電壓,這意味著從低到高的閾值將不同于從高到低的閾值。這在心臟脈搏的背景下意味著比較器可以設置為在上擺的一個點觸發,然后在下擺的不同點觸發,最好是在重搏切跡之后。這樣,Arduino 將在每次心跳時看到一個方波脈沖,
黃色信號來自比較器,每次心跳時它都會變低。
光敏電阻的制備
我強烈建議在光敏電阻上使用某種透明覆蓋物,例如透明熱縮管。至少,確保導線被完全覆蓋,以免它們接觸到您的皮膚。您身體產生的電壓完全在光敏電阻檢測到您的脈搏時產生的電壓范圍內,因此與您的皮膚接觸可能會影響結果。
確保光敏電阻包裹在某種東西中以防止引線接觸皮膚。
調整心率監測器
對于示意圖中的電位器 (R7),使用單圈電位器并對其進行調整以最大化運算放大器的增益而不進入飽和狀態。首先將電位器的一側設置為大約 375Ω,并將濾波器(“Amp1”)連接到這一側。這個增益量應該會產生足夠的脈沖,您將能夠在 WaveForms Live 中看到它。在執行下一節(“在實時波形中查看脈沖”)中的步驟并成功查看您的脈沖后,您可以根據需要更改增益。通過轉動電位器來增大脈沖幅度,使濾波器側電阻變小。如果幅度已經太大并導致削波,請增大濾波器側電阻。閱讀以下圖像上的說明,以確定所需信號的外觀。
1 / 7 ?增益為無窮大,增加濾波器側電阻。
我建議對電阻器 R3 和 R4 使用多圈電位器,以便精確設置比較器的閾值。電阻 R5 可以是 10-100kΩ 范圍內的任何電阻,只要它被精確測量即可。您可以使用附件部分中的電子表格,根據 R5 的測量值和閾值電壓來確定將 R3 和 R4 設置為什么值。閾值“Vl”和“Vh”需要根據您通過示波器看到的脈沖進行更改(請參閱標題為“設置比較器閾值”的部分)。
電阻R8和R9可以用一個電位器代替,中間的引腳接運放的正輸入端。這樣就可以很容易地調整虛擬接地,而無需尋找匹配電阻。在將輸出調整為 2.5V 時使用電壓表或 OpenScope。
在 WaveForms Live 中查看脈沖
為了通過 WaveForms Live 查看您的心跳,您需要更改菜單中的一些設置。默認情況下,輸出要么被拉長并且難以解釋,要么更新速度非常慢并且很難調整您對光敏電阻的握持以產生清晰的脈沖。
將 OpenScope 示波器通道 2(藍線)連接到“Amp2”的輸出,并確保接地線連接到面包板上的地面。在 WaveForms Live中,將Time更改為“1s”,然后在Trigger菜單中按下OFF按鈕。對于Osc Ch 1和Osc Ch2 菜單,將Offset設置為 2.5V,然后單擊Samples旁邊的鎖定圖標,然后在可用的字段中鍵入“1000”。這將使信號出現在易于解釋的時間尺度上,但會使更新比默認情況下更頻繁地發生。屏幕應每 4 秒左右更新一次。如果這仍然太慢,您可以增加樣本值,但以縮短信號片段為代價(“2000”將一次捕獲大約一個心跳)。
按下RUN按鈕,用手指在光敏電阻上測量脈搏。您需要找出獲得一致結果的最佳方法。該系統對壓力變化非常敏感,因此您需要找到一種方法讓您的手指保持靜止。我發現測量脈搏的最佳位置是在食指的第一個關節處。訓練自己需要一點時間,但最終你會找到最好的方法。如果您的脈搏看起來太小,請按照上一節(“調整心率監測器”)第一段中的說明調整電位計。
我找到的固定光敏電阻的最佳方法。
設置比較器閾值
一旦信號在示波器上可見,您將需要設置比較器將觸發并向 Arduino 發出信號的閾值。獲取具有代表性的波形并停止捕獲以將波形保留在顯示屏上。在屏幕底部按下CURSORS按鈕。在類型下選擇“電壓”并設置兩個CursorChannels到“Osc 2”。顯示屏上將出現兩條水平虛線。拖動左側的三角形來移動它們。將其中一條線設置在脈沖峰值附近的點,將另一條線設置在重搏切跡下方的點。查看屏幕底部并記錄括號中顯示的兩個電壓。在最后附上的電子表格中輸入這些值作為閾值電壓“Vl”和“Vh”。較小的值為“Vl”,較大的值為“Vh”。根據這些值和您選擇的電阻器 R5 值,設置電子表格計算的電位器 R3 和 R4 值。
用于設置比較器閾值的良好波形示例。
設置比較器后,它應該開始輸出類似于“光敏電阻器的準備”部分之前的信號。
Arduino代碼
Arduino 代碼由頻率計數器和計算心率(以每分鐘心跳次數為單位)的方法組成。頻率計數器會考慮來自比較器的脈沖寬度,并拒絕任何小于 200 毫秒或大于 800 毫秒的脈沖。當光敏電阻未用于測量且比較器可能為高電平、低電平或在兩種狀態之間快速切換時,這將防止它顯示錯誤數據。該代碼保持前 15 秒心率的運行平均值,以濾除因意外運動引起的信號噪聲而遺漏的脈搏。
未來的改進
該項目的主要缺點是很難以脈沖在兩次使用之間具有相同幅度的方式來固定光敏電阻。由于傳感器依賴于環境光來檢測脈搏,因此全天改變光照水平可能會導致不同的結果。我注意到在陰天我的比較器閾值太寬,而在明亮的日子里重搏切跡非常明顯并且可能導致錯誤的脈沖檢測。此外,光敏電阻甚至可以檢測到房間運動引起的細微光線變化。一致性問題可以通過幾種不同的方式來解決。
傳感器系統可以包括 LED 以提供一致的光。這類似于醫生辦公室使用的心臟監測夾或手機中的心率監測器。我試著用另一側的光敏電阻將紅色 LED 靠在手指的頂部。結果令人鼓舞,因此如果可以制作良好的圍欄,這可能是一個可行的選擇。
在軟件方面,一個潛在的解決方案是在 Arduino 中使用自動量程算法。它會檢測脈沖并找到它們的波峰和波谷。但是,這不足以執行心率測量。一個合適的頻率計數器需要中斷。如果沒有中斷,Arduino 的處理器可能會在檢查輸入引腳和錯過脈沖之外做其他事情。由于中斷僅在數字引腳上可用,因此實現自動量程的最佳方法是使用數字電位器。Arduino 將使用模擬引腳找到脈沖出現的范圍,確定比較器閾值應該是多少,通過數字電位器應用它們,然后使用來自比較器的數字信號執行頻率計數。
- 如何使用光敏電阻
- 基于單片機的光照度(光敏電阻)測量系統設計 51次下載
- 光敏電阻怎么做開關
- 光敏電阻傳感器模塊55690資料匯總 37次下載
- 如何進行光敏電阻的照度特性測試及應用光敏電阻設計自動照明燈電路 17次下載
- 光敏電阻傳感器模塊電路圖.pdf 151次下載
- 4線制光敏電阻傳感器模塊使用說明書.pdf 240次下載
- 光敏電阻傳感器模塊 68次下載
- 傳感器實驗--光敏電阻-演示 5次下載
- 光敏電阻特性設定 4次下載
- 光敏電阻傳感器模塊3線制 45次下載
- Maxim醫療心率/健康狀況監測器解決方案 55次下載
- 光敏電阻的特性和光敏電阻的應用
- 光敏電阻的變換電路 0次下載
- 光敏電阻控制路燈開關電路及制作
- 光敏電阻是光照越強電阻越小嗎為什么 1257次閱讀
- 光敏電阻在開關設計中的應用 1339次閱讀
- 光敏電阻電路工作過程 光敏電阻應用電路 5639次閱讀
- 心率/健身監測器無線化 792次閱讀
- 光敏電阻主要應用在什么場合 1.6w次閱讀
- 光敏電阻有正負極嗎_光敏電阻的阻值如何變化 2.5w次閱讀
- 光敏二極管和光敏電阻的區別 1w次閱讀
- 深入探究光敏電阻的工作原理及應用 1.6w次閱讀
- 光敏電阻的基礎知識介紹 1w次閱讀
- 光敏電阻控制燈亮硬件設計圖及程序分享 2w次閱讀
- 電子元件基礎篇之光敏電阻(原理及作用、符號及參數、選型及電路) 3.4w次閱讀
- 光敏電阻典型應用電路 3.4w次閱讀
- 光敏電阻的性質和應用 8730次閱讀
- 光敏電阻組成結構 8062次閱讀
- 光敏電阻的工作原理和作用_光敏電阻的檢測 5w次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多