Auto bed leveling questions

I had seen earlier that I need to make sure there is no G28 after G29 - so that looks ok.
I will check again to make sure.

I am using latest marlin firmware from github
I am storing the offset in the firmware

The sensor and firmware look like they are both doing what they are suppose to be doing

I think its some small tweak or setting I have wrong

Ill keep at it

If any thing else comes to mind please let me know

tks
tks very much for your help

Would love to crack this one

tks
Noel

Quick update
Because of all of the greyness the issues with Mattercontrol were introducing I changed over to octoprint running on the RPI2
(very nice solution BTW)

I used slic3r to slide and uploaded Gcode with included G29 after G28

Once the temps were reached the printer did a proper Auto bed levelling calibration and then started to print
I marked the z-axis with a permanent marker and I could definitely see the z -axis moving clockwise/anti-clockwise which means the firmware is doing some compensation for the bed offset.

Still not blown away with results though - I could still see that the first layer (s) were not uniform.
One side of the circle circumference was still definitely fatter/flatter than the other

I am going to print out a few more calibration pieces and see how I get on

If anybody has advice on tuning that would be great

tks
Noel

[quote]Still not blown away with results though - I could still see that the first layer (s) were not uniform.
One side of the circle circumference was still definitely fatter/flatter than the other[/quote]

From my experiance it only realy copes with a bed that is flat but not level.
Back off the adjuster on one corner of the bed (not touching the bed - top or bottom) to ensure that it is not introducing a twist in the bed.

[quote=“dutchronnie”]I have loaded the latest firmware from the Marlin site, not the Velleman firmware.
If you use this firmware load it with the latest arduino software, not version 1.0.6, this is for the velleman firmware.

Then set the offset with the M851 command, example M851 Z-0.85
the the M500 command to save to eeprom.[/quote]

Hi ronnie, does the latest “original” marlin have any advantages over the velleman V2.1.1?

ichbinsnur:

I think not for a standard k8200, but there are some improvements for autobed leveling and there is support for a filament sensor.
And some more improvements for pid tuning etc.

This is some text in the Features file:

[code]# Features

  • Interrupt based movement with real linear acceleration
  • High steprate
  • Look ahead (Keep the speed high when possible. High cornering speed)
  • Interrupt based temperature protection
  • Preliminary support for Matthew Roberts Advance Algorithm
  • Full endstop support
  • SD Card support
  • SD Card folders (works in pronterface)
  • SD Card autostart support
  • LCD support (ideally 20x4)
  • LCD menu system for autonomous SD card printing, controlled by an click-encoder.
  • EEPROM storage of e.g. max-velocity, max-acceleration, and similar variables
  • many small but handy things originating from bkubicek’s fork.
  • Arc support
  • Temperature oversampling
  • Dynamic Temperature setpointing aka “AutoTemp”
  • Support for QTMarlin, a very beta GUI for PID-tuning and velocity-acceleration testing.
  • Endstop trigger reporting to the host software.
  • Updated sdcardlib
  • Heater power reporting. Useful for PID monitoring.
  • PID tuning
  • CoreXY kinematics
  • Delta kinematics
  • SCARA kinematics
  • Dual X-carriage support for multiple extruder systems
  • Configurable serial port to support connection of wireless adaptors.
  • Automatic operation of extruder/cold-end cooling fans based on nozzle temperature
  • RC Servo Support, specify angle or duration for continuous rotation servos.
  • Bed Auto Leveling.
  • Support for a filament diameter sensor, which adjusts extrusion volume

The default baudrate is 250000. This baudrate has less jitter and hence errors than the usual 115200 baud, but is less supported by drivers and host-environments.[/code]

Thanks for the info Ronnie. :wink:
So, nothing really different than the latest Velleman branch.

I have auto bed leveling working now but on LCD I get message endstops hit z:
Is there a way to configure a way to stop this when working normally.

This is the G-code i have right now:

