Results 701 to 710 of 757
-
08-21-2015, 09:41 AM #701
- Join Date
- Aug 2015
- Posts
- 14
What I'm trying to work out is when using auto bed levelling, if a 2x2 grid is supplied does it just use that as it's plane ie. no calculations required to try and establish the best plane to use? I understand that a 3x3 or 4x4 tries to calculate the best plane passing through all of these points, but a 2x2 grid is a flat plane...or are the planes calculated in triangles not squares?
Also, does auto-levelling adjust the X/Y co-orordinates of all subsequent layers depending upon the slope of the print bed plane. If I printed a tower on a really sloped print bed does it just try and correct the first layer (or few layers) to straighten, or would it produce a 'leaning tower of Pisa'?
More testing then I guess. I checked all of my rails to ensure they're parallel and evenly spaced...all seems fine there too.
-
08-21-2015, 02:01 PM #702
No. What you say is not correct. 3 non-linear points define a plane. Not 4. If you are set up for Grid based Auto Bed Leveling, it doesn't matter if it is a 2x2, a 3x3 or a 4x4 grid. The code will try to find the plane that passes CLOSE to all the points such that it minimizes the least square error function. Very likely, none of the points sampled will be exactly in the calculated plane. And the plane that is calculated is not a square. It is infinite. Of course you can only use the part of it that is where your print bed is. But the equation generated is infinite in the X & Y direction. If the plane is not perfectly level, it is infinite in the Z direction also.
Yes. All coordinates get affected by the mapping operation. Mostly it is the Z axis that gets affected. But both the X & Y get affected a small amount. That is what the bed level correction matrix is all about. You are multiplying the [x,y,z] by the [3x3 correction matrix] to generate a new coordinate [x0,y0,z0] to move the nozzle to.
-
08-22-2015, 04:22 AM #703
- Join Date
- Aug 2015
- Posts
- 14
Hi Roxy
Thanks for clearing that up. It does help when trying to work out what could be wrong to understand the logic a bit more.
So, with 3 point levelling are you basically defining the plane yourself, without any calculations, to be used for the infinite equation?
-
08-22-2015, 02:53 PM #704
Yes. For the 3 Point leveling, the equation (and correction matrix) are set by this code. It is pretty straight forward:
Code:static void set_bed_level_equation_3pts(float z_at_pt_1, float z_at_pt_2, float z_at_pt_3) { plan_bed_level_matrix.set_to_identity(); vector_3 pt1 = vector_3(ABL_PROBE_PT_1_X, ABL_PROBE_PT_1_Y, z_at_pt_1); vector_3 pt2 = vector_3(ABL_PROBE_PT_2_X, ABL_PROBE_PT_2_Y, z_at_pt_2); vector_3 pt3 = vector_3(ABL_PROBE_PT_3_X, ABL_PROBE_PT_3_Y, z_at_pt_3); vector_3 from_2_to_1 = (pt1 - pt2).get_normal(); vector_3 from_2_to_3 = (pt3 - pt2).get_normal(); vector_3 planeNormal = vector_3::cross(from_2_to_1, from_2_to_3).get_normal(); planeNormal = vector_3(planeNormal.x, planeNormal.y, abs(planeNormal.z)); plan_bed_level_matrix = matrix_3x3::create_look_at(planeNormal); vector_3 corrected_position = plan_get_position(); current_position[X_AXIS] = corrected_position.x; current_position[Y_AXIS] = corrected_position.y; current_position[Z_AXIS] = corrected_position.z; // put the bed at 0 so we don't go below it. current_position[Z_AXIS] = zprobe_zoffset; plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]); }
-
10-15-2015, 02:38 PM #705
- Join Date
- Oct 2015
- Posts
- 1
I know this is an older thread but I cannot open the attached files. It opens blank pages. If possible can some post the code for the enhanced g29.cpp and probe_pt.cpp
-
10-15-2015, 03:07 PM #706
- Join Date
- Jul 2015
- Posts
- 4
The files have been like that a long time but all the changes have now been incorporated into Marlin for some time. If you download a new copy from http://www.marlinfirmware.org/index.php/Main_Page and then configure it to your machine everything will be ok.
-
12-21-2015, 04:38 AM #707
- Join Date
- Dec 2015
- Location
- France, Cantal
- Posts
- 4
Auto leveling problem(s)
Hello,
(Sorry for my bad english, hope will can understand each others.)
First of all, thanks for the contributions, especialy for Roxy.
So, the auto bed levelling does not work on my printer and I don't understand why.
- 3D printer : OrdBot Hadron, http://www.reprap-france.com/produit...-metal-hexagon
I bought it used, already modified with the auto bed leveling system, servo and Z-probe mechanical switch.
- Marlin from : https://github.com/beckdac/Marlin
(FIRMWARE_NAME:Marlin V1; Sprinter/grbl mashup for gen6 FIRMWARE_URL:https://github.com/ErikZalm/Marlin/)
I can't print on whole bed because the auto leveling don't wok.
I have changed the Marlin twice and it stil doesn't work, so I don't think it's a firmware problem (?).
I have put springs under the bed, for manual leveling. Before it was fixe.
The G29 works, but I don't know/understand if the values are good. Is there somewhere a 'guideline' for those values ?
And I think that the repeatability of the G29 is not OK.
The result of a static Z-Probe repeatability test [M48] is OK.
When printing, I can feal the Z axis moving, this seems ok too.
11:07:55.750 : N27 G28 X0 Y0 *7
11:08:13.500 : N28 G29 U 3 V 4 *12
11:08:13.500 : Roxy's Enhanced G29 Auto_Bed_Leveling Code V1.81:
11:08:13.500 : Full support at http://3dprintboard.com
11:08:37.671 : Bed x: 10.00 y: 0.00 z: 10.21
11:08:47.734 : Bed x: 87.00 y: 0.00 z: 10.02
11:08:57.718 : Bed x: 164.00 y: 0.00 z: 10.01
11:09:08.359 : Bed x: 10.00 y: 91.00 z: 10.33
11:09:18.421 : Bed x: 87.00 y: 91.00 z: 10.17
11:09:28.437 : Bed x: 164.00 y: 91.00 z: 10.09
11:09:39.125 : Bed x: 10.00 y: 182.00 z: 10.27
11:09:49.125 : Bed x: 87.00 y: 182.00 z: 10.20
11:09:59.109 : Bed x: 164.00 y: 182.00 z: 10.27
11:09:59.109 : Eqn coefficients: a: -0.00 b: 0.00 d: 10.17
11:09:59.109 : Mean of sampled points: 10.174305
11:09:59.109 :
11:09:59.109 : Bed Height Topography:
11:09:59.125 : +0.09445 +0.02820 +0.09632
11:09:59.125 : +0.16007 --0.00430 --0.08493
11:09:59.125 : +0.03069 --0.15681 --0.16368
11:09:59.125 :
11:09:59.125 : planeNormal x: 0.00 y: -0.00 z: 1.00
11:09:59.125 :
11:09:59.125 : Bed Level Correction Matrix:
11:09:59.125 : 1.000000 0.000000 -0.000947
11:09:59.125 : 0.000001 1.000000 0.000932
11:09:59.140 : 0.000947 -0.000932 0.99999911:24:25.734 : N21 G1 X100 *114
11:24:35.515 : N22 G1 Y100 *112
11:35:17.968 : N24 M48 V 4 *107
11:35:17.968 : M48 Z-Probe Repeatability test. Version 2.00
11:35:17.968 : Full support at: http://3dprintboard.com/forum.php
11:35:28.015 : Positioning probe for the test.
11:36:14.093 : 1 of 10 z: -7.660625 mean: -7.660625 sigma: 0.000000
11:36:38.218 : 2 of 10 z: -7.662500 mean: -7.661562 sigma: 0.000937
11:37:02.328 : 3 of 10 z: -7.661250 mean: -7.661458 sigma: 0.000779
11:37:26.421 : 4 of 10 z: -7.661250 mean: -7.661406 sigma: 0.000681
11:37:50.531 : 5 of 10 z: -7.662500 mean: -7.661625 sigma: 0.000750
11:38:14.625 : 6 of 10 z: -7.659375 mean: -7.661250 sigma: 0.001082
11:38:38.734 : 7 of 10 z: -7.665000 mean: -7.661786 sigma: 0.001651
11:39:02.828 : 8 of 10 z: -7.666250 mean: -7.662344 sigma: 0.002137
11:39:26.937 : 9 of 10 z: -7.666875 mean: -7.662847 sigma: 0.002467
11:39:51.046 : 10 of 10 z: -7.668125 mean: -7.663376 sigma: 0.002826
11:40:02.406 : Mean: -7.663376
11:40:02.406 : Standard Deviation: 0.002826
11:40:02.406 : echo:endstops hit: Z:-7.67
Thank you for your help.
Regards.
FabriceLast edited by fabsweb; 12-21-2015 at 04:47 AM.
-
12-21-2015, 07:31 AM #708
The M48 Z-Probe Repeatability numbers look good. And your bed has a slight tilt to it but nothing too extreme. The Auto Bed Leveling should work. You can try adding a few more points by doing a G29 U 4 T V 4 and see if we can get some more information. And it might be good to get a little more detail. Try printing this .STL file. Where does it fail? How does it fail? We will want to compare that information against the Topography map and see what is common.
I don't think this will find anything. But the M48 numbers are good. Are they that good across the whole bed? It might be worth while to check a location in the middle towards an edge for each side just to make sure we are not dealing with a location specific problem.Last edited by Roxy; 12-21-2015 at 08:14 AM.
-
12-21-2015, 10:59 AM #709
- Join Date
- Dec 2015
- Location
- France, Cantal
- Posts
- 4
Hello,
ThanKs for the fast reply.
---- 1 ----
I can't download the attached file 'bedleveling.stl'. (Tried with 3 different browser !)
Please upload it again, perhaps in an other place.
---- 2 ----
Had to change the servo in hury (the old one was dead).
So those 3 'G29 U 4 T V 4' are with the new servo.
17:31:42.578 : N16 G28 X0 Y0 *5
17:31:55.468 : N17 G29 U 4 T V 4 *115
17:31:55.468 : Roxy's Enhanced G29 Auto_Bed_Leveling Code V1.81:
17:31:55.468 : Full support at http://3dprintboard.com
17:32:13.406 : Bed x: 10.00 y: 0.00 z: -6.31
17:32:22.437 : Bed x: 61.00 y: 0.00 z: -6.20
17:32:31.546 : Bed x: 112.00 y: 0.00 z: -6.25
17:32:40.656 : Bed x: 163.00 y: 0.00 z: -6.31
17:32:50.531 : Bed x: 10.00 y: 61.00 z: -6.13
17:32:59.625 : Bed x: 61.00 y: 61.00 z: -6.17
17:33:08.718 : Bed x: 112.00 y: 61.00 z: -6.19
17:33:17.812 : Bed x: 163.00 y: 61.00 z: -6.20
17:33:27.718 : Bed x: 10.00 y: 122.00 z: -6.12
17:33:36.812 : Bed x: 61.00 y: 122.00 z: -6.13
17:33:45.890 : Bed x: 112.00 y: 122.00 z: -6.13
17:33:54.968 : Bed x: 163.00 y: 122.00 z: -6.10
17:34:04.921 : Bed x: 10.00 y: 183.00 z: -6.11
17:34:14.015 : Bed x: 61.00 y: 183.00 z: -6.13
17:34:23.093 : Bed x: 112.00 y: 183.00 z: -6.09
17:34:32.171 : Bed x: 163.00 y: 183.00 z: -6.02
17:34:32.187 : Eqn coefficients: a: 0.00 b: 0.00 d: -6.25
17:34:32.187 : Mean of sampled points: -6.162500
17:34:32.187 :
17:34:32.187 : Bed Height Topography:
17:34:32.187 : +0.05063 +0.03688 +0.06750 +0.13875
17:34:32.187 : +0.04563 +0.03313 +0.02875 +0.05813
17:34:32.203 : +0.02938 --0.00687 --0.02312 --0.04125
17:34:32.203 : --0.14937 --0.03562 --0.08875 --0.14375
17:34:32.203 :
17:34:32.203 : planeNormal x: -0.00 y: -0.00 z: 1.00
17:34:32.203 :
17:34:32.203 : Bed Level Correction Matrix:
17:34:32.203 : 1.000000 0.000000 0.000031
17:34:32.203 : -0.000000 1.000000 0.000960
17:34:32.203 : -0.000031 -0.000960 1.000000
17:35:51.593 : N16 G28 X0 Y0 *5
17:36:04.484 : N17 G29 U 4 T V 4 *115
17:36:04.500 : Roxy's Enhanced G29 Auto_Bed_Leveling Code V1.81:
17:36:04.500 : Full support at http://3dprintboard.com
17:36:22.390 : Bed x: 10.00 y: 0.00 z: -6.20
17:36:31.515 : Bed x: 61.00 y: 0.00 z: -6.29
17:36:40.578 : Bed x: 112.00 y: 0.00 z: -6.25
17:36:49.671 : Bed x: 163.00 y: 0.00 z: -6.23
17:36:59.531 : Bed x: 10.00 y: 61.00 z: -6.05
17:37:08.640 : Bed x: 61.00 y: 61.00 z: -6.09
17:37:17.734 : Bed x: 112.00 y: 61.00 z: -6.11
17:37:26.828 : Bed x: 163.00 y: 61.00 z: -6.14
17:37:36.734 : Bed x: 10.00 y: 122.00 z: -6.05
17:37:45.828 : Bed x: 61.00 y: 122.00 z: -6.08
17:37:54.906 : Bed x: 112.00 y: 122.00 z: -6.08
17:38:03.984 : Bed x: 163.00 y: 122.00 z: -6.04
17:38:13.937 : Bed x: 10.00 y: 183.00 z: -6.06
17:38:23.015 : Bed x: 61.00 y: 183.00 z: -6.07
17:38:32.093 : Bed x: 112.00 y: 183.00 z: -6.03
17:38:41.140 : Bed x: 163.00 y: 183.00 z: -5.96
17:38:41.156 : Eqn coefficients: a: 0.00 b: 0.00 d: -6.21
17:38:41.156 : Mean of sampled points: -6.108203
17:38:41.156 :
17:38:41.156 : Bed Height Topography:
17:38:41.156 : +0.04883 +0.04070 +0.07383 +0.14445
17:38:41.171 : +0.05633 +0.03008 +0.02945 +0.06383
17:38:41.171 : +0.06258 +0.01820 --0.00242 --0.03367
17:38:41.171 : --0.09367 --0.18180 --0.13930 --0.11742
17:38:41.171 :
17:38:41.171 : planeNormal x: -0.00 y: -0.00 z: 1.00
17:38:41.171 :
17:38:41.171 : Bed Level Correction Matrix:
17:38:41.171 : 1.000000 0.000000 0.000002
17:38:41.171 : -0.000000 0.999999 0.001088
17:38:41.187 : -0.000002 -0.001088 0.999999
17:41:01.968 : N16 G28 X0 Y0 *5
17:41:14.859 : N17 G29 U 4 T V 4 *115
17:41:14.859 : Roxy's Enhanced G29 Auto_Bed_Leveling Code V1.81:
17:41:14.859 : Full support at http://3dprintboard.com
17:41:32.796 : Bed x: 10.00 y: 0.00 z: -6.34
17:41:41.828 : Bed x: 61.00 y: 0.00 z: -6.21
17:41:50.937 : Bed x: 112.00 y: 0.00 z: -6.26
17:42:00.031 : Bed x: 163.00 y: 0.00 z: -6.30
17:42:09.906 : Bed x: 10.00 y: 61.00 z: -6.11
17:42:19.015 : Bed x: 61.00 y: 61.00 z: -6.17
17:42:28.109 : Bed x: 112.00 y: 61.00 z: -6.19
17:42:37.203 : Bed x: 163.00 y: 61.00 z: -6.22
17:42:47.125 : Bed x: 10.00 y: 122.00 z: -6.13
17:42:56.218 : Bed x: 61.00 y: 122.00 z: -6.14
17:43:05.312 : Bed x: 112.00 y: 122.00 z: -6.15
17:43:14.375 : Bed x: 163.00 y: 122.00 z: -6.11
17:43:24.328 : Bed x: 10.00 y: 183.00 z: -6.12
17:43:33.421 : Bed x: 61.00 y: 183.00 z: -6.13
17:43:42.484 : Bed x: 112.00 y: 183.00 z: -6.11
17:43:51.546 : Bed x: 163.00 y: 183.00 z: -6.03
17:43:51.562 : Eqn coefficients: a: 0.00 b: 0.00 d: -6.26
17:43:51.562 : Mean of sampled points: -6.169844
17:43:51.562 :
17:43:51.562 : Bed Height Topography:
17:43:51.562 : +0.05297 +0.03609 +0.05984 +0.13484
17:43:51.562 : +0.04359 +0.02922 +0.02234 +0.05734
17:43:51.578 : +0.05672 +0.00484 --0.01891 --0.04703
17:43:51.578 : --0.16766 --0.03953 --0.09391 --0.13078
17:43:51.578 :
17:43:51.578 : planeNormal x: -0.00 y: -0.00 z: 1.00
17:43:51.578 :
17:43:51.578 : Bed Level Correction Matrix:
17:43:51.578 : 1.000000 0.000000 0.000012
17:43:51.578 : -0.000000 1.000000 0.000944
17:43:51.578 : -0.000012 -0.000944 1.000000
Fabrice.
-
12-21-2015, 02:06 PM #710
I don't know what is going on with .STL files. But here is the source code. Install OpenScad and Compile and Render this. (And Export as an .STL file) A picture of what happens when you print it might be helpful.
Code:test(); module test() { difference() { cube([150,150,1]); translate([1,1,-.1]) cube([148,148,1.5]); } translate([1.35,0,0]) rotate([0,0,45]) cube([210,2,1]); translate([0,148.5,0]) rotate([0,0,-45]) cube([210,2,1]); }
M48 X 20 Y 20
M48 X 20 Y 100
M48 X 20 Y 180
M48 X 100 Y 20
M48 X 180 Y 20
M48 X 180 Y 100
M48 X 180 Y 180
M48 X 100 Y 180
Printer will print perfect...
06-14-2024, 10:44 AM in Tips, Tricks and Tech Help