三軸加速度傳感器在跌倒檢測中的應(yīng)用_第1頁
三軸加速度傳感器在跌倒檢測中的應(yīng)用_第2頁
三軸加速度傳感器在跌倒檢測中的應(yīng)用_第3頁
三軸加速度傳感器在跌倒檢測中的應(yīng)用_第4頁
三軸加速度傳感器在跌倒檢測中的應(yīng)用_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

.、一、-前言人們在跌倒后會面臨雙重危險。顯而易見的是跌倒本身可能對人體產(chǎn)生傷害;另外,如果跌倒后不能得到及時的救助,可能會使結(jié)果更加惡化。例如,許多老年人由于其身體比較虛弱,自理能力和自我保護(hù)能力下降,常常會發(fā)生意外跌倒,如果得不到及時的救助,這種跌倒可能會導(dǎo)致非常嚴(yán)重的后果。有資料顯示,很多嚴(yán)重的后果并不是由于跌倒直接造成的,而是由于跌倒后,未得到及時的處理和救護(hù)。當(dāng)出現(xiàn)跌倒情況時,如果能夠及時地通知到救助人員,將會大大地減輕由于跌倒而造成的危害。不僅是對老人,在很多其他情況下,跌倒的報警也是非常有幫助的,尤其是從比較高的地方跌倒下來的時候。比如人們在登山,建筑,擦窗戶,刷油漆和修理屋頂?shù)臅r候。這促使人們越來越熱衷于對跌倒檢測以及跌倒預(yù)報儀器的研制。近年來,隨著iMEMS?加速度傳感器技術(shù)的發(fā)展,使得設(shè)計基于三軸加速度傳感器的跌倒檢測器成為可能。這種跌倒檢測器的基本原理是通過測量佩戴該儀器的個體在運動過程中的三個正交方向的加速度變化來感知其身體姿態(tài)的變化,并通過算法分析判斷該個體是否發(fā)生跌倒情況。當(dāng)個體發(fā)生跌倒時,儀器能夠配合GPS模塊以及無線發(fā)送模塊對這一情況進(jìn)行定位及報警,以便獲得相應(yīng)的救助。而跌倒檢測器的核心部分就是判斷跌倒情況是否發(fā)生的檢測原理及算法。ADXL3451是ADI公司的一款3軸、數(shù)字輸出的加速度傳感器。本文將在研究跌倒檢測原理的基礎(chǔ)上,提出一種基于ADXL345的新型跌倒檢測解決方案。iMEMS加速度傳感器ADXL345iMEMS半導(dǎo)體技術(shù)把微型機械結(jié)構(gòu)與電子電路集成在同一顆芯片上。iMEMS加速度傳感器就是利用這種技術(shù),實現(xiàn)對單軸、雙軸甚至三軸加速度進(jìn)行測量并產(chǎn)生模擬或數(shù)字輸出的傳感器。根據(jù)不同的應(yīng)用,加速度傳感器的測量范圍從幾g到幾十g不等。數(shù)字輸出的加速度傳感器還會集成多種中斷模式。這些特性可以為用戶提供更加方便靈活的解決方案。ADXL345是ADI公司最近推出的基于iMEMS技術(shù)的3軸、數(shù)字輸出加速度傳感器。ADXL345具有+/-2g,+/-4g,+/-8g,+/-i6g可變的測量范圍;最高I3bit分辨率;固定的4mg/LSB靈敏度;3mm*5mm*imm超小封裝;40-145UA超低功耗;標(biāo)準(zhǔn)的I2C或SPI數(shù)字接口;32級FIFO存儲;以及內(nèi)部多種運動狀態(tài)檢測和靈活的中斷方式等特性。所有這些特性,使得ADXL345有助于大大簡化跌倒檢測算法,使其成為一款非常適合用于跌倒檢測器應(yīng)用的加速度傳感器。本文給出的跌倒檢測解決方案,完全基于ADXL345內(nèi)部的運動狀態(tài)檢測功能和中斷功能,甚至不需要對加速度的具體數(shù)值進(jìn)行實時讀取和復(fù)雜的計算操作,可以使算法的復(fù)雜度降至最低。中斷系統(tǒng)圖1給出了ADXL345的系統(tǒng)框圖及管腳定義。ADXL345-QIMT2t0Ecs^-AXIS3.EN5-ORSCl/SCLKRESERVEDINTI^PQ/AIrlAPPLES?RESERVEDSENSEELECTPONICS-DfGETA.1FILTERCONTROLAND用ADXL345-QIMT2t0Ecs^-AXIS3.EN5-ORSCl/SCLKRESERVEDINTI^PQ/AIrlAPPLES?RESERVEDSENSEELECTPONICS-DfGETA.1FILTERCONTROLAND用TEMPTLOGIGSEHIAiLINPUTQUTPVT洪諸屈子搟wWa/j引og:?用CQmg32LEVEL晶FIFO—旳 VDDI?&-9—POWER帖冉NAGEMENT圖1ADXL345系統(tǒng)框圖及管腳定義ADXL345具有兩個可編程的中斷管腳:Inti和Int2。以及Data_Ready、Single_Tap、Double_Tap、Activity、Inactivity、Free_Fall、Watermark、Overrun,共計8個中斷源。每個中斷源可以獨立地使能或禁用,還可以靈活地選擇是否映射到Int1或Int2中斷管腳。所有的功能都可以同時使用,只是某些功能可能需要共用中斷管腳。中斷功能通過INT_ENABLE寄存器的相應(yīng)位來選擇使能或禁用,通過INT_MAP寄存器的相應(yīng)位來選擇映射到Int1管腳或Int2管腳。中斷功能的具體定義如下:Data_Ready當(dāng)有新的數(shù)據(jù)產(chǎn)生時,Data_Ready中斷置位;當(dāng)沒有新的數(shù)據(jù)時,Data_Ready中斷清除。Single_Tap當(dāng)加速度值超過一定門限(THRESH_TAP)并且持續(xù)時間小于一定時間范圍(DUR)的時候,Single_Tap中斷置位。Double_Tap當(dāng)?shù)谝淮蜸ingle_Tap事件發(fā)生后,在一定時間(LATENT)之后,并在一定時間(WINDOW)之內(nèi),又發(fā)生第二次Single_Tap事件時,Double_Tap中斷置位。圖2給出了有效的Single_Tap中斷和Double_Tap中斷的示意圖。圖2Single_Tap和Double_Tap中斷示意牛Activity當(dāng)加速度值超過一定門限(THRESH_ACT)時,Activity中斷置位。Inactivity當(dāng)加速度值低于一定門限(THRESH_INACT)并且持續(xù)超過一定時間(TIME_INACT)時,Inactivity中斷置位。TIME_INACT可以設(shè)定的最長時間為255S。需要指出的是,對于Activity和Inactivity中斷,用戶可以針對X、Y、Z軸來分別進(jìn)行使能或禁用。比如,可以只使能X軸的Activity中斷,而禁用Y軸和Z軸的Activity中斷。另外,對于Activity和Inactivity中斷,用戶還可以自由選擇DCcoupled工作方式或者ACcoupled工作方式。其區(qū)別在于,DCcoupled工作方式下,每個采樣點的加速度值將直接與門限(THRESH_ACT或THRESH_INACT)進(jìn)行比較,來判斷是否發(fā)生中斷;而ACcoupled工作方式下,新的采樣點將以之前的某個采樣點為參考,用兩個采樣點的差值與門限(THRESH_ACT或THRESH_INACT)進(jìn)行比較,來判斷是否發(fā)生中斷。ACcoupled工作方式下的Activity檢測,是選擇檢測開始時的那一個采樣點作為參考,以后每個采樣點的加速度值都與參考點進(jìn)行比較。如果它們的差值超過門限(THRESH_ACT),則Activity中斷置位。ACcoupled工作方式下的Inctivity檢測,同樣要選擇一個參考點。如果新采樣點與參考點的加速度差值超過門限(THRESH_INACT),參考點會被該采樣點更新。如果新采樣點與參考點的加速度差值小于門限(THRESH_INACT),并且持續(xù)超過一定時間TIME_INACT),則Inctivity置位。Free_Fall當(dāng)加速度值低于一定門限(THRESH_FF)并且持續(xù)超過一定時間(TIME_FF)時,F(xiàn)ree_Fall中斷置位。與Inactivity中斷的區(qū)別在于,F(xiàn)ree_Fall中斷主要用于對自由落體運動的檢測。因此,X、Y、Z軸總是同時被使能或禁用;其時間設(shè)定也比Inactivity中斷中要小很多,TIME_FF可以設(shè)定的最大值為1.28s;而且Free_Fall中斷只能是DCcoupled工作方式。Watermark當(dāng)FIFO里所存的采樣點超過一定點數(shù)(SAMPLES)時,Watermark中斷置位。當(dāng)FIFO里的采樣點被讀取,使得其中保存的采樣點數(shù)小于該數(shù)值(SAMPLES)時,Watermark中斷自動清除。需要指出的是,ADXL345的FIFO最多可以存儲32個采樣點(X、Y、Z三軸數(shù)值),且具有Bypass模式、普通FIFO模式、Stream模式和Trigger模式,一共4種工作模式。FIFO功能也是ADXL345的一個重要且十分有用的功能。但是本文后面給出的解決方案中,并沒有使用到FIFO功能,所以,在此不做詳細(xì)介紹。Overrun當(dāng)有新采樣點更新了未被讀取得前次采樣點時,Overrun中斷置位。Overrun功能與FIFO的工作模式有關(guān),當(dāng)FIFO工作在Bypass模式下,如果有新采樣點更新了DATAX、DATAY和DATAZ寄存器里的數(shù)值,則Overrun中斷置位。當(dāng)FIFO工作在其他三種模式下,只有FIFO被存滿32點時,Overrun中斷才會置位。FIFO里的采樣點被讀取后,Overrun中斷自動清除。跌倒過程中的加速度變化特征對跌倒檢測原理的研究主要是找到人體在跌倒過程中的加速度變化特征。圖3給出的是加速度在不同運動過程中的變化曲線,包括(a)步行上樓、(b)步行下樓、(c)坐下、(d)起立。假設(shè)跌倒檢測器被固定在被測的人體上。其中紅色的曲線是Y軸(垂直方向)的加速度曲線,其正常靜止?fàn)顟B(tài)下應(yīng)該為-1g;黑色和黃色的曲線分別是X軸(前后方向)和Z軸(左右方向)的加速度曲線,其正常靜止?fàn)顟B(tài)下應(yīng)該為og;綠色的曲線是三軸加速度的矢量和,其正常靜止?fàn)顟B(tài)下應(yīng)該為+1g。SAMPLES(網(wǎng)向)10247SS51Z遜0-256"61J-J&a-10Z4151101151 201 251301351401SAMPLES(5Oi'S)a.步行上樓b.步行下樓亠阿-1024W2+7SSVECTQFtSUM X-AXIS 亍出丄Z-AX2ISuLw.ar;e-Mt■11C1 151 251SAMPLES茵OH]VECTORSUM X-^XIST 3Z-AXiSJ\——A\— j攣尹MM羽III""■■■―MfeW^logcrLcom安譴'L■寸―.■—■1■V-7&a-10£4511C1 151 2U1SAMPLESc.坐下 d.起立圖3不同運動過程中的加速度變化曲線由于老年人的運動相對比較慢,所以在普通的步行過程中,加速度變化不會很大。最明顯的加速度變化就是在坐下動作中Y軸加速度(和加速度矢量和)上有一個超過3g的尖峰,這個尖峰是由于身體與椅子接觸而產(chǎn)生的。而跌倒過程中的加速度變化則完全不同。圖4給出的是意外跌倒過程中的加速度變化曲線。通過圖4和圖3的比較,可以發(fā)現(xiàn)跌倒過程中的加速度變化有4個主要特征,這可以作為跌倒檢測的準(zhǔn)則。這4個特這在圖4中以紅色的方框標(biāo)注,下面將對其逐一進(jìn)行詳細(xì)介紹。

也5652◎黑仔山nl也5652◎黑仔山nl噸a-J56圖4跌倒過程中的加速度變化曲線失重:在跌倒的開始都會發(fā)生一定的失重現(xiàn)象。在自由落體的下降過程,這個現(xiàn)象會更加明顯,加速度的矢量和會降低到接近og,持續(xù)時間與自由落體的高度有關(guān)。對于一般的跌倒,失重現(xiàn)象雖然不會有像自由落體那么明顯,但也會發(fā)生合加速度小于ig的情況(通常情況下合加速度應(yīng)大于ig)。因此,這可以作為跌倒?fàn)顟B(tài)的第一個判斷依據(jù)??梢杂葾DXL345的Free_Fall中斷來檢測。撞擊:失重之后,人體發(fā)生跌倒的時候會與地面或其他物體發(fā)生撞擊,在加速度曲線中會產(chǎn)生一個很大的沖擊。這個沖擊可以通過ADXL345的Activity中斷來檢測。因此,F(xiàn)ree_Fall中斷之后,緊接著產(chǎn)生Activity中斷是跌倒?fàn)顟B(tài)的第二個判斷依據(jù)。靜止:通常,人體在跌倒后,也就是撞擊發(fā)生之后,不可能馬上起來,會有短暫的靜止?fàn)顟B(tài)(如果人因為跌倒而導(dǎo)致昏迷,甚至可能是較長時間的靜止)。表現(xiàn)在加速度曲線上就是會有一段時間的平穩(wěn)。這可以通過ADXL345的Inactivity中斷來檢測。因此,Activity中斷之后的Inactivity中斷是跌倒?fàn)顟B(tài)的第三個判斷依據(jù)。牛與初始狀態(tài)比較:跌倒之后,人體會發(fā)生翻轉(zhuǎn),因此人體的方向會與原先靜止站立的姿態(tài)(初始狀態(tài))不同。這使得跌倒之后的靜止?fàn)顟B(tài)下的三軸加速度數(shù)值與初始狀態(tài)下的三軸加速度不同(見圖4)。假設(shè)跌倒檢測器固定在被測人體上的某個部位,這樣初始狀態(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è)向跌倒。因此,跌倒檢測的第四個依據(jù)就是跌倒后的靜止?fàn)顟B(tài)下加速度值與初始狀態(tài)發(fā)生變化,且矢量變化超過一定的門限值(比如0.7g)。這四個判斷依據(jù)綜合在一起,構(gòu)成了整個的跌倒檢測算法,可以對跌倒?fàn)顟B(tài)給出報警。當(dāng)然,還要注意各個中斷之間的時間間隔要在合理的范圍之內(nèi)。比如,除非是從很高的樓頂?shù)粝聛恚駝tFree_Fall中斷(失重)和Activity中斷(撞擊)之間的時間間隔不會很長。同樣,通常情況下,Activity中斷(撞擊)和Inactivity中斷(靜止)之間的時間間隔也不會很長。本文接下來會通過一個具體實例給出一組合理的取值。當(dāng)然,相關(guān)中斷的檢測門限以及時間參數(shù)也可以根據(jù)需要而靈活設(shè)置。另外,如果跌倒造成了嚴(yán)重的后果,比如,導(dǎo)致了人的昏迷。那么人體會在更常的一段時間內(nèi)都保持靜止。這個狀態(tài)仍然可以通過Inactivity中斷來檢測。也就是說,如果發(fā)現(xiàn)在跌倒之后的很長時間內(nèi)都保持Inactivity狀態(tài),可以再次給出一個嚴(yán)重報警。典型電路連接ADXL345和微控制器之間的電路連接非常簡單。本文中的測試平臺由ADXL345和微控制器ADUC70262組成。圖5給出了ADXL345和ADUC70262之間的典型電路連接oADXL345的CS管腳接高電平,表示ADXL345工作在I2C模式。SDA和SCL是I2C總線的數(shù)據(jù)線和時鐘線,分別連接到ADuC7026相應(yīng)的I2C總線管腳。ADuC7026的一個GPIO管腳連接到ADXL345的ALT管腳,用來選擇ADXL345的I2C地址。ADXL345的INT1管腳連接到ADUC7026的IRQ輸入用來產(chǎn)生中斷信號。其他的單片機或者處理器都可以采用與圖5類似的電路與ADXL345進(jìn)行連接。ADXL345還可以工作在SPI模式以獲得更高的數(shù)據(jù)傳輸速率。關(guān)于SPI工作模式的具體描述,請參考ADXL345數(shù)據(jù)手冊。圖5ADXL345與微控制器之間的典型電路連接表1ADXL345寄存器功能說明地址一仔類型默認(rèn)值值置設(shè)只讀-ID#1口孟讀只1C-1r保留保D1P5讀/寫用使不-讀/106XCO先始由初茁過償1-、?

a寫1F讀/寫9FXO失必得由和4犬士+羽Yr正償通校k—,匕20讀/寫FC0X失必得軸切獲zih正償—校補料化21RuD讀/寫用使不22讀/寫用使不23讀/寫窗用使不24CTHAc讀/寫伽2g.-g助應(yīng)\A艮O置F或設(shè)的巧I一讀/寫-Ei心26I一讀/寫的或置噸心0S設(shè)v27LTc一CTIAc讀/寫arti制m控“匕匕刃厶冃.叫使Z口力為dl-^y戈d"岫驢噸叫Activ式X*.tchvco,A^模匕匕二一匕匕—弋、_丿UI厶冃V厶冃K」工oK使AmmA模CA28FF一讀/寫0CXO置如6設(shè)3朋

29TIME_FF讀/寫0X00Free-Fall的時間0X06設(shè)置Free-Fall的時間為30ms2ATAP_AXES讀/寫0X00Tap/DoubleTap使能控制不使用2BACT_TAP_STATUS只讀0X00Activity/Tap中斷軸指示只讀2CBW_RATE讀/寫0X0A采樣率和功耗模式控制0X0A設(shè)置采樣率為100Hz2DPOWER_CTL讀/寫0X00工作模式控制0X00設(shè)置為正常工作模式2EINT_ENABLE讀/寫0X00中斷使能控制0X1C使能Activity>Inactivity>Free-Fall中斷2FINT_MAP讀/寫0X00中斷影射控制0X00所有中斷影射到Int1管腳30INT_SOURCE只讀0X00中斷源指示只讀31DATA_FORMAT讀/寫0X00數(shù)據(jù)格式控制0X0B設(shè)置為+/-16g測量范圍,13bit右對齊模式,中斷為高電平觸發(fā),使用I2C數(shù)據(jù)接口32DATAX0只讀0X00X軸數(shù)據(jù)只讀33DATAX1只讀0X00只讀34DATAY0只讀0X00Y軸數(shù)據(jù)只讀35DATAY1只讀0X00只讀36DATAZ0只讀0X00Z軸數(shù)據(jù)只讀