G21 ; set units to millimeters M107 M190 S50 ; wait for bed temperature to be reached G28 ; home all axes G29 ; auto bed leveling G1 Z5 G1 X0 Y0 F5000 G1 Z0 G90 ; use absolute coordinates G21 ; set units to millimeters G92 E0 M82 ; use absolute distances for extrusion M109 S190 ; wait for temperature to be reached G1 E10 F400 ; prime the nozzle G90 ; use absolute coordinates G92 E0 M82 ; use absolute distances for extrusion G1 F3900.000 E-8.00000 G92 E0

Is the G-code good enough?
What do i need to type to make the printer prime the nozzle little bit in the air?
It does auto bed leveling etc then it primes the nozzle but when it needs to print there’s no filament coming out.
It does the out layer 2 times and then it is coming slowly out.
How is this possible when it primes the nozzle its immediately there…
Would somebody upload their cura setting for me pls?

Thank you

Hi Guys,

I’m new to the forum, but there’s loads of great info on here. the best mods I have completed so far are
z-azis upgrade
E3D V6 Hotend
GT2 belts/pulleys
Aluminium heatbed and PSU
and a few others…

So this was my next one and it certainly seems to be a tricky mod to get right. I am experiencing exactly the same problems as dutchronnie. No matter where I try and set a Z offset it gets ignored
#define Z_PROBE_OFFSET_FROM_EXTRUDER 0
M206
M851
even in my slicer! for now, I too have had to adjust the sensor level manually to get printing.

I have a strange one with my G29, it measures the first three points correctly then the back right I see the proximity sensor illuminate but the halts and I get the following message in the console. “endstops hit: z”. Now I assume this means it’s trying to exceed the physical z limit(i.e push through the bed) but I have no idea where this limit is set, and it is no way near the bed? I have used a dial gauge to ensure my bed almost true in all corners. Here are my probe points. and my sensor is 50mm to the right of the hot end

// set the rectangle in which to probe
#define LEFT_PROBE_BED_POSITION 20
#define RIGHT_PROBE_BED_POSITION 140
#define BACK_PROBE_BED_POSITION 160
#define FRONT_PROBE_BED_POSITION 20

I figured until I resolve this issue I’m not going to solve the rest. I originally wired my sensor with a transistor and resistor pulling low and I thought all was good, but something went wrong and it was latching in triggered. So I now have the two resistor voltage divider, and flipped the Z_MIN_ENDSTOP_INVERTING which works well.

I’ve had one accident with the hot end crashing into the glass, luckily I had modded the bed to be on springs and it jammed on my old z-stop microswitch giving me time to pull the power. This is making me think I might rewire the z stop microswitch to either the 12v power input on normally closed or the ground on the z stepper, so this would give an emergency kill is that ever happened again.

Any ideas advice/tips on sorting my G29 “endstops hit: z” problem would be greatly appreciated.

Hi - to disable the endstop you need to change the follow lines in config. I know its not easy to find as this is a long post, but it’s descussed on page 2 post 12. Other issues you may come accross (M851 offset limits) are in the same area.

[quote]#define min_software_endstops false
#define max_software_endstops false[/quote]

Thank you Barnabybear. I thought I read through all the post ( and took notes Lol) I must have missed it. I will go back and check it out now.

Ok so I changed min_software_endstops and max_software_endstops to false. Re-flashed, reset, M501 M500. but I still get the same on the 4th level it halts and displays endstops hit: z :frowning:

Hi - ok, change your postions to LESS than 150mm. That way if it is a bug that is not reporting the correct endstop hit you should be clear on all axis (less than 150 + 50 probe offset < 200mm max travel). If that works we can pick the bones out off why the other wasn’t. If that doesn’t work - put a steel washer on the bed at the 4th point, that should effectively raise the bed to ensure that the probe is triggered before it gets anywhere near the Z endstop (get ready to kill the power if it looks like the probe will hit it).

Thanks Barnabybear for helping me I really appreciate you taking the time.

Ok I changed the positions to.

// set the rectangle in which to probe
#define LEFT_PROBE_BED_POSITION 20
#define RIGHT_PROBE_BED_POSITION 140
#define BACK_PROBE_BED_POSITION 140
#define FRONT_PROBE_BED_POSITION 20

