MachiKaniaを使ったチャートレコーダー
2022年12月27日
MachiKania type Pを使って、チャートレコーダー(記録装置)を作成しました。
チャートレコーダーは、各種データーを記録する装置のうち、結果を紙に印刷するタイプの物です。古いものだと、例えば
こんな形の物です。他には、円形の紙に印字するようなタイプもあります。
これと同等の事を、紙に印刷するのではなく液晶画面に表示し、MMC/SDカードにデーターを保存するようなタイプの物を作成しました。OSに、MachiKania type Pを用いています。
仕様と特徴
次のような仕様です。
・最大3つの値を記録可能
・データーの入力電圧は、フルスケールが 0-1 V もしくは 0-100 mV
・1秒ごとにデーターを記録
・データーは、CSVファイルとしてMMC/SDカードに保存
・測定中もMMC/SDカードを抜いて、PCに取り込むことが可能
・マイクロコントローラーに、Raspberry Pi Picoを使用
・液晶表示に、ILI9341を使用(320 x 240 pixels)
・OSに、MachiKania type Pを使用
この装置が持っている機能の簡単な説明は、以下の通りです。
なお、ここでは3つの入力を下のように接続しています。
・フラクションコレクター(fraction collector;溶出液回収用;緑線)
・紫外線吸収度計(UV absorption;蛋白質の分量測定用;黒線)
・電気伝導度計(conductivity;バッファー特性測定用;赤線)
に繋げて使っています。
使用中は、液晶表示が以下のようになります。
なお、X軸・Y軸共に、ズーム表示が出来ます。
使用中は、10秒ごとにカードに記録されます。液晶表示の「save」の色が変わる時に、ファイル保存されます。
カードに含まれるファイルは、以下の通りです。
「machikania.bas」は MachiKania type P の実行ファイル、「MACHIKAP.INI」はMachiKaniaの設定ファイルです。機器を作動させると、「CHARTxxx.CSV」のファイル名で、測定結果が保存されます。ファイル名は、機器の再起動ごとに別の名が割り当てられます。
回路とプログラム
回路図とソースコードについては、Githubにレポジトリーを作成しました。
マチカニア部分の回路図は、以下の通りです。
上記回路図の ADC0, ADC1, ADC2 の部分は、オペアンプに繋げます。回路図は以下の通りです。
オペアンプは、マチカニア側と入力側で、異なる接地レベルが使える仕様です。この仕様のために、Analog Devicesの絶縁オペアンプ、ADuM3190を用いました。また、電源供給用に、同じく絶縁タイプのDC-DCコンバーターを用いています。
オペアンプ回路中に、2つのジャンパーピンがあります。上のピンは、オープンコレクターもしくはオープンドレイン入力の際のプルアップに、下のピンは0-1 V入力の際(デフォルトは、0-100 mV 入力)に用います。
筐体のふたを開けると、以下のようになっています。
液晶とボタン基板を外した状態が、以下の写真です。
メイン基板の説明:
なお、この装置は電源を選ぶようで、安物のUSB電源では、正常に動作しませんでした。下は、さまざまなUSB電源を用いて、リファレンス電圧を Raspberry Pi Picoの AD コンバーターで読み取った値のグラフです。
安価な電源を用いた場合、不定期にリファレンス電圧が落ちてしまう現象が起きました。安定に動く電源もあるので、マッチしたものを使う必要がありそうです。電源容量の問題かもしれません。
MachiKania BASICで書かれたソースコードは、Githubのレポジトリーを参照してください。コメントも含めて400行ほどのプログラムです。タイマー割り込みで定期的に3つのアナログ入力を読み込んで、一秒おきにグラフ表示させています。
チャートレコーダーは、各種データーを記録する装置のうち、結果を紙に印刷するタイプの物です。古いものだと、例えば
こんな形の物です。他には、円形の紙に印字するようなタイプもあります。
これと同等の事を、紙に印刷するのではなく液晶画面に表示し、MMC/SDカードにデーターを保存するようなタイプの物を作成しました。OSに、MachiKania type Pを用いています。
仕様と特徴
次のような仕様です。
・最大3つの値を記録可能
・データーの入力電圧は、フルスケールが 0-1 V もしくは 0-100 mV
・1秒ごとにデーターを記録
・データーは、CSVファイルとしてMMC/SDカードに保存
・測定中もMMC/SDカードを抜いて、PCに取り込むことが可能
・マイクロコントローラーに、Raspberry Pi Picoを使用
・液晶表示に、ILI9341を使用(320 x 240 pixels)
・OSに、MachiKania type Pを使用
この装置が持っている機能の簡単な説明は、以下の通りです。
なお、ここでは3つの入力を下のように接続しています。
・フラクションコレクター(fraction collector;溶出液回収用;緑線)
・紫外線吸収度計(UV absorption;蛋白質の分量測定用;黒線)
・電気伝導度計(conductivity;バッファー特性測定用;赤線)
に繋げて使っています。
使用中は、液晶表示が以下のようになります。
なお、X軸・Y軸共に、ズーム表示が出来ます。
使用中は、10秒ごとにカードに記録されます。液晶表示の「save」の色が変わる時に、ファイル保存されます。
カードに含まれるファイルは、以下の通りです。
「machikania.bas」は MachiKania type P の実行ファイル、「MACHIKAP.INI」はMachiKaniaの設定ファイルです。機器を作動させると、「CHARTxxx.CSV」のファイル名で、測定結果が保存されます。ファイル名は、機器の再起動ごとに別の名が割り当てられます。
回路とプログラム
回路図とソースコードについては、Githubにレポジトリーを作成しました。
マチカニア部分の回路図は、以下の通りです。
上記回路図の ADC0, ADC1, ADC2 の部分は、オペアンプに繋げます。回路図は以下の通りです。
オペアンプは、マチカニア側と入力側で、異なる接地レベルが使える仕様です。この仕様のために、Analog Devicesの絶縁オペアンプ、ADuM3190を用いました。また、電源供給用に、同じく絶縁タイプのDC-DCコンバーターを用いています。
オペアンプ回路中に、2つのジャンパーピンがあります。上のピンは、オープンコレクターもしくはオープンドレイン入力の際のプルアップに、下のピンは0-1 V入力の際(デフォルトは、0-100 mV 入力)に用います。
筐体のふたを開けると、以下のようになっています。
液晶とボタン基板を外した状態が、以下の写真です。
メイン基板の説明:
なお、この装置は電源を選ぶようで、安物のUSB電源では、正常に動作しませんでした。下は、さまざまなUSB電源を用いて、リファレンス電圧を Raspberry Pi Picoの AD コンバーターで読み取った値のグラフです。
安価な電源を用いた場合、不定期にリファレンス電圧が落ちてしまう現象が起きました。安定に動く電源もあるので、マッチしたものを使う必要がありそうです。電源容量の問題かもしれません。
MachiKania BASICで書かれたソースコードは、Githubのレポジトリーを参照してください。コメントも含めて400行ほどのプログラムです。タイマー割り込みで定期的に3つのアナログ入力を読み込んで、一秒おきにグラフ表示させています。