華中師范大學(xué)計(jì)算機(jī)學(xué)院 孫 捷 劉 瑄
?
三軸運(yùn)動(dòng)檢測(cè)芯片應(yīng)用測(cè)試研究
華中師范大學(xué)計(jì)算機(jī)學(xué)院 孫 捷 劉 瑄
【摘要】運(yùn)動(dòng)檢測(cè)芯片在手機(jī)、相機(jī)、智能穿戴設(shè)備中都在使用,在測(cè)試、測(cè)量等領(lǐng)域也應(yīng)用普遍。以飛思卡爾公司生產(chǎn)的低成本新型三軸加速度傳感器MMA7660FC為例,介紹了它的工作原理、功能、應(yīng)用方法及其與STM32F103的接口電路,通過(guò)將MMA7660FC的數(shù)據(jù)傳送到PC機(jī)實(shí)時(shí)顯示,并通過(guò)改變傳感器工作模式等,測(cè)試該傳感器應(yīng)用的各種方法及效果。
【關(guān)鍵詞】MMA7660FC;加速度傳感器;運(yùn)動(dòng)檢測(cè);STM32F103
加速度傳感器是一種十分重要的測(cè)量加速力或運(yùn)動(dòng)情況的傳感器,一般加速度測(cè)量范圍為0.1g~10g。加速度傳感器的種類(lèi)繁多,從工作原理上可分為壓電式、電容式、電感式、壓阻式、隧道電流式、諧振式等等。從測(cè)量維數(shù)上來(lái)看,有單軸、二軸、三軸等,目前市場(chǎng)上有越來(lái)越多的產(chǎn)品應(yīng)用了雙軸以及三軸加速度傳感器。隨著近年來(lái)大規(guī)模集成電路技術(shù)的發(fā)展,加速度傳感器也逐漸向集成化、低功耗的方向發(fā)展。集成了信號(hào)調(diào)理電路的加速度傳感器能大大簡(jiǎn)化電路設(shè)計(jì),降低系統(tǒng)功耗,提高系統(tǒng)穩(wěn)定性,同時(shí)減少了系統(tǒng)設(shè)計(jì)成本,縮短開(kāi)發(fā)周期,更利于產(chǎn)品快速推向市場(chǎng)。加速度傳感器應(yīng)用范圍廣泛,一般來(lái)講它可用于傾斜度檢測(cè)、運(yùn)動(dòng)檢測(cè)、定位檢測(cè)、震動(dòng)檢測(cè)、振動(dòng)檢測(cè)和自由落下等檢測(cè)功能。本文將簡(jiǎn)要介紹MMA7660FC的功能、工作原理及與STM32F103的接口電路,通過(guò)在PC機(jī)上實(shí)時(shí)顯示傳感器的數(shù)據(jù),構(gòu)建一個(gè)MMA7660FC的各種應(yīng)用方法的測(cè)試系統(tǒng),以方便更快更好的應(yīng)用該傳感器芯片。
MMA7660FC是飛思卡爾生產(chǎn)的一種±1.5g三軸加速度I2C總線(xiàn)數(shù)字輸出的傳感器芯片,具有超低功耗、微型電容式MEMS的傳感器,內(nèi)部具有低通濾波器,用于0g偏移和增益誤差補(bǔ)償。在配置為每秒采樣一次時(shí)可達(dá)到6位分辨率。該器件通過(guò)中斷引腳(INT)可以提供傳感器數(shù)據(jù)變化、產(chǎn)品方向和姿態(tài)識(shí)別等中斷觸發(fā)信號(hào)。一般常用來(lái)測(cè)量?jī)A斜角、慣性力、沖擊力及震動(dòng),廣泛用于手機(jī)、掌上電腦、PDA、數(shù)碼相機(jī)、小家電、游戲中的運(yùn)動(dòng)檢測(cè)、自動(dòng)叫醒、醫(yī)療和體育應(yīng)用的活動(dòng)監(jiān)測(cè)、沖擊檢測(cè)和運(yùn)動(dòng)控制、方向和自由落體檢測(cè)。具體性能特點(diǎn)如下:
●低電壓操作:模擬工作電壓為2.4V ~3.6V,數(shù)字工作電壓為1.71V~3.6V
●低功耗
關(guān)閉模式:0.4μA
待機(jī)模式:2μA
工作模式:可配置到47μA
●3mm*3mm*0.9mmDFN封裝
●集成3軸±1.5g MEMS傳感器和CMOS接口控制器在同一個(gè)封裝內(nèi)
●可配置數(shù)據(jù)輸出速率:1~120次采樣/秒
●包括智能電源管理功能,自動(dòng)喚醒/自動(dòng)休眠功能來(lái)降低功耗
●方向檢測(cè):橫向/縱向、正面/反面識(shí)別,MMA7660FC可在六個(gè)方向檢測(cè)加速度
●集成了眾多智能的運(yùn)動(dòng)功能,振動(dòng)識(shí)別和方向、震動(dòng)、敲擊檢測(cè)
●可靠的設(shè)計(jì)、高抗震性(10,000g)
MMA7660FC內(nèi)部功能框圖如下圖1所示,它是一種電容式傳感器,是在wafer的表面上做出梳狀結(jié)構(gòu),當(dāng)產(chǎn)生動(dòng)作時(shí),由偵測(cè)電容差來(lái)判斷變形量,從而反推出加速度的值。MMA7660FC設(shè)置MODE寄存器可以有三種工作模式: Standby(待機(jī))模式、Active and Auto-Sleep (活動(dòng)并且Auto-Sleep) 模式、Auto-Wake(自動(dòng)喚醒)模式。
圖1 MMA7660FC內(nèi)部功能框圖
為了研究MMA7660FC使用方法與性能,需要構(gòu)建一個(gè)完整的控制電路及測(cè)試方案,我們使用STM32F103作為主控制芯片,其引腳及外圍連接信號(hào)如圖2所示,供電電壓為3.3V,與MMA7660FC電源電壓一致,可以直接連接。
圖2 STM32F103引腳及外圍信號(hào)圖
傳感器與CPU部分的連接電路原理圖如圖3所示,IIC總線(xiàn)的兩根線(xiàn)SCL、SDA要接4.7K上拉電阻,另外中斷信號(hào)接CPU的PA0端口。CPU的復(fù)位、晶振、電源部分電路原理圖如圖4所示,發(fā)光二極管D1接CPU的PB9端口,主要用來(lái)指示傳感器采樣的頻率。另外傳感器的數(shù)據(jù)要發(fā)送到PC機(jī)的串口,因此還需要一個(gè)串口通信電平轉(zhuǎn)換電路,電路原理圖如圖5所示,P1插座的TXD接電腦串口DB9的2腳,RXD接DB9的3腳,GND接DB9的5腳。圖6為STM32F103的JTAG端口,與J-LINK仿真器連接。
圖3 MMA7660FC電路原理圖
圖4 CPU復(fù)位、電源、晶振電路原理圖
圖5 串行接口電路原理圖
圖6 JTAG接口電路原理圖
3.1STM32F103的程序設(shè)計(jì)
開(kāi)發(fā)環(huán)境使用的是Keil uVision3+MDK3.50,STM32F103的程序設(shè)計(jì)主要完成MMA7660FC初始化設(shè)置,使其工作在標(biāo)準(zhǔn)模式下,通過(guò)I2C總線(xiàn)通信方式讀取X、Y、Z三軸加速度值,并通過(guò)串口發(fā)送到計(jì)算機(jī)中去顯示,同時(shí)還要接收計(jì)算機(jī)發(fā)過(guò)來(lái)的命令數(shù)據(jù),從而改變MMA7660FC的工作模式或方式,主控程序流程圖如圖7所示。
圖7 STM32F103主控程序流程圖
STM32F103初始化主要進(jìn)行RCC_Configuration(void)、NVIC_Configuration(void)、GPIO_Configuration(void)、USART_Init(USART1,&USART_InitStructure)和IIC_Init(void)。在MMA7660FC的初始化過(guò)程中,主要完成如下的一些工作:
void MMA7660_Init(void)
{
FSL_MMA_IICWrite(MMA7660_MODE, 0); //Make 7660 enter standby mode to set registers
FSL_MMA_IICWrite(MMA7660_SPCNT, MMA7660_SPCNT_Value);// Sleep Counter Register: SPCNT
FSL_MMA_IICWrite(MMA7660_INTSU, MMA7660_INTSU_Value);// Interrupt Setup Register: INTSU
FSL_MMA_IICWrite(MMA7660_SR, MMA7660_SR_Value); //Sample Rates Register: SR
FSL_MMA_IICWrite(MMA7660_PDET, MMA7660_PDET_Value);//Pulse Detection Register: PDET
FSL_MMA_IICWrite(MMA7660_PD, MMA7660_PD_Value); //Pulse Debounce Count: PD
FSL_MMA_IICWrite(MMA7660_MODE, MMA7660_MODE_Value);// Mode Register: MODE
}
對(duì)于MMA7660FC的兩種工作模式,一個(gè)為Auto-Sleep,即Running模式。在該模式下,傳感器可以配置較高的采樣率。另一個(gè)模式為Auto-Wakeup,即Sleep模式。該模式并非真正的休眠模式,而只是低速采樣模式。在該模式下,能夠有效地降低芯片的運(yùn)行功耗。
實(shí)際測(cè)試時(shí),當(dāng)水平放置時(shí),傳感器的某個(gè)軸加速度達(dá)到最大時(shí),另外兩個(gè)軸讀數(shù)應(yīng)該為0,但是硬件缺陷使得另兩軸會(huì)跳值,實(shí)驗(yàn)結(jié)果,其跳值范圍在1~2,且連續(xù)跳值次數(shù)極少超過(guò)2次。故在讀入數(shù)據(jù)過(guò)程中加入判斷語(yǔ)句,過(guò)濾加速度傳感器的“自跳”,其邏輯是:在某個(gè)軸上,若此次讀數(shù)小于等于2,且前兩次讀數(shù)至少有一次為0,就認(rèn)為此讀數(shù)為自跳,將其置零。在動(dòng)作檢測(cè)的過(guò)程中,盡量采用的是相對(duì)的坐標(biāo)值,而不是絕對(duì)的坐標(biāo)值。因?yàn)樵谏a(chǎn)過(guò)程中,并不能保證傳感器的絕對(duì)水平。在讀取XYZ坐標(biāo)的時(shí)候,最好采用的就是Multiple Byte Read的方式,這樣才能保證XYZ三個(gè)坐標(biāo)是同一次采樣的結(jié)果。如果分開(kāi)讀取,則有可能讀取到不同組的采樣數(shù)據(jù)。
3.2PC端的程序設(shè)計(jì)
在PC機(jī)端主要負(fù)責(zé)顯示三軸傳感器的數(shù)值,并且還要能發(fā)送控制數(shù)據(jù)改變傳感器的工作狀態(tài),從而能直觀的觀察MMA7660FC在各種不同模式和不同方式下的性能,這種數(shù)據(jù)雙向傳送是通過(guò)串口進(jìn)行的。采用VC進(jìn)行了上位機(jī)的程序設(shè)計(jì),界面如圖8所示。主要包括三個(gè)軸的數(shù)據(jù)顯示,數(shù)據(jù)顯示區(qū)部分是串口接收全部數(shù)據(jù)的顯示,命令區(qū)是發(fā)送給STM32F103的命令數(shù)據(jù),另外還有串口配置的相關(guān)內(nèi)容。
圖8 PC機(jī)端顯示與控制界面圖
上位機(jī)發(fā)送的命令數(shù)據(jù)主要包括設(shè)置MMA7660FC的工作模式、采樣率、對(duì)傳感器數(shù)據(jù)濾波處理的參數(shù)選擇命令,通過(guò)改變不同工作狀況從而能直觀觀察到傳感器的數(shù)據(jù)精確度及穩(wěn)定性。
通過(guò)測(cè)試,發(fā)現(xiàn)當(dāng)板子水平放置時(shí),無(wú)論如何改變X、Y的位置,都不會(huì)有中斷產(chǎn)生,因?yàn)檫@時(shí)它只能檢測(cè)Z軸的變化,X、Y的變化它檢測(cè)不到,只有當(dāng)我們將板子傾斜一個(gè)角度后才能檢測(cè)X、Y的變化,經(jīng)過(guò)查找相關(guān)文獻(xiàn),這是由于其內(nèi)部是電容式的結(jié)構(gòu),很難在同一個(gè)結(jié)構(gòu)中同時(shí)感測(cè)到三個(gè)軸(X、Y、Z)的變化。另外在采樣率越低時(shí)穩(wěn)定性越好,但實(shí)時(shí)性較差,一般可根據(jù)實(shí)際應(yīng)用環(huán)境的要求,優(yōu)先選擇響應(yīng)時(shí)間的條件下,通過(guò)設(shè)置濾波參數(shù)可達(dá)到較好的效果。如果傳感器只是應(yīng)用于方位檢測(cè)的話(huà),8個(gè)值的濾波就夠了。而用于動(dòng)作檢測(cè)的話(huà),一般使用32階的均值濾波效果較好。
參考文獻(xiàn)
[1]資道周.加速度傳感器性能測(cè)試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].湖南:湖南大學(xué),2007.
[2]汪少初,劉昱,郝文飛,劉開(kāi)華,路文平.基于慣性傳感的人員行進(jìn)動(dòng)作識(shí)別方法[J].電子測(cè)量與儀器學(xué)報(bào),2014(06)
[3]李智利,汪正祥.MMA7260Q在車(chē)載導(dǎo)航定位中的應(yīng)用[J].微計(jì)算機(jī)信息,2007,23(8-2):218-219.
[4]杜時(shí)英.加速度傳感器在嵌入式系統(tǒng)中的電路搭建及驅(qū)動(dòng)的實(shí)現(xiàn)[J].計(jì)算機(jī)時(shí)代,2013(01)
[5]張潔.基于加速度傳感器的人體運(yùn)動(dòng)行為識(shí)別研究[J].自動(dòng)化與儀器儀表,2016(03)
[6]唐曉剛,顏永安,趙冰.石油勘探MEMS加速度傳感器在煤田勘探的應(yīng)用[J].儀表技術(shù)與傳感器,2006,6:50-57.
[7]馬少龍,劉冬花,馬國(guó)紅,朱書(shū)林,葉佳.一種快速獲取機(jī)器人運(yùn)動(dòng)軌跡的方法研究[J].組合機(jī)床與自動(dòng)化加工技術(shù),2014(10)
[8]蘇維嘉,王旭輝.新型加速度傳感器在傾角測(cè)量中的應(yīng)用研究[J].機(jī)械研究與應(yīng)用,2007,20(5):62-65.
作者簡(jiǎn)介:
孫捷(1995—),女,湖北荊州人,大學(xué)本科,現(xiàn)就讀于華中師范大學(xué)計(jì)算機(jī)學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系。
劉瑄(1995—),女,廣東珠海人,大學(xué)本科,現(xiàn)就讀于華中師范大學(xué)計(jì)算機(jī)學(xué)院軟件工程系。