37DATAZ1只讀0X00只讀38FIFO_CTL讀/寫0X00FIFO控制不使用39FIFO_STATUS只讀0X00FIFO狀態(tài)不使用利用ADXL345簡化跌倒檢測算法本節(jié)將給出以上解決方案的具體算法實現(xiàn)。表1中簡要說明了每個寄存器的作用以及在本算法中的設(shè)置值。對于各個寄存中每一位的具體含義,請參考ADXL345的數(shù)據(jù)手冊。需要指出的是,表1給出的設(shè)置值中,某些寄存器會給出兩個數(shù)值,這說明在算法中會切換使用這兩個數(shù)值,來達(dá)到不同的檢測目的。算法的流程圖如圖6所示。

STARTUMEOVT?NOCTivirviNTtfefiijASSERTED?STABLESTATUSISDIFFERENT—_FR口M1IN盯沁STATW—FNACTIVFTrINTERRUPTSTARTUMEOVT?NOCTivirviNTtfefiijASSERTED?STABLESTATUSISDIFFERENT—_FR口M1IN盯沁STATW—FNACTIVFTrINTERRUPT、、—ASSERTED?一^-FRfE_FALL3MTERKUPT^>27*ASSERT£O?-^r^COWTlNUOUSPF!£L_FALL—-DETECTED?安諸也-'o^:afj^K-gc-f).comY-"+MOJWITIALIZATIONGENEFWTEPALLALERT|GENERATE

