對于一個人來說,經歷未被觀察到的跌倒可能是雙重危險的。如果在短時間內沒有獲得治療,可能的后果可能會進一步加劇初始損傷的明顯可能性。例如,許多老年人可能會因虛弱或頭暈而意外跌倒,或者一般來說,他們的自我護理和自我保護能力下降。由于這些事故往往很脆弱,如果不及時提供援助,這些事故可能會產生嚴重后果。統(tǒng)計數字表明,大多數嚴重后果不是跌倒的直接結果,而是由于援助和治療的延誤。如果能夠及時向救援人員發(fā)出警報,就可以大大減少墜落后的后果。
除了老年人之外,還有許多其他條件和活動,立即提醒可能跌落,特別是從高處墜落,將非常有幫助 - 例如登山者,建筑工人,窗戶清洗工,油漆工和屋頂工。
鑒于這種對跌倒發(fā)出警告的需要,開發(fā)用于檢測和預測所有類型的跌倒的設備已成為一個熱門話題。近年來,微機電系統(tǒng)(MEMS)加速度傳感器的技術進步使得基于3軸集成MEMS(iMEMS)加速度計的跌倒檢測器設計成為可能。該技術基于通過跟蹤三個正交方向的加速度變化來檢測佩戴傳感器的個人運動和身體位置變化的原理。通過算法不斷分析數據,以確定個人的身體是否在下落。如果有人跌倒,該設備可以使用GPS和無線發(fā)射器來確定位置并發(fā)出警報以獲得幫助。跌倒檢測的核心要素是判斷是否存在緊急跌倒情況的有效、可靠的檢測原理和算法。
本文基于對單個身體跌倒檢測原理的研究,提出了一種利用ADXL345檢測跌倒情況的新解決方案,1ADI公司的3軸加速度計。
ADXL345 i微機電系統(tǒng)加速度計
我MEMS半導體技術在單個硅芯片上結合了微機械結構和電路。使用這項技術,iMEMS加速度計在單軸、雙軸甚至三軸上檢測加速度,并提供模擬或數字輸出。根據應用的不同,加速度計可以提供不同的檢測范圍,從幾g到幾十g。數字版本甚至可能具有多種中斷模式。這些功能為用戶提供了方便靈活的解決方案。
最近推出的ADXL345是一款帶數字輸出的iMEMS 3軸加速度計。它具有可選的 ±2-g、±4-g、±8-g 或 ±16-g 測量范圍;分辨率高達13位;固定的 4 毫克/低血糖素靈敏度;微型 3 毫米× 5 毫米× 1 毫米封裝;超低功耗(25 μA 至 130 μA);標準 I2C和SPI串行數字接口;和 32 級 FIFO 存儲。各種內置功能,包括運動狀態(tài)檢測和靈活中斷,大大簡化了跌倒檢測算法的實現。如您所見,這種特性組合使ADXL345成為跌倒檢測器應用的理想加速度計。?
這里提出的跌倒檢測解決方案充分利用了這些內部功能,最大限度地降低了算法的復雜性,幾乎不需要訪問實際加速度值或執(zhí)行任何其他計算。
中斷系統(tǒng)
圖1顯示了ADXL345的系統(tǒng)框圖和引腳定義。
圖1.ADXL345系統(tǒng)框圖和引腳名稱
ADXL345具有兩個可編程中斷引腳(INT1和INT2),共有8種中斷功能可用。每個中斷都可以獨立啟用或禁用,并可選擇映射到 INT1 或 INT2 引腳。所有功能可以同時使用——唯一的限制功能是某些功能可能需要共享中斷引腳。這八個功能是:DATA_READY、SINGLE_TAP、DOUBLE_TAP、活動、不活動、FREE_FALL、水印和超限。中斷通過在INT_ENABLE寄存器中設置適當的位來啟用,并根據INT_MAP寄存器的內容映射到 INT1 或 INT2 引腳。中斷函數定義如下:
1. DATA_READY在新數據可用時設置,在沒有新數據可用時清除。
2. 當單個加速事件大于THRESH_TAP寄存器中的值發(fā)生的時間短于 DUR 寄存器中指定的時間時,將設置SINGLE_TAP。
3. 當發(fā)生兩個大于THRESH_TAP寄存器中的值且短于 DUR 寄存器中指定時間的加速事件時,設置DOUBLE_TAP,第二次抽頭在潛伏寄存器指定的時間之后并在 WINDOW 寄存器中指定的時間內開始。
圖 2 說明了有效的SINGLE_TAP中斷和DOUBLE_TAP中斷。
圖2.SINGLE_TAP和DOUBLE_TAP中斷。
4. 當加速度大于存儲在THRESH_ACT寄存器中的值時,將設置 ACTIVITY。
5. 當加速度小于THRESH_INACT寄存器中存儲的值超過TIME_INACT寄存器中指定的時間時,將設置不活動狀態(tài)。TIME_INACT的最大值為 255 秒。
注意: 使用活動和非活動中斷,用戶可以單獨啟用或禁用每個軸。例如,可以在禁用 Y 軸和 Z 軸中斷的同時啟用 X 軸的 ACTIVITY 中斷。
此外,用戶可以在活動中斷和非活動中斷的直流耦合或交流耦合操作模式之間進行選擇。在直流耦合操作中,將電流加速度與THRESH_ACT進行比較,并直接THRESH_INACT以確定是否檢測到ACTIVITY或不ACTIVITY。在活動檢測的交流耦合操作中,以活動檢測開始時的加速度值作為參考值。然后將新的加速度樣本與該參考值進行比較;如果差異的大小超過 THRESH_ACT,設備將觸發(fā) ACTIVITY 中斷。在用于不活動檢測的交流耦合操作中,參考值用于比較,并在器件超過非活動閾值時更新。選擇參考值后,設備將參考值與當前加速度之間的差異大小與THRESH_INACT進行比較。如果總共 TIME_INACT 的差異低于 THRESH_INACT,則設備被視為非活動狀態(tài),并觸發(fā)非活動中斷。
6. 當THRESH_FF寄存器中存儲的加速度小于TIME_FF寄存器中指定的時間時,設置FREE_FALL。FREE_FALL中斷主要用于檢測自由落體運動。因此,FREE_FALL中斷與不活動中斷的不同之處在于,所有軸始終參與,計時器周期短得多(最長1.28秒),并且始終是直流耦合的。
7. 當FIFO中的樣本數量已填滿到存儲在SAMPLES寄存器中的值時,將設置水印。當讀取FIFO并將其內容清空到SAMPLES寄存器中存儲的值以下時,它會自動清除。
注意:ADXL345中的FIFO寄存器具有四種工作模式:旁路、FIFO、流和觸發(fā);最多可存儲 32 個樣品(X、Y 和 Z 軸)。先進先出功能是一個重要且非常有用的功能;但是,所提出的解決方案不使用FIFO功能,因此不再進一步討論。
8. 當新數據替換未讀數據時,將設置超限。OVERRUN的精確操作取決于FIFO的操作模式。在旁路模式下,當新數據替換 DATAX、DATAY 和 DATAZ 寄存器中的未讀數據時,將設置 OVERRUN。在所有其他模式下,當FIFO充滿32個樣本時,將設置OVERRUN。OVERRUN通過讀取FIFO內容來清除,并在讀取數據時自動清除。
下降時的加速變化特性
關于跌倒檢測原理的主要研究集中在人類跌倒時發(fā)生的加速度變化。
圖3顯示了(a)走下樓,(b)上樓,(c)坐下和(d)從椅子上站起來時發(fā)生的加速度變化。跌倒檢測器安裝在個人身體的皮帶上。紅色軌跡是 Y 軸(垂直)加速度;平衡時為-1 g。黑色和黃色軌跡分別是 X 軸(向前)和 Z 軸(橫向)加速度。它們在平衡時均為 0 g。綠色跡線是矢量和大小,平衡時為 1 g。
a. 走下樓。
b. 走上樓。
c. 坐下。
d. 站起來。
圖3.加速度計對不同類型運動的響應。
由于老年人的運動比較慢,在步行運動過程中加速度變化不會很明顯。最明顯的加速度是在坐下的那一刻Y(和矢量和)的3g峰值。
下降時的加速度完全不同。圖 4 顯示了意外跌落期間的加速度變化。通過將圖 4 與圖 3 進行比較,我們可以看到跌倒事件的四個關鍵差異特征,這些差異可以作為跌倒檢測的標準。它們在紅色框中標記,并詳細說明如下:
圖4.下降過程中的加速度變化曲線。
1.跌倒的開始:失重的現象總是發(fā)生在跌倒開始時。在自由落體過程中它會變得更加顯著,加速度的矢量和將趨向于0 g;這種情況的持續(xù)時間將取決于自由落體的高度。盡管普通墜落時的失重不如自由落體時的失重那么顯著,但加速度的矢量和仍將大大小于1 g(而在正常條件下通常大于1 g)。因此,這是確定ADXL345的FREE_FALL中斷可以檢測到的跌落狀態(tài)的第一個基礎。
2.撞擊:人體在經歷失重后,會撞擊地面或其他物體;加速度曲線顯示這是一個很大的沖擊。這種沖擊由ADXL345的活動中斷檢測到。因此,確定跌倒的第二個依據是緊隨FREE_FALL中斷之后的 ACTIVITY 中斷。
3、善后:一般來說,人體在跌倒并造成沖擊后,不能立即起身;相反,它在短時間內保持靜止不動(或更長時間作為無意識的可能跡象)。在加速度曲線上,這表現為平線的區(qū)間,并由ADXL345的不活動中斷檢測到。因此,確定跌倒情況的第三個依據是 ACTIVITY 中斷之后的不活動中斷。
4.跌倒前后比較:跌倒后,個體的身體方向會與跌倒前不同,因此三個軸上的靜態(tài)加速度將與跌倒前的初始狀態(tài)不同(圖4)。假設跌倒檢測器在個人的身體上系有皮帶連接,以提供整個加速歷史,包括初始狀態(tài)。我們可以在非活動中斷后讀取所有三個軸上的加速度數據,并將這些采樣數據與初始狀態(tài)進行比較。在圖 4 中,很明顯身體側倒,因為靜態(tài)加速度從 Y 軸上的 –1 g 變?yōu)?Z 軸上的 +1 g。 因此,確定下降的第四個基礎是采樣數據和初始狀態(tài)之間的差異是否超過某個閾值,例如 0.7 g。
這些限定條件的組合構成了整個跌倒檢測算法,該算法在執(zhí)行時可以使系統(tǒng)發(fā)出適當的警報,指出發(fā)生了跌倒。當然,中斷之間的時間間隔必須在合理的范圍內。通常,FREE_FALL中斷(失重)和活動中斷(撞擊)之間的時間間隔不是很長,除非一個人從非常高的建筑物頂部墜落!同樣,活動中斷(影響)和不活動中斷(基本上靜止)之間的時間間隔不應該很長。下一節(jié)將給出一個實際示例,其中包含一組合理的值。可根據需要靈活設置相關的中斷檢測閾值和時間參數。
如果跌倒導致嚴重后果,例如失去知覺,人體將在更長的時間內保持靜止,這種狀態(tài)仍然可以由不活動中斷檢測到,因此如果檢測到非活動狀態(tài),則可以發(fā)出第二個嚴重警報在跌倒后持續(xù)定義的很長一段時間。
典型電路連接
ADXL345和微控制器之間的電路連接非常簡單。本文 的 測試 平臺 使用 ADXL345 和 ADuC7026 模擬微控制器 — 后者 具有 12 位 模擬 I/ O 和 ARM7TDMI MCU。圖5顯示了ADXL345和ADuC7026之間的典型連接。?2當ADXL345的/CS引腳連接高電平時,ADXL345工作在I2C 模式。SDA和SCL,I的數據和時鐘2C總線,連接到ADuC7026的相應引腳。ADuC7026的GPIO連接到ADXL345的ALT引腳,以選擇I2ADXL345的C地址和ADXL345的INT1引腳連接到ADuC7026的IRQ輸入以產生中斷信號。
其他MCU或處理器類型可用于訪問ADXL345,其電路連接與圖5類似,但ADuC7026還提供數據采集功能,包括多通道模數轉換和數模轉換。ADXL345數據手冊介紹了實現更高數據速率的SPI模式應用。
圖5.ADXL345和微控制器之間的典型電路連接。
表 1.ADCL345寄存器功能說明
十六進制地址 |
寄存器 名稱 |
類型* | 重置值 | 描述 | 算法中的設置* | 算法中設置的功能 |
0 | DEVID | R0 | 0xE5 | 設備 ID | R0 | |
1-1C | Reserved | 保留,無法訪問 | 保留 | |||
1D | THRESH_ TAP | RW | 0x00 | 點擊閾值 | 未使用 | |
1E | OFSX | RW | 0x00 | X 軸偏移 | 0x06 | X 軸,從初始化校準中獲得偏移補償 |
1F | OFSY | RW | 0x00 | Y 軸偏移 | 0xF9 | Y 軸偏移補償,從初始化校準獲取 |
20 | OFSZ | RW | 0x00 | Z 軸偏移 | 0xFC | Z軸偏移補償,從初始化校準中獲取 |
21 | DUR | RW | 0x00 | 點擊持續(xù)時間 | 未使用 | |
22 | LATENT | RW | 000 | 抽頭延遲 | 未使用 | |
23 | WINDOW | RW | 0x00 | 點按窗口 | 未使用 | |
24 | THRESH_ ACT | RW | 0x00 | 活動閾值 | 0x20/0x08 | 將活動閾值設置為 2 g/0.5 g |
25 | THRESH_ INACT | W | 0x00 | 不活動閾值 | 0x03 | 將不活動閾值設置為 0.1875 g |
26 | TIME_ INACT | RW | 0x00 | 不活動時間 | 0x02/0x0A | 將非活動時間設置為 2 秒或 10 秒 |
27 | ACT_ IACT_CTL | RW | 0x00 | 活動/不活動的軸啟用控制 | 0x7F/0xFF | 啟用 X、Y、Z 軸的活動和非活動,其中不活動是交流耦合模式,活動是直流耦合/交流耦合模式 |
28 | THRESH_FF | RW | 0x00 | 自由落體閾值 | 0x0C | 將自由落體閾值設置為 0.75 g |
29 | TIME_FF | RW | 0x00 | 自由落體時間 | 0x06 | 將自由落體時間設置為 30 ms |
2A | TAP_AXES | RW | 0x00 | 點擊/雙擊的軸控制 | 未使用 | |
2B | ACT_TAP _STATUS | RO | 0x00 | 活動來源/點擊 | 只讀 | |
2C | BW_RATE | RW | 0x0A | 數據速率和功率模式控制 | 0x0A | 將采樣率設置為 100 Hz |
2D | POWER_ CTL | RW | 0x00 | 省電功能控制 | 0x00 | 設置為正常工作模式 |
2E | INT_ ENABLE | RW | 0x00 | 中斷使能控制 | 0x1C | 啟用活動、不活動、自由落體中斷 |
2F | INT_ MAP | RW | 0x00 | 中斷映射控制 | 0x00 | 將所有中斷映射到 Int1 引腳 |
30 | INT_ SOURCE | RO | 0x00 | 中斷源 | 反滲透 | |
31 | DATA_ FORMAT | RW | 0x00 | 數據格式控制 | 0x0B | 設置為±16 g測量范圍,13位右對齊,高電平中斷觸發(fā),I2C 接口 |
32 | 數據x0 | RO | 0x00 | X 軸數據 | 反滲透 | |
33 | 數據X1 | RO | 0x00 | 反滲透 | ||
34 | 數據0 | RO | 0x00 | Y 軸數據 | 反滲透 | |
35 | 數據1 | RO | 0x00 | 反滲透 | ||
36 | DATAZ0 | RO | 0x00 | Z 軸數據 | 反滲透 | |
37 | DATAZ1 | RO | 0x00 | 反滲透 | ||
38 | FIFO_ CTL | RW | 0x00 | 先進先出控制 | 未使用 | |
39 | FIFO_ STATUS | RW | 0x00 | 先進先出狀態(tài) | 未使用 | |
*RW = 讀/寫;RO = 只讀 |
使用ADXL345簡化跌倒檢測
表1和圖5定義了上述解決方案的算法實現。表中包括每個寄存器的功能,本算法中使用的值如圖所示。請參考ADXL345數據手冊,了解每個寄存器位的詳細定義。
表1中的某些寄存器將具有兩個值。這表示算法針對檢測的不同方面在這些值之間切換。圖 6 是算法流程圖。
結論
ADXL345是一款功能強大、功能齊全的加速度計。我們已經描述了一種針對跌倒檢測問題提出的新解決方案,該解決方案利用了各種內置的運動狀態(tài)檢測功能和靈活的中斷。測試表明,它結合了低算法復雜度和高檢測精度。
-
傳感器
+關注
關注
2548文章
50698瀏覽量
752058 -
mems
+關注
關注
129文章
3899瀏覽量
190362 -
加速度計
+關注
關注
6文章
699瀏覽量
45860
發(fā)布評論請先 登錄
相關推薦
評論