2026年2月8日日曜日

買い物には勢いも必要だったが…

 割と勢い余った感じの2025年末から2026年開けだった。

仕事ではないので何から手を付けるかも適当なのだけれど、整備されないまま放置されている不憫な3Dプリンターを何とかする事を考えた。

フィラメントを買う。テストするのにもフィラメントは必要だ。
カラフルなフィラメントを幾つか買えば、モチベーションも上がるという物だ。
道楽なんだから楽しまないとな。仕事でも楽しむゆとりは重要だ。

で、フィラメンの管理用にジップロックみたいな袋を買った。
真空調理?とかに使うらしい奴。
USBから電気取って空気を抜くポンプと袋が10枚だか20枚だかで3000円ぐらいだったか。

あとシリカゲルも多めに買ってみた。
フィラメントは買ったときにはシリカゲルと一緒にナイロン袋に密封されているが開封後にホウリしておくと数日で湿気を吸いかねない。

で、Amazonで色々漁っていたらフィラメントドライヤーの良さげなのが目に付いた。

Sovol フィラメントドライヤー SH02

だいたい8~9000円ぐらい。ヒーターと扇風機がついたプラ箱にしては、いいお値段だとも言えるが競合製品が軒並み15000円程するのを考えると優れたコスパだと思うので、超多機能みたいな事を望まなければ十分にオススメできると思う。

この箱は小さい穴が空いていて、そこに指したPTFEチューブを通して、フィラメントを供給できる。
100時間ぐらいタイマーで動作させられるので、少し込み入った形状とか出力しても湿気を吸ってトラブルの元になるリスクが減らせる、
先の真空調理?袋と併せてフィラメントの管理には必須級だと思った。

ただし、温度・湿度計の制度が怪しいというか、うちに数個ある湿度計はプラマイ10%程度の差があるような有り様なので、フィラメントの乾燥度合いは目安なり参考値に過ぎない。

とまあ、年末年始にかけて色々と買い込んだのだけど、気が付けば何故か

3Dプリンター

が、増えていた。
これについても色々と思う所はあけど、今更何か書くような事があるとも思えない。

特売の時に買えば良いよね。
ぐらいの事にしておきたい、

6年越しの更新

 すっかり忘れていた。
普通に介護云々とか、それなりに大事ではあるものの「過ぎてしまえばどうでもいい事」に追われてみたり、何だか分からないけど酷く落ち込んでみたりと、ブログを書くような気分になれずにいた。

無理に何かを始めようとか考えるとろくな事にならないとも思ったけれど、そのまま放っておいても仕方ない気がしたので物置と化した作業部屋の整理を兼ねてガラクタを引っ張り出してみようと思った。

でも、引き続き見なかったフリをする可能性もアリ?

2020年3月26日木曜日

ファームウェア更新 - Marlin 2.0.5.1 (未)

2.0.4.4 で割と満足していたので、Marlinの更新もチェックしていなかった。
いつの間にか 2.0.5 を通り越して 2.0.5.1 が出ていたので、コンパイルを試みた。

ヘッダーファイル内で定義されるバージョン番号が1つ繰り上がったのと
シンボル名の変更のみで、コンパイルは通ったが、プリンターへのアップロードするには至っていない。
2.0.4.4 で普通に動いてるように見えるし特に困ってる訳でもないから
あえて急ぐこともないよねー、といういつもの調子。

で、今、Marlinの公式ページ見に行ったら 2.0.5.2 が出てた。

2020年3月11日水曜日

ESP32に手を出す

イマサラ感が半端ないけど、買い置きで積みっぱなしになっていたESP32を消化すべくイロイロ。
大体なんでも忘れてしまうのでメモを残しておく、

今回引っ張り出してきたのは、ESP32が載ったArduinoっぽいワンボード。
aitendo で売ってる → https://www.aitendo.com/product/16899 コレ。
シールドが挿さるけど、電源は3.3Vだし、完全互換って訳でない点に多少の注意が必要。
ArduinoIDEで開発する方法は商品の紹介ページでも説明されているし、他にもググれば、いくらでも(とは言い過ぎだが)出てくるので省略。

MicroPython に関しては http://micropython.org/ から。
日本語のドキュメントも https://micropython-docs-ja.readthedocs.io/ja/latest/index.html に用意されているので、おおよそ、その手順に従うだけで何とかなる。

ESP32に固有の情報は
https://micropython-docs-ja.readthedocs.io/ja/latest/esp32/tutorial/intro.html
急いでいる人は、ここから下を読むのは時間の無駄。

まずはWindows(またはMacなりLinux)側にPythonをインストールしておく。
もう 3系でいいよね?
ボードにはUSBで接続する事になってて、繋げばシリアルポートが追加される。
または、デバイスドライバーのインストールを促される。
そんなのの手順まで逐一書き留めるほど暇でもないので、ここも割愛。
追加されたシリアルポートは COM3 だった。このCOMポートの番号は重要。

PC側のPythonでESP32に書き込むのに、esptool を使う。
これは、普通に? pip でインストールする。
pip install esptool とか何とか。

フラッシュを消去
esptool.py --port com3 erase_flash

