Recent Upgrade to DuetWiFi w/ DC42 IR z probe
-
You need to increase the M558 H parameter for initial calibration, as adavidm has suggested. When you have run G32 successfully a few times, copy the new M665 and M666 parameters into the corresponding commands in config.g, then you can reduce the M558 H parameter back to 5 or 3 to speed up auto calibration in future.
You only need to run M500 after G32 if you want to save the values for next time you power down and up again. So if you use G32 in your start gcode to fine-tune the calibration before each print, you do not need M500 there as well.
-
Thanks for the help. Sorry for all the questions
So after running the auto cal this is the results:
Calibrated 6 factors using 11 points, deviation before 4.376 after 0.087
M665
Diagonal 291.060, delta radius 144.172, homed height 385.661, bed radius 120.0, X 0.240°, Y -0.245°, Z 0.000°
M666
Endstop adjustments X0.77 Y1.13 Z-1.91, tilt X0.00% Y0.00%The I ran auto cal again and the results:
G32
Calibrated 6 factors using 11 points, deviation before 4.353 after 0.064
M666
Endstop adjustments X0.71 Y1.21 Z-1.92, tilt X0.00% Y0.00%
M665
Diagonal 291.060, delta radius 143.920, homed height 385.558, bed radius 120.0, X 0.126°, Y -0.189°, Z 0.000°How many times would you run auto cal and should I be entering the new M666 and M665 numbers in after each auto cal?
When is it good enough?
Also, I just tried a print, the Z is still to high. Once you auto cal and it's not right where should I be making fine tweaks?
-
You probably need to dial in the probe trigger height. This is a rough guide from memory, but should give you the idea.
Run autocal two or three times and save the values using M500 (make sure you have a M501 at the end of config.g if you want to reload this every time). At this point, is probably worth copying the M665 and M666 results into config.g as well, just so you have a sensible base calibration in there. Now, we need to measure, or have the firmware measure, the Z offset between the tip of the nozzle and the detection threshold of the IR probe. To start with, we'll get the nozzle down to a known reference point, 0,0,0:
[[language]] G0 X0 Y0 Z5 ;move the nozzle down to X0 Y0 Z5: M208 Z-10 S1 ;temporarily override the Z minimums ```manually jog the nozzle down (using the web interface or PanelDue) until it just barely grabs a piece of paper placed between the nozzle end and the bed. For best results, the nozzle should be hot and free of oozing plastic. Once that is done, send
[[language]]
G92 Z0 ; to tell the firmware the nozzle is at 0
G0 Z10 ; to lift the head above the IR trigger threshold
G30 S-1; to probe the bed and report the triggered heightThe result of the G30 should be the trigger height of your zprobe. If you repeat the G0 and the G30 S-1 a few times, you can judge the precision of the probe. The IR probe gives very consistent results on suitable surfaces. If you are not getting consistency, consider looking for mechanical or bed reflectivity issues. You can then loop back and put that information into the Z parameter of the G31 command [http://reprap.org/wiki/G-code#G31:_Set_or_Report_Current_Probe_status](http://reprap.org/wiki/G-code#G31:_Set_or_Report_Current_Probe_status). I can't remember if config-override.g includes G31 so make you you check there as well as config.g. Homing, with G28, and then returning to X0 Y0 Z0 (Slowly!) should now bring you to the bed surface. If that's the case then it is probably worth running autocal again with the more accurate probe height. I hope this helps. If I've made any errors please let me know and I'll amend or delete accordingly.
-
@adavidm I had done that as part of the set up before auto cal.
@dc42 please forgive the questions as I'm trying to learn.
If during the initial auto cal I need to copy the M666 and M665 values into the config.g file and you say the config_override is not needed if calibrating before each print, how do the new values for the new calibration get saved? -
When you run a successful a G32, the new M665 and M666 values are used and remembered until you reset or power off the Duet.
What I suggest is:
1. Do initial calibration, by running auto calibration a few times until the deviation is stable (twice is probably enough), then copy the new M665 and M666 values into the M665 and M666 commands in config.g.
2. Then whenever you power up the printer, the M665 and M666 values will be correct, or very close to correct. But you can run G32 before each print if you want, to allow for variations in temperature etc. These small variations are unlikely to be constant, so there is no need to save them for the next time you turn the printer on.
3. Whenever you make changes to your printer, repeat #1.
-
@adavidm I had done that as part of the set up before auto cal.
Ah, OK. In that case are you still "too high" after calibration? If so then I believe the H parameter of M665 is the one that needs to change, but this should not be done directly. See dougal1957's comment, below. Following calibration this should be the difference between Zmax (Taking endstop corrections into account) and Z0 (Taking Z-Probe offsets into account).
The problem with tweaking this distance directly is that it will be overruled by running autocal again. Better to figure out why autocal is not getting you to the right height. How far out are you?
Changing the G31 H parameter will ensure that the change is persisted across calibrations.
EDIT - Changed wording to make it clear Dougal1957's advice is correct.
-
No don't tweak the M665 line it is the H param on the G31 line that needs adjusting.
-
Thanks again everyone, It's printing, just need to learn the Kisslicer settings now to get a good quality 1st layer.
This is a tough process because you have to be careful in your research since you never know if what you're reading is accurate.
Appreciate the forums here. I realized I hadn't done a PID Auto Tune since switching electronics so working on that now.
This is what I got:
M307 H1
Heater 1 model: gain 415.1, time constant 185.9, dead time 9.2, max PWM 1.00, mode: PID
Setpoint change: P8.7, I0.047, D56.0
Load change: P8.7, I0.389, D56.0Do you have to limit the PWM with the S parameter? Tried researching that and can't find an answer if that is necessary.
E3Dv6 12v with 40w heater.
-
It depends on which FW you are using think the later ones are much easier in that respect 1.18 range
but they are still beta or RC Version's but I never ever bother about that they usually work very well and it is normally obscure bugs that get reported and don't normally effect the normal user if that makes senseDoug
-
FW is 1.17e (2017-02-10)
I just notice that While H1 worked for the Hotend
H0 which I thought was the bed returns a bad parameter error.I tried H2,3, and 4 - they don't return an error but don't heat the bed.
-
FW is 1.17e (2017-02-10)
I just notice that While H1 worked for the Hotend
H0 which I thought was the bed returns a bad parameter error.I tried H2,3, and 4 - they don't return an error but don't heat the bed.
What is the command containing parameter H0 that returns an error?
-
M303 H0 S130
Also tried without the S parameter. -
Strange, lots of people have tuned their bed heaters using a command similar to that.
-
I just remembered that the directions I followed for upgrading had the positive end of the bed wired directly to the PS and only used the negative for control connected to the Duet. Could that be the issue?
-
I just remembered that the directions I followed for upgrading had the positive end of the bed wired directly to the PS and only used the negative for control connected to the Duet. Could that be the issue?
That's for the case in which you have a separate power supply for the bed - is that what you have?
-
No I have one PS for the entire printer.
But I just rewired it so that both bed wires are connected to the Duet and still get a bad parameter error. -
What is the exact command you are sending?
Have you by any chance previously disabled the bed heater by sending M140 H-1?
-
M303 H0 S130
No I haven't disabled the bed heater. It still responds if I send a Temp to in the web interface.
-
I found the problem. The default maximum bed heater temperature is 130C (send M143 H0 to display it). So you need to either use a lower target temperature in your M303 command, or increase the allowed bed temperature by sending e.g. M143 H0 S140 to increase it to 140C.
I'll change the error message to make it more informative.
-
Thanks for your help.
So now I'm getting Auto tune cancelled because temperature is not increasing.
But the temp was increasing from 22.0 to 27 before it canceled.