Scanning Z Probe giving erratic Z values
-
@Phaedrux I'm running 3.5.4 because I was under the impression that using the SZP as the sole Z probe wasnt possible on anything 3.5.3 and below. Am I mistaken?
EDIT: I see my mistake on the RC / release nomenclature. Yes, Ill update tonight.
I can take photos of the wiring this evening. I'm also considering running a temporary ground wire to see if its just a noise issue. There is full continuity between the head and machine chassis (Stratasys STS1200 so its completely metal construction) but maybe Im not seeing something, so its worth a test I think.
-
Update:
Upgraded to 3.5.0 across all hardware and still get fluctuating readings. I also attached a ground wire directly to the head and saw no improvement.
-
@travasky said in Scanning Z Probe giving erratic Z values:
I have a SZP Im setting up on my machine. Its connected to the 6HC via a twisted pair of wires from the tool head approximately 1 meter in length. I've been struggling for hours trying to get it set up. Whenever I attempt to home the Z Axis i get a G30 error that says the probe is already triggered at the start of the homing move. The value in the status pane of DWC shows the probe value erratically bouncing from 5000 or so to 999999 every second or so. Ive checked the 5V signal at the SZP board and its a rock solid 5.01V. Ive also tried both coils with identical results. Im at a loss here. My Config.g is attached if thats helpful at all.
Calibrate the drive current using M558.2. The 999999 reading indicates that the drive current is not correct.
-
@dc42 I have done this several times now. Unless I'm misinterpreting the guide, Im not sure what I'm missing. I'll walk through my process and understanding based on the guide:
"Position the sensor above the bed at the minimum height that you expect to use it.
For example, if the trigger height is set to 3mm, and the bed error is expected to be not more than 1mm, the minimum height would be 2mm."In my case my sensor is above the tip of the nozzle by 3mm. I bring the nozzle to within 1mm of the bed. Set the trigger value in the G31 line in config.g to 4mm.
SIDE NOTE: Ive tried this with a number of different heights by the way. My bed is virtually flat (.05mm over the whole surface as measured with a dial indicator) so Ive tried this with different values all the way down to where the nozzle is .5mm from the bed surface.
"Run M558.2 K1 S-1 to calibrate the drive level. If it is successful then it should report the resulting drive level."
Done. Value is S16 R146320
"Add an M558.2 command in config.g to set that drive level, e.g. if the reported drive level after calibration was 15 and it is probe #1, then use M558.2 K1 S15. Add this later in config.g than the M558 K1 command that configures the probe."
Added results from previous step the config. In my case there are no other probes so I've omitted the K value. None of the other commands referencing the probe in config or the homing files use the K value either so Ive made sure there's no mismatch there.
Also check that the Z probe reading is sensible when the sensor is a long way above the bed. The aim is to get sensible readings (i.e. not 999999) from the minimum height to "infinite" height.
Im a bit unclear on what this step means exactly. But I can tell you that at this point the values are jumping around. I haven't moved the head from the initial location that I used to calibrate and sometimes Im getting 999999. Moving the sensor futher away from the bed sometimes changes the value, sometimes its just pinned at 999999, sometimes it jumps around. What should the sensor values look like in relation to the distance to the bed? IE, lower values when close and higher when further? Whats the sensing window?
The reading vs. height then needs to be calibrated, using M558.1. If you have another way of determining Z=0 (e.g. another Z probe, or touch the nozzle to the build plate and set G92 Z0) then it's best to do this immediately before scanning rather than try to save the calibration.
This step felt vague to me. But what I did was bring the nozzle down until it touched the bed. Then I ran M558.1 which gave me a probe not calibrated error. I assumed I was missing a term here, So I pulled up the RepRap g/m code reference and saw that I probably need an S value. I set it to 1mm and tried again. Now it gives me a successful calibration. But still no changes on the function. When I home I get a g30 error that the probe is already tripped. If I move the nozzle closer or further from the bed the values still jump around erratically.
What am I missing here?
-
I am getting ready to install my scanner probe. I found the instructions overall very vague and unclear as well. I'm normally pretty good at doing my due diligent research on most of this stuff and coming up with answers, but this one has me scratching my head.
Could we possibly just get a full step by step instruction process for the scanning probe, in one place, written a little more clearly?
-
@br7408 said in Scanning Z Probe giving erratic Z values:
I am getting ready to install my scanner probe. I found the instructions overall very vague and unclear as well. I'm normally pretty good at doing my due diligent research on most of this stuff and coming up with answers, but this one has me scratching my head.
Could we possibly just get a full step by step instruction process for the scanning probe, in one place, written a little more clearly?
I felt exactly the same way. I know the SZP is relatively new and there are a lot of things going on all the time with code and hardware and how they mix. Documenting all of that in a way that is widely accessible is hard. I feel like these instructions read more like notes I would write to myself as reminders after I was already familiar with the process. Please don't take that as criticism made in bad faith, @dc42. Just my perspective as an end user. I'd say the vast majority of the documentation has been just fine, but this one area isn't clear for me.
Ive done three industrial control swaps on machining centers with Centroid hardware, built other custom printers based on Duet 2, etc so I know I should have the skills to figure this out but its just not coming together for me this time.
-
@travasky said in Scanning Z Probe giving erratic Z values:
@br7408 said in Scanning Z Probe giving erratic Z values:
I am getting ready to install my scanner probe. I found the instructions overall very vague and unclear as well. I'm normally pretty good at doing my due diligent research on most of this stuff and coming up with answers, but this one has me scratching my head.
Could we possibly just get a full step by step instruction process for the scanning probe, in one place, written a little more clearly?
I felt exactly the same way. And thats not a dig on DC, either. I know the SZP is relatively new and there are a lot of things going on all the time with code and hardware and how they mix.
Ive done three industrial control swaps on machining centers with Centroid hardware, built other custom printers based on Duet 2, etc so I know I should have the skills to figure this out but its just not coming together for me this time.
I am getting ready to run up my prototype printer and do some calibration. If I can get the scanning probe to work, I will let you know and try and help you the best I can.
-
While we're talking about the SZP documentation.
I see we get both the 12mm and 15mm probes in the box with my Revo Roto Toolboard.
In the documentation it points out the two probes, but doesn't give any guidance as to the differences/preferences between them. Could anyone clarify? I assume that the 12mm probe is for lower probe distances, but it would be nice to get more exact recommendations. -
@j-pickens I think the two options were included because it's still an early device and it wasn't clear which would work better in different cases so both were included for the user to test.
-
@j-pickens From @T3P3Tony
In theory the 12mm coils are higher resolution than the 15mm coils but we need more testing to confirm which is best so we provide both
I'm converting my TronXY X5S to something a bit better, and currently setting it up as a test machine, with which I can easily swap toolboards (I have 3x 1LC of different versions, Roto and SZP, as well as a few Mellow/Fly toolboards from @jay_s_uk) and coils. I'm planning on testing all the SZP setups and updating the documentation, hopefully next week.
Ian
-
@droftarts That's funny, I have the same Tronxy X5S. Bought it for the 400mm cubic print area, the core XY, and the unique steel rod rails on aluminum extrusion axes. I never set it up with the stock extruder and electronics. Chucked them in the bin and installed a Duet 2 board, Paneldue, and E3D Hemera Revo. Added a BL Touch style Z probe and off I went. The Duet automated bed tramming made all the difference. Can't wait to set up the new Z axis probe on my Toolchanger.
-
@j-pickens Ah, that sounds like a X5SA-400 PRO! Mine is the entry level X5S (not even an A), so I don't have the steel rods, just plastic wheels running in the extrusion, and mine has a 330mm square bed. But I got it for free, just over 3 years ago! The previous owner didn't know how to route the belts, or build the hot end, and never got it working properly. I also put a Duet 2 WiFi and BL Touch on it, and it worked okay, but I was never that happy with it, so it has sat in the corner being used as shelving for a long time.
I took it apart last week, rebuilt the frame properly with button head bolts in the blind joints, and replaced a bunch of bearings that were very sticky, fitted a 6HC and replaced nearly all the wiring to the X carriage with a CAN cable. Now it runs much better. It doesn't have an extruder or hot end at the moment, as it's about to do SZP testing.
Eventually it will get an upgrade to either VzBot or Voron Trident top end, but for now the CoreXY layout is sufficient. It's the weak and flimsy 12V bed that's getting ditched first, after the SZP testing, for something like a RatRig V-core kinematic setup.
Ian
-
Any update from anyone on this front? Ive just been running the machine without the probing which is less than ideal. @dc42, Is there anything you can add to help us out here?
-
-
@travasky I have been doing some testing, and will update the instructions tomorrow, and reply here with some other observations.
Spoiler: I don’t see erratic readings, though I’ve been testing using a Roto toolboard rather than the SZP toolboard.
Ian
-
@travasky said in Scanning Z Probe giving erratic Z values:
Any update from anyone on this front? Ive just been running the machine without the probing which is less than ideal. @dc42, Is there anything you can add to help us out here?
Please send an email to warranty@duet3d.com and CC your reseller. Include a link to this forum thread and the details of your original purchase. You'll receive a reply with a form to fill out.
-
@Phaedrux said in Scanning Z Probe giving erratic Z values:
@travasky said in Scanning Z Probe giving erratic Z values:
Any update from anyone on this front? Ive just been running the machine without the probing which is less than ideal. @dc42, Is there anything you can add to help us out here?
Please send an email to warranty@duet3d.com and CC your reseller. Include a link to this forum thread and the details of your original purchase. You'll receive a reply with a form to fill out.
Hi!
I have what seems to be the exact same problem with erratic readings from the scanner, Hardware fault?
-
@kgbengt When you get erratic readings, do you mean the probe reading reported in DWC moves around (say, +/-5), or that you get sporadic 999999 readings?
Please report what size coil you are using (12mm or 15mm), and the response to M558.1 K# and M558.2 K#, where # is the probe number.I've been doing some testing recently (still ongoing sorry for the slow update). The setup is quite sensitive; I can configure it to produce sporadic 999999 readings by setting the drive current to 16 rather than 15 on the 12mm coil.
A few notes on mounting:
- In theory the 12mm coils are higher resolution than the 15mm coils but we need more testing to confirm which is best so we provide both (in progress: very generally, I find it easier to get sporadic 999999 readings with the 12mm coil)
- Make sure there is no metal in the 30mm ABOVE the coil, or it will pick this up and give false readings
- Mount the coil 1-2mm above the nozzle.
- Route the SZP ribbon cable away from the coil, ie make sure it doesn't go over the coil
- Ensure that the ribbon cable is FULLY inserted into the tiny connector, at both ends. Try reseating this if you continue to get erratic readings
- I use M2.5 countersunk screws (often supplied with smaller fans) to mount the coil, which stick out about 0.7mm. M3 countersunk screws stick out a bit further. There are M3 screws with low profile heads, usually between 0.8mm and 1mm; search for "m3 ultra low profile thin head".
Configuration and calibration is a little vague in the instructions, but mostly correct (I've just added that reading offset needs to be set in config.g as well as drive current); I have some notes on that, but need to check and verify them. Briefly:
- My coil is mounted 2mm above the nozzle, I have G31 Z2 set, so it is 4mm above the bed when it triggers.
- The part that needs testing is the height to calibrate the drive current. I tend to do this at the same height as G31 is set, ie Z2. The instructions aren't very clear on this at the moment.
- drive current AND reading offset should be set with, for example, M558.2 K1 S15 R101133 (use the numbers you get from the drive current calibration)
- Note that the current instructions tell you to check for 'sensible readings' (ie not 999999 when far from the bed) BEFORE reading vs height (M558.1) calibration. I've found I can get sporadic 999999 AFTER this calibration, but only when further (ie Z5 and higher) from the bed. I'm trying to narrow down the factors that cause this, but it seems to be setting the drive current too high.
- reading vs height calibration is pretty much as in the instructions.
Let me know if that helps.
Ian
-
Hi, I had the very similar problems with the SZP, but I fixed it with your instructions in this thread.
Now I can use the SZP to do a 3-point bed leveling, but when I start the G29 or G32, all points of the mesh are on 0.0mm deviation.
Do you have any tips on what the problem might be, or have you ever had a similar case?
I use the 12mm coil.
; machine_zprobe.g ; 2024-08-21 ; Z-Scanning Probe for T0 M558 K1 P11 C"120.i2c.ldc1612" H5 F6000 T6000 ; configure scanning probe t0 via slot #1 M308 A"SZP coil" S10 Y"thermistor" P"120.temp2" ; thermistor on SZP coil G31 P9400 X32 Y0 Z1.7 K1 ; set t0 Z probe trigger value, offset and trigger height, Z4 means 4mm offset Probe to Nozzle M558.2 K1 S15 R139620 ; set drive current and reading offset ; Z-Scanning Probe for T1 ;M558 K2 P11 C"121.i2c.ldc1612" H5 F6000 T6000 ; configure scanning probe t1 via slot #2 ;G31 P500 X0 Y0 Z0.7 ; set Z probe trigger value, offset and trigger height ; Mesh Bed Compensation M557 X-180:180 Y-180:180 S18 ; define grid for mesh bed compensation
; bed.g ; 2024-08-21 ; Heat bed and nozzle ;M140 S60 ; set the bed to 60C M104 T0 S220 ; set the t0 to 220C ; prepare printer G1 Z2 F800 ;M190 S60 ; wait for the bed to reach 60C M109 T0 S220 ; wait for the nozzle to read 220C M98 P"Bedleveling.g" ; start 3-point-Leveling ; Clear any bed transform G29 S2 ; Does the same as M561! ; mesh bed compensation M557 X-175:175 Y-175:175 S20:20 ; define grid for mesh bed compensation G29 K1 S0 ; Probe the bed, save height map to "heightmap.csv" and enable mesh bed compensation
; Bedleveling.g ; Bedleveling with 3 Points ; 2024-08-20 ; Z-leveling with 3 points and scanning probe after Z-homing G28 ; home all axes while true G30 P0 X-180 Y-180 Z-99999 K1 ; probe point 0 near Z1-joint G30 P1 X0 Y180 Z-99999 K1 ; probe point 1 near Z2-joint G30 P2 X180 Y-180 Z-99999 S3 K1 ; probe point 2 near Z3-joint and calibrate all Z-motors if abs(move.calibration.initial.deviation) < 0.01 || iterations >3 break ; move to startposition G1 Y0 Z50 F1000 G28 XU
; _3_Mesh_Bed.g ; 2024-08-12 M291 P"Do you want to Mesh Your Bed?" S3 M291 R"PREPARING BED COMPENSATION (MESHING)" P"Now homing and heating up (nozzle & bed). Wait for further instructions." S0 ; preparing G28 ;M140 S60 ; Start heating bed to 60c ;M190 S60 ; wait for Bed temperature G10 P0 S200 ; turn on t0 ;Beep 3 times M300 S600 P250 G4 P401 M300 S600 P250 G4 P401 M300 S600 P250 G4 P401 M291 R"NOTICE" P"Bed Mesh Starting." S2 G32 ; Executes the bed mesh procedure defined in bed.g ; place t0 and bed G1 Z20 F800 ; raise bed G1 X0 Y0 F4000 ; center t0 ;Beep 3 times M300 S1500 P200 G4 P250 M300 S1000 P200 G4 P250 M300 S500 P200 G4 P250 G1 Z100 F800 ; Move the bed to Z 100mm from the nozzle so that there is room to retract the z probe if desired. G1 X0 Y0 F4000 ; Move the bed to Z 100mm from the nozzle so that there is room to retract the z probe if desired. M291 R"NOTICE" P"Do you want to turn off your heaters (Bed & Nozzle)?" S3 M140 S0 ; turn off heated bed G10 P0 S0 ; turn off t0
-
@trulm said in Scanning Z Probe giving erratic Z values:
but when I start the G29 or G32, all points of the mesh are on 0.0mm deviation.
Can you explain more what you mean by this?