Adventurer3をFlashPrintの代わりに制御するプログラム
ソースコード
機能概要
機器の自動検知
無線LANで接続しているAdventurer3を自動検出して、IPを表示。
自動検出できない場合や、複数のAdventurer3がLANに接続されている場合は、IPアドレス指定で接続開始できる。
機器の状態表示
ノズル温度・ベッド温度・機器のステータスを表示する。
また印刷時には、印刷の進捗状況、機器のカメラでの映像を確認できる。
出力
FlashPrint、Simplify3D、Slic3rで出力したファイルを、Adventurer3に送信し印刷を開始する。必要であれば、出力ファイルの内容を一部修正して出力する。
ファイル修正機能
コメント行の除去(Simplify3D/Slic3r)
ファイル中の’;’で始まるコメント行を除去する。
Simplify3Dのスクリプト-ポスト処理のための追加ターミナルコマンドに記述されている「{STRIP “;”}」相当の処理を実施する。
開始・終了コードの追加(Simplify3D/Slic3r)
出力されたファイルに、Adventurer3で印刷を開始・終了できるように、Gコードを追加する。その際、FlashPrint側で設定できた、筐体ファンコントロール、ステッピングモーター電圧の制御コードも追加可能とした。
遊び除去コマンドの追加(FlashPrint/Simplify3D/Slic3r)
Z軸移動時に、いったん上にあげてから、指定した位置に移動するコマンドを追加する。
Adventurer3で、Z軸位置決めギアに、若干の遊びがあるようで、最下から上にノズルを移動する際に、上への移動量が、機械的な遊びに吸収されてしまい、正しい高さにならない場合に利用する。
遊びオフセットの追加(FlashPrint/Simplify3D/Slic3r:V1.5で実装)
Zが上昇する場合に遊びの量をオフセットしてZ値にする。
「遊び除去コマンドの追加」とは違った考えでノンバックラッシュを実現させようと思った機能。
ブリム出力内容の補正(Simplify3D)
Simplify3Dではブリムのみの吐出パラメータを変更できないため、この内容を変更する。
吐出速度は、絶対速度か、現在の設定内容に対しての割合で変更できる。吐出量は、現在の設定内容に対しての割合で指定できる。
グローバルオフセット(FlashPrint/Simplify3D/Slic3r)
座標系の全体的なオフセットを行う。
現在はZ軸のオフセットのみ可能。
不必要なリトラクションの除去(Simplify3D/Slic3r:V1.3で実装)
フィラメントを押し出していないのにリトラクションをしている箇所を見つけ、リトラクションのコードを除去する。
この機能をOFFにするボタンはないので注意。
フィラメント交換(V1.2で実装)
フィラメントの挿入・取り出しの2種類を利用し、交換機能とする。
温度や、移動速度は、パラメータで定義可能とする。
フィラメント挿入
次のような動作になる。
- フィラメントを、指定量高速に送り出す。
- ノズルの温度を、指定温度にまで上げる。
- フィラメントを、ユーザーの停止ボタン押下まで、ゆっくり押し出す。
1では46cm送り出すようにしている。これは自分の機械で、チューブの先端1cm位の位置までフィラメントを送り出すような設定としている。
注意
上記の送り出し長さが個々の機器とマッチしているかは、一度、ヘッダーからチューブを外して、1の動作でチューブからフィラメントがみ出していないか確認しておいた方がいいかもしれない。
もしはみ出していたら、とりあえず、使わないように。
フィラメント取り出し
次のような動作になる。
- ノズルの温度を、指定温度まで上げる。
- フィラメントをゆっくり指定量まで押し出す。
- フィラメントをゆっくり指定量まで引き出す。
- ノズルの加温を止める。
- フィラメントを、ユーザーの停止ボタン押下まで、高速で引き出す。
ノズル清掃
以下の4つの動作が指定できる。
ノズル清掃のコマンド実行後、出力をする場合、必ず出力前に校正を行うこと。
- ノズル清掃前処理
清掃用器具が入れやすい位置にノズルを移動する
フィラメントをチューブ内に引っ込める。 - フィラメントカット前処理
チューブからちょっとだけフィラメントを出す - ガイドチューブ挿入前処理
チューブに引っ込めるぐらいにフィラメントを引き込む - フィラメント挿入
ノズルからフィラメントが出るようにゆっくり出す - 高温に設定する
ノズルの温度を高温側にする。 - 低温に設定する
ノズルの温度を低温側にする。
1を行った後、以下の位置にヘッドが移動し、フィラメントがチューブ内に退避する。
その後、チューブをヘッドから外し、清掃用の器具を差し込み、ノズルからフィラメントが出なくなるまで何度も器具を押し込む。
赤い矢印の先が、チューブを抜くために押し込むところ。チューブの引き抜きにちょっとだけ力がいるのと、チューブが滑るので、両手でやるのがいいかも。
掃除が終わった後、2のフィラメントカット前処理を押すと、チューブからフィラメントが出るので、適当な位置でカットする。そして3のガイドチューブ挿入前処理を押すと、ガイドチューブ内にフィラメントが引き込まれるため、ここで、チューブをヘッドに差し込む。
最後に4のフィラメント挿入にチェックを入れノズル清掃を押すと、ノズルが上に移動し、またフィラメントを出す動作が実施される。
ノズル移動(V1.1で実装)
XYZの位置、およびフィラメントの送り出し量ををパラメータで指定した分だけ制御する。
座標値は、以下の制限範囲内での移動とする。
- X軸
-75~80の範囲 - Y軸
-76~75の範囲 - Z軸
-0.5~154の範囲
座標の移動後、エマージェンシーストップの命令を適時出しているため、座標のブレはないと思われる。
フィラメントの送り出しは、ノズル温度が低い状態で行うと、ノック音が出る元となるので、注意が必要。
Slic3r対応(V1.4で実装)
Slic3rで作成したファイルを、ファイル修正機能を経由してAdventurer3に出力できるように修正する。
以下の修正をする。
- Z軸移動速度の修正
- ヘッダー・フッターの修正
- 温度コードの修正
Simplify3D利用時の前提条件
ファームウェアの設定
- エクストルーダー温度を安定化
M104 S0 T1 - ベッド温度を安定化
空欄
FFFの設定-スクリプトタブ
各種スクリプト欄は空白、ポスト処理のための追加のターミナルコマンドには、「{EXTENSION “g”}」のみ設定する。
Slic3r利用時の前提条件
基本的に、以下の設定以外は、処理に影響を及ぼさない。
Printer Settings
bedshapeを150×150、原点を75×75にし、capabilitiesのエクストルーダー数を1、ヒートベッドをONにする。
GコードのFlavorはRepRapを選択。
Custom G-codeには、何も設定しない。
Extruder 1のNozzle diameterには0.4を入れるが、こちらは、ユーザーの好みにより、調整してもらいたい。
Print Settings
Output optionsの出力ファイルフォーマットには、拡張子がgになる様にした方が、出力したファイルをそのままドロップできるので、便利。
起動方法
スタートメニュー-PrintControler-PrintControler
アイコンとか作ってなかったので、txtの文書ファイルみたいになってしまっている。
画面構成
メイン画面
コンボボックスに、接続可能なIPが出る。1台であれば、そのまま「接続」ボタンを押すことで、機器に接続できる。
「接続」したのち、ボタンは「接続解除」になる。このボタンを押すことで、接続解除ができる。なお、FlashPrintと同時接続はできない。
Gコードファイルの印刷は、この画面の白い枠か、ファイル更新画面の白い枠に、ファイルをDrag&Dropすることで行える。
こちらの白い枠にDrag&Dropすると、Dropしたファイルをそのまま機器に送信し印刷を開始する。
ファイル更新画面
タブを切り替えると、出力時の更新パラメータを設定できる画面になる。
ここで、遊びの除去やブリムの出力制御などを行える。
なお、ブリ部出力制御の速度は、左側がmm/分、左側がmm/秒の速度の入力が可能になっており、それぞれの入力はリンクしている。
また、入力値に間違いがある場合、テキストの入力エリアが赤枠になる。
白い枠に、GコードファイルをDropすることで、設定内容でファイルを更新し、印刷を開始する。
機器制御
ノズル・ベッドの温度は、テキストエリアに数値を入力後、チェックボックスをONにすることで、加温される。設定を解除したい場合は、チェックボックスをOFFにする。
ノズルの位置の移動は、移動させたいパラメータの行を選択し、「実行」を押すことで、移動する。パラメータの行の追加・削除は、ボタンで行える。このパラメータは、コンピュータ内に保存されるため、次回起動時に、前回の値が表示される。移動速度は、上から3段目のパラメータが使用される。それぞれ左側がmm/分、右側がmm/秒。
移動は、XYかZかE(フィラメントの送り量)のいずれかの選択式になっている。チェックボックスのON/OFFは、初めにフォーカスの移動、その後ON/OFFの変更になるため、ON/OFFの変更を行うためには、2回クリックしなければいけないこともある。
問題があったら、とりあえず「緊急停止」を押す。
ベッドの水平度をみるには
以下の6種類のパラメータをとりあえず設定しておく。
- X 0 Y 0
- Z 0.1
- X 70 Y 70
- X 70 Y -70
- X -70 Y -70
- X -70 Y 70
これを上から順番に実行していくことで、ノズルが中央と4隅に移動する。
それぞれ移動した箇所では、Z軸が0.1mmにあるのが望ましいので、ベッドとノズルとの隙間を計測し、それをもとにベッドの水平だしをする。
初めての水平だしの場合は、Zが0.1だとノズルがベッドを引きずる可能性があるので、0.3位から始めたほうがいいかもしれない。
フィラメント(V1.2で実装)
E低速・E高速は、フィラメントの送り出し量で、それぞれ、低速側速度(これは主にノズル近辺にフィラメントがある場合に使う)、高速側速度(これは主にフィラメントの挿入抜去時にボーデンチューブ内を高速に移動させる際に使う)
XY移動速度とZ移動速度は、ノズル清掃時に使う。
ノズル清掃ボタンを押すと、その右側のチェックボックスがONになっている処理を行う。ノズル清掃ボタンを押すと、次に行うべき動作にチェックの状態が写るようにしている。
フィラメントの挿入とノズル清掃のフィラメント挿入は、ノズルからフィラメントが出だしたら、緊急停止ボタンを押すこと。
また、何か問題があった場合は、すぐに緊急停止ボタンを押すこと。
これにより、ノズル移動・フィラメント送り出し、引き込み・ノズルへの加温をすべて止める。
Slic3r変換(V1.4で実装)
タブを切り替えると、Z軸移動速度の設定ができるパラメータ画面が出てくる。
パラメータの下の白い枠に、Slic3rファイルをドロップすることで、印刷が開始される。
また、ドロップされたファイルに関しては、ファイル更新画面で設定されたパラメータも適用されて、Adventurer3に送られる。
メニュー
今のところ、ファイルとヘルプメニューのみ。
ファイルは、プログラムの終了ができるメニューがあり、ヘルプは、デバッグ用のチェックボックスがある。
インストール方法
既にインストール済みの場合、事前にアンインストールをして、インストールを実施する。
ダウンロードした圧縮ファイルを解凍し、setup.exeを実行する。
ダウンロード・更新履歴
以下からダウンロード
V1.6.1(2021/09/17)
新ファームバージョンの送信方法に対応。
MD5
5799959FB634D8E60934498D3E8DFE40
V1.6(2021/09/11)
プリンターのIPアドレスの検索方法を、プライベートMACアドレスを見つける方法からFlashPrintと同じ方式に変更。
V1.5(2021/08/25)
遊びオフセット値を利用したノンバックラッシュ対応。
V1.4(2019-04-05)
Slic3rへの対応と不具合修正
MD5
1baf0faf3830b5fb6f66007c4317402d
V1.3(2019-3-12)
不要なリトラクションの除去等いくつかの改善と不具合修正
詳細は、こちら。
MD5
e6896332156dd27b3ed193b4316e6dd8
V1.2(2019-3-2)
フィラメントの挿入・抜去、ノズル清掃に関する補助動作機能を追加。
MD5
ec6eb1465bd50b1abe0554f3ecbb0b1d
V1.1.3(2019-2-28)
不具合の修正
- FlashPrintで出力したファイルが正しく出力されない
ベッド温度が上がっていかないケースがあるらしい
MD5
c84468aa0927e0efb200d0745c21ccc2
V1.1.2(2019-2-24)
不具合の修正
- ファイル転送時に、プログレスバーの進捗が表示されない
- ファイル転送時に転送を中断すると、機器との接続が切れる。
- プログラム起動中に、機器との接続が切れた場合、再度プログラムを起動しないと、接続ができない。
- 出力パラメータタブからファイルを出力した場合、たまに止まってしまう場合がある。
MD5
67806a5db6e0edc02312057d94b97205
V1.1.1(2019-2-18)
不具合修正
- 機器のIPアドレスが見つからない場合、コンボボックスがからになるが、そこに正しいIPアドレスを入れても、「接続」ボタンが押せない状態のまままだった
MD5
5946f5dcbc0381179fb098866286e091
V1.1(2019-02-15)
ノズルの位置、ノズル・ベッドの温度の制御を実装。
MD5
42c5c84ec041e89136b77d2704fc256e
V1.0(2019-02-11)
機器との接続・機器の状態表示・出力を実装。
MD5
bd84c1a1d3685b874f79054702993163