Duet 2 and Precision Piezo Orion v2



  • Hi, I have a custom BLV cube CoreXY machine, and have been using a Duet 2 for quite some time, and I really love it. I have been using an ir probe, and recently I decided to switch to a piezo probe since the ir probe wasn't quite as accurate as I liked. So, I designed and printed up a mounting system for it (basically just integrated the mount they designed in to my toolhead). It went together well, and testing it by tapping my finger on the probe, it triggers. The problem is this. When I try to home the bed using G30, the head comes down and presses on the bed, but the bed keeps moving up about 5mm past the head, flexing the mount, basically causing a soft crash. I have tried many combinations of probing speed (5-50mm/s) and sensitivity of the probe itself, to no avail. What am I doing wrong?

    Here is my config.g:

    ; Configuration file for Duet WiFi (firmware version 2.03)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v2.1.8 on Fri Mar 13 2020 18:19:29 GMT-0600 (Mountain Daylight Time)
    
    ; General preferences
    G90                                      ; send absolute coordinates...
    M83                                      ; ...but relative extruder moves
    M550 P"Ultibot"                          ; set printer name
    
    M667 S1                                  ; select CoreXY mode
    
    ; Network
    M552 P192.168.0.10 S1                    ; enable network and set IP address
    M553 P255.255.255.0                      ; set netmask
    M554 P192.168.0.1                        ; set gateway
    M586 P0 S1                               ; enable HTTP
    M586 P1 S0                               ; disable FTP
    M586 P2 S0                               ; disable Telnet
    
    ; Drives
    M569 P0 S1                               ; physical drive 0 goes backwards
    M569 P1 S1                               ; physical drive 1 goes backwards
    M569 P2 S0                               ; physical drive 2 goes forwards
    M569 P3 S0                               ; physical drive 3 goes forwards
    M569 P4 S0								 ; physical drive 4 goes forwards
    M584 X0 Y1 Z2:4 E3                       ; set drive mapping
    M671 X0:350 Y0:0 S3 				     ; leadscrews at left (connected to Z) and right (connected to E1) of X axis
    M350 X16 Y16 Z16 E16 I1                  ; configure microstepping with interpolation
    M92 X99.979 Y99.979 Z803.166 E420.076    ; set steps per mm
    
    ; Movement Settings
    M566 X1000.00 Y1000.00 Z300.00 E1000.00  ; set maximum instantaneous speed changes (mm/min)
    M203 X32400 Y32400 Z3000 E80000.00       ; set maximum speeds (mm/min)
    M201 X6000 Y6000 Z400.00 E10000.00       ; set accelerations (mm/s^2)
    M204 P3000 T6000						 ; set print and travel accelerations
    
    M906 X1600 Y1600 Z800 E1100 I30          ; set motor currents (mA) and motor idle factor in per cent
    M84 S30                                  ; Set idle timeout
    
    ; Axis Limits
    M208 X-23 Y-20 Z0 S1                     ; set axis minima
    M208 X330 Y340 Z440 S0                   ; set axis maxima
    
    ; Endstops
    M574 X1 Y2 S1                            ; set active high endstops
    M574 Z1 S2                               ; set endstops controlled by probe
    
    ; Z-Probe
    M558 P5 H5 I1 R0.25 F400 T12000 A3       ; set Z probe type to piezo and the dive height + speeds
    G31 P500 X0 Y0 Z0               		 ; set Z probe trigger value, offset and trigger height
    M557 X10:300 Y10:300 P12                 ; define mesh grid
    M376 H40								 ; set mesh transition height
    
    ; Heaters
    M305 P0 T100000 B4725 C7.060000e-8 R4700 ; set thermistor + ADC parameters for heater 0
    M143 H0 S120                             ; set temperature limit for heater 0 to 120C
    M305 P1 T100000 B4725 C7.060000e-8 R4700 ; set thermistor + ADC parameters for heater 1
    M143 H1 S280                             ; set temperature limit for heater 1 to 280C
    
    ; Fans
    M106 P0 C"Layer Fan" B0.1 S0 F100 H-1    ; set fan 0 name, value, PWM signal inversion and frequency. Thermostatic control is turned off
    M106 P1 C"Tool Cooling Fan" F500 H1 T45	 ; set up cooling fan on output 2
    M106 P2 C"LEDs" F25000 B0 L0			 ; set up LEDs on fan output 3
    
    ; Tools
    M563 P0 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
    ;M572 D0 S0.55							 ; enable pressure advance
    M207 S1.5 F10000					 	 ; set default firmware retract settings
    M912 P0 S-5.2							 ; adjust MCU temp sensor
    
    M501									 ; load settings from config_override.g
    ;M592 D0 A-0.00118 B0.000248			 ; define nonlinear extrusion
    
    ; Miscellaneous
    T0                                       ; select first tool
    

    And my homez.g:

    ; homez.g
    ; called to home the Z axis
    ;
    ; generated by RepRapFirmware Configuration Tool v2.1.8 on Fri Mar 13 2020 18:19:30 GMT-0600 (Mountain Daylight Time)
    G10 P0 S130		 	; set to 130c for probing
    G91              	; relative positioning
    G1 H2 Z5 F6000   	; lift Z relative to current position
    G90              	; absolute positioning
    G1 X155 Y155 F6000 	; go to first probe point
    M116 P0			 	; wait for temp to stabilize
    ;G91				; relative positioning
    ;G1 H1 Z-480 F4000 	; move Z to raw probe position
    ;G1 Z5 F600			; lower bed a bit
    ;G90				; absolute positioning
    G30              	; home Z by probing the bed
    

  • Moderator

    Probe dive speed may be too low. The piezo needs a short sharp shock to trigger.

    Try M558 F600 and G31 P100

    Might also want to reduce the Z axis motor current a bit in case of a crash.

    How much flex is there in the mount for the piezo? If it's too squishy it might not trigger the piezo either.



  • You got me thinking about it, and I discovered that you can use it in analog mode. Doing this, I got it to work, but yes, the frame is somewhat flexible, as it is printed out of PETG. Eventually, I am planning to print it out of heat-treated carbon fiber PLA.


Log in to reply