MachiKania

MachiKaniaを使ったチャートレコーダー

2022年12月27日

MachiKania type Pを使って、チャートレコーダー(記録装置)を作成しました。

2022-12-27-ChartRecorder.png

チャートレコーダーは、各種データーを記録する装置のうち、結果を紙に印刷するタイプの物です。古いものだと、例えば
2022-12-27-ClassicChartRecorder.png
こんな形の物です。他には、円形の紙に印字するようなタイプもあります。

これと同等の事を、紙に印刷するのではなく液晶画面に表示し、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を使用

この装置が持っている機能の簡単な説明は、以下の通りです。
2022-12-27-HowToUse.png
なお、ここでは3つの入力を下のように接続しています。
2022-12-27-connections.png
・フラクションコレクター(fraction collector;溶出液回収用;緑線)
・紫外線吸収度計(UV absorption;蛋白質の分量測定用;黒線)
・電気伝導度計(conductivity;バッファー特性測定用;赤線)

に繋げて使っています。

使用中は、液晶表示が以下のようになります。
2022-12-27-Display.png
なお、X軸・Y軸共に、ズーム表示が出来ます。

使用中は、10秒ごとにカードに記録されます。液晶表示の「save」の色が変わる時に、ファイル保存されます。
2022-12-27-movie.gif


カードに含まれるファイルは、以下の通りです。
2022-12-27-files.png
「machikania.bas」は MachiKania type P の実行ファイル、「MACHIKAP.INI」はMachiKaniaの設定ファイルです。機器を作動させると、「CHARTxxx.CSV」のファイル名で、測定結果が保存されます。ファイル名は、機器の再起動ごとに別の名が割り当てられます。

回路とプログラム

回路図とソースコードについては、Githubにレポジトリーを作成しました。

マチカニア部分の回路図は、以下の通りです。
2022-12-27-machikania.png
上記回路図の ADC0, ADC1, ADC2 の部分は、オペアンプに繋げます。回路図は以下の通りです。
2022-12-27-opamp.png

オペアンプは、マチカニア側と入力側で、異なる接地レベルが使える仕様です。この仕様のために、Analog Devicesの絶縁オペアンプ、ADuM3190を用いました。また、電源供給用に、同じく絶縁タイプのDC-DCコンバーターを用いています。

オペアンプ回路中に、2つのジャンパーピンがあります。上のピンは、オープンコレクターもしくはオープンドレイン入力の際のプルアップに、下のピンは0-1 V入力の際(デフォルトは、0-100 mV 入力)に用います。

筐体のふたを開けると、以下のようになっています。
2022-12-27-opened.png

液晶とボタン基板を外した状態が、以下の写真です。
2022-12-27-lower.png


メイン基板の説明:
2022-12-27-mainboard.png

なお、この装置は電源を選ぶようで、安物のUSB電源では、正常に動作しませんでした。下は、さまざまなUSB電源を用いて、リファレンス電圧を Raspberry Pi Picoの AD コンバーターで読み取った値のグラフです。
2022-12-27-refvoltage.png
安価な電源を用いた場合、不定期にリファレンス電圧が落ちてしまう現象が起きました。安定に動く電源もあるので、マッチしたものを使う必要がありそうです。電源容量の問題かもしれません。

MachiKania BASICで書かれたソースコードは、Githubのレポジトリーを参照してください。コメントも含めて400行ほどのプログラムです。タイマー割り込みで定期的に3つのアナログ入力を読み込んで、一秒おきにグラフ表示させています。

コメント

コメントはありません

コメント送信