IoTで水耕栽培研究

水耕栽培とかIoTの備忘録

pHを測定する

 arduinoで測定できるpHセンサを購入しましたので、 早速水耕栽培の水質をモニタするべく仕掛けました。 とても使いやすかったのでお勧めです。

なぜPHを測定するの?

 水耕栽培におけるpHは野菜の養分の吸収率や、微生物の活動に直結するパラメータです。
野菜は弱酸性(pH 5.5~7)を好む一方、pHは容易に変動するため、 より元気な野菜を育てるにはpHモニタと調整が必要です。

購入したもの

pHセンサ

amazonで安くて電極と出力調整基板付きのものを探して見つけました。
出力調整基板単品購入の方が高い…どゆこと?

外観

 外観は以下のような感じ。
きれいに梱包されていて良いです。
電極が中性溶液に浸されて保護されてます。

f:id:amesyabody:20220313002044j:plain
pHセンサ

ゼロ点調整

 pHセンサの電極はガラスの球状となっており、水に浸すと内部KCL電極との電位差を測定することができます。 pHの値によって電位が数百mV変動するのですが、出力調整基板によって取り込みやすい値に調整することが可能です。

そのためには、まず基板側のゼロ点調整をする必要があります。
出力調整基板の電源を5Vで起動し、pH電極側のBNCコネクタ端子を0Vにして出力ピン(シルク:P0)の電圧を測定します。(写真のようにワニ口クリップを使うと簡単でお勧めです。 )
この出力電圧が2.5Vとなるように、BNCコネクタ側の調整抵抗で調整しておきます。
これにより、pH=7の時に2.5V出力になり、すべてのpHが正の電圧測定で可能になります。

f:id:amesyabody:20220313003751j:plain
ゼロ点調整

pH調整液

 pH調整粉は以前購入したpHメータのケースにおまけで入ってました。
水をペットボトルに秤で250mlぴったし入れ、前述の調整粉を投入します。
このようにして調整液を三種類手に入れます。

キャリブレーション

こうして調整したpH液を手に入れたので、センサのキャリブレーションをします。
3液体ごとのセンサ出力は以下のようになりました。

  • pH4.00→出力電圧:3.03V、既存のpHメータ値:4.01
  • pH6.86→出力電圧:2.54V、既存のpHメータ値:6.86
  • pH9.13→出力電圧:2.165V、既存のpHメータ値:9.06

f:id:amesyabody:20220313011937j:plain
pH4.00溶液
f:id:amesyabody:20220313012004j:plain
pH6.86溶液
f:id:amesyabody:20220313012029j:plain
pH9.13溶液 既存のメータが少し低めに出ていた

この三点から最小二乗法で検量線を手に入れます。

f:id:amesyabody:20220313005823p:plain
pH検量線
この直線はy=ax+bにおいて、(a=-5.98、b=22.10)で得られると分かりました。
これでpHが測定できそうです。

arduinoコード

以前水温とECを測定するarduinoスクリプトを紹介しましたが、 そこに以下のpHを測定する関数を追加し、ECの後にPHを測定するようにしました。
こちらは値がばらつくので、10回測定平均としております。 ECと同様測定時だけ電源を入れるようにしてます。

//検量線のパラメータ
float phcal_a = -5.980867177;
float phcal_b = 22.10066921;
void GetPH() { 
  digitalWrite(PHPower, HIGH); //電源入れる PHPowerは適当なoutputピン
  raw = 0;
  delay(1000); //電源入れてから1秒待つ
  for (int j=0; j<=9; j++){  //10回測定
    raw = raw + analogRead(PHPin); //PH電Pinは適当なinputピン
  }
  raw = raw * 0.1;
  digitalWrite(PHPower, LOW);
  Vph = (Vin * raw) / 1023.0;
  ph = phcal_a * Vph + phcal_b;
  delay(1000);
}

はまった事

pHを試しに測定したときには問題なかったのですが、 ECと同時に測定するために、 ECを測定している水耕栽培の貯水バケツにpH計を入れた際に、 pH値が大きくずれてしまいました。
pH電極とEC電極を一緒にしなければ正しい値が読み取れるが、 EC電極と一緒にpH電極を貯水バケツに入れるとずれる???… 原因がわからず非常に混乱しました。
色々やってみての推測なのですが、恐らくECの測定時にEC測定電極の片側を常にGNDに接続しているため、 貯水バケツ中の電位が乱れたのだと思われます。
よってEC電極はpH電極と水を介して触れないように、電気的に分離する必要がありました。

f:id:amesyabody:20220313012755p:plain
現測定系では同じバケツにEC電極とpH電極は同居できない

EC電極をバケツではなく栽培棚の上部を測定することにして、 電気的にpH電極と分離しました。 これにより、一応現測定系でpHとECの測定を同居することができました。

測定結果

pHの値もスプレッドシートで可視化しました。

f:id:amesyabody:20220313012927p:plain
pH測定結果(5分間隔)
pHの値を測定するようになって気づいたのですが、 私が住んでいる所の水はpHがアルカリ寄りで、 このままだと野菜の育成にはちょっと適さない感じです…なので、 pHを下げる必要がありそうです。 とにかく測定系を立ち上げたので、pHを下げる工夫等は別の記事で書いていきたいと思います。

ではまた!