Notifications
Clear all

Hyperfine bed leveling?  

Page 4 / 22
  RSS
alsand
(@alsand)
Active Member
Re: Hyperfine bed leveling?


unsigned char codes[8] = { 'A', 'B', 'C', 'D' , 'E' , 'F', 'H', I'};

You still need the extra comma in front of "I" correct?

Absolutely right, I forgot the leading quote 🙄 .... Sorry for the typo.

...
Posted : 24/05/2017 8:08 am
alsand
(@alsand)
Active Member
Re: Hyperfine bed leveling?



OK so what do you think about using lower case "a" through "h"? I would very much prefer the letters to be consecutive...

Looking forward to your/everybody's input on this...

Agreed, consecutive letters would be much better.
Unfortunately I'm pretty sure the gcode parser is case insensitive.
I'll have to check the code_seen() source to verify...

...
Posted : 24/05/2017 8:17 am
PJR
 PJR
(@pjr)
Moderator
Re: Hyperfine bed leveling?

Unfortunately I'm pretty sure the gcode parser is case insensitive.

static inline bool code_seen(char code) {server won't let me paste the rest of the line...}

Standard C stuff here; the case matters.

Will test out with lower case.

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 : 24/05/2017 9:35 am
Nomad965
(@nomad965)
Trusted Member
Re: Hyperfine bed leveling?

Well finally managed to get it done, as per PJR's method 9 point calibration with 9 squares, alot of reading to get to this level in 2 weeks, from scratch build complete newbie to 3d printers, all thanks to the contributors on the forums to share their information.

Here are a couple of pics of the work carried out yesterday, whilst doing the calibration from where it was when I first printed the 9 squares.
Got a shock when the 9 squares were printed, how off was the calibration.


As well as a pic of the Code part that was modified based on PJR recommendation, rest are pics of the workshop after the green chips rained down me :mrgreen: .....




After 12 attempts on the 9 variables with an additional 7 prints worth fiddling with the FFF profile for S3D on temps, extrusion factor etc etc, managed to get 8 out of the 9 squares to 0.20 only one was off at 0.21 which is more than I expected achievable.

Currently the Prusa is printing the second print of Makers Muze Tolerance Gauge, the first print was only with mechanical and 4 point calibration.

First print the best I got was 0.5/0.4/0.3

Second print hoping to get all them working 0.5~0.05 Live broadcast of the print in action here...

Will post result once done, time for some sleep.

Special thanks to Jeff and PJR for their wealth of information posted on this Forum.

Prusa i3 MK2s MK2.5s Mk3 Mk3s BearPrusa Zaribo 320 - Kit Build - Rc Driver - Tweak freak...
“I know nothing about surpassing others. I only know how to outdo myself.” -Bushido-...
Posted : 24/05/2017 10:05 am
PJR
 PJR
(@pjr)
Moderator
Re: Hyperfine bed leveling?

Special thanks to Jeff and PJR for their wealth of information posted on this Forum.

Thank you for your kind comments. Makes it all worthwhile! 😀 😀 😀

Peter

P.S. I don't keep my square nor workings; I wouldn't have room in my office!

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 : 24/05/2017 10:18 am
PJR
 PJR
(@pjr)
Moderator
Re: Hyperfine bed leveling?

OK, so I have now tested with lower-case and it looks to be working as expected.

Here's the amended code snippet:

for (uint8_t i = 0; i < 8; ++i) {
unsigned char codes[8] = { 'a', 'b', 'c', 'd' , 'e' , 'f', 'g', 'h'};
long correction = 0;
if (code_seen(codes[i]))
correction = code_value_long();
else
continue;
float offset = float(correction) * 0.001f;
if (fabs(offset) > 0.201f) {
SERIAL_ERROR_START;
SERIAL_ECHOPGM("Excessive bed leveling correction: ");
SERIAL_ECHO(offset);
SERIAL_ECHOLNPGM(" microns");
}
else {
switch (i) {
case 0:
mbl.z_values[0][0] += offset;
break;
case 1:
mbl.z_values[0][1] += offset;
break;
case 2:
mbl.z_values[0][2] += offset;
break;
case 3:
mbl.z_values[1][2] += offset;
break;
case 4:
mbl.z_values[2][2] += offset;
break;
case 5:
mbl.z_values[2][1] += offset;
break;
case 6:
mbl.z_values[2][0] += offset;
break;
case 7:
mbl.z_values[1][0] += offset;
break;
}
}
}

With the above code, G80 uses lower case letters "a" through to "h" as point parameters.

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 : 24/05/2017 10:20 am
Nomad965
(@nomad965)
Trusted Member
Re: Hyperfine bed leveling?

Special thanks to Jeff and PJR for their wealth of information posted on this Forum.

Thank you for your kind comments. Makes it all worthwhile! 😀 😀 😀

Peter

P.S. I don't keep my square nor workings; I wouldn't have room in my office!

Most welcome bro, and thanks for the update on the lower case variables.

I played with the profile setting some bit, will post my setup shortly. The icing on the cake came after dialing out the extruder multiplier the temps bed an extruder.

Prusa i3 MK2s MK2.5s Mk3 Mk3s BearPrusa Zaribo 320 - Kit Build - Rc Driver - Tweak freak...
“I know nothing about surpassing others. I only know how to outdo myself.” -Bushido-...
Posted : 24/05/2017 11:42 am
alsand
(@alsand)
Active Member
Re: Hyperfine bed leveling?


static inline bool code_seen(char code) {server won't let me paste the rest of the line...}

Standard C stuff here; the case matters.

Will test out with lower case.

Great !!

I remember sending a "g80" through Octoprint terminal, apparently it's the terminal itself that converts to uppercase.

...
Posted : 24/05/2017 1:06 pm
PJR
 PJR
(@pjr)
Moderator
Re: Hyperfine bed leveling?

I remember sending a "g80" through Octoprint terminal, apparently it's the terminal itself that converts to uppercase.

That does make sense. Thanks.

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 : 24/05/2017 3:25 pm
cory.w
(@cory-w)
Estimable Member
Re: Hyperfine bed leveling?

What gcode can you run to view current z measurements? I use octoprint so can send commands but don't get the result in terminal with normal mesh bed leveling or running zcal from printer menu.

...
Posted : 24/05/2017 7:10 pm
Nomad965
(@nomad965)
Trusted Member
Re: Hyperfine bed leveling?

All done with the S3D profile as attached, my final G80 Code is : G80 A0 B0 C8 D8 E-2 F-5 H-5 I-20

Here is my Printer profile.

It's Prusa's default profile with melph's printer profile combined with my calibrations and tweaking.

Just a note anyone who would like to test out the above printer profile, just make sure you edit the G80 code in the start Gcode script to match your 9 point calibration readings, and or set it back to default.

Prusa i3 MK2s MK2.5s Mk3 Mk3s BearPrusa Zaribo 320 - Kit Build - Rc Driver - Tweak freak...
“I know nothing about surpassing others. I only know how to outdo myself.” -Bushido-...
Posted : 25/05/2017 4:45 am
cory.w
(@cory-w)
Estimable Member
Re: Hyperfine bed leveling?

I did nearly a complete rebuild yesterday of the printer. Reran all calibrations. New firmware does it 3 times which is pretty nice. Had to fiddle with the PINDA probe adjustment again. Also made sure wire from heaterbed was not running under G point.

Once I got everything squared away, only minimal adjustments were required to fine tune leveling.

Much happier with the quality now!

...
Posted : 25/05/2017 6:34 pm
Nomad965
(@nomad965)
Trusted Member
Re: Hyperfine bed leveling?

I updated my print profile with a new version after running some more print tests, and can say its at optimal level now.

Here is the latest print profile.

Also images of one project working on, this was printed at normal PLA at 0.2 with my profile, I dont think there is even a need to print this in Detail at 0.1 or Fine detail 0.05.

Tell me what you guys think.




Next step to print Makers muze tolerance gauge and see what spins and what locks.

2 factors really changed the outcome on that print, I physically measured the PLA filament on a distance of 100mm to take an average deviation from the claimed 1.750 which came down to 1.700. Also did the calibration on the PID / TEMP.

Prusa i3 MK2s MK2.5s Mk3 Mk3s BearPrusa Zaribo 320 - Kit Build - Rc Driver - Tweak freak...
“I know nothing about surpassing others. I only know how to outdo myself.” -Bushido-...
Posted : 25/05/2017 9:42 pm
cory.w
(@cory-w)
Estimable Member
Re: Hyperfine bed leveling?

Would it be possible to add additional points? I'm finding that locations in-between frame mounting points are slightly lower then the points where the frame is secured.

IE -
Points A,C,E,H(sub for G) look pretty good except for the corner leading to the center.
Points B,D,F,I look good except for side towards the center.
Center looks nearly perfect on its own

Photo shows Point C. Before this, 2 farthest side had holes between outline and infill. Decreased leveling which caused the side that was good to scrape but filled in most the holes.

...
Posted : 09/06/2017 10:26 pm
PJR
 PJR
(@pjr)
Moderator
Re: Hyperfine bed leveling?

Would it be possible to add additional points?

Yes, but not easily; and it's not something that I would be comfortable doing (maybe except for myself - it could really screw things).

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 : 10/06/2017 5:54 pm
cory.w
(@cory-w)
Estimable Member
Re: Hyperfine bed leveling?

What would be alternative solution. Nearly every 9 point square has small holes near one end at least. If I lower nozzle or increase extrusion, the opposite end starts to scratch itself.

Maybe cork board?

...
Posted : 10/06/2017 8:38 pm
PJR
 PJR
(@pjr)
Moderator
Re: Hyperfine bed leveling?

Cory

You really should not notice very much deviation across a 20mm single layer square. If you do, there are 4 choices I would suggest:

1. Ignore it.
2. Ensure there is no more than 50 microns difference between consecutive points
3. Go back to stock firmware
4. Replace the bed.

Other than the above, I really am sorry but I am out of ideas. The biggest problem is that your situation does not happen to me and therefore it is very difficult to diagnose and propose a working solution. Sorry. 🙁

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 : 12/06/2017 6:01 pm
Valiran
(@valiran)
Eminent Member
Re: Hyperfine bed leveling?

Is that possible for people who managed to modify FW to release it?
I'm a bit afraid of screwing RAMBo by f**king the FW.
I have the MK2S by the way 🙂

Another question: Is that not possible to hardcode the 8 letters value inside the firmware, in order to have clean .gcode?

...
Posted : 24/06/2017 10:49 am
PJR
 PJR
(@pjr)
Moderator
Re: Hyperfine bed leveling?

Is that possible for people who managed to modify FW to release it?

Not something I would do simply because I would then be taking responsibility for your firmware, and it would be my fault if anything went wrong.

However, it really is not difficult, once you have the Arduino IDE installed and don't forget, you don't brick the printer if a firmware fails. I have not known a situation where the printer cannot be reflashed with original firmware.

Another question: Is that not possible to hardcode the 8 letters value inside the firmware, in order to have clean .gcode?

This was intended as a "Quick Fix". To do as you suggest would require significant time investment into the firmware and probable quite a number of changes elsewhere. In any event, you still need to issue a G80 at the start of the print, so adding parameters to that within start gcode is no big deal.

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 : 24/06/2017 11:44 am
JeffJordan
(@jeffjordan)
Moderator
Re: Hyperfine bed leveling?


.... To do as you suggest would require significant time investment into the firmware and probable quite a number of changes elsewhere....

I can totally agree with this, it was really a pita to change all the required screen messages for the bed correction sub-menu inside the different language files 🙄

hi folks,

so I digged a little bit deeper into the firmware code and just managed to implement PJR's amendment with the G80 enhancement and "Bed level correction" sub-menu where you can set all the eight parameters and store them into the EEPROM into the actual 3.0.12 firmware from the github (not RC, not RC2) !

as far as I can see, it works as expected. if a value is parsed through the G80 command, its considered instead of the corresponding eeprom value.
so if you've changed all the 8 values inside the menu and send for example a "G80 c55" to the printer, the values for point a, b and d - h will be used from the eeprom, while for point c the parsed value of 55 will be used.

so I can either use Peters amendment "stand alone" and/or with parsed G80 parameters.

if someone wants to test this version at his own risk, just send me a pm.

and yes: there's also a "MidRight [um]" value between these entries, as well as a "Reset" at the bottom.

ps. to store the values inside the eeprom, I used eight new (so far unused) locations, so nothing of the existing values should be overwritten.

dem inscheniör is' nix zu schwör......
Posted : 19/07/2017 10:50 pm
Page 4 / 22
Share: