Duet Wifi Z Continues to Move After Triggered

Background

Before digging into probing it's useful to take a look at what happens at the beginning of a print. After the printer homes the firmware needs to know exactly where the bed surface is located, calledZ=0 by convention, so it can position the nozzle for the first layer. This distance, calledZ height, is configured in the firmware. The firmware uses theZ height and subtracts the layer height to position the nozzle above the bed, as shown below for a typical 0.20mm first layer.

To recap,Z height is the total distance the nozzle must travel from the home position (top of printer) to where it is just touching the bed (Z=0) as shown in the diagram to below.Z height is an important parameter as it's what determines whether the first layer is too thin, too thick or just right. In a perfect world, you would setZ height once and be done. In the real worldZ height is not static; thermal expansion and contraction can change the position of the bed slightly and the frame and delta mechanics can also change ever so slightly on a day-to-day basis.

Z Height

In the Early Delta Days (EDD) (pre-probing) you determinedtheZ height  empirically and set it in the firmware. This was a chore and caused countless problems for newcomers. So the quest for auto-probing (or simply probing) ramped up to simplify setting the Z height as part of more comprehensive delta printer calibration.

Probing

The probe, or more preciselyZ probe, is a device that accurately and precisely reports itsZ position. In the hypothetical perfect world the probe would trigger just at the point where the nozzle tip touches the print surface and report the actualZ height. In practice, such a probe is not practical and there will likely be an offset from the nozzle tip to the bed surface. In RepRapFirmware and Smoothieware, this offset is calledtrigger Z height. The IR Probing  diagram below shows this offset as 5mm.

Raise your hand if you knew that you have to calibrate your Z probe  for delta auto-calibration to work properly. You do and I'll explain why and how in this post. As we learned above, real world probes do not trigger precisely at Z=0 . T his implies that some probes trigger with the nozzle

above

 the bed surface and others trigger with it

below

 the bed surface – and this is indeed the case. Probes that trigger with the nozzle above the bed surface include inductive probes, IR probes and the early simple effector-mounted mechanical switches . Probes that trigger with the nozzle below the surface typically function by pressing the nozzle into the bed and some small movement is necessary to trigger the probe. FSR (force sensitive resistor) probing is a typical example.

I'll look at each of these two cases in detail below using the IR probe as the example for probes that trigger with the nozzle above the bed and FSR probing for probes that trigger with the nozzle below the bed surface. Let's start with the simplest case to understand, the IR probe.

IR Probing Example

IR Probing

Conceptually, an IR probe works by shining a beam of IR light from an LED at the bed surface. If the bed is IR reflective, some of that light bounces back and is detected by an IR sensor. The time it takes for the beam to make this round trip can be used to calculate the height the sensor is above the print bed. As you see in the diagram, the IR probe is mounted with its lens a few millimeters above the tip of the nozzle and it is designed to trigger

before

 the nozzle hits the bed. The height the nozzle is above the bed when the probe triggers is called thetrigger Z height. Let's assume that thetigger Z height is 5mm as shown in the diagram.

If you simply ran delta auto-calibration (G32) after installing the IR probe, without telling the firmware how to adjust for this gap (trigger Z height), the firmware would think thatZ=0 is 5mm above the bed and would start your print in the air. It's hard to get a first layer to stick 5mm above the bed (actually, 5mm plus the thickness of your first layer, so 5.20mm above the bed).

Now you can see that some adjustment, or calibration, is needed to let the firmware know whereZ=0actually is. In RepRapFirmware and Smoothieware,G31 is used to set thetrigger Z height – the height of the nozzle when the probe triggers. In this case that is 5mm. Think about what this means in relation to theZ height described earlier. When the printer probes, it triggers with the nozzle 5mm above the bed. The distance the probe (and nozzle) traveled is called theprobed Z height. Knowing this, you could set the correctZ height using theM665 H parameter simply by adding "5" to theH value. This works as expected but the next time you probe you have to remember to resetM665 H again. This is tedious and error prone.

This is wheretrigger Z height comes in; the firmware sets thetrigger Z height with theG31 Z parameter.  TheG31 Z value is

added

 to theprobedZ height to calculate the actualZ height. Makes sense, right?

Z Height Calculation for Trigger ABOVE Bed

FSR Probing Example

Now that you understand the simple case where the probe triggers

above

 the bed surface, let's take a look at FSR probing where the trigger point is

below

 the bed surface.

A typical FSR probing system consists of three FSRs positioned evenly (120°) around the perimeter to support the print bed. These FSRs are connected to an interface board that converts the resistance signals into a simply binary on/off signal so the system behaves like a simple endstop switch to the controller (Duet). This board is the infamous JohnSL controller and is really the magic that makes FSRs practical to use.

Watch this short video showing how the nozzle pushes the bed slightly to trigger the FSRs.

We saw earlier that the IR probe triggers with the nozzle

above

 the bed surface, here the FSR probe triggers with the nozzle just slightly

below

 the bed surface – exactly the opposite. Here's a still view of the situation, lets assume the trigger point is 0.5 mm below the bed – greatly exaggerated for illustration.

FSR Probing

Now we should be able to apply what we learned about setting thetrigger Z height for the IR probe in the example above. In this case theprobed Z height is

longer

 than the actualZ height so we need to

subtract

 thetrigger Z height fromprobed Z height to calculate the correctZ height.