C?17ICAL^LERrGENERATECRmCAL

FREE-FALLALERTGENERATE

C?17ICAL^LERr圖6算法流程圖算法中,關(guān)于各種中斷的門限以及時間參數(shù)的設(shè)置如下所述。1.初始化后,系統(tǒng)等待Free_Fall中斷(失重),這里把THRESH_FF設(shè)為O?75g,把TIME_FF設(shè)為30ms。Free_Fall中斷產(chǎn)生之后,系統(tǒng)開始等待Activity中斷(撞擊),這里把THRESH_ACT設(shè)為2g,Activity中斷為DCcoupled工作模式。Free_Fall中斷(失重)與Activity中斷(撞擊)之間的時間間隔設(shè)置為200ms。如果超過200ms,則認(rèn)為無效。200ms計時需要通過MCU中的定時器來實現(xiàn)。牛Activity中斷產(chǎn)生之后,系統(tǒng)開始等待Inactivity中斷(撞擊后的靜止),這里把THRESH_INACT設(shè)為o.1875g,把TIME_INACT設(shè)為2s,Inactivity中斷為ACcoupled工作模式。在Activity中斷產(chǎn)(撞擊)生之后的3?5s時間之內(nèi),應(yīng)該有Inactivity中斷(撞擊后的靜止)產(chǎn)生。如果超時,則認(rèn)為無效。3.5s計時需要通過MCU中的定時器來實現(xiàn)。如果Inactivity中斷之后的加速度值與初始狀態(tài)(假設(shè)已知)下數(shù)值的矢量差超過o.7g,則說明檢測到一次有效的跌倒,系統(tǒng)會給出一個報警。當(dāng)檢測到跌倒?fàn)顟B(tài)之后,為了判斷是否在跌倒之后人體有長時間的靜止不動。需要繼續(xù)檢測Activity中斷和Inactivity中斷。這里把THRESH_ACT設(shè)為o.5g,Activity中斷為

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論