使用附加電路板快速打造功能強大的 IoT 架構溫室 LED 照明和感測器系統
資料提供者:DigiKey 北美編輯群
2019-01-08
在園藝行業,物聯網 (IoT) 可藉由感測器和專用的園藝 LED 的組合,在監控和確保植物健康方面扮演重要的角色。然而,以必要的周邊裝置、感測器、LED 及連接方式,採用和實作恰當的 IoT 運算平台,可能會非常耗時,並讓預算和排程都有風險。
要減少此風險,搭配使用 Cypress Semiconductor、SparkFun Electronics 和 Wurth Electronics 的電路板與裝置解決方案以及其他元件,將能大幅簡化設計過程,快速開發出複雜的溫室控制系統。
本文將探討 LED 與植物健康間的關係,然後會介紹相關解決方案以及如何搭配使用這些解決方案。
LED 與植物健康
植物健康取決於許多外部因素,包括光照、溫度、土壤含水量與酸鹼度。植物不僅會受到這些因素整體不同組合的影響,還會受到每個因素個別特性的影響。例如,植物的生長仰賴波長為 400 nm 至 700 nm 的光合有效輻射 (PAR) 區域內接收到的光線。不過,植物在此區域內所需的照度並不一致。植物需要特定波長的光照,這些波長對應於涉及光合作用的多種光合色素的吸收光譜。
舉例來說,葉綠素 A 的吸收峰值大約在 435 nm 和 675 nm (圖 1)。
圖 1:植物生長取決於特定波長下的充足光照,這些波長對應於活躍於整個光合有效輻射 (PAR) 區域不同區段處的多種光合色素之吸收光譜。(圖片來源:Wurth Electronics)
此外,還有其他一些光合色素在光合作用中也扮演重要的角色,包括葉綠素 B、β-胡蘿蔔素,以及其他光敏色素。因此,要讓植物獲得最佳的照度,必須能在 PAR 區域中提供不同波長的光照。
與任何生物體一樣,影響植物健康的因素不單是一組波長或靜態照度水平這麼簡單。在生長週期的每個階段,植物需要不同水平的光照強度、不同的明暗週期,甚至是不同的波長組合。同樣地,溫度和土壤含水量也會導致根的長度差異。
每種因素的最佳特性組合可能會因不同的物種而異,同一物種也可能因不同的生長階段而異。例如,許多開花植物需要的日照長度,大約不到 12 個小時。與這些「短日照」植物相比,「長日照」植物則必須接觸光線超過 12 個小時才會開花,像是甜菜和馬鈴薯。
溫室環境能讓農夫和園丁控制大部分的因素。然而,缺乏具成本效益的系統平台、周邊裝置,甚至是合適的光源,依然是目前開發溫室控制系統的阻礙。要打造一個足以監控和管理這些因素的系統,需要使用複雜的系統,類似於複雜的工業可編程式邏輯控制器。
現成的電路板與專用園藝 LED 提供一種較為簡單的替代方案。開發人員能結合 Cypress Semiconductor 的 PSoC 微控制器架構的電路板、Wurth Electronics 的專用園藝 LED,以及 SparkFun Electronics 的附加電路板,輕鬆建立複雜的溫室自動化系統。附加電路板可將這些系統所需的各種感測器與致動器相連。
高效能平台
Cypress 的 PSoC 系列微控制器專為嵌入式應用而設計,其中整合 Arm® Cortex®-M0 或 Cortex-M3 內核,以及全套可編程類比和可編程數位區塊,稱為通用數位區塊 (UDB)。設計人員使用 Cypress 周邊裝置驅動程式庫 (PDL),即可以 UDB 實作多種功能,包括標準序列介面與波形產生器。同樣地,即使內核處於節電、深度睡眠模式,可編程式 I/O 區塊 (稱為智慧 I/O) 也可對 GPIO 引腳收發的訊號執行邏輯運算。
該系列最新推出的 PSoC 6 為雙核 PSoC 裝置,將 Cortex-M4 內核的處理效能與 Cortex-M0+ 內核的低功率能力相結合。PSoC 63 裝置與 PSoC 62 裝置一樣,都具備 1 MB 快閃記憶體、288 KB SRAM 以及 128 KB ROM,但還增添了藍牙 Bluetooth 5.0 等額外的功能。
PSoC 63 裝置整合有完整的藍牙 5.0 子系統,包括硬體實體層、硬體鏈路層以及協定堆疊,並能藉由應用程式開發介面 (API),存取扮演藍牙協定核心角色的通用屬性設定檔 (GATT) 和通用存取設定檔 (GAP) 服務。在每個系列中,CY8C6347FMI-BLD53 等裝置都配有專屬的硬體加密加速器。
PSoC 6 微控制器具備廣泛的能力,能夠支援新一代複雜嵌入式應用的效能要求。同時,PSoC 6 微控制器出色的能源效率也確保其能夠滿足這些應用通常所要求的低功率預算。使用 PSoC 6 微控制器時,使用者可選擇 0.9 或 1.1 V 內核工作電壓,因此只需極低功率,Cortex-M4 內核只消耗 22 μA/MHz,Cortex M0+ 內核則只消耗 15 μA/MHz。
為了讓開發人員更輕鬆地開發以這些裝置作為基礎的應用,Cypress 針對 PSoC 63 和 PSoC 62 裝置提供不同的 Pioneer 套件系列。PSoC 6 BLE Pioneer 套件以 PSoC 63 為基礎,內含 512 Mb NOR 快閃記憶體、Cypress 的 KitProg2 板載編程器/除錯器、USB Type-C™ 電力傳輸系統,以及多個使用者介面功能。PSoC 6 Wi-Fi-BT Pioneer 套件則結合 PSoC 62 微控制器與 Murata Electronics 的 LBEE5KL1DX 模組,後者是以 Cypress 的 CYW4343W Wi-Fi/藍牙組合晶片作為基礎。
硬體擴充
SparkFun Electronics 和 DigiKey 合作開發的附加電路板,可讓開發人員更加輕鬆地使用 Cypress Pioneer 電路板來開發製程控制應用。PSoC Pioneer IoT 附加擴充板是一款與 Arduino R3 相容的擴充板,並採用與 Qwiic 及 XBee 相容的連接器 (圖 2)。插入到 PSoC Pioneer 電路板後,開發人員即可在擴充板上使用感測器等裝置輕鬆擴充電路板套件,監控溫室中的空氣和土壤品質。
圖 2:PSoC Pioneer IoT 附加擴充板 (紅色板) 可擴充 Cypress Pioneer 電路板的能力 (例如圖中藍色的 PSoC 6 BLE Pioneer 套件)。該擴充板配有多種連接器選配件,可增添與 Qwiic 及 XBee 相容的現成電路板。(圖片來源:SparkFun Electronics)
在監控溫室環境方面,與 Qwiic 相容的電路板 (例如 SparkFun 的 SEN-14348 環境複合式分接板) 會採用板載 Bosch Sensortec 的 BME280 和 ams 的 CCS811 感測器,為多個環境變數提供數據 (請參閱《在物聯網中添加補償式空氣品質感測器》)。
Bosch 的 BME280 整合能準確提供溫度、濕度和壓力讀數的數位感測器,而且在 1 Hz 的更新速率下耗電量僅為 3.6 μA。ams 的 CCS811 則在 CO2 和總揮發性有機化合物 (VOC) 方面,提供同等的測量效果。
CCS811 等氣體感測器需要加熱內部加熱板才能測量氣體,功耗也會因此而增加,會在工作模式 1 和 1.8 V 電源下達到 26 mW。此模式能提供目前市面最快的更新速度,即 1 Hz。開發人員也可以選擇其他更新速率,如模式 3,這種模式每一分鐘就會測量一次,能將功耗降至 1.2 mW。
開發人員只需使用 Qwiic 纜線將複合板連接到附加擴充板上,即可依據 SparkFun github 儲存庫中的範例軟體,對複合板的 Bosch BME280 和 ams CCS811B 感測器進行編程。
土壤品質
除了溫室的環境條件,恰當的土壤酸鹼值與含水量也是確保植物健康的基本要素。大多數的植物需中性或弱酸性的土壤,但最佳的酸鹼值範圍可能會差異很大。例如,馬鈴薯在酸鹼值大約 5.5 的酸性土壤中長得最好,但這種酸度可能會對菠菜等偏好弱鹼性土壤的植物有害。
無獨有偶,即便在最佳範圍內,細微的酸鹼度變化也可能會直接影響到維持生長所需營養素的含量 (圖 3)。
圖 3:細微酸鹼度變化不僅會直接影響植物生理狀況,還會間接影響土壤營養素的含量。(圖片來源:Wikimedia Commons)
利用 SparkFun Electronics 的 SEN-10972 酸鹼值感測器套件,開發人員可輕鬆地在溫室系統中增添酸鹼值感測功能。此套件配有酸鹼值探針、介面板,以及校正用緩衝液。為了與 PSoC 微控制器進行通訊,開發人員可以使用該酸鹼值板的預設 UART 輸出。
開發人員也可以在 I2C 模式下使用該酸鹼值感測器板,並透過 SparkFun 的 DEV-14495 I2C Qwiic 配接器進行連接。SparkFun 的 Qwiic 配接器從 Qwiic 連接器分接出 I2C 引腳,並提供焊接點,讓開發人員輕鬆地將現有的 I2C 裝置與 Qwiic 連接器系統搭配使用。
測量土壤含水量也一樣簡單。SparkFun 的 SEN-13322 土壤濕度感測器提供兩個裸焊盤,可直接放入土壤,作為所提供電壓來源和地面之間的可變電阻。含水量較高時,裸焊盤之間的導電性會增加,繼而導致電阻降低,電壓輸出升高。
此感測器中,PSoC 微控制器內建的數位類比轉換器 (DAC) 可用作電壓來源,而其連續漸近暫存器 (SAR) 類比數位轉換器 (ADC) 可用於將土壤含水量所對應的電壓進行數位化。此外,微控制器的內部運算放大器可用於緩衝 DAC 輸出和 ADC 輸入。
開發人員可使用這個方法進一步擴大土壤管理能力。舉例來說,PSoC 6 微控制器在 DAC 輸出及 ADC 輸入上支援多個通道,因此可新增多個酸鹼值感測器。此外,有些應用可能需要進行更高解析度的測量作業,導致電壓範圍必須超過微控制器的最大 VDDA 類比供應電壓,即 3.6 V。針對這些情況,只要增添外接式緩衝運算放大器和穩壓器,就可以解決。
除了測量土壤的含水量,開發人員還能進一步使用相同的方法實現灌溉自動化:透過 PSoC 的 GPIO 和脈寬調變 (PWM) 功能,控制含有 DFRobot 的 DRI0044-A 驅動板的 DFRobot FIT0563 水幫浦。
要連接額外元件,例如上述或其他元件,可使用 SparkFun 的 DEV-14352 Qwiic 配接器。下圖顯示多個 Qwiic 連接器以及一個大型的原型設計區域 (圖 4)。
圖 4:有了 SparkFun 的 Qwiic 配接器,開發人員可以透過兩種方式輕鬆新增自訂電路,一種是藉由 Qwiic 連接 Pioneer 附加擴充板,另一種是使用隨附的排針座,將配接器與 Pioneer 電路板上的附加擴充板堆疊起來。(圖片來源:SparkFun)
由於 Qwiic 配接器符合 Arduino R3 擴充板佈局,開發人員可使用 Qwiic 配接器套件隨附的排針座,在 Pioneer 套件板和 SparkFun IoT Pioneer 附加擴充板之間堆疊自己的電路。
使用 LED 打造園藝照明系統
如前所述,植物必須接受特定波長的光照,才能健康生長。LED 照明的進步,已為工業照明和汽車頭燈等領域提供解決方案,但傳統的 LED 還是缺乏光合作用所需要的光譜特性。Wurth Electronics 的 WL-SMDC 單色陶瓷 LED 系列,滿足了從深藍光到超紅光波長範圍的照明需求 (圖 5)。
圖 5:Wurth Electronics 的 WL-SMDC 單色陶瓷 LED 系列可提供植物生長和發育所需的特定波長照明。(圖片來源:Wurth Electronics)
SL-SMDC 系列以組合形式使用,可提供促進植物在諸多方面成長所需的波長:
- 150353DS74500 深藍光 LED (450 nm 峰值波長) 和 150353BS74500 藍光 LED (460 nm 主波長) 提供與調節葉綠素濃度、側芽成長以及葉子厚度有關的波長範圍內的照明。
- 150353GS74500 綠光 LED (520 nm 峰值波長) 和 150353YS74500 黃光 LED (590 nm 主波長) 提供曾被認為無關緊要,但現在已知會對植物避蔭反應產生影響的波長範圍內的照明。
- 150353RS74500 紅光 LED (625 nm 主波長) 和 150353HS74500 超紅光 LED (660 nm 峰值波長) 提供主要攸關植物光合作用及其他生長階段 (包括開花、休眠和種子發芽) 的波長範圍內的照明。
- 150353FS74500 遠紅光 LED (730 nm 峰值波長) 提供與植物發芽、開花時間、莖長和避蔭有關的波長範圍內的照明。
- 最後,158353040 日光白 LED 不僅增強藍光波長的覆蓋範圍,還有助於增強整體植物生長所需的整體日累積光量 (DLI)。
許多 LED 驅動器都能驅動 LED 燈串,比如 Wurth 的 MagI3C 171032401 或 Allegro MicroSystems 的 ALT80800。這些元件大多可支援使用 PWM 和/或類比電壓進行調光控制,可將 LED 驅動器實作減至少量外接元件 (圖 6)。
圖 6:Allegro MicroSystems 的 ALT80800 等進階 LED 驅動器,只需要使用幾個額外元件就能驅動 LED 燈串,其調光由 PWM 或類比輸入進行控制。(圖片來源:Allegro MicroSystems)
不過,開發人員在設計調光功能時應注意瞬間照度的快速變化。在高 PWM 速率下,人類的瞳孔只會對平均光強度做出反應,繼而導致有害的高強度光脈衝進入視網膜中。使用 Allegro 的 ALT80800 等恆定電流 LED 驅動器有助於緩解這種影響。
軟體設計
結合 PSoC Pioneer 電路板、附加擴充板和前述其他電路板,開發人員就能透過插接硬體電路板打造出實體溫室控制系統。開發管理感測器或驅動 LED 所用的軟體十分簡單,只需調用 Cypress 周邊裝置驅動程式庫 (PDL) 中的組件即可。
PDL 組件針對一些 PSoC 特性提取出相關的功能,例如可編程類比、UDB 和智慧 I/O 周邊裝置等。開發人員可以快速實作軟體功能,在感測器輸出達到特定位準時,立刻喚醒微控制器。例如,當土壤濕度感測器的輸出電壓表明土壤較乾燥時,開發人員可使用 Cypress PSoC Creator 設定 PSoC 微控制器的其中一個內建低功率比較器,令其在特定類比引腳的電壓位準低於或高於參考電壓位準時產生中斷。
Cypress 透過範例程式碼展示了此功能,該程式碼說明使用低功率比較器 (LPComp) 區塊的基本設計模式 (清單 1)。在本範例中,當中斷將處理器從休眠模式喚醒時,程式碼會檢查 LPComp 值。如果比較結果為高,則此範例程式碼會每隔 500 ms 使用 GPIO 切換 LED。當結果最終降低時,程式碼會讓處理器返回休眠模式。
複製
int main(void)
{
#if PDL_CONFIGURATION
/* Enable the whole LPComp block */
Cy_LPComp_GlobalEnable(LPCOMP);
/* Configure LPComp output mode and hysteresis for channel 0 */
Cy_LPComp_Init(LPCOMP, CY_LPCOMP_CHANNEL_0, &myLPCompConfig);
/* Enable the local reference voltage */
Cy_LPComp_UlpReferenceEnable(LPCOMP);
/* Set the local reference voltage to the negative terminal and set a GPIO input on the
positive terminal for the wake up signal */
Cy_LPComp_SetInputs(LPCOMP, CY_LPCOMP_CHANNEL_0, CY_LPCOMP_SW_GPIO, CY_LPCOMP_SW_LOCAL_VREF);
/* Set channel 0 power mode - Ultra Low Power mode */
Cy_LPComp_SetPower(LPCOMP, CY_LPCOMP_CHANNEL_0, CY_LPCOMP_MODE_ULP);
/* It needs 50us start-up time to settle in ULP mode after the block is enabled */
Cy_SysLib_DelayUs(MY_LPCOMP_ULP_SETTLE);
#else
/* Start the LPComp Component */
LPComp_1_Start();
#endif
/* Check the IO status. If current status is frozen, unfreeze the system. */
if(Cy_SysPm_GetIoFreezeStatus())
{ /* Unfreeze the system */
Cy_SysPm_IoUnfreeze();
}
else
{
/* Do nothing */
}
for(;;)
{
/* If the comparison result is high, toggles LED every 500ms */
if(Cy_LPComp_GetCompare(LPCOMP, CY_LPCOMP_CHANNEL_0) == MY_LPCOMP_OUTPUT_HIGH)
{
/* Toggle LED every 500ms */
Cy_GPIO_Inv(LED_0_PORT, LED_0_NUM);
Cy_SysLib_Delay(TOGGLE_LED_PERIOD);
}
/* If the comparison result is low, goes to the hibernate mode */
else
{
/* System wakes up when LPComp channel 0 output is high */
MyLPComp_SetHibernateMode(CY_SYSPM_LPCOMP0_HIGH);
}
}
}
清單 1:Cypress 的範例程式碼展示主要的設計模式,例如使用 PSoC 6 低功率比較器,將微控制器從低功率工作模式中喚醒。(程式碼來源:Cypress Semiconductor)
在溫室控制系統中,開發人員能以相同的設計模式來達到眾多功能,例如在土壤濕度較低時啟動水幫浦、在環境溫度較高時啟動風扇、在酸鹼度超出理想範圍時提醒溫室的主人,或者做出其他將溫室環境恢復到植物生長最佳條件所需的回應。
開發人員也可以用相同方式使用其他 PDL 組件來支援其他介面與控制需求,在程式碼開發上花費最少的心力。舉例來說,若要使用 PWM 組件來控制 LED 燈的強度,只需要將 PWM 組件拖曳到 PSoC Creator 設計區,然後使用相關的設定彈出視窗來設定特定的 PWM 參數即可,例如執行模式、週期與解析度等 (圖 7)。
圖 7:開發人員可使用 PSoC Creator 透過 Cypress 周邊裝置驅動程式庫 (PDL) 以框架形式構建功能,也可使用 PDL 應用程式編程介面僅在程式碼層級進行開發。(圖片來源:Cypress Semiconductor)
在設定組件並完成設計後,即可使用 PSoC Creator 產生基本程式碼架構,然後根據需要增添自訂式程式碼。如果開發人員想略過框架輸入階段,也可使用 Cypress PLD API 直接存取底層功能。此外,開發人員也可以混合使用這些方法,先透過 PSoC Creator 產生的程式碼更深入地理解 PDL,然後再使用 PDL API 開發自己的生產程式碼。
使用這種方法可以快速實作所需的程式碼,支援本文所述的每一項功能。可以想見,將所設計的控制系統部署於小型的溫室環境時,開發人員只需使用一個 Pioneer 電路板和 PSoC Pioneer IoT 附加擴充板,就能支援必要的感測器、致動器和 LED。
若部署於較大的溫室環境,具成本效益的方法則是將土壤酸鹼值測量和環境溫度測量等功能分配在地面級板組中,並使用單獨的板組來控制園藝 LED 燈串。開發人員還可使用 PSoC 4 BLE Pioneer 電路板來支援周邊裝置感測和控制功能,進一步降低成本。
由於 PSoC Pioneer IoT 附加擴充板也與這款電路板相容,因此只需補充適當的裝置,就能輕鬆重新設定每組電路板。在這種情況下,基於 PSoC 4 的板組可透過藍牙連結到一個或多個 PSoC 6 電路板,或是利用 PSoC 6 Wi-Fi-BT Pioneer 套件的 Wi-Fi 連線能力連接到 ThingSpeak 等雲端型服務,來實現數據分析與顯示 (圖 8)。
圖 8:開發人員可以組合多個基於 PSoC 的系統 (包括 PSoC 4 BLE Pioneer 套件和 PSoC 6 Pioneer 套件),以支援與 ThingSpeak 等雲端服務相連結的複雜應用。(圖片來源:Cypress Semiconductor)
在本例中,開發人員可以利用 Cypress 藍牙支援功能,獲得全套的安全連線能力 (請參閱《建立安全低功率的藍牙集線器與感測器網路》)。
結論
以往的自動化溫室控制系統,都需要使用工業級控制器連結複雜的照明系統、感測器與致動器。如文中所述,開發人員現在已可利用低成本的微控制器電路板和附加電路板,打造高成本效益平台,以便運用各種感測器及致動器。
結合 IoT 以及專用的園藝 LED,開發人員便擁有實作複雜應用所需的全套組件,能夠遠端監測和控制與植物健康生長有關的多種因素。
參考資料

聲明:各作者及/或論壇參與者於本網站所發表之意見、理念和觀點,概不反映 DigiKey 的意見、理念和觀點,亦非 DigiKey 的正式原則。