前言

利用 Arduino 與 PMS3003 自製 PM2.5 偵測器 一文中,我們製作了一個 PM2.5 的偵測器,並將偵測結果即時顯示在 LCD 液晶顯示器上。 也因為執行的是利用 Arduino IDE 所燒錄進去的程式,所以不需要依賴電腦的 USB 連線即可正常執行。一旦擺脫電腦 USB 連線的束縛,我們就必須採用外部電源來驅動 Arduino,而最簡單的外部電源就是 USB 電源插頭。不過因為 PMS3003 偵測的範圍很小,因此如果我們想要偵測的地方不方便、甚至無法使用 USB 電源插頭 (如戶外) ,那麼就可能必須改用電池了。

使用常見的乾性電池有兩個缺點,首先是需要經常更換電池,另外一個則是會產生大量危害環境的廢電池。第二個問題可以使用可充電電池(或稱二次電池)來加以解決,那麼第一個問題要如何解決呢?如果我們打算將 PM2.5 偵測器擺放在室外,利用太陽能或許是一個不錯的選擇。乍聽之下,太陽能似乎可以取代電池,一次解決兩個缺點。然而事實卻不是如此,因為並不是隨時都有足夠的光照可驅動電子裝置,所以太陽能的應用在多數時候都還是需要搭配可充電電池的使用。當光照充足時,太陽能一方面可用來驅動電子裝置,另外一方面還可以對充電電池進行充電。等到光照不足時,就可以改用充電電池來驅動電子裝置。如果設計得夠好,有可能達到持續運作而不斷電的狀態。而夠好的設計,通常也就表示更多更大的太陽能裝置與電池,也就是花更多的錢。因此即使是在使用太陽能的環境下,減少系統運作所需的電量仍是重要的考量,甚至可說比使用一般電源時來的更為重要。

在這篇文章中,我們將對之前自製的 PM2.5 偵測器進行改良,使其使用太陽能與充電電池當作電力來源,以便運用在戶外的環境。此文章為 利用 Arduino 與 PMS3003 自製 PM2.5 偵測器 一文的延伸應用,因此請依序閱讀與實作。

架構示意圖

太陽能 PM2.5 偵測器架構示意圖

太陽能 PM2.5 偵測器架構示意圖

太陽能 PM2.5 偵測器可分為兩個部分,室外部分包含電力模組、PMS3003 以及無線序列埠傳輸模組發射器。而室內部分則包含 Arduino、LCD1602 以及無線序列埠傳輸模組接收器。將 Arduino 擺放於室內可以減少室外電池電力的損耗,也因為擺放在室內,所以可以使用 USB 電源插座當作 Arduino 的電力來源。

電力模組

在電力模組部分,我們會用到三個元件,分別是 5100mAh 3.7 V 聚合物鋰電池 (一個)、3W 138x166mm 太陽能板(一或兩個),以及 LiPo Rider Pro 充電板 (一個)。

LiPo Rider Pro 可同時使用太陽能板、電池、USB 電源當作輸入,輸出部分則是 USB 電源,其位置如下圖所示:

LiPo Rider Pro 外觀

LiPo Rider Pro 外觀

LiPo Rider Pro 除了支援多種電源輸入,還提供了電池電量指示燈,只要按下電池電量偵測鈕,就會顯示目前所剩電量。電量由 1~4 顆綠色 LED 燈泡表示,亮的燈泡數越多也就表示剩餘電量愈多。此外,當日照充足可對充電電池進行充電時,紅色的充電指示燈將會主動亮起,方便我們了解目前的充電狀況。

我們在前面提到需要準備一或兩個太陽能板。如果只有一個太陽能板,可以直接接到 LiPo Rider Pro 的太陽能輸入接頭。此外,太陽能板的輸出電壓跟日照強度有關,所以必須經過降壓跟穩壓的步驟才能提供穩定的電源,而這也是 LiPo Rider Pro 的功能之一。如果準備兩個太陽能板,雖然可以提供較為完整的電源能力,然而卻因為 LiPo Rider Pro 只有一個太陽能板的輸入接頭而必須自行接線,我們必須先將兩個太陽能板的輸出並聯後再接到 LiPo Rider Pro 的接頭上,這是比較麻煩的地方。

我們可以把太陽能板想成是電池,而電池並聯並不會改變輸出的電壓,但是卻可以增加輸出的電流。此太陽能板的輸出電壓有 5.5V,已經足夠滿足電路的需要,因此在此使用並聯的方式來提供更大的電流。然而太陽能板並聯跟一般電池並聯不一樣,不建議直接將兩個正極相接。原因在於太陽能板的輸出電壓跟日照強度有關,所以並非是固定的數值,甚至同一時間兩個板子的輸出電壓也會不一樣。當我們直接將正極相接時有可能會導致輸出電壓較高的板子將電流灌進電壓較低的那塊板子,嚴重時甚至會燒毀板子,因此必須在兩個正極前方先各加上一個二極體後再接在一起。

整個電源模組 (一個太陽能板) 安裝完畢後如下圖所示:

太陽能 PM2.5 偵測器電源模組

太陽能 PM2.5 偵測器電源模組

自製 USB 電源線

LiPo Rider Pro 電源輸出方式為 USB 介面,可以直接接上 Arduino 或其他的控制板。但是在這個範例中,我們將 Arduino 擺放在室內以減少電力損耗,而室外只擺放了使用麵包板加以連接的 PMS3003 與無線序列埠傳輸模組發射器,所以我們必須將 LiPo Rider Pro 的電源輸出導到麵包板上。在此我們使用手工的方式製作一個轉接器,順序如下:

  1. 取一條無用的 USB 線,並從中間剪開,剪開後可看到內部有四條線或兩條線。不管是四條線或兩條線,紅色線就是 +5V 電源、而黑色線就是接地。如果是四條線的情況,另外兩條為資料傳輸用,在此我們用不上就不用管它了。
  2. 將主要外皮剝掉一小段,之後並分別把紅色與黑色電線剝掉一小段外皮,並露出裡面的導線。

    自製 USB 電源線 (步驟一)

    自製 USB 電源線 (步驟一)

  3. 取紅色公公接頭的杜邦線,將 USB 紅色導線與杜邦線一端纏繞在一起後使用絕緣膠帶加以固定。如果手邊有焊槍,使用焊接會比單純纏繞的效果更好。完成後利用同樣的方式使用黑色杜邦線連接黑色導線。

    自製 USB 電源線 (步驟二)

    自製 USB 電源線 (步驟二)

  4. 利用絕緣膠帶將兩個接線的部分一起包住,再次強化連接的部分。

    自製 USB 電源線 (步驟三)

    自製 USB 電源線 (步驟三)

  5. 改造後的 USB 輸出電源線兩端為公接頭,因此使用時應先接上麵包板再連接電源,以避免因紅色與黑色接頭意外接觸而造成的短路。

無線序列埠傳輸模組

為了讓 PMS3003 與 Arduino 可以分隔兩地運作,我們需要使用無線的技術。無線的技術有很多種,當中低功耗藍芽 (BLE) 以及 WiFi 都是現今的常見選擇。而這次的範例中我們使用凌陽創新所推出的 MUART0-S-1-1 無線序列埠傳輸模組,可以直接將 PMS3003 所使用的序列訊號利用無線方式加以傳遞。MUART0-S-1-1 除了支援 PMS3003 外,只要是使用序列訊號的元件都可以利用這種方式直接無線化。使用 MUART0-S-1-1 有兩個好處,第一個是耗用的功率小,第二個則是程式部分不用特別處理,就跟原本處理序列訊號的方式一樣即可。以我們這次的範例而言,原本的程式完全不用做任何修正就可以繼續運作。

MUART0-S-1-1 無線序列埠傳輸模組

MUART0-S-1-1 無線序列埠傳輸模組

購買 MUART0-S-1-1 無線序列埠傳輸模組 時必為兩個一組,這兩個使用同樣的 ID,而不同組 (不同 ID) 之間不可混用。雖然這兩個外觀上都一樣,但是卻有發送端與接收端之分,貼紙標示 S0 為接收器,而 S1 則為發射器。除了一對一的 MUART0-S-1-1 外,凌陽創新還有最多可支援一對八的 MUART0-PP-1-N,有興趣的人請參考官網的說明

MUART0-S-1-1 的背面清楚地標示了所有腳位的名稱,主要使用為 Ground、TXD、RXD 與 +5V 這四個腳位。不過官方文件特別提到使用 MUART0-S-1-1 時必須將 CEB 腳位接地才能啟動模組的運作,也就是使用時 CEB 與 Ground 都必須接地。至於 in0/in1/out0/out1 四個腳位可用來當作遠端的數位腳位,而在這個範例中我們不會使用到這些腳位,所以就掠過不需接線了。

線路圖

室內部分

太陽能 PM2.5 偵測器 (室內部分)

太陽能 PM2.5 偵測器 (室內部分)

  1. 首先我們來看看室內部分的線路圖,也就是有關 Arduino 的部分。此線路圖與原本 Arduino 直接連接 PMS3003 時相似,只是將 PMS3003 的接腳換成 MUART0-S-1-1 的對應接腳。
  2. MUART0-S-1-1 接收器除了使用 Ground、TXD、RXD 與 +5V 四個腳位外,尚須將 CEB 腳位接地才可正常運作。腳位對應關係如下:
    MUART0-S-1-1 接腳Arduino 腳位杜邦線顏色
    GroundGND黑色
    TXD3黃色
    RXD2橘色
    +5V+5V紅色
    CEBGND黑色
  3. LCD1602 接腳對應關係如下:
    LCM1602 IIC V1 接腳Arduino 腳位杜邦線顏色
    GNDGND黑色
    VCC+5V紅色
    SDAA4綠色
    SCLA5藍色
  4. LCM1602 IIC 實際位置應該在 LCD1602 的背面,線路圖的畫法為往上翻,所以接腳順序上下顛倒。如不清楚請參考元件上接腳所呈現的編號,而不是上下位置關係。

室外部分

太陽能 PM2.5 偵測器 (室外部分)

太陽能 PM2.5 偵測器 (室外部分)

  1. PMS3003 接腳由上而下對應關係如下:
    PMS3003 接腳位置杜邦線顏色
    1
    2
    3
    4MUARTS-0-1-1 RXD綠色
    5MUARTS-0-1-1 TXD藍色
    6
    7GND黑色
    8+5V紅色
  2. MUART0-S-1-1 發射器除了使用 Ground、TXD、RXD 與 +5V 四個腳位外,尚須將 CEB 腳位接地才可正常運作。腳位對應關係如下:
    MUART0-S-1-1 接腳位置杜邦線顏色
    GroundGND黑色
    TXDPMS3003 接腳 5藍色
    RXDPMS3003 接腳 4綠色
    +5V+5V紅色
    CEBGND黑色

如果 MUART0-S-1-1 正常運作,發送器上的紅燈將恆亮,而接受器上的紅燈則呈現閃爍的狀態。

程式範例

前面提到,使用 MUART0-S-1-1 對程式來說就跟原本直接連接序列埠裝置時完全一樣,並不需要額外的處理。因此這個程式與之前的程式範例完全一樣,相關說明可參考這裡

透過太陽能電源模組以及MUART0-S-1-1 無線序列埠傳輸模組,我們輕鬆地將原本的 PM2.5 偵測器改造成分離的設計,一方面偵測室外的 PM2.5,另外一方面則可以從室內的 Arduino 看到即時的數值。如果有需要,我們可以進一步在 Arduino 加上 WiFi 功能以便將數值丟到雲端上,成為一個物聯網的感測器。而因為是分離式的設計,所以新增的 WiFi 功能並不會增加室外部分的電力損耗,而且也不用擔心 WiFi 訊號強度在室外會有不足的問題,可說是好處多多。

Facebook 留言
Print Friendly, PDF & Email
Summary
利用 Arduino 與 PMS3003 自製太陽能 PM2.5 偵測器
Article Name
利用 Arduino 與 PMS3003 自製太陽能 PM2.5 偵測器
Description
在這篇文章中,我們將對之前自製的 PM2.5 偵測器進行改良,使其使用太陽能與充電電池當作電力來源,以便運用在戶外的環境。此文章為 利用 Arduino 與 PMS3003 自製 PM2.5 偵測器 一文的延伸應用,因此請依序閱讀與實作。
Author
Publisher Name
Everlearn Studio
Publisher Logo