色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 設計應用 > 多功能智能時鐘的設計

          多功能智能時鐘的設計

          作者:謝志平 時間:2020-01-20 來源:電子產(chǎn)品世界 收藏

            謝志平(廣東省技師學院,廣東 惠州 516100)
            摘? 要:充分利用32位單片機內(nèi)部強大資源,開發(fā)了一種將電子時鐘、倒計時器、簡易心率、天氣預報、體溫檢測裝置與藍牙音響系統(tǒng)結合的電子設備。采用了高精度時鐘芯片DS3231,能做到時間精準;采用了ESP8266Wi-Fi模塊進行授時和天氣預報功能;采用了專用血氧傳感器芯片MAX30102,體積小,功耗低,能方便檢測血氧與心率;利用無線串口HC-12模塊實現(xiàn)了遠距離無線遙控功能。經(jīng)實際測試,達到了預期的各項功能。
            關鍵詞:單片機;高精度;Wi-Fi模塊;無線遙控

          本文引用地址:http://cafeforensic.com/article/202001/409438.htm

            1 關鍵核心技術

            1.1 單片機部分

            單片機為STM32主流型號,是一種高性能、低成本、低功耗的嵌入式單片機。整個系統(tǒng)分為主機和遙控器:主機采用LED全彩屏顯示,遙控器采用OLED顯示屏[2]。LED顯示屏可以采用市場上主流的P3、P2.5小間距高清LED顯示屏,利用STM32單片機CPU速度優(yōu)勢,采用動態(tài)掃描技術,既節(jié)約電能,又能達到高清顯示的目的。 整個系統(tǒng)結構如圖1所示。

          1581328940459635.jpg

            1.2 時鐘芯片

            時鐘芯片采用了DS3231,該芯片是低成本、高精度I2C實時時鐘(RTC),具有集成的溫補晶振(TCXO)和晶體,在沒有Wi-Fi授時時,正常溫度工作范圍內(nèi)精度為±2×10-6,走時非常精準,優(yōu)于普通鐘表,農(nóng)歷的算法和星期算法100年內(nèi)零誤差。
            1.3 Wi-Fi授時與天氣數(shù)據(jù)采集

            Wi-Fi模塊采用ESP8266。接收天氣時間用arduino程序編寫,arduino程序的示例做得好,容易快速上手,通 過ESP8266讀天氣及時間程序就是用arduino程序里的示例修改的。在其基礎上增加字符串處理,把收到的網(wǎng)站數(shù)據(jù)重新整理成比較簡單的字符串。由于是個人應用,所以參數(shù)需根據(jù)實際情況進行修改。如:在ESP8266例程里相應的位置將實際使用的Wi-Fi名改為test ,密碼為123456789。模塊就能自動連接到這個test了。
            WiFi.mode(WIFI_STA);

            WiFiMulti.addAP(“test”, “123456789”);

            如果要查詢指定地區(qū)的天氣,利用免費開放的天氣查詢網(wǎng)站,在例程里相應的位置直接修改當?shù)氐牡刂贰H缫樵兓葜莸貐^(qū)的天氣,則:http.begin(“http://www.webxml.com.cn/WebServices/WeatherWS.asmx/getWeather?theUserID=&theCityCode=惠州”)。
            1.4 血氧飽和度與心率采集

            身體細胞需要氧氣來進行有氧呼吸。呼吸是細胞獲得有用能量的關鍵方法之一。血氧飽和度是血液中被氧結合的氧合血紅蛋白(HbO2)的容量占全部可結合的血紅蛋白(Hb)容量的百分比,即血液中血氧的濃度,它是呼吸循環(huán)的重要生理參數(shù)。
            血氧傳感器采用Maxim公司的MAX30102[4],是一種專為可穿戴設備設計開發(fā)的血氧飽和度和心率監(jiān)測傳感器,它是集光源、接收和濾波及數(shù)字化為一體。芯片功耗極低,采用了1.8 V內(nèi)核供電,采用I2C標準通信,可用軟件關斷芯片,待機電流低至0.7 μA。芯片內(nèi)集成的光源為660 nm的紅光和880 nm的紅外光,接收端為高靈敏度的光敏三極管,接收到的信號進行放大后可進行模擬濾波和數(shù)字濾波,然后將測得的數(shù)據(jù)存放到內(nèi)部存儲器中,供外部控制器讀取。電路見圖2。

          1581328971811841.jpg

            內(nèi)部LED通信是通過一個標準的I2C兼容接口,該模塊可以通過軟件在零待機電流的情況下關閉,使電源導軌始終處于通電狀態(tài)。
            脈沖血氧儀需要兩種不同的波長來執(zhí)行測量。MAX30102集成了紅色和紅外 LED 驅動器,可調制血氧飽和度(SPO2)和心率(HR)測量的 LED 脈沖。LED 電流可在適當?shù)碾娫措妷合聫?~50 mA進行編程。LED 脈沖寬度可編程為69~411 μs,使算法能夠根據(jù)使用情況優(yōu)化血氧飽和度(SPO2)和心率(HR)的精度和功耗。圖3為實物圖。

          微信截圖_20200210180111.jpg

            數(shù)據(jù)的讀取方法:設置一個串行通信_周期任務函數(shù),當 USB 緩沖區(qū)中存在數(shù)據(jù)時,此函數(shù)會分析數(shù)據(jù),并在是有效的命令時執(zhí)行。
            串行通信_周期任務函數(shù)不斷檢查g_recv_size 標志。當此標志的值不是0時,這意味著在USB 緩沖區(qū)上從單片機接收了一些數(shù)據(jù)。此信息將復制到主應用程序 InBuffer,并且接收的數(shù)據(jù)數(shù)量將復制到 InSize。之后, g_recv_size 設置為 0,指示數(shù)據(jù)已讀取。當 InSize 的值不是 0 時,數(shù)據(jù)已收到,并且檢查它是否與通信協(xié)議數(shù)據(jù)兼容。數(shù)據(jù)讀取流程圖如圖4。

          微信截圖_20200210180115.jpg

            1.5 無線遙控

            為能手動遠程控制,考慮距離和抗干擾能力,遙控器采用了HC-12無線串口通信模塊,該模塊工作在433.4~473 MHz,可以設置多個頻道,步進為400 kHz。模塊最大發(fā)射功率為100 MW,5 kbit/s,空中波特率下接收靈敏度為-116 dBm,開闊地1 000 m的通信距離。模塊與單片機的連接見圖5。

          1581329019792094.jpg

            HC-12 模塊共有四種工作模式,考慮實際使用時,遙控器數(shù)據(jù)量小,正常使用時距離也比較近,故采用FU2 模式。此模式為省電模式,此時模塊的空閑工作電流為 80 μA 左右。只適用傳輸少量數(shù)據(jù)(每個數(shù)據(jù)包在 20 個字節(jié)以內(nèi)),數(shù)據(jù)包發(fā)送時間間隔不能太短(最好在 2 s以上),否則會造成數(shù)據(jù)丟失。AT 指令用來設置模塊的參數(shù)和切換模塊的功能,設置后需退出設置狀態(tài)才生效。方法為:正常使用(已經(jīng)上電)中,把 第 5 引腳“SET”置低電平,利用串口調試助手,發(fā)送AT+FU2回車。串口調試助手返回OK+FU2。此模式下不能設置成其它串口波特率。FU2 模式下,參數(shù)和功能的修改,掉電不會丟失。指令格式見表1。

          1581329041949388.jpg

            由于 HC-12 模塊的無線接收靈敏度比較高,當串口波特率大于 9.6 kbit/s 時,必須要錯開 5 個相鄰頻道來使用。當串口波特率不大于 9.6 kbit/s 時,如果短距離(10 m以內(nèi))通信,也需要錯開 5 個相鄰頻道使用。
            設置好串口相關工作模式后,程序配置好初始化(波特率和串口控制字等)。然后只要將發(fā)送的數(shù)據(jù)送入發(fā)送函數(shù)即可。例如:發(fā)送0x99。即:UART_Send_Byte(0x99);發(fā)送函數(shù)為:

            void UART_Send_Byte(unsigned char mydata)

             

            ES=0;//關串口中斷 

            TI=0;//串口中斷標志置0 

            SBUF=mydata;//將發(fā)送的數(shù)據(jù)送入SBUF 

            while(!TI);//等待發(fā)送完成 

            TI=0;//清發(fā)送中斷標志 

            ES=1;//打開中斷 

            }

            2 系統(tǒng)測試

            系統(tǒng)顯示采用了LED屏幕。LED屏采用了局部刷新算法,響應速度快,程序功能優(yōu)化,效率較高。并且視覺效果很好,支持運行動畫效果、顯示圖片等。操作按鍵算法采用非延遲消抖,提高了單片機工作效率,使用STM32F0單片機HAL庫[5]里的SysTick時鐘檢查時長實現(xiàn)消抖,定時器高速采樣,響應快,對程序運行速度影響小,支持多種按鍵事件的響應,實現(xiàn)了數(shù)據(jù)操作、界面設置等諸多人性化功能。程序里設置為每天連接一次Wi-Fi信號,對時鐘芯片進行授時。經(jīng)過半年的運行,完全能與北京時間完全一致。藍牙模塊采用集成的模塊,接通電源后就可以與手機藍牙進行配對,成功后就可以獲取手機內(nèi)的音樂信息,使智能時鐘有了相應的娛樂功能,使智能時鐘的應用更加廣泛。遙控器的操作在正常工作和生活環(huán)境里均能可靠地對主機進行設置,使用效果良好。
            3 結語

            普通的電子時鐘功能單一,走時不夠精準,利用32位單片機豐富的硬件與軟件資源,將普通的電子鐘功能進行擴展,實現(xiàn)了諸多人性化的功能,方便了人們的生活,在性價比方面具有較大的優(yōu)優(yōu)勢,具有一定的市場。
            參考文獻

            [1] 屈微, 王志良. STM32單片機應用基礎與項目實踐-微課版[M].北京:清華大學出版社,2019:100-201.
            [2] 劉正翔.基于STM32的OLED顯示屏接口設計[J].電子技術與軟件工程, 2017(19):65.
            [3] 白鵬飛.基于MAX30102的穿戴式血氧飽和度檢測系統(tǒng)[J].激光與紅外, 2017(10):1277-1279

            [4] 高顯生.STM32F0實戰(zhàn):基于HAL庫開發(fā)[M]. 北 京: 機械工業(yè)出版社,2018:98-104.
            [5] 李立春,劉卓.基于ARM Cortex-M3的SysTick解 析[J].吉林化工學院學報, 2015,32(1):37-38.

            本文來源于科技期刊《電子產(chǎn)品世界》2020年第02期第81頁,歡迎您寫論文時引用,并注明出處。



          評論


          相關推薦

          技術專區(qū)

          關閉