Multiple z home optical sensors at various heights...



  • Hi All,
    I have a 1.2m tall z axis that I can't home at full speed due to the free end if the z axis ballscrew whipping when the ballnut is near the fixed end.

    Can I set multiple optical home sensors along the axis and have them set a different z offset depending on which one is triggered first?

    Any thoughts would be much appreciated.

    Cheers
    Barry M



  • @cncmodeller Ignoring the actual end stops for now, I think this would need conditional gcode which I know David (DC42) is working on.

    To be clear, is the intention to be able to use a different homing speed depending on where the Z axis is? i.e if it's close to the fixed end of the screw(s) then use a slow speed to prevent the free-end whipping but as the bed gets closer to the free end of the screws, use a faster speed. Have I got that right?



  • I was actually thinking of always homing at the slower speed but the time to home z would be shorter as it would stop homing at the first end stop it comes to and set the z height as appropriate.

    Varying home speed was my first thought too, but it requires knowledge of the z axis position which the controller won't have prior to homing.



  • what about wiring multible normally open z optical sensors in parallel?
    you could use this at high speed and have them end like one centimetre before the actual end.

    and then use a z probe for the last bit of levelling while ignoring the optical end stops?
    https://duet3d.dozuki.com/Wiki/Bed_levelling_using_multiple_independent_Z_motors



  • @cncmodeller said in Multiple z home optical sensors at various heights...:

    I was actually thinking of always homing at the slower speed but the time to home z would be shorter as it would stop homing at the first end stop it comes to and set the z height as appropriate.

    Varying home speed was my first thought too, but it requires knowledge of the z axis position which the controller won't have prior to homing.

    Ah OK. Ref the variable speed thing - I was thinking along the lines of homing slow until any switch triggers then changing homing speed depending on which switch that was (hence the conditional gcode requirement).

    Ref homing slowly to different Z offset positions - the thing is you will always need to start with the nozzle at the first layer height above the bed. So if you homed to (say) Z=300, then you would still need to move that extra 300mm before you could start a print. So I'm not sure what you would gain. Or is this for a CNC machine where it's more about work piece co-ordinates than it is about bed co-ordinates?



  • My assumption was that to be able to do a partial print restart I'd need to re-home towards z max so I don't hit the partly completed print.

    Conversely having to go to z max from the bed during setup and smaller prints takes a relative age.

    I'd always intended to do a bed probe prior to each print on a clean build surface however my print strategy is more like using cnc work ofsets as in some cases I'll need to set z0 at the top of a base layer profile that's been laser cut from sheet material.



  • @cncmodeller OK. Well Z min and Z max should be easy enough to do. I'd have to think about it but intermediate ones ought to be possible too.

    BUT, you'll need to use RRF 3.0. The reason being that RRF2 does not allow re-mapping end stops using M574. It did briefly in one of the beta versions but it screwed something else up so David had to withdraw it (I know because I did exactly that). I'm not quite sure how RRF3 handles it - I'm currently using a hybrid RRF2 that @wilriker kindly put together for me which does support re-mapping of end stops using M574.



  • Cool. I'm still building and tuning so I'm setting my z max stop low to begin with. My printer is trammed now so I'm just setting up the stops ready for installation of the Duet and then it's first print.

    If that all goes to plan then this would be one of the first added features.

    If you have any thoughts let me know. I'll look into v3 I've not learnt v2 yet so it's all new to me.

    Thanks for the input @deckingman . 🙂

    Cheers
    Barry M



  • @cncmodeller For info, this is an extract from current homing file which re-maps endstops but as I said, it only works on this hybrid RRF2 firmware.

    So I start with:
    M574 Y1 S1 C1 ;end stops
    M574 X1 S1 C0
    then to home my third gantry, I map the X and Y motors to it then do:
    M574 X1 S1 C5 ; map end stop 5(E2) to X axis
    M574 Y1 S1 C6 ; map end stop 6 (E3) to Y axis

    Then I home X and Y again which effectively switches the end stops from one gantry to another.

    So you would do something similar with your Z axis. I'm not sure how RRF 3 replicates this process because I haven't yet had time to delve into it, but I'm assured that there is a mechanism which will allow me to do that.

    Obviously you need to have spare end stops available. In my case I have the Duex5 expansion board.



  • @cncmodeller said in Multiple z home optical sensors at various heights...:

    Varying home speed was my first thought too, but it requires knowledge of the z axis position which the controller won't have prior to homing.

    could you maybe change your acceleration for the homing to give you a seemingly variable homing speed?

    However if you can and need to probe the bed or a known fixture to resume a job I dont understand the need to home to Zmax?



  • @bearer said in Multiple z home optical sensors at various heights...:

    However if you can and need to probe the bed or a known fixture to resume a job I dont understand the need to home to Zmax?

    I assume that it's necessary to restart prints after a power failure...



  • @cncmodeller said in Multiple z home optical sensors at various heights...:

    @bearer said in Multiple z home optical sensors at various heights...:

    However if you can and need to probe the bed or a known fixture to resume a job I dont understand the need to home to Zmax?

    I assume that it's necessary to restart prints after a power failure...

    That's absolutely the case when you have a bed that moves in Z.



  • @cncmodeller said in Multiple z home optical sensors at various heights...:

    @bearer said in Multiple z home optical sensors at various heights...:

    However if you can and need to probe the bed or a known fixture to resume a job I dont understand the need to home to Zmax?

    I assume that it's necessary to restart prints after a power failure...

    one or the other should suffice, but I guess if the print fail at near Zmax you don't want to probe the bed/fixture even if you could without interfering with a partial print. And maybe i missread it, you only probe the bed/fixture prior the starting the print, not resuming.

    In any case multiple end stops will require individual inputs, you might be able to do it with triggers if you have sufficient inputs on RRF2. I would consider using a attiny or similar cheap microcontroller wire all the inputs to it, have it perform a OR function to signal a single endstop to the Duet and then use the attiny to try to send a G92 with the applicable Z height to the duet. Not 100% convinced the Duet will process a G92 while running the resurrect/homing script prior to starting a print, will need testing or input from one of the wizzards.

    When RRF3 is ready I would think you could use the conditional logic to achieve it all without voodoo, or at least factory default voodoo:)



  • @bearer said in Multiple z home optical sensors at various heights...:

    When RRF3 is ready I would think you could use the conditional logic to achieve it all without voodoo, or at least factory default voodoo:)

    Not being a high priest in RRF I'd prefer to leave the voodoo to those that know it lol. For expediency during setting up and dialing in I can simply physically locate the z max stop at a lower height.

    I can't probe the bed if there is a print there as I'm building a polar printer with a radius arm and the arm would collide with a partial print.

    Lots of great stuff, looking forward to RRF3 sounds like being a RRF newbie I might be better off waiting to deep dive until v3 arrives.

    Thanks for all the input.
    Cheers
    Barry M



  • @bearer If you have a bed that moves in Z and you get a power loss mid print, on resume you can only home to Z min if no part of the printed object will collide with any part of the X carriage or rails as the bed rises to Z min. Which is almost impossible unless the part is very small and is oriented on the bed in such a way there is a position in X and Y that the head can be placed that will allow the part to pass to one side or other of the X carriage rails.

    That's one of the reasons reasons why I don't attempt to resume a print in the (rare) event of a power failure, because I would have to home to Z max. I have a heavy bed and my Z travel is 760mm, so if I homed Z max it would take about 3 1/2 minutes to travel to Z max and back to the first layer height. Personally, I'm not prepared to wait that long every time I want to Z. That, and the fact that if the bed cools the part will likely fall off in any case ☺



  • @deckingman said in Multiple z home optical sensors at various heights...:

    Personally, I'm not prepared to wait that long every time I want to Z. That, and the fact that if the bed cools the part will likely fall off in any case ☺

    I'm coming at this from a potential power failurelate on during a 2 or 3 day print, so slowly re-homing to z max in that scenario isn't an issue for me, it's just a pain in the but when I'm doing sets of test prints to dial in the printer... hence dropping the z max senseor in the short term.

    I'm going to get a large UPS to help with power failure anyway but wanted to explore all if the options.

    🙂



  • @cncmodeller I didn't mean that there is a right or wrong with this - there isn't. Each user has their own criteria.

    A UPS is something that I keep looking into but never do anything about. It's a good idea IMO. Especially if you have a mains heated bed and just use the UPS to keep the rest going. It would take my bed quite a while to cool down to the temperature at which the part would become detached.


Log in to reply