Z Height Calculation for Trigger BELOW Bed

Again, it makes sense.

Ok, that's all great, how do I determine theTrigger Z Height?

Now that you know you have a problem (you need to calibrate your Z probetrigger Z height) you can learn how to fix the problem. The Duet Wiki has a nice procedure for doing this but I'm going to recommend a slight modification to the process and I'll explain why.

Settingtrigger Z height

  1. Position the nozzle until it is atZ=0 – this is where I deviate from "standard practice" of using the paper snag test. Typical notebook or printer paper (20#) is about 0.1mm thick (see photo below), about half of a typical 0.20mm first layer height. An old machinist's trick is to use cigarette rolling paper; it is remarkably thin (~0.02mm) and tears easily when snagged. I recommend buying a pack or two and using it for all yourZ=0 testing.
  2. Set this height toZ=0 with G92 Z0.
  3. Move the nozzle up a centimeter or so, just to get it out of the way and clear of the bed.
  4. Now run a single probe that doesn't update the printer's coordinates with G30 S-1.
  5. Finally, get theZ height usingM114. This is the value to put in theG31 Z parameter inconfig.g. This will be positive for probes that trigger above the bed surface like the IR probe and negative for probes that trigger below the bed surface like FSR probes.

Here's a photo showing the thickness of common 20# printer paper, 0.10mm.

20# Printer Paper is 0.10mm thick

Tweak, tweak

Once you've determined and set thetrigger Z height you should make a test print to ensure your first layer height is what you expect. I like to use mySingleLayerTest model to do this, it is simply a 75mm diameter disk that is one layer height tall (0.20mm is typical). Run the delta auto-calibration and print theSingleLayerTest. Once the part has cooled, peal it off the bed and carefully measure its thickness with a micrometer or caliper. It should be very close to your layer height – 0.20mm in this example. If it is not, you need to tweak the G31 Z parameter to compensate. Here's where it gets fun and where a lot of users get confused and frustrated – especially those who are using FSR probes!

Probes that triggerabove the bed (IR probe)

This one is easy. Remember theZ Height Calculation for Trigger ABOVE Bed drawing above? TheZ height – which is the value the firmware cares about – is calculated by adding theprobe Z height to thetrigger Z height. If yourSingleLayerTest is too thick, you need to

increase

trigger Z height to move the nozzle closer to the bed. Conversely, if theSingleLayerTest was too thin,

decrease

trigger Z height. The way to think about this is from the perspective of the desiredZ height. Theprobe Z height is fixed as long as you don't physically alter the probe or its mount. So if a first layer is too thick, your goal is to increase theZ height, thereby moving the nozzle closer to the bed. You do this by increasing thetrigger Z height (sinceprobe Z height does not change).

Probes that triggerbelow the bed (FSR probe)

Look at theZ Height Calculation for Trigger BELOW Bed drawing above. In this case, if theSingleLayerTest is too thick theprobe Z height must change in the positive direction (a smaller negative number). If theSingleLayerTest was too thin,probe Z height must change in the negative direction (a more negative number). This might seem a little counterintuitive until you consider that the direction and magnitude of the change is relative to theprobe Z height. Let's take a concrete example so it sticks in your mind:

Assume you have 0.20mm layer height and FSR probe withG31 Z-0.15 to let the firmware know the probe triggers slightly below the bed surface.

Now you print theSingleLayerTest and measure it at 0.16mm thick. This is 0.04mm

thinner

 than you expected. What this says is that theZ probe height is

longer

 than the desiredZ height so you need to make it

shorter

. You've already told the firmware to move -.15mm with theG31 Z-0.15 but that wasn't enough, so to move back more, subtract 0.04mm from theZ height offset (-.15m) to get -0.19mm. SetG31 Z-0.19 inconfig.g and auto-calibration should result in a perfectZ height and perfect first layer thickness the next time you print.

Or the easy way with RRF 1.18 Baby Stepping

RepRapFirmware v1.18 introduced a new feature –M290baby stepping – and Duet Web Control v1.15a supports it with new buttons on thePrint Status page.

Baby Stepping Buttons

With baby stepping, you can actually move the nozzle up or down to change the first layer heightwhile the printer is printing the first layer. So for the example above, if the first layer was printing too thin you could click theUp button to make the layer thicker by the set increment – in my case it is 0.02mm per click. Make note of theCurrent Offset value shown above the buttons. Once the print has completed,subtract theCurrent Offset value from theZ height offset and update the G31 Z. For the example I would have clicked theUp button twice to increase the 0.16mm first layer to get the 0.20mm layer height I expected. TheG31 Z value was -0.15 so I subtract 0.04mm from it:

-.015 - .04 = -0.019mm

SetG31 Z-0.019 and you have corrected yourZ height offset.

Conclusion

I realize this is probably more detail than most would like but I wanted to capture this so I don't have to repeat myself. I receive a lot of questions about probing and bad first layer heights. Many times, the simple explanation and answer is that delta auto-calibration does require calibrating the probe itself –Z height offset!

E3D Online V6 hot end drawing used with permission.

nelsonsincy2000.blogspot.com

Source: https://www.sublimelayers.com/2017/05/fdffsd.html

0 Response to "Duet Wifi Z Continues to Move After Triggered"

Enregistrer un commentaire

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel