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