三軸加速度傳感器在跌倒檢測(cè)中的應(yīng)用
而跌倒過程中的加速度變化則完全不同。圖4給出的是意外跌倒過程中的加速度變化曲線。通過圖4和圖3的比較,可以發(fā)現(xiàn)跌倒過程中的加速度變化有4個(gè)主要特征,這可以作為跌倒檢測(cè)的準(zhǔn)則。這4個(gè)特這在圖4中以紅色的方框標(biāo)注,下面將對(duì)其逐一進(jìn)行詳細(xì)介紹。
圖4 跌倒過程中的加速度變化曲線
1. 失重:在跌倒的開始都會(huì)發(fā)生一定的失重現(xiàn)象。在自由落體的下降過程,這個(gè)現(xiàn)象會(huì)更加明顯,加速度的矢量和會(huì)降低到接近0g,持續(xù)時(shí)間與自由落體的高度有關(guān)。對(duì)于一般的跌倒,失重現(xiàn)象雖然不會(huì)有像自由落體那么明顯,但也會(huì)發(fā)生合加速度小于1g的情況(通常情況下合加速度應(yīng)大于1g)。因此,這可以作為跌倒?fàn)顟B(tài)的第一個(gè)判斷依據(jù)??梢杂葾DXL345的Free_Fall中斷來檢測(cè)。
2. 撞擊:失重之后,人體發(fā)生跌倒的時(shí)候會(huì)與地面或其他物體發(fā)生撞擊,在加速度曲線中會(huì)產(chǎn)生一個(gè)很大的沖擊。這個(gè)沖擊可以通過ADXL345的Activity中斷來檢測(cè)。因此,F(xiàn)ree_Fall中斷之后,緊接著產(chǎn)生Activity中斷是跌倒?fàn)顟B(tài)的第二個(gè)判斷依據(jù)。
3. 靜止:通常,人體在跌倒后,也就是撞擊發(fā)生之后,不可能馬上起來,會(huì)有短暫的靜止?fàn)顟B(tài)(如果人因?yàn)榈苟鴮?dǎo)致昏迷,甚至可能是較長(zhǎng)時(shí)間的靜止)。表現(xiàn)在加速度曲線上就是會(huì)有一段時(shí)間的平穩(wěn)。這可以通過ADXL345的Inactivity中斷來檢測(cè)。因此,Activity中斷之后的Inactivity中斷是跌倒?fàn)顟B(tài)的第三個(gè)判斷依據(jù)。
4. 與初始狀態(tài)比較:跌倒之后,人體會(huì)發(fā)生翻轉(zhuǎn),因此人體的方向會(huì)與原先靜止站立的姿態(tài)(初始狀態(tài))不同。這使得跌倒之后的靜止?fàn)顟B(tài)下的三軸加速度數(shù)值與初始狀態(tài)下的三軸加速度不同(見圖4)。假設(shè)跌倒檢測(cè)器固定在被測(cè)人體上的某個(gè)部位,這樣初始狀態(tài)下的三軸加速度數(shù)值可以認(rèn)為是已知的(本例中,初始狀態(tài)為:X軸0g,Y軸-1g,Z軸0g)。讀取Inactivity中斷之后的三軸加速度數(shù)據(jù),并與初始狀態(tài)進(jìn)行比較。如圖4所示,重力加速度方向由Y軸上的-1g變?yōu)榱薢軸上的1g,這說明人體發(fā)生了側(cè)向跌倒。因此,跌倒檢測(cè)的第四個(gè)依據(jù)就是跌倒后的靜止?fàn)顟B(tài)下加速度值與初始狀態(tài)發(fā)生變化,且矢量變化超過一定的門限值(比如0.7g)。
這四個(gè)判斷依據(jù)綜合在一起,構(gòu)成了整個(gè)的跌倒檢測(cè)算法,可以對(duì)跌倒?fàn)顟B(tài)給出報(bào)警。當(dāng)然,還要注意各個(gè)中斷之間的時(shí)間間隔要在合理的范圍之內(nèi)。比如,除非是從很高的樓頂?shù)粝聛恚駝tFree_Fall中斷(失重)和Activity中斷(撞擊)之間的時(shí)間間隔不會(huì)很長(zhǎng)。同樣,通常情況下, Activity中斷(撞擊)和Inactivity中斷(靜止)之間的時(shí)間間隔也不會(huì)很長(zhǎng)。本文接下來會(huì)通過一個(gè)具體實(shí)例給出一組合理的取值。當(dāng)然,相關(guān)中斷的檢測(cè)門限以及時(shí)間參數(shù)也可以根據(jù)需要而靈活設(shè)置。
另外,如果跌倒造成了嚴(yán)重的后果,比如,導(dǎo)致了人的昏迷。那么人體會(huì)在更常的一段時(shí)間內(nèi)都保持靜止。這個(gè)狀態(tài)仍然可以通過Inactivity中斷來檢測(cè)。也就是說,如果發(fā)現(xiàn)在跌倒之后的很長(zhǎng)時(shí)間內(nèi)都保持Inactivity狀態(tài),可以再次給出一個(gè)嚴(yán)重報(bào)警。
典型電路連接
ADXL345和微控制器之間的電路連接非常簡(jiǎn)單。本文中的測(cè)試平臺(tái)由ADXL345和微控制器ADuC70262組成。圖5給出了ADXL345和ADuC70262之間的典型電路連接。ADXL345的CS管腳接高電平,表示ADXL345工作在I2C模式。SDA和SCL是I2C總線的數(shù)據(jù)線和時(shí)鐘線,分別連接到ADuC7026相應(yīng)的I2C總線管腳。ADuC7026的一個(gè)GPIO管腳連接到ADXL345的ALT管腳,用來選擇ADXL345的I2C地址。ADXL345的INT1管腳連接到ADuC7026的IRQ輸入用來產(chǎn)生中斷信號(hào)。
其他的單片機(jī)或者處理器都可以采用與圖5類似的電路與ADXL345進(jìn)行連接。ADXL345還可以工作在SPI模式以獲得更高的數(shù)據(jù)傳輸速率。關(guān)于SPI工作模式的具體描述,請(qǐng)參考ADXL345數(shù)據(jù)手冊(cè)。
圖5 ADXL345與微控制器之間的典型電路連接
表1 ADXL345寄存器功能說明
地址 | 寄存器名稱 | 類型 | 默認(rèn)值 | 說明 | 設(shè)置值 | 設(shè)置的功能 |
0 | DEVID | 只讀 | 0xE5 | 器件ID | 只讀 | |
1-1C | Reserved | 保留,不要操作 | 保留 | |||
1D | THRESH_TAP | 讀/寫 | 0x00 | Tap的門限 | 不使用 | |
1E | OFSX | 讀/寫 | 0x00 | X軸失調(diào) | 0x06 | 補(bǔ)償X軸失調(diào),通過初始化校正獲得 |
1F | OFSY | 讀/寫 | 0x00 | Y軸失調(diào) | 0xF9 | 補(bǔ)償Y軸失調(diào),通過初始化校正獲得 |
20 | OFSZ | 讀/寫 | 0x00 | Z軸失調(diào) | 0xFC | 補(bǔ)償Z軸失調(diào),通過初始化校正獲得 |
21 | DUR | 讀/寫 | 0x00 | Tap的持續(xù)時(shí)間 | 不使用 | |
22 | LATENT | 讀/寫 | 0x00 | Tap的延遲時(shí)間 | 不使用 | |
23 | WINDOW | 讀/寫 | 0x00 | Tap的時(shí)間窗 | 不使用 | |
24 | THRESH_ACT | 讀/寫 | 0x00 | Activity的門限 | 0x20/0x08 | 設(shè)置Activity的門限為2g或0.5g |
25 | THRESH_INACT | 讀/寫 | 0x00 | Inactivity的門限 | 0x03 | 設(shè)置Inactivity的門限為0.1875g |
26 | TIME_INACT | 讀/寫 | 0x00 | Inactivity的時(shí)間 | 0x02/0x0A | 設(shè)置Inactivity的時(shí)間為2s或10s |
27 | ACT_INACT_CTL | 讀/寫 | 0x00 | Activity/Inactivity使能控制 | 0x7F/0xFF | 使能X、Y、Z三軸的Activity和Inactivity功能,其中Inactivity為AC coupled模式,Activity為DC coupled 或 AC coupled模式 |
28 | THRESH_FF | 讀/寫 | 0x00 | Free-Fall的門限 | 0x0C | 設(shè)置Free-Fall的門限為0.75g |
29 | TIME_FF | 讀/寫 | 0x00 | Free-Fall的時(shí)間 | 0x06 | 設(shè)置Free-Fall的時(shí)間為30ms |
2A | TAP_AXES | 讀/寫 | 0x00 | Tap/Double Tap使能控制 | 不使用 | |
2B | ACT_TAP_STATUS | 只讀 | 0x00 | Activity/Tap中斷軸指示 | 只讀 | |
2C | BW_RATE | 讀/寫 | 0x0A | 采樣率和功耗模式控制 | 0x0A | 設(shè)置采樣率為100Hz |
2D | POWER_CTL | 讀/寫 | 0x00 | 工作模式控制 | 0x00 | 設(shè)置為正常工作模式 |
2E | INT_ENABLE | 讀/寫 | 0x00 | 中斷使能控制 | 0x1C | 使能Activity、Inactivity、Free-Fall中斷 |
2F | INT_MAP | 讀/寫 | 0x00 | 中斷影射控制 | 0x00 | 所有中斷影射到Int1管腳 |
30 | INT_SOURCE | 只讀 | 0x00 | 中斷源指示 | 只讀 | |
31 | DATA_FORMAT | 讀/寫 | 0x00 | 數(shù)據(jù)格式控制 | 0x0B | 設(shè)置為+/-16g測(cè)量范圍,13bit右對(duì)齊模式,中斷為高電平觸發(fā),使用I2C數(shù)據(jù)接口 |
32 | DATAX0 | 只讀 | 0x00 | X軸數(shù)據(jù) | 只讀 | |
33 | DATAX1 | 只讀 | 0x00 | 只讀 | ||
34 | DATAY0 | 只讀 | 0x00 | Y軸數(shù)據(jù) | 只讀 | |
35 | DATAY1 | 只讀 | 0x00 | 只讀 | ||
36 | DATAZ0 | 只讀 | 0x00 | Z軸數(shù)據(jù) | 只讀 | |
37 | DATAZ1 | 只讀 | 0x00 | 只讀 | ||
38 | FIFO_CTL | 讀/寫 | 0x00 | FIFO控制 | 不使用 | |
39 | FIFO_STATUS | 只讀 | 0x00 | FIFO狀態(tài) | 不使用 |
評(píng)論