iFrostizz / OctoPrint-CalibrationCompanion

This plugin was created to calibrate 3D printer settings easily.
33 stars 4 forks source link

⚠️ This plugin is not under active development anymore, I am working on other projects but will come back to Octoprint plugins later ! Please don't expect a quick answer nor a fix from me during this period. ⚠️

Calibration Companion

This plugin was created to calibrate your 3D printer settings easily. It comes really handy when you want to try a new filament for instance. Let me explain all the tabs a bit more precisely before throwing yourself in the process.

Setup

This is the first tab you want to go to. Choose the values that fits your printer. Please do it before attempting any operation.

Calibration Companion Setup Setup tab

Profiles

In this tab, you can load/save/reset profiles. This is really great so that you do not have to type again all the values when you get to a new tab. I already prepared a profile for you stored in "Profile 1". Please adapt it to your needs, more precisely the start and end gcode.

Buttons

Choose your profile between the 3 available. This number may change regarding your needs, please post an "issue" if you need more.

This button will load the selected profile in the dropdown and all of its stored values.

Using this one, you will save all the entered values that are in the input boxes to the selected profile.

Pressing the "reset" button will delete all the data in the input boxes, but it is not going to be saved automatically. If you want to empty the selected profile, press "save".

Variables

Some variables that you can use were introduced for the start and end gcode. The start gcode will be inserted just after the "ABL method" and before the nozzle placement to start the print. So make sure that the nozzle is hot! The end gcode will be inserted at the end of the print, you may want to turn off the heaters here. The variable's syntax is [variable_name]. Now let's take a look to all the variables:

Some of them are already used in the start and end gcode, so maybe you can use it if you need help.

PID Autotune

Enter the temperature for the nozzle, and the bed that fits the most your need before running the PID autotune. You can either enter just the nozzle, just the bed, or both. You can also turn on the fans before running the PID by clicking on the radio buttons.

First Layer

First, you may need to modify the "Extra margin from edges" values. This value will be taken in account in both the "knob_levelling.gcode" file, and the "calibration_squares.gcode" file. It is used to prevent printing on anything that is on the sides of your bed, like clips.

E-steps

To guide yourself in the process, please check this video: https://www.youtube.com/watch?v=axBlXVRwt_s Filament Path Distance corresponds to the distance that will be travelled by the filament in the extruder. In the video, a mark is made at 120 mm, minus 20 mm for the measurement which gives us 100 mm. You can change this value for your convenience. The "Get Estep Value" button will get your current steps/mm for the extruder. You can also enter a custom value. If you want to make the filament go backwards instead, you can check the box. The Final Estep Value will be computed and displayed in the disabled input box, and you can apply it using the "Apply Final Esteps" button.

Flow

Printing a hollow cube to adjust the flow. Measure all the sides precisely several times in the middle using a caliper and average the values. Compare the average with your nozzle diameter and do this calculation: finalFlow = (100*nozzleDiameter)/averagedMeasurement

Retraction, Temperature, Acceleration Tuning

In this section, you can find your ideal settings per stages by creating a retraction/temperature/acceleration tower.

Calibration Companion Retraction Retraction tower example

Plugin Setup

Install via the bundled Plugin Manager or manually using this URL:

https://github.com/iFrostizz/OctoPrint-CalibrationCompanion/archive/main.zip

Credits

Huge thanks to Teaching Tech for his tutorials that helped me a lot to write this plugin. I borrowed him some images, like the retraction and temperature towers ones. You can find his great work here: https://teachingtechyt.github.io/index.html

I used the acceleration tower file from Teaching Tech as well: https://www.thingiverse.com/thing:4169896

This is the temperature tower file I used for the temperature tab: https://www.thingiverse.com/thing:261420

Thanks to Critters for providing me his bed levelling procedure.

Thanks to the Cura software, that sliced my models perfectly. GitHub here: https://github.com/Ultimaker/Cura

Known issues

DISCLAIMER

This plugin has been tested but could contain bugs. If you spot any of them, open an issue describing it and what happened to lead to this bug. Please always handle it with care, import the GCodes in Cura before printing, and inspect them carefully. I will not be responsible for any physical injury.

Enjoy!