SSブログ

日記代わりのまったりブログ。

PSO2はShip5にMILAIでよく現れる。 話しかけると中の人が反応するかも?
『PHANTASY STAR ONLINE 2』公式サイト
http://pso2.jp
-------------------------------------------
[コピーライト]SEGA 『ファンタシースターオンライン2 ニュージェネシス』公式サイト
https://new-gen.pso2.jp/
<お断り>
当ブログの記事は商用・非商用に関わらず引用および転載、URL貼り付け等を一切禁止させていただきます。

XchangeやMUTANTのようなツールチェンジ用簡易選択メニュー作成(Marlin2.0.9.1で作成) [Ender-3系]

<2021/12/17 追記>
やっとXchangeを組み込めたので、E3D V6ダイレクトドライブとHemeraで設定できるか確認している段階なのですが、
この記事の通りにやると少し数値変更がうまく働かないのかV6基準でConfig記述するとHemeraのX軸範囲がずれてしまいます。
現在もう一度Marlinの記述を確認して正しいメニュー構築をしてうまくいったら追記で修正をいたします。
<ここまで>


さて、思いついてなので今回は直に投下。

Ender-3にホットエンドの簡易交換機構をつけたいと言うことで、ダイレクトエクストルーダーでできるように準備をしているところですが、Kickstarterで入れた商品が昨今のコロナの影響で材料仕入れ遅れでずっと待ってます(
やろうとしていることは単純なツールチェンジなので、ホットエンド変更と同時にフィラメント変更するようなタイプの時は記述が変わりますので、その時はE3Dのツールチェンジャーシステムの解説見てもらった方が良いと思います。
今回は作業前に交換して使うタイプみたいな感じなので、印刷前に単体で交換する時の対応ですな。

Xchangeを使うときは都度Gcode入力で対応するホットエンドの条件を送ってやるのを紹介していましたが、
MUTANTではMarlinのメニューに記述を入れておいて一発選択するパターンを紹介していましたので、そちらを参考に「ダイレクトエクストルーダー」でのツールチェンジメニューを構築してみました。


というわけで、ついでなのでMarlinも2.0.9.1になってたのでそちらで作り直しながら新規でやってみました。

ツールチェンジシステムの面白いところで、ヒートブロックに入れる温度センサーの種類が変わってもすぐに扱えるように、カスタムメニューの中で指定する場合の番号が用意されているので、「Configuration.h」でまずはそちらを設定。

temp_sensor.png

現状で俺のはE3D V6をベースにしたBMGエクストルーダーを使ったダイレクトドライブシステムなので、
純正センサーを使っている関係で本来なら「TEMP_SENSOR_0」の指定は「5」(104GT)になります。
※Ender-3標準の場合は「1」になります。ヒートベッドのと同じのですな。
そこを選択制にするために「1000」(カスタムメニューで指定)に切り替えておきます。

俺の場合は後はBL TouchやDual Z Axis Motorがありますが、この辺は以前やってるのと変わらないので割愛。
(今回の記事では関係ありませんので)
ホットエンド変更なんでヒーターとかPID値とか変わりますが、これはメニュー側に条件で入れてやるので新たに項目へ書き込む必要はありません。
ダイレクトエクストルーダーの場合はEステップ値も関わりますが、これも同様にGcodeで送るので気にしなくて良いです。(いずれもメニューで選んだときに上書きされるため関係ありません)

てなわけで「Configuration.h」はもうこれで終わり(ぇ


次に「Configuration_adh.h」へ。

こちらもカスタムメニューのところを弄るだけです。
custom_menu.png
まずはカスタムメニューの有効化のために「#define CUSTOM_MENU_CONFIG」をアンコメントし、
すぐ下の「#define CUSTOM_MENU_CONFIG_TITLE」で自分のわかりやすい名前へ変更。
その下の行で選択後のステータス画面の完了メッセージを設定。
このとき「#define CUSTOM_MENU_CONFIG_SCRIPT_RETURN」をアンコメントすると操作したときに自動でステータス画面に戻ります。

でここからがちょっと調べながらになりましたが解れば簡単。
「#define CONFIG_MENU_ITEM_(番号)_DESC」で交換するツールの名称を決めておき表示させます。
俺の例では間違うといけないのでわざと詳しく名前入れましたが「TOOL1」とかでも大丈夫。

「#define CONFIG_MENU_ITEM_(番号)_GCODE」でツールに対応した各種パラメーターをGcodeで本体に送る設定になります。
M206はいわゆる機種の持っているノズル先端位置のオフセット位置ですが、これはおそらくCuraなどで入れて使ってると思われますので、特に気にせずすべて「0」の値で良いです。
で、複数のパラメーターを送るために文節を切らないといけないので「\n」で区切りスペースを入れずに次のコードを入れていく形で必要分書き込んでいきます。

俺の場合は必要になるパラメーターが「BL Touchのプローブオフセット」「エクストルーダーのステップ値」「ノズルのPID値」「ホットエンドの温度センサーの種類」なので上のスクショのようになります。
この辺のGcodeの番号についてはMarlinのサイトに解説があるのでそこで見た方が良いです。
面白いのはここでも使ってる「M305」(温度センサー種類)なんですが、今回は登録テーブルにあるので「P」で指定して番号打ち込んでますが、ない場合は特性値を入れて対応させることができます。
そちらで使う場合は温度センサーの仕様書から数字拾って各種入れてください。
(ヒーターの特性入れたりすることもできます。)

あとはこれを必要分作れば終わり。
※今回はまだハード的に組み立て作業していないので2つ目からのPID値がでたらめです。
 つまり、現状で書き込みましたが、BMGエクストルーダーのダイレクトドライブ設定を選択して保存した形にして使っています。

これで後はファームウェアをボードに書き込めば、Marlinのメニューの「Advanced Settings」からカスタムメニューが表示されるはずです。


で、笑っちゃう話なんですが、ここまで慣れていろいろ弄るようになった結果、ケアレスミスしてビルドが通らずに一回バニラから作り直すという無駄な作業が←
※何をやったかというと、ボード指定の記述で「MOTHERBOARD_」を誤って入れ忘れ「しらんボードしていするなや」というエラーを連発したのであります←
 そこだけ直したら一発で通ったw


あとちょっと気がついたんですが、Marlin2.0.9でアクセラレーションをバニラのまま使っていたらSカーブ指定したのに角やモールドの付近にゴーストが出ちゃったんで数字変えなきゃと思ってたんですが、Marlin2.0.9.1で見たら数値が半分に直されてました。
やはり影響強かったんで直したんでしょうね。
(実はここの記述、バージョンごとに変わってること多いです。倍になったり半分になったり繰り返してます)
印刷クオリティが突然おかしくなったなと思ったらこの辺見てみても良いかもですな。
この場所はMarlinのメニューにも最初からでるはずなので、もし速すぎが出たらそこで直しても良いかもです。


てな感じで、ATOMの方は実は組み上がってて、電源スイッチや電源ケーブルの部品待ちで最終調整待ってる感じの3Dプリンターいじり近況でしたw

コメント(0) 

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。
スマートフォン専用ページを表示