2024年5月29日水曜日

格安3Dプリンタをレーザー加工機に作り変える(③ソフトウェア)

 grblとbCNCを導入する。

■grbl
とりあえず、手持ちのArduino Unoにgrblを入れてみる。
githubの公式に行って、ソース一式をダウンロードし、Arduino IDEにライブラリ追加する。
そして、アップローダのスケッチを選択して流し込み。
Arduinoに慣れていたら難しいことは何もない。
本家か、「自作CNCマシン・レーザーカッターについて」をよく読めば大丈夫なはず。
https://github.com/grbl/grbl/wiki/Compiling-Grbl
https://cnc-selfbuild.blogspot.com/2016/12/grbl11_14.html

バージョンだが、0.9jか1.1がよさそう。
CNCシールドの基板改造が必要になるかもしれないが、なるべく新しいものということで1.1で進めることにする。

■bCNC
pythonに慣れている人ならすぐに導入できる。
pip3でbCNCをインストールして、あとは「python3 -m bCNC」とするだけ。

■接続テスト
ここまでうまくいったら、Arduinoをパソコンに繋いでbCNCを起動する。
grbl 1.1ならbauを115700にする。

これで、H/Wが揃えばパソコンからGコードを送り込み、自由に制御することができるはず。
Gコードの作成などは、後で考える。
以上。

2024年5月28日火曜日

格安3Dプリンタをレーザー加工機に作り変える(②可動部分の用意、実験)

■解体
レーザー加工機を作るために、格安3DプリンタLabists X1を改造する。


元の制御基板と、エクストルーダー周りを取り除いて、X,Y,Z 3軸のステッピングモーターおよびリミットスイッチの配線だけにする。
リミットスイッチはマイナス側のみで、プラス側には存在しない。また付け足してもいいかも。


エクストルーダーを取った後のハウジングはこんな感じ。
金具部分に加熱・押出装置が、反対側のガワにはファンが付いていた。


■ステッピングモーターの動作試験
ステッピングモーターを試しに動かしてみる。

ステッピングモーターの型番を調べてみると、24BYJ48という機種の12V版で、4ピンのもの。バイポーラ型というらしい。
2系統の電磁石を、決まったパターンで励磁→待機→励磁→待機・・・とさせることで、モーターが正確に回転する。

■ステッピングモーターの1-2相励磁制御
1-2相励磁という制御を行うことで、45度ずつの回転を実現する。
簡単に図示すると、こんな感じ。
左と上の電磁石を8パターンで順番に切り替えていくことで、中心の永久磁石を正確な角度で順番に回転させることができる。

■回路
ドライバにはTA8428Kを2つ利用。マイコンはRP2040。
動画で実際に使っているのは市販のPi Picoではなく、東京バードさんの自作基板の記事を参考にガーバーデータを頂き基板を発注して作ったブレークアウト基板。
実体配線図。ICはピン互換の別ICを流用。
本当はVSYSではなく外部電源を使わないとダメ。
また、今回のモーターには12Vが必要。

励磁させるときは、モータードライバの前転/逆転(入力:H/L, L/H)を使う。
励磁無しのときは、今回は入力をL/Lとして、電磁石の両端をハイインピーダンスにした。
もしかすると、入力をH/Hとして電磁石の両端を直結させるブレーキモードのほうが、瞬時に磁場が消えてより高速な動作ができるかもしれない。
今度試してみよう。

■励磁時間を変えての実験結果
励磁してから次のパターンに移るまでの待機時間を変えて、実験してみた。
モーターの音が変わるのが面白い。

350us: "鳴き"は聞こえるが一切動かない。
400us: 下降するが、上昇できない。
500us: 上昇させる秒数が増えると時々回りそこないが発生する。
600us: 500usと同様。
700us: ここまで待たせると安定動作した。

ちなみに、待機秒数と周波数、ドレミの関係はこんな感じ。
us Hz kHz 近い音階
350 0.002857143 2.857142857 ファ6~#ファ6
400 0.0025 2.5 #レ7
500 0.002 2 シ6~ド7
600 0.001666667 1.666666667 #ソ6
700 0.001428571 1.428571429 ファ6~#ファ6
待ち時間が半分になると周波数が2倍になり、音階もオクターブ上がる。

Z軸のモーターに対し5Vを印加したので700usが限界だったが、X,Y軸や12V印加なら全く違う結果になるのだろう。
消費電力とトルク、速度はトレードオフになりそう。


実際にはCNCシールドを使うが、まずはうまく動かせそうなことが確認できてよかった。
以上、続きは大陸から部品が届いてから。

格安3Dプリンタをレーザー加工機に作り変える(①検討、買い物)

■参考リンク
CNCを自作したければ、このサイトを見れば必要な情報はだいたい手に入る。

あとはAliexpressとAmazon、秋月、千石、マルツに加え、近所のホームセンターでモノを集めて、知恵と工夫があれば何とかなるはず。

■背景
電子工作で、今まではリード線やDIPの部品ばかり扱っていたが、最近は表面実装にも手を出している。
蛇の目基板だけでなく生基板を使うこともあり、カッターで銅を削って回路を書いているのだが、細かい回路を正確に書くのが難しくて困っている。
特に、SOPやSOTのICを配置しようとすると、1mm以下の精度で配線しないといけない部分も出てきて、手作業での限界を感じている。
回路が仕上がってからはPCBを外注すればいいが、プロトタイプの間はお金も時間も勿体ないので、できればその場で加工したい。

■検討:基板の作り方
感光基板や、生基板に塗料を塗ってレーザーで塗料を落としてエッチングするという方法もあるようだが、どうせなら銅を焼き切ってそのまま回路を作れないかと考えていた。
薬品や塩化銅の廃液処理が面倒なので。

Youtubeやネットを見て回って色々調査したところ、青色~紫外線の5W程度のレーザーなら、銅も焼き切ることができるようだ。
金属ごとに光の吸収率が全く違うらしい。
CO2レーザーやファイバーレーザーのような、赤系の波長では銅に跳ね返されてしまうらしい。

光の吸収率は、以下リンク中央あたりにわかりやすい図がある。さすがキーエンス。
今回は銅と455nmの組み合わせなので、だいたい吸収率は40%くらい。
5Wレーザーなら2Wで溶断できると考えればいい?のだろうか。

■検討:ハードウェア
・レーザー
Aliexpressを見ていると、5W青色レーザーが6千円くらいでヒット。非常にコスパがよい。

強力なレーザーは失明の危険性があるので、防護メガネも一緒に購入。

・可動部分
昔使っていた、Labists X1という3Dプリンタのガワを流用。
AnkerMake M5Cが来てから一度も動かしておらず、今後も使うことは無いので有効活用する。
1万円台と激安だが肝心の成形が安定せず、調整→失敗の繰り返しで時間とフィラメントが大量に必要だった。
3Dプリンターの勉強にはなったが、何かを作って利用するには不向き。

Youtubeのアカウントは残っているけど、公式Webサイトは無くなっている。
潰れたのかどこかと合併してしまったよう。

・CNC
Arduino向けのCNCシールドというものが安くて事例も多いようなので、これを使う。
V3, V3.51, V4の3つが主に出回っていて、数字が大きいほど新しいソフトウェアが使える。
例えばV3.51以降はマイクロステッピングが有効、等。

この基板はそこら中でクローンされているようで、AmazonやAliexpress、楽天などでも数百円~2千円程度で見つかる。
今回は、V4にArduino NanoクローンもセットになっているものをAliexpressで調達。

■検討:ソフトウェア
grbl+bCNCを利用する。
grblとは、CNCシールドを前提としたArduino向けのCNC向けファームウェアのことらしい。
bCNCをPCで動かすことで、grblを導入したArduinoとシリアル接続し、Gコードを解釈して実際にマシンを制御できるようになるようだ。

CNCシールド、grbl、bCNCのバージョンあわせが必要なよう。
これは実際にCNCシールドが届いてから考える。

次回に続く。