Quantcast
Viewing all articles
Browse latest Browse all 20291

Re: Help with Kossel Auto Bed Leveling...

Here is the Pronterface output from the probe points.

1.150 1.150 1.150 1.225 1.375 1.375 1.375
0.737 0.737 0.825 0.975 1.012 0.975 0.975
1.163 0.800 0.950 0.850 0.750 0.662 0.412
1.038 0.913 0.438 0.300 0.338 0.175 -0.137
1.363 1.050 0.375 -0.025 -0.150 -0.337 -0.600
0.313 0.313 0.075 -0.325 -0.637 -0.837 -0.837
0.112 0.112 0.112 -0.538 -0.925 -0.925 -0.925

numbers on top are from the rear of the bed...

And here is, what i think, is the code that controls the probing of the round bed....

void calibrate_print_surface(float z_offset) {
  for (int y = 3; y >= -3; y--) {
    int dir = y % 2 ? -1 : 1;
    for (int x = -3*dir; x != 4*dir; x += dir) {
      if (x*x + y*y < 11) {
	destination[X_AXIS] = AUTOLEVEL_GRID * x - z_probe_offset[X_AXIS];
	destination[Y_AXIS] = AUTOLEVEL_GRID * y - z_probe_offset[Y_AXIS];
	bed_level[x+3][y+3] = z_probe() + z_offset;
      } else {
	bed_level[x+3][y+3] = 0.0;
      }
    }
    // For unprobed positions just copy nearest neighbor.
    if (abs(y) >= 3) {
      bed_level[1][y+3] = bed_level[2][y+3];
      bed_level[5][y+3] = bed_level[4][y+3];
    }
    if (abs(y) >=2) {
      bed_level[0][y+3] = bed_level[1][y+3];
      bed_level[6][y+3] = bed_level[5][y+3];
    }
    // Print calibration results for manual frame adjustment.
    for (int x = -3; x <= 3; x++) {
      SERIAL_PROTOCOL_F(bed_level[x+3][y+3], 3);
      SERIAL_PROTOCOLPGM(" ");
    }
    SERIAL_ECHOLN("");
  }
}
I only know some basic stuff....so i am unsure if this can be changed to do a square bed.

Viewing all articles
Browse latest Browse all 20291

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>