Help us understand the problem. What is going on with this article?

3Dプリンタ魔改造沼へようこそ

コロナで引きこもり生活が続いて思わず3Dプリンタを購入してしまった人いますよね

でもマイ3Dプリンタを買ったのに研究室や会社の3Dプリンタと同じように
ただ使っているだけってもったいなくない?

というわけで今回は3Dプリンタの改造について紹介していきます

改造したい人におすすめの3Dプリンタ

3Dプリンタにもいろんな種類がありますが
個人的におすすめのプリンタはEnder 3です
お値段なんと3万円!

51EgxnkWopL (1).jpg

おすすめポイント

  • 囲われてないので部品の交換が楽
  • メカも回路も全てがオープンソース
  • 改造している人が多い
    • 改造するときの情報が得やすい
    • 改造パーツのSTLファイルがThingiverseに転がっている

具体的にどんな改造ができるのか紹介していきます

アップグレードパーツを取り付けてみよう(★☆☆☆☆)

Ender 3をより使いやすくするためのパーツをいろんな人が作って無料で公開しています

ThingiverseなどでEnder 3と検索するといろいろ出てきます

私が実際に使っているのはディスプレイカバーです
リンクからSTLファイルをダウンロードしてプリントしたら取り付けるだけでプチアップグレード

ender_display.jpg

改造に必要なパーツを自分で設計しよう(★★☆☆☆)

他人が作ったSTLファイルをダウンロードするだけだと簡単すぎて物足りないあなた

Ender 3はメカもオープンソースなので改造パーツを設計しやすいです

Githubに全てのパーツのSTEPファイルが上がっているのでまずはダウンロードしましょう
SOLIDWORKSユーザーはこっちの方がいいかも

スクリーンショット 2020-06-10 17.47.08.png

ダウンロードしたファイルを全部まとめてFusion360にアップロードすると

スクリーンショット 2020-06-08 16.48.02 (1).png

あら不思議
アセンブリまでちゃんとされた状態で見れるじゃないですか

あとは元のモデルをみながら改造パーツを設計していくと

スクリーンショット 2020-06-10 17.55.20.png

フード3Dプリンタに生まれ変わりました

注射器の中にペースト状の食べ物を入れて使うことができます

メインボードを交換してみよう(★★★☆☆)

ここまできたらもう後戻りはできませんね
将来のことを考えてメインボードを交換しておきましょう

メインボードを買おう

私が使っているのはSKR V1.4です
他にもいろんな種類がありますがSDカードスロットがついてるものを選んだ方が使いやすいと思います

SKR V1.4はモータドライバを5個まで載せることができるのでエクストルーダーを2個まで拡張できます
またデュアルZ軸にも対応しています

SPIモードやUARTモードのモータドライバを使用するときに煩雑なジャンパー線を増やさなくてもボード上のジャンパーピンの設定だけで容易に対応可能です

拡張機能としては

などに対応しています

公式のマニュアルはGithubにありますよ

スクリーンショット 2020-06-10 18.13.38.png

ファームウェアを書き換えよう

メインボードを買ったらファームウェアを書き換えましょう

3Dプリンタで多く使われているのはMarlinというファームウェアです

まずは公式サイトからダウンロードしましょう
SKR V1.4では32bitのARMマイコンが使われていますが、Marlinのv1は対応していないのでv2にしましょう

スクリーンショット 2020-06-10 18.24.16.png

次にMarlin/configに書かれているリンクからEnder 3用のフォルダをダウンロードしてMarlinディレクトリ以下におきます
リンクからいろんな3Dプリンタの設定ファイルが入ったzipをダウンロードすることができます

Ender 3の設定ファイルはconfig/examples/Creality/Ender-3にあります

この中の4つのファイル

  • _Bootscreen.h
  • _Statusscreen.h
  • Configuration_adv.h
  • Configuration.h

をMarlinディレクトリ以下におきます
元々あったファイルは置き換えてください

それでは編集していきましょう

と言いたいところですがMarlin v2ではPlatformIOを使うので
まずはVSCodeのExtensionの中からPlatformIO IDEをインストールしましょう
Atomにもあるらしい

