Induction Z Probe Tuning issue.
Hi, all again.
The printer is Giant Delta using Duet 2 wifi r1.04
Arm length 1200 mm
Print volume ;
1200 mm Diameter,
1320 mm Height.
Machine Well built, probably not considerable difference on end stops. But currently, X and Y moves seem curved on the plane. From the center to out Radius up to 3 cm difference.
Auto Calibration fails due to the crush.
Inductive Sensor is seemed working. if I move manually to the bed, on Dashboard Z-probe value shows zero. When the head is away, the value always keeps 1000 values.
I am having a hard time to figure out from the documentation.
Do you have any suggestions about fixing the calibration issue?
post you config.g
without auto calibration its hard to say
what do you mean?
invert the signal. how depends on the firmware version.
@Veti It is basically hit to the table on auto-calibration command from the dashboard. But When I move manually, the sensors signal on, and on the Dashboard is seen Z-probe value became 0. When head away, stay in 1000 constantly. in this case, do I need to invert the signal?
This is the config;
; Configuration file for Duet WiFi (firmware version 3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.1.4 on Sun Sep 27 2020 20:52:39 GMT+0200 (Central European Summer Time) ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"Giant3D" ; set printer name M665 R600 L1200 B575 H1305 ; Set delta radius, diagonal rod length, printable radius and homed height M666 X0 Y0 Z0 ; put your endstop adjustments here, or let auto calibration find them ; Network M551 P"" ; set password M552 P0.0.0.0 S1 ; enable network, use DHCP M552 S1 ; enable network M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet ; Drives M569 P5 S0 R0 T3:3:5:0 ; Extruder drive 0 goes Forward M569 P1 S1 R0 T2.5:2.5:6:6 ; X:A drive 1 goes Forward M569 P2 S1 R0 T2.5:2.5:6:6 ; Y:B drive 2 goes Forward M569 P3 S1 R0 T2.5:2.5:6:6 ; Z:C physical drive 3 goes Forward M584 X6 Y7 Z8 E5 ; set drive mapping M350 X0 Y0 Z0 E0 I0 ; configure microstepping without interpolation M92 X114.29 Y114.29 Z114.29 E274.00 ; set steps per mm (400/140) * 40 = 114.2857 ;; 400 step per rev ;; 140 mm one rev pulley ;;1:40 ratio gearbox M566 X1200.00 Y1200.00 Z1200.00 E1200.00 ; set maximum instantaneous speed changes (mm/min) M203 X3000.00 Y3000.00 Z3000.00 E3000.00 ; set maximum speeds (mm/min) M201 X500.00 Y500.00 Z500.00 E1000.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 Z0 S1 ; set minimum Z ; Endstops M574 X2 S1 P"xstop" ; configure active-high endstop for high end on X via pin xstop M574 Y2 S1 P"ystop" ; configure active-high endstop for high end on Y via pin ystop M574 Z2 S1 P"zstop" ; configure active-high endstop for high end on Z via pin zstop ; Z-Probe M558 P1 C"zprobe.in+zprobe.mod" H5 F120 T6000 ; set Z probe type to unmodulated and the dive height + speeds M558 H30 ;*** Remove this line after delta calibration has been done and new delta parameters have been saved G31 P500 X0 Y0 Z0 ; set Z probe trigger value, offset and trigger height M557 R350 S200 ; define mesh grid ; Bed Heater M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 ; 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 ; enable bang-bang mode for the bed heater and set PWM limit M140 H0 ; map heated bed to heater 0 M143 H0 S100 ; set temperature limit for heater 0 to 120C ; HotEnd M308 S1 P"spi.cs1" Y"rtd-max31865" ; configure sensor 1 as PT100 on pin e0temp M308 S2 P"spi.cs2" Y"rtd-max31865" ; configure sensor 2 as PT100 on pin e1temp M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1 M950 H2 C"e1heat" T2 ; create nozzle heater output on e1heat and map it to sensor 2 M307 H1 B0 S0.50 ; disable bang-bang mode for heater and set PWM limit M307 H2 B0 S0.50 ; disable bang-bang mode for heater and set PWM limit M143 H1 S480 ;Set temperature max temp: M143 H2 S480 ;Set temperature max temp: ; Fans M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency M106 P0 S1 H2:1 T45 ; set fan 0 value. Thermostatic control is turned on ; Tools M563 P0 D0 H1:2 F0 S"Typhoon" ; 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 ; Miscellaneous M575 P1 S1 B57600 ; enable support for PanelDue M501 ; load saved parameters from non-volatile memory M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss T0 ; select first tool ; Bunun maksadi sadece enable konumuna ulasmasi icin motorlari uyandirmak. ;G91 ; relative positioning ;G1 H2 X-0.1 Y-0.1 Z-0.1 F1000 ; go down a few mm
Veti last edited by Veti
M558 P1 C"zprobe.in+zprobe.mod" H5 F120 T6000 ; set Z probe type to unmodulated and the dive height + speeds
M558 P8 C"!zprobe.in" H5 F120 T6000 ; set Z probe type to unmodulated and the dive
M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin bedtemp
B4138 is wrong. Look up the correct value in your thermistor documentation
G31 P500 X0 Y0 Z0 ; set Z probe trigger value, offset and trigger height
offset is missing
M558 P8 C"!zprobe.in" H5 F120
The Signal inverted this time. Zprobe shows the value at 0, changes to 1000 when close to the metal bed on the manual move.
But once auto-calibration runs, it Is going down on the table, stops on 30 mm, and move in -Y direction by ramp movement to the table. slowly lowering the head, until it hit the table, but it does not stop. so I shut down the machine because it was about crack.
; Z-Probe M558 P8 C"!zprobe.in" H5 F120 T500 ; set Z probe type to unmodulated and the dive height + speeds M558 H30 ;*** Remove this line after delta calibration has been done and new delta parameters have been saved G31 P500 X42.43 Y-42.43 Z0 ; Circular 60 mm radius, 42.43 mm set Z probe trigger value, offset and trigger height M557 R350 S200 ; define mesh grid
Thank you for helping.
G31 P500 X42.43 Y-42.43 Z0 ; Circular 60 mm radius, 42.43 mm set Z probe trigger value, offset and trigger height
you have not provided an z offset.
@Veti Z offset is equal to the head. When the sensor triggered at the zero height of the nozzle.
Z offset is equal to the head. When the sensor triggered at the zero height of the nozzle.
very unlikely, even with the piezo or the duet smart effector where the actual probe is the nozzle its not 0.
I understand that. The sensor's physical distance 4 mm above the nozzle height. But sensor trigger at zero of the nozzle height. By the way, it is a huge machine and I may need to put 1 mm clearance to the bed not to crush during vibration. Because the Extrusion nozzle 2.5 mm. it is probably acceptable tolerance.
Do you have any suggested numbers for the Z?
you have to measure it, like its describe in the linked document
@Veti Thank you. I will follow the instruction.
But in my case paper seems very thin. I assume paper 0.1 mm thick, and on my scale, I thought a 1 mm board instead of a paper. Head and axis weighs about 18 kg and causing a small vibration during the move.
What do you think?
Veti last edited by Veti
the reason why i also want you to run this is because it also test if your probe is working
i dont know if at the size of your printer 1mm is making much of a difference. what is the nozzle size?
@Veti nozzle size 2.5 mm.
The sensor seems working. Because when I put metal nearby the edge of the sensor, the light on the sensor switch on, and Duet web interface also probe indication changing by 0 to 1000 or wiseverse.
lord binky last edited by lord binky
This is how I do it: get the nozzle height set manually the paper method and m665 don't worry about the probe yet. Being safe i send a G0 z10 then jog the z height down to the paper, then home and do it again from like Z1 to verify Z0 is just touching the paper. If it doesn't I need to start looking for why my movement isn't consistent.
After your sure your movement is stable, make sure your probe is triggered at Z0, if it is I home and send it down to like 5-10mm then run a G30 S-1, this will tell me the height my probe triggers at from the point I wanted as my Z0 height. Send it back up 5 mm or so and do the g30 S-1 again. These will give you indication on how precise you probe and movement are. NOTE: most inductive probes under $60 typically trigger at a rate of 500Hz, so your probe trigger height will vary plus or minus the distance it travels in 1/500 of a second in that case and it can easily be .1 mm
Plug that probe trigger height into G31 and you should have a good trigger height to auto calibrate from.
Other techniques I've used, a metal cylinder centered with the nozzle will let me jog the effector around to find the center which the probe triggers ( ex: move the probe in from the left until it triggers, then from the right and split the difference is my x offset (invert before you send it in g31) This also let's you assess the shape of the field that triggers from the probe which is really more of a peanut shape than a circle and any tilt in your probe thats different from your hotend will show in your auto calibration. For me I also have to rotate the inductive probe so the response shape to be symmetrical in the x and y because it drives me crazy knowing that invisible field isn't lined up lol.
ok so g30 is working?
can you measure the height using g30 within 5 mm?
if that is also accurate then increase the move height after each trigger
to something big like
lord binky last edited by
I don't use high dive heights on my probe since I have M558 set to like F60, so big dives would be painfully slow. I use that value since it gives me repeatability in the (off the top of my head, it's been awhile) +/- .003 mm range with a 1Khz switching frequency probe (basically within a microstep ). If my calibrations aren't under .020 (typically .014 because I got tired of fiddling with bits to hit .009) I know I need to check the machine for loose bits. Here's my config settings to compare and my probe is an IFM IE5390 MSRP $93 ($30 off of ebay)
M558 P5 C"e1stop" H3 F60 T3000
G31 K0 P10 G31 X24.4 Y-1.1 Z0.546
I also found that large dive heights at slow speeds would cover up issues I'd need to address like skipped steps in fast movements, so I just use travel commands to go up quickly then back down to a reasonable probe distance, maybe even a little to the left and right to check for backlash.
Also you typically can't use the advertised trigger distance for your inductive probes most of the time, which is the response distance to ferrous metals such as steel. Aluminum will trigger at about 30-45% of that distance unless it's an all-metal/ K-factor (correction factor) probe. note: The larger the sensing distance, the larger the variation in the drift of the trigger distance, so it's best to pick a probe with the smallest trigger distance while giving you a safe clearance above nozzle height.
If you have a cylinder type probe that you can easily adjust the height of the probe like mine, I move the nozzle to the height above your bed you want the probe to trigger at and then adjust the probe height until it just triggers. Keep in mind that the trigger distance in aluminum changes significantly (relative to bed leveling) between a cold bed and a hot bed. It's not THAT bad, a few baby steps should compensate for it when you go to print, but if you're going through the effort to set everything up right why not account for it.
this is just for the inital setup to get calibration to run once as you have not achieved this yet.
The sensor seems working.
I want to establish that the g30 command is working
Thanks. It works.
G30 S-1 Stopped at height 0.101 mm
I probably need a proper bed calibration command set.
From the center of the bed to outside radios difference around 3 cm. The Head is moving on a parabolic curve on the X-Y plane. IT is not a moving plane.
The sensor works, but still needs bed calibration I think. So what should be the next?