はじめに
pH測定に関する記事が少なかったので、記事にします。
pHセンサ
pHの測定には、AtlasScientific社のpH Kitを使用します。
キットには
校正溶液(10.00 7.00 4.00 pH)、電極用の保存液、ガラス電極、BNCコネクター、pH測定器(かなり優秀)
の5つが含まれます。
秋月電子では、安価なpHメータが売っています。
しかしながら、このセンサーの出力はアナログ値なので、直接Raspberry Piでは扱うことは出来ません。
A/D変換器を使って無理やり扱うことも出来ますが、部品点数は増えてナンセンスです。
準備
詳細は以下のURLを参照してください。
https://atlas-scientific.com/files/pi_sample_code.pdf
https://www.atlas-scientific.com/_files/_datasheets/_circuit/pH_EZO_Datasheet.pdf
UARTモードからI2Cモードに変更
初期状態ではUARTモードになってます。今回はI2Cを使いたいので以下の手順で変更します。
TX端子とPGND端子を接続します。
この状態で、測定器にVCCとGNDを接続します。
LEDが青色に発光すればI2Cモードになります。
I2Cを有効にする
この記事を参考にしてRapberry PiのI2C通信を有効にします。
Raspberry PiとpH測定器の接続
以下のように接続します。
Raspberry pi側のプルアップ抵抗を使用している為、外部でプルアップは行っていません。
Raspberry Piの準備
Raspberry Piのアップデートとアップグレード
sudo apt update && sudo apt upgrade -y
ホームディレクトリに移動して、サンプルコードをダウンロードします。
cd ~
git clone https://github.com/AtlasScientific/Raspberry-Pi-sample-code.git
必要なパッケージをインストールします。
sudo apt install python3-smbus python-smbus i2c-tools
以下のコマンドで接続を確認します。
sudo i2cdetect -y 1
以下のように、63と表示されれば大丈夫です。
pi@raspberrypi:~ $ sudo i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- 63 -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
pHの測定
プログラムを起動します。
cd ~/Raspberry-Pi-sample-code
sudo python3 i2c.py
以下のコンソールが立ち上がります
pi@raspberry:~/Raspberry-Pi-sample-code $ python3 i2c.py
>> Atlas Scientific sample code
>> Any commands entered are passed to the board via I2C except:
>> List_addr lists the available I2C addresses.
>> Address,xx changes the I2C address the Raspberry Pi communicates with.
>> Poll,xx.x command continuously polls the board every xx.x seconds
where xx.x is longer than the 1.50 second timeout.
>> Pressing ctrl-c will stop the polling
Enter command:
アドレスをセットします。
Enter command:に続いてAddress,99
を入力しEnterを押します。
Enter command: Address,99
I2C address set to 99
pHを測定します。
Enter command:に続いてR
を入力しEnterを押します。
Enter command: R
Command succeeded 3.884
校正(キャリブレーション)
pHの測定は、基準値(校正溶液のpH)に対する相対値測定です。その為、複数の校正溶液を用いて調整する必要があります。
連続測定の場合であっても、経年劣化や汚れ付着により電極の電気特性が変わり、誤差が次第に大きくなっていきます。したがって、正しいpHの測定には定期的に校正が必要です。
事前に、測定したいサンプルのpHが酸性側・アルカリ性側なのか分かっていれば、
中性と酸性・アルカリ性の校正溶液の2点校正で十分です。
しかし、測定したいサンプルのpHが予測できない場合は、3点校正を行う必要があります。
校正
*pHの測定
の続きです。また中性での校正を前提に記事を書きます。適宜読み替えて下さい。
- 酸性:Cal,low,4.00
- 中性:Cal,mid,7.00
- アルカリ性:Cal,high,10.00
校正溶液にガラス電極を浸け、Cal,mid,7.00
と入力して校正を行います。
Enter command: Cal,mid,7.00
また、Cal,clear
で校正データを初期化することが出来ます。
Cal,clear
おわりに
7万円のpH測定器を比較しましたが、そこそこの精度でpHで測定できることを確認しました。