アドオンボードで、IoTベースの強力な温室LED照明とセンサシステムを迅速に構築

著者 Stephen Evanczuk

Digi-Keyの北米担当編集者 の提供

園芸ではモノのインターネット(IoT)が、センサや園芸専用LEDを組み合わせて、植物の健康をモニタリングし実現する主要な役割を担うことができます。ただし求められる周辺機器、センサ、LED、接続オプションを備えた適切なIoTコンピューティングプラットフォームを採用し導入するには多くの時間がかかり、予算やスケジュールのリスクを伴う可能性があります。

このリスクを軽減するには、Cypress SemiconductorSparkFun ElectronicsWurth Electronicsなどのボードソリューションやデバイスソリューションを他のコンポーネントと組み合わせることによって、設計プロセスを大幅に簡素化するとともに、洗練された温室制御システムを迅速に開発できます。

この記事ではそのようなソリューションを紹介し、それらを組み合わせて使用する方法を説明する前に、LEDと植物の健康の関係について詳しく考察していきます。

LEDと植物の健康

植物の健康は、光、温度、土壌含水量、pHレベルなどのさまざまな外的要素によって決定されます。それぞれの要素の特性はもとより、これらの要素のさまざまな組み合わせに対して反応します。たとえば、植物は400~700ナノメートル(nm)の範囲にある光合成有効放射(PAR)領域内で受け取る光に依存します。しかし、この領域にわたって必要とされる照度は決して均一ではありません。植物には光合成にかかわる複数の光色素の吸収スペクトルに応じた、特定の波長の光が必要です。

たとえばクロロフィルAは、およそ435nmと675nmで光色素の吸収ピークに達します(図1)。

「さまざまな光色素の吸収スペクトルに応じた波長における照度」のグラフ

図1: 植物の成長は、全体的な光合成有効放射(PAR)領域のそれぞれの区域で有効になるさまざまな光色素の吸収スペクトルに応じた波長で十分な照度を受けられるかどうかによって決定されます。(画像提供:Wurth Electronics)

クロロフィルBなどの光色素やベータカロテンなどのフィトクロムも、光合成には不可欠な役割を担います。その結果、植物にとって最適な照度を得るには、光合成有効放射領域で複数の波長の照度を実現できる必要があります。

他のあらゆる生物と同様、植物の健康に影響をもたらす要素は単純な波長の組み合わせや固定的な照度レベルにとどまるものではありません。植物はその成長サイクルにおけるあらゆる段階でさまざまなレベルの光強度、変動する明暗サイクル、さらには異なる波長の組み合わせをも必要とします。同様に、植物の根の長さも温度や土壌含水量によって変化します。

それぞれの要素が持つ特性をどのように組み合わせれば最適なのかは植物の種類によって異なりますが、同じ種類でも成長段階の中で変化することがあるのです。たとえば、顕花植物(花を咲かせる植物)の多くは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デバイスであるPSoC 6は、Cortex-M4コアの処理性能とCortex-M0+コアの低電力機能を組み合わせたデュアルコアデバイスによってPSoCファミリを拡張します。PSoC 62デバイスには1MBのフラッシュメモリ、288KBのSRAM、128KBのROMが搭載されていますが、これに加えPSoC 63デバイスにはBluetooth 5.0のような付加的機能が備わっています。

PSoC 63デバイスでは、ハードウェアの物理層やリンク層を含む完全型のBluetooth 5.0サブシステムのほか、アプリケーションプログラミングインターフェース(API)によって一般属性プロファイル(Generic Attribute Profile、GATT)サービスやBluetoothプロトコルの中心部である一般アクセスプロファイル(generic access profile、GAP)サービスにアクセスできるプロトコルスタックを統合しています。各シリーズ内では、CY8C6347FMI-BLD53などのデバイスに、専用のハードウェア暗号化アクセラレータが搭載されています。

PSoC 6マイクロコントローラはその拡張機能により、新たなクラスの複雑な組み込みアプリケーションの性能要件に対応できます。また、その電力効率により、こうしたアプリケーションで一般的にみられる厳しい電力バジェットにも対応することができます。ユーザーが0.9Vまたは1.1Vのコア動作電圧を選択可能なため、PSoC 6マイクロコントローラでは必要な電力を最小限に抑えることができます。Cortex-M4コアでは22μA/MHz、Cortex M0+コアでは15μA/MHzが消費電力となります。

