OrcaSlicer で Prusa MINI+ の input shaper を使えるようにする

3D プリンタに関する個人的なメモです。

最近はメインのスライサーソフトとして OrcaSlicer を使用しています。

そして、所有している 3D プリンタとして Prusa MINI+ があります。

Prusa MINI+ は 5.1.0 ファームウェアから input shaper 所謂、加速度を調整することによって印刷品質を向上させる機能が追加されています。 本来であれば、加速度計を設置して正確な数値を測定することが望ましいのですが、Prusa の場合は実際に計器を取り付けるのではなくプロファイルの変更のみです。 具体的なテストは PrusaResearch が頑張っているはずです。

Prusa 公式のスライサー PrusaSlicer では Prusa MINI+ の input shaper プロファイルが提供されていますが、OrcaSlicer では無いです。

特に追加されるような様子も感じられないので、自分でプロファイルを追加しておきます。 と、言っても、実際に行うことはプリンタへ gcode を追加するだけです。

プリント開始と終了時の gcode はそのまま使うことができますが、積層変更前の gcode は一つだけ変更する箇所があります。

プリント開始前

M862.3 P "MINI" ; printer model check
M862.1 P[nozzle_diameter] ; nozzle diameter check
M862.5 P2 ; g-code level check
M862.6 P"Input shaper" ; FW feature check
M115 U5.1.2+13478
G90 ; use absolute coordinates
M83 ; extruder relative mode
M104 S170 ; set extruder temp for bed leveling
M140 S[first_layer_bed_temperature] ; set bed temp
M109 R170 ; wait for bed leveling temp
M190 S[first_layer_bed_temperature] ; wait for bed temp
M569 S1 X Y ; set stealthchop for X Y
M204 T1250 ; set travel acceleration
G28 ; home all without mesh bed level
G29 ; mesh bed leveling 
M104 S[first_layer_temperature] ; set extruder temp
G92 E0

G1 X0 Y-2 Z3 F2400

M109 S[first_layer_temperature] ; wait for extruder temp

; intro line
G1 X10 Z0.2 F1000
G1 X70 E8 F900
G1 X140 E10 F700
G92 E0

M569 S0 X Y ; set spreadcycle for X Y
M204 T[machine_max_acceleration_travel] ; restore travel acceleration
M572 W0.06 ; set smooth time
M221 S95 ; set flow

プリント終了

{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+2, max_print_height)} F720 ; Move print head up{endif}
G1 X170 Y170 F4200 ; park print head
{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+50, max_print_height)} F720 ; Move print head further up{endif}
G4 ; wait
M104 S0 ; turn off temperature
M140 S0 ; turn off heatbed
M107 ; turn off fan
M221 S100 ; reset flow
M572 S0 ; reset PA
M569 S1 X Y ; reset to stealthchop for X Y
M84 ; disable motors
; max_layer_z = [max_layer_z]

積層変更前 (spiral_vase を spiral_mode へ変更)

;BEFORE_LAYER_CHANGE
G92 E0.0
;[layer_z]
M201 X{interpolate_table(extruded_weight_total, (0,4000), (1000,1700), (10000,1700))} Y{interpolate_table(extruded_weight_total, (0,4000), (1000,1700), (10000,1700))}
{if ! spiral_mode}M74 W[extruded_weight_total]{endif} ; PrusaSlicer の場合は spiral_mode ではなく spiral_vase となっています。

OrcaSlicer の Prusa MINI+ プロファイルに上記 gcode を追加することで、input shaper を利用した高速印刷や品質改善の効果が得られます。 高速印刷に関しては、速度 140 mm/s で印刷しても綺麗な造形が可能となります。