Sensorless X/Y homing and other Prusa MK3 features



  • I assume everyone's seen the Prusa MK3 announcement by now - many fancy features.

    On Duet, we've recently been given resume on power out features, it seems there's a filament sensor on the way, and there's some more active monitoring of the TMC drivers potentially coming soon (or at least is already on the wishlist). Extremely happy with the board and firmware and continued development!

    So the other bits that the MK3 has that I'm sure many here would like to see are the X/Y sensorless homing, and lost step detection (allowing prevention of shifted layers through automated X/Y homing on detection).

    Personally, the sensorless homing is the big one for me (I've yet to have issues with shifted layers that weren't directly my fault, but I may just be lucky ). From my (very minimal) knowledge of the TMC drivers, I'm assuming they're taking advantage of the stallGuard II features of the controller (MK3 uses TMC2130, I believe the Duets 2260 also have stallGuard II). Looks like it provides feedback of the load on the motor, allowing for things such as detection of motor stall.

    Anything that can reduce the number of wires, connections and moving parts in general is a plus in my books! Plus, it could potentially double up as finger protection when poking into parts of your printer when you really shouldn't be. I've gotten my finger jammed between the frame and y carriage more times than I'd like to admit ☺️ but thats not a duet firmware issue, it's a keyz182 firmware issue :p.



  • Their optical filament sensor does look good.


  • administrators

    @number40fan:

    Their optical filament sensor does look good.

    Does it just monitor the presence of filament, or does it track filament motion in both directions as ours does? Detecting out-of-filament is easy; detecting blocked nozzles, jammed extruders drives etc. is much harder.


  • administrators

    Regarding the use of Stallguard to detect hard endstops and skipped steps, this is much easier to do when you can choose the motors to match the printer and the drivers - as Prusa can. It's much harder to do when you don't control the motors. Also, Stallguard works over a limited speed range. I am doubtful that the prusa Mk3 is capable of detecting missed steps during slow moves, for example when printing small detail that requires a slow print speed.

    I've tested sensorless homing before. The disadvantage is that the homing precision is only to the nearest multiple of 4 full steps. But on a delta with a Z probe that's not a problem, because you can use auto calibration to remove the endstop error.

    RRF supports using a Z probe to home additional axes. For example, the Ormerod design doesn't have an X endstop switch, it has a homing tab at the end of the X axis, which is detected by the IR Z probe. So that's one way of reducing wiring.



  • @dc42:

    @number40fan:

    Their optical filament sensor does look good.

    Does it just monitor the presence of filament, or does it track filament motion in both directions as ours does? Detecting out-of-filament is easy; detecting blocked nozzles, jammed extruders drives etc. is much harder.

    https://www.youtube.com/watch?v=hwNIzQLtHnU

    Suppose to catch it all.



  • Definitely going to be something to take so a look at, at TCT. Maybe they're doing show special prices, I'd buy one just to see how well they're managing to integrate it all coherently. That being said duet and prusa parallel developing these features is confirmation to some extent that the direction of travel is the right one.



  • @dc42:

    Regarding the use of Stallguard to detect hard endstops and skipped steps, this is much easier to do when you can choose the motors to match the printer and the drivers - as Prusa can. It's much harder to do when you don't control the motors.

    What should be the specs of motors?

    Also, Stallguard works over a limited speed range. I am doubtful that the prusa Mk3 is capable of detecting missed steps during slow moves, for example when printing small detail that requires a slow print speed.

    Well, don't missing steps mostly occur at high speed? unless there is a collision, of course…


  • administrators

    The ideal motors for stall detection would be high-inductance ones - which is just the opposite of what you need for high speed.

    Maybe I should put an experimental stall detect feature in 1.20, with configurable stallguard thresholds and minimum speeds at which it is used.



  • That would allow us to make some tests…



  • Thinking about it, if it works on a delta with an accurate z probe, as you can even out any inaccuracy in the absolute endstop position by doing autocalibration (so long as you remember, perhaps if endstop-less mode is selected, the firmware could behave as it if is not homed, until a calibration run has taken place?), and the absolute endstop accuracy on cartesian machines is not that important (certainly in x and y) then why not try it?

    I imagine it makes recovery from power loss far less likely to be successful. I might ask the Prusa team at TCT, to demonstrate a power loss and recovery, without endstops.





  • I have to say it looks good. I started with an i3, never imagined it would be back as probably the most integrated and advanced 3D printer (for quite reasonable money too) a few years later. I really want one now.

    Power off recovery is a nice idea, but with ABS printing depending on your surface allowing the bed to cool can be print-ruined, as it won't remain adhered.

    I'd like to be able to add these features to my duet controlled machines, and for duet to not only keep pace but to also get ahead. So what do we think we need more than that? Can someone crack an autocalibrating extruder?



  • With the filament sensor, if tuned correctly before install, I can't see why an autocalibrating extruder is out of the question.



  • True but the filament monitor as Duet use it and from what I can see of it, its the same in Prusa's implementation, can provide data on filament presence and filament movement, in the case of duet's filament monitor currently they have to infer filament presence (if movement is detected) as there is no detector for it, as yet, on the PCB. They are not measuring filament diameter (or as would be required in reality - cross-sectional area) in order to calculate the volume of filament entering the hotend (let alone the density of filament). It's a tricky problem, a pressure sensor in the hotend might do it but no-one has demonstrated one working.

    My only idea is a glass section of the bed, at the side perhaps, which assuming a perfect gap could be achieved from nozzle to glass using precise z probes, could optically via a scanner/camera sensor measure the width of an extruded line of filament and then adjust the extrusion multiplier to achieve a predetermined width. This would, in theory, allow loading any filament, hitting calibrate and after printing a few lines the calibration would be complete. Assuming the nozzle to bed gap was precise every time, and with the smarteffector or piezo probe this is possible, assuming the nozzle was exactly the width it was meant to be etc.

    If width required too much resolution, perhaps length might be measured instead, so the printer would prime, move to position, begin extruding past a fixed point, then stop after x seconds, and then the length of good extrusion would be measured optically through the glass section. Determining the cutoff point between "good" and stringy extrusion would also have to be carefully determined.



  • @dc42:

    @number40fan:

    Their optical filament sensor does look good.

    Does it just monitor the presence of filament, or does it track filament motion in both directions as ours does? Detecting out-of-filament is easy; detecting blocked nozzles, jammed extruders drives etc. is much harder.

    I didn't see real reply. The new Prusa sensor works like an optical (laser) encoder in a computer mouse. It tracks the motion of the filament, allowing those advanced features you mention.



  • Is this sensor accurate? I mean, can it be used to really measure the filament advance? Or is it just some 'order of magnitude'?



  • @fma:

    Is this sensor accurate? I mean, can it be used to really measure the filament advance? Or is it just some 'order of magnitude'?

    Prusa sayd that it actually is a Sensor like a Mouse so it should be work realy well.
    Source: https://www.youtube.com/watch?v=mk1u5I5EKvQ



  • Yes, I saw that. I would like to know what sensor he is using.

    I made some tests, a few weeks ago, with an old mouse sensor (I found old stocks on ali express, with the lens), but it does not work on all filaments…



  • I've preordered one so I can play I with the new features. I'm really excited about how much more reliable these sorts of additions will make 3D printing.

    I'd be very interested in seeing support for the temperature compensated bed probe. I've been having horrible issues with fluctuations in readings with my inductive probe based on temperature.

    I'm also desperate for someone to come out with custom-sized version of the magnetic spring steel bed, but that's a different topic entirely.



  • Have you considered other probing options. Smarteffector or piezo probes are not affected by temperature in this way? If prusa are temperature compensating their pinda probe then it must be capacitative, these are not a great choice generally but if you have sufficient control of the entire machine as prusa do they can be made to work. I wonder if they have a humidity sensor too?


 

Looks like your connection to Duet3D was lost, please wait while we try to reconnect.