陳江萍 鐘浩
摘 要:文章設(shè)計(jì)了一種基于STM32的多功能智能水杯系統(tǒng),旨在使人們養(yǎng)成良好的飲水習(xí)慣。該系統(tǒng)采用單片機(jī)控制溫度傳感器和壓力傳感器,實(shí)時(shí)測(cè)量水溫和水量。同時(shí),通過(guò)藍(lán)牙模塊,用戶可以通過(guò)手機(jī)App獲得水溫、水量等信息。內(nèi)置在杯子中的鋰電池可以為微控制器和每個(gè)模塊提供電力。經(jīng)過(guò)調(diào)試,該系統(tǒng)能夠成功地實(shí)現(xiàn)上述功能,較好地解決了人們的飲用水問(wèn)題,具有較高的性價(jià)比和應(yīng)用前景。
關(guān)鍵詞:智能水杯;自動(dòng)提醒;單片機(jī)
0 ? ?引言
本文設(shè)計(jì)了一種基于物聯(lián)網(wǎng)的智能水杯,用戶可以設(shè)定時(shí)間和水溫。當(dāng)達(dá)到用戶設(shè)定的時(shí)間或熱水冷卻到用戶設(shè)定的水溫時(shí),聲音提醒用戶喝水。本文設(shè)計(jì)的智能水杯具有內(nèi)置鋰電池和測(cè)量電路。鋰電池采用無(wú)線充電技術(shù)充電,使水杯更小更方便。同時(shí)還具有壓力傳感器,可以測(cè)量杯中的水量。水杯內(nèi)置藍(lán)牙模塊,微控制器通過(guò)藍(lán)牙模塊向手機(jī)App傳輸數(shù)據(jù),使用戶可以更方便地在手機(jī)App上查看飲用水記錄。
1 ? 系統(tǒng)設(shè)計(jì)
在本文所提的系統(tǒng)中,單片機(jī)通過(guò)溫度傳感器、壓力傳感器和時(shí)鐘模塊采集數(shù)據(jù),并在液晶顯示器上顯示水溫、水量和電流時(shí)間,此外,它可以通過(guò)不同的水溫點(diǎn)亮不同的Led燈,并可以通過(guò)按鈕設(shè)置水溫和飲水時(shí)間,微控制器檢測(cè)水溫和時(shí)間,并控制語(yǔ)音模塊在達(dá)到預(yù)定水溫和時(shí)間時(shí)發(fā)出聲音,它可以控制AD轉(zhuǎn)換器采集電壓并顯示在LCD上,當(dāng)電池電量不足時(shí),電池通過(guò)無(wú)線充電技術(shù)充電。系統(tǒng)中包含藍(lán)牙模塊,微控制器通過(guò)藍(lán)牙模塊向移動(dòng)App發(fā)送數(shù)據(jù)[1]。
2 ? 主模塊設(shè)計(jì)
2.1 主控芯片
STM32F103C8T6集成了一個(gè)高性能的ARM cortex-m332位RISC核心,在72 MHz工作,高速嵌入式存儲(chǔ)器,以及各種增強(qiáng)的 I/O和連接到兩個(gè)APB總線的外設(shè)。該系統(tǒng)采用單片機(jī)中的12位ADC和RTC模塊實(shí)現(xiàn)電壓的采集和時(shí)鐘的顯示。 12位ADC是一個(gè)逐次逼近的模擬數(shù)字轉(zhuǎn)換器。它有多達(dá)18個(gè)多路信道允許它測(cè)量來(lái)自16個(gè)外部和兩個(gè)內(nèi)部來(lái)源的信號(hào)。各通道的A/D轉(zhuǎn)換可以采用單通道、連續(xù)通道、掃描通道或間斷通道進(jìn)行。ADC的結(jié)果存儲(chǔ)在左對(duì)齊或右對(duì)齊的16位數(shù)據(jù)寄存器中。
2.2 觸摸鍵模塊
觸摸鍵芯片是RH6030。該芯片是一種電容式可觸摸感應(yīng)開(kāi)關(guān),可替代傳統(tǒng)的機(jī)械式開(kāi)關(guān)。RH6030可以通過(guò)外部引腳在多種模式下工作。當(dāng)觸鍵面積增加到一定程度時(shí),面積的持續(xù)增加幾乎不會(huì)影響靈敏度。在觸摸電極和觸摸輸入針之間連接一個(gè)電阻器,用于提高觸摸的抗干擾能力。在VDD和GND之間需要一個(gè)濾波電容來(lái)消除噪聲。電源需要穩(wěn)定。如果電源電壓漂移或快速變化,可能造成靈敏度漂移或檢測(cè)誤差。在給系統(tǒng)供電之前,應(yīng)該將介質(zhì)覆蓋在觸摸電極上,因?yàn)樾酒诩与姇r(shí)會(huì)檢測(cè)環(huán)境和初始電容。如果覆蓋層是在芯片初始化后放置的,那么系統(tǒng)可能檢測(cè)到電容的突然變化,從而導(dǎo)致判斷錯(cuò)誤。
2.3 語(yǔ)音模塊
ISD1820提供高質(zhì)量、單芯片、單消息、錄音/回放解決方案,用戶可選擇持續(xù)時(shí)間。CMOS器件包括片上振蕩器、麥克風(fēng)前置放大器、自動(dòng)增益控制、抗混疊濾波器、多級(jí)存儲(chǔ)器陣列、平滑濾波器和揚(yáng)聲器放大器。最小錄音/回放子系統(tǒng)可以配置一個(gè)麥克風(fēng)、揚(yáng)聲器、多個(gè)被動(dòng)元件、兩個(gè)按鈕和一個(gè)電源。這些記錄存儲(chǔ)在芯片上的非揮發(fā)性記憶體存儲(chǔ)單元中,以提供零功率的信息存儲(chǔ)。
2.4 時(shí)鐘模塊
選用STM32內(nèi)部RTC時(shí)鐘作為時(shí)鐘模塊。實(shí)時(shí)時(shí)鐘是一個(gè)獨(dú)立的計(jì)時(shí)器。RTC 核心和時(shí)鐘配置(RCC _ bdcr寄存器)位于備份域,這意味著RTC設(shè)置和時(shí)間在重置或從備用模式喚醒后保持不變。重置后,將禁用對(duì)備份寄存器和 RTC的訪問(wèn),并保護(hù)備份域(BKP)免受可能的寄生寫(xiě)訪問(wèn)。RTC和備份寄存器由一個(gè)開(kāi)關(guān)提供,該開(kāi)關(guān)由VDD電源供電或由VBAT引腳供電。當(dāng)VDD電源不存在時(shí),備份寄存器(1 016位寄存器)可用于存儲(chǔ)數(shù)據(jù)。實(shí)時(shí)時(shí)鐘提供了一組連續(xù)運(yùn)行的計(jì)數(shù)器,可以與適當(dāng)?shù)能浖黄鹗褂茫蕴峁r(shí)鐘日歷功能,并提供報(bào)警中斷和周期性中斷。它由一個(gè)外部的32.768 kHz振蕩器、一個(gè)內(nèi)部的低功率RC振蕩器或一個(gè)除以128的高速外部時(shí)鐘來(lái)計(jì)時(shí)。內(nèi)部低功耗RC的典型頻率為 ? ? ?32 kHz。該RTC可以校準(zhǔn)使用外部512赫茲輸出,以補(bǔ)償任何自然石英偏見(jiàn)。RTC有一個(gè)32位的可編程計(jì)數(shù)器,可用于長(zhǎng)期測(cè)量使用比較寄存器生成警報(bào)[2]。
2.5 溫度模組
DS18B20數(shù)碼溫度計(jì)提供9至12攝氏度的溫度測(cè)量,并設(shè)有報(bào)警功能,具有非揮發(fā)性用戶可編程上下觸發(fā)點(diǎn)。DS18B20通過(guò)1線總線進(jìn)行通信,根據(jù)定義,該總線只需要一條數(shù)據(jù)線(和地線)與中央微處理器進(jìn)行通信。它的工作溫度范圍為-55℃至+125 ℃,精確度為± 0.5 ℃,從-10 ℃至+85 ℃。此外,DS18B20可以直接從數(shù)據(jù)線(“寄生電源”)獲得電力,而不需要外部電源。根據(jù)定義,1-Wire總線只有一條數(shù)據(jù)線。每個(gè)設(shè)備(主設(shè)備或從設(shè)備)都通過(guò)一個(gè)開(kāi)放接口或三態(tài)端口連接到數(shù)據(jù)線。這允許每個(gè)設(shè)備在不傳輸數(shù)據(jù)時(shí)“釋放”數(shù)據(jù)線,因此總線可用于其他設(shè)備。DS18B20的單線端口(DQ引腳)是開(kāi)放式漏極,需要大約5 kω的外部上拉電阻。DS18B20的核心功能是直接數(shù)字式溫度傳感器。用戶可以將溫度傳感器的分辨率設(shè)置為9,10,11或12位,相應(yīng)的增量分別為0.5 ℃,0.25 ℃,0.125 ℃ 和0.0625 ℃。開(kāi)機(jī)時(shí)的默認(rèn)分辨率為12位。DS18B20在低功耗空閑狀態(tài)下啟動(dòng);要開(kāi)始溫度測(cè)量和a/d轉(zhuǎn)換,主機(jī)必須發(fā)出 Convert [44h]命令。轉(zhuǎn)換后,生成的熱數(shù)據(jù)存儲(chǔ)在暫存器中的2字節(jié)溫度寄存器中,DS18B20返回到空閑狀態(tài)。在 DS18B20執(zhí)行溫度轉(zhuǎn)換后,將溫度值與存儲(chǔ)在1字節(jié)TH和TL寄存器中的用戶定義2的補(bǔ)碼報(bào)警觸發(fā)器值進(jìn)行比較。符號(hào)位(s)表示該值是正數(shù)還是負(fù)數(shù): 對(duì)于正數(shù)s=0,對(duì)于負(fù)數(shù)s=1。TH和TL寄存器是非易失性的(EEPROM),因此當(dāng)設(shè)備斷電時(shí),它們將保留數(shù)據(jù)。
2.6 電源管理模塊
電池使用電磁感應(yīng)無(wú)線充電技術(shù)充電。主要原理是在初級(jí)線圈上產(chǎn)生交流電,而次級(jí)線圈通過(guò)電磁感應(yīng)產(chǎn)生一定的電流。充電基座和水杯端子分別有內(nèi)置線圈,當(dāng)兩者接近時(shí),在水杯中的接收線圈中產(chǎn)生一定的電流電磁感應(yīng)。通電導(dǎo)線周圍產(chǎn)生的磁場(chǎng)方向與電流方向垂直,通常磁場(chǎng)很弱。然而,如果導(dǎo)線纏繞成一個(gè)圓圈或螺旋,同一方向的磁場(chǎng)就會(huì)疊加,從而形成一個(gè)強(qiáng)磁場(chǎng)。利用變化的電場(chǎng)產(chǎn)生變化的磁場(chǎng),利用變化的磁場(chǎng)產(chǎn)生電場(chǎng),從而將能量從發(fā)射端轉(zhuǎn)移到接收端,從而產(chǎn)生電流給裝置充電[3]。
3 ? 結(jié)語(yǔ)
本文介紹的智能水杯與普通水杯相比,能夠顯示水溫、水量,提醒用戶智能飲水。無(wú)線通信技術(shù)允許用戶在App上查看飲用水記錄。無(wú)線充電技術(shù)消除了充電的不便。該系統(tǒng)采用傳感器測(cè)量水杯內(nèi)的水溫和水量,誤差不超過(guò)±0.5 ℃。當(dāng)水溫低于30 ℃,30 ℃~60 ℃和高于60 ℃時(shí),分別開(kāi)啟3種顏色指示燈,誤差不超過(guò)± 0.5℃。水溫通過(guò)按鍵在液晶顯示器上設(shè)定。當(dāng)熱水冷卻到設(shè)定溫度時(shí),聲音提醒用戶飲水,誤差不超過(guò)±0.5 ℃。用戶可以通過(guò)按鍵設(shè)置LCD上的時(shí)間。當(dāng)設(shè)定的時(shí)間到來(lái)時(shí),聲音提醒用戶喝水。電磁感應(yīng)的無(wú)線充電技術(shù)被用來(lái)給鋰電池充電。當(dāng)鋰電池電壓達(dá)到4.2 V時(shí),斷開(kāi)電路停止充電,當(dāng)鋰電池電壓小于3.4 V時(shí),系統(tǒng)提醒用戶對(duì)電池充電。藍(lán)牙模塊用于無(wú)線數(shù)據(jù)傳輸,飲用水記錄可以在移動(dòng)App上查看。
[參考文獻(xiàn)]
[1]陳蓮芳.關(guān)于單片機(jī)溫度控制系統(tǒng)方案的探討[J].科技資訊,2019(10):11-12.
[2]王維佳.基于單片機(jī)的溫度控制系統(tǒng)設(shè)計(jì)[J].電子技術(shù)與軟件工程,2018(23):244.
[3]高敏.基于單片機(jī)的溫度控制系統(tǒng)的研究與實(shí)現(xiàn)[J].廣州城市職業(yè)學(xué)院學(xué)報(bào),2016(4):26-29.
(編輯 何 琳)