雑食エンジニアの気まぐれレシピ

日ごろ身に着けた技術や見知った知識などの備忘録的なまとめ.主にRaspberry Piやマイコンを使った電子工作について綴っていく予定.機械学習についても書けるといいな.

Flsun prusa i3にUltrabaseを導入する[静電容量スイッチ準備編]

先日,はるかぜポポポさん(https://note.com/newspeak)主催の3Dプリンタわいわい会に参加させていただいた際に「Ultrabaseが良いよ!」って話を伺ったので,私も導入してみることにしました.
Ultrabaseはanycubicの開発したビルドプラットフォームで,定着が良く,かつ剥がすときは剥がしやすいと専らの噂です.ただしガラスプレートなので,Z軸のリミット検出のためには静電容量スイッチなるものを導入する必要があります.今回はそのあたりについて書きたいと思います.

f:id:shikky_lab:20200419155311p:plain
こんな感じのマウンタ作りました

Ultrabaseの購入

冒頭に述べた通り,Ultrabaseはanycubic謹製のガラスプレートです.が,調べてみるとanycubicのもののほかに,Ender3用のCreality製のものが出てきます.ただ私が調べた限り,この二社の間に技術協力などはなさそうな感じでした.Crealtyのやつもは評判は悪くなさそうですが,今回は不安なのでanycubicのやつを購入することにしました.実際に買ったのは下記です.
https://ja.aliexpress.com/item/33000152645.html?spm=a2g0o.productlist.0.0.359a3383Hb8m26&algo_pvid=7f3b8c35-a04b-4dc2-a0ef-12aaa23ddc95&algo_expid=7f3b8c35-a04b-4dc2-a0ef-12aaa23ddc95-4&btsid=0ab6f83115857512525931674ec602&ws_ab_test=searchweb0_0

静電容量スイッチの購入

Flsun prusa i3のZ軸のリミット検出には,誘導型近接センサというものが使用されています.これは電磁誘導を利用したセンサで,金属に対して一定距離(私のは5mm)近づいた際に反応するように調整されています.しかしその特性上金属プレートにしか反応しないため,ガラスプレートに対しては静電容量式の近接センサを導入する必要があります.こちらはセンサと測定物の間に疑似的にコンデンサを形成して,その静電容量の差で近接を検出します(たぶん).詳しい構造はomronさんがまとめてくれているので,ご参照いただければと思います.
静電容量形近接センサ(原理と構造) : オムロン制御機器

どの静電容量スイッチ(Capacitive Sensor)を買えばいいかについてはよく分からなかったので, Best Capacitive Proximity Sensor for Glass Sheet on PCB Heater? にて話題に挙げられていたLJC18A3-H-Z/BXなるものを購入しました.
https://ja.aliexpress.com/item/4000279718444.html?spm=a2g0s.9042311.0.0.4d134c4dBkcN5H

ただこれ,思ったよりも大きかったです.直径18mm.

f:id:shikky_lab:20200419163120p:plain
購入した静電容量スイッチと10円硬貨
下記は別製品のラインナップ一覧ですが,型番ルール見た感じ直径12mmのやつもありそうですね.検出距離は短くなりますが,重さを考えるとこっちのほうが良かったかもしれません.
http://files.microjpm.webnode.com/200003722-858c88684b/Condutive%20Proximity%20Switch%20Series.pdf

静電容量スイッチの導入

ここからは実際にこのセンサを導入するためにやったことについて書いていきたいと思います.具体的には「レベル変換基板の作成」と「マウンタの作成」です.

レベル変換基板の作成

正直この静電容量スイッチの仕様は謎なんですが,どうも駆動電圧は6-36Vとのことです.なので電源電圧ままの12Vを突っ込むことにします.
しかしセンサの接続先となる3DプリンタコントローラボードはArduinoなので,5V系となります.そのため両者の間でレベル変換が必要となります.
※ 実際はこのセンサはNormalOpenらしいので,センサ出力端子を5Vでプルアップすれば5V系でも使用できる気がします.ただ色々不安なので,電源分離を兼ねたレベル変換を行いました.

f:id:shikky_lab:20200419171643p:plain
レベル変換回路

左側がセンサー用で,右側がArduino用のコネクタになります.左側から入ってきた12Vの信号が,フォトカプラ(PC817)を通して5Vレベルに変換されています.ただしそのままでは信号が反転してしまうので,もう一つトランジスタを挟んで信号を反転させています.
信号反転についてはMarlinのファームウェア側でも対応できますが,センサを変えるたびにそこを書き換えるのがめんどくさそうだったので,回路側で反転させました.

マウンタの作成

次にこのセンサをノズルと一緒に動かすためのマウンタを作成します.冒頭に写真をのせてますが,次の二つのパーツの組み合わせで構成しました.

f:id:shikky_lab:20200419174614p:plain
マウンタ土台
f:id:shikky_lab:20200419174700p:plain
マウンタ縦板

土台にある凹の部分に縦板の凸がハマるようになっていて,次のようにねじで固定できます. f:id:shikky_lab:20200419175618p:plain
f:id:shikky_lab:20200419175649p:plain

この凹凸を使ってネジとナットで固定する方法は元のFlsun prusa i3のパーツを参考にしたのですが,平面を簡単に立体にできるのでいいですね.3Dプリンタ使っているなら初めから立体構造で形成してもいいはずなんですが,どうも私は2Dを組み合わせる方が性に合っている気がします.

はてさて,ここに先のセンサを組み付ければ完成となります.
f:id:shikky_lab:20200419155311p:plain

おわりに

さて,これでUltrabaseを導入する準備は万端になりました.肝心の Ultrabaseはまだ届いていないので,届き次第レビューも兼ねてまた記事にしたいと思います.
それでは.