三軸加速度傳感器在跌倒檢測中的應用
發布時間:2021-06-01 來源:Ning Jia 責任編輯:wenwei
【導讀】人們在跌倒後會麵臨雙重危險。顯而易見的是跌倒本身可能對人體產生傷害;另外,如果跌倒後不能得到及時的救助,可能會使結果更 加惡化。例如,許多老年人由於其身體比較虛弱,自理能力和自我保護能力下降,常常會發生意外跌倒,如果得不到及時的救助,這種 跌倒可能會導致非常嚴重的後果。有資料顯示,很多嚴重的後果並不是由於跌倒直接造成的,而是由於跌倒後,未得到及時的處理和 救護。當出現跌倒情況時,如果能夠及時地通知到救助人員,將會大大地減輕由於跌倒而造成的危害。
不僅是對老人,在很多其他情況下,跌倒的報警也是非常有幫助的,尤其是從比較高的地方跌倒下來的時候。比如人們在登山,建築, 擦窗戶,刷油漆和修理屋頂的時候。
這促使人們越來越熱衷於對跌倒檢測以及跌倒預報儀器的研製。近年來,隨著 iMEMS® 加速度傳感器 技術的發展,使得設計基於三軸加速度傳感器的跌倒檢測器成為可能。這種跌倒檢測器的基本原理是 通過測量佩戴該儀器的個體在運動過程中的三個正交方向的加速度變化來感知其身體姿態的變化,並通過算法分析判斷該個體是否 發生跌倒情況。當個體發生跌倒時,儀器能夠配合GPS模塊以及無線發送模塊對這一情況進行定位及報警,以便獲得相應的救助。而 跌倒檢測器的核心部分就是判斷跌倒情況是否發生的檢測原理及算法。
ADXL3451是ADI公司的一款3軸、數字輸出的加速度傳感器。本文將在研究跌倒檢測原理的基礎上,提出一種基於ADXL345 的新型跌倒檢測解決方案。
iMEMS加速度傳感器ADXL345
iMEMS 半導體技術把微型機械結構與電子電路集成在同一顆芯片上。 iMEMS 加速度傳感器就是利用這種技術,實現對單軸、雙軸甚至三軸加速度進行測量並產生模擬或數字輸出的傳感器。根據不同的應用,加速度傳感器的測量範圍從幾g到幾十g不等。數字輸出的加速 度傳感器還會集成多種中斷模式。這些特性可以為用戶提供更加方便靈活的解決方案。
ADXL345是ADI公司最近推出的基於 iMEMS 技術的3軸、數字 輸出加 速度傳感器。ADXL345具有 ±2-g, ±4-g, ±8-g, ±16-g 可變的測量範圍;最高13b i t分辨率;固定的4mg/L S B靈敏度; 3mm*5mm*1mm超小封裝;40-145uA超低功耗;標準的 I2C® 或SPI數字接口;32級FIFO存儲; 以及內部多種運動狀態檢測和靈活的中斷方式等特性。所有這些特性,使得ADXL345有助於大大簡化跌倒檢測算法,使其成為一款非 常適合用於跌倒檢測器應用的加速度傳感器。
本文給出的跌倒檢測解決方案,完全基於ADXL345內部的運動狀態檢測功能和中斷功能,甚至不需要對加速度的具體數值進行實時讀 取和複雜的計算操作,可以使算法的複雜度降至最低。
中斷係統
圖1給出了ADXL345的係統框圖及管腳定義

