Page 1 of 1

Delta grid calibration seems to be useless

Posted: Wed Oct 31, 2018 10:28 am
by mihai
I purchased a TLM last year but since then I only used it to print small parts and I didn't notice that the bed had a big difference in height between various regions. Now that I need to print larger parts, the bed is so low in a region that the layers don't even stick to it.
I ran a delta grid calibration procedure and although that seem to correctly observe the differences and save them into the grid file when I print it seems like it's not using them because the nozzle is still too high in the areas where the bed is lower. Actually it seems to be just as high as it used to be without any calibration.

I'm using octoprint to control the printer.
Here is my calibration procedure:

Code: Select all

; home
;bltouch alarm release
M280 PS10.6 
; probe pin down
M280 S3

; set bed temp to 80C
M190 S80

; do delta calibration

; save trim to sdcard 

; probe the grid and enable grid compensation

; save the grid to sd card

;To set the zero for the print head
;Make sure there is no left over material on the nozzle ( heat it and wipe it ) 
;go home

;go close to Z=0
G0 Z1

; put a sheet of thin paper under the nozzle
; Then move the head until it presses on the paper sheet until you feel the friction when you pull on the paper. This is the Z=0 point
; Use this point as the homing offest
M306 Z0

;save to SD card

After this I tried a print ( a big disk with a radius of about 110 mm ) and the layers still won't adhere to the bed on one side and I could see that they almost float in air in that zone. The octoprint bed visualizer plugin generated the attached graph based on the saved grid data ( it's square when the bed is round but I guess it's still useful )

Why would the printer not use the grid to compensate for the difference in bed height?

Re: Delta grid calibration seems to be useless

Posted: Sun Nov 18, 2018 11:23 am
by Xerxes
The bed glass isn't the flattest thing in the world, but the glass generally averages out to be flat on my printer..

You didn't mention if you had the bed sticker on or not. Everyone's sticker bubbles over time and becomes impossible to put down a first layer.

If you're using the bed sticker, remove it and print directly to the glass with an adhesive (sugar water, abs juice, tape, etc) depending on your filament.

This improves it _a lot_. I can make large sized prints on my bed. The surface is a bit uneven compared to machined glass, or the flatness of borosilicate glass. To improve it further, add a sheet of borosilicate glass cut to fit on the bed, and use some thermal bonding compound or mat between them.

I will consider doing that myself in the future.. (upgrading the bed with another sheet on top, mostly just to get a smoother finish since the glass surface on the TLM is textured)

You seem to know what you're doing with the software, I'd suggest you try upgrading the firmware, you might find a better calibration routine in the newer versions of smoothieware (btw consider donating to Smoothie project.)

On an unrelated note, you may be interested once you level your bed. I've been playing with the TLM in a bowden setup and finding ghosting at outer layers over 40mm/s .. Looking into it the issue is traced to the firmware using a configured value of 6000mm/s^2 acceleration, which is insanely high. 2000mm/s^2 would be really fast, and is more than most printers can handle. For example a Prusa i3 seems to use a value around 800mm/s^2, corexy around 1500mm/s^2 .. 2000mm/s^2 is plenty. There is a lot of quality and speed to be gained by dropping the acceleration..

Re: Delta grid calibration seems to be useless

Posted: Tue Feb 19, 2019 6:55 am
by Xerxes
This is an old thread but in case anyone comes here looking for solutions to similar problems..

Well, this may not have been your issue since you appear to use M500 to save your settings.

But I recently found a "bug", or rather an error in smoothieware's example config file and wiki documentation for the name of the variable used to set the soft trim for the endstops on a delta..

From the wiki: "alpha_trim_mm, beta_trim_mm and gamma_trim_mm settings are a way to tweak endstop positions in software and simplify the process of tramming the effector (making sure that moves in the XY plane remain parallel to the print surface)"

Turns out it used to be alpha_trim / beta_trim / gamma_trim years ago, and someone changed it (to alpha_trim_mm etc), but it didn't get updated in the docs or in the config example until Feb 2019 after I had difficulties setting the soft trim via config file, noticing M666 would show 0 0 0 for values even after setting it there.. Spoke with Arthur Wolf on the smoothieware IRC channel and found that solution pretty quickly, they updated the docs and example config and were surprised no one reported it earlier as its a really old change.

This is particularly relevant to our TEVO LM with MKS sbase boards because they have the old config variable name in their config files. SO if you don't use M500 to save (use config file editing directly), and update the firmware you will end up with unset software trim on the Alpha Beta Gamma towers. Not a big deal I suppose but then smoothieware's example config file and documentation had not been updated either, so no amount of research apart from asking the devs in this case was going to find the problem.

Anyway by using the old variable name with the new firmware the soft trim was not set (M666) it would result in my build plate appearing to be curved.

How did it fly under the radar so long, I think the idea is most people are using M500 to save (config-override) rather than moving the settings back into the config file. IF you use M500 after the G32 calibration procedure it should be fine.

I would check the M666 and verify the software trim settings are set.

BTW soft trim is set by the G32 calibration, which requires M500 to save.
Delta grid compensation is set by G31, and M374 to save.

If you do away with the config-override entirely like I have done, don't use M500 to save, put the values straight into your config file after auto-calibrate (G32). However to load the delta.grid file you will need on boot gcode in the config file:

Add to your "config" file

Code: Select all

on_boot_gcode_enable                         true
on_boot_gcode                                /sd/on_boot.gcode
Example "on_boot.gcode" file to do away with M500 / config-override entirely. (Make sure you move all settings made by G32 into "config")

Code: Select all

;M370	    Clears the grid and turns off compensation
;M374	    Save grid to /sd/delta.grid
;M375	    Load saved grid from /sd/delta.grid and enable compensation
;M375.1	    Display the current grid

;We do M375 here to avoid using conifg-override

;Must home XYZ after M375 or M370

;BL-Touch alarm release
M280 S10.6

;Disable Motors