これらのデバイスをベースとしたアプリケーションの開発を簡素化できるよう、CypressではPSoC 63デバイスとPSoC 62デバイスのどちらにも対応したPioneerキットのラインアップを複数のバージョンにわたり提供しています。PSoC 63をベースとするPSoC 6 BLE Pioneerキットには512メガビットのNOR型フラッシュメモリ、CypressのKitProg2オンボードプログラマ(またはデバッガ)、USB Type-C™電力供給システム、マルチユーザーインターフェースなどの機能が含まれます。PSoC 6 Wi-Fi-BT PioneerキットはPSoC 62マイクロコントローラ とMurata ElectronicsLBEE5KL1DXモジュール(CypressのCYW4343W Wi-Fi/Bluetoothコンボチップがベース)を組み合わせたものです。

ハードウェア拡張

SparkFun ElectronicsとDigi-Key Electronicsが共同開発したアドオンボードにより、CypressのPioneerボードを用いたプロセスコントロールアプリケーションの開発が簡単になります。PSoC Pioneer IoTアドオンシールドはQwiic/XBee互換のコネクタを備えたArduino R3互換のシールドです(図2)。このアドオンシールドをPSoC Pioneerボードに差し込むと、開発者は温室の空気や土壌の質をモニタリングするセンサなどのデバイスを搭載したボードセットを容易に拡張できます。

「PSoC Pioneer IoTアドオンシールド(赤色ボード)がCypressのPioneerボードの機能を拡張すること」を示す画像

図2: PSoC Pioneer IoTアドオンシールド(赤色ボード)は、Qwiic/XBee互換の既製ボード増設に対応するマルチコネクタオプションを搭載したPSoC 6 BLE Pioneerキット(青色ボード)などCypressのPioneerボードに対して機能を拡張します。(画像提供:SparkFun Electronics)

温室の周囲環境条件をモニタリングする場合、SparkFunのSEN-14348 Environmental Combo BreakoutボードなどのQwiic互換ボードでは、オンボードのBosch SensortecBME280amsCCS811センサを用いて複数の環境変数データを得ることができます(「補正済み空気質センサをモノのインターネット(IoT)へ導入しましょう」参照)。

BoschのBME280では複数のデジタルセンサを組み合わせ、更新速度1Hzあたりの消費電力を3.6μAに抑えながら、温度、圧力、湿度の正確な読み取りを実現しています。ams CCS811では同等二酸化炭素(CO2 )や総揮発性有機化合物(VOC)の測定が可能です。

CCS811などのガスセンサでは気体測定を行うときに内部のホットプレートを加熱する必要がありますが、これは結果的に消費電力が増える原因となり、「動作モード1」では1.8Vの電圧で26mWに達してしまいます。このモードでは更新速度が最速の1Hzとなります。開発者はモード3などの他の更新速度を選択して1分ごとに測定を行い、消費電力を1.2mWにまで抑えることができます。

開発者はQwiicケーブルでComboボードをアドオンシールドへ接続するだけで、Comboボードに搭載されたBoschのBME280やamsのCCS811Bセンサを、SparkFunのGitHubリポジトリで入手可能なサンプルソフトウェアをベースとしてプログラムできます。

土壌の質

温室の周囲環境条件だけでなく、土壌の適切なpHや含水量も植物の健康に不可欠な要素です。ほとんどの植物に必要なのは中性あるいは弱酸性のpHレベルですが、最適なpHの範囲は植物によって大きく異なる可能性があります。たとえばジャガイモでは、pH=約5.5の酸性土壌で最も良く発育しますが、このpHレベルでは、弱アルカリ性の土壌を好むホウレンソウのような植物にダメージを与えてしまう可能性があります。

また、最適なpHの範囲内であっても、pHレベルの小さな変化が、植物の成長を維持するのに必要な栄養素を摂取できるかどうかに直接影響してくることもあります(図3)。

「pHレベルの小さな変化が植物生理に直接影響すること」を示す画像

図3: pHレベルの小さな変化は、土壌内の必要な栄養素を摂取できるかどうかの間接的な影響だけでなく、植物生理に直接的な影響を及ぼします。(画像提供:ウィキメディア・コモンズ)

