Duet WiFi firmware new feature priorities
-
@dc42: Another 17 variables! Wow. I guess a lot of research has been done into this, so I'll shut up and let the experts work on it lol.
With respect to hysteresis, I only listed it because I assumed, being on your list, that the effects were significant. I have no data of my own to indicate that it is a problem. Overall, I don't care if it's hysteresis, geometry, thermal expansion, etc., my thought is just that making a printer as accurate as reasonably possible is more important than, e.g., faster file uploads or most "convenience" items. Maybe we are already there, or almost there, and bumping into the fundamental limitations of the hardware.
-
Hi,
…......................and (not sure what this would be included under) so that if I change nozzles and the nozzles are of different lengths, it still "just works" (I assume height compensation is different than bed leveling -- I am not sure if it can already be done)........................
James
I guess the only way that could be achieved is if the nozzle itself is the probe and is used to actuate a sensor. With any other sort of Z probe or switch, there is no way that the firmware could determine the relationship between the position of the sensor and the tip of the nozzle (other than "telling it").
Maybe I am misunderstanding something, but doesn't all bed leveling assume a sensor that could do this? It seems that if I know when I hit the bed, I know how long my nozzle is.
Thanks,
JamesErr no (or yes). If you are talking about bed level compensation, then of course it won't be affected by the length of your nozzle. Bed level compensation will make adjustments to compensate if the bed is tilted in X or Y or, in the case of grid based compensation, it will make adjustments to compensate for if the bed is saddle shaped or otherwise deformed. The length of the nozzle is irrelevant.
However, if your are talking about bed height adjustment (i.e. Z homing), then the machine has to "know" where Z=0 is - i.e the point where the nozzle is just touching (or slightly above) the bed. I guess we could just smash the nozzle into the bed and take the point where the motor stalls as being Z=0, but it's likely to cause some damage and not be very repeatable so we adopt a more elegant approach. The way that is achieved is by using a sensor that triggers at some given distance above the bed (before the nozzle actually crashes into it and does some damage). So say for example that trigger point is 2mm above the point where the nozzle is just touching the bed (Z=0). This is what we put into our G31 command. When we "home" the Z axis, the machine will raise the bed (or lower the carriage) until the sensor triggers. It then "knows" that Z=0 is 2mm below this trigger point (because we have told it that is the case). So if we then immediately send G1 Z0 command, it will move the bed to the point where the nozzle just touches the bed -i.e a further 2mm. Therefore, if you were to fit a nozzle that was say 1mm longer, you would need to tell the machine that the trigger height for the sensor is now 1mm above the tip of the nozzle instead of the 2mm that you were previously using.
Which is why I said, that the only way the machine could "know" that you have fitted a longer nozzle, is if the nozzle itself was the probe, and somehow or other connected to a sensor, be that a piezo, fsr, or whatever and even then, the relationship between the part of the nozzle that actuates the sensor would need to be constant, regardless of the length of the nozzle itself.
-
Ian, that is a really good explanation of how probing works. Thanks!
-
Yes, thank you. My plan, because I intend to use piezo force sensors under the bed, rather than a proximity sensor on the nozzle, actually is to "smash the nozzle into the bed." Hopefully that's not a problem – I think other people in this forum are using the piezo technique in some form?
-
Yes, thank you. My plan, because I intend to use piezo force sensors under the bed, rather than a proximity sensor on the nozzle, actually is to "smash the nozzle into the bed." Hopefully that's not a problem – I think other people in this forum are using the piezo technique in some form?
Yes, so in your case, the nozzle is the probe (effectively) so altering it's length should not affect anything. Of course, try to "smash it" gently into the bed :). You'll likely find that that there will still be a slight trigger distance - maybe 0.1 mm or so because the Piezos will need to flex a bit, but as the sensors will be under the bed it will be independent of nozzle length and should remain constant. If the Piezos under the bed do not work out for you, then fitting the Piezo above the hot end should also allow you to change nozzles without having to reset the trigger height.
-
Ian, that is a really good explanation of how probing works. Thanks!
Flattery? Stop it Tony, you'll make me blush:)
-
Sounds good. I was worried that bed mapping or z stop detection wouldn't work for large changes. For example, I thought maybe a bed grid was generally used to map sub-millimeter differences, and that if you changed the nozzle length by 1cm, it might not figure out what was going on without manually changing settings.
-
Two points:
1. Force sensors in the bed supports can suffer from the trigger height varying slightly with position. Typically they are more sensitive when you probe close to one of the sensors.
2. If you are going to change your nozzle length by a large amount on a delta printer without resetting the homed height parameter in the M665 command, you had better specify a large dive height in the M558 command.
-
@dc42: I (unfortunately) assumed as much about the piezos. I don't want to usurp this thread, so I'm going to start a new one about piezo force sensing under the bed. Thanks for the input!
-
I have started a new thread at https://forum.duet3d.com/topic/938/firmware-wishlist-and-priorities-for-duet-wifi-and-duet-ethernet/ to discuss firmware priorities, so I will lock this one.