Jump to content

NLCbanner2024.jpg.2478be509670e60c2d6efd04834b8b47.jpg

3D printer - Piezo Z probing


Gina

Recommended Posts

Yep, it's an undrilled one and I have two spare but soldering the wire back on will be easier than crimping bits onto another (hate that job1).

Link to comment
Share on other sites

Soldered the wire back on and reassembled but now it doesn't work.  Must have got it too hot soldering.  So I'll have to crimp a connector on another sensor...

Link to comment
Share on other sites

Found the packet of piezo sensors and attached a connector to one.  Tried it in the Concorde but it didn't work so swapped parts with working parts on the Mini printer and traced the problem to the Z probe connector for the Duet - I had it wired the wrong way round.  Released the crimp sockets from the casing and put them in the right holes.  Problem solved!!  Then tried the Z homing and it worked  ?  At last!!  Now I need to tidy up the wiring so that I can test the Mesh Grid Compensation procedure.

Link to comment
Share on other sites

Re-wrapped the umbilical bundle of wires and secured it then ran a test.  Set Mesh Grid Compensation coordinates for 9 point as I thought, divided X and Y ranges by 3 and set up the values.  When I ran the Mesh Grid Compensation I got 16 points!  Of course I did, for 9 points - 3 x 3 you divide the distance by 2 not 3 HA HA!!  I get dafter as I get older ?  Here's a screenshot of the result.

940325036_Screenshotfrom2019-03-1415-40-51.png.24036c23dffb51cfb983b8beaddd1970.png

Link to comment
Share on other sites

I guess there are two possible solutions - mount the hotend fan on rubber mountings or change the order of start-up prior to actual printing so that the homing and probing is done before the hotend is heated.  Hotend heating only takes a minute or two.  I should add that if I turn down the sensitivity until the triggering stops it no longer triggers from the nozzle contact.

Edited by Gina
Link to comment
Share on other sites

This is the current start code :-

; start code
M104 S240 ; set extruder temperature and start heating
M190 S140 ; set bed tepmperature and wait
G91 ; switch to relative coordinates
G0 Z3 ; move bed clear of probe
G90 ; switch back to absolute coordinates
G28 ; home all axes
G29 ; auto bed level
M109 S240 ; wait for extruder to reach temperature

If I simply move the M104 line after G29 I reckon that should do it.

; start code
M190 S140 ; set bed tepmperature and wait
G91 ; switch to relative coordinates
G0 Z3 ; move bed clear of probe
G90 ; switch back to absolute coordinates
G28 ; home all axes
G29 ; auto bed level
M104 S240 ; set extruder temperature and start heating
M109 S240 ; wait for extruder to reach temperature

 

Link to comment
Share on other sites

Hmmm...  It didn't like that - gave a heater fault error message.  I guess warm air rising from the bed heated the hotend when the hotend wasn't expected to warm up.  There's another possible problem too - there could be a hard lump of filament on the nozzle which would produce probing errors.  Looks like I'll just have to stop the vibration from the hotend fan somehow.  Is nothing simple???  Nope - not where 3D printers are concerned!

Link to comment
Share on other sites

Try dropping the fan speed during probing. Also heating the hotend to 130C for probing ensures any plastic gets squashed on contact and doesn't give incorrect height reading. Other possibility is a noisy fan - is it the supplied aero fan as mine is virtually silent?

I have separated the homing & probing process out from the print start gcode and put it in a macro. This only needs to be run once at the start of a session. The start gcode can then just load the saved heightmap at the start of each print. I'll post all the files a bit later.

Link to comment
Share on other sites

Ok - how I do it:

Firstly I have a macro that I run when I first turn on the printer:

Calibrate (First Print)

; Warm Hotend and Bed
T0				; Select Tool 0
M104 S130		; Set Tool 0 temperature to 130 - no wait
M190 S60		; Set Bed temperature to 60 - wait

; Clear Values
G29 S2				; Clear Mesh Compensation Values
M290 R0 S0      	; Clear Baby-stepping

; Home all Axes
G28

; Bed levelling (G32)
G30 P0 X10  Y50  Z-99999 		; probe near a leadscrew
G30 P1 X290 Y48  Z-99999 	; probe near a leadscrew
G30 P2 X148 Y284 Z-99999 S3 	; probe near a leadscrew and calibrate 3 motors

; Re-home z axis in case it has shifted
G28 Z

; Mesh Compensation (G29)
G29 S2					; Clear Mesh Compensation Values
G29						; Run Mesh Compensation
G1 Z30 F310             ; Move bed down
G1 X150 Y145 F15600		; Move to centre

You only need the Bed levelling (G32) and the subsequent G28 Z if you are using 3 independent Z motors.

This will create a heightmap.csv file on the Duet's SD card containing the shape of the bed. This can be loaded into memory by a G29 S1 command in the slicer start gcode.

I have also removed all gcode from the slicer (Cura) config and put it in a macro on the Duet. That way it wont get lost if I upgrade/reinstall the slicer. Here are my macros for Cura:

start-gcode

M106 P0 S0               		; Start with the part cooling fan off
M290 R0 S0               		; clear Babystepping
G29 S1                          	; Load Mesh Compensation Settings from file
G1 Z5 F100                	 	; Raise Nozzle to 5mm
G1 X20 Y20 F3600  			; Move to front-left of bed
G21                                 	; metric values
G90                                 	; absolute positioning
M82                                	; set extruder to absolute mode
G92 E0                                  ; Reset Extruder Position
G1 E-1.00000 F1800.00000      		; Retract 1mm
G92 E0                                  ; Reset Extruder Position

end-gcode

M104 S0 		; turn off extruder temperature
M140 S0 		; turn off bed temperature
G28 X0 Y0		; home X and Y axis
M84 			; disable motors

These can be referenced in cura's config like this. You will need to adjust the path depending on where you put them. I have a Cura and a Slic3r subdirectory in my macros folder on the Duet to keep things neat:

M98 P/macros/Cura/start-gcode
M98 P/macros/Cura/end-gcode

Notice that I have removed any Homing Commands (G28) from the startup gcode. The printer should be homed and ready to go after running the Calibrate macro.

If it needs re-homing as it will between prints I have another macro that handles it:

Rehome (Subsequent Prints)

; Warm Hotend and Bed
T0			; Select Tool 0
M104 S130		; Set Tool 0 temperature to 130 - no wait
M190 S60		; Set Bed temperature to 60 - wait

; Clear Values
M290 R0 S0      	; Clear Baby-stepping

; Home all Axes
G28

G1 Z30 F310             ; Move bed down
G1 X150 Y145 F15600	; Move to centre

Thats it!

 

Link to comment
Share on other sites

Just looked back at some old config files and before I upgraded to the Aero I had a noisy V6 clip-on fan like yours. I had this in my homez.g

M106 P1 S0.75       ; Hotend Fan to 75% (reduce vibration)

The positive thing I suppose is that your piezo is no longer being interfered with by any z axis movement noise :)

 

Edited by tekkydave
  • Thanks 1
Link to comment
Share on other sites

Thank you Dave - very interesting and useful :thumbsup:  I like the idea of separating the calibration code from the start code and particularly putting it in Duet macros.

Link to comment
Share on other sites

Tried reducing the hotend fan speed to 75% and that stopped the false triggering :thumbsup:  However, I am getting heater fault from the bed.  Something else to chase up.  But that was only a quick manual test.

  • Like 1
Link to comment
Share on other sites

Increased temperatures again to values in between and it looks a bit better but isn't reliable.  I've watched the printer during the bed probing sequence and noticed that the X carriage is lifted slightly before the piezo sensor is triggered so I surmise that it's vibration from the bed that's triggering rather than the nozzle touching the bed.  So I need to increase the sensitivity and hence need to get vibration lower.  I have had it working from the nozzle contacting the bed with very good Z consistency previously - I'm no longer getting that.

1216793752_Screenshotfrom2019-03-1516-59-30.png.a163466498a762df6539c17feb92c59a.png1611240218_Screenshotfrom2019-03-1517-07-20.png.260e714262670fc2f102a209bd530fe3.png

Link to comment
Share on other sites

Going to do another test to establish a baseline.  I've removed filament from the hotend and cleaned the nozzle.  Also removed any filament traces from the glass bed with a scraper.  Now waiting for the hotend to cool down so that the fan is turned off.

Had to turn the sensitivity up a bit to get triggering from the nozzle but can't get the nozzle triggering without getting random triggering.  This is with the bed heated.  I'm just wondering if it's actually necessary to have the bed heated for Z probing.  It seems the heat from the bed is upsetting the piezoelectric sensor.

Edited by Gina
Link to comment
Share on other sites

Cold bed and still can't achieve the consistency and reliability I had before.  I don't know what's changed.

See post further up this page - Posted yesterday at 15:49.

The triggering varies from when the nozzle touches the bed to when the X carriage has lifted up to maybe a millimetre and varies hence very variable bed probing results.

1054590833_Screenshotfrom2019-03-1519-12-50.png.2fc3b82ee6500bc98d1bf53f2b7a07d2.png

Edited by Gina
Link to comment
Share on other sites

Been thinking...  My Concorde print bed is level enough without mesh grid probing so maybe just homing (which works) would be sufficient.  Think I'll try a print run.

Link to comment
Share on other sites

Commented out G29 in Slic3r start-up gcode and now running a test print of my ASC outer casing.  First layer seems to be printing fine - perfect nozzle height all round.

Link to comment
Share on other sites

Printed about 5 layers then the print came off the bed.  But that has nothing to do with bed probing - the thickness was uniform and even.  I had thoroughly cleaned the bed beforehand.  Probably needs some slicer settings tweaking.  Tried a couple of times with the same result.  This was with PLA.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. By using this site, you agree to our Terms of Use.