圖1 ADXL345 係統框圖及管腳定義
ADXL345具有兩個可編程的中斷管腳:Int1和Int2。以及Data_Ready、Single_Tap、Double_Tap、Activity、Inactivity、 Free_Fall、Watermark、Overrun,共計8個中斷源。每個中斷源可以獨立地使能或禁用,還可以靈活地選擇是否映射到Int1或Int2 中斷管腳。所有的功能都可以同時使用,隻是某些功能可能需要共用中斷管腳。中斷功能通過INT_ENABLE寄存器的相應位來選擇使能或禁用,通過 INT_MAP寄存器的相應位來選擇映射到Int1管腳或Int2管腳。中斷功能的具體定義如下:
1. Data_Ready 當有新的數據產生時,Data_Ready中斷置位;當沒有新的數據時,Data_Ready中斷清除。
2. Single_Tap 當加速度值超過一定門限(THRESH_TAP)並且持續時間小於一定時間範圍(DUR)的時候,Single_Tap中斷置位。
3. . Double_Tap 當第一次Single_Tap事件發生後,在一定時間(LATENT)之後,並在一定時間(WINDOW)之內,又發生第二次Single_Tap事件時, Double _Tap中斷置位。
圖2給出了有效的Single_Tap中斷和Double _Tap中斷的示意圖。

圖2 Single_Tap 和Double _Tap中斷示意
4. Activity當加速度值超過一定門限(THRESH_ACT)時,Activity中斷置位。
5. Inactivity當加速度值低於一定門限(THRESH_INACT)並且持續超過一定時間(TIME_INACT)時,Inactivity中斷置位。 TIME_INACT可以設定的最長時間為255s。
需要指出的是,對於Activity和Inactivity中斷,用戶可以針對X、Y、Z軸來分別進行使能或禁用。比如,可以隻使能X軸的Activity 中斷,而禁用Y軸和Z軸的Activity中斷。
另外,對於Activity和Inactivity中斷,用戶還可以自由選擇D C coupled工作方式或者AC coupled工作方式。其區別在於, D C coupled工作方式下,每個采樣點的加速度值將直接與門限(THRESH_ACT或THRESH_INACT)進行比較,來判斷是否發生中斷;而 AC coupled工作方式下,新的采 樣點將以 之前的某個采樣點為參考,用兩個采樣點的差值與門限(THRESH_ACT或THRESH_INACT)進行比較,來判斷是否發生中斷。 AC coupled工作方式下的Activity檢測,是選擇檢測開始時的那一個采樣點作為參考,以後每個采樣點的加速度值都與參考點進行比較。 如果它們的差值超過門限(THRESH_ACT),則Activity中斷置位。AC coupled工作方式下的Inctivity檢測,同樣要選擇一個參考 點。如果新采樣點與參考點的加速度差值超過門限(THRESH_INACT),參考點會被該采樣點更新。如果新采樣點與參考點的加速度差值小於門限 (THRESH_INACT),並且持續超過一定時間(TIME_INACT),則Inctivity置位。
6. Free_Fall 當加速度值低於一定門限(THRESH_FF)並且持續超過一定時間(TIME_FF)時,Free_Fall中斷置位。與Inactivity 中斷的區別在於,Free_Fall中斷主要用於對自由落體運動的檢測。因此,X、Y、Z軸總是同時被使能或禁用;其時間設定也比Inactivity中斷中要小很多, TIME_FF可以設定的最大值為1.28s;而且Free_Fall中斷隻能是DC coupled工作方式。
7. Watermark當FIFO裏所存的采樣點超過一定點數(S A MP L E S)時,Watermark中斷置位。當FIFO裏的采樣點被讀取,使得其中保存 的采樣點數小於該數值(SAMPLES)時,Watermark中斷自動清除。
需要指出的是,ADXL345的FIFO最多可以存儲32個采樣點(X、Y、Z三軸數值),且具有Bypass模式、普通FIFO模式、Stream模式和Trigger 模式,一共4種工作模式。FIFO功能也是ADXL345的一個重要且十分有用的功能。 但是本文後麵給出的解決方案中,並沒有使用到FIFO功能,所以,在此不做詳細介紹。.
8. Overrun當有新采樣點更新了未被讀取得前次采樣點時,Overrun中斷置位。Overrun功能與FIFO的工作模式有關,當FIFO工作在Bypass 模式下,如果有新采樣點更新了DATA X、DATAY和DATA Z寄存器裏的數值,則Overrun中斷置位。當FIFO工作在其他三種模式下,隻有FIFO 被存滿32點時,Overrun中斷才會置位。FIFO裏的采樣點被讀取後,Overrun中斷自動清除。
跌倒過程中的加速度變化特征
對跌倒檢測原理的研究主要是找到人體在跌倒過程中的加速度變化特征。
圖3給出的是加速度在不同運動過程中的變化曲線,包括(a)步行上樓、(b)步行下樓、(c)坐下、(d)起立。假設跌倒檢測器被固定在被測的人體 上。其中紅色的曲線是Y軸(垂直方向)的加速度曲線,其正常靜止狀態下應該為-1g;黑色和黃色的曲線分別是X軸(前後方向)和Z軸(左 右方向)的加速度曲線,其正常靜止狀態下應該為0g;綠色的曲線是三軸加速度的矢量和,其正常靜止狀態下應該為+1g。

