投稿

4月, 2021の投稿を表示しています

klipperに物理ボタンを設置する(gcode button)

イメージ
 klipperマシンに物理ボタンを付ける話 1. MCUボードに物理ボタンを取り付けてGコードを実行させる まずボードの使ってないピンを見つけてそこにボタンを物理ボタンを接続する必要がある KP3Sの場合、SDカードを外部に延長するためのコネクタが生えているのでこれを利用したい klipperはMCUボードのSDカード使わんので都合がいい ピンアサインは次の通り PC12”以外” のピンは10kΩの物理抵抗で外部プルアップ回路が構成されている Robin_nano以外のボードは外部抵抗の無いピンから取ることの方が多いだろう PC8はプルアップ抵抗回路なのでPC8ピンをGNDへ落とすよう配線すればPC8ボタンが作れる 物理ボタンが出来たらファームウェア上でボタンを宣言する printer.cfgでの記述は次のようになる #CPUの内部プルアップ抵抗を使用する場合 [ gcode_button PC8 ] pin : ^ !PC8 press_gcode :   #CPUの内部プルダウン抵抗を利用する場合 [ gcode_button PC8 ] pin : ~ PC8 press_gcode :   #外部プルアップ抵抗回路の場合 [ gcode_button PC8 ] pin : !PC8 press_gcode :   #外部プルダウン抵抗回路の場合 [ gcode_button PC8 ] pin : PC8 press_gcode : CPUの内部プルアップ抵抗を利用する場合は「^」記号を記述する CPUの内部プルダウン抵抗を利用する場合は「~」記号を記述する 外部抵抗回路の場合「^」は必要ない プルアップ回路はピン番号の前に「!」を書いて入力を反転させる必要がある 今回は外部プルアップなので「!PC8」と記述すればいい ちなみに宣言する名前、 [ gcode_button PC8 ] の部分は任意の名前で良い 例えば [ gcode_button btn1 ] pin : !PC8 press_gcode : とすることができる 動作確認 物理スイッチをprinter.cfgに追加できたらスイッチの動作を確認する  Mainsailのコンソールタブを開きKlipper設定ファイルで宣言した名前で QUERY_BUTTON button=PC8

MoonrakerでSSRやスマートプラグを制御して3Dプリンタ本体電源と連動させる改造(Klipper、MainsailOS)

イメージ
エラーが出た3Dプリンターを非常停止信号で安全停止させる話 防火対策の一環 動作試験の様子 前置き Raspberry piでklipperサービスとMainsailフロントエンドをつなぐMoonrakerというAPIサーバーがある こいつのconfigに「プリンタの電源をGPIOで操作するんでおなしゃす」と数行書くだけでいとも簡単にプリンタ電源をSSR(ソリッドステートリレー)で動作させることができる Raspberry Piからスマートコンセントを叩くこともできるが、結局自宅内のネットワークを経由するのでネットワーク障害がつきまとう スマートコンセントのファームウェアアップデートで突然非対応になってしまう恐れもある エラーを検出したプリンタファームウェア自身がスタンドアロンで直接リレーを叩けるというのがすばらしい もちろん、電源のSSR化をしなくてもプリンタはFETをOFFにするので一定の安全性は確保されている ただ、FETがショートモードで故障した場合はヒーターを最大出力で際限なく加熱してしまう恐れがある エラー時にプリンタへ供給される100Vの一次電源を遮断できるというのはとても大事なのだ 緊急遮断させるのは3Dプリンタの電源だけなのでRaspbery piに保存されたログが破損する恐れはない 個人的にはRaspberry Piを常時起動させてプリンタの電源だけON-OFFさせる方針だし、それを推奨しているが、Raspberry piでプリンタ電源を制御するということはRaspberry Piの起動、停止とプリンタ電源が嫌でも連動する為、Raspberry Piを毎回シャットダウンしたい人にとっても便利な使い方となる モデル配布先 https://www.thingiverse.com/thing:4825849 電源からACインレットを取り外しモデル台座をねじで固定 Raspberry Piと上蓋をM2.5かM2.6のネジ10mm〜20mmで固定させる SSRはM3 10mmで固定 電気工事について 今回の改造だとどうしても100V側の配線工事が必要になる コンセントの2次側(外側)における電線の電気工事は軽微な電気工事に該当し、電気工事士の資格無しで行うことができる 法律上はできるが、工具は高いし部材も高いし正直現実的ではない なのでスマートコンセントを