◎侯晨祥 周迎勤
科技的進(jìn)步使一些我們以前想都不敢想的事物漸漸進(jìn)入我們的生活,生活中也有很多東西從以前的裝飾品變成了科技產(chǎn)品,例如一些電話手表,測(cè)溫戒指,智能手環(huán)等,這些東西已經(jīng)成為我們生活中的??停淖兞宋覀兊纳?,并隨著嵌入式的發(fā)展,這些東西也漸漸的變的不在高大上起來,實(shí)現(xiàn)了平民化、商業(yè)化。智能健康手環(huán)使用單片機(jī)作為系統(tǒng)主控,由心率血氧檢測(cè)模塊(MAX30102)、溫濕度檢測(cè)模塊(SHT30)、光照檢測(cè)模塊(TEMT6000)、大氣壓強(qiáng)檢測(cè)模塊(BMP280)、OLED 顯示電路、按鍵電路和報(bào)警單元組成。該智能健康手環(huán)可檢測(cè)用戶的心率,血氧含量情況,也可對(duì)用戶周圍環(huán)境進(jìn)行檢測(cè),如溫度,濕度,大氣壓強(qiáng)和光照強(qiáng)度等,手環(huán)集成有人機(jī)交互系統(tǒng),可人為控制其測(cè)量方式,選擇檢測(cè)方法,也添加有報(bào)警電路,當(dāng)任何傳感器檢測(cè)的數(shù)據(jù)超過預(yù)定值時(shí),進(jìn)行報(bào)警提醒,確保使用者的安全,從而實(shí)現(xiàn)檢測(cè)人體健康和周圍環(huán)境情況的目的。在可以實(shí)現(xiàn)目前市面上大部分產(chǎn)品的功能的情況下,添加了一下手環(huán)自己的功能,不再借助手機(jī)來觀測(cè)環(huán)境情況。
系統(tǒng)使用意法半導(dǎo)體生產(chǎn)的STM32 作為主控芯片,通過單片機(jī)控制外部設(shè)備進(jìn)行環(huán)境光檢測(cè),環(huán)境溫度濕度檢測(cè),周圍氣壓情況和使用者心率檢測(cè)的功能,同時(shí)制作成一個(gè)方便佩戴的手環(huán)外形,傳感器選型也秉著低功耗,低成本的觀念,選擇制作,能保證系統(tǒng)可以獨(dú)立的長(zhǎng)時(shí)間正常使用。
科技改變著我們的社會(huì)生活,目前也有很多科技產(chǎn)品融入在社會(huì)生活中,并且我們漸漸的向萬物互聯(lián)的方向走去,家庭空氣檢測(cè),電子門鎖,掃地機(jī)器人,空調(diào)伴侶等,產(chǎn)品變的越來越細(xì)致化,方便我們的使用,攜帶,可是我們生活作息,身體健康也漸漸的向亞健康靠攏,在這樣的環(huán)境下我們需要一款既可以檢測(cè)我們身體健康又可以檢測(cè)環(huán)境健康的產(chǎn)品出現(xiàn)在我們的生活中。
1.檢測(cè)技術(shù):檢測(cè)傳感器多選用工業(yè)級(jí)別的傳感器,他們通過壓力,超聲波,電磁波,光敏等傳感器技術(shù),進(jìn)行相應(yīng)的數(shù)據(jù)檢測(cè),同時(shí)芯片內(nèi)部自行編碼,通過軟件尋址或電平控制的方式來向外傳輸檢測(cè)數(shù)據(jù)。
2.串口通信:傳感器通過內(nèi)部編碼,可把檢測(cè)的數(shù)據(jù)進(jìn)行打包發(fā)送到外界的主控中,但是主控如何識(shí)別這些數(shù)據(jù)呢?我們主要使用串口通信的方式進(jìn)行讀取,通信也有很多方式,本系統(tǒng)中主要使用IIC 通信協(xié)議進(jìn)行傳感器數(shù)據(jù)讀取。
3.人機(jī)交互:系統(tǒng)除去可自行檢測(cè)的傳感器外面,我們還需要引入人機(jī)交互系統(tǒng),通過按鍵,顯示等方式,在使用者處得到工作信號(hào),然后再通過人機(jī)交互系統(tǒng)把檢測(cè)完成的數(shù)據(jù)顯示給使用者。
1.總體框架。
通過功能分析進(jìn)行總體框架的設(shè)計(jì),根據(jù)要求,我們需要選擇一款合適的單片機(jī)作為系統(tǒng)的主控,其次是主控的工作電路,包括下載電路,時(shí)鐘電路,復(fù)位電路等,然后根據(jù)需要實(shí)現(xiàn)的目的,來選擇合適的傳感器,傳感器選擇好后,根據(jù)傳感器的數(shù)據(jù)手冊(cè)進(jìn)行單片機(jī)接口的分配即可。
2.硬件搭建。
搭建系統(tǒng)前需要了解一些數(shù)模電方面的基礎(chǔ)知識(shí),保證設(shè)計(jì)的原理圖在理論上可行,緊接著根據(jù)需要學(xué)習(xí)Altium designer 軟件,通過該軟件原理圖設(shè)計(jì)和PCB 繪制。繪制過程中,我們需要嚴(yán)格按照各傳感器的工作電壓進(jìn)行設(shè)計(jì),一個(gè)完整的系統(tǒng)電源部分萬不可出現(xiàn)問題,另外根據(jù)傳感器的檢測(cè)功能,設(shè)計(jì)過程中需要分配好放置位置。
3.軟件設(shè)計(jì)。
軟件方面主要通過單片機(jī)程序?qū)崿F(xiàn),傳感器開始檢測(cè)后,大部分可自行進(jìn)行數(shù)據(jù)處理,我們需要做的就是編寫好通信程序,保證接收的數(shù)據(jù)正確即可,但是也有一部分傳感器無法自己計(jì)算,我們收到數(shù)據(jù)后,需要編寫標(biāo)準(zhǔn)公式,自己梳理;然后編寫人機(jī)交互界面,方便使用者觀看檢測(cè)數(shù)據(jù),最后編寫界面顯示,美化系統(tǒng)界面。
4.整體調(diào)試。
軟件設(shè)計(jì)完成后,我們需要大量的時(shí)間進(jìn)行數(shù)據(jù)調(diào)試,調(diào)試根據(jù)實(shí)際實(shí)物情況制作人機(jī)交互系統(tǒng)的設(shè)計(jì),從而完善整個(gè)操作系統(tǒng),完成所有的功能。
(一)系統(tǒng)工作原理
智能健康手環(huán)通過單片機(jī)進(jìn)行控制,通過連接傳感器的輸入輸出,將傳感器處理的數(shù)據(jù)作為主控芯片的輸入,傳到主控芯片中,主控芯片通過輸入的數(shù)據(jù),判斷溫濕度是否超過閾值,超過閾值則進(jìn)行報(bào)警,同時(shí)將光照強(qiáng)度,心率等轉(zhuǎn)化成數(shù)字。以實(shí)現(xiàn)數(shù)據(jù)的監(jiān)測(cè)。圖4-1 是手環(huán)系統(tǒng)框圖。
圖4-1 智能健康手環(huán)組成框圖
系統(tǒng)主要包括有單片機(jī)最小系統(tǒng),溫濕度檢測(cè)模塊(SHT30),大氣壓強(qiáng)檢測(cè)模塊(BMP280),心率血氧檢測(cè)模塊(MAX30102),光照檢測(cè)模塊(TEMT6000),OLED 顯示單元,按鍵電路,報(bào)警單元組成,其各功能分工如下:
單片機(jī)最小系統(tǒng):計(jì)算和處理傳感器檢測(cè)到的數(shù)據(jù),響應(yīng)按鍵電路的輸入,操作顯示屏幕和報(bào)警電路進(jìn)行報(bào)警。
溫濕度檢測(cè)模塊(SHT30):通過SHT30 芯片對(duì)空氣中的溫度濕度進(jìn)行檢測(cè),并把數(shù)據(jù)傳輸給單片機(jī)。
大氣壓強(qiáng)檢測(cè)模塊(BMP280):通過BMP280 芯片檢測(cè)當(dāng)前環(huán)境的大氣壓強(qiáng)情況。
心率血氧檢測(cè)模塊(MAX30102):通過MAX30102 光敏傳感器檢測(cè)使用者心率,血氧含量情況。
光照檢測(cè)模塊(TEMT6000):通過TEMT6000 光敏器件檢測(cè)使用者當(dāng)前的環(huán)境光。
OLED 顯示單元:響應(yīng)單片機(jī)的指令,并把數(shù)值顯示出來。
按鍵電路:為使用者提供操作界面。
報(bào)警單元:響應(yīng)單片機(jī)的指令,當(dāng)檢測(cè)的數(shù)據(jù)和預(yù)期值有較大變化時(shí),表示使用者所處環(huán)境情況復(fù)雜,需要撤離或注意身體情況。
(二)單片機(jī)模塊方案選擇
根據(jù)系統(tǒng)能夠?qū)崿F(xiàn)預(yù)期功能,首先需要選擇一款合適的單片機(jī)作為整個(gè)系統(tǒng)的大腦,首先預(yù)計(jì)使用意法半導(dǎo)體公司的單片機(jī),為了滿足可實(shí)現(xiàn)制作實(shí)物手環(huán)的目的,系統(tǒng)預(yù)計(jì)使用64 腳的單片機(jī)進(jìn)行制作,選定使用STM32F103C8T6 作為主系統(tǒng)處理器,單片機(jī)內(nèi)核使用ARM32 位的Cortex-M3 架構(gòu),工作頻率最高可達(dá)72MHZ,單片機(jī)使用2.0~3.6 伏寬電壓供電且單片機(jī)具有功耗低,有睡眠,停機(jī)和待機(jī)三種工作模式,芯片的寬供電和低功耗標(biāo)志著系統(tǒng)可處于長(zhǎng)期工作中,并且系統(tǒng)對(duì)電池的要求也不會(huì)過高。
單片機(jī)內(nèi)部資源配置:內(nèi)部集成有2 個(gè)12 路ADC 通道,可轉(zhuǎn)換范圍在0~3.6V,芯片支持USART,I2C,SPI 多種通信方式,芯片集成有64 個(gè)引腳,除復(fù)位,時(shí)鐘,下載,電源和接地外,還具有大約48 個(gè)外設(shè)引腳,硬件資源上足夠系統(tǒng)使用;單片機(jī)內(nèi)部集成有64K 程序閃存存儲(chǔ)器,7 個(gè)DMA 控制器,在軟件資源分配上,也足夠系統(tǒng)使用;并且芯片體積小,資源豐富,方便后期的實(shí)物制作與調(diào)試。
(三)溫濕度檢測(cè)模塊(SHT30)
系統(tǒng)通過手環(huán)內(nèi)部集成的溫濕度傳感器實(shí)現(xiàn)對(duì)溫濕度的檢測(cè),系統(tǒng)中溫濕度檢測(cè)模塊使用SHT30,其中溫濕度檢測(cè)模塊(SHT30)包括溫度傳感器T Sensor、濕度傳感器RH Sensor、ADC 模/數(shù)轉(zhuǎn)換器、上電復(fù)位、校準(zhǔn)、數(shù)據(jù)處理以及數(shù)據(jù)接口等。其中,如圖可知,將溫度傳感器和濕度傳感器收集到的數(shù)據(jù)傳送到ADC 模/數(shù)轉(zhuǎn)換器中進(jìn)行轉(zhuǎn)換,從而將連續(xù)變換的模擬信號(hào)轉(zhuǎn)換成離散的數(shù)字信號(hào),然后提過外部引腳,配合芯片的工作電路,嚴(yán)格按照IIC 通信協(xié)議,當(dāng)芯片讀取到單片機(jī)發(fā)送的起止信號(hào)好,開始向單片機(jī)傳送檢測(cè)到的數(shù)據(jù)。
(四)大氣壓強(qiáng)檢測(cè)模塊(BMP280)
系統(tǒng)通過內(nèi)部集成的大氣壓強(qiáng)檢測(cè)模塊(BMP280)實(shí)現(xiàn)對(duì)大氣壓強(qiáng)的檢測(cè),其中,模塊使用BMP280 作為檢測(cè)和數(shù)據(jù)處理芯片,通過壓強(qiáng)傳感器接收環(huán)境中的壓強(qiáng),將連續(xù)變化的模擬數(shù)據(jù)作為輸入傳到環(huán)境模塊中,環(huán)境模塊接收到環(huán)境中變化的壓強(qiáng)信號(hào)之后,將模擬量傳到內(nèi)部ADC 單元,進(jìn)行模數(shù)轉(zhuǎn)換,使得模擬量變成數(shù)字信號(hào),然后提過分配的接口引申出去,配個(gè)芯片工作電路,嚴(yán)格按照IIC 協(xié)議,等待響應(yīng)數(shù)據(jù)線和時(shí)鐘信號(hào)將數(shù)據(jù)發(fā)送來的起止信號(hào),把數(shù)據(jù)發(fā)送到單片機(jī)中,供單片機(jī)數(shù)據(jù)處理。
(五)心率血氧檢測(cè)模塊(MAX30102)
心率血氧檢測(cè)模塊選用MAX30102,芯片工藝技術(shù)成熟,內(nèi)部集成有一個(gè)660nm 紅光和880nm 紅外光,屬于光電傳感器的一種,可通過地址操作實(shí)現(xiàn)開關(guān)內(nèi)部中斷檢測(cè),也可通過軟件進(jìn)行芯片關(guān)斷,關(guān)斷后電流為零,保證了低功耗的同時(shí)也實(shí)現(xiàn)了數(shù)據(jù)的穩(wěn)定性。
(六)光照檢測(cè)模塊(TEMT6000)
光照檢測(cè)模塊選用TEMT6000 作為檢測(cè)傳感器,TEMT600內(nèi)部可看成一個(gè)硅型NPN 二極管,其基極集成在一個(gè)透明敏感元件中,通過光照的不同,基極的光感元件可產(chǎn)生不同的電壓,通過三級(jí)管的放大特性,把數(shù)據(jù)放大,通過電壓的形式發(fā)送出去,可通過AD 轉(zhuǎn)換直接讀取檢測(cè)的數(shù)值,傳感器只對(duì)可見光敏感,不需要額外的過濾設(shè)施,并且具有良好的線性輸出,確保數(shù)值的可靠性。
(一)單片機(jī)電路
系統(tǒng)選用STM32F103C8T6 作為系統(tǒng)的芯片,PCB 封裝采用LQFP64 國(guó)際標(biāo)準(zhǔn)封裝,P1 接口使用SPI 的下載方式,該下載方式方便簡(jiǎn)單,按照芯片數(shù)據(jù)手冊(cè)和下載器對(duì)應(yīng)接線,通過編譯器進(jìn)行下載編譯即可,不需要操作單片機(jī)的BOOT 腳,但是BOOT 腳需要接地,保證程序可執(zhí)行;C3,C2,XTAL 組成外部時(shí)鐘電路,通過外部時(shí)鐘產(chǎn)生信號(hào),輸送到單片機(jī)中,VCC接電源,GND 接地,其中圖中接入了大量的濾波電容,起到了濾波作用。
(二)穩(wěn)壓電路
要想系統(tǒng)能正常穩(wěn)定的工作,必須有一款文波小,輸出電壓穩(wěn)定輸出電流穩(wěn)定的穩(wěn)壓電路;實(shí)現(xiàn)我選用的是3.7 伏鋰電池,但是系統(tǒng)中模塊供電平均為5V 和3.3V,STM32F103C8T6的工作電壓在2.0~3.6V 之間,3.7V 的電源就顯的格外突兀,但是又考慮到產(chǎn)品的可穿戴性,無法使用大容量,大電源的電池,于是我計(jì)劃進(jìn)行升壓后降壓處理,通過檢測(cè),升壓符合預(yù)期結(jié)果并且得到了5V 的電源輸入,有了5V 的電源,只需要接一個(gè)3.3V 的穩(wěn)壓即可,LM1117-3.3V 芯片是一款線性穩(wěn)壓芯片,本身就具備文波小電源穩(wěn)定的特點(diǎn)。
(三)信息采集電路
1.溫濕度檢測(cè)模塊(SHT30)。
溫濕度檢測(cè)模塊使用SHT30 芯片,芯片小巧,數(shù)據(jù)精準(zhǔn),電路結(jié)構(gòu)簡(jiǎn)單,其中R7,R8 為IIC 接口SCL 和SDA 的上拉電阻,C14 進(jìn)行電源濾波,單片機(jī)通過IIC 協(xié)議進(jìn)行讀取數(shù)據(jù)即可。
2.大氣壓強(qiáng)檢測(cè)電路(BMP280)。
按照BMP280 數(shù)據(jù)手冊(cè),設(shè)計(jì)得出,其中出去上拉電阻和濾波電容外,自行設(shè)計(jì)的就是一個(gè)G 電阻和一個(gè)V 電阻,這兩個(gè)電阻可對(duì)芯片進(jìn)行模式轉(zhuǎn)換,根據(jù)手冊(cè)當(dāng)芯片5 腳接地時(shí)或接源時(shí),芯片響應(yīng)地址不同設(shè)計(jì)得出。
3.心率血氧檢測(cè)模塊(MAX30102)。
心率血氧檢測(cè)模塊使用MAX30102 模塊進(jìn)行檢測(cè),因?yàn)閭鞲衅餍枰o貼手背,為了方便設(shè)計(jì)于是采用了成品模塊,通過排母的方式連接在手環(huán)背面,VIN 接 5V,SCL 接 PB8,SDA 接PB9。
4.光照檢測(cè)模塊(TEMT6000)電路。
TEMT6000 類似于一個(gè)三極管,不過他的基極不需要接,芯片外接的光敏元件,當(dāng)光照射到感光片上時(shí),會(huì)產(chǎn)生微弱的電流,然后導(dǎo)通三極管,把一個(gè)模擬量發(fā)送到單片機(jī),單片機(jī)只需要開啟AD 轉(zhuǎn)換數(shù)據(jù)即可。
(四)人機(jī)交互電路
1.OLED 顯示單元。
液晶顯示屏幕選擇的是OLED-0.91 寸長(zhǎng)款屏幕,其引腳功能如下:
GND——電源地
3.3V——電源
SCL——PB12(時(shí)鐘信號(hào))
SDA——PB13(數(shù)據(jù)信號(hào))
2.報(bào)警單元。
設(shè)計(jì)報(bào)警單元主要是為了配合按鍵電路的響應(yīng),當(dāng)按下確定鍵的時(shí)候,蜂鳴器給我們一個(gè)聲音信號(hào),確保按下,另一方面是當(dāng)周圍環(huán)境不論是大氣壓過高還是溫度過熱的時(shí)候,能給予報(bào)警提示。
電路主要使用三極管開關(guān)特性,配置電阻只讓三極管工作在放大區(qū)或截止區(qū)即可。
3.按鍵電路。
按鍵一測(cè)接地,另外一測(cè)接單片機(jī)IO 口,單片機(jī)IO 口初始化拉高,只需要檢測(cè)低電平即可。
由于屏幕使用的是0.91 寸長(zhǎng)屏幕,測(cè)量的數(shù)據(jù)無法全部顯示在屏幕上,所以需要按鍵操作選擇需要顯示數(shù)據(jù)。
系統(tǒng)設(shè)計(jì)完成后,需要進(jìn)行系統(tǒng)的總體調(diào)試,所以我們需要針對(duì)硬件電路和軟件程序分別進(jìn)行調(diào)試,兩個(gè)分別調(diào)試完成后,才可進(jìn)行系統(tǒng)的總體調(diào)試,具體調(diào)試過程如下:
硬件調(diào)試:
首先進(jìn)行硬件設(shè)計(jì),在AD 中繪制完電路圖后,檢查布置如下:
1.檢查IO 口分配是否有問題,根據(jù)芯片數(shù)據(jù)手冊(cè),檢查使用的IO 口,查看IO 口是否和芯片硬件電路有沖突。
2.檢查電源部分電路和電源分配方式,將數(shù)字電路的地和模擬電路的地使用0 歐電阻隔離。
3.繪制PCB 電路圖,繪制的時(shí)候需要注意通信線等長(zhǎng),過孔等于線寬。
4.繪制完成后進(jìn)行規(guī)則檢查,標(biāo)識(shí)好電路符號(hào),發(fā)至工廠打板。
5.電路收到后,焊接芯片時(shí)一定要細(xì)致,觀察引腳錫是否有互聯(lián),清理干凈版面,準(zhǔn)備進(jìn)行上電測(cè)試。
6.上電時(shí)使用直流穩(wěn)壓電源供電,電流從小到大的順序慢慢增加。
7.測(cè)試各模塊上電是否正常,確認(rèn)無誤后進(jìn)行準(zhǔn)備進(jìn)行總體調(diào)試。
結(jié)論:系統(tǒng)利用單片機(jī)實(shí)現(xiàn)對(duì)整個(gè)電路的控制作用,電路中最主要的部分是通過傳感器輸出到單片機(jī)中的數(shù)字信號(hào)實(shí)現(xiàn)整個(gè)系統(tǒng)的設(shè)計(jì)。系統(tǒng)主要完成了以下工作:
1.通過溫濕度檢測(cè)模塊(SHT30)檢測(cè)空氣溫度濕度情況。
2.通過大氣壓強(qiáng)檢測(cè)模塊(BMP280 檢測(cè)大氣壓強(qiáng)。
3.通過心率血氧檢測(cè)模塊(MAX30102)檢測(cè)使用者心率情況和血氧含量。
4.通過光照檢測(cè)模塊(TEMT6000)檢測(cè)光照。
5.通過OLED 顯示單元顯示測(cè)量數(shù)據(jù)。
6.通過按鍵電路提供操作界面。
7.通過報(bào)警單元進(jìn)行聲音報(bào)警。