OpenDACT(Delta Automatic Calibration Tool) - For Repetier

User-Generated tips and tricks for the Rostock Max, Orion, H1.1, or H1 Printers
Post Reply
User avatar
RollieRowland
Printmaster!
Posts: 226
Joined: Fri Jul 17, 2015 5:30 pm
Location: U.S.

OpenDACT(Delta Automatic Calibration Tool) - For Repetier

Post by RollieRowland »

Current Status: In Progress/Testing
Contributors: RollieRowland, mhackney, geneb
Source Download: https://github.com/RollieRowland/OpenDACT" onclick="window.open(this.href);return false;


OpenDACT(open source delta automatic calibration tool) is an automatic calibration program meant for delta style 3d printers running the repetier firmware.


Update Log:
Version 3.1.0A - Timing fixes, calibration fixes, tons more
Changes:
-The program now utilizes responses from the printer to initiate the next step of the height map generating process.
-Also, the calibration algorithm is ran on a separate thread than the reading thread. This prevents the printer console from being locked up.
-There is also a manual calibration included on the third tab of the advanced area - which utilizes the same exact algorithm as the automatic calibration.
-Slight changes to the calibration control flow, the steps per mm is now corrected afterward. This reduces the error between the horizontal radius changes and the steps per millimeter.
-Heuristic mode fixes
-Disconnection fixes
-Stop button for calibration
-Basic mode is now fully iterative

From default settings on my printer, I got a successful calibration in 3 iterations. After randomizing values (tower offsets, horizontal radius, alpha rotation), I had a successful calibration after 9 iterations - would be faster if heuristic was enabled.

Upcoming Changes:
-improve control flow to increase speed of calibration

Download:
https://github.com/RollieRowland/OpenDACT/releases" onclick="window.open(this.href);return false;


Version 3.0.1PA - Calibration Fixes
Changes:
-Tower offset calibration now uses horizontal radius to complete step as opposed to delta radii, also is predicted ahead of measurement - reduces number of iterations.
-Changed main control flow of calibration process
-Time wait for printer moves is now calculated based on the set travel speed/distance
-Support for other system languages(not tested, hands on the killswitch)

Not yet finished:

-Iterative mode(might not be reimplemented)
-Heuristic mode(will decrease number of iterations)
-UI

Download - https://drive.google.com/file/d/0B06WCA ... sp=sharing" onclick="window.open(this.href);return false;

Version 3.0.0A - Minor Fixes - Download: https://drive.google.com/file/d/0B06WCA ... sp=sharing" onclick="window.open(this.href);return false;

Version 3.0.0PA - Major UI changes, too many calibration fixes to count

The tower offsets and delta radii now calibrate first (and properly). The program can now correctly predict what the values of the heights will be before they are set, similar to before but more accurate. The zprobe setting does not operate properly yet, so it requires that you manually set your z height with your probe in place prior to calibrating and setting the zheight again afterward the calibration completes. This version has been thoroughly tested.

Download - https://drive.google.com/file/d/0B06WCA ... sp=sharing" onclick="window.open(this.href);return false;


Version 2.0.5A - Steps Per Millimeter Correction - Untested

I still cannot test this (mostly because my printer is in a thousand pieces throughout the house), however, I am fairly sure the connection issues have been corrected. The thread created for reading the log from the printer would not be created due to incorrect input. This then would trigger an exception to be called as the thread was trying to be joined when it was never created in the first place. I have corrected this specific issue, there may be others though. Also, since there is a new step involved in the calibration you should stay near your printer/kill-switch.

Changes:
-Connection fixes
-Steps per millimeter correction: scaling correction
-Correct horizontal radius values and diagonal rod values

You will now have to know the exact length or at least the theoretical length of your diagonal rods for correct results. Although, you may leave the field blank and it will use the EEPROM value for the length of your diagonal rod.

Download:
https://drive.google.com/file/d/0B06WCA ... sp=sharing" onclick="window.open(this.href);return false;


Version 2.0.4PA
Ok, I've just corrected the issue that was causing the XYZ offset to send absurd (20,000+ steps) values back to the printer. This version will include scaling error minimization, 3 different calibration methods, a working UI, damage prevention(no values get sent if they will break your printer), and a still not yet completed tower analysis. The tower analysis is not pertinent to the calibration, which is why I am going to upload the version anyway.

Tests(all EEPROM values reset prior to testing and at 270mm build diameter):
Test 1: Basic Calibration - Tolerance: +/-0.01mm - 6 iterations.
Test 2: Basic Calibration - Tolerance: +/-0.01mm - 8 iterations.
Test 3: A.I. Calibration - Tolerance: +/-0mm - 17 iterations
Test 4: H.A.I. Calibration - Tolerance: +/-0.01mm - 30 iterations

I recommend that you run the tests in this order(only continue if the previous failed):
1. Basic - estimates: fastest, if you know your default settings or the programs defaults work for your printer
2. A.I. - learns offsets and estimates: slower, higher chance of calibration completing if the basic gives you problems
3. H.A.I. - learns offsets and will correct its mistakes: if this doesn't work, then make sure that you are not missing a tower...

Download - https://drive.google.com/file/d/0B06WCA ... sp=sharing" onclick="window.open(this.href);return false;


Version 2.0.3PA - Not operating, absurd XYZ offset values
I am going to go ahead and upload what I have so far, the XYZ offset is not as efficient(higher # of iterations) as I would like, but it gets the job done. Also, the printer analysis is not complete. I have the equations written out over a couple sheets of paper, but need to transfer it to code, so at the moment it will not be correct. I have included two screenshots; one without changing the EEPRom settings, and one with setting them to defaults. Both worked.
Screenshot (4).png
Screenshot (5).png
-Do not run this if you zheight is off by more than 10 millimeters(without changing settings), your nozzle may crash into the plate.
-Make sure you change the Zmin type before running.
-Use G31 to check your probe.
-The advanced calibration does not differ much from the basic calibration at the moment, use either.

I will be changing the basic calibration eventually, but for now it uses the advanced calibration code without checking the offsets. It works the same, if not better, but it will take way longer.

How to:
-Run setup for first time use, run .exe for 2nd+ use.
-enter build diameter
-enter baud rate
-select COM port
-check settings
-press calibrate
-when log says "Calibration Complete", disconnect and close application
-print

This program has not been vigorously tested, there may be some errors, so keep close to the kill-switch. If this causes errors, then copy the console and send it to my email with a description of what you think may have happened.

I plan on eventually compiling my notes/diagrams into a readable format to upload so everyone can understand what all is happening in the calculation - most likely in .PDF format.

Download(with Source and .exe):
https://drive.google.com/file/d/0B06WCA ... sp=sharing" onclick="window.open(this.href);return false;


Version 2.0.2PA
Features:
-Choose whether to update EEProm automatically, or save configuration for later.
-Printer learning calibration
-Support for other firmware
-Mapping error in XY scaling, based on the rotation of towers
-Fixed height-map display

**Never Formally Uploaded**

Version 2.0.1Beta - Advanced Calibration - Now slightly more confusing

I have tested everything included in this version and everything works - however if you run advanced calibration, reset your EEProm to default first. Otherwise you will be waiting a while. The only other issues that this version has is in how it logs information, it has no effect on usability, but the height-maps/other program modified textboxes act odd. Also, with XY dimensional accuracy - not much unless your frame is very distorted. Will be fixed soon.

I managed a tolerance of +/- 0.01 at 5mm/s - lower the z-probe start height to 10 with FSRs - but cannot tell if any higher accuracy is achieved due to the significant figures returned from the printer.

New Features:
-support for FSR and Z-Probe
-control over z-probe speed
-less lag/thread sleeping, now depends on how long your printer takes to communicate
-live height-map
-accuracy control
-advanced calibration to learn specifics about Your printer - similar to expert mode in V1.0.3
-maximum iterations
-control over time pausing for printer communication (sends script and waits designated time)
-FSR plate offset control (raises the print height slightly so you have a first layer)
-determine z-probe height, this requires you to set your z-height first
-fixed printer commands
-improved parser
-faster/less lag/connects/sends-receives reliably - thank you mhackney

How To:
Basic Calibration:
-Enter build diameter
-Enter Baud Rate
-Select COM port
-Click connect
-Click Calibrate
-Wait for console to read Calibration Completed
-Disconnect
-Close application

Advanced calibration mode:
-Enter build diameter
-Enter Baud Rate
-Select COM port
-Click connect
-Click the advanced button
-Click advanced calibration
-Acquire patience
-Once finished, you can open the "More..." tab and write down the changed values to save your self time in following calibrations.
-Disconnect
-Close application

Download:
https://drive.google.com/file/d/0B06WCA ... sp=sharing" onclick="window.open(this.href);return false;

The download includes the source file/designer file and a how-to.
advanced.png

Version 2.0.0A - Automatic Calibration - Now 300x easier

TLDR Update: This is an automatic calibration tool for delta printers running Repetier 0.91+. Also, you need a Z-Probe.

Currently, the program is set to only calibrate within a tolerance of +/- 0.05 mm, however, my printer finished with a tolerance of +/- 0.02mm. (Second test was +/- 0.015).

Note:
-You do not need to reset your EEProm. I have tested from defaults and after entering in random but close-ish values.
-The program may seem frozen but it is most likely not, I put the threads into sleep mode when communicating with the printer to prevent code from being lost/skipped. This will prevent user input, so if something goes wrong, then use the power switch on your printer.
-Test your Z-Probe before using this program (G31 - hold switch, send/let off switch, send - state should change), the state should read L when you are not pressing the switch, and H when you are pressing it.
-Make sure your Z-Probe height is measured and set correctly. Also, if for some strange reason your Z-Probe height is above 70, do not use this program. PM me and I will increase the g-code height.
-This program is compiled for Windows, it was tested on Windows 8.1 and 10, but should work back to XP as well.
-Disconnect from your printer before closing, else you will receive lag.
-If this changes your Diagonal Rod length more than 0.5 +/-, then you should consider measuring your rods, and if the programs calibration was right then good, otherwise you should probably rebuild your frame.
-Even though this works well on my printer, that does not mean there may not be issues with yours. On the first couple passes keep your hand near the kill switch. That is a warning. I will not be liable for any issues this may cause.

Requirements:
-Z-Probe
-Repetier Firmware 0.91+(This may work with others, although Repetier is the only one which has been tested)
-Windows OS
-Delta 3D Printer (yes, you need this)
-USB cord connected to printer (why did I type that? you know this)
-Drivers installed for your controller
-Know your build diameter
-Know your baud rate

How to:
-Run the .exe
-Enter your printers build diameter
-Enter your printers Baud Rate (look in your printers EEProm in your host software)
-Click connect
-Press Calibrate
-Once Log shows that the calibration is complete, press disconnect, and close the application

I will upload a how-to video soon, although it is fairly self-explanatory.

Download V2.0.0 - https://drive.google.com/file/d/0B06WCA ... sp=sharing" onclick="window.open(this.href);return false;


#### Manual Calibration Below ####
TLDR: This is a program which can calibrate delta printers from an inaccuracy of +/- 2mm(Or more! But this was the test value) to an accuracy of +/- 0.015mm in under ten minutes.

If you consider using this I would recommend reading or skimming this post.

Current Version - V1.0.3PA
Updates:
Inversion Control - will help if your dial gauge/measurement tool reads the opposite of mine
Accuracy Control - will allow you to set the desired accuracy of the program, i.e. no more lag on my behalf - you choose how much you want
XYZ Offset Changes - now has the ability to decrease the offset if necessary, i.e. drop from 400 to 200
More expert settings - with this you can calibrate your bed in ONE iteration, however, it takes just as long.

Future Plans:
Speed improvements.

//What
I very recently started to work on a program which will calibrate a delta style 3d printer, which I made to calibrate my Rostock Max V2. This calibrates my printer without even touching the endstops, shimming the bed, or any other interesting method with which I have seen. But with recent tests, I have corrected my printer from a tolerance of about +/- 2mm (yeah, it was far off) to a tolerance of approximately +/- 0.015 in less than ten minutes.

This program corrects the Alpha Rotation, XYZ offset, Horizontal Radius, and Diagonal Rod length. I will go into more detail on how this is done later on in this later on in the post.

Based on tests:
This WILL calibrate your bed even if your towers aren't square.
This WILL calibrate your bed even if your endstops are off, in fact, you won't even need to touch your endstops with this calibration.
This WILL calibrate your bed even if your borosillicate plate is warped. (Of course only to a certain extent)
This WILL calibrate your bed if your bed is slanted.

//Why
I created this program out of frustration, mostly. I have tried using an uncountable amount of techniques others have used to successfully calibrate their printers. Most of the time, the techniques are very similar to how the Rostock Max V2 manual says to calibrate the machine, however, that method is flawed in some cases. It completely ignores 3 radial areas of the plate, while there are 6 that need calibrated. In some cases, this works perfectly, on a perfect machine. However, the method in the manual cannot calibrate printers that are not mechanically perfect.

That is where this program comes into play, as I have tried to manually calibrate tower offset, alpha rotation, etc. But it is next to impossible to get it perfect without spending 4 weeks straight, skipping your job and skipping sleep to calibrate it this way. But this program fixes these issues, and it doesn't take four weeks. I managed to calibrate mine to the precision that is SeeMeCNC states that the Rostock Max V2 can operate at in under 5 minutes.

Of course there are requirements to use this:
-calipers, or a dial gauge
-zip ties, or other way to mount the calipers/dial gauge
-rubber band if you are using calipers(don't laugh)

Or if you are fancy, then you can use a Z-probe.

//How
if you don't have a Z-probe. I attached my calipers with 2 zip ties to the side of my hot end, and attached a rubber band to the slider on the calipers and the other end of the band to the hot end as well, this just allows the calipers to have a slight amount of pressure against the plate, giving more accurate results.

Once you're set up to measure the plate, enter this g-code after setting all of your EEPROM configuration back to it's original settings:


//recommendations
-once your hot end is centered in the middle of the build plate, zero your dial gauge or calipers, otherwise this WILL NOT work
-have the program ready to enter in the data points once you start the calibration g-code
-there is no need to heat your bed, but if you feel it is necessary, then go for it

/////////////////////////////////////G-Code is fixed now, use only on Rostock Max V2 For G-code on other printers reply and we will figure it out.

G28
G1 Z2 F5000
G4 S5
G1 Z50 X0 Y0

G1 Z50 X-113 Y-65
G1 Z2 X-113 Y-65
G4 S3
G1 Z50 X-113 Y-65
G1 Z50 X0 Y0
G1 Z50 X113 Y65
G1 Z2 X113 Y65
G4 S3
G1 Z50 X113 Y65
G1 Z50 X0 Y0

G1 Z50 X113 Y-65
G1 Z2 X113 Y-65
G4 S3
G1 Z50 X113 Y-65
G1 Z50 X0 Y0
G1 Z50 X-113 Y65
G1 Z2 X-113 Y65
G4 S3
G1 Z50 X-113 Y65
G1 Z50 X0 Y0

G1 Z50 Y130
G1 Z2 Y130
G4 S3
G1 Z50 Y130
G1 Z50 X0 Y0
G1 Z50 Y-130
G1 Z2 Y-130
G4 S3
G1 Z50 Y-130
G1 Z50 X0 Y0
G28

/////////////////////////////////////
This is essentially a key for each important setting in the EEPROM. Edit: Removed Delta Radius.
This is essentially a key for each important setting in the EEPROM. Edit: Removed Delta Radius.
//How it works
To give an explanation of how this program works, I will briefly describe each step.

/* The program in its current state has the ability to calculate your steps per millimeter for your printer if you do not know it(you Really should however), but it is needed to accurately changed the XYZ offset. */

//XYZ offset
This is essentially virtual endstops.

//HorizontalRadius
The program simply averages the heights of the build plate at the towers and virtual towers at the edge of the build plate. This value is then subtracted by each tower to give the new tower heights, and multiplied by -0.5 then added to the horizontal radius. This simply balances the points around zero.

//Delta Radius
Delta Radius is currently bypassed due to changing XY scaling issues. (Replaced with XYZ offset).

//Alpha Rotation
Now, having all non-virtual towers calibrated, the opposing towers need calibrated. This is done partially via alpha rotation.

For instance, when you increase the base value of A by 210 to 211, it increases the virtual tower opposite of the Z tower by 0.5 and decreases the virtual tower opposite of the Y tower by 0.5. Alpha rotation does Not affect the opposite tower of the tower changed or any of the non-virtual towers. Given this, the virtual towers can all be balanced, i.e. the values will all be equivalent but greater than or less than zero (unless you are not from this planet.)

//Diagonal Rod
To give an example of what happens when you change the length of the diagonal rod, if you increase the base value, in my case 269 to 270, the XYZ towers will be increased by approximately 13% of the value changed (1, so 0.13mm) and the virtual towers will be increased by 21% (0.21mm) of the value.

This presents an issue, but nothing that can't be fixed! Given the situation, you could either increase or decrease the value of the diagonal rod until all values are equivalent, but then all values will be greater than or less than 0. But since these heights are all the same it can be canceled out by changing the value of the horizontal radius until all values are approximately zero.

Getting through these steps, it is possible to get a theoretical tolerance of +/- 0.0001mm(the programs settings), giving a perfectly flat bed. (Even if your bed was mechanically warped.)

Following these steps, it is entirely possible to calibrate a delta with only modifying values in the EEPROM. That is what the program does for you! Except all you have to do is enter your current settings and then get your new values right back.

And if your calibration wasn't close enough the first time, you can go through again! But that would only apply if you were planning on printing something 1/10th the thickness of a piece of paper.

//How to use it
Enter in your current settings, then press calibrate, then copy the change data back into your EEPROM. More information is available when you hover over the input boxes in the calibration tool.


Since this is not a compiled program (just Javascript/HTML, sorry I am lazy), I am making it open-source, anyone can improve it and modify it to their need. The current version can be downloaded off of my GitHub page - https://github.com/RollieRowland/Delta- ... ation-Tool" onclick="window.open(this.href);return false;

////////////////////////////////////////////////////////////////////////////////////////////
Version 1.0.3 is now up on GitHub, it is best to keep the program up to date, as I make corrections/improvements every day.
////////////////////////////////////////////////////////////////////////////////////////////

-This calibration has only been tested on my Rostock Max V2, although it is set up to work with any delta style machine.
-If the results are not very accurate, then you will have to modify the expert settings.
-If this does not improve your printer at all you can pm me or reply to this post, as there may be issues with the program.
-If you have any recommendations for me to change or add to the program, then pm, reply, or email me.

(If there are any dead links and you would like a specific version of the software then send me an email.)
Last edited by RollieRowland on Wed Sep 07, 2016 9:13 pm, edited 58 times in total.
User avatar
teoman
ULTIMATE 3D JEDI
Posts: 1783
Joined: Sat May 24, 2014 5:43 pm

Re: Delta Calibration Program for Very Accurate Bed Leveling

Post by teoman »

Sounds promissing.

Cannot wait to test it at some point.
When on mobile I am brief and may be perceived as an arsl.
User avatar
teoman
ULTIMATE 3D JEDI
Posts: 1783
Joined: Sat May 24, 2014 5:43 pm

Re: Delta Calibration Program for Very Accurate Bed Leveling

Post by teoman »

Github says it could not find the .html files.
When on mobile I am brief and may be perceived as an arsl.
duvdev
Printmaster!
Posts: 167
Joined: Wed Aug 13, 2014 5:23 am

Re: Delta Calibration Program for Very Accurate Bed Leveling

Post by duvdev »

that sound cool.
How do I run the code?
User avatar
RollieRowland
Printmaster!
Posts: 226
Joined: Fri Jul 17, 2015 5:30 pm
Location: U.S.

Re: Delta Calibration Program for Very Accurate Bed Leveling

Post by RollieRowland »

I put v1.0.1 up on Google Drive(No XYZ Offset Calibration), let me know if this works for you -
https://drive.google.com/file/d/0B06WCA ... sp=sharing" onclick="window.open(this.href);return false;

(Link was edited to be a stable version of the program.)

If you want to download this from GitHub and have never used GitHub, then once you follow the link from my first post to get to GitHub, there is a button on the right which says "Download Zip". Use that and it will download the files.
To open/run it, download it and open it with your browser.

I plan on later today putting up a video going through the whole process. This will be the best way for me to describe how to use this.
Last edited by RollieRowland on Mon Jul 20, 2015 4:01 pm, edited 1 time in total.
User avatar
ramai
Printmaster!
Posts: 179
Joined: Tue Jun 02, 2015 1:17 am
Location: Orange County, CA

Re: Delta Calibration Program for Very Accurate Bed Leveling

Post by ramai »

Wow cool! I may have to try this for fun. A couple quick questions: When you say reset EEPROM back to defaults, that means remove my calibrations that I originally did? Also, when you say raise your bed height, do you mean move the extruder down? Thanks for your excellent work with this!
Rostock MAX V2 with trick trucks, cf arms, prometheus hot end, nimble extruder, berdAir cooling.
Cura slicer, Duet Wifi, iMac
User avatar
bvandiepenbos
Printmaster!
Posts: 927
Joined: Thu Apr 05, 2012 11:25 pm
Location: Goshen, IN
Contact:

Re: Delta Calibration Program for Very Accurate Bed Leveling

Post by bvandiepenbos »

great work! thanks for sharing.
~*Brian V.

RostockMAX v2 (Stock)
MAX METAL "ShortyMAX"
MAX METAL Rostock MAX Printer Frame
NEMESIS Air Delta v1 & v2 -Aluminum delta printers
Rostock MAX "KITT" - Tri-Force Frame
GRABER i3 "Slim"
User avatar
RollieRowland
Printmaster!
Posts: 226
Joined: Fri Jul 17, 2015 5:30 pm
Location: U.S.

Re: Delta Calibration Program for Very Accurate Bed Leveling

Post by RollieRowland »

Ok, so after some modification, I went ahead and decided that using the XYZ offset for now is not efficient for the calibration process. It took 6 iterations running through the program to get my tolerance to +/- 5 microns (the six points actually were all exactly 0). However, I ran the version of the program that skipped the XYZ offset and it took 2 iterations for the exact same results. I will correct the XYZ offset soon but for now only use the version which excludes the XYZ offset correction.

So, when you download the zip from GitHub use the "deltaCalibrationToolNoXYZOffset.html" instead of the "deltaCalibrationTool.html", at least until I have made this correction.

And ramai, when I say reset the EEPROM back to defaults, I would recommend using the defaults that came with the printer. So yes, remove your previous calibrations. Also, do not worry about raising your Z height. Just get the value close, and use the gcode that I have provided below. If you use this gcode you won't have to change your Z height at all. It will save time.

Anyway, I am currently working on making a video going through this entire process, it will be uploaded shortly and I will post the link.

/////////////////////////////////////

G28
G1 Z2 F5000
G4 S5
G1 Z50 X0 Y0

G1 Z50 X-112 Y-63
G1 Z2 X-112 Y-63
G4 S3
G1 Z50 X-112 Y-63
G1 Z50 X0 Y0
G1 Z50 X112 Y63
G1 Z2 X112 Y63
G4 S3
G1 Z50 X112 Y63
G1 Z50 X0 Y0

G1 Z50 X112 Y-63
G1 Z2 X112 Y-63
G4 S3
G1 Z50 X112 Y-63
G1 Z50 X0 Y0
G1 Z50 X-112 Y63
G1 Z2 X-112 Y63
G4 S3
G1 Z50 X-112 Y63
G1 Z50 X0 Y0

G1 Z50 Y130
G1 Z2 Y130
G4 S3
G1 Z50 Y130
G1 Z50 X0 Y0
G1 Z50 Y-130
G1 Z2 Y-130
G4 S3
G1 Z50 Y-130
G1 Z50 X0 Y0
G28

/////////////////////////////////////
User avatar
ramai
Printmaster!
Posts: 179
Joined: Tue Jun 02, 2015 1:17 am
Location: Orange County, CA

Re: Delta Calibration Program for Very Accurate Bed Leveling

Post by ramai »

+1 for a video. Also, I was thinking of getting a z probe. Would that improve this process?
Rostock MAX V2 with trick trucks, cf arms, prometheus hot end, nimble extruder, berdAir cooling.
Cura slicer, Duet Wifi, iMac
User avatar
RollieRowland
Printmaster!
Posts: 226
Joined: Fri Jul 17, 2015 5:30 pm
Location: U.S.

Re: Delta Calibration Program for Very Accurate Bed Leveling

Post by RollieRowland »

The video is currently 50% done rendering (I should really find an alternative to after effects), once this is done I will upload it to YouTube and paste the link here. I was kind of in a hurry, however, the results turned out great. If I recall correctly, my height-map values were(original -> after 2nd calibration):
X(0.99 -> 0)
XOpp(-0.17 -> 0)
Y(1.38 -> -0.02)
YOpp(-0.26 -> -0.01)
Z(-1.71 -> 0)
ZOpp(1.33 -> 0 ).

This means that I went from +/- 1.71 mm tolerance to +/- 0.02, in just two iterations, once more and these values would all be 0.

And ramai, my next step with this program would hopefully be to integrate into the printers EEPROM, which would then manage the calibration with the click of a button with no help from the user. This would then do the calibration in a fraction of the time, and don't forget how much easier it would be. So, back to the question at hand, a Z-probe could help, however, I am not entirely sure how the measurements are recorded... as I do not have one. I am going to order one soon as well, that way I can take this a step further.

Within a month or so, I would hope to have a program that will calibrate this automatically, as long as I can find the time!
User avatar
ramai
Printmaster!
Posts: 179
Joined: Tue Jun 02, 2015 1:17 am
Location: Orange County, CA

Re: Delta Calibration Program for Very Accurate Bed Leveling

Post by ramai »

If you did manage to work it all out, to the point where you just press the calibrate button and it happens, that would be a huge contribution to this community. Let me know if I can help in any way!
Rostock MAX V2 with trick trucks, cf arms, prometheus hot end, nimble extruder, berdAir cooling.
Cura slicer, Duet Wifi, iMac
User avatar
RollieRowland
Printmaster!
Posts: 226
Joined: Fri Jul 17, 2015 5:30 pm
Location: U.S.

Re: Delta Calibration Program for Very Accurate Bed Leveling

Post by RollieRowland »

Well, that is the thing, I essentially have the brain for the calibration process. I just need to change the programming language it is in(simple enough) and tell it how to use its arms. It is entirely possible! I just might need help though, as I have no idea how to integrate the use of COM ports to connect to a printer, let alone modify values in the EEPROM, or get measurements of the height displacements back from the printer. It is research time!

Also, the video should be done rendering in less than 17 minutes
User avatar
Jrjones
Printmaster!
Posts: 106
Joined: Mon Nov 24, 2014 6:09 pm

Re: Delta Calibration Program for Very Accurate Bed Leveling

Post by Jrjones »

I am going to try this tomorrow to see if it helps correct the issues I am having with my printer: http://forum.seemecnc.com/viewtopic.php?f=37&t=8415" onclick="window.open(this.href);return false;

If this works I owe you a beer :)
duvdev
Printmaster!
Posts: 167
Joined: Wed Aug 13, 2014 5:23 am

Re: Delta Calibration Program for Very Accurate Bed Leveling

Post by duvdev »

Hi
so I download the file and it seem to work.
can you please upload the video so we can all see how you connected the clipers ( i dont have a z probe)

can any one send a link on how to add a z probe to the rambo board?
Thanks
User avatar
RollieRowland
Printmaster!
Posts: 226
Joined: Fri Jul 17, 2015 5:30 pm
Location: U.S.

Re: Delta Calibration Program for Very Accurate Bed Leveling

Post by RollieRowland »

Sorry, I tried rendering the video 2 or 3 times last night before I found out I had a bad driver and it was locking my ram. Anyway, I am rendering the video on another computer, but for now I have attached a picture of my rig. It uses two zip ties, folded piece of rubber(so the calipers don't slider), rubber band, and of course calipers.

As I said, it is a rig, but it works.

The video is currently at around 30%, with an hour and a half left.
Attachments
I need a Z-probe.
I need a Z-probe.
User avatar
RollieRowland
Printmaster!
Posts: 226
Joined: Fri Jul 17, 2015 5:30 pm
Location: U.S.

Re: Delta Calibration Program for Very Accurate Bed Leveling

Post by RollieRowland »

Third time was a charm... anyway here is the video - https://www.youtube.com/watch?v=im5MDpTkzCM" onclick="window.open(this.href);return false;

The video is still processing, but there is 720p for now, 1080p shouldn't be too long after.

Also, here were the actual results after two iterations -
X(0.99 -> 0)
XOpp(-0.17 -> 0)
Y(1.38 -> 0)
YOpp(-0.26 -> 0.01)
Z(-1.71 -> -0.02)
ZOpp(1.33 -> -0.01 )
Last edited by RollieRowland on Mon Jul 20, 2015 10:59 pm, edited 2 times in total.
duvdev
Printmaster!
Posts: 167
Joined: Wed Aug 13, 2014 5:23 am

Re: Delta Calibration Program for Very Accurate Bed Leveling

Post by duvdev »

Thanks for th video - that look really good and I musr try it later. I have 2 questions:

1. will also work if I am useing repiter - host?

2. can you plase take some closeup pictures of how toy hooked the cliper in place?

thanks
User avatar
Jrjones
Printmaster!
Posts: 106
Joined: Mon Nov 24, 2014 6:09 pm

Re: Delta Calibration Program for Very Accurate Bed Leveling

Post by Jrjones »

Ah, I see, my digital dial indicator reads the opposite from your meter (Too high is a negative value, too low is a positive value).
I will try it again and flip the signs around.
User avatar
RollieRowland
Printmaster!
Posts: 226
Joined: Fri Jul 17, 2015 5:30 pm
Location: U.S.

Re: Delta Calibration Program for Very Accurate Bed Leveling

Post by RollieRowland »

duvdev -
1. Yes, this will work with any program that you can send g-code to a printer with and access the EEPROM.
2. I can't at the moment as I am currently printing parts for a new frame for my printer, the print has about an hour left. Once it is done, I will set it up again and upload a couple pictures from different angles.

Jrjones -
Let me know how it works out!
User avatar
Jimustanguitar
ULTIMATE 3D JEDI
Posts: 2631
Joined: Sun Mar 31, 2013 1:35 am
Location: Notre Dame area
Contact:

Re: Delta Calibration Program for Very Accurate Bed Leveling

Post by Jimustanguitar »

Jrjones wrote:Ah, I see, my digital dial indicator reads the opposite from your meter (Too high is a negative value, too low is a positive value).
I will try it again and flip the signs around.
So for clarification... If the bed is physically higher, ie the space between the hot-end and the glass is tighter, should the measured value that I enter be positive or negative?
JFettig
Printmaster!
Posts: 824
Joined: Tue Nov 18, 2014 4:39 pm
Location: Minnesota

Re: Delta Calibration Program for Very Accurate Bed Leveling

Post by JFettig »

So if I'm seeing this correctly, you're correcting tower heights by changing horizontal radius for each tower? Seems like it would create great inaccuracies in x-y dimensions across the board.
User avatar
RollieRowland
Printmaster!
Posts: 226
Joined: Fri Jul 17, 2015 5:30 pm
Location: U.S.

Re: Delta Calibration Program for Very Accurate Bed Leveling

Post by RollieRowland »

Jimustanguitar, how my measurements work (also how the program works), if the bed is physically higher then the values should be negative. Since, some dial gauges/calipers invert measurement, I will add another setting to the program that will correct this, i.e. invert measurements for you.

JFettig, no this simply corrects the horizontal radius. Also, the horizontal radius is not a setting that you can change for each tower, it is for all towers.

The settings that this program changes Do Not affect anything in the XY dimensions, just Z to clarify.
User avatar
Jrjones
Printmaster!
Posts: 106
Joined: Mon Nov 24, 2014 6:09 pm

Re: Delta Calibration Program for Very Accurate Bed Leveling

Post by Jrjones »

Jimustanguitar wrote:
Jrjones wrote:Ah, I see, my digital dial indicator reads the opposite from your meter (Too high is a negative value, too low is a positive value).
I will try it again and flip the signs around.
So for clarification... If the bed is physically higher, ie the space between the hot-end and the glass is tighter, should the measured value that I enter be positive or negative?
If the hot end is higher than it should be, it is a positive value.
If the hot end is lower than it should be it is a negative value.
Edit: I see Rollie answered already
RollieRowland wrote:Jrjones -
Let me know how it works out!
So after 3 iterations I measure about +/- 0.01mm on the points of your gcode.
When I measure 169 points starting from the center and going radially outward, all points improved. Here is a chart of my measured points before and after:
[img]http://i3.photobucket.com/albums/y69/jr ... g~original[/img]

Its still not perfect, but it is much improved. I may need to play with the expert settings?
Attachments
Measure 169 points.gcode
For reference I included the gcode I used to measure the 169 points
(7.2 KiB) Downloaded 889 times
User avatar
RollieRowland
Printmaster!
Posts: 226
Joined: Fri Jul 17, 2015 5:30 pm
Location: U.S.

Re: Delta Calibration Program for Very Accurate Bed Leveling

Post by RollieRowland »

Jrjones wrote:Its still not perfect, but it is much improved. I may need to play with the expert settings?
Yes, you could either play with expert settings(might or might not help) or redo the XYZ Delta Radius with your current settings. For instance, if your X Delta Rad value is 0.123, do the same steps in the video except the value would be 1.123. You would also have to repeat that for the Y and Z delta radii.

Another method you could try is more iterations of the program, yes mine calibrates in three iterations, however, some may take more! The first thing you should probably try is iterate through maybe 5 or 6 times and see where that takes you.

Edit: Also, thank you for your gcode, I will test it when I get back in front of my printer!
JFettig
Printmaster!
Posts: 824
Joined: Tue Nov 18, 2014 4:39 pm
Location: Minnesota

Re: Delta Calibration Program for Very Accurate Bed Leveling

Post by JFettig »

so I made an assumption but maybe I'm wrong - what is the "Delta Radius A", B and C?
Post Reply

Return to “General Tips 'N Tricks”