Skip to content

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature Request] Nozzle Offset Calibration (dual/multi nozzle) #15

Closed
rubienr opened this issue Feb 24, 2021 · 9 comments
Closed

[Feature Request] Nozzle Offset Calibration (dual/multi nozzle) #15

rubienr opened this issue Feb 24, 2021 · 9 comments
Labels
Status : Need infos Further information is requested Status : Need investigation This request needs further investigation. Type : Enhancement New feature or request

Comments

@rubienr
Copy link

rubienr commented Feb 24, 2021

Hi,

Thanks for the very convenient plugin. I appreciate your work.

Is it possible to provide a calibration pattern for dual (or multi) nozzle print head? It would be very convenient to have a pattern that helps me finding out the correct X and Y offset of the second nozzle.

The Problem

I built a very accurate switching extruder printhead but the mounted stock hotends seem to have a lower dimensional accuracy resulting in a serious offset (for example the first to second nozzle offset is x_offset=+1mm, y_offset=-0.5mm). The real offset I cannot measure in the CAD drawing. Instead of measuring with the caliper (and probably damaging/scratching the brass tip hole) a calibration pattern would be very convenient. Such a pattern could be inspired by the color ink printer calibration test.

Implementation Suggestion

The calibration pattern should provide a few pairs of X and Y aligned lines (or pads for better adhesion). The two neighboring aligned pairs are printed with T0 and T1 each. There should be more such pads per axis with a slightly incremented/decremented offset in their alignment, so that I can choose the correct one.

Usage Example

  1. I set the assumed (as of CAD drawing) X and Y nozzle offset in the printer firmware.
  2. I load the calibration pattern in Cura and use a post processing script for manipulating the X/Y offset parameters.
  3. I start the calibration pattern printout.
  4. I search for the best matching pairs in X and then in Y direction.
  5. I update the offset in firmware with the new offset parameters.
  6. I start a second printout for verification.
@5axes 5axes added the Type : Enhancement New feature or request label Feb 24, 2021
@5axes
Copy link
Owner

5axes commented Feb 24, 2021

Could be a nice feature, but as I'm not a dual extruder user it's not so easy for me to integrate the good solution.

But could be something like this solution ? Solution A
Or this One which is also interesting ? Solution B
Basic with caliper ? Solution C
Dual Extruder Calibration Vernier from thingiverse ? Solution D

Any advise or comment will be welcome

@5axes
Copy link
Owner

5axes commented Feb 24, 2021

Solution B ... seems to be the easyest to use and program ( no need a special file for every type of nozzle )

@5axes 5axes added Status : Need infos Further information is requested Status : Need investigation This request needs further investigation. labels Feb 24, 2021
@rubienr
Copy link
Author

rubienr commented Feb 24, 2021

Solution B could do the trick. I can help with printing/debugging (find me on DC #8902).

@5axes
Copy link
Owner

5axes commented Feb 24, 2021

@rubienr
Copy link
Author

rubienr commented Feb 27, 2021

Hi,

I did not test your pattern yet, but tried to do another prove of concept [1]. The print time seems to be significantly shorter than the tower. I created two neighbouring paratmetrize-able combs where the center teeth are aligned. The one's teeth has an offset of 2mm the others' teeth offset is 2.2mm (same principle as the caliper). With that comb I can immediately spot the offset within a rage of +/-2mm by finding the teeth that perfectly match. Ideally its the two in the center, but in my case it was not.

The two approaches:

  1. comb on top of the initial layer (takes about 15', tower takes 40')
  2. comb directly on build plate (takes less than 10')

00
(Sorry for the black taint on the right example, the gray filament ran out during print.)
02

How to parametrize (FreeCad):

  1. open the FCStd file
  2. go to the "vars" spread sheet
  3. modify parameters according to your needs
  4. click one of the two fusion objects and press Ctrl + e to export to .stl
  5. repeat for the 2nd fusion object

03

Notes

I did not play around with the parameters that much but I think the print time can be still slightly enhanced. In my setup the calibration pattern was done in one layer (max two layers if initial layer is needed for adhesion).
However, the initial layer takes the most but it has to be considered that not every printer is capable of printing single lines directly on the build plate without it. Probably by removing the prime tower brim and with a wall count of one the pattern can be printed faster.

My printing conditions were

  • Nozzle Size : 0.4mm
  • Layer Height : 0.3mm
  • Initial Layer Height : 0mm without initial layer, 0.3mm otherwise
  • Line Width : 0.4mm
  • Wall Line Count : 2
  • Top/Bottom Thickness : 0mm without initial layer, 0.8mm otherwise
  • Initial layer speed: 40 mm/s
  • Wall speed 80mm/s
  • Enable Retraction : True

[1] https://github.com/rubienr/cad/blob/master/creality-ender-5-plus/printer-test-objects/nozzle-to-nozzle-offset-calibration-pattern/00.stl

@rubienr
Copy link
Author

rubienr commented Feb 27, 2021

An OpenSCAD script for the afore mentioned pattern can be found at [1]:

openscad nozzle-to-nozzle-xy-offset-calibration-pattern.scad

or try various parameters:

openscad -D var1=val1 -D var2=val2 ... nozzle-to-nozzle-xy-offset-calibration-pattern.scad

Arguments

  • teeth_count number of teeth
  • tooth_width width of one single tooth
  • tooth_height height of teeth / comb
  • tooth_length length of one single tooth
  • teeth_gap space in between teeth
  • comb_clearance comb to comb distance
  • base_height comb base (optional), set to 0 to disable
  • render_mode 0 ... all, 1 for nozzle 1, 2 for nozzle 2
    image

[1] https://github.com/rubienr/cad/blob/master/creality-ender-5-plus/printer-test-objects/nozzle-to-nozzle-offset-calibration-pattern/nozzle-to-nozzle-xy-offset-calibration-pattern.scad

@5axes
Copy link
Owner

5axes commented Feb 28, 2021

I will have a look to your file. Is it possible to find some set of parameter to create one design adapted to various size of nozel 0.4, 0.6 0.8 ?

@rubienr
Copy link
Author

rubienr commented Mar 1, 2021

I think this is doable. If we say the slice shall be done with a wall count of two, then for a 0.8mm nozzle the comb teeth need to be wider (probably: 2*2*0.8 + some clearance). The teeth gaps can remain the same. I believe the more complicated part is the layer height. I intended to make this pattern print-able in two layers, but I don't know how thin a layer can be printed with a 0.8mm nozzle. I will try a test print with a larger layer height of 0.4mm with a 0.4mm nozzle. Probably a 0.8mm nozzle can go that thin, then we can meet in the middle: 0.4mm layer height (each: tooth height and base height).

For the moment I would try:
openscad -D tooth_width=3.5 -D tooth_height=0.4 -D base_height=0.4 nozzle-to-nozzle-xy-offset-calibration-pattern.scad

Slicer settings:

  • Nozzle Size : 0.4mm to 0.8mm
  • Layer Height : 0.4mm
  • Line Width : 0.4mm to 0.8mm (shall be the nozzle diameter)
  • Wall Line Count : 2
  • Top/Bottom Thickness : 0mm without initial layer, 0.4mm otherwise
  • Initial layer speed: 40mm/s (or lower without initial layer; depending on your printer's adhesion capabilities)
  • Wall speed: up to 80mm/s (lower speed may produce clearer corners)
  • Enable Retraction : True

I have some TODOs open for the calibration pattern. It is not yet ready to be enrolled anywhere:

  • Comb pair to other pair x-distance is too small with thinner teeth.
  • The initial layer dimension should be calculated and drawn per comp pair, not per comb. This would solve two issues:
    • overlap of initial layers
    • uneven width of regular and comparison comb
    • The x/y comb-pair's initial layers could touch each other firmly to reduce clutter and thus the possibility of warping.
  • Check if a fillet for convex corners can be introduced (with hull or minkowski) so that the teeth ends have slightly rounded corners (reduce ringing, puffed corners).

@5axes
Copy link
Owner

5axes commented Mar 1, 2021

Would be also Great to get the X 0 Y 0 in the "middle" of the total geometrie and Z=0 for the lower surface in order to put it directly in the center of the build plate.

@5axes 5axes closed this as completed May 16, 2021
Repository owner locked and limited conversation to collaborators May 16, 2021

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

Labels
Status : Need infos Further information is requested Status : Need investigation This request needs further investigation. Type : Enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants