Piezo not triggering endstop
interwebsdesigner last edited by interwebsdesigner
I have a piezo on my hotend. I am setting up a new printer. I have the same setup / settings that work fine on my other printer with duetwifi. I feel like I am doing something wrong here.
I have the piezo setup, in the duetwifi control panel it shows the pressure when I touch the nozzle. But it is not triggering the endstop. I copied over the same config from the running printer so I am not sure why it wouldn't trigger if the probe shows pressure on the nozzle. See config below
; CoreXY sample config file for dc42 Duet firmware by Haga. Please use with care. Some of the settings needs to be changed to work with your printer. Read the duetWiki!
; Communication and general
M111 S0 ; Debug off
M550 BigBot ; Machine name (P + anything you like)
M551 Preprap ; Machine password (used for FTP connections)
M540 P0xBE:0xEF:0xDE:0xAD:0xFE:0xED ; MAC Address - If you have more than one Duet on your network, they must all have different MAC addresses, so change the last digits
M552 S1 ; Enable WiFi
M555 P2 ; Set output to look like Marlin
M575 P1 B57600 S1 ; Comms parameters for PanelDue
M667 S1 ; set CoreXY mode
; Machine configuration
M569 P0 S0 ; X Drive 0 goes forwards (change to S0 to reverse it)
M569 P1 S1 ; Y Drive 1 goes forwards.
M569 P2 S1 ; ZaZb - Motors - Forwards
M569 P3 S1 ; E0 Drive 3 goes forwards 0
M569 P4 S1 ; E1 Drive 4 goes forwards
M574 Z2 Y2 S0 ; set endstop configuration (all endstops at high end, active high)
M574 X1 S1 ; set endstop configuration
M350 X16 Y16 Z16 E16 I1 ; Set 16x microstepping with interpolation
M92 X100 Y100 Z400 ; Set axis steps/mm. Check that the printer really move as much as you tell it. Not more and not less.
M92 E138.4:138.4 ; Set extruder steps/mm. Change this to match your extruder.
M906 X800 Y800 Z800 E800 ; Set motor currents (mA). Increase if motor is to weak. Lower if motor gets too hot. 800-1000 is good for most.
M201 X1500 Y1500 Z300 E500 ; Accelerations (mm/s^2). The acceleration, speed and jerk is a setting you can alter to try making the printer to print as nice as possible..
M203 X12000 Y12000 Z1200 E800 ; Maximum speeds (mm/min)
M566 X900 Y900 Z24 E800 ; Maximum jerk speeds mm/minute
M208 X300 Y300 Z450 ; set axis maxima (adjust to suit your machine)
M208 X0 Y0 Z0 S1 ; set axis minima (adjust to make X=0 and Y=0 the edges of the bed)
G21 ; Work in millimetres
G90 ; Send absolute coordinates...
M83 ; ...but relative extruder moves
; Z probe
M558 P1 I0 R0.2 F500 X0 Y0 Z1 ; Analog Z probe, also used for homing the Z axis
G31 X0 Y0 Z-0.1 P700 ; Set the probe height and threshold (put your own values here)
; Thermistors and heaters
;*** You can use S and B parameters to define the parameters of the thermistors you are using. Standard 100k thermistor from E3d is 4388 or 4725.
M305 P0 T100000 B4388 R4700 H0 L0 ; Put your own H and/or L values here to set the bed thermistor ADC correction
M305 P1 T100000 B3950 R4700 H0 L0 ; Put your own H and/or L values here to set the first nozzle thermistor ADC correction
;M305 P2 T100000 B4388 R4700 H0 L0 ; Put your own H and/or L values here to set the second nozzle thermistor ADC correction
M570 S120 ;Increase to allow extra heating time if needed
;*** Bed Heating Controls & Max Tem
M143 H0 S140
M106 P1 T45 H1 ; enable thermostatic mode for fan 1 at temp 45 degrees. Fan turns on when P1(extruder 1) is above 45 degrees.
; Tool definition
M563 P1 D0 H1 ; Define tool 0
G10 P1 S0 R0 ; Set tool 0 operating and standby temperatures
;*** If you have a dual-nozzle build, un-comment the following 3 lines
;M563 P0 D1 H2 ; Define tool 1
;G10 P0 S0 R0 ; Set tool 1 operating and standby temperatures
;*** If you are using axis compensation, put the figures in the following command
M556 S78 X0 Y0 Z0 ; Axis compensation here
M208 S1 Z0 ; set minimum Z
M501 ; Load Config-Override.g that is created using M500
T0 ; select first hot end
aidar last edited by
Your Z endstop is configured at high end active low.
And you have defined Z probe as well (this is your piezo i guess), but you didnt tell firmware to use probe as endstop. So edit your M574 commands as needed :
SupraGuy last edited by
If you're using the piezo as endstop, then don't use the Z endstop.
; Endstops M574 X2 Y2 S0 ; Set active low endstops
This is configured for a PrecisionsPiezo v2 board, I'm pretty sure that any of their other products would be similar, though you might choose different height/speed.
; Z Probe M558 P8 H8 F780 I1 T9000 R0.8 Z1 ; Set Z probe type to unmodulated and the dive height + speeds
I see that the Z1 parameter is now marked as obsolete.
P8 sets the piezo as unfiltered, and is somewhat better than P1
H8 sets the dive height. I wanted a bit more so that I could use really low accel and reach the higher speed when I was debugging.
F780 was to get 13mm/s. this is faster than needed, and was set that way for debugging when I was dialling things in (The example is from an older backup of my config.g file.)
I1 to invert the signal,
T for travel speed. I guess I just wanted "as fast as the axes were defined."
and R for a delay to let the printer settle and avoid false triggers.
It's your homez.g and homall.g files that we really need to see.
interwebsdesigner last edited by interwebsdesigner
G91 ; relative mode
G1 S1 X-240 Y240 F3000 ; course home X or Y
G1 S1 X-240 ; course home X
G1 S1 Y240 ; course home Y
G1 X4 Y-4 F600 ; move away from the endstops
G1 S1 X-10 ; fine home X
G1 S1 Y10 ; fine home Y
G1 S1 Z-240 F3000 ; z home
SupraGuy last edited by SupraGuy
The last line is in error. Also, I would modify a couple of the other ones.
;homeall.g G91 ; relative positioning G1 Z5 F6000 S2 ; lift Z relative to current position G1 S1 X-240 Y240 F3000 ; move quickly to X and Y axis endstops and stop there (first pass) G1 S1 X-240 F3000 ; coarse home X G1 S1 Y240 F3000 ; coarse home Y G1 X4 Y-4 F3000 ; back off from endstops G1 S1 X-10 F300 ; fine home X G1 S1 Y10 F300 ; fine home Y G90 ; absolute positioning G1 X120 Y120 F3000 ; center hotend G30 ; Z probe home
This is modified from mine to do the CoreXY specific stuff, with the coarse/fine homing, and dimensions matching to what you might be using. I am assuming that the X=120,Y=120 is the center point of your bed, but it probably does not matter. The important point here is the G30 in order to do the Z probe. I also included (Present in mine) the 5mm lift of the Z axis at the start. This will also ensure that you should have some distance to do the actual Z probe.
|The reason why I said that the last line was in error, is that it would require that the piezo sensor be connected to the Z axis endstop pin, instead of to the Z probe pin. It certainly appeared from your config.g line up there that you are using the Z probe input and not the Z endstop on the Duet.
interwebsdesigner last edited by
G91 ; relative positioning
G1 Z5 F6000 S2 ; lift Z relative to current position
G1 S1 X-240 Y240 F3000 ; move quickly to X and Y axis endstops and stop there (first pass)
G1 S1 X-240 F3000 ; coarse home X
G1 S1 Y240 F3000 ; coarse home Y
G1 X4 Y-4 F3000 ; back off from endstops
G1 S1 X-10 F300 ; fine home X
G1 S1 Y10 F300 ; fine home Y
G90 ; absolute positioning
G1 X120 Y120 F3000 ; center hotend
G30 ; Z probe home
That was it. Thank you. Now I have to figure out why this works on my first printer. Appreciate it.