Printrbot / Marlin

Fork of Marlin for the Printrbot
87 stars 59 forks source link

confused by autoleveling config #20

Closed argus0209 closed 7 years ago

argus0209 commented 8 years ago

My autoleveling to trying to probe off my heat bed.

// Travel limits after homing

define X_MAX_POS_DEFAULT 225

define X_MIN_POS_DEFAULT 33

define Y_MAX_POS_DEFAULT 225

define Y_MIN_POS_DEFAULT 33

define Z_MAX_POS_DEFAULT 225

define Z_MIN_POS_DEFAULT 0

define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)

ifdef ENABLE_AUTO_BED_LEVELING

// these are the positions on the bed to do the probing. // NOTE: if the absolute value of the probe offset (x,y directions) is > 10, we have to move probe points inboard on that axis.

define LEFT_PROBE_BED_POSITION (bed_level_probe_offset[0] <= 10 ? 10 : bed_level_probe_offset[0])

define RIGHT_PROBE_BED_POSITION (bed_level_probe_offset[0] >= -10 ? X_MAX_LENGTH - 10 : X_MAX_LENGTH + bed_level_probe_offset[0])

define BACK_PROBE_BED_POSITION (bed_level_probe_offset[1] >= -10 ? Y_MAX_LENGTH - 10 : Y_MAX_LENGTH + bed_level_probe_offset[1])

define FRONT_PROBE_BED_POSITION (bed_level_probe_offset[1] <= 10 ? 10 : `bed_level_probe_offset[1])

how do I set the above setting? is there a guide somewhere for this? Thanks for any information.

-Steve

mickbalaban commented 8 years ago

hey Steve, what bot is this? Simple, Play or Plus?

This is what should be the default for all bots:

define X_MIN_POS_DEFAULT 0

define Y_MIN_POS_DEFAULT 0

define Z_MIN_POS_DEFAULT 0

then depending on the bot, max settings would be different:

if defined(PB_PLAY)

define X_MAX_POS_DEFAULT 100

define Y_MAX_POS_DEFAULT 100

define Z_MAX_POS_DEFAULT 131

elif defined(PB_SIMPLE)

define X_MAX_POS_DEFAULT 152

define Y_MAX_POS_DEFAULT 152

define Z_MAX_POS_DEFAULT 152

elif defined(PB_PLUS)

define X_MAX_POS_DEFAULT 250

define Y_MAX_POS_DEFAULT 250

define Z_MAX_POS_DEFAULT 254

elif defined(PB_MCF)

define X_MAX_POS_DEFAULT 230

define Y_MAX_POS_DEFAULT 160

define Z_MAX_POS_DEFAULT 81

define E_MAX_POS_DEFAULT 400

define E_MIN_POS_DEFAULT 0

elif defined(PB_BOCUSINI)

define X_MAX_POS_DEFAULT 152

define Y_MAX_POS_DEFAULT 152

define Z_MAX_POS_DEFAULT 131

define E_MAX_POS_DEFAULT 400

define E_MIN_POS_DEFAULT 0

elif defined(PB_STARTER)

#define X_MAX_POS_DEFAULT 110
#define Y_MAX_POS_DEFAULT 125
#define Z_MAX_POS_DEFAULT 131

else

define X_MAX_POS_DEFAULT 152

define Y_MAX_POS_DEFAULT 152

define Z_MAX_POS_DEFAULT 152

endif

you should not edit the rest (LEFT_PROBE_BED_POSITION... etc)

argus0209 commented 8 years ago

So I'm using a printrboard on a custom build.

http://www.thingiverse.com/thing:1241306

So is there no way to change the probe positions ? when it probes the back it's barely off the heat bed and when it probes the left side the probe is off the bed causing the hot end to crash in the bed.

mickbalaban commented 8 years ago

if all you are trying to do is modify where bed is probed, you don't need to change MAX and MIN positions in firmware. They should match your bed dimensions.

To change the probe offset, use M codes. Connect to your bot with pronterface, coolTerm, or anything else that allows you to send commands to it, and run M501. This will print out a list of configuration parameters. You are looking for M212 "Bed Probe Offset": http://reprap.org/wiki/G-code#M212:_Set_Bed_Level_Sensor_Offset

After you make the changes, remember to run M500 to save the settings.

argus0209 commented 8 years ago

Okay cool I understand that, I used the m212 to calibrate the hot end height. My next question is what value would I use? Like my X max is set to 220 should the change the M212 X=210 ? If I set it to a negative number will it try to run through the endstop ?

Thanks for information and time on helping me solve my problem.

~Steve

mickbalaban commented 8 years ago

I think that M212 X210 would tell your printer that probe is 210 mm offset from the position where the hotend is, so that would be wrong. On my simple, M212 reports X20 Y0 Z-0.4, and your settings should be similar to that.

Do you know what firmware you are running? If you are not sure, maybe it would be best to try to flash the latest firmware for Simple, and then tweak the settings using M codes.

After that, if you are still having issues, please run M501 and post the results here.

argus0209 commented 8 years ago

I was thinking the m212 command just offset the whole access but now I know it's just the offsett of the probe from the hotend. It's all starting to make sense. Not sure where I got the Firmware as I have had it for a couple of months but I'm down for re-flashing it with simple firmware. Is there a place I can get the source files for the simple ? I'm getting some parts in tomorrow for the printer so I should be able to test it hopefully tomorrow night. Thanks again for all the help.

mickbalaban commented 8 years ago

Source is in this repo, but you can also just grab the latest hex file here: https://github.com/Printrbot/firmware-updater/tree/gh-pages/binaries

argus0209 commented 8 years ago

Okay I played with the M212 command "M212 x60 y60 z-0.6" and when I use G29 comman the Y-axis is closer to 0 but the X-axis has no change. I will try downloading the source and the hex and will see what happens. The version I have downloaded it Marlin-RevF-Version-5. I think I got access to this firmware through information found on printrbot.com

argus0209 commented 8 years ago

Problem found and it was the X-axis calibration was off. When I moved the hotend 220mm it was actually moving 240mm. So that problem is solved I do have another problem though and that is the retraction is not working in repetier host. It does seem to function in correctly in cura. any ideas on that problem ? Thanks for all the help mickbalaban.

-Steve

mickbalaban commented 8 years ago

hey Steve, I am glad you found the issue. I am not really familiar with Repetier host, but it sounds like it is using different settings for slicing (or even different slicing engine) then Cura. Make sure you don't have something like "firmware retraction" or similar enabled, which would remove retraction from gcode and let the firmware do it. You can try exporting working gcode from Cura, and loading it into Repetier and see if retraction works. If it does, check your slicer settings in Repetier.

Good luck!