已刊登在《無線電》8月刊

在帝都生活的小伙伴們,想必對空氣質量一定是不能再敏感,十幾米的能見度想想也是醉了。一遇到久違的藍天,朋友圈就被各種炫藍天的照片刷屏。既然已經無法奢望室外空氣,就在室內空氣上下點功夫吧,畢竟一天中的大多數時間還是在室內度過的。於是乎,小熊決定做一個智能空氣盒子,實時檢測家裡的空氣是否達標。關愛繩命,從一呼一吸開始…

image

項目簡介

智能空氣盒子(Smart AirBox)是空氣質量在線檢測系統的雛形。該系統可以監測周圍的空氣質量(VOC、PM2.5、溫度、濕度等),並將參數數據通過BLE發送給BLE網關,這樣,我們就可以通過PC來查看周圍的空氣質量情況,或者通過手機的藍牙BLE直接連接到智能空氣盒子獲取周圍空氣數據。圖1是PC通過瀏覽器獲取到的空氣質量顯示頁面。

image

圖1 網頁顯示的空氣數據

此系統由空氣質量檢測節點智能空氣盒子(Smart AirBox)和BLE轉以太網網關「BLE Gateway」組成,如圖2所示:

image

圖2 智能空氣盒子及BLE網關

本篇先介紹智能空氣盒子的硬件制作步驟,因為程序部分和網關程序的關聯比較多,以後有機會再向大家介紹智能空氣盒子的程序部分以及本系統的另外一個組件「BLE網關」的制作步驟。

空氣質量檢測節點「Smart AirBox」

智能空氣盒子(Smart AirBox)集成了VOC氣體(揮發性有機化合物)和PM2.5(可呼入顆粒數)檢測單元、溫濕度檢測單元、BLE傳輸單元以及LED顯示單元。其中VOC氣體和PM2.5檢測單元使用的是ZPH-01[1],ZPH-01可以通過串口輸出采集到的空氣數據,並且每秒更新一次。溫濕度檢測單元采用的是Maker常用的DHT11傳感器,可通過數字接口輸出溫濕度信息,價格低,性能可靠。

image

圖3 智能空氣盒子主要部件

BLE傳輸單元使用的是TI的CC2541模塊,CC2541作為智能空氣盒子(Smart AirBox)的MCU,從各檢測單元取回數據並將此空氣數據發送到BLE Gateway或手機,再按照空氣質量等級來驅動發光二極管進行直觀顯示。如圖4所示,從左到右分別代表空氣質量的「優-良-中-差」四種情況。

image

圖4 智能空氣盒子實際檢測變化情況

本次智能空氣盒子DIY過程中,傳感器檢測項目和精度如下:

VOC檢測單元:甲醛、苯、一氧化碳、氨氣、氫氣、酒精、香煙、香精等有機揮發氣體;

可呼入顆粒數檢測單元:檢測顆粒大於1μm以上;

溫度檢測單元:測溫精度±2%,測量范圍:0~50攝氏度;

濕度檢測單元:測濕精度±5%RH,測量范圍:20~90%;

設計過程

1, 設計思路

這次設計思路和以往的設計有很大不同。小熊以往的設計都是將全部電路部分放在一塊PCB上,或者是兩塊PCB通過接插件的方式連接在一起,而本次設計從一開始就計劃將PCB本身用作殼體,六塊PCB合體後是一個完整的正方形的,但是這會面臨一個兩難的選擇:方案1,六面分別是單獨設計,每塊都是單獨的PCB;方案2,六面采用同樣的設計,焊接時不同的面焊接不同的器件。方案1的優點自然是設計難度小,缺點是制版成本高;6塊PCB的制版成本是(50(樣板費)+100(黑色阻焊))x6,六倍與方案2的成本。一番取舍後,最終小熊的屌絲症發作,選擇了方案2作為最終實施的方案,事實證明,方案2完全就是一個燒腦的設計……

2, 硬件架構

確定設計方案後,小熊開始了原理的勾畫。前面已經決定要在同一塊PCB上實現所有的電路,只是根據需求對某一面板進行特定器件的焊接,這種思路決定了不可能采用常規的原理圖設計來處理,整體的電路如圖5所示。

image

圖5 硬件架構及原理

整體布局是6個板子,板與板之間不但要有電源供電,還需要進行IO通訊,所以小熊引入另外一組通訊焊盤,這組焊盤要包含上圖中所有需要的通訊IO,如圖6所示:

image

圖6 通訊焊盤

整體的原理圖如下:

image

圖7 Smart AirBox 原理圖

3, PCB設計

為了方便說明,我們命名為「底板」、「前面板」、「後面板」、「左側板」、「右側板」和「蓋板」,大家可以先腦補下它們的相對位置。然而,要在一塊板子上集成「Micro USB 接口」、「電源LDO部分」、「LED顯示單元」、「CC2541貼片模塊」、「VOC&PM2.5采集模塊」、「DHT11溫濕度模塊」等,而且為了美觀,需要將所有器件布置在PCB盒子的內部面上,PCB盒子的外部面則保持無器件、無走線、無焊盤、無絲印的「四無」狀態;所以在PCB設計時小熊定義了幾個設計規則和步驟,下文將逐步說明:

步驟1,采用黑色PCB,正方形設計,板厚1.6mm,因為PCB就是殼體,足夠的板厚才有足夠的結構強度,板子面積:65 x 65 mm。

