きっかけ
3Dプリンタ欲しさが増している(自作キーボード改造に使いたさがある)
— hikalium (@hikalium) 2022年1月1日
この前の記事で、私もついに自作キーボードに足を踏み入れたわけですが、keyball46の個人的につらいポイントとして、キーがとても少ないというのが挙げられます。 というのも、私はこれまでErgoDox EZを使用していたため、キーの数が十二分にあるような環境に慣れすぎており、さすがにキーの数が76から46に激減するとかなりの厳しさを感じます。(もちろん慣れの問題だとは思いますが。)
せめて、親指あたりにもう数キーくらい欲しいところです。
さて、実はkeyball46をよく見てみると、キーマトリクス的には左右それぞれ6*4=24キーの合計48キーに対応できるはずなのに、左右共に1キーずつ不足していることに気づくはずです。
この不足しているキーに対応する接点は、keyball46のオリジナルのファームウエアでは、キーボードの左右を自動で検出するためのジャンパ代わりに利用されています。
ですが、私は自前でファームウエアを書いたので、これらの接点はただ「どこにもつながっていない幻のキー」になっているだけなのです。かなしいですね。
…ということは、ここにスイッチを生やしたらもう1キーずつ手に入れられるのでは?
そう思った私は、3Dプリンタを買うことにしました(論理の飛躍が激しい)
買ったもの
数時間ネットの海をさまよった結果、ELEGOO MARS PRO 2という光造形方式の3DプリンターをAmazonから34999円で購入しました。
また、光造形3Dプリンターは、紫外線を当てると液体から固体に変化するUVレジンというものを使用して物体を出力します。これには通常のレジンと水洗いレジンの2種類が大きく存在し、通常のレジンは印刷後にアルコール系の溶剤で余剰レジンを洗浄する必要があるのですが、水洗いレジンだと水で同じことができるため便利らしいと聞き、SK水洗いレジンという商品を購入しました。これはAmazonで1000mlが6980円]でした。
これだけあれば印刷自体はできるようになりますが、色々作業をするときに下に敷くバットだったり、洗浄時に使うタッパーだったり、掃除につかうペーパータオルとかアルコールティッシュとかも買っておくといいみたいです。他にも、二次硬化という、印刷後の物体を乾燥させた後に、より十分に固化させるために紫外線を当てる手順も場合によっては行われるので、そのための器具が色々販売されていますが、最悪太陽光に当てれば紫外線はタダで手に入りますし、必要になったらそのときに購入すればいいかなと思って、ひとまず私は最初の時点では購入しませんでした。
さらに、マスクやゴム手袋・ビニール手袋などの保護具もそろえておく必要があります。(上記の水洗いレジンはそこまで匂いはきつくないですが、それでもある程度は吸ったり触れたりすると有害なはずですので、忘れずに準備しましょう。)
あとは、使用後のレジンを濾過するための、ろうととか濾紙とか、濾過したレジンを入れるふたつきの容器とかあるといいかもしれないです。(私は一通りやってから必要だと学んだのでポチりました。)
開封からはじめての印刷まで
とりあえず、適当な場所に開封して設置してみた図がこれです。
組み立てる必要のある部分はほんの僅かで、基本的にはレジンを入れるタンクを紫外線を発するスクリーンの上にのせて、印刷物をくっつけて引っ張るプラットフォームを取り付けてあげるだけです。
ただ、この「プラットフォームを取り付ける」というステップが結構重要で、しかも取扱説明書の方法だとうまくやるのが難しいです。
ネットで調べたところ、手順としては
- レジンタンクをスクリーンの上におく
- プラットフォームの角度調整ネジ(六角レンチで回す2ヶ所のやつ)をゆるめる(手で回す固定ネジ自体はこの段階できっちり締めておく)
- プラットフォームをホームポジションに移動するボタンを押して下げる(大まかな向きはこの段階で合わせておく)
- プラットフォームの上下を微調整して、トレイの底≒スクリーンに密着するようにする
- 角度調整ネジを動かない程度にそっと締めて、Z=0をこの位置で設定する
- 少しプラットフォームを上げてから、ネジを本締めする(ネジを締める力でスクリーンが割れないようにするために浮かせている)
みたいな感じで調節するといいみたいです。(要するに、プラットフォームがZ=0にあるときに、スクリーンに接触している必要があるわけです。)
そんなわけで、付属しているUSBメモリをプリンタに挿して、ファイルを選択し(なんと説明書に書いてある拡張子とは違うやつを選ぶ必要があった…モデルのプレビューが表示されるファイルが印刷できるやつです(.ctb
ファイル))、あとは待っていると…
こんな感じで生えてきます。(うまくいっていると、各層の露光が終わってプラットフォームが上がる時に、軽く「ペリペリッ」って音がします。これは、レジンタンクの底から、固化したレジンが剥がれて、プラットフォームの側についている証拠なので、これが聞こえたら成功の望みが高めな気がします。(必要条件でも十分条件でもないですが。))
さらに部屋を片付けつつ2時間37分くらい待つと、こんなかんじで出来上がります。
出来上がった物体はプラットフォームにくっついているので、これを同封されていたヘラで剥がします。
最初、力加減がわからなくて戦々恐々としていたのですが、プラットフォームは金属でできているので、プラットフォームの面を垂直にしてバットなどの上におき、同封されていた金属製のヘラをその面に添わせて印刷物の底を「えいやっ!」って何回か叩くと取れました。(ヘラとプラットフォームが削れてできた汚れが印刷物に若干ついてしまったが、まあ許容範囲でしょう。印刷物は印刷完了直後の段階ですでに結構硬いので、そこまで手加減しなくても大丈夫みたいです。)
あとは適当な大きめの容器に水をいれて、そこに印刷物をいれて余剰レジンを洗い流し、ペーパータオルで拭けば完成です。わーい!
え、クオリティ高いな…すごい…(はじめての3Dプリンター体験) pic.twitter.com/LYSbwTaMoV
— hikalium (@hikalium) 2022年1月4日
あとかたづけ系のTips
印刷後にどう片付ければ/次回の印刷の準備をすればいいのか、いまいち体系的な解説がなかったので、色々調べた結果私がやったことを書いておきます。
- プラットフォームに残っている固化したレジンは金属のヘラで綺麗に除去し、アルコールティッシュなどで汚れをとる
- 固形物が残っていると、プラットフォームが十分に下がらずスクリーンに密着しないので、最初の層がうまく生成されない原因になる
- 印刷に失敗した場合は、固化したレジンがレジンタンクの底のフィルム(つまりスクリーン側)に付着しているので、レジンタンクの底のフィルムやディスプレイを破壊しないように手やプラスチックのヘラでそっと除去する
- プリンターについているクリーニング機能を使うと楽。
- これは、印刷面全体に紫外線を短時間(デフォルト15秒)照射することで、レジンタンクの底にきれいに1層固体化したレジンを生成してくれるので、それを剥がせばOKという機能。
- 底に生成されたレジンの層をはがすために、適当にまあまあ丈夫な紙の切れ端とかを先にレジンタンクの底に触れるように入れてから、クリーニング機能の照射を行い、紙切れをひっぱりだすと、ペリペリと剥がれてくれる(たのしい)
- 他の方法としては、固化したレジンは1層だけでも意外と硬いので、レジンタンクを外して下側から指で押してフィルムを少したわませてあげると、ぺりっと剥がれてくれる。
- ただし、このときレジンタンクの外側にレジンがつかないように気をつけたほうがよい。そうしないと、レジンがスクリーンに付着して、それが次の印刷時に固化して取れなくなってしまう。そうなったらthe endなので、再度レジンタンクを設置する前にアルコールティッシュなどできれいにふいておいたほうがよさそう。
- プリンターについているクリーニング機能を使うと楽。
- 印刷に失敗したりして、固化したレジンが混ざってしまったりしたときや、しばらく(1週間くらい?)印刷しないときは、一旦中身を全部外に出して、ろうとで濾過する。
- 紫外線に当てなければ固化しないので、少しの間使わないくらいならそのまま放置でも大丈夫そう?(未検証)
- 洗浄に使った水は、太陽光に当てるなどしてレジンを固化してから、固形物を濾過して除去し、残りの液は下水に流せばよいみたいです。固形物は燃えないゴミみたい。(レジンの取扱説明をよく読みましょう。)
3Dデータ作成Tips
適当にBlenderでモデルをつくってexportする際にいくつかハマりポイントがあったのでそれについてもメモ。
- 最初にScene propertyのUnit scaleを0.001に設定しておく。こうしておかないと、Blender上と実際の印刷時の縮尺がずれる。逆に言えば、これを設定しておけばBlender内でcmとかの単位でモデリングすれば、それがそのまま出力される。
エクスポート時はSTL形式を選ぶ。スケールはさっき設定したので、デフォルトの1.0で大丈夫。他のプロパティもデフォルトでOK。Apply ModifiersをOnにしておけば、ちゃんとModifierが適用された後のモデルが出力されるので、Blender上でModifierをApplyしておかなくても大丈夫なので便利。Selection Onlyにチェックを入れれば、選択したObjectだけを書き出せるので便利。
Blender上でのマイナスZ方向が、印刷時にプラットフォームに接する側になる。(もちろん、CHITUBOXでも回転はできるので後で修正もできるが、最初から合わせておくと楽。)
サポートをつけて印刷するの、むずかしい。接地面が小さいobjectを印刷するのは難しい。
でも上の図みたいな平面は割と簡単に出せる。Z軸方向に薄いオブジェクトだと印刷もはやい。
- 印刷物をプラットフォームから剥がしやすいように、モデルの接地面側に隙間をつくっておくと楽かも?(test.blendでは角をひとつ隙間があくようにカットしたところ、かなり楽に外せたのでよかった。)
3Dデータをスライスして3Dプリント可能にするCHITUBOXというソフトの注意点
- プリンタのプロファイル設定はちゃんとしましょう(最初忘れててよくわからなくなった)
- ファイル形式もどうやらプロファイル設定に依存して自動で変わるみたい
- とりあえずデフォルト設定でふつうに簡単なモデル(上に示したtest.blendのようなもの)なら印刷できた
- 接地面が小さいと難易度が上がるのでがんばりましょう(サポートを生やすなどの工夫が必要みたいだが私の鍛錬が足りないのでまだ印刷には成功していない)
生成物のクオリティについて
- かなりクオリティは高い。積層痕が全然見えないレベル。サンプルデータのチェスのコマの天面に印刷されている、2mmくらいの大きさの文字もばっちり見えている。
- 使用するレジンにもよるとは思うが、見た目や感触は完全に切り餅みたいな感じ。だが切り餅よりも硬い。(年末年始なのでなおそう見える(なお私は今季まだ一度も餅を食べていない…。))
- 出力された物体はかなり硬い。厚さ6mmもあれば全くしならない。
- 精度もかなり高い。test.blendにはキースイッチがはまる穴をあけたが、ふつうに綺麗にはまって衝撃を受けた。(乾燥や時間が経つにつれて収縮はあるかもしれないが、未確認。)
- ただし、最初の層は他の層にくらべて硬く、さらに多少XY平面方向に太る。各方向に0.1~0.2mmくらい。これは初期層は他の層にくらべて露光時間が長く設定されているためである。
まとめ
もっと早く買えばよかった。みんなも3Dプリンタを買ってあそぼう!