Same problem occurred I have a capacitive sensor so I can just touch it to activate. I did this and I get endstops hit: x -0.1 Z1.53.

Reading the comments in the firmware it says it samples a rectangle (is it 6 sample points?) in which case could be my problem as it samples each corner of the bed then stops? Maybe trying to go left off of the bed ?

[quote]
// - “grid” mode
// Probe every point in a rectangular grid
// You must specify the rectangle, and the density of sample points
// This mode is preferred because there are more measurements.
// It used to be called ACCURATE_BED_LEVELING but “grid” is more descriptive/quote]

I cannot see setting for density, could this be my issue?

Hi, have posted my settings below - you can see from the comment if I have changed a setting or value.

#define AUTO_BED_LEVELING_GRID_POINTS 2 is the line that sets the number of probe points. If set to 2 it checks 2*2 so 4 points, but all should be contained within the area you defined.

[code]//===========================================================================
//============================= Bed Auto Leveling ===========================
//===========================================================================

#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)========UNCOMMENTED PC========
#define Z_PROBE_REPEATABILITY_TEST // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled.

#ifdef ENABLE_AUTO_BED_LEVELING

// There are 2 different ways to specify probing locations
//
// - “grid” mode
// Probe several points in a rectangular grid.
// You specify the rectangle and the density of sample points.
// This mode is preferred because there are more measurements.
//
// - “3-point” mode
// Probe 3 arbitrary points on the bed (that aren’t colinear)
// You specify the XY coordinates of all 3 points.

// Enable this to sample the bed in a grid (least squares solution)
// Note: this feature generates 10KB extra code size
#define AUTO_BED_LEVELING_GRID

#ifdef AUTO_BED_LEVELING_GRID

#define LEFT_PROBE_BED_POSITION 50 //========CHANGED PC========
#define RIGHT_PROBE_BED_POSITION 150 //========CHANGED PC========
#define FRONT_PROBE_BED_POSITION 50 //========CHANGED PC========
#define BACK_PROBE_BED_POSITION 150 //========CHANGED PC========

#define MIN_PROBE_EDGE 10 // The probe square sides can be no smaller than this

// Set the number of grid points per dimension
// You probably don't need more than 3 (squared=9)
#define AUTO_BED_LEVELING_GRID_POINTS 2

#else // !AUTO_BED_LEVELING_GRID

  // Arbitrary points to probe. A simple cross-product
  // is used to estimate the plane of the bed.
  #define ABL_PROBE_PT_1_X 15
  #define ABL_PROBE_PT_1_Y 180
  #define ABL_PROBE_PT_2_X 15
  #define ABL_PROBE_PT_2_Y 20
  #define ABL_PROBE_PT_3_X 170
  #define ABL_PROBE_PT_3_Y 20

#endif // AUTO_BED_LEVELING_GRID

// Offsets to the probe relative to the extruder tip (Hotend - Probe)
// X and Y offsets must be integers
#define X_PROBE_OFFSET_FROM_EXTRUDER +48 // Probe on: -left +right ========CHANGED PC========
#define Y_PROBE_OFFSET_FROM_EXTRUDER +30 // Probe on: -front +behind ========CHANGED PC========
#define Z_PROBE_OFFSET_FROM_EXTRUDER -0.90 // -below (always!)========CHANGED PC========

#define Z_RAISE_BEFORE_HOMING 4 // (in mm) Raise Z before homing (G28) for Probe Clearance.
// Be sure you have this distance over your Z_MAX_POS in case

#define XY_TRAVEL_SPEED 8000 // X and Y axis travel speed between probes, in mm/min

#define Z_RAISE_BEFORE_PROBING 5 //How much the extruder will be raised before traveling to the first probing point.========CHANGED PC========
#define Z_RAISE_BETWEEN_PROBINGS 5 //How much the extruder will be raised when traveling from between next probing points
#define Z_RAISE_AFTER_PROBING 5 //How much the extruder will be raised after the last probing point. ========CHANGED PC========

#define Z_PROBE_END_SCRIPT “G1 Z5 F12000\nG1 X0 Y0\nG1 Z0.0” //These commands will be executed in the end of G29 routine.========UNCOMMENTED & CHANGED PC========
//Useful to retract a deployable probe.

//#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
//#define SLED_DOCKING_OFFSET 5 // the extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you’d like.

//If defined, the Probe servo will be turned on only during movement and then turned off to avoid jerk
//The value is the delay to turn the servo off after powered on - depends on the servo speed; 300ms is good value, but you can try lower it.
// You MUST HAVE the SERVO_ENDSTOPS defined to use here a value higher than zero otherwise your code will not compile.

// #define PROBE_SERVO_DEACTIVATION_DELAY 300

//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
//it is highly recommended you let this Z_SAFE_HOMING enabled!!!

#define Z_SAFE_HOMING // This feature is meant to avoid Z homing with probe outside the bed area.
// When defined, it will:
// - Allow Z homing only after X and Y homing AND stepper drivers still enabled
// - If stepper drivers timeout, it will need X and Y homing again before Z homing
// - Position the probe in a defined XY point before Z Homing when homing all axis (G28)
// - Block Z homing only when the probe is outside bed area.

#ifdef Z_SAFE_HOMING

#define Z_SAFE_HOMING_X_POINT (X_MAX_LENGTH/2)    // X point for Z homing when homing all axis (G28)
#define Z_SAFE_HOMING_Y_POINT (Y_MAX_LENGTH/2)    // Y point for Z homing when homing all axis (G28)

#endif
[/code]

As the X value is a negative value (-0.1) it looks as if that is the problem, as that would trigger a software endstop. Are you sure that #define min_software_endstops false // If true, axis won't move to coordinates less than HOME_POS. ========changed from true to false PC======= is set to false?

Ok i’ll try this now.

I’m now wondering if my problem is because I downloaded the latest stable version of Marling from Git Hub and then manually transferred my old settings demo my original config. Maybe I missed something.

here is a vid of it failing.

dropbox.com/s/2alpkflfszxqi … 4.mov?dl=0

I agree. I just don’t know why it is trying to go below 0 on the x.

Yes min_software_endstops is set to false

Hi, have coppied an older version of Marlin that I use to dropbox for you to try - watch some of the setting as I have upgraded Z, one GT2 & one T5 axis.
https://dl.dropboxusercontent.com/u/76303613/Marlin_autolevel_current.zip

Watch the extruder doesnt hit the bed with my settings! The Z axis stops are disbled after homing so the sensor doesn’t trigger an endstop during the printing of the first layer. You can adjust the clearance to the bed with the M851 & save with M500, it is currently set to -0.90 (i.e probe is 0.90mm lower than the tip of the extruder or it’s detection point is). At the end of the homing it should return to X0.00, Y0.00, Z0.00 (-0.90) thats when it’s likley to hit the bed.

This version isn’t without problems but works.

Well everyday’s a school day :).

Ok I loaded your firmware, I changed a couple of settings my stepper steps basically. (80, 80, 2133.333, 692) I notice you haven’t calibrated your Z-steps? (the vellemen default is quite a way out @600).

I made a typo and put (80.80 2133.333, 693) resulting in my Y behaving like it was falling down the stairs :(. oops

corrected the firmware refreshed, M501 and a M500. Checked the stored values and they were still wrong. re-flashed and tried again and still wrong. So I did a M502 and M500 (restore defaults) followed by a M501 and an M500. boom the settings stored. not sure if this is a hang up with my setup on a MAC?

anyhow G29 now works :slight_smile: thank you thank you thank you! I now need to go through calibration and set my Z sensor offset.

I am now wondering if the M206 and M851 failed for the same reason? I need to restore defaults to force it to pick up the new values ?

Weird how the latest firmware wouldn’t work I’ll have to diff all the settings and see if I can discover anything. The only other thing I have noticed with your firmware is when I homed or moved my x or y the moved at a steady constant speed now they accelerate (I guess that is the acceleration settings somewhere)

Once again Thanks a lot for your help

Hi, looking at github the last update was 2 days ago. Thats the problem with the development versions your never quite sure if your running the same firmware as the next person.