image

圖8 PCB 65mm x 65mm

步驟2,在每個邊上加兩個凸起位置用作板與板間的固定,凸起的寬度要和板厚一樣為1.6mm,長度是16.25mm, 也就是板邊的1/4。為方便插接,在凸起的兩邊各削除0.1~0.2mm,並做出固定的焊盤。這個焊盤需要大些,以保證各個面板之間固定的穩固性。

image

圖9 固定焊盤設計

步驟3,放置LED顯示單元和Micro USB 接口等需要外部開孔的器件,並在適當的位置放置一定數量的通風孔,用來確保空氣的流通以保持采集數據的准確性和實時性。

image

圖10 透光口設計

LED顯示單元:P1.0~P1.7共8個獨立IO控制的發光二極管,還有一個供電指示燈,共9個發光二極管,為了保持外殼面的「光潔」,小熊采用的方式是在貼片二極管的兩個焊盤間放置一個1.2mm直徑的開孔用來透光,然後貼片二極管采用反向焊接的方式,也就是倒扣著焊接,透光口設計如圖10所示;

Micro USB 接口:Micro USB接口的外沿要和步驟2中所做凸起的外沿盡量齊平,不然焊接之後會出現USB接口內陷在殼體內部,不好插拔的問題。由於殼體的六面都是同一板子,要考慮到USB接口的開口問題,為了避免每面上都有開口,並避免開口過大造成的美觀問題,小熊選擇半開孔的方式,如圖11所示;

image

圖11 micro USB 接口設計

通風孔:小熊選擇用不同直徑的圓形開孔當作通風孔,通風孔的直徑從2.4mm>>2.0mm>>1.6mm>>1.4mm,需要保持一定數量的開孔以增強通風效果,如圖12所示。

image

圖12 通風孔設計

步驟4,根據步驟3放置的接口的位置來確定內部器件的位置,因為我們這次是立體布局,可以先在紙上做一個簡單的勾畫,根據器件的體積和表面積初步決定CC2541貼片模塊、VOC&PM2.5傳感器和溫濕度傳感器的大概位置。

電路部分需要放置在三塊板子上,具體布局如圖13所示。

image

圖13 確定電路安裝位置

後面板、左側板以及蓋板是不需要布置任何器件的。

然後就是把這三部分的電路合成到一塊板子上,布線時盡量不要有過孔和背部走線,會影響最後的效果,經過整理之後就是最後生產的PCB板圖,如圖14所示。

image

圖14 PCB設計圖

下單後一周收到做好的PCB。

image

圖15 PCB成品圖

焊接過程

小熊詳細記錄了焊接的各個步驟,板與板之間焊接的先後順序比較重要,因為順序安排不合理的話就會出現無處下手的窘迫,小熊深有體會,囧……

前面板:焊接發光二極管和相應的限流電阻,二極管需要反著焊接,如圖16所示,作為對比右邊是正面放置的二極管:

image

圖16 LED焊接方式

共焊接3個紅色的、3個黃色的和4個綠色的。

右側面板:焊接CC2541貼片模塊,焊接前小熊已經飛線將程序下載到模塊了。

底板:先焊接電源部分,VOC傳感器部分暫且不焊。

完成後如圖17所示。

image

圖17 焊接半成品圖

終於等到了板與板合體的時刻,形容下當前的狀態:「小熊屏氣凝神,握著烙鐵的手顫抖著……」。

焊接這個需要連錫的焊盤有個技巧,就是把烙鐵頭從下往上滑,容易在兩個焊盤間掛錫。先將底板和右側面板焊接在一起:

image

然後相同的步驟處理前面板:

image

焊好前面板之後,將VOC模塊焊在設計好的位置,

image

後面板焊接前需要進行一些處理,將Micro USB的位置用偏口鉗把兩個連接點剪斷,

image

然後……

image

繼而相同的步驟處理左側面板及上蓋板,最後貼上象征身份的貼紙……「Duang」

image

智能空氣盒子合體成功!迫不及待地插上電源,悠悠綠燈亮起,代表附近的空氣質量「優」,小熊終於可以放縱的呼吸了。

image

用熄滅的打火機放氣模擬空氣質量不好的情況,然後……燈條「蹭」的就上去了,智能空氣盒子工作正常,小熊很開森。

image

任性的小熊是不會告訴你們第一次上電沒有成功,檢查了好久才發現有個焊盤虛焊的。

寫在最後

小熊公開智能空氣盒子詳細制作過程的初衷是啟發大家的靈感,任何靈感和想法都有被實現的必要,關鍵看如何實現。本次的整體系統是采用「傳感器—BLE—以太網」的架構,也許有些同學會覺得沒有「傳感器+WiFi」的B格高,但小熊面臨的現實是,內置協議棧的開源WiFi模塊在市場上並不多見,即使有也存在開發成本高、難度大的特點,況且小熊一向以為WiFi這種無邊界的網絡,如果不作加密處理是不適合作為智能家居應用的。而如果是采用成品的「串口轉WiFi」模塊,則沒有辦法實現小熊用網頁顯示,以及更進一步上傳空氣數據到類似於Yeelink的開源平台上的目的,所以一番取舍後,小熊還是采用了當前的方案。後續會跟大家分享軟件調試部分,期待關注。