自作真空脱泡機の改修終了

 M5Stackと小型サーマルプリンターを買ったの後、部品が届き、思い付く機能を一通り盛り込んだ真空脱泡機のコントロールボックスが完成しました。

 液晶画面付きのワンボードコンピューター、M5Stackを使い、真空脱泡機の真空槽の状態を真空タイプの圧力スイッチで検知しながら、真空ポンプと大気開放用の真空電磁弁の電源をON/OFFして、真空脱泡機を自動的に制御して、真空脱泡が正常終了してらかの経過時間を記録する物です。
 以前作った物はArduino Unoで制御していましたが、動作状況や、真空脱泡してからの時間経過を表示するのに、Arduino IDEが動作するパソコンが必要だったので、液晶表示が出来るM5Stackを使い、表示を含めてコントロールボックス単体で行える様にしました。

 最後に届いた部品は電磁弁を動作させる為の押しボタンスイッチです。
 前のコントロールボックスでは押す事でON/OFFの切り替えができるオルタネイト式のスイッチを使っていましたが、スイッチが入りっぱなしで電磁弁がかなり熱を持っていた事が有ったので、そう言った事を避ける為、今回は押した時だけ通電するモーメンタリー式のスイッチにしました。

 ハード的な難所は、M5Stackプロトモジュールの接続と、デジタル真空計のアナログ信号をM5Stackでの読み取りでした。

 M5Stackのプロトモジュールは、最初の内はちゃんと使えていたのですが、だんだんとコネクターにピンを差しても通電無い事が出て来たので、コネクターの側面から出ている端子からはんだ付けで配線して、コネクターピンを新たに取り付けました。
 当初はボトムモジュールも通電しないのもあって、M5Stackのコネクターが摩耗したか何かで通電不良になっていると考えていたのですが、コネクターの側面の端子からピンコネクターに配線したプロトモジュールでは問題無く動作しているので、プロトモジュールやボトムモジュール側の問題だった様です。
 コントロールボックスではM5Stackには、充電池を搭載するボトムモジュールを取り付けず、ブローモジュールを介してM5Stackに電力を供給するので、長時間利用で充電池が膨らんだりと言った問題からも解放されます。

 デジタル真空計のアナログ信号は、Arduino Unoで作ったコントロールボックスと同じ様に配線した所、M5Stackでは正常に読めませんでした。
 Arduino IDEで記述したスケッチのスケッチによる不具合を当初疑ったのですが、丸1日試行錯誤した後に、Arduino Unoが対応するアナログ入力の電圧は0~5Vに対して、M5Stackが対応するアナログ入力の電圧は0~3.3Vである事に気付きました。
 デジタル真空計が出力する0~5Vの電気信号を、M5Stackで正確に読み取るには、3.3Vを上限とした電気信号に変換しないとなりません。

 最高5Vの信号をM5Stackへ入力するのを繰り返した結果、M5Stackの2つあるアナログ入力のうち1つが壊れてしまいましたが、もう片方の入力端子は壊れていなかったのと、M5Stackは予備を用意していたので、問題は有りませんでした。

 5Vの信号を3.3Vに変換するのには、最初はアマゾンで販売されていた双方向変換モジュールを使ってみたのですが、これはデジタル信号用で片方の入力電圧が閾値を境に0Vと3.3Vや0Vと5Vの電気信号を得られると言う物で、アナログ信号を変換できる物ではありませんでした。

 色々調べた所、5Vの電気信号を3.3Vに変換するのには、抵抗を使った分圧により降圧するのが一般的みたいなので、分圧計算サイトで適当な抵抗を算出して、抵抗とコード、デュポン端子で分圧回路を作りました。

 作った分圧回路では、デジタル真空計のアナログ信号のピーク電圧が3.3Vではなく2.3Vくらいでしたが、ピーク電圧が少し低い分にはプログラムの設定で対応出来、実用上の問題は無かったので、そのまま使いました。

 M5Stackのアナログ入力はポートや個体による差があるみたいなので、誤差を考慮したプログラムを組むか、テストを繰り返して個体毎に設定値を詰める必要がある様です。

 フォトレジスターを使ったデジタル真空計のスイッチ入力は、Arudino Unoでは電圧の変化量が小さかったのでアナログ入力を使っていましたが、同じ部品を使った回路でもM5Stackだと大きく電圧が変化してデジタル入力で問題無く扱えるので、デジタル入力が可能な26番ピンに接続しました。

 漢字の表示はMicroSDカードに記録したフォントを読み込んで行っています。
 読み込みに時間がかかるみたいなのと、表示する文字は限られるのとM5Stackは容量が比較的大きいので、表示に使用する文字フォントのデータをスケッチに組み込むのも良いかも知れません。

 ソフト的にはArduino Uno用のスケッチを元にM5Stack用に書き直したので、入力電圧の勘違いによる試行錯誤を除けば、大した手間は掛かっていません。
 Arduino Uon用のスケッチを、M5Stackで利用するには、M5Stackと拡張I/Oモジュールの使用に必要なライブラリーの記述とピン設定の変更のみで済みました。

 M5Stack用のスケッチ製作で一番手間と時間が掛かったのは、M5Stackのアナログ入力が3.3Vに気付くまでの試行錯誤で、次がM5Stackに内蔵されている液晶画面の表示でした。
 M5Stackの液晶画面の表示に付いては、ような表示を行うかは決めていたので、デジタル真空計のアナログ信号の読み取りで試行錯誤している間に完成しました。

 レシート用サーマルプリンターではM5Stackのプログラム起動時と、真空脱泡終了時に、NTPサーバーから取得した現在時刻を出力する様にしています。
 これにより、M5Stackが何かの拍子にリセットされても、真空脱泡を何時終えたのかをレシートで確認する事が出来ます。
 使用しているサーマルプリンターは改行を数回行わないと印字が見えないので、印字されている所が見える小型プリンターがあれば良いですね。

 コントロールボックスは、M5Stackの液晶表示と、サーマルプリンターによる紙出力の他にも、下記の様な変更点があります。

 電磁弁とデジタル真空計のDC24V電源と、M5Stackとサーマルプリンターの5V電源となる2つのACアダプターを筐体内に内蔵したので、入出力端子がすっきりしました。

 抜く時に力がかかるAC100Vの入出力コネクターはビス固定が出来る物にしました。

 真空ポンプを動作させるスイッチとパイロットランプの追加。

 主電源のAC100V、DC24V、DC5Vのスイッチとパイロットランプの追加。

 動作時に確認したいパイロットランプと共に、操作用の押しボタンを天板に内蔵しました。

 外付けボタン使用時に、内蔵押しボタンで誤入力しない様に内蔵押しボタンを無効化するスイッチを追加。

  外付けボタンのコネクターをフロントパネルだけでなくリア側にも追加。

 電磁弁を動作させるスイッチは、押している時だけ通電するモーメンタリタイプに変更。

 テストの様子の動画ほYoutubeに投稿しています。

 テストしている限りでは、最初に作ったコントロールボックスで感じていた不満点は解消されました。

 新しく作ったコントロールボックスの完成によって、自作真空脱泡機で真空脱泡してからの経過時間がパソコンがなくても一目で分かる様になり、停電等でM5Stackがリセットされても、真空脱泡が完了した時間が確認出来るようになりました。

 新たに出た不満点は、MicroSDカードから文字フォントの読み出しに時間が掛かる事くらいでしょうか。
 これに付いては、スケッチに表示する文字フォントのデータを埋め込む等、解決方法は幾つか思い付きますが、ソフト的な対応で済むとは言えかなり面倒なのと、実用上の問題にはならないので、多分そのままにすると思います。

 今後は実際にレジンキャスト複製に使ってみて、必要に応じて改修を重ねて行きたいと思います。

1件のピンバック

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です