Re: Duet Electronics - Commissioning hardware and troubleshooting Firmware August 15, 2015 06:52AM |
Registered: 9 years ago Posts: 445 |
Quote
dc42
If you want to do manual calibration, start by measuring all three heights just in front of the towers, and adjust the M666 parameters to make them all equal. Then measure the height at the bed centre, and adjust the delta radius by about 2.2 times the difference in height at the centre compared to the height by the towers. When you have all 4 heights equal, adjust the homed height to get Z=0 right on the bed.
Re: Duet Electronics - Commissioning hardware and troubleshooting Firmware August 15, 2015 08:23AM |
Registered: 9 years ago Posts: 445 |
Re: Duet Electronics - Commissioning hardware and troubleshooting Firmware August 15, 2015 12:08PM |
Registered: 10 years ago Posts: 14,672 |
Re: Duet Electronics - Commissioning hardware and troubleshooting Firmware August 15, 2015 12:36PM |
Registered: 9 years ago Posts: 445 |
Quote
dc42
Hi,
1. By default the firmware doesn't allow you to move below Z=-0.5 on a delta, but you can override that by sending M564 S0.
My radius is 105 (actually 110 but then the effector could hit one of my clamps) and that is entered in the M665 commandQuote
dc42
2. I assume from the values you are using that your printable bed radius is 90mm. Have you entered this in the B parameter in the M665 command? Otherwise you will be limited to moves no further than the value of the B parameter from the centre - again, unless you send M564 S0 to override that.
Quote
dc42
2. F6000 should work the same in homedelta.g as in Pronterface. If you are certain there is a difference, I'll test it on my delta.
Quote
dc42
3. If you want to do manual calibration, I suggest you follow the procedure I describe at [miscsolutions.wordpress.com]. I don't know how the M666 parameters work in Marlin, or whether a negative sign means the endstop is too high or too low. I believe they all have to be negative in Marlin, whereas in RepRapFirmware they can be negative or positive. The autocalibration function normalises them so that they average zero.
Re: Duet Electronics - Commissioning hardware and troubleshooting Firmware August 15, 2015 04:24PM |
Registered: 10 years ago Posts: 14,672 |
Re: Duet Electronics - Commissioning hardware and troubleshooting Firmware August 15, 2015 04:43PM |
Registered: 9 years ago Posts: 445 |
Quote
dc42
2. I think your M666 corrections have the wrong sign. At the X tower, the nozzle is 1.3mm too high compared to the Z tower, therefore you need M666 X1.3 Z0 to tell the firmware that the X endstop is 1.3mm too high.
Re: Duet Electronics - Commissioning hardware and troubleshooting Firmware August 15, 2015 06:35PM |
Registered: 10 years ago Posts: 14,672 |
Re: Duet Electronics - Commissioning hardware and troubleshooting Firmware August 16, 2015 02:02AM |
Registered: 9 years ago Posts: 5,232 |
Re: Duet Electronics - Commissioning hardware and troubleshooting Firmware August 16, 2015 03:40AM |
Registered: 9 years ago Posts: 445 |
Quote
dc42
Hi Koenig,
1. I've just looked at your video, and I find it puzzling. Are you sure that the only thing you did when you lowered the nozzle at the Y point was to send regular G0 or G1 commands?
Quote
dc42
2. I agree that it looks strange that you ended up making a correction about 4.5 times the initial height error, but unless the diagonal rods are completely vertical when the head is in front of a tower (which is never the case), the endstop corrections have a lesser effect than you might think. Also the endstop corrections indirectly affect the homed height calculation. Please can you try doing the calibration exactly as I describe in my blog (apart from adjusting the coordinates to be appropriate for your machine) and see what results you get and how they converge. If you are still getting poor convergence, I'll try following that procedure on my delta.
Re: Duet Electronics - Commissioning hardware and troubleshooting Firmware August 16, 2015 04:02AM |
Registered: 10 years ago Posts: 14,672 |
Re: Duet Electronics - Commissioning hardware and troubleshooting Firmware August 16, 2015 05:16AM |
Registered: 9 years ago Posts: 445 |
Quote
dc42
Koenig, I'm thinking that the effect you posted in the video is maybe what's causing the M666 corrections not to behave as expected. I think we need to get to the bottom of that.
Can you attach your config.g file to a post?
Quote
X-tower
G0 F6000 X-77.94 Y-45 Z2
Quote
Y-tower
G0 F6000 X77.94 Y-45 Z2
Quote
Z-tower
G0 F6000 X0 Y90 Z2
Quote
Down 0.05
G91
G1 Z-0.05
G90
Quote
Down 0.02
G91
G1 Z-0.02
G90
Re: Duet Electronics - Commissioning hardware and troubleshooting Firmware August 16, 2015 05:56AM |
Registered: 9 years ago Posts: 445 |
Quote
Koenig
Quote
dc42
Koenig, I'm thinking that the effect you posted in the video is maybe what's causing the M666 corrections not to behave as expected. I think we need to get to the bottom of that.
Can you attach your config.g file to a post?
Your way of calibrating worked like a charm!
But the phenomenon I showed in my video persists even if I use the buttons in the web-interface.
I did macros of the code for the movement between the towers and to reach the center:
Quote
X-tower
G0 F6000 X-77.94 Y-45 Z2Quote
Y-tower
G0 F6000 X77.94 Y-45 Z2Quote
Z-tower
G0 F6000 X0 Y90 Z2
I also made two other macros for getting down without having to go into settings in-between just to change "Use half Z steps"
Quote
Down 0.05
G91
G1 Z-0.05
G90Quote
Down 0.02
G91
G1 Z-0.02
G90
I use 16 teeth pulleys so I was hoping that the resolution should be enough to actually go down an actual 0.01 (2 microsteps) but I found that to be a little sketchy, but I managed to get consistent results to within just a little below 0.05, I think more like 0.04.
I think maybe with these motors you can't come closer than 8 microsteps.
Anyway...
When I push the buttons for my macros the effector travels fine between all three towers, but if I stop at one tower and use the web-interface buttons to go down to Z=0 and then travel to the next tower that behaviour I showed in my video is repeated.
Re: Duet Electronics - Commissioning hardware and troubleshooting Firmware August 16, 2015 09:47AM |
Registered: 10 years ago Posts: 14,672 |
Re: Duet Electronics - Commissioning hardware and troubleshooting Firmware August 16, 2015 10:47AM |
Registered: 9 years ago Posts: 445 |
Quote
dc42
I'm glad the calibration worked. Are the final M666 and M665 values close to the ones you had when using Marlin?
Quote
dc42
Just to be clear about the other problem:
1. You have set up the 3 macros using the gcode you describe, to go between the towers, stopping at height 2mm each time.
2. You have calibrated the printer and put the M665 and M666 values in config.g.
Quote
dc42
3. You press one of those 3 macro buttons in the web interface, then drop the nozzle to Z=0 using the web movement buttons. Then you press another one of the buttons to move to a different tower.
4. The problem is that the nozzle doesn't end up 2mm above the bed at the other tower, it ends up higher than that. Correct?
Quote
dc42
I don't have Simplify3D, so I don't know what it is sending and what response it expects. Try putting a T0 command at the end of config.g, if you don't already have one there.
Quote
Simplify3D
Attempting connection at \\.\COM6...
Testing plaintext communication protocol...
Testing binary communication protocol...
Testing alternate communication protocols...
Attempting RTS reset and trying again...
Connection failed.
Re: Duet Electronics - Commissioning hardware and troubleshooting Firmware August 16, 2015 01:33PM |
Registered: 9 years ago Posts: 445 |
Quote
Configuration.h
// Tower position correction
#define DELTA_TOWER1_CORRECTION 0.0 // front left tower
#define DELTA_TOWER2_CORRECTION 0.0 // front right tower
#define DELTA_TOWER3_CORRECTION 0.0 // back middle tower
Quote
maril._main.cpp
// Effective X/Y positions of the three vertical towers.
#define SIN_60 0.8660254037844386
#define COS_60 0.5
#define DELTA_TOWER1_X -SIN_60*(DELTA_RADIUS + DELTA_TOWER1_CORRECTION) // front left tower
#define DELTA_TOWER1_Y -COS_60*(DELTA_RADIUS + DELTA_TOWER1_CORRECTION)
#define DELTA_TOWER2_X SIN_60*(DELTA_RADIUS + DELTA_TOWER2_CORRECTION) // front right tower
#define DELTA_TOWER2_Y -COS_60*(DELTA_RADIUS + DELTA_TOWER2_CORRECTION)
#define DELTA_TOWER3_X 0.0 // back middle tower
#define DELTA_TOWER3_Y DELTA_RADIUS + DELTA_TOWER3_CORRECTION
Re: Duet Electronics - Commissioning hardware and troubleshooting Firmware August 16, 2015 02:45PM |
Registered: 10 years ago Posts: 14,672 |
Re: Duet Electronics - Commissioning hardware and troubleshooting Firmware August 17, 2015 09:58AM |
Registered: 9 years ago Posts: 445 |
Ok so I've done some testprints and the temp seems to be a about 10 degrees off, at least between 200 - 220, seems that it now reads 10 degrees lower than what it used to with Marlin.Quote
dc42
It's fairly common for the temperature to read low at room temperature when using a Duet with 1K resistors, because of the offset in the ADC on the SAM3X chip. That's why I added the M305 H parameter Try H30, and adjust up or down until you get the about the right reading at room temperature. Leave the L value at zero.
I found the datasheet for the B57560G104F here [www.farnell.com]. The quoted B value is 4036, but that's from 25C ro 100C. Looking at the temperature tables, a more accurate value over 25C to 220C is 4190. I choose 220C because that's close to PLA and ABS printing temperatures.
Re: Duet Electronics - Commissioning hardware and troubleshooting Firmware August 17, 2015 01:19PM |
Registered: 10 years ago Posts: 14,672 |
Quote
Koenig
I think that the datasheet you found belongs to a thermistor that is deemed to be obsolete according to the wiki
I found another datasheet to a more likely one, 8304 but I'm uncertain as to how to obtained the beta value before.
Would you think that that thermistor and another beta value (fitting to that one) would account for the 10 degree difference?
Quote
Koenig
Sorry for asking again but is there a similar calibration function for deltas in your firmware as the one I described in the post above?
Re: Duet Electronics - Commissioning hardware and troubleshooting Firmware August 17, 2015 01:39PM |
Registered: 9 years ago Posts: 445 |
Quote
dc42
Yes. Firmware 1.09d-dc42 and later provides for X and Y tower position corrections in the M665 command. Firmware 1.09e-dc42 also allows a Z tower position correction, so that you can rotate the whole machine axis if you need to (I added this to better support "square" deltas"). See [reprap.org]. The simplest way of establishing the correct X and Y tower corrections is to run 6-factor auto calibration, if you have a good Z probe.
Re: Duet Electronics - Commissioning hardware and troubleshooting Firmware August 17, 2015 01:53PM |
Registered: 9 years ago Posts: 445 |
Quote
code "DeltaParameters.cpp"
towerX[A_AXIS] = -((radius + TOWER_X_CORRECTION) * cos((30 + xCorrection) * degreesToRadians));
towerY[A_AXIS] = -((radius + TOWER_X_CORRECTION) * sin((30 + xCorrection) * degreesToRadians));
towerX[B_AXIS] = +((radius + TOWER_Y_CORRECTION) * cos((30 - yCorrection) * degreesToRadians));
towerY[B_AXIS] = -((radius + TOWER_Y_CORRECTION) * sin((30 - yCorrection) * degreesToRadians));
towerX[C_AXIS] = -((radius + TOWER_Z_CORRECTION) * sin(zCorrection * degreesToRadians));
towerY[C_AXIS] = +((radius + TOWER_Z_CORRECTION) * cos(zCorrection * degreesToRadians));
Re: Duet Electronics - Commissioning hardware and troubleshooting Firmware August 17, 2015 05:02PM |
Registered: 10 years ago Posts: 14,672 |
Re: Duet Electronics - Commissioning hardware and troubleshooting Firmware August 17, 2015 05:30PM |
Registered: 9 years ago Posts: 280 |
Re: Duet Electronics - Commissioning hardware and troubleshooting Firmware August 17, 2015 05:56PM |
Registered: 10 years ago Posts: 14,672 |
Quote
shadowphile
@DC42:
this is only slightly on-topic but there you are..
I pass the homing and fast move tests per the blog, so I am ready to approach the endstop correction/auto-leveling.
I'm used to Marlin, which I was able to understand and hack into for various sub-tests before feeling like it was safe to perform the bed-leveling routines.
IR probe works as expected so I am ready to go.
The answer is buried somewhere in the delta kinematic equations, but it is easier to ask: how much of the lateral calibration is performed by the auto-leveling, if any?
With Marlin I usually had to measure/adjust the R and D values of the M666 command until all three measured heights were the same. Same with Duet?
Quote
shadowphile
Finally, were is the up-to-date G-code dictionary for duet firmware? I have 1.09m..whatever was the latest a few days ago.
thanks
Re: Duet Electronics - Commissioning hardware and troubleshooting Firmware August 17, 2015 06:02PM |
Registered: 9 years ago Posts: 280 |
Re: Duet Electronics - Commissioning hardware and troubleshooting Firmware August 17, 2015 07:02PM |
Registered: 9 years ago Posts: 280 |
Re: Duet Electronics - Commissioning hardware and troubleshooting Firmware August 18, 2015 12:48AM |
Registered: 9 years ago Posts: 445 |
Quote
dc42
Marlin is providing a huge amount of unnecessary redundancy, 4 variables to be precise. There are only 6 independent variables: the X and Y positions of the towers. Providing more than that is pointless. If you are prepared to accept the restriction that X=0 Y=0 will be the centre of the circle that passes through the three tower positions (which works even for "square delta" geometry), then this removes 2 of the 6 variables. So you are left with 4 independent variables, which is exactly what the M665 R, X, Y and Z parameters provide. If you don't need the option to rotate the XY plane, then you only need R and two of X Y Z.
Quote
dc42
If you don't need the option to rotate the XY plane, then you only need R and two of X Y Z.
Re: Duet Electronics - Commissioning hardware and troubleshooting Firmware August 18, 2015 03:05AM |
Registered: 10 years ago Posts: 14,672 |
Re: Duet Electronics - Commissioning hardware and troubleshooting Firmware August 18, 2015 06:17AM |
Registered: 9 years ago Posts: 445 |
Quote
dc42
It's not as simple as that:
- Moving the X tower inwards in the config will affect the angles and both the X and Y lengths. More importantly, if affects the Z=0 height in different ways at different points of the bed.
Quote
dc42
- Your angles are almost certainly not exactly 120 degrees, because it's much harder to measure angles accurately than lengths.
- Looking at your test print, it appears to me that you have the print slightly to the right of where it should be on the calibration sheet, because the centre point and the Z point are not lined up. Either that, or the camera lens was left of centre when you photographed it.
Quote
dc42
- As well as lengths in the X and Y directions, you also need to consider the lengths in other directions, e.g. at 45 degrees to X and Y.
Quote
dc42
If you just want to adjust the relative lengths of X and Y in your prints, then try making the X and Y angle corrections equal but opposite. But what I recommend you do instead is to get a Z probe working and run 6-factor auto calibration.
I think that in many builds, the main problem is not that the towers are in the wrong positions, it's that the towers are leaning slightly, i.e. not at 90 degrees to the bed. This is a problem I was unable to fix until I replaced my printed corners by metal ones.
Re: Duet Electronics - Commissioning hardware and troubleshooting Firmware August 18, 2015 08:16AM |
Registered: 9 years ago Posts: 445 |
Re: Duet Electronics - Commissioning hardware and troubleshooting Firmware August 18, 2015 12:06PM |
Registered: 10 years ago Posts: 14,672 |