ボードに書き込むべきファームウェアは
http://micropython.org/download#esp32
に、ESP32向けにコンパイル済みのものが用意されているので、ありがたくDLさせてもらう。
ESP32の公式開発ツールであるESP-IDFでビルドされているらしいのだけど、 v3.x でビルドしたものとESP-IDF v4.x でビルドしたものの2つの系列が用意されている。
なんだか分からないけど、v3.x系は BLEとLAN、PPP(要はWiFi?)をサポートしているのに対して、v4.x系ではBLEのみのサポートという事になっている模様。
欲張りなので、v3.x系を選ぶ事にした。
2020/03/10 時点で、最新の安定版は esp32-idf3-20191220-v1.12.bin らしい。

ファームウェアの書き込み
esptool.py --chip esp32 --port com3 write_flash -z 0x1000 書き込むファームウェアのファイル名

ターミナルを準備する。日本だとTERA TERMとかがメジャーなんだろうけど、ここは uPyCraftを使う。
COMポートとボーレートを設定する。

こんな感じで MicroPythonを使う準備ができたので、そこから先はチュートリアルに任せる

2020年2月29日土曜日

ファームウェア更新 - Marlin 2.0.4.4

Marlin 2.0.4.4 がリリースされていたのでアップデートしてみた。
2.0.4.3 で、自動キャリブレーションが失敗するのを、DELTA_HEIGHT の設定値を変更することで回避したが、それに関連すると思われる M33 周りになんか修正が入っているようだ。

が、DELTA_HEIGHT の値が適切なら自動キャリブレーションも動いてしまっていたので、今回も同じ設定でコンパイルして、そのまま普通に動いているように見える。
気付いてないだけで他にも何かバグってたりしたのかも知れないけど、気付かないバグはバグじゃないから、今日のところはコレでヨシとする。

2020年2月27日木曜日

ファームウェア更新 - Marlin 2.0.4.3

Marlin-bugfix-2.0.x.zip を試してみたが挙動が変で、どうしたものか悩んでいるうちに時間が経って、いつの間にやら 2.0.4.3 がリリースされていたので、そちらを試してみる事にした。

コンフィグレーションファイル も、Configrations-release-2.0.4.zip をダウンロード/展開して
config/examples/delta/Anycubic/Kossel にある
Configration.h と Configration_adv.h を使用する。

Configration.h で書き換えたのは、以下の3行分
#define ANYCUBIC_KOSSEL_PLUS
#define ANYCUBIC_PROBE_VERSION 2
#define ANYCUBIC_KOSSEL_ENABLE_BED 2

これをコンパイルして書き込んでも、自動キャリブレーションには失敗したので
さらに、1行変更した。

#define DELTA_HEIGHT 280.00             // (mm) Get this value from G33 auto calibrate

必要なら
#define DEBUG_LEVELING_FEATURE でデバッグ情報を表示可能にする
 実際に表示させるには  'M111 S32'. を発行する必要がある

まあ、今回の肝は DELTA_HEIGHT の値が正しくない事なので、非があるとすれば Anycubic がマニュアルやカタログに記載している公称値が、そもそも間違っている事にある。

とりあえず、これで自動キャリブレーションまでは動作した。

2020年2月10日月曜日

ファームウェア更新 - Marlin 2.0.3

Marlin がバージョンアップしてたので、ちょっと作業。

Configuration_adv.h が結構変更されてるので、元となった 2.0.0 から引き継ぐよりも、変更点だけ洗い出して書き換えることにした。

Configuration.h は、それほど変更すべき点は無さそうなので、追加された項目について数カ所変更した。

ホームポイントへの移動の時点で何かおかしい。
奥と手前右のキャリッジはストップスイッチの所まで上がるが
左のキャリッジは動いていない。
そのまま、少し下げてパーキングするのだけど、その際には左のキャリッジも下がる。
設定のミスだろうけど、どこで何を間違うとこうなるのか…。

で、ググってみたら
https://github.com/MarlinFirmware/Marlin/issues/16736
が見つかった。

TriGorilla に固有の問題?

bugfix-2.0.x ブランチで対策されたら、Isuueをクローズして、という書き込みのあとに、報告者がクローズにしているので、対策されたのだろう。

結局、bugfix ブランチを追いかける事になるのか…。

2020年1月17日金曜日

RepRap Snappy

久しぶりに RepRap のサイト を見に行った。

このブログは個人的なメモ用なので、あまり説明らしい説明をするつもりはないのだけれど、RepRap を知らない人もいるかも知れないので、一応、私の知る範囲での説明を試みるが、伝わるかどうか…。

現在の3Dプリンタ関連の技術は、何年だか前に期限が切れた特許技術を利用している。
その際に、技術的な情報を集約し公開し、普及の弾みを付けたのが、reprap.org だ。
個人で購入しやすい低価格帯の3Dプリンタは多かれ少なかれ、reprap の恩恵を受けている。

ハードウェアもソフトウェアも公開されたので、小規模なメーカーあるいは個人が、こぞってキット化した。
初期の設計では、何もない所から3Dプリンタを作る必要があったので、フレームにずん切りネジ(アタマのないボルト)とナットの組み合わせで、締め込み加減で寸法を微調整できるような構造になっていた。
まあ、見た目は、なんというか…アレな感じで、あんまり褒められたものでは無いけれど、ちょっとした金物屋で買える材料を、さほど精密な加工をせずに用意できる、というのは画期的だと思った。
金切りノコとドリル、スパナとドライバーぐらいがあれば形にはなる。
どのみち、ステッピングモーターと制御用のマイコンボードは、普通の金物屋では滅多にお目にかかれないとは思うので、そこで通販とか使うなら…みたいな事を言ってはいけない。
ステッピングモーターはジャンクのプリンターとかスキャナーから取り出すとか、先人達は色々と苦労したようで頭が下がる。

昔話は、このぐらいにして、現状どうなっているか?っていうと




こんな感じでフレームも送りネジも3Dプリンタで作ってしまう方向に振っている模様。
テーブル下のラック&ピニオンの摩耗が激しそうで気になるもののZ軸はそれほど激しく振らないから、これはこれでアリなのかも知れない。

否定的な事を言えば、なんでもかんでも3Dプリントするよりも、金型を起こして量産する方が価格は下げられるし、これを作る、という事は、すでに3Dプリンタを所有していて、それなりの精度で出力できる環境がある、という事だから、2台目以降にコレを作りたい人がどの位居るのか?って話ではある。

私は酔狂なので、一回ぐらいは試してみたいと思っている。

2020年1月10日金曜日

ファームウェア更新 - Marlin 2.0.1

リリースノートをみると、あちこち変更が加わっているようだけど、コンパイル手順などに変更はない模様。
サクッとビルドして、SDメモリカードからのアップデートを試してみたい。

Configration_adv.h でシンボル名が変更されてるのに合わせて書き換えないとコンパイルエラーが出る。

FILAMENT_UNLOAD_RETRACT_LENGTH が
FILAMENT_UNLOAD_PURGE_RETRACT に

FILAMENT_UNLOAD_DELAY が
FILAMENT_UNLOAD_PURGE_DELAY  に

それぞれ変更された。
名前から推測するに、フィラメントを引き戻すときの引き戻し量と、その後のちょっとした待ち時間のための定数の定義だと思う。

場合(機種?)によってはコメントアウトされていて変更不要かもしれないし、別のケースでは、もっと他にも書き換えるべき所があるのかもしれないけど、私の手元の Anycubic Kossel Linear Plus では、この2つを定義してあるのが引っ掛かった。

まあ、コンパイル時のエラーメッセージで「これを修正しなさい」みたいな親切な指示が出てたので、それに従って修正するだけでビルドは通った。
もう、修正箇所まで分かってるんなら自動で修正してくれればイイのに、ぐらいの事は思った。

感謝が足りないね。

2019年12月24日火曜日

OctoPrint-Slic3r プラグイン

OctoPrint に STLファイルを食わせて、gcode を吐かせるプラグイン。
もうちょっとだけ正確に言えば、スライサーである Slic3r へのフロントエンドというか、Web-UI のLauncher か?

プラグイン自体は、他のOctoPrint の、プラグインと同様にプラグインマネージャからインストールできる。
けど、肝心の Slic3r は自動ではインストールされないし、コンパイル済みのバイナリ配布とかも無さそうなので、自力でナントカしないといけない。

一応、OctoPrint-Slic3r の詳解ページ に、ビルド支援のシェルスクリプトが載っているのだけど、コレだと上手く動作しなくて困ったので、ここにメモを残しておく。

ズッコケる理由は主に3つ。(もっと他にもあるかも?)
  1)メモリが足りない
  2)gtkが古い
  3)コンパイラの指定が古い

とりあえず、RAM不足はスワップ大盛りにして誤魔化すしかない。
最初に root権限で
/etc/dphys-swapfile
を開いて
set CONF_SWAPSIZE=100
みたいな行を探す。
100 Mバイトとか全然足りてないので、一気に2048Mバイトまで増やすので
set CONF_SWAPSIZE=2048
に書き換える。
書き換えたら、reboot して free -h してホントに増えてるか確認する。
OctoPi にインストールを試みた訳だけど、Raspbian もどんどんバージョンが上がってるから、色々と新しくなってて、シェルスクリプトで指定されるパッケージがいくつか無くなってたりする。

次はコンパイラとかgtkの問題に対処する。
gcc-4.7 とかが、正にそれで、4.9ならあるから、それで賄う、みたいな泥縄な感じの対応で凌ぎたい。
gtk も2系がダメなら3系を使えばいいじゃないの作戦で…。

色々と試行錯誤したので、クチャクチャになってるけど
install.sh
SLIC3R_REPO="https://github.com/alexrj/Slic3r.git"
SLIC3R_VERSION="1.3.0"
SLIC3R_DIR=~/Slic3r
# sudo apt-get install build-essential gcc-4.7 g++-4.7
# sudo apt install -y libgtk2.0-dev libwxgtk2.8-dev
sudo apt install -y build-essential  gcc-4.9 g++-4.9
sudo apt install -y git git-core
sudo apt install -y libboost-all-dev libboost-geometry-utils-perl libboost-system-dev libboost-thread-dev
sudo apt install -y libwxgtk3.0-dev libgtk-3-dev libcurl4-openssl-dev
sudo apt install -y libwx-perl libmodule-build-perl libnet-dbus-perl libextutils-cbuilder-perl libperl-dev libextutils-cppguess-perl libeigen3-dev libglew-dev libglewmx-dev cpanminus
sudo cpan ExtUtils::CBuilder ExtUtils::CppGuess Alien::wxWidgets CPAN::Mini  ExtUtils::XSpp::Cmd  ExtUtils::Typemaps::Basic
sudo cpanm AAR/Boost-Geometry-Utils-0.06.tar.gz Math::Clipper Math::ConvexHull Math::ConvexHull::MonotoneChain Math::Geometry::Voronoi Math::PlanePath Moo IO::Scalar Class::XSAccessor Growl::GNTP XML::SAX::ExpatXS PAR::Packer
echo "Cloning Slic3r repository..."
git clone $SLIC3R_REPO
cd $SLIC3R_DIR
git checkout $SLIC3R_VERSION
echo "Building and testing Scli3r..."
sudo perl Build.PL
echo "If everything was installed properly,you should be able to run Slic3r with the command ./slic3r.pl"
ぐらいの感じでインストール出来たりしないだろうか?
うちでは、こんな感じで、なんとなくインストールできたよ、事例ってことで…。

あとは、OctoPrint のプラグインの設定に戻って、OctoPrint-Slic3r が使用する Slic3r の在り処を教えておけば、STLファイルをアップロードした時に
「ねぇ?スライスする?するよね?スライス!しないの??」みたいな感じのダイアログボックスが開いて、スライス出来るようになるみたいだが、私の環境には
スライス用のプロファイルが1個も無いのでテスト出来ていない。

お粗末様でした。









ファームウェア更新 - Marlin 2.0.0

Anycubic Kossel Linear Plus のファームウェアを更新した。

http://www.lpomykal.cz/3d-printers/kossel/kossel-marlin-firmware/
から、Marlin 2.0.0 を DL する。

ZIPを解いて、ino ファイルをコンパイルして書き込めば作業は完了。
の、ハズだったが
#define DELTA_PRINTABLE_RADIUS 130.0  // (mm)
って設定されてて、これだと造形エリアの直径が260mmになってしまう。
うちのKLPは、テーブルが240mmだから、ここの値は最大でも 120
余裕をみて 115 よりは小さめに収まってないと色々と拙い気がする。

あとは、ino ファイルをコンパイルして、ボードにアップロードするだけ。
KLPのコントローラ は、Arduino Mega 2560 + Ramps 1.4 相当って事になってるので、ボードの選択を間違えないことと、USBシリアル変換チップのドライバーが入っていれば、後は大して気にかけるべきことも無いと思う。

とりあえず、ファームウェアをアップロードして、一度 EEPROMをクリアした。

その後
http://www.lpomykal.cz/3d-printers/kossel/kossel-bed-calibration-marlin-fw/
に従って、ヘッドの移動に関する調整と
http://www.lpomykal.cz/3d-printers/kossel/kossel-pid-calibration/
に従って、ヘッドの温度制御に関する調整を行った。

以前、愚痴ったパラメーター調整の際のロータリーエンコーダの回転方向と値の増減の関係や、1クリックで4ステップの入力になってしまう問題が改善されているし、ヘッドの移動の最小値が以前の0.1mmステップから、0.025mmステップになっていて、設定を追い込める感じになっているので、これだけでも更新する価値は十分にあると思った。

2019年12月18日水曜日

Anycubic Kossel Linear Plus だった

Anycubic Kossel Plus って書いてしまってたのだけど、肝心なのは リニアガイドが使われてる、ってとこで、私が持ってるヤツは
Anycubic Kossel Linear Plus
と表記するのが正解らしい。
正解かどうかというよりは、正確だったり混乱する要素が少ないとか、紛れがない、というべきかも知れない。
もう今までの記事を掘り返して訂正するのも面倒なんで
「今後は気を付けます」
ぐらいで勘弁してください。

一応、蛇足とわかりつつ説明を加えると、リニアガイドのモデルの前にプーリーと称するゴム?のタイヤみたいなのを2020フレームの溝に沿わせて走らせるタイプのモデルが存在したので、区分としては、プーリーとリニアガイドに大別されて、造形ステージというかテーブルにヒーターが仕込まれてるかとか、テーブル(デルタなので丸型)の直径が何㎜かとかで、プラスとか無印とかに分かれるみたい。

買ったときは、そんな事気にしてなかったよ…。

で、ここからが本題。

Anycubic Kossel Linear Plus に関する、いくつかのリンク

Anycubic Kossel wiki
  Anycubic Kossel Linear Plus のエライ人 Lukas Pomikal さんのWebページ
  ここから
  Marlin 2.0 へのアップグレード
  とか
  ベッドのレベリング
  とか
  PID制御の補正
  とかの、とてもとても有用な情報に辿り着ける。

知ってる人には、「いまさら?」かもしれないけどね…。

以下は Thingiverse へのリンク

Kossel Marlin 2.0.0 - the newest firmware
  上で紹介した  Lukas Pomikal さんが Thingiverse にポストした
  Marlin 2.0 のページ
  同じものみたいだけど、一応…。

The most efficient Anycubic Kossel cooler
  成果物を冷やすノズルのアップグレード版
  標準のノズルはネジ4本で固定されている。
  ホットエンドのヒートシンクと、ノズルが干渉するので、ノズルを外さないとホットエンドが引き抜けない。
  このノズルはネジ2本で固定するように変更されている上に、ヒートシンクとの干渉が無いので、ホットエンドへのアクセスが容易になるメリットがある。
  もちろん、冷却性能の向上も期待できる。らしい。
  円形というか完全な環状のノズルでは見た目に反して冷却性能の向上には寄与しないか、または、冷却効率が下がるとされている。
  アルファベットの C の形になっているので、ベッドのレベリングに使用する
  Zプローブの脱着にも支障がない、と良いことづくめのようだ。

Anycubic Linear Plus Cura Profile
  Cura で使用するプロファイル
  他のスライサーでも参考にできるハズ。

