基于单片机的人体健康检测系统
目錄
1 跌倒報警器研究現狀........................................................................................ 8
2.1單片機的功能及最小系統的電路設計.................................................. 9
內置閃存存儲器.................................................................................. 10
2.1.1 CRC計算單元............................................................................ 11
2.1.2內置SRAM................................................................................. 11
2.1.3 嵌套的向量式中斷控制器(NVIC)........................................... 11
2.1.4 16個Cortex?-M3的中斷線)和16個優先級。....................... 11
2.1.5部中斷/時間控制器.................................................................... 11
2.1.6 時鐘和啟動................................................................................ 12
2.1.7供電方案..................................................................................... 12
2.1.8供電監控器................................................................................. 12
2.1.9電壓調壓器................................................................................. 13
低功耗模式.......................................................................................... 13
2.1.10 DMA......................................................................................... 14
2.1.11 RTC和后備寄存器.................................................................. 14
2.1.12電壓調壓器定時器和看門狗................................................... 14
2.2 北斗模塊............................................................................................... 15
2.3 ADXL345簡要介紹.............................................................................. 16
2.3.1傳感器自帶抗自動休眠模式................................................... 16
2.3.2通信方式................................................................................... 16
2.4 GSM模塊簡介...................................................................................... 18
2.4.1 VBAT 引腳................................................................................ 18
2.4.2 PWRKEY 引腳.......................................................................... 19
2.5 OLED顯示模塊.................................................................................... 20
2.6 脈搏模塊............................................................................................... 21
2.6.1心率傳感器檢測原理................................................................. 22
3 軟件設計.......................................................................................................... 23
3.1 keil應用................................................................................................. 23
3.2 Altium Designer應用............................................................................ 24
3.3程序流程................................................................................................ 25
4.系統分析與調試............................................................................................... 27
?5 設計心得體會................................................................................................ 29
附錄...................................................................................................................... 32
原理圖.......................................................................................................... 32
源程序.......................................................................................................... 32
摘要
設計了一種基于ADXL345加速度傳感器的跌倒實時檢測與報警系統,用以實現老人跌倒后可以被及時發現并救助;系統采用STM32單片機,搭載了無線通信和北斗衛星定位模塊;設計中添加了脈搏溫度的測量,實時監測老人的身體狀態。對跌倒和日常生活運動特征參數進行了研究分析,提出了基于SVM閾值法的三次。。。。。。。。。。。。。
關鍵詞:加速度傳感器;脈搏傳感器;單片機;北斗模塊
Abstrac
A fall detection real-time detection and alarm system based on ADXL345 accelerometer is designed to realize the timely discovery and rescue of the elderly after falling. The system adopts STM32 single-chip microcomputer, equipped with wireless communication and Beidou satellite positioning module; pulse temperature is added in the design. The measurement measures real-time monitoring of the physical condition of the elderly. The characteristic parameters of fall and daily life movements are studied and analy。。。。。。。。。。。。。。
Key words: acceleration sensor; pulse sensor; single chip microcomputer; Beidou module
1 跌倒報警器研究現狀
老年人摔倒現象時有發生,老年人跌倒帶來的后果嚴重。因此,準確判斷老年人發生危險,研究一種老年人跌倒報警器非常重要?;谏鲜鲆?。。。。。。。。。。。。。。
現用的老年人跌倒報警裝置是通過無線對講系統研發的。它外觀精美,自動化程度高,有很強的專業性。但是,設計者忽略了一個問題,因為大多數老年人使用現代化產品不熟練,隨著視力、操作能力的下降,使用該設備有很大困難。另外,老年人跌倒以后,由于受到驚嚇,再進行操作按鈕、實施對講,就更不現實。隨著信息化、智能化、網絡化的。。。。。。。。。。。。。。。。
2 硬件設計
本次設計的老人防摔設計主要是基于51單片機作為主控芯片、ADXL345電容式微機械三軸加速度計作為檢測老人摔倒的檢測傳感器、還有GPS模塊做為老人摔倒地址定位的傳感器以及一塊GSM模塊進行通知親友。考慮到擴展的可能性。。。。。。。。。。。。
系統總設計框圖
2.1單片機的功能及最小系統的電路設計
本系統基于STM32F103系列單片機來實現功能,因為系統沒有其它高標準的。。。。。。。。。。
STM32F103C8系列使用高性能的ARM? Cortex?-M3 32位的RISC內核,工作頻率為72MHz,內置高速存儲器(高達128K字節的閃存和20K字節的SRAM),豐富的增強I/O端口和聯接到兩條APB總線的外設。所有型號的器件都包含2個12位的ADC、3個通用16位定時器和1個PWM定時器,還包含標準和先進的通信接口:多達2個I2C接口和SPI接口、3個USART。。。。。。。。。。。
STM32F103系列產品提供包括從36腳至100腳的6種不同封裝形式;根據不同的封裝形式,器件中的外設配置不盡相同。下面給出了該系列產品中所有外設的基本介紹。這些豐富的外設。。。。。。。。。。
2.1.1 CRC計算單元
CRC(循環冗余校驗)計算單元使用一個固定的多項式發生器,從一個32位的數據字產生一個在眾多的應用中,基于CRC的技術被用于驗證數據傳輸或存儲的一致性。在EN/IEC 60335-1標準的范圍內,它提供了一種檢測閃存存儲器錯。。。。。。。。。。
2.1.2內置SRAM
20K字節的內置SRAM,CPU能。。。。。。。。。。。。。。。。
2.1.3 嵌套的向量式中斷控制器(NVIC)
STM32產品內置嵌套的向量式中斷控制器,能夠處理多達43個可。。。。。。。。。。。。。
緊耦合的NVIC能夠達到低延遲的中斷響應處理
中斷向量入口地址直接進入內核
緊耦合的NVIC接口
允許中斷的早期處理
處理晚到的較高優先級中斷
支持中斷尾部鏈接功能
自動保存處理器狀態
中斷返回時自。。。。。。。。。。。。。。。。
2.1.5部中斷/時間控制器
部中斷/事件控制器包含19個邊沿檢測器,用于產生中斷/事件請求。每個中斷線都可以立地配置它的觸發事件(上升沿或下降沿或雙邊沿),并能夠單獨地被屏蔽;有一個掛起寄存器維。。。。。。。。。。。。。
2.1.6 時鐘和啟動
系統時鐘的選擇是在啟動時進行,復位時內部8MHz的RC振蕩器被選為默認的CPU時鐘隨后可以選擇外部的、具失效監控的4~16MHz時鐘;當檢測到外部時鐘失效時,它將被隔離,系統將自動地切換到內部的RC振蕩器,如果使能了中斷,軟件可以接收到相應。。。。。。。。。。。。
2.1.7供電方案
VDD = 2.0~3.6V:VDD引腳為I/O引腳和內部調壓器供電。
VSSA,VDDA = 2.0~3.6V:為ADC、復位模塊、RC振蕩器和PLL的模擬部分提供供電。使用ADC時,VDDA不得小于2.4V。VDDA和VSSA必須分別連接到VDD和VSS。
VBAT = 1.8~3.6V:當關閉VDD時,(通過內部電源切換器)為RTC、外部32kHz振蕩器和后備寄存器供電。
2.1.8供電監控器
內部集成了上電復位(POR)/掉電復位(PDR)電路,該電路始終處于工作狀態,保證系統在供電超過2V時工作;當VDD低于設定的閥值(VPOR/PDR)時,置器件于復位狀態,而不必使用外部復位電路。器件中還有一個可編程電壓監。。。。。。。。。。。。
2.1.9電壓調壓器
調壓器有三個操作模式:主模式(MR)、低功耗模式(LPR)和關斷模式
主模式(MR)用于正常的運行操作低功耗模式(LPR)用于CPU的停機模式
關斷模式用于CPU的待機模式:調壓器的輸出為高阻。。。。。。。。。。。。。。。
低功耗模式
STM32F103xC、STM32F103xD和STM32F103xE增強型產品支持三。。。。。。。。。。。。。
睡眠模式
在睡眠模式,只有CPU停止,所有外設處于工作狀態。。。。。。。。。。。。。
停機模式
在保持SRAM和寄存器內容不丟失的情況下,停機模式可以達到最低的電能消耗。在停機模式下,停止所有內部1.8V部分的供電,PLL、HSI的RC振蕩器和HSE晶體振蕩。。。。。。。。。。。
可以通過任一配置成EXTI的信號把微控制器從停機模式中喚醒,EXTI信號可。。。。。。。。。
待機模式
在待機模式下可以達到最低的電能消耗。內部的電壓調壓器被關閉,因此所有內部1.8V部分的供電被切斷;PLL、HSI的RC振蕩器和HSE晶體振蕩器也被關閉;進入待機模式。。。。。。。。。。
從待機模式退出的條件是:NRST上的外部復位信號、IWDG復位、WKUP引腳上的一。。。。。。。。。。。
2.1.10 DMA
靈活的7路通用DMA可以管理存儲器到存儲器、設備到存儲器和存儲器到設備的數據傳輸;DMA控制器支持環形緩沖區的管理,避免了控制器傳輸到。。。。。。。。。。。。。。SPI、I2C、USART,通用、基本和高級控制定時器TIMx和ADC。
2.1.11 RTC和后備寄存器
RTC和后備寄存器通過一個開關供電,在VDD有效時該開關選擇VDD供電,否則由VBAT引腳供電。后備寄存器(10個16位的寄存器)可以用于在關閉VDD時,保存20個字節的用戶應用數據。RTC和后備寄存器不會被。。。。。。。。。。。。。。。。。
實時時鐘具有一組連續運行的計數器,可以通過適當的軟件提供日歷時鐘功能,還具有鬧鐘中斷和 階段性中斷功能。RTC的驅動時鐘可以是一個使用外部晶體的32.768kHz的振蕩器、內部低功耗RC 振蕩器或高速的外部時鐘。。。。。。。。。。。。。。。。。。。。。。
2.1.12電壓調壓器定時器和看門狗
中等容量的STM32F103xx增強型系列產品包含1個高級控制定時器、3個普通定時器,以及2個看門狗定時器和1個系統嘀嗒定時器。下表比較了高級。。。。。。。。。。
2.2 GPS模塊
GPS模塊就是集成了RF射頻芯片、基帶芯片和核心CPU,并加上相關外圍電路而組成的一個集成電路。在本次設計采用了設計要求的VK2828U7G5LF模塊,這個模塊主芯片是UBX-G7020-KT,通過串口通信與單片機相連接,當使他工作的時候,就會開始定位,并將數據通過串口送給單片機,數據遵守NMEA0183協議,里面有時間、位置、地面速度信息等,我們可以直接對送過來的數據進行解讀,就可以獲取我們所先要的時間信息。
RF射頻屬性:
2.3 ADXL345簡要介紹
ADXL345是一款完整的3軸加速度測量系統,可選擇的測量范圍有±2 g,±4 g,±8 g或±16 g。既能測量運動或沖擊導致的動態加速度,也能測量靜止加速度,例如重力加速度,使得器件可作為傾斜傳感器使用。? 該傳感器為多晶硅表面。。。。。。。。。。。。
2.3.1傳感器自帶抗自動休眠模式?
如果ADXL345在靜止期間自動切換到休眠模式,可以省電。要使能此功能,在THRESH_INACT寄存器(地址0x25)和TIME_INACT寄存器(地址0x26)設。。。。。。。。。。。。。
2.3.2通信方式
I2C? 如圖所示,CS引腳拉高至VDD I/O,ADXL345處于I2C模式,需要簡單2線式連接。ADXL345符合《UM10204 I2C總線規范和用戶手冊》03版(2007年6月19日,NXP Semiconductors提供)。如果滿足了表11和表12列出的總線參數,便能支持標準(100 kHz)和快速(400 kHz)數據傳輸模式。如圖41所示,支持單個或多個字節的讀取/。。。。。。。。。。。。。。。。。
如果有其他器件連接到同一I2C總線,這些器件的額定工作電壓電平不能高于VDD I/O 0.3V以上。I2C正確操作需要外接上拉電阻RP。為確保正確操。。。。。。。。。。。。。。。。。。。
偏移校準
加速度計為機械結構,包含可以自由移動的元件。這些運動部件對機械應力非常靈敏,程度遠遠超過固態電子產品。0 g偏置或偏移為重要加速度計指標,因為它定義了用于測量加速度的基線。組裝載有加速度計的系統時,可施加附加應力。這些應力可能來自,但不限于,元件焊接、安裝時的電路板應力和元件上的任何混合物的應用。如果有必要校準,建議系統組裝完成后進行校準,以補償這些影響。假設ADXL345靈敏度如表1所列。。。。。。。。。。。。。
X0g和Y0g的實測值對應于x軸和y軸偏移,通過從加速度計輸出中減去。。。。。。。。。。。。
因為z軸測量在+1 g場完成,無調頭或單點校準方案假定為z軸的理想靈敏度SZ。從Z+1g。。。。。。。。。。。。。。。。。
使用偏移寄存器(寄存器0x1E、寄存器0x1F和寄存器0x20),ADXL345可以自動補償偏移輸出。這些寄存器包含8位二進制補碼值,為自動添加到所有測得的加速度值,其結果隨后置入到DATA寄存器。因為置于偏移寄存器的值為附加值,負值置于寄存器,消除正偏移,相反則消除負偏移。該寄存器比例因子為15.6 mg/LSB,與選定的g。。。。。。。。。。。。。。。
這些值編程至OFSX寄存器、OFSY寄存器和OFXZ寄存器,分別為0xFD、0x03和0xFE。正如ADXL345的所有寄存器,當器件電源移除后,偏移寄存器不保留寫入值。重新啟動ADXL345,返回偏移寄存器,進入默認值0x00。? 由于無調頭或單點校準方法假定z軸為理想靈敏度,任何靈敏度誤差都會導致偏移誤差。舉例來說,如果前面例。。。。。。。。。。。。。。。
通過PB10和PB11兩個I/O口將傾角模塊檢測到的數據輸送到。。。。。。
2.4 GSM模塊簡介
2.4.1 VBAT 引腳
VBAT 供電范圍 3.2~4.8V 之間,常規下為 4.0V,? 在某些情況下,射頻的數據發送時隙脈沖會耗流峰值達到 2A,這必然會導致電壓跌落,所以需要有 2A 以上的電流供電能力。主要看客戶給模塊供電 IC 選擇,如果供電能力較低,那么需要加大電容補償,以免電壓跌落造成模塊重啟。PCB 布局時候 VBAT 上的旁路電容一定要放在對應 pin 。。。。。。。。。。。。
在電源設計中一定要保證不能使 VBAT 跌落至 3.1V 以下。因此, VBAT 設計會影響整個模塊的工作穩定性,比如常見問題模塊開機幾秒鐘就關機、TCP/IP 傳輸數據頻繁大數據量、信號強度不好的情況,都可。。。。。。。。。。。。
2.4.2 PWRKEY 引腳
PWRKEY 引腳內部通過 100K 電阻上拉到 3V 電壓,所以客戶設計時候要注意模塊端的電平。為了防止 PWRKEY 與 IO 直連導致串電,增強開關機可靠性,建議客戶使用。。。。。。。。。。。。
模塊開關機時序如下:
對于 SIM800、SIM800A、SIM800D 模塊,可以通過 STATUS 引腳判斷模塊是否開關機;對于 SIM800B、 SIM800S 模塊,可以通過 VDD_E。。。。。。。。。。。。。
2.5 OLED顯示模塊
有機發光二極管(縮寫:OLED)又稱有機電激發光顯示(縮寫:OLED)、有機發光半導體,OLED技術最早于1950年代和1960年代由法國人和美國人研究,其后索尼、三星和LG等公司于21世紀開始量產,與薄膜晶體管液晶顯示器為不同類型的產品,前者具有自發光性、廣視角、高對比、低耗電、高反應速率、全彩化及制程。。。。。。。。
OLED顯示技術具有自發光的特性,采用非常薄的有機材料涂層和玻璃基板,當有電流通過時,這些有機材料就會發光,而且OLED顯示屏幕可視角度大,并且能夠節省電能,從2003年開始這種顯示設備在MP3播放器上得到了應用。?以OLED使用的有機發光材料來看,一是以染料及顏料為材料的小分子器件系統,另一則以共軛性高分子為。。。。。。。。。。。。
2.6 脈搏模塊
目前心率監測系統有以下幾種檢測方法:光電容積脈搏波法、液體耦合腔心率傳感器、壓阻式心率傳感器以及應變式心率傳感器。近年來,光電檢。。。。。。。
根據朗伯一比爾(Lamber—Beer)定律,物質在一定波長處的吸光度和其濃度成正比。當恒定波長的光照射到人體組織上時,通過人體。。。。。。。。。。。。
心率主要由人體動脈舒張和收縮產生的,在人體指尖組織中的動脈成分含量高,而且指尖厚度相對其他人體組織而言比較薄,透過手指后檢測到的光強相對。。。。。。。。。
手指組織可以分成皮膚、肌肉、骨骼等非血液組織和血液組織,其中非血液組織光的吸收量是恒定的。在血液中,靜脈血的搏動相對于動脈血來說十分。。。。。。。。。。。
2.6.1心率傳感器檢測原理
光電容積法的基本原理是利用人體組織在血管搏動時造成透光率不同來進行脈搏測量的。其使用的傳感器由光源和光電變換器兩部分組成,通過綁帶或夾子固定在病人的手指或耳垂上。光源一般采用對動脈血中氧和血紅蛋白有選擇性的一。。。。。。。。。。。
2.6.2心率傳感器引腳
脈搏傳感器的實物圖如下圖所示,三個引腳分別為S、+、-,將S與單片機。。。。。。。。。。
脈搏傳感器的結構如下圖所示,最終以模擬的電壓信號向單片機輸出脈搏信號。
心率傳感器的結構如下圖所示:
脈搏模塊通過PB12口,將模擬信號輸入單片機中。電路圖如下圖所示:
2.7 按鍵電路
本設計采用了兩個獨立按鍵,由于考慮到觸發報警可能是老人彎腰撿東西,所以設置了K1按鍵,按下K1按鍵本次傾角無效,K2按鍵為測量心率按鈕,按下開始測量心率。其電路圖如2-13所示:
3 軟件設計
3.1 keil應用
Keil C51是美國Keil Software公司出品的STM32系列兼容單片機C語言軟件開發系統,與匯編相比,C語言在功能上、結構性、可讀性、可維護性上有明顯的優勢,因而易學易用。用過匯編語言后再使用C來開發,體會更加深刻。?? Keil C51軟件提供豐富的庫函數和功能強大的集成開發調試工具,全Windows界面。另外重要的一點,只要。。。。。。。。。。。。。。
圖17 Keil_c軟件界面
該軟件是一款集編程和仿真于一體的軟件,它支持匯編、C語言及二者的混合編程。
3.2 Altium Designer應用
Altium Designer是PORTEL公司在80年代末推出的EDA軟件。Altium Designer是應用于Windows9X/2000/NT操作系統下的EDA設計軟件,采用設計庫管理模式,可以網設計,具有很強的數據交換能力和開放性及3D模擬功能,是一個32。。。。。。。。。。。
。。。。。。。。。。。。。。。。。。。。。。
3.3程序流程
本次設計,通過ADXL345檢測老人是否摔倒 ,如果老人摔倒,蜂鳴器會報警,如果摔倒超過15S老人仍為站起來,單片機會通過GSM模塊給所綁定的手機號進行發送提示短息,信息里有最近一次的GPS的定位信息。
主程序流程圖如下:
GSM模塊發送短信流程圖
4.系統分析與調試
本設計是在Keil C環境下開發的,Keil C軟件支持C語言的編程及調試,運用方便,是做C語言畢業設計者的首選。設計的首要任務是安裝和學習使用這個軟件,在簡單的學習和了解Keil C后,在編譯完Keil C后,再運用STC_ISP_V480軟件燒錄到開發板上,實現實物與程序的連接。在燒錄前要對STC_ISP_V480進行一些必要的設置。第一。。。。。。。。。。。
請給MCU上電時,打開開發板上的開關,它就自行燒錄了。
。。。。。。。。。。。。。。。。。。。。。。
圖20 程序燒錄運行圖
在完成對程序的調試及燒錄之后,還要對功能進行測試,首先用萬用表測試電源和地有沒有短路,然后再對設計進行通電。最開始要對主控板進行測試,因為它是核心,按下按鍵看下數碼管是否顯示正常,當顯示“b”會顯示30s,當“b”滅掉之后按下“sos。。。。。。。。。。。。。。。。
本次設計出現的問題及解決方法:
萬用表檢測是否短路時,發現有短路顯現,經過排查,發現數碼管接錯,數碼管。。。。。。。
程序燒錄不了,當用同學的電腦燒錄時,可以燒錄,最后發現是串口的com端口選擇錯誤,每個電腦的端口都不一樣的。要用“串。。。。。。。。。。。
當布防滅掉之后就報警,人體感應模塊根本沒有檢測到人體為什么會報警呢?通過電路的排除和查閱資料,最終確定是人體感應模塊的延時調到了最大。。。。。。。。。。。。
?5 設計心得體會
這次課程設計讓我受益匪淺,無論從知識上還是其他個方面。上課的時候從來沒有見過真正的單片機,只是從理論的角度去理解。通過課程設計能夠理論聯系實際的學習,開闊了我們的眼界,也提高了單片機知識的理解水平。在這次課程設。。。。。。。。。。。。。。。。。。
?本文介紹了在設計的過程的關鍵點,供大家參考學習,如果獲取實物、下載鏈接失效、對其他單片機硬件設計感興趣、有不明白的或者錯誤的,可以加徽biyezhan007??
?
?鄭重聲明,此文章提供給大家做參考模板,杜絕一切不良學術不良行為。
總結
以上是生活随笔為你收集整理的基于单片机的人体健康检测系统的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 项目中遇到的ORA error 及解决办
- 下一篇: GitHub---最简单的使用