Anycubic Mega-S(i3 Mega) の静音化改造


初期状態では耳栓していてもうるさく自室に置くの厳しい…という感じだったが、
静音化の結果うるさくてゲームもできないという状況は脱したし耳栓すれば同じ部屋で眠れるレベルにはなった。

追記

既にここに書いたホットエンドは使っていない。
詳細はAnycubic Mega-S(i3 Mega) まとめへ。

買い物メモ

ヒートベッド断熱

ANYCUBIC i3 MEGAをアップデート  ヒートベッド断熱材|はるかぜポポポ|noteのとおりにした。
ヒートベッドの加熱効率化とコントロールユニットを熱源から保護する効果もあり、手軽な割に良さそう。
コルクシートはAliExpressで調べると折れ曲がったのが届いた報告がいっぱいあったのでリンク先のAmazon.jpで買ったが結局中国から届いたので運が試される。

モータードライバ交換

モーター駆動の騒音を低減できるとのことだったのでAnycubic i3 Mega TMC2208 Silent Modで予習して3Dプリンタと同時に注文していた。
しかしデフォルトでは超静音化モードであるstealthChopに設定されていて静音化と印刷速度(トルク)を両立するならspreadCycleにする必要があり、
そのためにははんだ付けとWindowsマシンとシリアル接続しての設定変更する必要があったので一仕事だった。
このあたりはTMC2208 - YouTubeがとても詳しく素晴らしい。
Configurator for TMC2208 | SilentStepStick | Watterott electronicも参考になる。
電圧は1.2V(±0.005)に揃えたが根拠があるわけでは無く、0.85Vで組み立てたら左右のZ軸がずれる感じになったので上げてみただけ。
ググると0.85Vの例が多いが stealthChopとspreadCycleの区別が無いし、初期のモータードライバは0.9V前後だが結構な差があり統一されてないしでよくわからない。
TMC2208を実装するとコネクタを反対向きに刺し直す必要があるがファームウェアMarlin-Ai3MのTMC2208対応版にすることで手間を省ける。
Marlinのセットアップでターミナルからコマンド入力する部分はArduino IDEのシリアルモニタ(CR, 250000bps)が手軽で良かった。

また、マザーボードのバージョンによってはモータードライバがはんだ付けされていて交換がとても難しいとの情報を見かけたがまだ数が出回ってないのか一時期だけだったのか詳細を見つけられずよくわからなかった。
TMC2208とWindowsマシンとの接続は専用のUSBシリアルアダプタも売られているのでそういうのを使うと楽。

ファン交換

とにかくNoctuaのファンに交換すれば静かだけど十分冷えるという状態にできそう。
しかしそうするとファン代だけで10000円とかになるので安く済ませたい。
AliExpressで買えるとすごく安く済んでありがたいのだが詳細なスペックがわからないのでなかなか難しい。
日本で買うならAinexのOmega Typhoonは性能が明確で安いのでこれで統一したい。
しかし静音ファンのシリーズなので静圧が欲しい場合には使いにくかったり、3Dプリンタ向けではないので欲しいサイズが無いという問題もある。

3ピンのファンは2ピン化する必要があるのでXH(コントロールユニット) or PH(ホットエンドユニット)コネクタのコンタクトと2Pハウジングが必要になり、更には圧着工具が必要で3500円はする。
慣れないとピンをいくつも潰すことになるしなかなか大変。 差し込み式のコネクタを使うべきだったのだとすべて終わってから気づいた。

モータードライバ

モータードライバの冷却ファンは5015ブロアファンとAnycubic i3 Mega Stepper Driver 5015 fan duct by PapaSean - Thingiverseに変更した。
実際に印刷したのはRemixの1パーツ化された方。
サポートを剥がす過程で割れたし微妙にサイズが大きかったが、二塩化メチレンで接着して紙ヤスリで削って押し込んだ。
元は5010ファンの片持ちマウントなのでみんな困っているらしく色んな情報が出てくる。
5010ファンを横並びに設置するやつが無難そうには見えるが、モータードライバを冷やすためなら今回のはめちゃ効率が良い。
場所をとらないし設置も楽。
ファンのケーブルは全然足りなかったので手持ちのものを継ぎ足して延長した。

PSU

6015ファンから6010ファンになるがヒートベッド断熱をしたしこれで様子を見る。
公式の解説動画を見ながら開けたがMega-Sだとフィラメントホルダーが邪魔になってやりにくい。

ホットエンド

ホットエンド周りにはAnycubic I3 Mega Improved Hotend Fanbox by Renba - Thingiverseを採用して静音化しつつ効率良い冷却を目指す。
PETGの場合ヒートベッドを十分に加熱してにシワなしPiTを塗ればラフト無しで印刷できたがノズルだけは底面が平らでは無いので荒れてしまった。
ブロアファンの固定にはM4 x 20mmのボルトとナット、パーツの組み立てにM2 x 6mmのさらタッピングねじ、3Dプリンタへの固定にM3ナットを使った。

Raspbian Stretch Liteのセットアップ

次回インストール時に困らないためのメモ

SDカードの準備

  1. Download Raspbian for Raspberry Piから落としたイメージをbalenaEtcherで焼く。
  2. /boot/sshを作る。
  3. /boot/wpa_supplicant.confWifi設定を書き込む。

/boot/wpa_supplicant.conf

country=JP
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
  ssid="foo"
  psk=bar
}
network={
  ssid="baz"
  psk=qux
  priority=1
}

本編

ssh pi@raspberrypi.localで繋がる。デフォルトのパスワードはraspberry
適当なタイミングでssh-keygen -t ed25519してGitHubに登録しておく。

初期設定

passwd
sudo apt update && sudo apt upgrade

echo "NTP=ntp.nict.jp" | sudo tee -a /etc/systemd/timesyncd.conf

curl -s https://github.com/ebith.keys | tee -a ~/.ssh/authorized_keys

sudo tee -a /etc/ssh/sshd_config << EOM > /dev/null
PasswordAuthentication no
PermitRootLogin no
EOM

sudo tee -a /etc/dhcpcd.conf << EOM > /dev/null
interface wlan0
static ip_address=192.168.0.81/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1
EOM

sudo raspi-config

raspi-config

  • 2: N1 Hostname
  • 4: I1 Change Locale
  • 4: I2 Change Timezone
  • 7: A3 Memory Split

いつもの環境をつくる

母艦からscpで常用ツールのARMv6バイナリを送りつけておく。peco, ghq, exaとか。

sudo apt install git zsh vim tmux gawk
sudo update-alternatives --config editor
chsh -s /bin/zsh

sudo ln -s /usr/share/doc/git/contrib/diff-highlight/diff-highlight /usr/local/bin/diff-highlight
sudo chmod 755 /usr/local/bin/diff-highlight

~/bin/ghq get ebith/dotfiles
cd ~/.ghq/github.com/ebith/dotfiles && ./create_link.py .config .vim .gitconfig .zshenv .zshrc .tmux.conf .yarnrc
mkdir -p ~/.vimlocal/{backup,swap,undo}

curl -sL --proto-redir -all,https https://raw.githubusercontent.com/zplug/installer/master/installer.zsh | zsh
exec zsh -l
zplug install
exec zsh -l
cd && rm .bash_history .bash_logout .bashrc .profile

Mackerel

Latest release · mackerelio/mackerel-agent

sudo mkdir /etc/mackerel-agent/
wget https://github.com/mackerelio/mackerel-agent/releases/download/v0.59.1/mackerel-agent_linux_arm.tar.gz
tar xvf mackerel-agent_linux_arm.tar.gz
mv mackerel-agent_linux_arm/mackerel-agent ~/bin/mackerel-agent
sudo ~/bin/mackerel-agent init -apikey="xxxxxxxx"
wget https://raw.githubusercontent.com/mackerelio/mackerel-agent/master/packaging/deb-systemd/debian/mackerel-agent.service
sed -ie "s/ExecStart=\/usr\/bin\/mackerel-agent/ExecStart=\/home\/pi\/bin\/mackerel-agent/" mackerel-agent.service
sudo mv mackerel-agent.service /etc/systemd/system/network-online.target.wants/mackerel-agent.service
sudo systemctl daemon-reload
sudo systemctl start mackerel-agent

CPU温度の監視を追加する

sudo apt install bc
wget https://raw.githubusercontent.com/ymyzk/mackerel-plugins/master/raspberrypi/temp.sh
chmod 755 temp.sh
mv temp.sh ~/bin/temp.sh
sudo tee -a /etc/mackerel-agent/mackerel-agent.conf  << EOM > /dev/null
[plugin.metrics.temp]
command = "/home/pi/bin/temp.sh"
EOM
sudo systemctl restart mackerel-agent

Node.js

1 or Zero

ダウンロード | Node.js

wget https://nodejs.org/dist/v10.15.3/node-v10.15.3-linux-armv6l.tar.xz
tar xvf node-v10.15.3-linux-armv6l.tar.xz
sudo cp -r node-v10.15.3-linux-armv6l/* /usr/local/

2以降

curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt install nodejs

yarn

curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt update && sudo apt install --no-install-recommends yarn

pigpio

sudo apt install pigpio
sudo systemctl enable pigpiod
sudo systemctl start pigpiod

pigsコマンドでsocket connect failedする

"socket connect failed" but only if starting pigpiod via systemctl · Issue #203 · joan2937/pigpio

sudo sed -ie 's/pigpiod -l$/pigpiod -l -n 127.0.0.1/g' /lib/systemd/system/pigpiod.service
sudo systemctl daemon-reload
sudo systemctl restart pigpiod

3Dプリンタ Anycubic Mega-S を買った

AliExpressで29000円ちょい。
他の候補もいろいろ調べたり考えたりしたがOriginal Prusa i3を買うならともかく低価格帯だとお金を積んでも作れるサイズが大きくなるというのが主のようだし、
かといってFlashforge Adventurer3のようなタイプは手軽だが価格の割に作れるサイズが小さすぎるというところで無難中の無難のi3 Megaのアップグレード版であるところのMega-Sを選んだ。
下調べの結果、英語でも良ければ情報は多いし修理や改造もパーツ交換が主でハンダ付けを頑張ったりする必要は無さそうというのが分かったのも大きい。

i3 Megaとの違い

Anycubic 13 Mega Extruder Upgrade Accessories Kitによるとエクストルーダーユニットと金属フィラメントホルダーとのこと。
ところでこのurlやtitleのi3であるべきところが13になってるっぽいのめっちゃ気になる。

組み立て

数箇所ネジ止めしてケーブル挿すだけなので楽ちん。
コントロールユニットの蓋も開けて中も確認しててみたがPSUは12v出力が余っていて照明やOctoPrintの取り付けに使えそう。
モータードライバも交換できるタイプだったので一安心。

出力

初出力はフクロウ。
続いて#3DBenchy – The jolly 3D printing torture-testの船を出した。
誤差は概ね0.05mm未満というところなので悪くは無さそう。
Marin firmwareを入れるとソフト側でのレベリングも可能になるのでさらなる調整が必要ならそっちで。

静音化予定の騒音はともかく、机の置いておくには振動が酷くてつらみがある。

静音化、造形物冷却の強化、ヒートベッド断熱などに手を付ける。
IKEAのLACK(激安サイドテーブル)を積み重ねて作るエンクロージャも作りたい。
最終的にはOctoPrintも取り付ける予定。