Prusa MK3Sに一時停止/E停止ボタンを追加する

3Dプリンタに一時停止/E停止ボタンを追加する


3Dプリンティングコミュニティの皆さんなら、プリント中に「これはちょっとまずい…」と思い、何とかしなければならないという気持ちになった瞬間を、おそらく覚えていらっしゃるでしょう。私の場合は頻繁に起こるとは言えませんが、実際に起こった場合、3Dプリンタには通常、指先で簡単に押せる適切な停止ボタンや一時停止ボタンがないことに気づかされます。工場出荷時に、クリックやノブを回すことにより、プリントを一時停止したり止めたりするオプションは内蔵されているのですが、おっと回し過ぎた、あっ1つ戻らなきゃ、なんてこった、1つ前に進めてからクリックして止める、というのはステップが多すぎると思いました。むしろボタンを押すだけにしたいのです。これを解決するため、私は以下のように改造しました。


使用した製品

このプロジェクトで使用したナット、ボルト、ワッシャ、その他の金具が必要な場合は、次の投稿をご覧ください。


コンセプト

私のプリンタはベッドが胸の高さにあるため、他のプリンタよりも高い位置にあります。そのため、私は少し下向きのボタンが欲しかったのです。残念なことに、私はすべての未来を予見する能力を制限される致命的な病に苦しんでいます。いずれはプリンタも普通のテーブルの高さに設置することになると思うので、タッチで調整できるオプションがあればとてもありがたいのですが。

私はまた3Dプリンタにタッチディスプレイを取り付けています。同じ部品の一部を利用し、同じ方法で取り付けます。この内容は、こちらでご覧いただけます。


3Dモデル

Button Assembly Both Views

このマウントシステムは様々な用途に使用できると思います。ご興味のある方は、下記のSTLファイルを直接ダウンロードするか OnShape_Inline_Inlineを使ってこれらのファイルを編集してください。

:arrow_forward: をクリックして各セクションの内容をご覧ください

ボタンエンクロージャ

Button Enclosure Top148x100
メインアセンブリ - Button Shell Top.stl(329.8 KB)

Button Enclosure Bottom
プリンタボタンアセンブリ - Button Shell Bottom.stl(771.7 KB)

ネックとアーム

Neck Mount
プリンタボタンアセンブリ - Display Neck Mount.stl(984.8 KB)

