RGB比色計 Kuutamo
生物化学の分野では,溶液中の物質の濃度を色の変化から測定する比色分析がしばしば行われます.比色分析は,単色光が試料を通過するときに,溶質濃度が高いほど,光路長(試料の厚さ)が長いほど,その光の吸収の度合いが大きくなることを利用しています.これをランバート・ベールの法則(Lambert-Beer Law)と呼びます.
比色計はこの色の変化を測定するための装置です.比色分析を簡単に経験してもらうために,豆電球やLED,色セロファン,フォトレジスタ(CdSセル),抵抗値テスターなどを組み合わせた自作比色計が数多く開発されてきました.このような部品を組み合わせて作られる比色計は安くて簡単に作れますが,繰り返し測定の安定性や装置としての耐久性の観点で見劣りするものが多いようです.
RGB比色計 Kuutamoは,RGB(赤,緑,青)のマルチカラーLEDとフォトレジスタを使った比色計です.LEDから発せられた光は試料を透過してフォトレジスタに当たり,抵抗値の変化を生みます.これはオペアンプによって電圧変化に変換され,さらにArduinoによってデジタル変換されます.この値を光の強度値としてLCD(液晶ディスプレイ)に表示します.
電子部品には,Seeed社のGroveシステムを用います.これはLEDやフォトレジスタが小さな基板に載っている部品群で,必要な部品をコネクターでつなぎ合わせるだけで回路ができあがります.Groveシステムを使うと,はんだ付けを一切行うことなく比色計を組み立てることができます.
比色計の光路や筐体はMDF板(木材繊維を圧縮成形した板材)製です.厚さ4 mmのMDF板をレーザー加工機で切断し,はめ合わせるだけで完成します.
材料リスト
販売元 | 品 名 | 型 番 | 数量 | 参考 単価(税抜) |
参考 小計(税抜) |
Amazonなど | MDF板, 必要サイズ 400mm x 294mm x 4mm (A3サイズ420mm x 297mmの板で十分です.) 900mm x 300mm x 4mmの板3枚の売価が975円でした. これからA3サイズは6枚取れますので,975/6=163円. |
1 | 163 | 163 | |
Amazonなど | MDF板, 必要サイズ 102mm x 192mm x 4mm (A5サイズ148mm x 210mmの板で十分です.) 900mm x 300mm x 4mmの板3枚の売価が975円でした. これからA5サイズは24枚取れますので,975/24=41円. |
1 | 41 | 41 | |
マルツなど | Grove Beginner Kit for Arduino *注 (Arduino用Grove入門キット) キットに入っている部品のうち, ・Seeeduino Lotus v1.1(Arduino互換機) ・Grove Light Sensor v1.2(光センサー) ・Grove Chainable RGB LED v2.0(LEDライト) ・Grove 16x2 LCD (White on Blue) v1.0(液晶ディスプレイ) ・マイクロUSB - USBタイプA ケーブル だけを使います. |
110020171 | 1 | 3,980 | 3,980 |
マルツなど | Grove Button(P) v1.2(パネルタイプ押しボタン) | 111020000 | 1 | 270 | 270 |
ミスミ | 十字穴付なべ小ねじ,M2,長さ8mm | CSPPN-SUS-M2-8 | 14 | 5 | 70 |
ミスミ | 十字穴付なべ小ねじ,M2,長さ12mm | CSPPN-SUS-M2-12 | 8 | 5 | 40 |
ミスミ | ステンレスナット,JIS1種,M2 (100個購入時の単価で計算しています.) |
SLBNR2 | 22 | 4 | 88 |
ミスミ | 十字穴付トラス小ねじ,M3,長さ50mm | CSPTRT-SUS-M3-50 | 4 | 13 | 52 |
ミスミ | ステンレスローレットナット,M3 | RBNH-SUS-M3 | 4 | 129 | 516 |
Amazonなど | ディスポセル,ポリスチレン製,2透過面 (100個2,000円程度で販売されています.) |
2-478-01 | 1 | 22 | 22 |
参考 合計(税抜) | 5,242 |
*注 Grove Beginner Kit for Arduino(Arduino用Grove入門キット)を買うと,製作に必要な下の5つの部品が入っています(その他,使わないモジュールも入っています).キットを買わずに個別に揃えたいときは,下のリストをご参考にしてください.キットを買っても,必要なものだけを個別に揃えるのと価格がほとんど変わりません.
Seeeduino Lotus v1.1(Arduino互換機),102010168,1,375円 |
---|
Grove Light Sensor v1.2(光センサー),101020132,400円 |
Grove Chainable RGB LED v2.0(LEDライト),104020048,918円 |
Grove 16x2 LCD (White on Blue) v1.0(液晶ディスプレイ),104020111,748円 |
マイクロUSB - USBタイプA ケーブル,321010007,348円 |
目次
1.比色計の製作
2.プログラムのアップロード
3.使い方
4.データファイル
1.比色計の製作
step 1-1
加工データファイル
まず,内箱を取り外せるタイプの加工データファイルをAdobe Illustratorで作成します.左の画像はパソコン画面をキャプチャしたものです.ここではA3サイズとA5サイズのMDF材に分けて加工データファイルを準備しています.
レーザー加工機の仕様に応じて加工データを作らなければなりません.今回はOh-Laser社の小型レーザー加工機HAJIMEを使いますので,切断する線を太さ0.25ptの赤線で,彫刻する部分は黒色の領域で記しています.
また,レーザーカットする際に切り代が生じます.レーザー加工機の種類や加工パラメータに応じて切り代は異なります.HAJIMEを用いてMDF材を切断するとき0.15mmの切り代が生じました.そこで,はめ合い部分は0.075mmずつ補正を行いました.ただし,外箱の部材は補正を加えず,緩めに組み立てられるようにしています.
ここでは,原寸の加工データファイルと切り代0.15mmを考慮した加工データファイルを提供しています.
step 1-2
加工データの転送
レーザー加工機の制御ソフトHARUKAに加工データを転送します.HARUKAは,Adobe Illustratorファイル(.ai)やPDFファイル(.pdf)の他,PostScriptファイル(.ps,.eps)や多くのCADソフトで使われているDXFファイル(.dxf)などを読み込むことができます.
step 1-3
MDF板のレーザーカット(A3サイズMDF板)
厚さ4mm,A3サイズのMDF板をセットして,レーザー加工機のフォーカスを調整します.
今回用いたレーザー加工機では,素材に合わせた加工パラメータがあらかじめセットされているので,その中から「MDF 4mm」を選びます.この条件で,加工時間は50分ほどでした.
切断を終えたら,MDF板を取り出します.
step 1-4
MDF板のレーザーカット(A5サイズMDF板)
厚さ4mm,A5サイズのMDF板をセットして,同じように切断します.加工時間は12分ほどでした.
step 1-5
必要な部材の確認
切り出したMDF板と必要な材料を並べました.
step 1-6
測定部の組立1
まず,Grove Chainable RGB LED(LEDライト)をMDF板に取り付けます.「RGB LED」と彫刻している面に基板を取り付け,なべ小ねじ(M2,長さ8mm)3本を使って固定します.小ねじはMDF板側から差し込みます.向きに注意が必要です.
step 1-7
測定部の組立2
次に,Grove Light Sensor(光センサー)をMDF板に取り付けます.「Light sensor」と彫刻している面に基板を取り付け,なべ小ねじ(M2,長さ8mm)2本を使って固定します.小ねじはMDF板側から差し込みます.向きに注意が必要です.
step 1-8
測定部の組立3
光路を組み立てます.接着剤なしで組み立てられるように窮屈にできていますので,木槌などで叩き込むくらいの力が必要かもしれません.あらかじめ,ヤスリでほんの少しだけ削っておくとよいでしょう.
油性ペンを使って彫刻を施していない面を黒く塗ります.光路窓(丸い穴の開いた部品2つ)は両面を塗っておきます.
まず,「R」の彫刻がある側板(側板「R」)に光路窓2つを差し込みます.次に,上板「Up」を,さらに下板「B」を,それぞれ側板「R」に差し込みます.最後に,側板「L」をはめ込むと完成します.
step 1-9
測定部の組立4
光路にLEDライトと光センサーを差し込むと測定部の完成です.
小ねじの頭やコネクターソケットをよけるようにMDF板に切り欠きがあります.この場所が合っていないならば,組み立ての向きを間違えています.
step 1-10
制御部の組立1
制御部を組み立てます.まず,Grove 16x2 LCD(液晶ディスプレイ)とGrove Button(P)(押しボタン)をMDF板に取り付けます.「LCD」「Button」と彫刻している面に基板を取り付け,なべ小ねじ(M2,長さ8mm)をそれぞれ4本と2本使って固定します.小ねじは基板の上から差し込みます.向きに注意が必要です.
step 1-11
制御部の組立2
同様に,Seeeduino LotusをMDF板に取り付けます.「Seeeduino Lotus」と彫刻している面に基板を取り付け,なべ小ねじ(M2,長さ8mm)3本を使って固定します.小ねじはMDF板側から差し込みます.向きに注意が必要です.
step 1-12
制御部の組立3
液晶ディスプレイを固定した板とSeeeduino Lotusを固定した板を重ね合わせ,支えの板2枚に差し込むと制御部の完成です.
step 1-13
配線1
付属のケーブルを使って配線します.まず,LEDライトのIN側ソケット,光センサー,液晶ディスプレイ,押しボタンにケーブルをそれぞれ差し込みます.これらをSeeeduino Lotusのソケットに接続します.
step 1-14
配線2
それぞれのケーブルをSeeeduino Lotusのソケットに接続します.部品とSeeeduino Lotusのソケットの対応は下の通りです.
・LEDライト ---------> D7
・光センサー ---------> A0
・液晶ディスプレイ ---------> I2C.
・押しボタン ---------> D3
このとき,LEDライトと光センサーから出たケーブルは支えの板に開けた穴を通します.また,液晶ディスプレイのケーブルは押しボタンの隣に見える穴を通します.
step 1-15
筐体下板への取付
ケーブルを挟み込まないように注意しながら,測定部と制御部を筐体下板に差し込みます.緩く差し込むことができるように,この部分のほぞとほぞ穴には切り代の補正を加えていません.
step 1-16
筐体側板の組立
筐体の側板3枚を下板に差し込みます.この部分も緩く差し込むことができるように,ほぞとほぞ穴には切り代の補正を加えていません.
step 1-17
筐体上板の組立
なべ小ねじ(M2,長さ12mm)8本を使って,ガイド板を筐体上板に固定します.
step 1-18
筐体上板の取付
筐体の下部に上板を差し込んで取り付けます.この部分も緩く差し込むことができるように,ほぞとほぞ穴には切り代の補正を加えていません.
トラス小ねじ(M3,長さ50mm)4本を四隅の穴に差し込んで,ローレットナットで固定します.
step 1-19
遮光蓋の組立
測定部を遮光するための蓋を組み立てます.側板4枚をはめ合わせて筒状にしてから,上板をかぶせます.
step 1-20
完成
2.プログラムのアップロード
step 2-1
ドライバとArduino IDEのインストール
比色計の制御に使っているSeeeduino Lotusは有名なマイコンボードであるArduinoの互換機です.パソコンと接続してプログラムを転送する手順はSeeed社のホームページに書かれていますが,ここでは同じことをMac OSの場合について簡単にご紹介します.Windows OSでも基本的に同じです.
Seeeduino LotusはCP2102NというUSB-シリアル変換ICチップを使っています.まず,このICチップのドライバが必要です.下のサイトからパソコンのOSに応じてダウンロードし,インストールします.
CP210x USB-UARTブリッジVCPドライバのダウンロード
次に,プログラムを書き込むために必要なArduino IDEをインストールします.Arduino IDEは下のサイトからダウンロードできます.
Arduino IDEのダウンロード
step 2-2
ボードの追加
Arduino IDEを起動します.メニューの[Arduino]>[Preferences]を選択します.「追加のボードマネージャのURL」と書かれた部分に,
https://raw.githubusercontent.com/Seeed-Studio/Seeed_Platform/master/package_seeeduino_boards_index.json |
をコピーペーストします(左写真).
メニューの[ツール]>[ボード]からボードマネージャを選択すると,別ウィンドウでボードマネージャが開きます(左写真).
検索窓に「lotus」と入力すると,「Seeeduino AVR」が出てきますので,最新版をインストールします(左写真).
再び,メニューの[ツール]>[ボード]を見ると,「Seeeduino Lotus」というボード名が出ていますので,これを選択します(左写真).
step 2-3
ライブラリのインストール
比色計のプログラムにはSeeed社が提供するライブラリ(外部関数やプログラムをひとかたまりにしたもの)を使っていますので,プログラムをコンパイルするのに必要なライブラリをインストールしておく必要があります.
まず,Grove Chainable RGB LED(LEDライト)のライブラリをインストールします.下のgithubサイトを開いて,ZIPファイルをダウンロードします(左写真).
Grove Chainable RGB LEDのライブラリ
Arduino IDEのメニューから[スケッチ]>[ライブラリをインクルード]>[.ZIP形式のライブラリをインストール]を選ぶと別のウィンドウが開きますので,先ほどダウンロードしておいたZIPファイルを選択します(左写真).
これで,「ChainableLED-master」というライブラリがインストールできました(左写真).
同じようにして,Grove 16x2 LCD(液晶ディスプレイ)のライブラリもインストールします.下はZIPファイルに直接リンクしています.
Grove 16x2 LCDのライブラリ
step 2-4
プログラムのコンパイルと転送
比色計とパソコンをUSBケーブルで接続します.次に,このサイトで提供している比色計のプログラムをArduino IDEで開きます.
Arduino IDEのメニューから[ツール]>[シリアルポート]をたどり,比色計が接続されているポートを選択します(左写真).
矢印のボタンをクリックするとプログラムのコンパイルと転送が始まります(左写真).
コンパイルと転送が終わると,ウィンドウの下部に「ボードへの書き込みが完了しました。」と表示されます(左写真).
3.使い方
step 3-1
過マンガン酸カリウム水溶液の調製
一例として過マンガン酸カリウム水溶液を比色計で計測して検量線(濃度と吸光度の関係)を求めてみます.
5 mMの過マンガン酸カリウム水溶液を精製水で段階希釈して,2,1,0.5,0.25,0.125,0.0625,0.03125 mMの溶液を作ります.
step 3-2
比色計への電源投入と波長の選択
比色計にマイロUSBケーブルを差し込むとLCDに「LED OFF」と表示されます.押しボタンを押すと,青,緑,赤の順にLEDの色が変わります.
過マンガン酸カリウム水溶液は赤紫色をしています.赤紫色に見えるのは,溶液が補色の緑色を吸収しているからです.そこで,緑色のLEDを選んで計測することにします.
step 3-3
比色計測
精製水2 mlを入れたキュベットを比色計の測定部の穴に差し込みます.このときにLCDに表示される値を記録します.精製水を捨て,0.03125 mMの過マンガン酸カリウム水溶液2 mlを入れます.同じように表示される値を記録します.濃度の高い水溶液に交換しながら,計測を繰り返します.
step 3-4
濃度と比色計出力値の関係
過マンガン酸カリウム水溶液の濃度と比色計からの出力値との関係をグラフにしました.出力値,つまり透過光の強度は,濃度の上昇とともに指数関数的に減少していることが分かります.
step 3-5
濃度と吸光度の関係
精製水を計測したときの透過光の強度をIo,ある濃度の試料を計測したときの透過光の強度をIとすると,ランバート・ベールの法則(Lambert-Beer Law)から吸光度Aは次の式で計算できます.
A = -log(I/Io)
過マンガン酸カリウム水溶液の濃度と上の式から求めた吸光度との関係をグラフにしました.実線は濃度0〜1 mMのデータを使って求めた回帰直線,つまり検量線です.吸光度1.8くらいの試料まで計測できそうです.市販されている一般的な比色計は吸光度2くらいまで計測できますので,ほぼ同等です.
しかし,よく見ますと,1 mMの試料の吸光度は少し小さいのです.0〜0.5 mMのデータを使って回帰直線を引いてみると,それがよく分かります.つまり,濃度が高くなると直線から外れ,わずかですが,上に凸の曲線になります.
濃度が高くなる,つまり吸光度が大きくなると,ランバート・ベールの法則から外れてしまうことはよく知られています.この原因はキュベットや光路での意図しない光の反射や散乱です.迷光と呼ばれています.
市販の比色計は迷光を減らすための工夫が施されています.RGB比色計Kuutamoでは,光路に窓を設けてキュベット側壁を通る光をカットしています.また,光路の内側を黒く塗って,余計な反射を抑えています.
参考資料
RGB LEDの発光波長
RGB比色計Kuutamoでは,マルチカラーLEDを単色発光させて使っています.分光光度計(MK350D, UPRtek社)で計測した波長を,参考資料として掲載しておきます.
4.データファイル
比色計のプログラム,原寸の加工データファイル,切り代0.15mmを考慮した加工データファイルは,OSFというファイル保管場所を通して提供しています.こちらからダウンロードできます.
Open-Source Colorimeter Kuutamo
ファイル名 | 説明 |
Colorimeter_Kuutamo.ino | 比色計を動かすためのプログラムファイルです.Arduino IDEで開きます. |
ColorimeterKuutamo-Offset(A3).pdf | 上で製作方法を紹介した比色計の加工データです.厚さ4mm,A3サイズのMDF板を切断するためのデータで,切り代を考慮して補正しています. |
ColorimeterKuutamo-Offset(A5).pdf | 上で製作方法を紹介した比色計の加工データです.厚さ4mm,A5サイズのMDF板を切断するためのデータで,切り代を考慮して補正しています. |
OSF上には,ファイル名の最後に「-Offset」の文字がないデータファイルがあります.これらは切り代を考慮していない原寸のデータファイルです.