1. <dd id="gfd4i"><track id="gfd4i"></track></dd>
        1. 新聞中心

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

          多功能智能時鐘的設計

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

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

          本文引用地址:http://www.sjzwangxun.com.cn/article/202001/409438.htm

            1 關鍵核心技術

            1.1 單片機部分

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

          1581328940459635.jpg

            1.2 時鐘芯片

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

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

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

            如果要查詢指定地區的天氣,利用免費開放的天氣查詢網站,在例程里相應的位置直接修改當地的地址。如要查詢惠州地區的天氣,則:http.begin(“http://www.webxml.com.cn/WebServices/WeatherWS.asmx/getWeather?theUserID=&theCityCode=惠州”)。
            1.4 血氧飽和度與心率采集

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

          1581328971811841.jpg

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

          微信截圖_20200210180111.jpg

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

          微信截圖_20200210180115.jpg

            1.5 無線遙控

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

          1581329019792094.jpg

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

          1581329041949388.jpg

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

            void UART_Send_Byte(unsigned char mydata)

             

            ES=0;//關串口中斷 

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

            SBUF=mydata;//將發送的數據送入SBUF 

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

            TI=0;//清發送中斷標志 

            ES=1;//打開中斷 

            }

            2 系統測試

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

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

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

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

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



          評論


          相關推薦

          技術專區

          關閉
          三级黄影片大全性爱视频 - 视频 - 在线观看 - 影视资讯 - 观影网