Arm 3H Middle+Outside
プリンタボタンアセンブリ - Arm 3H_Inset_Center.stl (upload://9FfArghxWW04fCW6O9sOBAinbv1.stl)(324.9 KB)
プリンタボタンアセンブリ - Arm 3H_Outside.stl (upload://sbV4hDIaRpiKPwImHmR8Aj1iwGf.stl)(142.3 KB)

Arm 3H inset
プリンタボタンアセンブリ - Arm 3H_Inset.stl(226.3 KB)

Arm 2H
プリンタボタンアセンブリ - Arm 2H_Long.stl(113.6 KB)

右側マウント

Bracket Top Right
プリンタボタンアセンブリ - Bracket Right Top.stl(604.6 KB)

Bracket Bottom Right
プリンタボタンアセンブリ - Bracket Right Bottom.stl(345.0 KB)

左側マウント

Bracket Top Left
プリンタボタンアセンブリ - Bracket Left Top.stl(604.6 KB)

Bracket Bottom Left
プリンタボタンアセンブリ - Bracket Left Bottom.stl(345.0 KB)


アセンブリ

組み立てプロセスの各ステップを示すために、多くの写真(以下を参照) を入れました。この方法で、ボタンやディスプレイを正しい位置に保ちながら、非常にスムーズで簡単なスライド機構を実現しています。

:arrow_forward: をクリックして各セクションの内容をご覧ください

ボタンエンクロージャの準備

スライディングアームの取り付け

手持ちのスプリングを利用してこれを組み立てたのは、時間が経つにつれて、より均等で一定の圧力をかけるのに役立つと推測したためです。このことを裏付けるデータは何もありません。標準的なボルトとナットを使っても、同じようにうまくいくかもしれません。

下側アームの取り付け
取り付けブラケットの準備

取り付けブラケットは、現在お使いのPrusaプリンタに付いているものと交換します。この2つのパーツを組み合わせることもできますが、私は、さまざまなタイプのアタッチメントを使用して拡張できるようなモジュール感を目指しました。

下部ブラケットをプリンタに取り付ける前、あるいは上部ブラケットをアームに取り付ける前に、必ずこの2つの部品を接続する必要があることがわかりました。ボルト等を接続したりすることはできません。

ボタンエンクロージャを取り付けブラケットに結合する

これらのモデルをプリントしたとき、外側のアームにネジの頭を置くスペースを設けました。現在のモデルではそれを変更しています。その方がボルトがしっくりくるからです。実験として、ナイロンナットを挿入してみたところ、簡単にはめ込むことができ、非常に頑丈で、簡単に交換できるため、モデルが外れるリスクがなくなりました。結局、ここでは必要ありませんが、このアイデアはもっと検討する価値があると思います。

ボタンを取り付ける

LED用とスイッチ機能用の2組のワイヤをスイッチにはんだ付けしたので、それぞれのセットに異なる色の絶縁テープで印をつけました。

LEDは青にしました。
スイッチング機能は赤にしました。

このプロジェクトを進める場合、以下の点に注意してください。

まず、ボタンをハウジングに挿入する際、コイルが1周していることを確認してください。こうすることで、ワイヤに多少の遊びができます。次に、ワイヤがどのようにアームの間を縫っているかに注目してください。ワイヤがつぶれたり挟まれたりすることなく、きれいに通っています。


インストール

これが最も簡単なパートです。 Prusaプリンタから適切なブラケットを取り外し、このアセンブリと交換するだけです。


技術内容

パート1 - Raspberry Pi

タッチディスプレイの追加に関する前回の投稿で示したように、私はRaspberry Pi 4Bを使用してOctoprintを操作しています。 Octoprintは、私の3Dプリンタを操作する機能を備えています。

Raspberry Piを初めて使用されるのであれば、ウェブサイトにあるドキュメントをチェックすることをお勧めします。

ここでGPIOのガイドを見つけることができました。それを使って、どのピンにワイヤを接続すべきかを決めることができました。

このガイドとGPIOに関する詳しい情報は、こちらをご覧ください。

私が使用しているボタンにはすでに抵抗が取り付けられているため、12V以下の電圧で電力を供給できます。 Piの5V電源は点灯するのに十分です。私のPrusaは24Vなので、それが最良の選択と思いました。

LEDを4番ピン(5V)と6番ピン(GND)に接続することにしました。

ボタンをIOに接続する必要があったので、GPIO17(11番ピン)を使うことにしました。

内部プルアップ抵抗を17番ピンに接続して、アクティブ ローピンとしてグランドに接続されたときにイベントがトリガされるようにしました。この設定については後ほど説明します。

私の接続表:

機能 ピンラベル ピン番号
LEDアノード 5V 4番ピン
LEDカソード GND 6番ピン
スイッチ入力 GPIO17 11番ピン
スイッチグランド GND 9番ピン

パート2 - Octoprint

私はプリンタを制御するのにRaspberry PiでOctoprintソフトウェアを使っています。インストールはこの投稿の範囲外ですが、より詳しい情報はこちらをご覧ください。

Octoprintサーバにアクセスする標準的な方法はウェブブラウザを使用することです。デフォルトのウェブアドレスはhttp://octopi.localです。

このリンクは、サーバが閲覧デバイスと同じネットワークに接続され、名前が変更されていない場合にのみ機能します。ローカルIPアドレスも使用できます。192.168.1.18のようなIPアドレスになります。

パート3 - プラグインをインストールする

また、ボタンから信号を受け取り、それを解釈できる方法も必要でした。そのために私はこのプラグインを選びました。

Octoprintのメインインターフェースでレンチアイコンをクリックすると設定ダイアログが表示されます。

左のメニューを下にスクロールし、「Plugin Manager」を選択します。プラグインを検索するオプションがあり、この場合は「Enclosure Plugin」です。インストールされていない場合は、「Get More」ボタンをクリックすると、ダウンロードできるダイアログが表示されます。最後に、いくつかのプロンプトが表示され、Piの再起動でインストールが完了します。

パート4 - 設定

Gコードはプリンタに指示を送る最も簡単な方法です。Gコードについて説明している実に良い記事を見つけました。

Prusa専用のコマンドもあります。

次のGコードを使用して、プリンタに一時停止してからベッドを近くに移動するように指示しました。

M601 ENTER
G1 X125 Y200 ENTER

M601は単にプリンタを一時停止します。この命令を読み取る前に現在の命令セットが終了するため、これはすぐには起こりません。

G1はプリンタに移動するように指示します。この場合、X軸はX座標125に指定され、Y軸はY座標200に指定されます。

このプラグインの設定には出力の追加が必要です。この設定はOctoprintのホームページのレンチアイコンをクリックしてアクセスすることができます。左のフレームで「Enclosure Plugin」を選択してください。

ここで出力に名前を付け、前述のGコードを付けました。これらは私の設定です。

次に入力を設定する必要がありました。設定ページは、適切な設定を提案してくれます。私は17番ピンに内部プルアップ抵抗を設定し、アクティブローピンとしてグランドに接続されたときにイベントがトリガされるようにしました。

入力の設定では、出力を選択する必要があります。そのため、最初に出力を作成する必要があります。

こうして私はPrusa MK3Sに、機能的でアラームのように見える大きな赤いボタンを追加しました。これは楽しいプロジェクトで、今後のあらゆる可能性を広げてくれます。

いつものように、

CartoonMe ハッピープリンティング!


今後も私の作品に注目してください。また、あなた自身の作品についてお気軽にこちらに返信してください。

私はほとんどのデザインをOnshapeで作っています。まだ試したことがない人は、ぜひ試してみてください。Onshapeの優れている点は複数の人がそれぞれ独自のプロジェクトを繰り返し使用可能にしていることで、社会的距離を保たなければならない間は非常に役立ちます。今回のファイルをあなたのニーズに合わせて編集したり、友人と共有することから始めることができます。Onshapeについてもっと知りたい方は、以下をクリックしてください。


image

提供されるモデルは、お好みの3Dプリンタフィラメントを使用してプリントできます。これらは、必要なほとんどの電子部品と同様に、DigiKeyから提供されます。




オリジナル・ソース(English)