開発者はSparkFun ElectronicsのSEN-10972 pHセンサキットにより、pHセンサ機能を温室システムへ容易に増設できます。このキットにはpHプローブ、インターフェースボード、較正用バッファ溶液が付属しています。PSoCマイクロコントローラとの通信を行う場合、開発者はpHボードから出力されるデフォルトのUARTを使用できます。

一方、pHセンサボードはI2Cモードで使用可能であり、SparkFunのDEV-14495 I2C Qwiicアダプタを経由して接続できます。SparkFunのQwiicアダプタではQwiicコネクタからI2Cピンをブレイクアウトし、開発者が既存のI2CデバイスをQwiicコネクタシステムで簡単に使用できるようにします。

また、土壌の含水量の測定も同じように簡単です。SparkFunのSEN-13322土壌含水量センサでは、土壌内に直接差し込み、電源とグランドの間で可変抵抗器として作用する2つのエクスポーズドパッドが付属しています。含水量が増えると各パッド間の導電率が上がり、抵抗が低下して電圧の出力が増えます。

このセンサでは、PSoCマイクロコントローラの統合型D/Aコンバータ(DAC)を電源として使用することができ、逐次比較レジスタ(SAR)のA/Dコンバータ(ADC)により、電圧を土壌含水量レベルに応じてデジタル化できます。また、マイクロコントローラ内部のオペアンプにより、DAC出力とADC入力の両方をバッファできます。

開発者はこれと同じアプローチにより、土壌管理機能を拡張させていくことが可能です。たとえば、PSoC 6マイクロコントローラではDAC出力とADC入力のいずれのチャンネルにもマルチに対応しているため、複数のpHセンサを増設することができます。また、アプリケーションによっては、マイクロコントローラの最大アナログ電源電圧である3.6VDDAを超える電圧範囲での分解能測定を必要とする場合もあります。このような場合、外部バッファのオペアンプと電圧レギュレータを増設することで解決できます。

土壌の含水量を測定するとともに、意欲的な開発者は、同じアプローチにより灌漑を自動化できます。その際にPSoCのGPIOおよびパルス幅変調(PWM)機能を使用して、DFRobot FIT0563給水ポンプをDFRobot DRI0044-Aドライバボードで制御します。

これまでにご紹介したようなその他の増設コンポーネントについては、SparkFunのDEV-14352 Qwiicアダプタを使用します。この製品はQwiicコネクタや大きなプロトタイピング領域を備えています(図4)。

「SparkFunのQwiicアダプタ」の画像

図4: SparkFunのQwiicアダプタにより、開発者はPioneerアドオンシールドでのQwiic接続を行うか、Pioneerボードに搭載されたアドオンシールドによるアダプタを付属のヘッダでスタックすることで、カスタム回路を容易に増設できます。(画像提供:SparkFun)

QwiicアダプタはArduino R3シールドのレイアウトに適合しているため、開発者はQwiicアダプタキットに付属のヘッダで、独自のカスタム回路をPioneerキットボードとSparkFunのIoT Pioneerアドオンシールドの間にスタックできます。

LEDによる園芸用照明

前述のとおり、植物の健康は特定の波長でもたらされる光照射によって決定されます。LED照明の進化は産業用の照明のさまざまなソリューションを実現してきましたが、自動車のヘッドライトなどの従来型LEDには光合成に必要なスペクトル特性がありません。Wurth Electronicsの単色セラミックLEDであるWL-SMDCシリーズは、ディープブルーからハイパーレッドまで、さまざまな波長での発光を実現させるニーズに対応しています(図5)。

「Wurth ElectronicsのWL-SMDCシリーズ」のグラフ

図5: Wurth Electronicsの単色セラミックLEDであるWL-SMDCシリーズのそれぞれの色は、植物の成長や発達に必要な特定の波長で発光します。(画像提供:Wurth Electronics)