Kossel Linear Delta Plus Corner Support
  ステッピングモーターのマウントの上に盛大に空いている穴のカバー
  兼
  柱どうしを繋ぎ留めて強度を増す
  一石二鳥のパーツ。
  とは言っても、今までのところ、強度が不足してると思った/感じた事はない。
  オサレパーツとかキヤスメパーツの類かも知れないし、もしかして、ヘッドの移動速度をゴリゴリに上げるために必要だったりするのかも知れない。
  少なくとも、ゴミの侵入をいくらかでも防ぐ効果は見込めそうではある。

Kossel Plus Frame 2020 Top Reinforcement
  前出のパーツが柱の根本に取り付けるものだったのに対して
  こちらは、柱の上の方に取り付けて、強度を(以下略
  上側のセクションの方が、ネジ留めの箇所が少ないので
  撚れ防止には、こちらの方が有用かも知れない、とも思うものの、撚れてる実感がないので効果が不明なのは同じ。

Anycubic Kossel Linear Plus carriage tensioner
  ベルトのテンションを調整可能にするキャリッジのアップグレード版
  柱の天辺に取り透けるプーリーの位置を調整するタイプよりもスマートな気がする。

Top and Footer Cap for AnyCubic Delta Linear Plus
  蓋
  柱のてっぺんに空いてる穴を隠す蓋
  あるいは
  柱の底に敷く足
  でも、足にするならクッション材とか滑り止めを張り付ける必要がありそう。

Anycubic Kossel E3D v6 hotend assembly
  文字通り、E3D の v6 ホットエンドを取り付けるためのパーツ
  v6は標準の v5 Jヘッド よりも短いので、スペーサーで調整したり
  マウント方法を変更する必要がある。
  エフェクターを変更すると、Zプローブが使えなくなる弊害があるが
  これは、エフェクターを標準のまま変更しないので、そういう問題が無い。
  v6で大型化されたヒートブロックも、利用できる模様。

  今のところ、v6ヘッドに変更する予定はないが、標準のマウント方式よりも
  このマウントの方がメンテナンス性が良さそうに思えるので一考の余地あり?

AnyCubic Kossel Linear Plus E3D V6 Mount
  上記のv6ヘッドマウント同様、標準エフェクター流用の別解
  見た目の印象が少し違う程度の差しか感じられない。
  冷却用のブロアファンを大型化する例が含まれているので参考までに…。

Anycubic Kossel basic effector
  標準のエフェクターと同じ形のモデルデータ
  カスタマイズのベースとして、あるいは鉄製の標準エフェクターの軽量化部品として。
  製作者は。プーリーエディションのエフェクターから採寸したので、リニアで使えるかどうかは分からない、としている。
  リニア向けと思われるタグも付けられているし、使えない、というコメントも付いていないので使える可能性はある。
  と、思いたい。

2019年12月15日日曜日

構造材、または、角材で「ウルァアァアアッッ!!」

 いきなり、アフィリエイトリンクで申し訳ないしカッコ悪いんだけども
中華キットものも意外と規格化されていて

こういう感じのアルミの角材みたいなのの組み合わせで出来ている事が多い。
手元にある3DプリンタもCNCミリングマシンも、以前使っていた借り物の直交式の3Dプリンタも、この手の構造材を使ってた。
これは、20mm角だけど、30mm角とか40㎜角のもある。
もちろん、太くなれば頑丈になるし、重くなるし、お高くもなる。

ここで紹介してるのは、Amazonで多分中華なお店の中華な材料だけど、確かモノタロウ?だと、国産の材料を好きな長さにカットして売ってくれてた気がする。
メーカーの直販サイトでも切り売りがあったかも知れない。
とても便利だけど、お値段も跳ね上がる。

あと、これを並べて連結したようなのもあって

こんな感じに板状になってる。
これは、4本分を束ねた2080だけど、2本分の2040とかもある。
多分、3本分の2060もあると思う。

で、このちょいとイカした角材を
こういうブラケットで固定する。

この手のブラケットの裏側に入れるナットの代わりに

 こういうのを挟み込むと、矩が出しやすいかもしれない。

あと、3Dプリンタがあるなら、ブラケットはプリントした方が良い場合もあるかと思う。
Corner Brackets For System20 2020 / 2040 Extrusion
だとか
T Slot Extrusion 2020 corner
なんかを、そのまま使うもよし、強度を増すようにアレンジして使うもよし。

という、分かりやすいが調べるとなると、ちょっとした手間がかかる事をメモ代わりにポストしてみました的エントリで御座いました。

貧乏人なので、こんなお高い材料ではなくホムセンで角材買ってきて、ノコとクギで解決したい所ではあるんですけど、反ったり捻じれたりしてない材を探すのは結構大変だし、切り貼りしてると思いのほか高くなったりするので、ここにお金をかけるのはアリだと思います。
レゴブロックみたく組んでバラシて組み直して無限に遊べますよ。

捨て板を調達しないと

CNC3018の加工テーブルに乗せる板を調達したい。

テーブルと同寸で厚みは10mmもあれば十分?
四隅に穴をあけてテーブルにネジ留めする。

捨て板にグリッドを描く/罫書く、または、彫り込んで作業ガイドにする。
貫通穴を掘って、裏面に爪付きナットを埋め込んで、クランプベースにしたい。

あと、ちっちゃいクイッククランプバイスも欲しい。

が、手持ちの定規よりも正確な定規を用意するのが先だな。
今はホームセンターで買ったノギスで0.1mmまでは読めるけど、0.01mmのデジタルノギスが欲しい。

2019年12月14日土曜日

OctoPrint / OctoPi

基本的にはGコードを送るためのソフト

ネットワーク越しに、Webブラウザから操作する。
単なるSender/Controllerではなく、USBカメラを使用して遠隔監視する機能なども追加されている。
プラグインをインストールして機能を追加することも出来る。

3Dプリンタで使用することを意図して開発されているが、プラグインでGRBLにも対応する。
Windows / MacOS / Linux に対応している。
RaspberryPiでも動作可能なので、PCを常時起動しておく必要がなくなるなどのメリットがある。



インストールに関して難しい事は「何もない」はず。
普通に Raspberry に OSをインストールするだけの簡単なお仕事です。
分からなければ、ググればスクショ付きで丁寧に解説されているWebページなりBlogなりが見つかるはず。
多少の英語を苦にしないのなら、公式サイトの説明に従えば良い。


RaspberryPi向けにOS丸ごとパッケージ化したものがOctoPi。

詳細は公式サイト ↓ で…。

プラグインリポジトリ
  https://plugins.octoprint.org/

Webcam Tab
  ウェブカメラの映像を独立したタブに表示させるプラグイン。
  私は一番最初に、このプラグインをインストールしたけど、ぶっちゃけ不要だった。
  このプラグインはコントロール画面からカメラ映像を切り離してしまうので、映像を見ながらヘッドを動かす事が出来なくなってしまう。
  まあ、カメラ映像を頼りに遠隔でヘッドを動かす、なんて機会は滅多にないとは思うけど…。

  後述するダッシュボードを追加すればカメラ映像と出力状況を同時に表示してくれる。

Multicam
  複数のカメラを取り扱えるようにするプラグイン。
  普通に2台めのUSBカメラを繋げばいいのかと思いきや、カメラのストリームを追加する事になるので、ストリームサーバーを持ったカメラのサポートツールが必要になる。
  motion とか、インストールしておけばおkなんだけど、motion の説明が大変なので、見なかった事にして下さい。



  カメラ/ストリーム とにかく映像ソースを追加すると、コントロール画面に切り替えボタンが追加される。
  つまり、2台以上のカメラ映像を同時に表示する事はできない。
  あと、この Multicam と 上述の Webcam Tab は相性が良くないというか、タブ表示は1台めのカメラ映像しか表示してくれないので、実質的に併用不可なので注意が必要。
  OctoPrint-Dashboard プラグインで、ダッシュボードにカメラ映像を追加する場合も2台め以降は無視されて、1台めのカメラ映像が自動的に採用される、
  やや残念な点もあるけど、これはこれでアリかも知れない。
  実用性はともかく、試してみると面白いとは思う。

OctoPrint-Dashboard
  現在のプリンターの状態をザックリと表示するページを追加してくれるプラグイン。
  ザックリと、というと聞こえが悪いので、一覧性が高い簡潔な表示、という事にしよう。


  このプラグインは DisplayLayerProgress という別のプラグインに依存しているので、そちらもインストールする必要がある。
  プラグインマネージャーは依存関係を自動的に解決してくれたりしないようだ。

Resource Monitor
  OctoPrint サーバーとなっているホストのリソースを表示するプラグイン。
  ディスクの使用量など、一部の情報は OctoPrint-Dashboard でダッシュボードに表示出来るし、出力中はリソースの変動状況よりもカメラ映像を見る事が多いので、思ったよりも出番が無い可哀想なプラグインでもある。
  正直、無ければ無いで、そんなに困らないと思う。




以下は、気になってるけどインストールしていないプラグイン。

OctoPrint-Enclosure
  GPIOにセンサーを接続して監視するプラグイン。
  これも IFTTT 対応らしいので、OctoPrint-IFTTT よりも、こちらを選ぶべき?

  https://plugins.octoprint.org/plugins/enclosure/

OctoPrint-IFTTT
  出力の終了時などに IFTTT をトリガーするプラグイン。

OctoPrint-Slic3r
  スライサー関係のプラグインもいくつかあるみたいだけど、良くわかっていないので要調査。

  非力なRaspberryPiでスライスするのもどうか、とか色々と思うところはあるが、プリンターに食わせるデータを集約する事には、相応に意味があると考えている。
  出力される成果物の品質は、スライス設定に大きく影響されるので、元の形状データとスライスの設定を併せて管理したい。



The system OctoPrint is running on is currently throttled. Due to that it's not possible to install new plugins in order to avoid possible issues caused by system instability.
とか出てプラグインがインストール出来なかったり、システムのアップデートが出来なくなる場合の対処

間違っていたので訂正(2019/12/23)
監視を止めてしまう事で、プラグインのインストールを抑止する仕掛けも動かなくなる(但し、これによって生じる不具合もある)だろうと考えていて、一時的に問題がなくなったと思ってたら、いつの間にか再現していた。

ちゃんと、根本から解決しないとダメだ。

電源の容量不足かCPUの加熱によって、システムが制限状態になっている、という事なのだけど、Webブラウザで見ると 雷のマーク(⚡みたいなの)が出ていたので、原因は電源の問題らしい。

容量は足りているはずなので、USBケーブルを 2A対応 ってのに換えてみたら、落ち着いた模様。
5V 4A のACアダプタでも、⚡が出たという話もあったので、USBケーブルの選定は意外と大事なのかも知れない。
因みに、私が使用したのは100均のケーブルなんだけど、いつ、何処で買ったものか分からない。
多分、一番近くにある、セリアだかミーツだかで買ったもののような気がする。
問題があったケーブルは、ダイソーで大昔に買ったやつで、USBケーブルに500mA以上流すという発送はなかった時代の商品だったと思う。

当たり前の話だけど電源は大事だ。

スパナマークのアイコンをクリックして設定画面を開く



This will regularly check with the Pi if something is amiss either with power regulation or CPU/GPU temperature.

のチェックを外す


そして再起動
というか、この手順は後で編集して別エントリにしておいた方が良さそうだねぇ。

とりあえず、おしまい。

2019年11月21日木曜日

Anycubic Kossel Plus ホットエンド交換

実は購入して間もないころにヒーターカートリッジが壊れたことがあって、その時にホットエンドのアセンブリを2セット買っていた。

ヒーターは抜けたけど、サーミスタが抜けなくて、ヒーターを固定していたイモネジもバカになっていて新しいヒーターを固定出来そうになかったので、丸ごと交換を試みた訳だけど、色気を出して「使える部品は極力再利用する!」とか思ってたら、今度はスロートで詰まりましたよ?的な事になってて、修理する気力が湧かないと言うか「毎日使うもんでもないし、次に使う時でいいか」という先送りの結果。

なんというか2セット買った内の1.5セット分使った感じで、今度はアセンブリではなくて、ノズル単体とかで補充した方が良いのかもしれない。

まあ、ホットエンドは5個ぐらい持っておいて、フィラメントごとに使い分ける、みたいな、お大尽方式もアリな気がするけど、Anycubic の Kossel Plus はホットエンドの交換が地味に面倒なので、真のお大尽はフィラメントごとにプリンタを丸っと用意するのだと思った。

お金欲しいね。

2019年11月8日金曜日

CNC 3018 X軸もトラブルシューティング

 組み上げた時のチェック不足

ヘッドを右に動かしていくと、残り1/4ぐらいの所で動かなくなる症状が出た。
手で回そうにも、がっちり固定されてるような感触。
「あー、こりゃ脱調する訳だ」って納得。
モーターが相当頑張ったみたいで、右にも左にも動きにくい所に入り込んでしまった感じ。
送りネジの取り付け前に、スライドシャフトの調整の時点では問題なかったので、送りネジを取り付ける際に、モーター寄りの方で並行が出ていないのだと思った。

対策は簡単で、モーターを固定しているブラケットを緩めて、ヘッドを右に寄せてから締め直すだけ。
組む時に左も右もいっぱいに寄せてから固定していれば、こんな事にはならない。
多分、送りネジを手で回すのが面倒で「後で」って思って、それっきり、なパターン。

ダメ人間め!

2019年11月7日木曜日

3DプリントとCNCミリング

3D造形の基本についてメモ

Woodpecker CNC 3018 の調整について考えていて、自分が何も知らない事に気が付いた。
いや、自分が物を知らないという自覚は子供の頃からあるのだけど、単に物を知らないのではなくて、物事に対する理解が浅いというか、見て、知ってはいても、本質に届いていない感じがする。
というよりも明らかに届いてない。

見て、聞いて、試してみても、その先の考察が足りないのが主な原因だと思う。

話が大幅に横道に反れたけど、このブログで取り扱っているテーマについて、少しは掘り下げる努力をしてみたい。
誰かの役に立つかどうか?は問題ではなくて、自分自身を理解を深めるための作業として…。
自分自身の役に立つかどうかも、あまり気にしてはいない。
損得勘定で自分の行動を決めると、大抵のことは無為だったりする事も経験的に知っているから、そうしたくはない。

で、ここからが本題。

現状、私の手元にある機械で、3D造形に使えるのが、3DプリンターとCNCミリングマシンの2つ。
世の中には他にも色々と便利な物があるし、私が知らない機械とか技術とかもあるだろうし、これからも増えていくだろう。
けど、2019年の時点でポピュラーなのは、この2つだと思う。
3Dプリンターは大まかに2つに分けられる。
ここで取り扱うのは、FDMとか略される、溶かしたプラスチックを押し出して積み上げていくタイプのやつ。
FDMでも、いくつかの種類があるけど、いわゆる直交型とか呼ばれるヤツが主流派だと思う。
ちなみに、ここで取り扱ってるのはデルタ型で、直交型とは少しだけ違うけど、使い方には大した違いはない。(というのは乱暴すぎる?)

で、結論を先にいうと、この2つの機械は、本質的には同じ物だ。
3軸の加工機として、何らかの道具をXYZの各軸について、正確な位置に運ぶ。
3Dプリンタは溶かした樹脂を吐くノズルを動かして、造形テーブルの上にニルニル積んでいく。
CNCミリングマシンは、ドリルみたいな回転する刃物を、テーブルに固定された材料に押し当てて、ギョリギョリ削っていく。

そう、積み上げるか削るのか、道具で「足す」のか「引く」のか、の差しかない。
もちろん、フィラメントを押し出して、木材とか金属とかを削ることは出来ないし、逆に、刃物を振り回して何もない空間に何かを形成することも出来ないので、そういう意味で言えば2つの機械は決定的に違う。
それでも、「足す」か「引く」かの違いであって、どこをどのように加工するか、という指示で動いているという点は共通している。

では、得られる結果が全く同じになるか?というと、そこは全く違う。
CNCミリングマシンでは、中が空の物体を作ることは不可能で、中空に限らず、元々の材料を削るための刃物が通る場所のない形状を削り出す事は出来ない。
3Dプリンターはミリングマシンより、いくらか自由度が高いが、こちらも全くの空中に造形するとか、思いっきり細長い物体なんかは苦手だ。

どちらの場合でも、出力したい形状を指定する所は共通している。
立体の形状をPC内で表現するために何らかのモデリングツールを使用する。
広い意味では、CADと呼ばれるツールがそれで、DXFとかSTLとかの形式でデータを受け渡す。
モデリングして得られたデータを、プリンタなりミリングマシンに渡す形式に変換する。
ちなみに、3DプリンタとかCNCミリングマシンには、Gコードと呼ばれる形式のデータを渡すことになる。

この変換が肝で、ここで、積み上げるのか、削るのかが決まる。
もう少し正確に言うと、どちらに適したツールを選ぶのが先で、大抵の場合は何を作りたいかで、データを作るツールが半ば自動的に決まってしまう。
ツールにも色々あるけれど、全部を使うことは出来ない。
無料のものもあれば恐ろしく高価なのもあるし、使い易さとか好みとかも加味すると、自ずと使えるツールは絞り込まれる。

んー、ちょっと、話が見えにくくなってきた気がする。
整理すると
  1)形状を作る
  2)形状をGコードに変換する
  3)機械にGコードを送り込んで加工する
という、3つのステップに分かることが出来るだろう。
それぞれ、単体/単機能のツールもある。
1と2がくっついているもの。
2と3がくっついているもの(この場合は3が主体)。
1と2と3の全部入りってのもある。

WebサイトでもBlogでも、色々なツールが紹介されていて、多機能なものになるほど、上記の3つの境界が曖昧になっていたり、「そんなの常識だから」説明が省略されていたりすることも少なくない。

そこら辺についても、今後も機会があればメモを追加していこうと思う。
とりあえず、今回のエントリのまとめは

「盛る」のと「削る」のの差があるので、ツール(プログラム)は使い分けよう。
という一点。

長々書いて、たったこれだけ。
書き手のセンスのなさが丸出しだね。
落胆しつつ、今回はここまで。

2019年11月6日水曜日

Woodpecker って

CNCそのものの名前ではなくて、コントローラーの名前なの?
3Dプリンターで言うところの、LAMPSとか、そんな感じ??

つか、うちに来た中華CNCキットは、基板とか微妙に違ってるから、Woodpecker のパチモンだったりするのかな?

元々は、Arduino + A4988モータードライバーシールド だった所に GRBL がデファクトスタンダード化して、CNCシールドは GRBLシールドになった?
GRBLシールドの亜種として、A4988モジュールが載る基板に Arduino 相当の機能も押し込んだり、Arduino Nano (または互換機)をモジュールとして搭載する製品が出てきて、そのコピー品が出回るようになった。

亜種から、さらに派生して多様な商品が売られてはいるものの、ソフトウェア的には Uno 相当の AVR Mega328 で、A4988 を制御する、という辺りで互換性が保たれているように見える。

ただ、今回、テストにあたって、GRBLControl の他に試してみた Candle だと何故か動かなかったりした。
Y軸の問題解決が優先だったので、PCサイドのソフトを追うのは後回しにしたが、ぶっちゃけ、シリアルポートに向かってGコードをえっちらおっちら投げるだけの作業が何故できないのかが不明。
まあ、その辺は後で時間を取って調べる事にして、とりあえずは、SVGのデータとか作って、G-Codeを生成させて、カマボコ板かなんか彫ってみるとこまで進みたい。

CNCシールドは V3.0 以前と V3.1 以降では、少し仕様が異なっている。
V3.0以前だと、スピンドルを単純にON/OFFするだけだったが、V3.1以降だと PWM制御でスピンドルの回転数を調節可能になった。
うちに来た中華CNCは、スピンドルの回転数調整が出来ている感じなので、V3.1互換なんだろう。

CNC 3018 Y軸のトラブルシューティング

問題はY軸(テーブル)が一方向にしか進められない事。
PC画面のボタンで、手前への移動を指示しようが奥への移動を支持しようが、実際のテーブルの動きは、手前か奥かの一方通行で方向が逆転することはない。

確か、ArduinoからA4988への結線で、DIRとSTEPという信号線があって、今回の場合、DIRがLだかHだかに固定されてしまっていて、反転できなくなっているのではないかと推測してみる。

X軸のA4988モジュールを引っこ抜いて、Y軸のとこに挿す。
この状態でY軸を振ってみると正しく動く。
で、Y軸のとこにあったA4988モジュールをX軸のとこに挿してX軸を動かしてみると、左右どちらに振っても右にしか動かなくなった。

これで、A4988モジュールの不良が確定。

DIRビットが伝わってないのは単にヘッダーピンのハンダ付け不良の可能性もあるので、試しにあっためて、なんか汚いハンダをコテ先で掬った分だけ追いハンダ。
これをダメ元でX軸のところに戻してテストしたら無事に動いた。

面倒だったけど、動いたのでヨシとする。
中華キットだし。

A4988モジュールは、何個か手持ちがあるので、ぶっ壊れてても何とか出来たのだけど、備えは往々にして無駄になる、というアレな展開は割とありがち。

いきなり何か彫るのも怖いので、ペンとか持たせてテストと調整を行えないものかと思案中。