Moving Nozzle Position for Z homing

Hello all,

I am currently on a capstone project working with a LulzBot Taz6. We have designed and built a print head that will take two filaments and extrude them out of a single hot-end. The position of the nozzle has moved and when homing the z-axis the nozzle does not touch down on the homing button. I have tried creating my own firmware with Arduino and editing a Marlin firmware that can be downloaded at https://github.com/MarlinFirmware/Marlin . I have no experience with editing firmware. Also looking at the Marlin firmware with Arduino and saw that there was a “Mixing Extruder” option, has anybody had any experience with this?

So, I need help editing the X and Y location so that the nozzle will push down the Z homing button, and if anybody has had experience with the “Mixing Extruder” option I’d like to hear about it

Thanks,
Ryan

First, I would suggest that you use the LulzBot Marlin repository as your base (https://code.alephobjects.com/diffusion/MARLIN/marlin.git) as that will make sure you have any printer specific changes.

Second, in the start gcode between the G28 XY and the G28 Z is a G1 command that moves the nozzle above the homing button. I believe you will need to change the coordinates in that command. Note that the X min stop switch on your print head needs to allow the nozzle to get over the homing button. If your nozzle position is too far to the right (positive X) then you can position it over the homing button.

As for the “Mixing Extruder” option, I have no experience with it.

Thanks for the reply, our capstone group has successfully modified the firmware form the original firmware file, But now having issues trying to get the bed to automatically level. I will take a look at the firmware you posted, and try to edit that. Would you be able to help with the automatic bed leveling process?

If all you are replacing on the TAZ 6 is the tool head, then the auto level process should be almost identical. Look at how LulzBot has defined their tool heads in their version of Marlin. You should be able to adjust the coordinates to match where your nozzle is compared to where one of LulzBot’s tool head’s nozzle is.

Copy the tool head section in the Marlin LulzBot specific config files that is closest to what you are creating, give it a unique name, make the necessary coordinate changes, and you should be able to compile a firmware version for your tool head.

I have tried that, the Configuration.h file that Lulzbot provides is an old version and when verifying the file it says it is an older version of Configuration.h file. I have tried cutting and pasting sections but the Bed leveling process is completely different.

On your computer, install Git and the Arduino IDE. Using Git, clone the above URL, devel branch. Install the libraries from the ArduinoAddons subdirectory of the folder where you cloned the above. Navigate to the Marlin subdirectory of the folder where you cloned the above, find Marlin.ino and double-click on it which should open the Arduino IDE. Follow the directions in Configuration_LulzBot.h (pick TAZ6 and SingleExtruder). Click Sketch, Verify/Compile. If you’ve done everything correctly, you should not get any errors and a .hex file will be built. You now have a base line from which you can add your own tool head or modify one of the existing definitions scattered across the Lulzbot.h files.

I cloned the above directory with Git and then made a copy of the whole thing when I was messing around. I have proven to myself that with the proper Git commands, I can reproduce exactly the .hex file that LulzBot delivers with CuraLE for the TAZ 6. You need to prove that to yourself before you can ever expect to produce a .hex file for your tool head. The auto level process should work with just some coordinate changes in Conditionals_LulzBot.h, specifically:

#elif defined(LULZBOT_USE_AUTOLEVELING) && defined(LULZBOT_TAZ_BED)
    #define LULZBOT_LEFT_PROBE_BED_POSITION       -9
    #define LULZBOT_RIGHT_PROBE_BED_POSITION     288
    #define LULZBOT_BACK_PROBE_BED_POSITION      289
    #define LULZBOT_FRONT_PROBE_BED_POSITION      -9
#endif

There are plenty of other threads in these forums with detailed instructions on how to build a custom version of firmware for the TAZ 6. If my instructions aren’t good enough, take a look at those other threads until you can successfully build your own.

THANK YOU!!!

I’m having a similar issue where I’ve designed a syringe pump print head. What about the “auto home” routine through Marlin? Is there a way to modify the firmware such that the nozzle is positioned above the z-limit switch?

In the start gcode between the G28 XY and the G28 Z is a G1 command that moves the nozzle above the homing button. I believe you will need to change the coordinates in that command. Note that the X min stop switch on your print head needs to allow the nozzle to get over the homing button. If your nozzle position is too far to the right (positive X) then you can’t position it over the homing button.