これらと組み合わせて使われるSL-SMDCシリーズは、植物を成長させる数多くの特性に必要とされる波長の実現を促します。

  • ディープブルーLED(ピーク波長450nm)である150353DS74500や青色LED(主波長460nm)である150353BS74500は、クロロフィルの濃度、側芽の成長、葉の厚さといった要素を加減させる波長の範囲で発光します。
  • 緑色LED(ピーク波長520nm)である150353GS74500や黄色LED(主波長590nm)である150353YS74500は、かつて重要視されていなかった波長の範囲で発光しますが、現在では植物の避陰反応を促す役割を担っていることで知られています。
  • 赤色LED(主波長625nm)である150353RS74500やハイパーレッドLED(ピーク波長660nm)である150353HS74500は、おもに光合成にかかわる波長の範囲で発光しますが、開花、休眠、種子発芽などのさまざまな植物成長段階にかかわる波長でも発光します。
  • 遠赤色(ピーク波長730nm)である150353FS74500は、植物の発芽、開花の時期、茎の長さ、避陰などに関連する波長で発光します。
  • 最後に、昼白色LEDである158353040は青色を生み出す波長の範囲を増強するだけでなく、全体的な植物の成長に必要な日積算光量(Daily Light Integral、DLI)のレベルを助長します。

開発者はWurthのMagI3C 171032401Allegro MicroSystemsALT80800など数多くのLEDドライバでLEDストリングを駆動させることができます。これらのデバイスの多くはPWMやアナログ電圧による調光調節に対応しているため、これまでよりも少ない数点の増設コンポーネントだけでLEDドライバを実装できます(図6)。

「Allegro MicroSystemsのALT80800などの高度なLEDドライバ」の図

図6: Allegro MicroSystemsのALT80800などの高度なLEDドライバは、PWMやアナログ入力で制御する調光により、数点の増設コンポーネントだけでLEDストリングを駆動させることができます。(画像提供:Allegro MicroSystems)

しかし調光機能を設計する場合、開発者は瞬間的発光レベルの非常に急速な変化に注意しておく必要があります。高いPWMレートでは、ヒトの瞳孔は平均的な光強度のみに反応するため、目に悪影響を与える強度の光パルスが網膜に届くことになります。AllegroのALT80800などの定電流LEDドライバを使用すると、このような影響を軽減できます。

ソフトウェア設計

PSoC Pioneerボード、アドオンシールド、前述の増設ボード類を組み合わせて使用する場合、開発者はこれらのハードウェアボードを一緒に差し込んで物理的な温室制御システムを全体的に構築できます。センサの管理またはLEDの駆動に必要なソフトウェアの開発は、Cypressのペリフェラルドライバライブラリ(PDL)に用意されているコンポーネントを利用するとほとんど簡素化されます。

PDLのコンポーネントには、プログラム可能なアナログ、UDB、スマートI/O周辺機器などのPSoC機能が集約されています。開発者は、センサ出力が特定のレベルに達するとマイクロコントローラを復帰させるソフトウェア機能を迅速に実装できます。たとえば、土壌水分センサからの出力電圧により土壌が乾いて来たことがわかった場合、開発者はCypressのSoC Creatorを用いてPSoCマイクロコントローラの統合型低電力コンパレータのうちの1つを設定し、特定のアナログピンからの出力レベルがリファレンス電圧レベルを下回った(または上回った)場合に割り込みを生じさせることができます。

Cypressはサンプルコードでこの機能のデモを行い、低電力コンパレータ(LPComp)ブロックを使用するための基本的なデザインパターンを説明しています(リスト1)。ここでは、割り込みによってプロセッサがハイバネートモードから復帰すると、コードによってLPCompの値がチェックされます。このサンプルコードではGPIOを用いて、比較結果の値が高い場合にLEDを500ミリ秒ごとにトグルさせます。また、このコードでは比較結果の値が最終的に低くなると、プロセッサの状態をハイバネートモードへ戻します。

コピー 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: PSoC 6の低電力コンパレータの使用などによって、マイクロコントローラを低電力動作モードから復帰させる主要なデザインパターンのデモを行う、Cypressのサンプルコード。(コード提供:Cypress Semiconductor)

温室制御システムでは同じデザインパターンを用いて、土壌水分の低下に応じて給水ポンプをオンにしたり、周囲温度の上昇に応じてファンをオンにしたり、pHレベルが所定の範囲を外れた場合に温室の所有者へ警告したり、温室環境を植物の成長にとって最適な条件へと回復したりするのに通常必要となるさまざまなアクションを反応として起こします。

また、開発者はその他のPDLコンポーネントを同じように採用し、必要最小限のコードを開発するだけでその他のインターフェースや制御の要件に対応できます。たとえば、PWMコンポーネントを用いてLEDの光強度を制御する場合、PWMコンポーネントをPSoC Creatorのデザインキャンバスにドラッグするだけで、その関連の設定ポップアップを用いて実行モード、期間、分解能など特定のPWMパラメータを設定できます(図7)。

