AnyCubic Kossel Mini という 3D プリンタのくみたてがおわり,firmware をのせた. あまり容易にはいかなかったが,ようやくうごきだした.
Firmware の選択とテスト
中国からおくられてきたキットにはきれいに印刷されたくみたてマニュアルがついていて,完璧なキットかとおもわれた. しかし,firmware は付属していないし,どこから入手したらよいかも書いてない. このキット用の firmware はどこかにあるらしいのだが,たぶんネットからは入手できないのだろう. マニュアルすらネット上にはない.
Firmware をコンパイルするには Arduino の IDE が必要だが,その最新版は 1.6.10 だ. ところが,この販には firmware をかきこむときにでるバグがある. どういう条件でおこるのか正確にはわからないが,かきこむときに USB インタフェースがみつからなくなるようだ. 解決策としては,コンパイルする直前にプリンタをパソコンの USB インタフェースにつなぎなおせばよいようだ. ときどきつなぎなおすのをわすれて,エラーがおこる.
ネットで検索して,AnyCubic Kossel でつかえるらしい 3 種類の firmware をみつけてきた. それらは,Repetier ベースのものと Marlin というもの,もうひとつはなまえに RepRap がついている.
最初は Repetier ベースのをためしてみたが,いろいろ不具合がみつかった. まず,home コマンドを 2 回つづけて入力するとかたまってしまうという問題がみつかった. 解決策はわかっていない. それから,hotend が設定温度まであがるとヒータがきれて,2 度とヒータがつかないことがある. これではつかいものにならない. サーボのパラメタがまずいだけなのかもしれないが,Configuration.h には指定するべきパラメタがない. (追記 2016-8-14: 上記の home コマンドに関する問題も解決し,最終的には Repetier ベースの firmware をつかうことにしたが,それについては 「Repetier ベースのファームウェアを AnyCubic Kossel 3D プリンタにのせた」 に書いている.)
Marlin のほうは苦労しているらしい投稿があるので最初はさけていたが,これもためしてみた. この投稿以降にえられた知識もネットで利用できるので,それほど苦労はなかった. しかし,調整するべきパラメタはすくなくない. ともかく,Marlin をつかうことにして,その Configuration.h をかきかえていった.
Configuration.h のかきかえ
キットに付属しているボードは Ramps 1.4 であり,そこに hotend ヒータと fan をこの順につなぐので,つぎの定義を有効化する (“EFB” の B は bed ヒータだが,これは当面つかわない).
#define MOTHERBOARD BOARD_RAMPS_14_EFB
調整するべきパラメタではないが,つぎにでてくるのはこれ.
#define CUSTOM_MACHINE_NAME "Anycubic Kossel"
Hotend のサーミスタの種類を指定する必要があるが,なにがついているのか,よくわからない. 赤外線温度計を紛失してしまったので hotend の温度がはかれないが,さがしだして,または再度入手して測定できるようになってからきちんとあわせることにして,とりあえずは 104GT-2 というタイプ (値は 5) を指定しておくことにした. 変更しないと 1 (EPCOS 100k) になっているが,そのままでもおおきな変化はない.
#define TEMP_SENSOR_0 5
PLA だけをつかうなら必要ないが,polycarbonate をためしたいので最高温度はたかくしておく (もとは 275℃ だが,それを 300℃ にする).
#define HEATER_0_MAXTEMP 300 #define HEATER_1_MAXTEMP 300 #define HEATER_2_MAXTEMP 300 #define HEATER_3_MAXTEMP 300
AnyCubic のキットに付属している部品のパラメタはほぼつぎのとおりだ.
#define DELTA_DIAGONAL_ROD 216.0 // mm #define DELTA_SMOOTH_ROD_OFFSET 151.0 // mm #define DELTA_EFFECTOR_OFFSET 22.5 // mm #define DELTA_CARRIAGE_OFFSET 22.0 // mm
ただし,これらもすこしだけ調整が必要なようだ.
プリント・ベッドのガラスの直径は 200 mm だが,すこし余裕をみて半径 95 mm としている.
#define DELTA_PRINTABLE_RADIUS 95.0
AnyCubic Kossel では調整の必要がなかったが,Kossel であってもつぎのパラメタの調整が必要になることがある.
#define INVERT_E0_DIR false #define INVERT_E1_DIR false #define INVERT_E2_DIR false
つまり,使用する extruder のタイプによっては true にしなければならないことがある.
プリンタのたかさ (z 方向の移動範囲) を指定するのが重要だ. これは 1 台ずつ測定して設定する必要がある. くみたてたプリンタではつぎのようになった.
#define MANUAL_Z_HOME_POS 317.8
しかし,実はこの値は測定した値そのままではない. なぜだかわからないが,測定値 318 をそのまま設定すると G0 Z0 コマンドを入力したときにノズルのさきがプリント・ベッドにぶつかってしまう. 逆にそこから 1 mm へらすと逆にノズルのさきがおおきくあいてしまう. そこで,測定値からわずかにすくない値を設定した. これでもまだすこしすきまができるので,あとで対策する必要があるかもしれない. この値は EEPROM で設定できるとよいのだが,Marlin では EEPROM で設定することができない. プリンタのたかさを調整するたびに (あるいは温度変化によってたかさが変化するたびに) firmware をかきかえなければならないというのは,あまりに不便だ.
x 方向,y 方向,z 方向,そして extruder で 1 mm うごかすのに必要なステップ数 (を 16 倍した値) を設定する必要があるが,とくに extruder の設定では,よくわからない値をいれる必要があった.
#define DEFAULT_AXIS_STEPS_PER_UNIT {80, 80, 80, 150}
最初は Reprap の設定をまねて 150 ではなく 370 としたが,これではおおきすぎる. 150 にして測定してみると,ほぼただしいながさだけおくられることがわかった.
付属の LCD ディスプレイは RepRap discount smart controller のようなのでつぎの設定を有効化してみたが,ディスプレイにはなにも表示されないままだ.
#define REPRAP_DISCOUNT_SMART_CONTROLLER
キャリブレーション
Delta 型のプリンタでは,プリント・ベッドの 5 点くらいをとって,どこでも z = 0 のときにヘッドがプリント・ベッドにちょうど接するように調整する必要がある. うまくバランスしないときは,各軸 (x, y, z) のマイクロ・スイッチの位置をずらして調整する. マイクロ・スイッチをとめているネジをゆるめて,バランスがとれるようにする.
テスト印刷
調整がおわったのでテストをこころみた. 直径 2 cm 以下の中空の球体を印刷してみる. Rostock MAX とくらべるとよわい. 印刷がおくれがちだ. 速度を半分以下におさえてもなお印刷がおいつかない. 印刷している途中でとまってしまう. Rostock MAX より球の近似をあらくしないとだめなようだ. しかし,球が途中までは印刷できたので,一応テストは成功だ.
コメント (2)
Repetier-firmを試してみようと思いググったらこのページを見つけました。
私も2台ほどAnyCubic Kosselを組み立てました。
ファームはMarlinで問題なく使えています。
ちなみに、ファームは付属のSDカードに入っていましたよ。
投稿者: 匿名 | 2016年10月12日 17:09
日時: 2016-10-12 17:09
AnyCubic Kossel は時期によって内容がずいぶんちがうようです.それでも,趣味にはしっている Printrbot にくらべると進化しているようです.
投稿者: 金田 | 2017年02月25日 01:15
日時: 2017-02-25 01:15