a. 步行上樓

b. 步行下樓

c. 坐下

d. 起立
圖3 不同運動過程中的加速度變化曲線
由於老年人的運動相對比較慢,所以在普通的步行過程中,加速度變化不會很大。最明顯的加速度變化就是在坐下動作中Y軸加速度 (和加速度矢量和)上有一個超過3g的尖峰,這個尖峰是由於身體與椅子接觸而產生的。
而跌倒過程中的加速度變化則完全不同。圖4給出的是意外跌倒過程中的加速度變化曲線。通過圖4和圖3的比較,可以發現跌倒過程中的加速度變化有4 個主要特征,這可以作為跌倒檢測的準則。這4個特這在圖4中以紅色的方框標注,下麵將對其逐一進行詳細介紹:

圖 4 跌倒過程中的加速度變化曲線
1. 失重: 在跌倒的開始都會發生一定的失重現象。在自由落體的下降過程,這個現象會更加明顯,加速度的矢量和會降低 到接近0g,持續時間與自由落體的高度有關。對於一般的跌倒,失重現象雖然不會有像自由落體那麼明顯,但也會發生合加速度小於1g 的情況(通常情況下合加速度應大於1g)。因 此,這可以作為跌倒狀態的第一個判斷依據。可以由ADXL345的Free_Fall中斷來檢測。
2. 撞擊: 失重之後,人體發生跌倒的時候會與地麵或其他物體發生撞擊,在加速度曲線中會產生一個很大的衝擊。這個衝擊可 以通過ADXL345的Activity中斷來檢測。因此,Free_Fall中斷之後,緊接著產生Activity中斷是跌倒狀態的第二個判斷依據。
3. 靜止: 通常,人體在跌倒後,也就是撞擊發生之後,不可能馬上起來,會有短暫的靜止狀態(如果人因為跌倒而導致昏迷, 甚至可能是較長時間的靜止)。表現在加速度曲線上就是會有一段時間的平穩。這可以通過ADXL345的Inactivity中斷來檢測。因此, Activity中斷之後的Inactivity中斷是跌倒狀態的第三個判斷依據。
4. 與初始狀態比較: 跌倒之後,人體會發生翻轉,因此人體的方向會與原先靜止站立的姿態(初狀態)不同。這使得跌倒之 後的靜止狀態下的三軸加速度數值與初始狀態下的三軸加速度不同(見圖4)。假設跌倒檢測器固定在被測人體上的某個 部位,這樣初始狀態下的三軸加速度數值可以認為是已知的(本例中,初始狀態為:X軸0g,Y軸-1g,Z軸0g)。讀取 Inactivity中斷之後的三軸加速度數據,並與初始狀態進行比較。如圖4所示,重力加速度方向由Y軸上的-1g變為了Z軸上的1g,這說明人 體ti發fa生sheng了le側ce向xiang跌die倒dao。因yin此ci,跌die倒dao檢jian測ce的de第di四si個ge依yi據ju就jiu是shi跌die倒dao後hou的de靜jing止zhi狀zhuang態tai下xia加jia速su度du值zhi與yu初chu始shi狀zhuang態tai發fa生sheng變bian化hua,且qie矢shi量liang變bian化hua超chao過guo一yi定ding的de門men限xian值zhi(比如 0.7 g)
這四個判斷依據綜合在一起,構成了整個的跌倒檢測算法,可以對跌倒狀態給出報警。當然,還要注意各個中斷之間的時間間隔要在 合理的範圍之內。比如,除非是從很高的樓頂掉下來,否則Free_Fall中斷(失重)和Activity中斷(撞擊)之間的時間間隔不會 很長。同樣, 通常情況下, Activity中斷(撞擊)和Inactivity中斷(靜止)之間的時間間隔也不會很長。本文接下來會通過一個具體實例給出一組合理的 取值。當然,相關中斷的檢測門限以及時間參數也可以根據需要而靈活設置。
另外,如果跌倒造成了嚴重的後果,比如,導致了人的昏迷。那麼人體會在更常的一段時間內都保持靜止。這個狀態仍然可以通過 Inactivity中斷來檢測。也就是說,如果發現在跌倒之後的很長時間內都保持Inactivity狀態,可以再次給出一個嚴重報警。
典型電路連接
ADXL345 和微控製器之間的電路連接非常簡單。本文中的測試平 台由 ADXL345 和微控製器 A DuC7026 2 組成。圖 5 給出了 ADXL345 和ADuC7026.2之間的典型電路連接。 ADXL345的CS管腳接高電平,表示ADXL345工作在I2C模式。SDA和SCL是I2C總線的數據線和時鍾線,分別連接到 A DuC7026相應的I2C總線管腳。A DuC7026的一個GPIO管腳連接到ADXL345的ALT管腳,用來選擇ADXL345的I2C地址。 ADXL345的INT1管腳連接到ADuC7026的IRQ輸入用來產生中斷信號。
其他的單片機或者處理器都可以采用與圖5類似的電路與ADXL345進行連接。ADXL345還可以工作在SPI模式以獲得更高的數據傳輸速 率。關於SPI工作模式的具體描述,請參考ADXL345數據手冊。

圖 5 ADXL345與微控製器之間的典型電路連接
表1 ADXL345寄存器功能說明




*RW = Read/write; RO = Read-only
利用ADXL345簡化跌倒檢測算法
本節將給出以上解決方案的具體算法實現。表1中簡要說明了每個寄存器的作用以及在本算法中的設置值。對於各個寄存中每一位的 具體含義,請參考ADXL345的數據手冊。
需要指出的是,表1給出的設置值中,某些寄存器會給出兩個數值,這說明在算法中會切換使用這兩個數值,來達到不同的檢測目的。 算法的流程圖如圖6所示

圖 6 算法流程圖
算法中,關於各種中斷的門限以及時間參數的設置如下所述
1. 初始化後,係統等待Free_Fall中斷(失重),這裏把THRESH_FF設為0.75g,把TIME_FF設為30ms。
2. Free_Fall中斷產生之後,係統開始等待Activity中斷(撞 擊),這裏把THRESH_ACT設為2g, Activity中斷為DC coupled工作模式。
3.Free_Fall中斷(失 重)與Activity中斷(撞擊)之間的時間間隔設置為200ms。如果超過200ms,則認為無效。 200ms計時需要通過MCU中的定時器來實現
4. Activity中斷產生之後,係統開始等待Inactivity中斷(撞擊後的靜止 ),這裏把THRESH_INACT設為0.1875g,把 TIME_INACT設為2s,Inactivity中斷為AC coupled工作模式。
5. 在Activity中斷產(撞擊)生之後的3.5s時間之內,應該 有Inactivity中斷(撞擊後的靜止)產生。如果超時,則認為無效。 3.5s計時需要通過MCU中的定時器來實現。
6. 如果Inactivity中斷之後的加速度值與初始狀態(假設已知)下數值的矢量差超過0.7g,則說明檢測到一次有效的跌倒,係統會給出一個報警。
7. 當檢測到跌倒狀態之後,為了判斷是否在跌倒之後人體有長時間的靜止不動。需要繼續檢測Activity中斷和Inactivity中斷。這裏把 THRESH_ACT設為0.5g,Activity中斷為AC coupled工作模式。把THRESH_INACT設為0.1875g,把 TIME_INACT設為10s,Inactivity中斷為AC coupled工作模式 。也就是說,如果在10s之內,人體一直沒有任何動作,則會產生 Inactivity中斷,使係統給出一個嚴重報警。而在此期間一旦人體有所動作,則會產生Activity中斷,從而結束整個判斷過程。
8. 本算法還可以檢測出人體從較高的地方跌落。如果Free_Fall中斷連續產生且之間的間隔小於100m s,可以認為,人體處於連續的跌落狀態。如果 Free_Fall中斷(失重)連續發生300ms,則說明人體是從超過0.45m的高度跌落,係統會給出一個跌落的報警。
本算法已在ADuC7026微控製器中以C語言實現(見附錄)。本文設計了一個實驗方案對算法進行驗證。實驗對向前跌倒,向後跌倒,向左、 右兩側跌倒等不同跌倒姿勢以及跌倒後是否有長時間靜止狀態的情況分別進行了10次測試,表2中給出的是相關測試結果。
表2 測試結果

注: 符號 ✓ 表示檢測到跌倒; 符號 * 表示檢測到跌倒後長時間靜止.
從這個實驗中可以看出基於ADXL345的解決方案能夠有效地對跌倒狀態進行檢測。當然,這裏隻是一個簡單的實驗方案,仍需要進行 更加全麵、有效和長期的實驗來驗證該解決方案的可靠性。
結論
ADXL345是ADI公司的一款功能強大的加速度傳感器產品。本文利用ADXL345內部的多種運動狀態檢測功能和靈活的中斷功能,提出一 種新的跌倒檢測解決方案。經驗證,該解決方案具有算法複雜度低,檢測準確度高的優點。
參考電路
1 ADXL345數據手冊(www.analog.com,搜索ADXL345)
2 ADuC7026數據手冊(www.analog.com,搜索ADuC7026)
免責聲明:本文為轉載文章,轉載此文目的在於傳遞更多信息,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問題,請聯係小編進行處理。
推薦閱讀:
特別推薦
- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運行!氮矽科技發布集成驅動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內阻、超低失真4PST模擬開關
- 一“芯”雙電!聖邦微電子發布雙輸出電源芯片,簡化AFE與音頻設計
- 一機適配萬端:金升陽推出1200W可編程電源,賦能高端裝備製造
技術文章更多>>
- 1200餘家企業齊聚深圳,CITE2026打造電子信息產業創新盛宴
- 掌握 Gemini 3.1 Pro 參數調優的藝術
- 築牢安全防線:電池擠壓試驗機如何為新能源產業護航?
- Grok 4.1 API 實戰:構建 X 平台實時輿情監控 Agent
- 電源芯片國產化新選擇:MUN3CAD03-SF助力物聯網終端“芯”升級
技術白皮書下載更多>>
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
逆變器
逆導可控矽
鎳鎘電池
鎳氫電池
紐扣電池
歐勝
耦合技術
排電阻
排母連接器
排針連接器
片狀電感
偏光片
偏轉線圈
頻率測量儀
頻率器件
頻譜測試儀
平板電腦
平板顯示器
齊納二極管
氣動工具
氣體傳感器
氣體放電管
汽車電子
汽車繼電器
汽車連接器
牆壁開關
翹板開關
驅動模塊
燃料電池
繞線電感






