I have had issues with printing on my i3 MK3, especially when it came to the first layer. In March 2020, I have installed the Prusa Mesh Leveling plugin for Octoprint. With that plugin and a Nylock nut modification, I was able to reduce the bed variance from 0.6 mm down to 0.014 mm and prints were great. That took about 25 rounds of calibration and I didn't have any issues with the graphics not updating.
Shortly after that, my filament sensor stopped working and I ordered a replacement, which I installed yesterday. But today, my prints are bad again, especially the first layer. So I thought I would simply run through the calibration and mesh bed leveling again.
First, I turned the screws in the wrong direction, so the result became worse and I needed several attempts until the results went into the correct direction. I'm currently at ~1.0 mm bed variance, which is very bad and I need to continue leveling the bed.
Now, the graphics does not update any longer. It always shows the same picture.
I also noticed some different behavior of the mesh bed levelling procedure. Usually, after running the mesh bed levelling, the printer needs some time (~5 secs) before it will react to other commands like a move on the Z axis. I used the following technique to find out when to reload the graphics:
- run mesh bed levelling
- tell the printer to move up 10 mm on the Z axis
- as soon as the print head moves up, it was possible to reload the graphics
Now, the print head moves up immediately after the mesh bed levelling, without the ~5 secs delay and the graphics does not update.
I have already tried:
- click the "reload heat map" button
- run mesh bed leveling again
- restarting Octoprint
- resetting the printer using the X button
- looking for disk space via SSH
.
pi@octopi:~ $ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/root 7.3G 1.9G 5.1G 27% /
devtmpfs 182M 0 182M 0% /dev
tmpfs 186M 0 186M 0% /dev/shm
tmpfs 186M 2.7M 183M 2% /run
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 186M 0 186M 0% /sys/fs/cgroup
/dev/mmcblk0p1 42M 21M 21M 51% /boot
tmpfs 38M 0 38M 0% /run/user/1000
In the log file (octoprint.log
) with output level set to DEBUG
, I could see an entry:
2020-06-06 12:19:52,261 - octoprint.plugins.PrusaMeshMap - INFO - Generating heatmap
2020-06-06 12:19:52,288 - py.warnings - WARNING -
/home/pi/oprint/local/lib/python2.7/site-packages/matplotlib/pyplot.py:522:
RuntimeWarning: More than 20 figures have been opened.
Figures created through the pyplot interface (`matplotlib.pyplot.figure`) are
retained until explicitly closed and may consume too much memory.
(To control this warning, see the rcParam `figure.max_open_warning`).
max_open_warning, RuntimeWarning)
As you can see, this was at 12:19. The last graphics I saw is from 12:37.
The logs also contain a message on 12:40:
2020-06-06 12:40:39,262 - octoprint.util.comm - ERROR - Error while processing hook PrusaMeshMap:
Traceback (most recent call last):
File "/home/pi/oprint/local/lib/python2.7/site-packages/octoprint/util/comm.py", line 2849, in _readline
ret = hook(self, ret)
File "/home/pi/oprint/local/lib/python2.7/site-packages/octoprint_PrusaMeshMap/__init__.py", line 90, in mesh_level_check
self.mesh_level_generate()
File "/home/pi/oprint/local/lib/python2.7/site-packages/octoprint_PrusaMeshMap/__init__.py", line 236, in mesh_level_generate
fig.savefig(self.get_asset_folder() + '/img/heatmap.png', bbox_inches="tight")
[...]
File "/home/pi/oprint/local/lib/python2.7/site-packages/matplotlib/image.py", line 512, in _make_image
output = self.to_rgba(output, bytes=True, norm=False)
File "/home/pi/oprint/local/lib/python2.7/site-packages/matplotlib/cm.py", line 259, in to_rgba
xx = (xx * 255).astype(np.uint8)
MemoryError
On 12:46 I rebooted the system
2020-06-06 12:46:08,761 - octoprint.server.api.system - INFO - Performing command for core:reboot: sudo shutdown -r now
but of course that graphics is still missing and the last available graphics is the one from 12:37. So, after the reboot one needs to run the mesh bed leveling again.
Still, no luck...
OctoPrint version is 1.4.0, OctoPi version 0.15.0PE, Prusameshmap Plugin: 0.3.0. As far as I can tell, that's the latest version available.
What can I do to make mesh bed leveling work again?