Auto-Level Disabled When Printing From USB
 
Notifications
Clear all

Auto-Level Disabled When Printing From USB  

Page 1 / 2
  RSS
kevin.b2
(@kevin-b2)
Trusted Member
Auto-Level Disabled When Printing From USB

Hey guys - So when i print a file from the SD card, my auto-leveling works great and i can see the dust covers on the z-axis servos moving slightly during each layer. This seems to give great results and works like a charm. However, when i use something like Repetier-Host or Simplify3D to send the gcode to the printer over USB, the auto-leveling seems to be disabled. I don't see the z-axis moving at all during each layer, even on large prints which cover much of the build platform.

I also have a problem with the starting z-height when using the USB connection, i always seem to have to lower my nozzle ~.150 mm from where the V2calibration.gcode sets it to get the filament to stick, which seems odd and counter-intuitive since i JUST ran the calibration routine.

Anyone else have any issues like this? Am i missing a certain command in my starting gcode?

Posted : 27/06/2016 8:01 am
PJR
 PJR
(@pjr)
Antient Member Moderator
Re: Auto-Level Disabled When Printing From USB

Kevin

That is a very strange observation and one that I can neither confirm nor counter.

I always print from USB (via Octoprint) and I think on one occasion only I have noticed the Z axis moving during a print, but that was when laying down a line from almost one corner of the bed to the opposite corner and then the movement was too small to be seen; I could only feel a very small movement.

The Z adjustment when printing via USB should not be necessary and tends to prove your observation.

Hopefully, someone from PR will be able to comment on this one.

Can you please advise what firmware version you are running?

Peter

Please note: I do not have any affiliation with Prusa Research. Any advices given are offered in good faith. It is your responsibility to ensure that by following my advice you do not suffer or cause injury, damage…

Posted : 27/06/2016 8:12 am
kevin.b2
(@kevin-b2)
Trusted Member
Topic starter answered:
Re: Auto-Level Disabled When Printing From USB

I'm using firmware 3.0.3 and actually see my dust covers rotate a decent amount (10 degrees of a rotation?) during the V2Cal print (assuming i don't touch the live adjust during that time) for example. When i print another file from either S3D or Repetier i have zero motion during a layer as well as the starting height issues.

I'll try Octoprint and see if that gives any different results..

Posted : 27/06/2016 8:21 am
PJR
 PJR
(@pjr)
Antient Member Moderator
Re: Auto-Level Disabled When Printing From USB

Kevin

There is no reason why Octoprint would produce different results to Pronterface.

Let's see if Josef has any thoughts.

Peter

Please note: I do not have any affiliation with Prusa Research. Any advices given are offered in good faith. It is your responsibility to ensure that by following my advice you do not suffer or cause injury, damage…

Posted : 27/06/2016 8:25 am
Cipis
(@cipis)
Member
Re: Auto-Level Disabled When Printing From USB

Are you sure you are not talking about z-lift? This feature is disabled in Simplify profile from Josef.

Posted : 27/06/2016 9:55 am
martorias
(@martorias)
Eminent Member
Re: Auto-Level Disabled When Printing From USB

Are you sure you are not talking about z-lift? This feature is disabled in Simplify profile from Josef.

I'm fairly sure he's talking about the auto-level feature. This is really interesting to read since I've had some first layer issues lately and couldn't really put my finger on what's causing it. Will definitely do some testing when I get home.

Posted : 27/06/2016 2:24 pm
kevin.b2
(@kevin-b2)
Trusted Member
Topic starter answered:
Re: Auto-Level Disabled When Printing From USB

Yea definitely the auto-level feature, plus i am using my own simplify profile not the one provided by Josef.

Posted : 27/06/2016 5:21 pm
PJR
 PJR
(@pjr)
Antient Member Moderator
Re: Auto-Level Disabled When Printing From USB

Kevin

You could always post the GCode so we can have a look and/or try printing with it.

Peter

Please note: I do not have any affiliation with Prusa Research. Any advices given are offered in good faith. It is your responsibility to ensure that by following my advice you do not suffer or cause injury, damage…

Posted : 27/06/2016 6:00 pm
kevin.b2
(@kevin-b2)
Trusted Member
Topic starter answered:
Re: Auto-Level Disabled When Printing From USB

Great suggestion - here is a link to the gcode as i couldn't get it to attach to the post for some reason. I'm really hoping that i am just missing some G or M command to enable the auto-leveling 🙂

https://drive.google.com/open?id=0Bzdr-mw2QrBYbTZ0clV0ZWo2Wk0

Posted : 27/06/2016 6:14 pm
martorias
(@martorias)
Eminent Member
Re: Auto-Level Disabled When Printing From USB

Great suggestion - here is a link to the gcode as i couldn't get it to attach to the post for some reason. I'm really hoping that i am just missing some G or M command to enable the auto-leveling 🙂

Question: If you print that via SD, does it work? but not from some USB-source?

I just did a simple rectangle outline and printed via both SD and OctoPrint(usb) and both used auto leveling.
I recorded it, check it out, you can pretty clearly see it rotating (don't mind the mess outside of the box lol)

Posted : 27/06/2016 7:18 pm
kevin.b2
(@kevin-b2)
Trusted Member
Topic starter answered:
Re: Auto-Level Disabled When Printing From USB

Do i need to be using a G29 command at all? I've seen mention of it in other places when discussing auto-bed leveling, but i notice that the V2 calibration gcode does not contain it (nor the S3D settings file that Josef provides).

Posted : 27/06/2016 8:26 pm
WildNine
(@wildnine)
Active Member
Re: Auto-Level Disabled When Printing From USB

Actually I have been having the same problems... My first print with octoprint was in black PLA so did not realize straight away that it was marking my bed badly, and I have a bad marking in the shape of that object ever since.

I have tried a few times since and always have the similar problem, I thought it was me, but it seems it is something else, ie setting of octoprint or the MK2. The same file via SD card works fine.

Posted : 27/06/2016 8:42 pm
martorias
(@martorias)
Eminent Member
Re: Auto-Level Disabled When Printing From USB

Do i need to be using a G29 command at all? I've seen mention of it in other places when discussing auto-bed leveling, but i notice that the V2 calibration gcode does not contain it (nor the S3D settings file that Josef provides).

I can't say for sure, but there's no G29 code in the thing I just printed and it was auto-leveling.

Posted : 27/06/2016 8:55 pm
PJR
 PJR
(@pjr)
Antient Member Moderator
Re: Auto-Level Disabled When Printing From USB

Kevin

To upload to here, you need to zip up the file first. PDF and JPG seem to be OK, but other files need compressing.

Your file start GCode:

M107
M190 S83 ; set bed temperature
M104 S240 ; set temperature
G28 ; home all axes
G1 Z5 F5000 ; lift nozzle
M109 S240 ; wait for temperature to be reached
G21 ; set units to millimeters
G90 ; use absolute coordinates
M82 ; use absolute distances for extrusion
G92 E0

The V2Calibration GCode:

M107 ; Fan Off
M104 S210 ; Set extruder temp - don't wait
M140 S55 ; Set bed temp - don't wait
M190 S55 ; Set bed temp - wait
M109 S210 ; Set extruder temp - wait
G87 ; ????
G88 ; ????
G28
; Home all (and calibrate probe)
G92 E0.0 ; Zero extruder value

I think the key may be the codes in bold. Note these occur after the extruder is heated.

Peter

Please note: I do not have any affiliation with Prusa Research. Any advices given are offered in good faith. It is your responsibility to ensure that by following my advice you do not suffer or cause injury, damage…

Posted : 27/06/2016 11:22 pm
martorias
(@martorias)
Eminent Member
Re: Auto-Level Disabled When Printing From USB

Kevin

Your file start GCode:

M107
M190 S83 ; set bed temperature
M104 S240 ; set temperature
G28 ; home all axes
G1 Z5 F5000 ; lift nozzle
M109 S240 ; wait for temperature to be reached
G21 ; set units to millimeters
G90 ; use absolute coordinates
M82 ; use absolute distances for extrusion
G92 E0

The V2Calibration GCode:

M107 ; Fan Off
M104 S210 ; Set extruder temp - don't wait
M140 S55 ; Set bed temp - don't wait
M190 S55 ; Set bed temp - wait
M109 S210 ; Set extruder temp - wait
G87 ; ????
G88 ; ????
G28
; Home all (and calibrate probe)
G92 E0.0 ; Zero extruder value

I think the key may be the codes in bold. Note these occur after the extruder is heated.

Peter

I don't have G87 nor G88 in my code, yet it works for me. I also dont do calibrate after the hotend is hot. My code:

G90
M83
;start script
M106 S0 ; stop fan
M140 S70 ; start heating bed
M117 Bed heating
G28 ; home calibrate
M117 Going home
M300 S600 P50 ;beep
M117 Wait for temp
M190 S70 ; wait for bed to reach setpoint
M300 S500 P50 ;boop
M104 S195 ; start heating extruder
M109 S195 ; wait for extruder to reach setpoint
G92 E0.0
G1 X60.0 E9.0 F1000.0
G1 X100.0 E12.5 F1000.0
G92 E0.0
;end start script

The lines in italic are just dummies, not sure why but it needs some extra lines after G28 to do the calibration (there was another thread on this).

Posted : 27/06/2016 11:53 pm
Jonathan
(@jonathan-13)
New Member
Re: Auto-Level Disabled When Printing From USB

/**
* G87: Enable babystep correction after home
*/
case 87:
eeprom_write_byte((unsigned char*)EEPROM_BABYSTEP_Z_SET, 0x01);
break;

case 88:
break;

Looking at the code on git hub this is what G80 does. Babystep in the the code is Live Z adjust. There is an if statement above this that takes care of the case when the value is 0x01. So it just enables Live Z adjust when the G80 command is enqueued by G28. There seems to be some confusion overall on the G28 behavior stemming that this printer has mesh bed leveling and not auto bed leveling. If you are so inclined look at https://github.com/prusa3d/Prusa-Firmware/blob/MK2/Firmware/Marlin_main.cpp . Here you can see what all the G and M codes do in the switch case statements. This is why open source is awesome. We can see how this stuff works and help eachother out.

Posted : 28/06/2016 2:06 am
kevin.b2
(@kevin-b2)
Trusted Member
Topic starter answered:
Re: Auto-Level Disabled When Printing From USB

Just tried the same gcode with a G87 inserted just before the G28 and it looks like its working! The printer did a 9 point calibration procedure before starting the print and i see the dust covers rotating slowly like normal and i'm getting great results 😀

Thanks a ton for linking the GitHub, was very interesting to read the code itself. It looks like what's happening is the following:

G80 says "i don't care if you're SD printing or USB printing, if this bit is high - you're gonna mesh level!"


if(card.sdprinting || is_usb_printing )
{
if(eeprom_read_byte((unsigned char*)EEPROM_BABYSTEP_Z_SET) == 0x01)
{
EEPROM_read_B(EEPROM_BABYSTEP_Z,&babystepLoad[2]);
babystepsTodo[Z_AXIS] = babystepLoad[2];
}
}

The G87 command is what actually triggers the bit to go high, as you mentioned:

case 87:
eeprom_write_byte((unsigned char*)EEPROM_BABYSTEP_Z_SET, 0x01);

TL;DR Putting the G87 before the G28 (homing command) gives great results!

Posted : 28/06/2016 4:01 am
PJR
 PJR
(@pjr)
Antient Member Moderator
Re: Auto-Level Disabled When Printing From USB

In my opinion, the probe/bed calibration should always be carried out either with hot extruder or with no filament inserted and a clean nozzle.

A blob of plastic can be attached to the nozzle when cold; this can be enough to push the bed downwards before the probe triggers which will give incorrect or bad calibration results.

Of course, doing the calibration when hot will leave strings and dots of filament on the bed.

Peter

Please note: I do not have any affiliation with Prusa Research. Any advices given are offered in good faith. It is your responsibility to ensure that by following my advice you do not suffer or cause injury, damage…

Posted : 28/06/2016 9:45 am
David T.
(@david-t)
Noble Member
Re: Auto-Level Disabled When Printing From USB

A blob of plastic can be attached to the nozzle when cold; this can be enough to push the bed downwards before the probe triggers which will give incorrect or bad calibration results.
One more thing. I suspect the autoprobe to detect different heights in different temperature conditions. The user need to autoprobe the bed at temperature used for printing of current object.

Posted : 28/06/2016 12:25 pm
PJR
 PJR
(@pjr)
Antient Member Moderator
Re: Auto-Level Disabled When Printing From USB

David

Also as I mentioned in a different thread, the V2Calibration should be set up and run for different filament types/temps as the nozzle gap will change with extruder temperature. A different Z Adjust will be required for different extruder temps.

However, as the nozzle gap will change by a maximum of 30 microns (back of envelope calcs...) it may be possible to "get away" without any changes.

Peter

Please note: I do not have any affiliation with Prusa Research. Any advices given are offered in good faith. It is your responsibility to ensure that by following my advice you do not suffer or cause injury, damage…

Posted : 28/06/2016 12:42 pm
Page 1 / 2
Share: