Hey all!
I've been running absolutely fine for quite some time, so I decided to make life interesting, and change probes.
I've been reading for days.
Running: Board: Duet 2 WiFi (2WiFi)
Firmware: RepRapFirmware for Duet 2 WiFi/Ethernet 3.1.1 (2020-05-19b2)
Duet WiFi Server Version: 1.23
I tried about 3 different people's scripting for the euclid, and I still cannot complete a homing cycle.
I was finally pointed to the euclid example firmware files for the probe, and while they get "most of the way there", they continually tell me I have to replace the probe to it's dock manually"
If I post My files, would anyone mind checking to see where I'm going wrong?
Thanks so much!
-Steve
; Configuration file for Duet WiFi (firmware version 3)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool v3.1.1 on Tue Jun 09 2020 01:46:51 GMT-0400 (Eastern Daylight Time)
; General preferences
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
M550 P"RailCore II ZL" ; set printer name
M669 K1 ; select CoreXY mode
;Paneldue
M575 P1 B57600 S1 ; paneldue comms parameters
; Network
M552 S1
M557 S"Lynch WiFi Main" P"internet4u"
M586 P0 S1 ; enable HTTP
M586 P1 S0 ; disable FTP
M586 P2 S0 ; disable Telnet
;Filament Sensor
M591 D0 P1 C"e0_stop" S1 D0; Simple Filament sensor for extruder drive 0 is connected to E0 endstop input, enabled,
M591 D0 ; display filament sensor parameters for extruder drive 0
;Leadscrew locations
M671 X-16.22:-16.22:290 Y23:274:150 S10 ;Front left,(-10,22.5) Rear Left (-10.,227.5) , Right (333,160) S7.5 is the max correction - measure your own offsets, to the bolt for the yoke of each leadscrew
; Drives
M569 P0 S0 ; physical drive 0 goes forwards
M569 P1 S1 ; physical drive 1 goes backwards
M569 P2 S1 ; physical drive 2 goes forwards
M569 P3 S0 ; physical drive 3 goes backwards
M569 P5 S0 ; Drive 5 goes backwards Front Left Z
M569 P6 S0 ; Drive 6 goes backwards Rear Left Z
M569 P7 S0 ; Drive 7 goes backwards Right Z
M584 X0 Y1 Z5:6:7 E3
; set drive mapping
M350 ; configure microstepping without interpolation
M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
M92 X201.50 Y201.50 Z800.00 E386 ; set steps per mm
M566 X900.00 Y900.00 Z12.00 E120.00 ; set maximum instantaneous speed changes (mm/min)
M203 X6000.00 Y6000.00 Z180.00 E1200.00 ; set maximum speeds (mm/min)
M201 X3000.00 Y3000.00 Z500.00 E1200.00 ; set accelerations (mm/s^2)
M906 X800 Y800 Z800 E800 I30 ; set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout
; Axis Limits
M208 X0 Y0 Z0 S1 ; set axis minima
M208 X320 Y320 Z280 S0 ; set axis maxima
; Endstops
M574 X1 S1 P"xstop" ; configure active-low endstop for low end on X via pin xstop
M574 Y1 S1 P"ystop" ; configure active-low endstop for low end on Y via pin ystop
; EUCLID Probe
M574 Z1 S2 ; configure Z-probe endstop for low end on Z
;
M558 K0 P5 C"^zprobe.in" H8 F300 60 T9000 A3 S0.01
; K0 for probe 0, P5 for NC switch, C for input pin,
; ^ for enabling the native pullup resistor on Duet 2
; hardware running RRF3
; H dive height of 8mm, F300 probing speed 6mm/sec,
; T9000 travel speed 150mm/sec,
; A3 number of probes 1, S0.01 max tolerance of 0.01
;
G31 K0 P500 X-16.4 Y-29.4 Z0.90 ; CHECK for LOOSE things first! set Z probe trigger
; value, offset and trigger height. Higher numbers
; makes nozzle closer to bed
; switch plunger is 16.4mm to the LEFT and 29.27mm in
; FRONT of the nozzle. Switch triggers 0.9mm BELOW nozzle
;
; if you have to move the nozzle away from the bed,
; decrease the G31 Z value by the amount of baby stepping used.
M557 X7:305 Y1:303 S20 ; define mesh grid
; Heaters
M308 S0 P"bedtemp" Y"thermistor" T100000 B3950 ; configure sensor 0 as thermistor on pin bedtemp
M950 H0 C"bedheat" T0 ; create bed heater output on bedheat and map it to sensor 0
;M307 H0 B0 S1.00 ; enable bang-bang mode for the bed heater and set PWM limit
M140 H0 ; map heated bed to heater 0
M143 H0 S120 ; set temperature limit for heater 0 to 120C
M308 S1 P"e0temp" Y"thermistor" T100000 B4725 ; configure sensor 1 as thermistor on pin e0temp
M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1
M307 H0 A240.3 C608.7 D8.2 S1.00 V24.1 B0 ; Bed Heater
M307 H1 A270.7 C90.4 D6.7 B0 S1.0 ;Heater 1 model
; Fans
M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency
M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off
M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency
M106 P1 S0 H1 T45 ; set fan 1 value. Thermostatic control is turned on
;M950 F2 C"fan1" Q500 ; create fan 2 on pin fan1 and set its frequency
;M106 P2 S1 H1 T45 ; set fan 2 value. Thermostatic control is turned on
; Tools
M563 P0 S"Extruder" D0 H1 F0 ; define tool 0
G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets
G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C
; Custom settings are not defined
M950 F3 C"duex.fan3"
M950 F4 C"duex.fan4"
M106 P3 S0.5 ; LED half brightness
M106 P4 S0.5 ; LED half brightness
; Miscellaneous
T0 ; select first tool
; ***********************************************************
; Euclid Probe Fixed Dock M401 Deploy Probe Macro
; RRF3.X Firmware Example
; saveas system/deployprobe.g
; comments and echo statements throughout are provided for convenience
; ***********************************************************
; echo "Running deployprobe.g"
; if !move.axes[0].homed || !move.axes[1].homed ; If the printer hasn't been homed, home it
; M98 P"0:/sys/homexy.g"
; uncomment next line to echo the probe deploy state
echo "Object Model deployuser token =" ^sensors.probes[0].deployedByUser
M564 H1 S0 ; Allow movement BEYOND axes boundaries (for Y to reach probe dock)
G91 ; relative positioning
echo "Lift Z in advance of deploy"
G1 H2 Z15 F3000 ; move Z 15 for clearance above dock.
; ; need to figure out some safety check on this
G90 ; absolute positioning
; echo "Probe Value =" ^sensors.probes[0].value[0]
if sensors.probes[0].value[0]!=1000 ; if sensor is value other than 1000 do this
; uncomment next line to echo the probe deploy state
; echo "deployuser token = " ^sensors.probes[0].deployedByUser
; echo "Probe State = " ^sensors.probes[0].value[0]
abort "deployprobe start value Probe already picked up. Manually return probe to the dock"
; if we're here we know it's becasue the above is true which I assume is because you have an NC switch as a probe.
; echo "Passed first logic test to deploy probe"
;G1 x17 y292 ; Stow Clear point
;G1 x17 Y295 ; Stow Home Point
;G1 X48 Y295 ; Stow Enter Point
G1 x17 y292 F6000 ; move adjacent to probe dock location
M400 ; wait for moves to finish
; echo "Probe Pickup while loop running"
; uncomment next line to echo the probe deplot state
; echo "Object Model Deployuser token (before while loop) = " ^sensors.probes[0].deployedByUser
while sensors.probes[0].value[0]=1000
G1 x17 Y295 F3000 ; move over dock
G4 S1 ; pause for pickup
echo "Probe Value =" ^sensors.probes[0].value[0]
G1 X48 Y295 F1200 ; slide probe out of dock - slowly
M400
; G4 S1 ; pause 1 seconds
; the following check is to halt the while loop from repeating after 1 try at deploying the probe
echo "Iteration = " ^iterations
if iterations=1
break
echo "Probe Pickup while loop complete"
; uncomment to echo the probe deplot state
; echo "Object Model Deployuser token (after while loop) = " ^sensors.probes[0].deployedByUser
G90 ; absolute positioning
G1 X150 Y150 Z10 F3000 ; move bed to clear probe from build surface
M400 ; wait for moves to finish
if sensors.probes[0].value[0]!=0
; uncomment to echo the probe deploy state
echo "Object Model Deployuser token (in abort if section)= " ^sensors.probes[0].deployedByUser
abort "Deployprobe endvalue not 0 Probe not picked up! Deploy cancelled."
M564 H1 S1 ; Restrict movement to within axes boundaries (for normal Y movement)
echo "Macro deployprobe.g complete"
; ***********************************************************
; Euclid Probe homez.g Example Macro
; RRF3.X Firmware Example
; saveas system/homez.g
; comments and echo statements throughout are provided for convenience
; ***********************************************************
if !move.axes[0].homed || !move.axes[1].homed ; If the printer hasn't been homed, home it
M98 P"0:/sys/homexy.g"
M561 ; clear any bed transform
M290 S0 R0 ; clear baby steps per Wes C
G91 ; relative positioning
M400
; G1 H2 Z6 F6000 ; lift Z relative to current position
G90 ; absolute positioning
; echo "Call deployprobe.g macro"
M401 P0 ; This runs macro file deployprobe
; echo "Return"
G1 X145 Y162.5 F9000 ; go to first probe point
M400
; echo "G30 S-2 Command"
G30 -2
G1 Z10
M400
G4 P500
; echo "Call bed.g macro"
M98 P"0:/sys/bed.g" ; tram bed
; echo "Return"
G1 X145 Y165 F9000 ; go back to the first probe point and reprobe 0 in case it moved
G30
; echo "Call retractprobe.g macro"
M402 P0 ; retract probe
; echo "Return"
G1 Z10 F600 ; lift Z relative to current position
G90 ; absolute positioning
M564 S1 H0
; G1 X150 Y0 F9000 ; move carraige to center front