聚豐項目 > 手部動作捕捉與生理參數(shù)監(jiān)測硬件平臺
本項目基于中科藍(lán)訊AB32VG1開發(fā)版以及RT-Thread軟件框架,利用集成前端傾角傳感器MPU6050與雙通道血氧檢測傳感器MAX30100,設(shè)計了一套完整的可采集手部位姿、血氧飽和度、溫度、心率等參數(shù)的硬件平臺。 該硬件平臺,具有且不限于以下應(yīng)用場景: 手功能康復(fù)評估(醫(yī)療):對手部殘疾或手指受傷術(shù)后康復(fù)患者,可以借助對指節(jié)溫度、血氧飽和度、手指可活動范圍(ROM)等客觀指標(biāo)進(jìn)行可復(fù)現(xiàn)、高精度的手功能康復(fù)評估。 人機交互(VR/MR/MetaVerse):借助六軸陀螺儀對操作者手部姿勢的高準(zhǔn)確度還原,形成更自然、操作信息更豐富的人機交互手段。 動作捕捉(影視、游戲):同樣借助六軸陀螺儀對操作者手部姿勢的高準(zhǔn)確度還原,應(yīng)用于游戲、電影、動畫制作等需要對真人手部動作捕捉的場景。 低成本多通道模擬開關(guān)的設(shè)計,大幅降低物料成本和MCU的IO占用,配套以自行設(shè)計的小尺存?zhèn)鞲衅麟娐钒?,整套設(shè)備成本控制在200元以內(nèi),結(jié)合基于RT-Thread框架的開源軟件包的使用,十分方便復(fù)現(xiàn)。
jf_25703341
分享jf_25703341
團(tuán)隊成員
楊炳乾 軟件設(shè)計
徐茂源 硬件設(shè)計
首先根據(jù)需求進(jìn)行硬件方案的設(shè)計,在經(jīng)過反復(fù)比對、開發(fā)板資源驗證后,最終選擇了五路獨立傳感器通道+開發(fā)板+DIY開發(fā)板拓展版的硬件方案。
硬件整體設(shè)計框圖如下:
為了系統(tǒng)的表述硬件的設(shè)計思路,我們可以從最接近需求的設(shè)計部分——傳感器電路開始介紹。
為了完成對手部動作的完整捕捉,以及考慮到醫(yī)療用途中患者手部受傷狀況的復(fù)雜性。
傳感器部分采取了獨立、并行的硬件設(shè)計,分別布置在人手指末端的五個指節(jié)處,并可以根據(jù)需求進(jìn)行放置位置的移動。
傳感器電路主要完成以下四個參數(shù)的采集:指節(jié)位姿、血氧飽和度、心率以及溫度。
指節(jié)位姿信息的采集,目前市面上主要流行的方法有應(yīng)變電阻、電位器以及IMU的測量方案,考慮到在醫(yī)療場景中使用時,方便佩戴以及體積小巧是很重要的考慮因素,因此選擇了使用IMU的測量方案,這里我們選擇了MPU6050的六軸集成傳感模塊。
血氧飽和度以及心率的測量,由于考慮到醫(yī)療安全的角度,且對精度沒有十分準(zhǔn)確的要求,我們最好采用非侵入式的監(jiān)測手段,而PPG(光電容積脈搏波)是一種很成熟的非侵入式監(jiān)測方案,大致原理是通過人體血液中氧合血紅蛋白與還原血紅蛋白,對不同波長入射光的投、反射系數(shù)不同,通過對特定波長反射光光強的量化,即可得到PPG信號,單通道的PPG信號我們可以獲得心率和血壓信息,而雙通道(雙波長)的PPG信號則可以獲得血氧飽和度的信息,最終考慮到傳感器集成體積和成本,選擇了MAX30100集成傳感器進(jìn)行血氧飽和度、心率以及溫度信息采集。
電源設(shè)計及通信接口,MPU6050為3.3V供電,MAX30100同時需要3.3V和1.8V的供應(yīng)電壓,因此設(shè)計了3.3V和1.8V兩路LDO。通信接口方面,兩個集成傳感器都使用IIC通信的方式。考慮到模塊的更換方便與外觀簡潔,設(shè)計了Type-c的端口進(jìn)行供電與數(shù)據(jù)傳輸。
傳感器電路原理圖與布局示意圖如下:
傳感器電路原理圖
傳感器電路立體圖
電路布局示意圖(背離人體面)
電路布局示意圖(朝向人體面)
實物焊接效果如下:
二、前端數(shù)據(jù)電路(AB32VG1開發(fā)板拓展版)
此次拓展版的設(shè)計,主要考慮到以下兩個方面的需求:
1. AB32VG1開發(fā)板的供電電流(500mA)可能無法支持5路傳感器+開發(fā)板的同時工作。
2. 前端傳感器出現(xiàn)IIC地址重疊
因此,為了滿足這些需求,我們?yōu)橥卣拱嬖O(shè)計了以下三個方面的模塊:
電源管理模塊,主要包括12V直流輸入、DC-DC降壓、LDO穩(wěn)壓,為開發(fā)板和前端傳感器提供電源供應(yīng)與基準(zhǔn)電壓,后續(xù)還可根據(jù)需要加入電池管理與充電IC。
多路模擬開關(guān)模塊,利用TI的CD4051多路模擬開關(guān),在采集對應(yīng)通道的傳感器數(shù)據(jù)時,進(jìn)行特定選通,較低成本的解決了IIC地址復(fù)用問題。
OLED顯示模塊,方便設(shè)備在脫機使用時,顯示一些本地信息和調(diào)試。
拓展板電路原理圖及布局示意如下:
拓展板原理圖
拓展板立體圖
拓展板布局示意圖
實物焊接效果如下:
最后是此次設(shè)計基于的開發(fā)板AB32VG1,廠商提供了詳細(xì)的開發(fā)板資料、datasheet與例程,可以參考此次大賽的首頁或公司首頁獲取這些資料。
焊接完成后,完成整體組裝,因時間緊迫,尚未來得及設(shè)計外殼,后續(xù)視情況添加。
在硬件部分完成設(shè)計后,進(jìn)行了軟件框架的設(shè)計與編寫調(diào)試。
首先說明一些本次設(shè)計引用到的開源代碼與RT-Thread相關(guān)軟件包:Invensense官方提供的eMPL姿態(tài)解算庫MAX30102的軟件包(與MAX30100驅(qū)動部分有差異,需自己修改)
軟件部分流程如下圖所示:
傳感器初始化部分: 各通道輪流初始化,全部工作寄存器配置完成后,查詢各傳感器ID及狀態(tài),確保正常工作。
傳感器數(shù)據(jù)采集: 這里采用信號量的方式進(jìn)行各采集線程的同步,主要考慮到多路模擬開關(guān)只在各線程采集進(jìn)入時切換通道,若中途發(fā)生線程優(yōu)先級搶占或輪轉(zhuǎn),會采集到錯誤通道數(shù)據(jù)。
數(shù)據(jù)上傳及查詢: 原先的設(shè)計是增加串口上傳線程,進(jìn)行數(shù)據(jù)上報,但是由于時間緊張,上位機顯示部分尚未完工,因此目前先采取MSH命令行查詢的方式,驗證采集數(shù)據(jù)的正確性。
最終佩戴至人體如圖(后續(xù)會增加感器外殼,增加安全性):
上電工作:
各通道初始化(紅光為MAX30100光電傳感器光源):
血氧、心率數(shù)據(jù)采集(單通道顯示):
以及原本計劃編寫手部實時捕捉的上位機顯示部分尚未完工,因此暫時借用匿名四軸上位機進(jìn)行數(shù)據(jù)顯示,需要按照匿名上位機的格式進(jìn)行數(shù)據(jù)發(fā)送(拇指):
多指節(jié)數(shù)據(jù)借助msh命令行輸出進(jìn)行驗證(指節(jié)2、3的roll角度變化較為明顯):
Gitee倉庫地址:https://gitee.com/YangBingQ/RTT
jf_12392931: 這個軟件做的不錯
回復(fù)
jf_25703341: 匿名四軸上位機是別人做的哈哈哈哈,借用來演示。新的上位機正在完成
回復(fù)
jf_12392931: 為你點贊
回復(fù)
jf_60544308: 思路不錯
回復(fù)
dianzi_0101: 666
回復(fù)
jf_82262998: 您好,我對這個項目很感興趣,請問怎么聯(lián)系您呢?
回復(fù)