Unexpected Change in Home Position when Dual Extruder Offset was Added to Firmware

When I have the printer is set up for a dual extruder, I had been setting the dual extruder offsets in Repetier Host profiles. That worked well enough, but there is a good reason to let the FW handle the extruder offset.  When the FW handles the extruder offsets, all it takes is a Tool Change command inserted in the G Code of a single-color model and the color change is a hands-off affair. 

I inserted the extruder X Y offset in the firmware, and it works beautifully. 

What I didn't expect and DON'T WANT is that the home position was changed.  Now, rather stopping at the X position where the carriage closes the MIN limit switch, it moves in the +X direction the exact amount of the X-spacing between the extruders.   If I remove the extruder offset from the FW, then the home positon returns to where the MIN switch is actuated. 

There may be some fields in the firmware that can be used to undo what the FW thinks needs to be done, but they are undefined, and I am getting very weary of trying to guess what undefined parameters might do. 

I'm currently using FW .929

Comments

  • Actually this behaviour is exactly what you need. Only this way you can use both extruders at x=0 without crashing into left endstop if T1 is selected. If you home with second extruder active you will see that you then park near endstop as you expected. Your solution would crash into the endstop.

    With dual extruder you always loose width. That is no real problem as if you only use extruder 0 you can move to -extruder distance on the bed safely if that is absolutely required for a very big object.

    The correction is done in home x/y where the distance is computed. You can set it to 0 explicitly to disable it, but you know why you shouldn't do it.
  • My understanding of the home position is different from yours. It makes no sense to me that there is a different home position for different extruders that are mounted on the same carriage.   I must not understand the use of the home position beyond a place to drive the carriage to rest. 

    If there is no other work-around I'll move the mechanical stop to allow the carriage to stop where I want it after the 18mm movement caused by the FW.   

    As I said above, having the FW adjust positon for the selected extruder is a valuable feature and one I don't want to give up. I'll have to adapt if there are no other options. 

    I am trying to achieve a setup that allows me to easily switch between a 2 to 1 mix extruder block and one with two separate heaters/nozzles in a classic dual extruder configuration.  Unfortunately, my inexperience with 3D printers does not allow me a broad view of things. 

    PS.
    I got the 2 to 1 mix extruder block to work, but I shelved it for the moment.  The hardware I have presents a flow restriction that makes it nearly unusable.  I ordered replacement parts from a different vendor to see if mine is compromised, or if it can be corrected by modification. 

  • There are no different homing positions for the extruders. Having xmin = 0 mean the active extruder is at x=0 after homing x. Since x=0 is always the same position the extruders are position different depending on the active extruder. You see this if you have T0 selected and set T1. You will see it move left. Since it moves left it must have enough space to the left at x=0 or it will crash and that is what we enforce and you do not like.
  • I understand the logic in being able to move the extruder that is offset to the origin position (0,0).  Given that, it still seems logical to permit the x carriage to park at the physical position defined by the MIN switch.  As it is now, the carriage wants to park at the bed origin, and that is undesirable on my printer. 
    Repitier Host contains the ability to define the physical MIN stop position in relation to bed origin, but my understanding (which is correct about 50% of the time lately) is that that is not applicable when using Repitier FW. 

    I found two parameters in the FW that look like they might allow the capability to separate the bed origin from the MIN switch position.  They are the ENDSTOP_X_BACK_ON_HOME and the X_MIN_POS field. 

    I tried setting both of these parameters, but neither would move the carriage back to the MIN position under a  X Home command from Repetier Host Manual tab or anything else I may have tried.  The BACK_ON_HOME field would move the carriage in the positive direction, but a negative number in that field produced no effect. 

    I would be the first to expect that there is something I am missing, but if not, then at minimum it appears that the FW is overstepping its bounds by not allowing the user to park the carriage at a position other than the origin of the bed, or, this is a candidate for a FW change.

    I've tried this with release .929 and the today's Dev release.

    For the record, here is what I have setup now.
    The X MIN position is actuated when the X carriage is +2mm from the physical stop imposed by the printer hardware.

    The offset distances in the FW are set for a dual extruder block, with EXT0 having an offset of -9 and EXT1 +9 (with respect to the positon of the nozzle when a 2 to 1 mix block is used)
  • BACK_ON_HOME must be positive as it increases distance to endstop to unswitch it after hit. So if it is 2 after homing the distance is 2 or 20 mm depending on active extruder.

    Not sure you understood what I said since you still consider it an error.

    Switch extruder 0 and 1 and you get what you want when T0 is active. What you do not like is the selection of the current extruder which adds a move. So you must select the extruder you like:-)
  • Sorry if I seem to have a very thick skull. This is my last question on about this; I promise. 
    The whole topic of MIN switches and bed origin has been confusing me since I got the printer in January. It is especially confusing now, since the FW is involved.  I don't know if Repetier Host has any part in the solution any more.  My feeling is that it doesn't. 

    I don't know if I was clear in what I was trying to achieve, so I'll take a fresh start. 

    What I would like is to be able to do is actuate something (the HOME button, a G code command, or something else) and have the X carriage park at the MIN switch position, knowing that MIN is not the bed origin.  I get the feeling that the FW is preventing this, and if so, then IMO, that is a shortcoming.

    What I have now is manageable, but having it park as far from the bed origin as possible would be my preference. 
  • Host is not involved here.

    Since position also depends on active extruder you need to activate a defined extruder and then move to that position. 
    T1
    G28 X0

    should do the trick. Selecting T0 will then move it more right.
    T0
    G1 X-30
    would be a other solution.
  • That looks like a good solution; many thanks!.  I'll put something in my Repitier Host printer profile to park the X carriage off the bed.  Hopefully, I'll get a 2 to 1 mix block works acceptably, and that will remove the complication of dual extruder nozzles (except when I need them). 
    Thanks for your patience also.
Sign In or Register to comment.