インストールできたら以下の3つのファイルを編集していきます

  • platformio.ini
  • Configuration.h
  • Configuration_adv.h

詳しくはTeaching Techの動画を見てください

IMAGE ALT TEXT HERE

ここではメモ程度に変更点を列挙しておきます

platformio.ini
[platformio]
src_dir      = Marlin
boards_dir   = buildroot/share/PlatformIO/boards
default_envs = LPC1768
Configuration.h
#define SERIAL_PORT -1

#define SERIAL_PORT_2 0

#ifndef MOTHERBOARD
  #define MOTHERBOARD BOARD_BTT_SKR_V1_4
#endif
Configuration_adv.h
#define E0_AUTO_FAN_PIN P2_04

ここまでできたらPlatformIOでBuildしましょう

Buildしてできた.pio/build/LPC1768/firmware.binというファイルを
をSDカードにコピーして
メインボードのSDカードスロットに挿し込めば準備完了です

配線しよう

配線する前にSKR V1.4用のケースをプリントしておくのがおすすめです

ラズパイとSKR V1.4が入るケースのSTLデータが公開されているのでこれをプリントしましょう
(合計24時間ぐらいかかるので注意)

プリントできたらTeaching Techの動画を見ながら配線を行いましょう

IMAGE ALT TEXT HERE

リミットスイッチのコネクタのつめを切ったりします

配線が終わったら電源をつけてみましょう

ディスプレイがちゃんと表示されたら成功です

モータドライバを載せよう

ディスプレイがついてもまだモータを動かすことはできません
モータドライバを載せてファームウェアの設定をする必要があります

3Dプリンタで使われるモータドライバにもいろいろありますが

とりあえずA4988を使いました

TMC2208などを使えばモータを静音化できますがそれは次回にします

モータドライバに合わせてファームウェアを変更しましょう

Configuration.h
#define X_DRIVER_TYPE  A4988
#define Y_DRIVER_TYPE  A4988
#define Z_DRIVER_TYPE  A4988
#define E0_DRIVER_TYPE A4988

#define INVERT_X_DIR false
#define INVERT_Y_DIR false
#define INVERT_Z_DIR true
#define INVERT_E0_DIR false

Buildして.pio/build/LPC1768/firmware.binをSDカードにコピーして電源を入れてください

これができたらA4988のポテンショメータを回して出力電流の制限を行いましょう

詳しくはこのブログを見てください

ちゃんと調整できたらディスプレイからMove Axisなどの機能を使って
それぞれの軸の動作チェックを行いましょう

SDカードからプリントできるようにしよう

SDカードにGcode入れてプリントしたいですよね

一行変更しましょう

Configuration_adv.h
#define SDCARD_CONNECTION ONBOARD

これでいつも通りPrint from MediaでSDカードからファイルを選択して
プリントできるようになっているはずです!

軸を追加してみよう(★★★★☆)

あー!あと1軸あればあんなことができるのにな!
と思うことありますよね

SKR V1.4ならできます

NEMA17という規格のステッピングモータをもう一個買いましょう
そしてもちろんモータドライバも買っておきましょう

ファームウェアを変更しよう

本当はX,Y,Z軸とは独立の新たな軸U軸みたいな感じにしたかったのですが
どうすればいいかわからず、、
(誰か教えてください)

2個目のX軸という設定にすると

  • 1個目と同時に動くデュアルX軸モード
  • 2個目のエクストルーダを取り付ける用のX軸として動くモード(2個目のエクストルーダの設定が必要)

のどちらかのモードになってしまったので

仕方なく2個目のE軸として設定を行いました

Configuration.h
#define EXTRUDERS 2

#define TEMP_SENSOR_1 1

#define E1_DRIVER_TYPE A4988

#define INVERT_E1_DIR false

ノズルの予熱が不要の場合

ちなみに私はこのプリンタをフードプリンタとして使っているので追加で変更点があります

通常はPLAやABSなどをフィラメントとして用いていますが
その場合、ノズルが冷えた状態でE軸を動かしてフィラメントを無理やり押し出すと
故障の原因になりますよね

そこでデフォルトではPREVENT_COLD_EXTRUSIONというモードが設定されています

しかしこのままだとノズルの温度を170度ぐらいにあげないと出力してくれないし
そもそもフードプリンタには不必要なホットエンド部分の配線もしなければならないので
私はこのモードをオフにしています

Configuration.h
//#define PREVENT_COLD_EXTRUSION
//#define EXTRUDE_MINTEMP 170

これでファームウェアの変更ができたら
ディスプレイに2個目のE軸が表示されているはずです

Move Axisから動作チェックしてみましょう

Gcodeについて

Gcodeでは

G1 X100 Y100 E10

のようなコマンドを使ってモータを動かしますが

E軸を追加した場合は
1個目のE軸と2個目のE軸をT0, T1というコマンドで切り替えることができます

ただしEnnで指定するnnは2軸で共通なので注意

自分でGcodeを生成している人はこのコマンドを使って制御を行いましょう

もちろんCuraなどのフリーのスライサーソフトでもE軸の追加を行うことができます
(CuraだとEnder3はE軸の追加に対応していないのでオリジナルの3Dプリンタを追加で設定する必要があるはず)

詳しくはTeaching Techの動画を見てください

IMAGE ALT TEXT HERE

5軸目のパーツを設計しよう

5軸目も動くようになったら
モータに取り付けるパーツを設計しましょう

好きなところに軸を追加すれば完成です

ラズパイと繋いでみよう(★★★★★)

WiFi経由でGcode送りたいなー、プリント中の様子をカメラでチェックしたいなー、ホットエンドに目標温度を与えた時のステップ応答見たいなー

OctoPrintならできます

スクリーンショット 2020-06-26 11.11.29.png

ダウンロードページからzipファイルをダウンロードしたら
OctoPiというラズパイ用のイメージファイルがあるので
ラズパイのSDカードにイメージファイルを書き込みます
Raspberry Pi Imagerを使うのがおすすめですよ

スクリーンショット 2020-06-26 11.23.55.png

書き込みが終わったらダウンロードページの説明にしたがって設定を行います

まずはSDカード内のファイルoctopi-wpa-supplicant.txtを編集してWiFiの接続情報を加えます

octopi-wpa-supplicant.txt
## WPA/WPA2 secured
network={
  ssid="KemakoWiFi"
  psk="12345"
}

準備できたらSDカードを挿入したラズパイとメインボードをUSBケーブル(TypeA - TypeB)で繋ぎます

IMG_6024.JPG

この状態でラズパイの電源を入れてしばらく待ったら

$ ssh pi@octopi.local

でssh接続できます
(パスワードはraspberry)

接続できたら必要な設定をしていきます

$ sudo raspi-config

パスワードを変えたり、タイムゾーンをTokyoにしたりします

ここまでできたら http://octopi.local にアクセスしてみましょう

出てきた画面にしたがって設定を進めていくと

OctoPrintの画面が見れますね

左のConnectionというところからConnectというボタンを押すと

Ender-3の状態が確認できます!

スクリーンショット 2020-06-25 17.06.01.png

ラズパイのカメラをEnder3につければ

スクリーンショット 2020-07-06 12.16.37.png

カメラでチェックすることもできます

使ったカメラマウントはこれこれ

さらにターミナルからGcodeを送信することもできるし

スクリーンショット 2020-07-06 12.06.38.png

Gcodeファイルをアップロードして印刷することもできます

3万円の格安プリンタが高機能になって高価なプリンタに近づいてきましたね

最後に

キットではじめる3Dプリンタ自作入門という本がおすすめです
この本を読むとざっくり理解できます

そのあと私の推しYoutuberのTeaching Techをみると
他にもいろんな改造が紹介されていて楽しいですよ

モータドライバの交換やNeoPixelの接続、PIDチューニングについては
続編をご覧ください

参考

kemako
朝食ロボットを作ってた人
https://www.makomiyatake.com
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away