scottrini / OctoPrint-PrusaLevelingGuide

42 stars 7 forks source link

OctoPrint-PrusaLevelingGuide

This plugin is for guiding the user through fine adjustments of the bed. Some of these mods are linked in the Guides section below. This plugin is only intended for the Prusa MK3 and its variants (MK3, MK3S, MK3S+). It does not support the partial upgrade MK3.5.

Setup

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

https://github.com/scottrini/OctoPrint-PrusaLevelingGuide/archive/master.zip

Guides

Known Issues

Preheating profiles

The profiles listed for preheating are the temperature profiles defined in octoprint. To define more, browse to Settings->Temperatures. You can also define temperature profiles that just preheat the bed, just the nozzle, or use the default ones that preheat both.

Temperature Settings

7x7 vs 3x3 for adjustments

Previously, this plugin used G80 N3 to enforce using 3x3 bed leveling in the default gcode. Without the N3, it would use whatever you have configured in the firmware. The N3 is no longer in the default settings, but you might still have it configured if you've updated from a previous version. If you'd like to use what is configured on your printer, make sure the N3 is not present in your settings.

Mesh gcode settings

Adjusting your bed

Once you're ready to adjust using this plugin, pull up the tab in your octoprint instance. Decide if you want to preheat the bed while making adjustments. Preheating isn't absolutely necessary for your initial adjustments, but really fine tuning the bed should be done preheated, as the values will change when things are heated.

So select your profile and whether to preheat, then click begin adjusting. The plugin will:

Once the UI is updated, the status will change to Waiting for continue. This is your opportunity to adjust the screws. The raw value view does not provide the direction to turn the screws. If it's a negative value, loosen the screw. If it's positive, tighten the screw.

All of the other views will disable an arrow next to the value to show which direction to rotate the screw. Once you've made your adjustments, click continue to start another mesh check and update the UI with the new values. If you've gotten your bed to a variance you're happy with, click Finished. If the printer was preheated, this will disable the preheating.

TODO: Allow configuration of a 'target bed variance' and alert whenever the bed is higher than the target variance - will only work if you configure your print start/print finish gcode to include G81

You have the option of viewing the values in a table view or overlayed on a photo of the heatbed. You can also customize whether you view raw values, degrees, decimal turns, or factional turns.

Configuration View Config View

Beta Bed View Beda view

Bed View Bed view

Table View Table view

Configuration

The configuration tab allows you to customize the gcode for mesh leveling similar to the PrusaMeshMap plugin.

Configuration

Inspirations

G81 Output Handler

Just like the PrusaMeshMap plugin, this plugin has a handler that is watching output received from the printer at all times. This means you can place a G81 in octoprint's or your slicer's start or stop gcode and the plugin will update its values after every print.

Z Calibration can effect bed leveling

Note from Spacemarine2018

If you re-calibrate your Z-axis after leveling your bed, it might look like the whole left or right side of the bed is suddenly higer/lower than the other side. The reason for this is, that the Z-axis leadscrews might have changed their angular position relative to each other due to soft mechanical upper stops. If this is the case, try to rotate one of the leadscrews by hand by one or two clicks instead of re-adjusting the bed again.