Calibration for the LM

Show off your Little Monster prints
Post Reply
yyyyoann
Posts: 2
Joined: Mon Jul 24, 2017 6:59 pm

Calibration for the LM

Post by yyyyoann » Tue Aug 08, 2017 11:45 am

Hi

I had problems with the calibration accuracy

after the auto-calibration I had more than 400µm of error in Z axis around an square of 160x160mm

after some research I have find this and it reduce the error, now the error it's about 50µm and I would like share with community
https://groups.google.com/forum/#!topic ... bLF-FHZoDk

many thanks for Mircea Russu for the tuto

his post:

Tevo Little Monster ultimate calibration tutorial

Foreword
Delta machines and kinematics are really really simple. In a perfect world where you could have identical lengths, perfect spheres and equilateral triangles it should be really simple. Unfortunately in the real world we have tolerances, lengths are equal +/-0.XXXmm, a sphere is more like an ovoid, an equilateral triangle is equilateral up to 0.XXXmm. These tolerances can compensate for one another and you won't notice them or they can add up and mess things.
Each machine is unique, depending how new the cnc bit that carved the alu pieces was, how tired the guy who glued the rods was, etc.
We can measure and repair the machine up to a point (not much to do about the LM), or we can compensate for the flaws in software.
A linear delta firmware besides diagonal length and delta radius can take into account for a few other things like tower positions (x/y or angle+radius), bed flatness, endstop level. Unfortunately "stock" edge firmware only calibrates endstops and delta radius, the rest is left for the grid levelling to take care of, which in many cases is not enough.
One option is to replace the board (MKS Sbase/Smoothie) with something better like a Duet, but that's an expensive path, the other option is to mess with firmware to make it better.

1. Mechanical corrections
- Make sure ALL your 6 rods are the same length, make a jig using 2 M4 screws in a piece of extrusion, or even nails in a wooden board, mount them to fit one of the rods and then probe the other five if they can be places in the same spot, if all of them can be placed over the screws/nails that means you have them all at +/-0.1mm which is good enough. If you want better you can try and match them in pairs of same length by how you get friction with the screws. It's also a good idea to measure them as accurately as you can and update that value in the config.
- Make sure your table is level and HORIZONTAL, use a spirit level or digital protractor, I use and recommend the DXL360S but a simple analog one is good enough. If the table is not horizontal the machine will flex under it's own weight and you'll get tower lean which no firmware can correct for yet.
- Make sure the base of the machine is level and horizontal, I removed 3 rubber feet and left only 3 so I gent no wobbling.
- Remove the bed and use a square to check the towers are perpendicular to the base AND the top. You can use a machinist square or I used a simple plastic drawing square. First check if the square is square: place it along the edge of a piece of paper and draw a line along the edge perpendicular to the edge of paper, flip the square and draw another line over the first one, if the lines are one over the other than the square is square, otherwise get a new square. Now check the towers against the base and the top in all possible directions. Try keeping the square in one of the extrusion's channels and lower/raise it to the plate. If it's not square you must fix it by reassembling or file a support ticket if parts are damaged, not cut square, bent, etc. You can also use the DXL360S if you have it, +/-0.1-0.2 degrees is ok but not any more.
- Mount the bed and check is's level and horizontal and square to the towers, if it's not you can try shimming it or use springs as Dave Caldwell did. You MUST get it level and square to the towers.
Take your time and do it right! Is it all nice and square? Good! Now check it all AGAIN!

2. Endstop adjustment
- Connect to the machine using USB and a terminal program: Pronterface, Octoprint Terminal, etc
- Heat the bed to YOUR working temperature, not 80 degrees, the glass bed will expand and maybe deform in direct correlation to the temperature you use.
- Issue a G28 to home the machine
- Issue a M280 PS3 to deploy the BLTouch
- Issue a G32, let it measure the middle and the three towers then reset the board or cut the power (only way to interrupt a G32)
You will get three values for the three towers, let's say 9.125;9.725;10.421, that's how far the probe went to reach for the bed at each tower, you want that values EQUAL up to 0.05mm, UNscrew the grub at the carriage with the MAX values, unscrewing will make the endstop act faster and "lower" the endstop. I recommend putting some teflon plumber's tape on the grub screws, Loctite is good for holding them in place but it cures too fast since this procedure takes some time, teflon shall hold them steady for a long time but will allow them to be adjusted if needed.
- Repeat this until all endstops are no more than +/-0.05mm apart!

3. Comprehensive calibration
The best delta calibration algorithm at the moment is David Crocker's "Least Squares". The Duet has it integrated in firmware, or you can use it manually on a webpage by using G30 for probing but is cumbersome and time consuming.
- We shall use the Smoothieware LSQ fork: https://github.com/purplefabr/Smoothiew ... er/8712610 Get that firmware and put in on your card. Remove any FIRMWARE.CUR, config-override or delta-grid in you have them. Leave only the firmware.bin and config.
- Edit the config file and locate the levelling lines after endstops and zprobe definitions and comment them out by placing an # at the beginning of each line:
# EDGE ###################################################################################################
# Levelling strategy

# Example for the delta calibration strategy
#leveling-strategy.delta-calibration.enable true # Enable basic delta calibration
#leveling-strategy.delta-calibration.radius 140 # the probe radius

# Example for the delta grid leveling strategy
#leveling-strategy.delta-grid.enable true # Enable grid leveling
#leveling-strategy.delta-grid.radius 140 # Grid radius in millimeters
#leveling-strategy.delta-grid.size 11 # Grid size, must be an odd number
#leveling-strategy.delta-grid.do_home true # Whether to home before calibration
#leveling-strategy.delta-grid.save true # Whether to automatically save the grid
#leveling-strategy.delta-grid.initial_height 10 # Height at which to start probing

- Add the following lines just after the ones you commented out:
# LSQ ###################################################################################################
# associated with zprobe the leveling strategy to use
leveling-strategy.lsq-delta-calibration.enable true # Least squares (David Crocker variant) delta calibration
leveling-strategy.lsq-delta-calibration.radius 140.0 # the maximum probe radius
leveling-strategy.lsq-delta-calibration.sample_count 13 # the number of sample points; should be 6xN+1 (i.e. 7, 13, 19)
leveling-strategy.lsq-delta-calibration.factors 6 # the number factors to calibration:
# 3=endstops
# 4=towers + delta radius
# 6=endstops + delta radius + tower A,B angles,
# 7=endstops + delta radius + tower A,B angles + rod length
(Every time you switch from edge to the lsq firmware you have to edit the config and make sure you have the right lines commented/uncommented, don't ever try to run edge with lsq lines uncommented or the other way round, you'll get a head crash!)

- Boot the board with the card in, let it flash lsq firmware and connect with the terminal
- Heat the bed to the desired temp
- Issue G28
- Issue M280 PS10.6
- Issue M280 PS3
- Issue G32, the machine will probe 13 points, a large hexagon, a smaller one and center and spit out a lot of values
- Issue M500 (save calibration to the config-override)

- Mount the card and remove the FIRMWARE.CUR and move the config-override to a safe place (Desktop?)
- Put back the latest edge firmware.bin from Smoothieware github (https://github.com/Smoothieware/Smoothi ... irmwareBin)
- Edit the config, comment out ALL lsq lines and uncomment the default ones for levelling

- Boot the board, let it flash the edge firmware and connect
- Heat the bed
- Issue G28
- Issue M280 PS10.6
- Issue M280 PS3
- Open the config-override on the computer and look for the M666 line, copy it and paste it into the terminal, you should get an ok response and the new trims accepted. Look for the M665 line and copy it from the config-override and paste it into the terminal, you should get an ok and the new R(adius) A0 B0 C0 D E H values accepted. Congratulations, you are now running the latest edge with the best calibration.
- Issue a G31 to start grid probing
- Issue a M374 (save grid)
- Issue a M500 (save override)
- Reboot machine (power off and back on)

Congratulations! You are now running the latest firmware with the best calibration and delta grid compensation!!!

*You might get away without copy/pasting values from the config-override just by leaving the file in the root of your card when flashing back the edge firmware but it will complain about missing grid probes and might interfere with it later, I find it more safely to just copy and paste the relevant M666 and M665 lines.

** It's a good idea to check you BLTouch for repeatability also. You must use the 626pilot's firmware for that. You can find it in the files sections of this group along with instructions for how to use it.

Regards,
Mircea.

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest