3DプリンタにDuet V0.6を導入


Sanguinololuを壊してしまったので、Duet V0.6に交換する。

Duet V0.6








8bitマイコンの Arduino megaベースの制御基板と違ってArduino Dueに使われているのと同じ32bitマイコンが使われていて、ファームウェアはMarlinではなくReprapFirmwareというものを入れる。ブラウザから3Dプリンタを制御できる。







  • USB給電のみの状態で、eraseボタンを数秒押して、resetボタンを押す。


  • ファームウェアを取ってくる。
  • bossacというソフトウェアを使って書き込む。
  • bossacをダウンロード、解凍したら、コマンドプロンプトでbossac.exeがあるフォルダへ行く。
  • 同じフォルダに取ってきたファームウェアを入れる。

コマンドプロンプトで以下を実行して書き込み 。バージョン名は変えて。

bossac.exe -e -w -v -b RepRapFirmware-1.09x-dc42.bin



  • 必要なフォルダを取ってくる。(gcodes, sys, www, macros)
  • sysフォルダとgcodesフォルダは、3Dプリンタの形式に合わせて選択。今回はsys-Pursai3とgcodes-ormerodを選択した。
  • sys-Prusai3をsysに、gcodes-ormerodをgcodesに名前を変更してwww、macrosフォルダと一緒にSDカードへ入れる。




; Prusa i3 config file for dc42 Duet firmware

; Prologue and  comms section
M111 S0                             ; Debug off
M550 PPrusai3				        ; Machine name (can be anything you like)
M551 Preprap                        ; Machine password
;*** If you have more than one Duet on your network, they must all have different MAC addresses, so change the last digits
M540 P0xBE:0xEF:0xDE:0xAD:0xFE:0xED ; MAC Address
;*** Adjust the IP address and gateway in the following 2 lines to suit your network
M552 P192.168.1.33				; IP address (0 = use DHCP)
M554 P192.168.1.1                   ; Gateway
M553 P255.255.255.0                 ; Netmask
M555 P2                             ; Set output to look like Marlin
M575 P1 B57600 S1					; Comms parameters for PanelDue

; Movement section
M569 P0 S1                          ; Drive 0 goes forwards (change to S0 to reverse it)
M569 P1 S1                          ; Drive 1 goes forwards
M569 P2 S1                          ; Drive 2 goes forwards
M569 P3 S1                          ; Drive 3 goes forwards
M569 P4 S1                          ; Drive 4 goes forwards
M574 X1 Y1 Z1 S1					; set endstop configuration (X and Y endstops only, at low end, active high)
M906 X1000 Y1000 Z1000 E1200           ; Set motor currents (mA)
M201 X3000 Y3000 Z50 E5000            ; Accelerations (mm/s^2)
;M203 X15000 Y15000 Z100 E3600       ; Maximum speeds (mm/min)
M203 X24000 Y24000 Z120 E2700       ; Maximum speeds (mm/min)
;M566 X600 Y600 Z30 E20              ; Minimum speeds mm/minute
M566 X1200 Y1200 Z24 E30              ; Maximum jerk speeds mm/minute
M208 X180 Y160 Z200					; set axis maxima (adjust to suit your machine)
M208 X-15 Y-5 Z-0.2 S1					; set axis minimum (adjust to make X=0 and Y=0 the edge of the bed)
M92 X80 Y80 Z2560					; Set axis steps/mm
M92 E98.67                       	; Set extruder steps per mm
G21                                 ; Work in millimetres
G90                                 ; Send absolute coordinates...
M83                                 ; ...but relative extruder moves

; Z probe section
;M558 P1 X0 Y0 Z1 H3 F200 T5000		; Smart IR Z probe, used for homing Z axis, dive height 3mm, probe speed 200mm/min, travel speed 5000mm/min
;G31 X11.0 Y0.5 Z1.20 P500           ; Set the probe height and threshold (put your own values here)

; Heater and thermistor section
;*** If you have a Duet board with 1K thermistor series resistors, change R4700 to R1000 to the following M305 commands
M305 P0 R4700 H0 L0					; Put your own H and/or L values here to set the bed thermistor ADC correction
M305 P1 R4700 H0 L0					; Put your own H and/or L values here to set the first nozzle thermistor ADC correction
M305 P2 R4700 H0 L0					; Put your own H and/or L values here to set the second nozzle thermistor ADC correction
M301 H1 P5.6 I0.021 D57.8 T0.50 S1.0	; PID settings for extruder 0
;M301 H2 P10 I0.10 D100 T0.50 S1.0	; PID settings for extruder 1
M570 S120							; Increase to allow extra heating time if needed

; Tool definition section
M563 P0 D0 H1                       ; Define tool 0 to use extruder drive 0 and heater 1
G10 P0 S0 R0                        ; Set tool 0 operating and standby temperatures
;*** If you have a dual-nozzle build, un-comment the following 2 lines
;M563 P1 D1 H2                      ; Define tool 1
;G10 P1 S0 R0                       ; Set tool 1 operating and standby temperatures

; Bed probe section (not needed if you use a bed.g file)
;*** Adjust the XY coordinates in the following M557 commands to suit your build and the position of your Z probe
;M557 P0 X60 Y0                      ; Four... 
;M557 P1 X60 Y165                    ; ...probe points...
;M557 P2 X200 Y165                   ; ...for bed...
;M557 P3 X200 Y0                     ; ...levelling
;M557 P4 X141 Y82.5                 ; 5th probe point for levelling (un-comment this to get a 5th point at the centre of the bed)

; Epilogue
;*** If you are using axis compensation, put the figures in the following command
M556 S78 X0 Y0 Z0                   ; Axis compensation here



G91                ; relative mode
G1 Z4 F200         ; raise head 4mm to ensure it is above the switch trigger height
G90                ; back to absolute mode
G1 X100 Y100 F2000     ; put head wherever you want it to be when you home Z (omit this line if it doesn't matter)
G91                ; relative mode
G1 Z-200 S1 F100   ; move Z down until the switch triggers
G90                ; back to absolute mode
G92 Z0.3           ; tell the firmware that we are at Z=0.3mm



; Prusa i3 homeall file for use with dc42 Duet firmware
; Adjust the bed upper and lower limits in config.g (M208 commands) to get the correct homing positions

G1 Z4 F200					; raise head 4mm to keep it clear of the bed
G1 X-240 Y-240 F3000 S1		; course home X and Y
G1 X4 Y4 F600				; move 4mm away from the homing switches
G1 X-10 Y-10 S1				; fine home X and Y
G1 Z-200 S1 F100   ; move Z down until the switch triggers

G92 Z0.3           ; tell the firmware that we are at Z=0.3mm