「Cypress SemiconductorのPSoC Creator」の画像

図7: PSoC CreatorではCypressのペリフェラルドライバライブラリ(PDL)を使用して機能をスケマティックに構築できますが、PDLのアプリケーションプログラミングインターフェースを使用してコードレベルのみで動作させることも可能です。(画像提供:Cypress Semiconductor)

コンポーネントを設定しデザインを完成させた後、PSoC Creatorで基本的なコードのフレームワークを生成し、必要に応じてカスタムコードを追加します。一方、この回路図入力フェーズをスキップすることを望む開発者はCypressのPLD APIを使用して、基礎的な機能に直接アクセスできます。また、開発者はPSoC Creatorが生成したコードを用いてこれらのアプローチをミックスし、PDLについての理解を深めてからPLD APIで量産コードを開発することもできます。

このアプローチにより、この記事で説明している各機能への対応に必要なコードを迅速に実装できます。実現された制御システム設計を小規模の温室に展開していく場合、開発者は単一のPioneerボードやPSoC Pioneer IoTアドオンシールドを用いるだけで必要なセンサ、アクチュエータ、LEDなどをサポートできる可能性があります。

大規模な温室環境に展開していく場合は、コスト効果の高いアプローチによって、たとえば地表レベルのボードセットで土壌のpHや周囲温度の測定を行い、個別のボードセットで園芸用LEDストリングを制御するなど、各機能を分散実行できるようになることでしょう。開発者は、PSoC 4 BLE Pioneerボードを使用して、周辺環境のセンシングおよび制御機能をサポートし、コストをさらに削減できます。

PSoC Pioneer IoTアドオンシールドにはこのボードとの互換性があるため、各デバイスを適切に補完することで各ボードセットを簡単に再構成できます。このような場合、PSoC 4ベースのボードセットではBluetooth経由で1つ以上のPSoC 6ボードへリンクしたり、あるいはPSoC 6 Wi-Fi-BT PioneerキットのWi-Fi接続を活用してThingSpeakのようなクラウドベースへ接続し、データの解析や表示を行ったりできます(図8)。

「PSoC 4 BLE PioneerキットやPSoC 6 PioneerキットなどのPSoCベースのシステム」の図

図8: 開発者は、PSoC 4 BLE PioneerキットやPSoC 6 PioneerキットなどのPSoCベースのシステムを複数組み合わせて、ThingSpeakなどのクラウドサービスにリンクされた複雑なアプリケーションに対応できます。(画像提供:Cypress Semiconductor)

この場合、開発者は安全な接続機能をフル装備したBluetooth対応のCypress製品を活用できます(「 安全で低電力のBluetoothハブとセンサネットワークを構築」参照)。

結論

自動化された温室制御システムには、これまでは複雑な照明システム、センサ、アクチュエータなどにリンクした産業向けのコントローラが必要でした。ご覧のように、今では開発者は低コストのマイクロコントローラボードとアドオンボードの利点を活かして、利用できる広範なセンサおよびアクチュエータを活用できるコスト効果の高いプラットフォームを構築できるようになりました。

IoTを導入し園芸専用LEDを入手できれば、開発者は最新式のアプリケーションを実装するのに必要なコンポーネントをフル装備し、健康な植物の成長や発達に関連する多くの要素を遠隔でモニタリングし制御できます。

リファレンス

  1. LEDs – The Future of Horticultural Lighting(LED:園芸用照明の未来)

免責条項:このウェブサイト上で、さまざまな著者および/またはフォーラム参加者によって表明された意見、信念や視点は、Digi-Key Electronicsの意見、信念および視点またはDigi-Key Electronicsの公式な方針を必ずしも反映するものではありません。

著者について

Stephen Evanczuk

Stephen Evanczuk氏は、IoTを含むハードウェア、ソフトウェア、システム、アプリケーションなど幅広いトピックについて、20年以上にわたってエレクトロニクス業界および電子業界に関する記事を書いたり経験を積んできました。彼はニューロンネットワークで神経科学のPh.Dを受け、大規模に分散された安全システムとアルゴリズム加速法に関して航空宇宙産業に従事しました。現在、彼は技術や工学に関する記事を書いていないときに、認知と推薦システムへの深い学びの応用に取り組んでいます。

出版者について

Digi-Keyの北米担当編集者