基于 STM32F030 的無線電子溫度計(上)
60 多年過去了,盡管輝光管已經(jīng)停產(chǎn),有很多工程師仍然對它情有獨鐘。我用 8 塊液晶顯示屏制作了一個擬輝光管時鐘,感受復(fù)古元素的美感,表達(dá)對過去經(jīng)典的敬意。
這個項目緣起我家娃生病時,總是不愿意量體溫。傳統(tǒng)的水銀溫度計測量溫度慢,孩子總是問“好了沒?”,等得著急了就把溫度計拿出來了,功虧一簣,父母更是崩潰。所以我就希望有一個便宜好用、測量精準(zhǔn)、測量速度快的溫度計。作為一名工程師的我決定自己做一款。“你的溫度,我來守護(hù)”,這是我的初心。
![]()
應(yīng)用場景和主要功能
溫度計應(yīng)用場景如下。
● 解決兒童生病時不愿意配合量體溫的問題。
● 適用于兒童體溫需要實時監(jiān)測的情況。
● 適用于兒童睡覺時測量體溫。
主要功能如下。
● 精度高,誤差小于 0.1℃。
● 帶有顯示屏。
● 支持藍(lán)牙傳輸,支持 BLE 和
SPP,既可以連接手機(jī),也可以連接
計算機(jī)。
● 運行時間長,可以連續(xù)使用12h 以上。
● 使用便捷,不需要經(jīng)常拿出來看溫度,可直接通過手機(jī)或計算機(jī)接收溫度和電量提示。
● 可以 DIY 設(shè)置報警功能,方便看護(hù)兒童時實時了解體溫情況。
總體設(shè)計
本 設(shè) 計 使 用 3.7V 鋰 電 池 為 系統(tǒng) 供 電, 經(jīng) LDO 降 壓 到 3.3V 后 給MCU供電,MCU與OLED顯示電路、鋰電池充放電電路、溫度傳感器電路、藍(lán)牙傳輸電路進(jìn)行連接,無線溫度計系統(tǒng)框架如圖 1 所示。
![]()
圖 1 無線溫度計系統(tǒng)框架
硬件設(shè)計
這樣一個功能豐富的無線溫度計是如何設(shè)計出來的呢,接下來我將逐一介紹每個模塊。
電源
在電源的選用上,該系統(tǒng)選用3.7V 可 充 電 鋰 電 池, 通 過 TP4057芯 片 進(jìn) 行 充 電, 后 經(jīng) 過 LDO 芯 片XC6220B331MR-G 將 電 壓 轉(zhuǎn) 為3.3V,給 MCU 和外圍元器件供電。為什么要選用 TP4057 這個芯片
呢?因為這個芯片具有如下特點。
● 封裝小,節(jié)省空間。
● 充電快,最大充電電流可配置為 1A。
● 價格足夠便宜。
這 里 要 注 意 LDO 的 選 擇, 一定要選擇具有超低壓差的,因為鋰電 池 隨 著 工 作 的 時 間, 供 電 電 壓會 從 4.1V 慢 慢 降 低, 直 到 供 電 不足,導(dǎo)致系統(tǒng)無法工作。這是選擇XC6220B331MR-G 這 個 芯 片 的 原因,即使是 20mV 的壓降,也可以提供 100mA 的電流,對于這個系統(tǒng)供電電流足夠使用。
我們對電源進(jìn)行詳細(xì)分析。首先是系統(tǒng)充電接口,本項目通過 USB Type-C 接 口 充 電,USB Type-C接口電路如圖 2 所示。
![]()
圖 2 USB Type-C 接口電路
然后通過 USB Type-C 接口給TP5057 芯片供電,充電電路如圖 3所 示。LED1 和 LED2 是 系 統(tǒng) 充 電狀態(tài)指示燈,當(dāng)系統(tǒng)充電時,LED1滅,LED2 亮;當(dāng)系統(tǒng)充電完成時,LED1 亮,LED2 滅。電阻 R3 作為充電電流限制電阻,最大充電電流限制為 500mA,可以根據(jù)系統(tǒng)需求更改此阻值。
![]()
圖 3 充電電路
最后是電源的其他部分,系統(tǒng)開關(guān)、鋰電池及電量檢測電路如圖 4所示。
![]()
圖 4 系統(tǒng)開關(guān)、鋰電池及電量檢測電路
VT1、VD1 和電阻 R4 構(gòu)成了電源選通網(wǎng)絡(luò),工作具體原理如下。
● 當(dāng) USB Type-C 接 入 時,VCCIN 約 為 5V 輸 入 電 壓, 此 時VT1 不導(dǎo)通,BAT 無法通過 VT1 輸出到 VOUT,但 VD1 工作并導(dǎo)通,VCCIN 經(jīng)過 VD1 輸出到 VOUT。
● 當(dāng) USB Type-C 沒有接入時,VCCIN 由電阻 R4 下拉接 GND,使VCCIN 為低電平,VT1 進(jìn)行工作并導(dǎo)通,BAT 通過 VT1 輸出到 VOUT。注意此時 VD1 可以防止 VOUT 反向輸入給 VCCIN。
鋰 電 池 通 過 電 阻 R11、R13、R12 和電容 C17 進(jìn)行電量采集,BAT經(jīng)過電阻 R11 和 R12 分壓,ADC 采集的電壓為 BAT 的一半。為什么要進(jìn)行分壓呢?原因是鋰電池最高電壓可以達(dá)到 4.2V,若不進(jìn)行分壓,則超過MCU 的 ADC 測量范圍(0~3.3V)。
H7 為電池的排針接口,SW1 為系統(tǒng)供電開關(guān)。
系統(tǒng)的大部分元器件工作電壓不超過 3.3V,為了保護(hù)元器件和確保元器件能正常工作,需要將工作電壓轉(zhuǎn)為 3.3V,轉(zhuǎn)換電路如圖 5 所示。
![]()
圖 5 LDO 轉(zhuǎn) 3.3V 電路
主控
系統(tǒng)主控采用STM32F030C8,我選擇該芯片的原因如下。
● 功 耗 低、ARM Cortex-M0內(nèi)核。
● 便宜 , 降低成本。
● 外設(shè)豐富,足夠本項目使用。
STM32F030C8 屬于 STM32F030x4/x6/x8/xC 系 列, 該 系 列 芯片集成了以 48MHz 頻率運行的高性能 32 位 RISC 內(nèi) 核、 高 速 嵌 入 式存 儲器(256KB 的閃存和 32 KB 的SRAM)以及增強(qiáng)型外部設(shè)備和 I/O。所有元器件均提供標(biāo)準(zhǔn)通信接口、1 個 12 位 ADC、7 個通用 16 位定時器和 1 個高級控制 PWM 定時器。STM32F030x4/x6/x8/xC 系列芯片工作溫度為-40~+85°C,電源電壓為 2.4~3.6V。該系列微控制器包括 4 種不同封裝的元器件,從 20 個引腳到 64 個引腳。這些特性使STM32F030x4/x6/x8/xC 系 列 芯片適用于廣泛的應(yīng)用,如手持設(shè)備、A/V 接 收 器 和數(shù)字電視機(jī)、游戲和GPS平臺、逆變器、打印機(jī)、掃描儀、報警系統(tǒng)和可視對講機(jī)等。
本項目中該主控實現(xiàn)以下功能。
● ADC 采 集, 即 檢 測 鋰 電 池電量。
● 串口通信,控制藍(lán)牙芯片,進(jìn)行數(shù)據(jù)發(fā)送。
● I 2 C 通信,進(jìn)行溫度傳感器的配置和初始化,最重要的是讀取溫度。
● I2C 通信,控制顯示屏,顯示電量、藍(lán)牙連接狀態(tài)、測量時長等。
● 其他可擴(kuò)展功能。MCU 主控電路如圖 6 所示。
![]()
圖 6 MCU 主控電路
藍(lán)牙
本項目藍(lán)牙部分采用KT6368A,這是一款支持藍(lán)牙雙模的純數(shù)據(jù)芯片,選擇這款芯片最大的原因是成本低、使用簡單、生產(chǎn)簡單,大大降低了開發(fā)難度。該芯片同時支持 SPP 和 BLE ,但是只能任選其中一個協(xié)議使用。藍(lán)牙電路如圖 7 所示。
![]()
圖 7 藍(lán)牙電路
圖 7 中, 電 阻 R6、R8 串 聯(lián) 可以 防 止 漏 電, 避 免 異 常 情 況 發(fā) 生。LED 指示藍(lán)牙連接狀態(tài)。需要注意:
KT6368A 芯片開機(jī)需要初始化外部設(shè)備,其瞬間電流比較大,可達(dá) 25mA,時間維持 300ms,之后就進(jìn)入 5mA 工作狀態(tài)。芯片上電后,會自動校準(zhǔn)時間,程序中需要設(shè)置延時后處理。
顯示屏
顯 示 屏 用 的 是 國 產(chǎn) 漢 昇 0.91英 寸 OLED 模 塊, 具 體 型 號 為HS91L02W2C01。該顯示屏分辨率為 128 像素 ×32 像素,主控芯片為SSD1306,接口類型為 I2C。整體尺寸如 8 圖所示。
![]()
圖 8 顯示屏尺寸
為什么選擇這個模塊呢?首先是價格便宜,其次是尺寸合適,剛好可以 顯 示 4 行, 能 滿 足 需 求。該 模 塊通過 I2C 接口與 MCU 連接,模塊已 內(nèi) 置 電 阻, 因 此 OLED_SDA 和OLED_SCK 網(wǎng)絡(luò)不需要添加上拉電阻。顯示屏與 MCU 連接電路如圖 9所示。
![]()
圖 9 顯示屏與 MCU 連接電路
溫度傳感器
為了驗證效果,我選擇了兩款溫度傳感器,這兩款傳感器精度高且便宜,非常具有性價比。下面簡單介紹一下。
第一種是 T117 傳感器,具有超低溫測溫(-103℃)功能,測溫精度為 ±0.1℃,使用 I2C 和單總線數(shù)字輸出,測溫速度最快為 2.2ms,支持4路I2C 通信地址;超低功耗(電流為2μA),寬電壓供電 1.8~5.5V,大小為 2mm×2mm×0.75mm,DFN-6L封裝,內(nèi)置 112bit EEPROM。其廣泛應(yīng)用于智能穿戴設(shè)備、體溫計、動物體溫檢測設(shè)備、醫(yī)療電子設(shè)備、熱表 /氣表 / 水表等。
第 二 種 是 MTS4 傳 感 器, 其 采用 I2C 協(xié) 議 數(shù) 字 輸 出, 可 同 時 兼 容數(shù)字單總線,測溫精度為 ±0.1℃,測 溫 速 度 可 配 置 為 15.3ms、8.5ms、5.2ms、2.2ms, 具 有 超低 功 耗( 電 流 為 3.1μA), 大 小 為1.6mm×1.2mm×0.55mm,DFN-4L封裝,內(nèi)置 112bit EEPROM,廣泛應(yīng)用于小型的智能穿戴設(shè)備、電子體溫計、動物體溫檢測設(shè)備、醫(yī)療電子設(shè)備、冷鏈物流設(shè)備、熱表 / 氣表 / 水表等。
需要注意的是這兩款傳感器都是 DFN 封裝,手工焊接需要一定技巧和經(jīng)驗。兩款溫度傳感器電路如圖 10 所示。
![]()
圖 10 兩款溫度傳感器電路
本 項 目 分 別 焊 接 了 T117 和MTS4 傳感器。經(jīng)測試,兩種傳感器性能基本一致,建議使用 T117 傳感器,一是該傳感器價格稍微便宜,二是手工焊接相對容易。
原理圖及PCB設(shè)計
原理圖設(shè)計
1. 工程創(chuàng)建
本項目采用嘉立創(chuàng) EDA 專業(yè)版軟件進(jìn)行設(shè)計。在設(shè)計原理圖前,需要創(chuàng)建工程文件夾,文件夾歸屬可以是個人,也可以是團(tuán)隊。如果使用的是學(xué)校教育版,需要在教育版工作區(qū)內(nèi)創(chuàng)建工程并保存到對應(yīng)的班級里。創(chuàng)建工程文件夾后,系統(tǒng)會自動生成一張圖紙,需要手動保存到工程內(nèi),按照圖紙內(nèi)容修改文件名稱。工程創(chuàng)建參考如圖 11 所示。
![]()
圖 11 工程創(chuàng)建參考
2. 元器件選型
前文對電路方案進(jìn)行了描述,下面就可以在嘉立創(chuàng) EDA 上設(shè)計電路了。在放置元器件時,我們會遇到一個元器件有不同封裝的情況,比如一個 LED,有的需要 2 個引腳插到板子里焊接,有的可以直接貼到板子上焊接,而且大小間距各有不同。如圖 12所示,在設(shè)計電路時我們要考慮:需要什么規(guī)格的元器件、它在實驗室里有沒有、是否可以買得到、選用的封裝能不能焊接等問題。
![]()
圖 12 LED 符號與封裝
在選擇元器件時可以在嘉立創(chuàng)EDA 的 基 礎(chǔ) 庫 中 選 擇 需 要 的 元 器件,基礎(chǔ)庫的每個元器件都可以選擇不同的封裝。如果你對元器件封裝不熟悉,可以在元器件庫中直接對所需元器件進(jìn)行搜索,例如將搜索引擎改為“立創(chuàng)商城”,在里面輸入“電容1μF”, 進(jìn) 行 搜 索, 在 類 目 下 選 擇“0805”后單擊“應(yīng)用篩選”(見圖13)。在搜索出來的結(jié)果內(nèi)找到自己所需的元器件,單擊元器件就可以放到原理圖進(jìn)行設(shè)計了。
![]()
圖 13 元器件庫查找元器件
立創(chuàng)商城里元器件都有唯一的商品編號,使用時可以將這個編號復(fù)制到元器件庫中進(jìn)行搜索,例如該項目中主控 STM32F030C8T6 這款芯片的商品編號是 C23922,在元器件庫中輸入編號,類型選擇“符號”,庫別選擇“立創(chuàng)商城”,單擊“搜索”,就可以在里面看到搜索結(jié)果(見圖 14)。
![]()
圖 14 指定商品編號搜索元器件
PCB設(shè)計
1. 邊框外形
設(shè)計完原理圖就可以設(shè)計 PCB了。我 使 用 嘉 立 創(chuàng) EDA 里 的 邊框 層 進(jìn) 行 設(shè) 計, 邊 框 大 小 控 制 在10cm×10cm 之內(nèi),這樣可以免費打樣,而且這個大小在本項目中是足夠的。使用繪圖工具中的直線和圓弧工具設(shè)計,也可以充分利用柵格輔助我們更加精準(zhǔn)地設(shè)計外框。無線電子溫度計邊框外形如圖 15 所示。
![]()
圖 15 無線電子溫度計邊框外形
2. PCB布局
PCB 邊框外形確定,就可以進(jìn)行元器件布局了。結(jié)合溫度計的特點,將傳感器擺放在最左側(cè),開關(guān)與藍(lán)牙擺在上方,USB Type-C 充電接口擺放在最右側(cè),主控芯片放在中間的位置。原理圖轉(zhuǎn) PCB 后的元器件布局是無法直接使用的,需要手動把元器件擺放在合適的位置。元器件布局時可以在嘉立創(chuàng) EDA 菜單欄中選擇“工具”→“布局傳遞”,能快速對元器件分類布局。
元器件布局需要考慮以下事項。
● 按電路模塊布局,每個電路的核心元器件和外圍元器件盡量集中。
● 按電路功能布局,特殊元器件布局時周邊不能放置其他元器件,避免干擾等。
● 按元器件特性布局,輸入 / 輸出接口放到 PCB 邊緣,方便操作。本項目 PCB 元器件布局如圖 16所示。
![]()
圖 16 無線電子溫度計 PCB 元器件布局
3. PCB走線
完成元器件布局就完成了 PCB整個設(shè)計的大部分工作,接下來是在PCB 走線時進(jìn)行細(xì)節(jié)調(diào)整。PCB 走線需要注意的事項很多,有很多設(shè)計要點,我們需要在設(shè)計中不斷積累經(jīng)驗,提升自己的能力。
● 電源及信號線走線需按照電流流向,嚴(yán)格按照原理圖設(shè)計布局,即使都連接了,沒有報錯,也要考慮先后順序。
● 在設(shè)計 PCB 走線時,要注意線寬設(shè)置,電源線應(yīng)比信號線稍微粗一些。電源線的載流要滿足項目功耗需求,例如本項目電源線寬 0.5mm即可滿足需求。線寬不能設(shè)置得過細(xì),應(yīng)考慮工廠生產(chǎn)工藝。
● 在實際走線過程中,導(dǎo)線應(yīng)優(yōu)先走直線,橫平豎直,可以通過調(diào)整元器件布局使兩個點間的連線最短,如果無法保持直線,應(yīng)優(yōu)先使用135°鈍角或者圓弧走線,保持設(shè)計美觀。
本項目的 PCB 采用 4 層設(shè)計,各層設(shè)計如圖 17~ 圖 20 所示。3D 外殼設(shè)計和軟件設(shè)計將在下一期進(jìn)行介紹。
![]()
圖 17 PCB 頂層
![]()
圖 18 PCB 地層
![]()
圖 19 PCB 電源層
![]()
圖 20 PCB 底層
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.