I need help configuring my Delta
I have struggling with my delta, trying to get it configured for several months now. Help getting this figured out would be greatly appreciated.
I have a Folger Tech 2020 Kossel. It orginally came with a Ardiuno MEGA 2650 R3 clone, a RAMPS 1.4 Controller w/ A4988 Stepper Drivers. It was working fine with that setup. Late last year I upgraded to a Arduino Due w/ Radds sheild board and DRV8825 Stepper drivers set to 1/32 u steps. I will included my EEPROM config. Since I have upgraded, I can't go back to Folger Tech to have them provide me with firmware for a board they didn't sell. The RADDS website the best software to use with a Due/RADDS setup is Repetier. I have used the online configuration tools but the initial setup is confusing with respect to the printer dimensions, which is why I am here.
The problems I have been having include:
1) The Folger Tech website says my printers spec are : 210mm Print Area x 310mm height. I have it set at 297mm height and 100mm print radius, or at least that is what I have set for "Max printable radius" in the EEPROM. However, I can only move to 100mm on the +y axis. When I move -y I can only move to 80 before I get this error:
My guess is there is something screwed up with the delta geometry.
2) I have tried to follow the procedure in the Z-probing, however since I have a delta do I need to follow the first part of the instruction or just jump to the Delta part?
3) I have followed the instructions in the video (Z-Leveling for Delta Printers with Repetier firmware) but when I follow the steps for setting the tower offsets and then run the "g32" it fails and the changes my z height to well over 300 which cause any following movement to crash into the bed.
There are other movement issues but I am guessing that once the geometry gets figured out, the rest will either resolves themselves or be easier to deal with.
Here is the EEPROM contents:
I have a Folger Tech 2020 Kossel. It orginally came with a Ardiuno MEGA 2650 R3 clone, a RAMPS 1.4 Controller w/ A4988 Stepper Drivers. It was working fine with that setup. Late last year I upgraded to a Arduino Due w/ Radds sheild board and DRV8825 Stepper drivers set to 1/32 u steps. I will included my EEPROM config. Since I have upgraded, I can't go back to Folger Tech to have them provide me with firmware for a board they didn't sell. The RADDS website the best software to use with a Due/RADDS setup is Repetier. I have used the online configuration tools but the initial setup is confusing with respect to the printer dimensions, which is why I am here.
The problems I have been having include:
1) The Folger Tech website says my printers spec are : 210mm Print Area x 310mm height. I have it set at 297mm height and 100mm print radius, or at least that is what I have set for "Max printable radius" in the EEPROM. However, I can only move to 100mm on the +y axis. When I move -y I can only move to 80 before I get this error:
18:55:31.984 : Error:Cpos y square
18:55:31.984 : Warning:Invalid delta coordinate - move ignored x:0 y:-13200 z:800
18:55:31.988 : Warning:in queueDeltaMove to calculateDeltaSubSegments returns error.
18:55:31.988 : Warning:executeGCode / queueDeltaMove returns error
18:55:44.707 : SelectExtruder:0
On +x and -x axis I can only move to 90 before I get this error:
18:56:07.609 : Error:Apos x square
On +x and -x axis I can only move to 90 before I get this error:
18:56:07.609 : Error:Apos x square
18:56:07.613 : Warning:Invalid delta coordinate - move ignored x:14400 y:0 z:800
18:56:07.613 : Warning:in queueDeltaMove to calculateDeltaSubSegments returns error.
18:56:07.617 : Warning:executeGCode / queueDeltaMove returns error
18:56:13.831 : SelectExtruder:0
18:56:35.774 : Error:Bpos x square
18:56:35.779 : Warning:Invalid delta coordinate - move ignored x:-14400 y:0 z:800
18:56:35.783 : Warning:in queueDeltaMove to calculateDeltaSubSegments returns error.
18:56:35.783 : Warning:executeGCode / queueDeltaMove returns error
18:56:49.416 : SelectExtruder:0
My guess is there is something screwed up with the delta geometry.
2) I have tried to follow the procedure in the Z-probing, however since I have a delta do I need to follow the first part of the instruction or just jump to the Delta part?
3) I have followed the instructions in the video (Z-Leveling for Delta Printers with Repetier firmware) but when I follow the steps for setting the tower offsets and then run the "g32" it fails and the changes my z height to well over 300 which cause any following movement to crash into the bed.
There are other movement issues but I am guessing that once the geometry gets figured out, the rest will either resolves themselves or be easier to deal with.
Here is the EEPROM contents:
19:00:43.381 : EPR:0 1028 0 Language
19:00:43.384 : EPR:2 75 250000 Baudrate
19:00:43.387 : EPR:3 129 -0.016 Filament printed [m]
19:00:43.391 : EPR:2 125 882 Printer active [s]
19:00:43.396 : EPR:2 79 0 Max. inactive time [ms,0=off]
19:00:43.400 : EPR:2 83 360000 Stop stepper after inactivity [ms,0=off]
19:00:43.403 : EPR:3 11 160.0000 Steps per mm
19:00:43.406 : EPR:3 23 200.000 Max. feedrate [mm/s]
19:00:43.410 : EPR:3 35 200.000 Homing feedrate [mm/s]
19:00:43.416 : EPR:3 39 20.000 Max. jerk [mm/s]
19:00:43.419 : EPR:3 133 0.000 X min pos [mm]
19:00:43.422 : EPR:3 137 0.000 Y min pos [mm]
19:00:43.426 : EPR:3 141 0.000 Z min pos [mm]
19:00:43.430 : EPR:3 145 200.000 X max length [mm]
19:00:43.433 : EPR:3 149 200.000 Y max length [mm]
19:00:43.436 : EPR:3 153 295.400 Z max length [mm]
19:00:43.440 : EPR:1 891 70 Segments/s for travel
19:00:43.443 : EPR:1 889 180 Segments/s for printing
19:00:43.447 : EPR:3 59 100.000 Acceleration [mm/s^2]
19:00:43.450 : EPR:3 71 100.000 Travel acceleration [mm/s^2]
19:00:43.453 : EPR:3 881 230.000 Diagonal rod length [mm]
19:00:43.470 : EPR:3 885 148.000 Horizontal rod radius at 0,0 [mm]
19:00:43.473 : EPR:3 925 100.000 Max printable radius [mm]
19:00:43.477 : EPR:1 893 0 Tower X endstop offset [steps]
19:00:43.481 : EPR:1 895 0 Tower Y endstop offset [steps]
19:00:43.484 : EPR:1 897 0 Tower Z endstop offset [steps]
19:00:43.487 : EPR:3 901 210.000 Alpha A(210):
19:00:43.490 : EPR:3 905 330.000 Alpha B(330):
19:00:43.494 : EPR:3 909 90.000 Alpha C(90):
19:00:43.498 : EPR:3 913 0.000 Delta Radius A(0):
19:00:43.501 : EPR:3 917 0.000 Delta Radius B(0):
19:00:43.504 : EPR:3 921 0.000 Delta Radius C(0):
19:00:43.508 : EPR:3 933 0.000 Corr. diagonal A [mm]
19:00:43.512 : EPR:3 937 0.000 Corr. diagonal B [mm]
19:00:43.516 : EPR:3 941 0.000 Corr. diagonal C [mm]
19:00:43.519 : EPR:3 1024 0.000 Coating thickness [mm]
19:00:43.522 : EPR:3 808 0.900 Z-probe height [mm]
19:00:43.528 : EPR:3 929 10.000 Max. z-probe - bed dist. [mm]
19:00:43.532 : EPR:3 812 50.000 Z-probe speed [mm/s]
19:00:43.536 : EPR:3 840 150.000 Z-probe x-y-speed [mm/s]
19:00:43.539 : EPR:3 800 24.800 Z-probe offset x [mm]
19:00:43.543 : EPR:3 804 -15.000 Z-probe offset y [mm]
19:00:43.547 : EPR:3 816 -77.000 Z-probe X1 [mm]
19:00:43.550 : EPR:3 820 -45.000 Z-probe Y1 [mm]
19:00:43.554 : EPR:3 824 57.000 Z-probe X2 [mm]
19:00:43.557 : EPR:3 828 -35.000 Z-probe Y2 [mm]
19:00:43.562 : EPR:3 832 0.000 Z-probe X3 [mm]
19:00:43.567 : EPR:3 836 90.000 Z-probe Y3 [mm]
19:00:43.573 : EPR:3 1036 0.000 Z-probe bending correction A [mm]
19:00:43.579 : EPR:3 1040 0.000 Z-probe bending correction B [mm]
19:00:43.584 : EPR:3 1044 0.000 Z-probe bending correction C [mm]
19:00:43.588 : EPR:0 880 0 Autolevel active (1/0)
19:00:43.592 : EPR:0 106 1 Bed Heat Manager [0-3]
19:00:43.598 : EPR:0 107 255 Bed PID drive max
19:00:43.602 : EPR:0 124 80 Bed PID drive min
19:00:43.607 : EPR:3 108 196.000 Bed PID P-gain
19:00:43.614 : EPR:3 112 33.000 Bed PID I-gain
19:00:43.619 : EPR:3 116 290.000 Bed PID D-gain
19:00:43.623 : EPR:0 120 255 Bed PID max value [0-255]
19:00:43.627 : EPR:0 1020 0 Enable retraction conversion [0/1]
19:00:43.631 : EPR:3 992 3.000 Retraction length [mm]
19:00:43.635 : EPR:3 1000 40.000 Retraction speed [mm/s]
19:00:43.639 : EPR:3 1004 0.000 Retraction z-lift [mm]
19:00:43.643 : EPR:3 1008 0.000 Extra extrusion on undo retract [mm]
19:00:43.646 : EPR:3 1016 20.000 Retraction undo speed
19:00:43.650 : EPR:3 200 740.000 Extr.1 steps per mm
19:00:43.654 : EPR:3 204 50.000 Extr.1 max. feedrate [mm/s]
19:00:43.657 : EPR:3 208 20.000 Extr.1 start feedrate [mm/s]
19:00:43.661 : EPR:3 212 5000.000 Extr.1 acceleration [mm/s^2]
19:00:43.664 : EPR:0 216 1 Extr.1 heat manager [0-3]
19:00:43.669 : EPR:0 217 230 Extr.1 PID drive max
19:00:43.672 : EPR:0 245 40 Extr.1 PID drive min
19:00:43.676 : EPR:3 218 7.0000 Extr.1 PID P-gain/dead-time
19:00:43.680 : EPR:3 222 2.0000 Extr.1 PID I-gain
19:00:43.684 : EPR:3 226 40.0000 Extr.1 PID D-gain
19:00:43.688 : EPR:0 230 255 Extr.1 PID max value [0-255]
19:00:43.691 : EPR:2 231 0 Extr.1 X-offset [steps]
19:00:43.695 : EPR:2 235 0 Extr.1 Y-offset [steps]
19:00:43.699 : EPR:2 290 0 Extr.1 Z-offset [steps]
19:00:43.704 : EPR:1 239 1 Extr.1 temp. stabilize time [s]
19:00:43.708 : EPR:1 250 150 Extr.1 temp. for retraction when heating [C]
19:00:43.712 : EPR:1 252 0 Extr.1 distance to retract when heating [mm]
19:00:43.716 : EPR:0 254 255 Extr.1 extruder cooler speed [0-255]
Comments
They are the one plus corrections that are being used to compute positions, which is what failed in your example. So first guess is that they are not correct.
Important are distances between the rotation points of the arms! forget center and other additions. Diagonal is just distance between the 2 rotation points. That is simple to measure quite accurate. Horizontal distance is when exstruder is at center, what is the horizontal distance of rotation points? Do a good guess. If this is wrong your extruder will go up or down if you move from outwards to the center. Once it stays at same z position you have the right value. That is the main variable for calibration.
@Repetier, I have measured this several times and my Diagonal rod is 230mm, rotation point to rotation point. I have horizontal distance set for 148mm now. I did shrink the Max printable radius to 75 and moved around the head and got no errors. I raised that to 80 and still no errors. Anything beyond that and the errors returned, so it is set right now to 80mm. I start the z-probing process as shown in the video and all worked until I got to the bed height mapping part. I originally had the settings at the max printable radius of 80 and when I ran the height map I got (as an example as there were a few errors):
I kept running the height map, slowing reducing the area till it seemed to pass with a setting of 55. When that passed (which I don't think really is a pass) I then tried to run the "G33 L0" command. This is what I got:
For bed height map consider it uses a rectangle. So -80-80 means also -80,-80 whcih is outside the circle. So use a rectangle inside yout 80mm radius and also take into account that z probe has an offset to center so it is not the ideal rectangle, but reduced by z-probe offset.
Also, when I reran the height map this morning, the "Error:Bpos x square" errors showed back up. I even tried reducing to area to 50, 50 & -50,-50, which should be well within the 80mm radius and it still has errors.
Config tool has a enable field for distortion correction, which is the name of the G33 feature.
#define Z_PROBE_X_OFFSET 24.8
#define Z_PROBE_Y_OFFSET -15
According to the delta z-probe video on your website, after running the height mapper, the next command to use is g33, which does nothing. How do I follow the instructions in the video?
OK, I think I have few more things worked out. First, being I figured out you meant that I had not enabled the distortion correction, which I had not, so it is now enable and g33 works, sort of (see below).
Next, since the firmware configuration tool did not ask for effector offset nor the carriage offset, it was not until I was looking at a description for delta geometry and re-did my firmware off the website that I actual read the "read me" file and noticed that we are directed to look in the configuration.h for missing variables. Both of those were set to "0". I have now the correct values in there. I still have the Max printable radius set at 80mm as that is what Folger Tech had it set at.
I am still getting "Error:Bpos x square" errors on the bed height map with the field set at min -50x, -50y and max 50x, 50y. Since you mentioned the z probe offset, i will continue to test to see If I can find a settin it does not error out on.
The g33 command now works but wants to drive the head into the bed causing a fatal error with red window coming up and asking for M999 to continue error.
The missing values that were set 0 should stay 0. They are used to subtract horizontal distance between slider axis and center so you get distance between the rotating points, which is all needed.
I think what you meant was that it will move left by 25 and "up" by 15. When I plotted this out on graph paper and when the square is offset by those coordinates, it matches up with the two "Bpos x square" error locations. The points that fail are -50,25 and -50,50, using a 100mm square (min set@ -50, -50 and max set@ 50,50) with 5 X points and 5 Y points for 25 point grid. Those two point fall outside of the 80mm circle.
So if I understand you correctly, I need to shrink the square, to fall complete within the 80mm circle, taking the z-probe offset into that consideration.
Also, it did something weird during the height map. After it gave the "Bpos x square" error for the -50,50 point, it then went on to scan the -25, 50 point twice. Any thoughts as to why it did that?
If you use host to measure it sends a complete measurement script to test. Thats go to xy, measure, go,measure,...
so if go fails it stays and does z probe. Then again so it measures several times same position until go is allowed.
Over the last several days I have been able to resolve a lot of issues. I am able to run most of the calibration instruction video (it will now run g32 and run the bed mapping with no issue, I found a configuration that works) and everything is coming out well. The issues I am experiencing now is one that I had previously mention. Once I have completed the bed mapping, I copy the results and check them. They are good. I then try to run the "G33" command but it still it running the head into the bed. I have looked through the "configuration.h" file but I don't see anything misconfigured. Any ideas?
I found the section in eeprom but I dont think it is setup right. When I ran the "G33" command it still is erroring out.
Here is the error log:
and here is the part of the eeprom:
What do I do to fix it?
They build a rectangle that
should span the same way.
After a long day of testing, I finally got it to pass all the steps in the video/Z-probing instructions. Here is what I found out.
1) The distortion x/y min and x/y max are pointless. I have them set to "0" in my configuration.h right now.
2) The important setting is "#define DISTORTION_CORRECTION_R 100" which I have set to 30 right now. I tested from 80 all way down to 30. 30 was the one that finally stopped giving me Apos x square & Bpos x square errors.
3) Since, for whatever reason, the program does not take the z-probe offset into consideration, the z-probe offset defines the measurable area to include the square to be measured, which is all of 60mm by 60mm square ( X/Y min -30 -30 and X/Y max 30 30). Out of a 80mm radius, 30mm is not a very accurate picture of the bed.
4) I turned off "#define DISTORTION_EXTRAPOLATE_CORNERS 1", which is set to "0" since it seemed not to help at all.
5) While I do appreciate your software and have supported it monetary, the instructions are very lacking. (Like about 100 steps and a lot of configuration concepts that are, I am guessing, assumed to be already known on the part of the individual trying to configure their printer. If you would like, I would be willing to give you guys a hand in writing your technical instruction to be clearer and more thorough on the concepts needed to configure a 3D printer.
#define DISTORTION_EXTRAPOLATE_CORNERS 1
allows you a slightly bigger radius especially if points are not that high.
G33 L0 lets you see set values and you can set the rest manually to better fit the areas you could not measure
G33 Xpo Ypos Zcorrection
About manuals - yes these are always hard to write. Not much time, english is not my native language and I'm so involved in all the processes that I do not always gasp what others would understand or read from this. So yes, any help is appreciated. But do not forget that there are very many variations of printers. That is one thing making the autoleveling so complicated. Delta, cartesians, min or max homing, servos controlled probe, inductive probe, ... all need some variations here and there in the process. But if you think you have good rewrite for some parts, just send it to me and if I agree I replace our version.
For next release I put at least a test for the outofindex problem. So if it then gets more results as expected it will just assume it is finished.