資料介紹
描述
介紹
震顫是某些疾病或失調的癥狀。難以控制肌肉運動,導致持續顫抖。它包括患有帕金森病 (PD)、多發性硬化癥 (MS) 或特發性震顫 (ET)的人。觀察這些震顫很重要,因為它將表明病情的嚴重程度。
在這個項目頁面中,我將構建一個可穿戴設備來實時分析身體振動或震顫活動。我將使用 nRF5340 開發套件上的 DSP 支持庫監控振動的頻率和幅度。通過使用振動傳感器,可以檢測到這些微小的震動。
這些數據將提供有關疾病隨時間進展的關鍵見解。例如,帕金森氏癥的震顫頻率一般在 3-8 赫茲之間,如果頻率出現偏差,則可能表明病情正在惡化。
硬件規劃
對于振動感測,將使用Kemet VS-BV203振動傳感器單元。它是一種模擬傳感器,可根據其感應到的振動幅度輸出變化的電壓。
使用微控制器上的 ADC 連接數據,并通過快速傅里葉變換算法獲得信號的基頻。在這里,我們了解到振動頻率是我們想要為震顫健康分析分析的頻率。
在這里,我還將必要的硬件焊接到原型板屏蔽上。OLED 顯示器連接到 I2C 引腳,振動傳感器有一個連接到模擬引腳的連接器。
原理框圖
請在下面找到系統的引腳連接
設置 nRF Connect 桌面工具
首先從這個頁面下載并安裝nRF Connect for Desktop
這是設置的樣子
安裝后,程序應如下所示。在這里,您可以管理與 nRF 系統相關的不同應用程序。
在我的情況下,首先單擊Toolchain Manager應用程序的“安裝”,這是對示例代碼進行編程以測試板的 IDE。
稍后,也安裝Power Profiler應用程序,因為我們將使用 Power Profiler Kit 2 (PPK2) 進行一些測量。
設置工具鏈和 IDE
打開工具鏈管理器。在這里,我們安裝了SEGGER Embedded Studio IDE附帶的最新 SDK
完成后,閱讀說明“構建的第一步”并單擊“打開 IDE”。
編譯 Blinky 示例代碼
我們將通過將 Blinky 示例代碼下載到板上來測試 nRF5340 DK 板。這些示例是 nRF Connect SDK 的一部分。
要導入樣本:
文件 → 打開 nRF Connect SDK 項目…
選擇“ blinky ”作為項目,選擇“ nrf5430dk_nrf5430_cpuapp ”作為板子。
構建項目 hex 文件
構建 → 構建 zephyr/zephyr.elf (F7)
將開發板連接到 PC 并將其連接到 IDE:
目標 → 連接 J-Link (Ctrl+T, C)
將十六進制文件下載到板上:
目標 → 下載 zephyr/zephyr.elf (Ctrl+T, L)
檢查板右上角的 LED 是否閃爍
您可以使用示例來熟悉環境。
為我們的應用程序修改示例
為了制作我們自己的應用程序,我們將從示例中修改并從那里構建。從此位置復制項目:blinky
您可以隨意命名項目。對我來說,我復制blinky
到hackster-wearable
.
現在我們將修改項目以包含我們的應用程序的一些庫。
這些項目使用具有非常強大的構建系統的 Zephyr RTOS。它有許多配置,您可以在prj.conf
.
從這里開始,考慮項目需求很重要。在這個項目中,我決定使用GPIO、ADC 和 I2C 設備外設。另外,我將使用CMSIS-DSP 庫(這個庫也需要浮點支持)
有了這個,我編輯我的文件是這樣的:
請參閱此頁面是配置選項的完整列表:- Zephyr 配置選項(北歐半導體)
再次返回Open nRF Connect SDK Project ,這一次您將看到您的項目文件夾。
選擇板名稱為nrf5430dk_nrf5430_cpuapp 。還將構建目錄更改為較短的路徑(我將其放在 C:/ 驅動器的根目錄中)
如果構建目錄路徑太長,您可能會遇到編譯問題。這就是我們必須縮短它的原因(我只是刪除了中間的文件夾,并且該文件夾位于 C:/ 驅動器的根目錄)
有關此錯誤的信息,請參見此論壇主題:- https://devzone.nordicsemi。 com/f/nordic-qa/50935/http-application-update-problem-compiling
導入工程后,可以測試是否可以編譯下載到板子上。
注意:如果您對prj.conf
文件進行進一步修改,則需要再次重新導入項目以更新依賴項。
安裝 CMSIS-DSP 包
由于 CMSIS-DSP 庫由 ARM 提供,默認情況下不捆綁在項目中。
要安裝它,請轉到工具 > 包管理器
右鍵單擊并安裝CMSIS 5 CMSIS-DSP 支持包。
安裝后,它看起來像這樣
我們現在準備開始我們的應用程序!
GPIO 代碼
該板有 4 個 LED,在電路板上標記為LED1到LED4 。但是,在代碼中,它們被標記為led0到led3 。請注意這個區別!
- LED1 = P0.28 (led0)
- LED2 = P0.29 (LED1)
- LED3 = P0.30 (LED2)
- LED4 = P0.31 (led3)
這是設置 LED 的代碼部分
ADC 代碼
我們將使用 ADC 連接到振動傳感器模塊。
對于 ADC,我將使用開發板上的 A0 輸入引腳。
這是設置 ADC 的代碼部分。
I2C 代碼
I2C OLED 顯示屏將用于顯示信息
將 OLED 顯示器連接到 I2C 的專用引腳。
- SDA = D14 (P1.02)
- SCL = D15 (P1.03)
這是設置 I2C 的代碼部分。
定時器代碼
定時器用于定期觸發 ADC,這樣我們就可以為 FFT 分析獲得一致的讀數。此處代碼設置為具有 512Hz 的頻率。這是因為稍后我將使用 1024 個樣本的 FFT 大小,這意味著更新每個結果需要 2 秒。
為了確認定時器工作正常,我使用了 PPK2 套件中的邏輯分析儀。我將它連接到 LED 引腳,在這里我們確認頻率為 512Hz(約 1.95ms)。稍后我將更詳細地解釋如何設置 PPK2。
CMSIS DSP FFT 代碼
現在對 FFT 分析過程進行編碼...確保安裝了 CMSIS DSP 包。
UART 代碼
這部分代碼負責使用printk()函數將數組中的 FFT 結果發送到 PC。
每次在 while 循環中處理 FFT 時都會發送它。
最終構建產品
綜上所述,我將最終代碼上傳到我的 Github 帳戶。
這些是最終構建中的關鍵組件
我用橡皮筋將振動傳感器牢牢地固定在手腕上。
并且顯示會隨著震顫頻率分析而相應更新。
OLED 顯示屏的特寫
繪制數據
可以使用 UART 從 nRF5340 中提取傳感器數據。在 nRF5340 上,JLink 處理微控制器和 PC 之間的 UART 通信。
我們可以使用TeraTerm或PuTTY等串行軟件接收它。在設備管理器下,記下JLink CDC UART Port。
在 TeraTerm 中連接到設備:
- 文件 > 創建新連接 > 串行 >(選擇 COM 端口)。
nRF5340 SDK示例的默認串口設置如下:
- 速度:115200
- 數據:8位
- 奇偶性:無
- 停止位:1位
在 TeraTerm 中,轉到串行端口設置設置并進行相應設置
它應該看起來像這樣。
數據將開始在終端中流動。你可以從這里復制出來進行分析。
對我來說,我決定使用 Google Sheets 來繪制圖表,我們可以將逗號分隔的數據分成 2 列
- 數據 > 將文本拆分為列 > 分隔符:逗號。
創建了一個面積圖來可視化結果。
- 插入 > 圖表 > 面積圖
此處圖表的峰值是5 Hz 手顫的結果。
通過將數據范圍更改為前 50 個值來放大。我們確認幅度峰值在 5Hz 處。
這是一個模擬7-10Hz之間震顫的動畫
未來改進:
由于學習曲線陡峭,我無法在比賽前及時啟動 BLE 功能。將來,數據可以通過BLE發送來制作實時數據分析儀表板
設置電源分析器套件 2 (PPK2)
使用 nRF Connect 啟動 Power Profiler 工具
將 PPK2 設備連接到 PC,然后單擊“選擇設備”。
在這里,您將看到可用的設備,選擇您的 PPK2 設備。
您可以在源表和安培表之間進行選擇。這取決于您希望被測設備 (DUT) 的功率如何。
在安培計中,PPK2 將簡單地測量電流。PPK2 將亮起藍色。電源由 DUT 本身提供。
在源表中,PPK2 將為 DUT 提供電壓并從那里測量電流。PPK2 將亮起紅色。
您必須選擇從 0.8V 到 5.0V 的電源電壓。注意不要選擇錯誤的電壓而損壞 DUT。
我將提供 3.3V 電源并在兩端放置一些電阻以測量電流作為測試用例。這是我在軟件中的選擇
我只是在 PPK2 的電源電壓上連接了一個電阻器和一個電位器。(選擇的值是任意的)
單擊“開始”開始記錄數據。當我將電位器從最大電阻掃到最小值并返回到最大值時,圖表將更新。帶電電流波形會在 PC 上做出相應反應。
在這里,我們看到的結果是最大值為 2.88mA,最小值為 2.00mA。我們可以通過一些計算來驗證這一點(請注意,電阻器的容差約為 5%)
如您所見,結果與我們的計算相符(請注意,電阻器的容差約為 5%)。
帶 PPK2 的邏輯分析儀
您還可以使用邏輯分析儀功能。在這張照片中,我正在探測 P0.29 以找到 LED2 的頻率。
- 紅線= 邏輯5V
- 黑線 = 邏輯GND
- 藍線 = 邏輯D0
這是通道 0 上方波(閃爍的 LED)的測量值。
如本文前面所述,我將定時器頻率設置為 512Hz。并且在每次定時器中斷時,都會切換 LED。我們看到兩次切換之間的時間約為 1.95ms (512Hz)
準備 nRF5340 DK 與 PPK2 一起使用
參考官方硬件指南準備nRF5340 DK板測量電流-準備DK(Nordic Semiconductor)
我們將不得不剪掉一個跳線 SB40。它位于標有“nRF 電流測量”標簽的插頭引腳旁邊。
用小刀小心地劃線。花點時間,因為該地區的空間有限!剪完后應該是這個樣子。
我們將在電流源模式下使用 PPK2,因此像這樣連接 PPK2。只有VOUT和GND一起連接到電路板的電源。
使用 PPK2 進行測量
測量后,這是電流消耗的結果。
從結果來看,平均電流消耗為3.83mA 。它也是低功耗的,為持久的可穿戴設備應用打開了大門。尤其是在醫療和保健領域,電池壽命對于減少對患者和護理人員的不便非常重要。
?
- nRF5340模塊開源分享
- 基于nRF5340開發套件的開源可穿戴式下臂支架
- 帶有nRF5340 DK的虛擬皮帶
- nrf5340 LCD和flash 共用Qspi 息屏導致flash讀寫問題
- 基于NRF24LU1P-F32Q32-DK射頻收發器的
- 基于NRF8001-DK無線系統的
- 基于DSP的語音分析系統附錄 8次下載
- 基于nRF51-DK無線連結的參考設計
- 基于nRF52-DK無線連結的參考設計
- DSP數字信號處理器的詳細資料簡介 8次下載
- 如何使用DSP和CPLD進行語音處理系統的設計資料說明 6次下載
- nRF51 DK板載的開發指導手冊免費下載 0次下載
- 如何使用移動APP進行健康管理系統的設計與實現 4次下載
- TMS320C64x+ DSP 小字節DSP庫 程序員參考 5次下載
- OMAPL138B C6-Integra? DSP+ARM? 處理器 6次下載
- dsp是什么意思 dsp怎么調音質最好 9470次閱讀
- 實現ARM和DSP或協處理器的通信和協同工作,有什么解決方案和實現指南 1546次閱讀
- DSP和FPGA的特點比較及如何進行方案選擇,示例分析 6654次閱讀
- nRF5系列首個高端多協議SOC nRF5340TM,滿足尖端可穿戴設備的需求 8144次閱讀
- 智能馬桶收集分析尿液,可提供個人健康信息 4914次閱讀
- 講述Nordic nRF5 SDK的主要調試手段,以幫助大家快速定位問題 1.2w次閱讀
- 基于多核DSP DM8168處理器的大數據量高速視頻采集及壓縮的實現方案 2035次閱讀
- 一種DSP和nRF24L01的無線環境監測系統的設計 2356次閱讀
- nrf24l01無線模塊傳輸距離分析 3.4w次閱讀
- nRF905工作原理_nRF905基本特點 1.1w次閱讀
- nrf905引腳圖及引腳說明_nrf905主要參數 1.1w次閱讀
- DSP是什么?詳解DSP又稱數字信號處理器 4.7w次閱讀
- DSP編程的關鍵問題分析 1666次閱讀
- 通過開源API進行DSP視頻處理 1116次閱讀
- 基于DSP的最小圖像采集處理系統設計 2375次閱讀
下載排行
本周
- 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次下載 | 免費
評論
查看更多