Close



Results 1 to 7 of 7
  1. #1
    Student
    Join Date
    Feb 2015
    Location
    Brazil
    Posts
    26

    Upgraded to 1.1.0 RCBugFix. Is my UBL working?

    Upgraded 1.1.0 bugfix from my original (early 2015) version of Marlin. Made sure everything was working fine before moving on.

    Carefully went over the configuration.h as much as possible, comparing values and trying to figure out the new (much simpler once you get it) variable names.

    Now it seems I've got it working, UBL and all, I just don't really know how to use it.

    Should I change my gcode startup scripts to G29 L0 to load the tables before printing? Should I run G29 P1 often? How does one go about using it?

    Also I don't get it why the printed doesn't "remember" the table after a reboot, even after using M500 after a G29 P1. Or does it?

    This is my current bed topography (Z probe is a micro switch on a servo)

    READ: (0,9) (9,9)
    READ: (1,217) (225,217)
    READ: . . . . . . . . . .
    READ:
    READ: 0.165 0.110 0.108 0.097 0.070 0.080 0.095 0.085 0.080 .
    READ:
    READ: 0.108 0.097 0.070 0.047 0.072 0.063 0.060 0.050 0.063 .
    READ:
    READ: 0.065 0.055 0.047 0.065 0.050 0.050 0.052 0.043 0.045 .
    READ:
    READ: 0.030 0.030 0.030 0.045 0.027 0.032 0.027 0.015 0.005 .
    READ:
    READ: 0.027 0.037 0.030 0.052 0.030 0.037 0.035 0.003 0.015 .
    READ:
    READ: 0.040 0.045 0.010 0.040 0.032 0.030 0.027 0.010 0.017 .
    READ:
    READ: 0.050 0.023 0.045 0.050 0.037 0.010 0.023 0.035 0.052 .
    READ:
    READ: 0.072 0.057 0.060 0.068 0.045 0.075 0.080 0.075 0.065 .
    READ:
    READ: [ 0.080] 0.072 0.052 0.050 0.070 0.077 0.125 0.092 0.072 .
    READ: (1,1) (225,1)
    READ: (0,0) (9,0)
    READ: ok

    BTW Thanks Roxy, great work!!!

    EDIT: This is my Configuration.h M48 gives a solid "Standard Deviation: 0.001225"
    Last edited by Renfro; 05-22-2017 at 08:18 AM.

  2. #2
    Super Moderator Roxy's Avatar
    Join Date
    Apr 2014
    Location
    Lone Star State
    Posts
    2,182
    Quote Originally Posted by Renfro View Post
    Should I change my gcode startup scripts to G29 L0 to load the tables before printing? Should I run G29 P1 often? How does one go about using it?
    Well... It depends on how you want the system to operate. I want the bed leveling system alive and working when the machine powers up. If you want that behaviour, you do a G29 S1 to save your mesh. Do a G29 F10.0 to set the fade height. Do a G29 A to activate the system. And then do a M500 to save the current state.
    When the system powers up, it will automatically load mesh 1 and the system will be active. In this scenario... You never need to do a G29 but the system will be alive and working.

    Also... I see unprobed mesh points on the right and on the top. You can get rid of those (fill them in) with a G29 P3 T

    Quote Originally Posted by Renfro View Post
    Also I don't get it why the printed doesn't "remember" the table after a reboot, even after using M500 after a G29 P1. Or does it?
    You need to save the mesh in one of the mesh slots. I typically use G29 S1 If you are not saving the mesh... Are you using the G26 Mesh Validation Tool? That (and G29 P4 R) is how you get the mesh perfect. And as you get it better and better over a few iterations... You can save it to a new mesh slot so you don't lose your original mesh.


    Quote Originally Posted by Renfro View Post
    BTW Thanks Roxy, great work!!!

    Thank You. You are very welcome.


    Quote Originally Posted by Renfro View Post
    EDIT: This is my Configuration.h M48 gives a solid "Standard Deviation: 0.001225"
    That is pretty good!!!!

  3. #3
    Student
    Join Date
    Feb 2015
    Location
    Brazil
    Posts
    26
    Quote Originally Posted by Roxy View Post
    I see unprobed mesh points on the right and on the top. You can get rid of those (fill them in) with a G29 P3 T
    Done! It did change some values, but I don't really understand whats going on here:

    Code:
    READ: Bed Topography Report:READ: 
    READ: (0,9)                                                                           (9,9)
    READ: (1,217)                                                                        (225,217)
    READ:   0.222    0.122    0.145    0.148    0.070    0.097    0.130    0.120    0.097    0.097  
    READ:  
    READ:   0.165    0.110    0.108    0.097    0.070    0.080    0.095    0.085    0.080    0.080  
    READ:  
    READ:   0.108    0.097    0.070    0.047    0.072    0.063    0.060    0.050    0.063    0.075  
    READ:  
    READ:   0.065    0.055    0.047    0.065    0.050    0.050    0.052    0.043    0.045    0.048  
    READ:  
    READ:   0.030    0.030    0.030    0.045    0.027    0.032    0.027    0.015    0.005    0.005  
    READ:  
    READ:   0.027    0.037    0.030    0.052    0.030    0.037    0.035    0.003    0.015    0.027  
    READ:  
    READ:   0.040    0.045    0.010    0.040    0.032    0.030    0.027    0.010    0.017    0.025  
    READ:  
    READ:   0.050    0.023    0.045    0.050    0.037    0.010    0.023    0.035    0.052    0.070  
    READ:  
    READ:   0.072    0.057    0.060    0.068    0.045    0.075    0.080    0.075    0.065    0.065  
    READ:  
    READ: [ 0.080]   0.072    0.052    0.050    0.070    0.077    0.125    0.092    0.072    0.072  
    READ: (1,1)                                                                            (225,1)
    READ: (0,0)                                                                             (9,0)
    READ: ok
    Quote Originally Posted by Roxy View Post
    Well... It depends on how you want the system to operate. I want the bed leveling system alive and working when the machine powers up. If you want that behaviour, you do a G29 S1 to save your mesh. Do a G29 F10.0 to set the fade height. Do a G29 A to activate the system. And then do a M500 to save the current state.
    When the system powers up, it will automatically load mesh 1 and the system will be active. In this scenario... You never need to do a G29 but the system will be alive and working.
    Followed your guidance here step by step (G29 S1, G29 F10.0 + M500) still it returns "Unified Bed Leveling System v1.01 inactive." for a "G29 W" after a reboot followed by a G28. Is it supposed to be like that?

    Quote Originally Posted by Roxy View Post
    Are you using the G26 Mesh Validation Tool?
    Yeah and the printed pattern looks pretty good to me. Got 100% adhesion with the right amount of pressure.
    Last edited by Renfro; 05-22-2017 at 04:26 PM. Reason: a word

  4. #4
    Student
    Join Date
    Feb 2015
    Location
    Brazil
    Posts
    26
    I might have found my error...

    At boot I'm getting this:

    Code:
    READ: Error:EEPROM checksum mismatch - (stored CRC)33233 != 64164 (calculated CRC)!READ: echo:Hardcoded Default Settings Loaded
    Hardcoded Default Settings Loaded

    So I assume it's not loading the EPROM values and defaulting to the hardcoded stuff

    Any ideas?

    EDIT: The plot thickens... I tried to flash the main 1.1 (not rc bugfix) with the same Configuration.h and was able to modify values and save to eprom without the errors. RC Bugfix saved eprom reads fine on 1.1 but it fails read CRC check the other way around
    Last edited by Renfro; 05-22-2017 at 09:37 PM. Reason: New Info

  5. #5
    Super Moderator Roxy's Avatar
    Join Date
    Apr 2014
    Location
    Lone Star State
    Posts
    2,182
    No! Stay with bugfix_v1.1.0 That has a lot of good stuff that is not in v1.1.0 Please put bugfix_v1.1.0 back on your machine. And do the 'Quick Start' sequence here:
    (You can skip the manual probing -- G29 P2 because the G29 P3 is smart enough to handle the unprobed points now.)

    https://github.com/MarlinFirmware/Ma...ed_leveling.md

    Probably the source of the problem for this:

    Followed your guidance here step by step (G29 S1, G29 F10.0 + M500) still it returns "Unified Bed Leveling System v1.01 inactive." for a "G29 W" after a reboot followed by a G28. Is it supposed to be like that?
    You should do a G29 A (To activate the system) prior to doing the M500. The M500 will save the current state of the UBL System, and you might have saved the state with it deactivated. Right?

    READ: Error:EEPROM checksum mismatch - (stored CRC)33233 != 64164 (calculated CRC)!READ: echo:Hardcoded Default Settings Loaded Hardcoded Default Settings Loaded
    A much stronger error detection has been added to the EEPROM storage. v1.1.0 and bugfix_v1.1.0 can not share the same EEPROM data. The EEPROM needs to be initialized for which ever system you are using. Just stay with bugfix_v1.1.0 !!!
    Last edited by Roxy; 05-23-2017 at 12:21 AM.

  6. #6
    Student
    Join Date
    Feb 2015
    Location
    Brazil
    Posts
    26
    Quote Originally Posted by Roxy View Post
    No! Stay with bugfix_v1.1.0 That has a lot of good stuff that is not in v1.1.0 Please put bugfix_v1.1.0 back on your machine.
    Out of much respect for your work here I've downloaded the updated files and went on to configure each parameter, flash, test M500 with some changes just to see if anything would stick or break the CRC... Step by step.

    I had the new and previous (RC bugfix) configuration.h open in compare mode.

    And it works... Don't ask me why b/c in the end both files look very very similar, with the exception of something you changed around line 891
    Code:
    From:
      #define UBL_G26_MESH_EDITING    // Enable G26 mesh editing
    
    To:
    
    #define UBL_G26_MESH_VALIDATION   // Enable G26 mesh validation
    #define UBL_MESH_EDIT_MOVES_Z     // Sophisticated users prefer no movement of nozzle
    Quote Originally Posted by Roxy View Post
    You should do a G29 A (To activate the system) prior to doing the M500. The M500 will save the current state of the UBL System, and you might have saved the state with it deactivated. Right?
    I was doing G29 A before, just forgot to include in my post. But it really didn't matter as it was failing the CRC checksum on boot and loading everything from hardcode anyways.

    Why it was failing CRC still a mystery to me. Now I have re done G29 P1 + G29 P3 T + G29 S0 + G29 A + M500 and everything seems to be surviving boots just fine:

    Code:
    Printer is now online.echo: External Reset
    Marlin bugfix-1.1.x
    echo: Last Updated: 2017-05-04 12:00 | Author: (none, default config)
    Compiled: May 23 2017
    echo: Free Memory: 2787  PlannerBufferBytes: 1232
    echo:V38 stored settings retrieved (453 bytes; crc 18979)
    Unified Bed Leveling System v1.01 active.
    Unified Bed Leveling initialized.
    Mesh loaded from slot 0
    Mesh 0 loaded from storage.
    echo:  G21 ; Units in mm
    echo:  M149 C ; Units in Celsius
    echo:Filament settings: Disabled
    echo:  M200 D3.00
    echo:  M200 D0
    echo:Steps per unit:
    echo:  M92 X80.00 Y80.00 Z400.00 E100.00
    echo:Maximum feedrates (units/s):
    echo:  M203 X300.00 Y300.00 Z5.00 E25.00
    echo:Maximum Acceleration (units/s2):
    echo:  M201 X2000 Y2000 Z20 E1000
    echo:Acceleration (units/s2): P<print_accel> R<retract_accel> T<travel_accel>
    echo:  M204 P2000.00 R2000.00 T2000.00
    echo:Advanced: S<min_feedrate> T<min_travel_feedrate> B<min_segment_time_ms> X<max_xy_jerk> Z<max_z_jerk> E<max_e_jerk>
    echo:  M205 S0.00 T0.00 B20000 X20.00 Y20.00 Z0.40 E5.00
    echo:Home offset:
    echo:  M206 X0.00 Y0.00 Z0.00
    echo:Unified Bed Leveling:
    echo:  M420 S1 Z10.00
    Unified Bed Leveling System v1.01 active.
    Active Mesh Slot: 0
    z_offset: 0.000000
    EEPROM can hold 8 meshes.
    echo:Material heatup parameters:
    echo:  M145 S0 H180 B70 F0
      M145 S1 H240 B110 F0
    echo:PID settings:
    echo:  M301 P22.20 I1.08 D114.00
    echo:Z-Probe Offset (mm):
    echo:  M851 Z-5.00
    echo:SD card ok

    It looks like I'm good to go... right? The only thing I don't see here and get no response on setting is the G29 F10.0, is there a way to check if it's stored and working?

    LOOKS GOOD ROXY! I'm sticking w ya brother!

    Thanks again and let me know if I can be of any help with the project. I'm no C programmer but can do testing and language files to portuguese

  7. #7
    Super Moderator Roxy's Avatar
    Join Date
    Apr 2014
    Location
    Lone Star State
    Posts
    2,182
    A G29 W will tell you What G29 thinks about the world. Very early in the G29 W report, you will see what it thinks about a Fade Height. But if you lower the nozzle down to 1mm above the bed, when your travel in either X or Y, you should see the nozzle go up and down to track the bed.

    The G26 is good to do when you first get setup. The printed pattern will help you determine if every mesh point is accurately defined. If some area of the bed is not perfect, you just move the nozzle over that area and do a G29 P4 R to edit the mesh points near the nozzle. (And of course... save the updated mesh with G29 S1)
    Last edited by Roxy; 05-23-2017 at 10:45 AM.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •