三軸加速度傳感器在跌倒檢測中的應用
前言
人們在跌倒后會面臨雙重危險。顯而易見的是跌倒本身可能對人體產(chǎn)生傷害;另外,如果跌倒后不能得到及時的救助,可能會使結果更加惡化。例如,許多老年人由于其身體比較虛弱,自理能力和自我保護能力下降,常常會發(fā)生意外跌倒,如果得不到及時的救助,這種跌倒可能會導致非常嚴重的后果。有資料顯示,很多嚴重的后果并不是由于跌倒直接造成的,而是由于跌倒后,未得到及時的處理和救護。當出現(xiàn)跌倒情況時,如果能夠及時地通知到救助人員,將會大大地減輕由于跌倒而造成的危害。
不僅是對老人,在很多其他情況下,跌倒的報警也是非常有幫助的,尤其是從比較高的地方跌倒下來的時候。比如人們在登山,建筑,擦窗戶,刷油漆和修理屋頂?shù)臅r候。
這促使人們越來越熱衷于對跌倒檢測以及跌倒預報儀器的研制。近年來,隨著iMEMS®加速度傳感器技術的發(fā)展,使得設計基于三軸加速度傳感器的跌倒檢測器成為可能。這種跌倒檢測器的基本原理是通過測量佩戴該儀器的個體在運動過程中的三個正交方向的加速度變化來感知其身體姿態(tài)的變化,并通過算法分析判斷該個體是否發(fā)生跌倒情況。當個體發(fā)生跌倒時,儀器能夠配合GPS模塊以及無線發(fā)送模塊對這一情況進行定位及報警,以便獲得相應的救助。而跌倒檢測器的核心部分就是判斷跌倒情況是否發(fā)生的檢測原理及算法。
ADXL3451是ADI公司的一款3軸、數(shù)字輸出的加速度傳感器。本文將在研究跌倒檢測原理的基礎上,提出一種基于ADXL345的新型跌倒檢測解決方案。
iMEMS加速度傳感器ADXL345
iMEMS 半導體技術把微型機械結構與電子電路集成在同一顆芯片上。iMEMS加速度傳感器就是利用這種技術,實現(xiàn)對單軸、雙軸甚至三軸加速度進行測量并產(chǎn)生模擬或數(shù)字輸出的傳感器。根據(jù)不同的應用,加速度傳感器的測量范圍從幾g到幾十g不等。數(shù)字輸出的加速度傳感器還會集成多種中斷模式。這些特性可以為用戶提供更加方便靈活的解決方案。
ADXL345是ADI公司最近推出的基于iMEMS技術的3軸、數(shù)字輸出加速度傳感器。ADXL345具有+/-2g,+/-4g,+/-8g,+/-16g可變的測量范圍;最高13bit分辨率;固定的4mg/LSB靈敏度;3mm*5mm*1mm超小封裝;40-145uA超低功耗;標準的I2C或SPI數(shù)字接口;32級FIFO存儲;以及內(nèi)部多種運動狀態(tài)檢測和靈活的中斷方式等特性。所有這些特性,使得ADXL345有助于大大簡化跌倒檢測算法,使其成為一款非常適合用于跌倒檢測器應用的加速度傳感器。
本文給出的跌倒檢測解決方案,完全基于ADXL345內(nèi)部的運動狀態(tài)檢測功能和中斷功能,甚至不需要對加速度的具體數(shù)值進行實時讀取和復雜的計算操作,可以使算法的復雜度降至最低。
中斷系統(tǒng)
圖1給出了ADXL345的系統(tǒng)框圖及管腳定義。
圖1 ADXL345系統(tǒng)框圖及管腳定義
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 當有新的數(shù)據(jù)產(chǎn)生時,Data_Ready中斷置位;當沒有新的數(shù)據(jù)時,Data_Ready中斷清除。
2. Single_Tap 當加速度值超過一定門限(THRESH_TAP)并且持續(xù)時間小于一定時間范圍(DUR)的時候,Single_Tap中斷置位。
3. Double_Tap 當?shù)谝淮蜸ingle_Tap事件發(fā)生后,在一定時間(LATENT)之后,并在一定時間(WINDOW)之內(nèi),又發(fā)生第二次Single_Tap事件時,Double _Tap中斷置位。
圖2給出了有效的Single_Tap中斷和Double _Tap中斷的示意圖。
圖2 Single_Tap和Double _Tap中斷示意
4. Activity 當加速度值超過一定門限(THRESH_ACT)時,Activity中斷置位。
5. Inactivity 當加速度值低于一定門限(THRESH_INACT)并且持續(xù)超過一定時間(TIME_INACT)時,Inactivity中斷置位。TIME_INACT可以設定的最長時間為255s。
需要指出的是,對于Activity和Inactivity中斷,用戶可以針對X、Y、Z軸來分別進行使能或禁用。比如,可以只使能X軸的Activity中斷,而禁用Y軸和Z軸的Activity中斷。
另外,對于Activity和Inactivity中斷,用戶還可以自由選擇DC coupled工作方式或者AC coupled工作方式。其區(qū)別在于,DC coupled工作方式下,每個采樣點的加速度值將直接與門限(THRESH_ACT或THRESH_INACT)進行比較,來判斷是否發(fā)生中斷;而AC coupled工作方式下,新的采樣點將以之前的某個采樣點為參考,用兩個采樣點的差值與門限(THRESH_ACT或THRESH_INACT)進行比較,來判斷是否發(fā)生中斷。AC coupled工作方式下的Activity檢測,是選擇檢測開始時的那一個采樣點作為參考,以后每個采樣點的加速度值都與參考點進行比較。如果它們的差值超過門限(THRESH_ACT),則Activity中斷置位。AC coupled工作方式下的Inctivity檢測,同樣要選擇一個參考點。如果新采樣點與參考點的加速度差值超過門限(THRESH_INACT),參考點會被該采樣點更新。如果新采樣點與參考點的加速度差值小于門限(THRESH_INACT),并且持續(xù)超過一定時間(TIME_INACT),則Inctivity置位。
6. Free_Fall 當加速度值低于一定門限(THRESH_FF)并且持續(xù)超過一定時間(TIME_FF)時,F(xiàn)ree_Fall中斷置位。與Inactivity中斷的區(qū)別在于,F(xiàn)ree_Fall中斷主要用于對自由落體運動的檢測。因此, X、Y、Z軸總是同時被使能或禁用;其時間設定也比Inactivity中斷中要小很多,TIME_FF可以設定的最大值為1.28s;而且Free_Fall中斷只能是DC coupled工作方式。
評論