LoginSignup
17
23

More than 3 years have passed since last update.

Raspberry PiでpHを測定する方法(AtlasScientific)

Last updated at Posted at 2019-02-13

はじめに

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で測定できることを確認しました。

17
23
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
23