I was having the same problems as Eric LB and lignumaqua. I was certain my Onyx was warped since the numbers didn't even make sense. I spent probably weeks trying to calibrate by hand. I am certain now that the process in the manual can't reasonably work for some machines. Here's how I solved it-
1. Printed a dial indicator mount out of PLA. I used this one-
http://repables.com/r/320/ but wound up cutting off the bottom part which recesses into a hole. Didn't want to drill a hole that big. It didn't affect my repeatability any.
2. Bought a dial indicator. I should have got a Metric one (to avoid wasting time with conversions) but HF had english ones very cheap so...
3. Dial indicator extensions. About 3" is needed. I didn't want to spend the money on extensions so I used blue painter's tape to secure a small drill bit,
upside down, into the dial indicator thread. I made absolutely sure that it was "bottomed out" and repeatable. My macros don't drag across the plate so I didn't have an issue with leaving marks.
You could also use a set of calipers and zip ties.
4. Set Z=0 to actual 0 using the machine controls. Meaning, do the paper test and then move down about 0.1mm until the nozzle is actually on the glass at [0,0].
5. Make some macros. Basic process is to go to 0,0,50, then 0,0,2, wait 5 seconds, then go to 0,0,50. You want to probe each measuring point in exactly the same way, every time, so dragging the indicator across the glass is not recommended. You'll need to sample 7 points total: [0,0,2], [-113,-65,2], [113,65,2], [-113,65,2], [113,-65,2], [0,125,2], and [0,-125,2]. From 0,0,50, go to Z=50mm above each measuring point, probe it at Z=2mm height, then go back to Z=50mm at the measuring point, and finally back to 0,0,50. Don't go from a point near the edge of the bed (like 113,65) directly to G28, this was creating snags with my wiring harness and "bumping" my dial indicator, which might have given me some errors. You'll want to go back to [0,0,50] first before a G28 so that the homing process is always the same.
6. Get the latest version of OPENDACT -
http://forum.seemecnc.com/viewtopic.php?f=36&t=8698 This image -
http://forum.seemecnc.com/download/file ... &mode=view is very helpful for understanding that almost ANY issue may be fixed by firmware calibration, even if it seems like it is impossible.
7. Run setup and then run the program. Calibrate using the manual process. Click on "advanced" and then "manual calibration". Enter your actual Zmax length according to the machine. Z probe height should be 2 (or whatever Z-height you choose to use in your macros above in step 5). Set Horizontal Radius and Diagonal Rod to whatever settings are in your machine. You'll be staying on the "manual calibration" and "accuracy" tabs which are enabled by the "advanced" button. I did not change any other settings anywhere else in the program.
8. Measure at 0,0,2 and zero your dial indicator or calipers. All of the numbers you enter into OpenDACT for towers/opposite towers are relative to the center point. So you must always be 0 in the center, every run. You can zero your dial indicator/calipers each run, or you can take readings "as they are" and subtract in excel to zero out the Z height of location [0,0]. Zeroing the dial indicator is more time consuming but I found it worthwhile to ensure every measurement was correct. Incorrect inputs into OpenDACT lead to incorrect advice on how to calibrate and should be avoided at all cost.
9. This is very important. OpenDACT manual calibration is set up for calipers. If you use calipers, the reading should get smaller as you get closer to the built plate. So if you use calipers, you'll be entering measurements into OpenDACT as you read them: + as + and - as -.
If instead, you use a dial indicator, the reading may get larger as you get closer to the build plate. Check your dial indicator, mine may be different than yours. If you use a dial indicator, you'll probably have to flip the sign and enter + readings as - and - readings as +. Get this right and you will make noticeable progress in 3 or fewer calibration runs. Get it wrong and your calibration will get worse and worse. Make sure you understand this and are entering the numbers correctly.
10. Take a full set of readings, then recheck 0,0 to make sure the calipers/indicator are still 0. If it isn't redo your measurements. Enter the data into OpenDACT manual calibration, and click "manual calibrate" ONCE.
11. The numbers on the right side will change. You may want to keep track of these in a spreadsheet, it was very helpful for me to track input numbers and measurements.
12. After clicking "manual calibrate" ONCE, take the updated numbers on the right side and enter them into your EEPROM settings.
13. If you choose to ignore the program's advice, or if you can't enter a number that precise (144.3875 -> 144.39), update the numbers in OpenDACT. Whenever you click "manual calibrate", it is vital that the numbers shown are the numbers the firmware had when you took your caliper/dial indicator readings. It's OK to ignore OpenDACT's advice, as long as you feed the program only correct information about the parameters that were set and the measurements that were taken. Every time you click "manual calibrate" the numbers must reflect reality!
14. Repeat. It took me more than 30 calibration runs, but I was doing some things wrong in the beginning. The program will first calibrate your tower heights (points in front of towers) to as near to 0 as possible. Then it will work on the opposite towers. You will be jumping back and forth between horizontal radius, and tower offset adjustments. Then, when those are close, the software may make a alpha rotation change, which may send you back to the beginning. Then when alpha rotation is correct, you may have to change diagonal rod. This is a "sawtooth" kind of process, if you click over to the "accuracy" tab after a couple of runs, you should see that you are getting closer to 0, then farther away, then closer than ever before, then farther away, etc. I eventually got to around 0.05 which is good enough to use almost the entire build plate. I kept notes (yellow highlighting) in my excel sheet of which variables were changed during each run. This helped to establish a pattern.
15. Ignore any request by the software to change your steps/mm from 80mm. This happened to me when I was getting very close to calibration- my towers were 0'ed out and the opposite tower errors was all approximately the same. Instead of changing steps/mm (which is a very bad idea), change your diagonal rod instead. At this point in my calibration, the numbers "made sense" and I could see that a diagonal rod adjustment was the way to fix the problem. My tower were all "0" and my opposite towers were all very close to +0.015" / 0.375mm. I used this figure-
http://forum.seemecnc.com/download/file ... &mode=view to try to make a better educated guess on how much to change the diagonal rod. Note that making a diagonal rod change will mess up your calibration. Every time you change diagonal rod (or alpha rotation, for that matter), it will be a big
temporary setback for your accuracy, and require 2-3 runs to get back "where you were". Don't lose hope. You should be able to see that successful calibration is possible by this point.
16. Keep at it. Even if your machine's calibration is a tangled, complicated mess, like mine was, eventually the numbers should start to make sense and "look" correctable. If not, you may be measuring wrong - I certainly made a few mistakes that way. I wasted several hours being confused about the sign convention I explained in step 9. When you are all done, don't forget to set Z=0 to nozzle actually touching the glass. I had to make significant changes to horizontal radius (~+0.6), Alpha rotation A(~-0.3?), and diagonal rod (~+4.0). The other parameters got smaller corrections. I can put on my dial indicator and get +/- 0.002" or 0.05mm now anywhere on the plate though. Finally.
Next step for me is to get a Zprobe system and a firmware that can calibrate automatically. Now that I know the machine actually can be calibrated, I'm a lot more confident now that this will actually work. I had tried manual calibrations for weeks, using every guide out there. Nothing worked. I was at my wit's end, and thought calibration was nearly hopeless. But I got it. The key was to eliminate all the possible sources of error and be absolutely fanatical that only accurate and correct information was being entered into OpenDACT.