1. Got a question or need help troubleshooting? Post to the troubleshooting forum or Search the forums!

Marlin Firmware Upgrade 1.1.0 RC8 & RCBugFix (For R1 & R1+PLUS)

Discussion in 'Mods and Upgrades' started by WheresWaldo, Jun 11, 2015.

Thread Status:
Not open for further replies.
  1. daniel871

    daniel871 Well-Known Member

    Joined:
    Apr 18, 2015
    Messages:
    1,322
    Likes Received:
    510
    I meant more for making sure not to have any unnecessary code at the start of an actual print program after having stored the mesh leveling values.
     
  2. Mike Kelly

    Mike Kelly Volunteer

    Joined:
    Mar 11, 2013
    Messages:
    6,967
    Likes Received:
    2,276
    I mean you don't use G29 or Z offset with it. You can have pretty much anything you want in the startup otherwise, won't affect the mesh
     
  3. daniel871

    daniel871 Well-Known Member

    Joined:
    Apr 18, 2015
    Messages:
    1,322
    Likes Received:
    510
    So, run the mesh leveling with the LCD when powering up, then

    Code:
    M140 S[bed0_temperature] ; Set Bed Temperature
    
    M190 S[bed0_temperature] ; Wait for Bed Temperature
    
    G28 ; home all axes
    
    G1 Z5 F5000 ; lift Z by 5mm
    
    M565 Z.85 ; set the offset for auto-leveling mechanism
    
    G29 ; run auto-level
    
    ; This set of code is so that it autolevels before heating so that the BuildTek surface is not damaged
    
    G1 Z5 F5000 ; lift Z by 5mm so it doesnt rest on the BuildTek while heating.
    
    M104 S[extruder0_temperature] T0 ; set extruder temperature .
    
    M109 S[extruder0_temperature] T0 ; set extruder temperature and wait for temp
    Basically becomes

    Code:
    M140 S[bed0_temperature] ; Set Bed Temperature
    
    M190 S[bed0_temperature] ; Wait for Bed Temperature
    
    G28 ; home all axes
    
    G1 Z5 F5000 ; lift Z by 5mm
    
    M104 S[extruder0_temperature] T0 ; set extruder temperature .
    
    M109 S[extruder0_temperature] T0 ; set extruder temperature and wait for temp
    in the Starting G-code in whatever slicer.
     
    #183 daniel871, Feb 26, 2016
    Last edited: Feb 26, 2016
    Etan15 and Mike Kelly like this.
  4. WheresWaldo

    WheresWaldo Volunteer ( ͠° ͟ʖ ͡°)
    Staff Member

    Joined:
    Feb 18, 2015
    Messages:
    5,905
    Likes Received:
    3,593
    Mike, you may still need to perform an M500 command to store memory values in EEPROM after the leveling sequence. I am not sure it is done automagically. That should preserve the settings between power downs.
     
  5. James Harry

    James Harry Active Member

    Joined:
    Feb 7, 2015
    Messages:
    127
    Likes Received:
    37
    Yes, you do need to do a M500 to save it.
     
  6. WheresWaldo

    WheresWaldo Volunteer ( ͠° ͟ʖ ͡°)
    Staff Member

    Joined:
    Feb 18, 2015
    Messages:
    5,905
    Likes Received:
    3,593
    Can someone outline and post how to do the mesh leveling and if they added more points to Configuration.h (3x3 is the default setting)?
     
  7. cdsl810

    cdsl810 Member

    Joined:
    Feb 5, 2016
    Messages:
    46
    Likes Received:
    14
    I flashed the latest iteration of the RC3 firmware... everything works great with my R1+ except for the Full Graphic LCD.

    All the icons and functions are there, but the "Tune" menu is wacky. The menu items are correct, but if I try to change a setting it goes directly to the "Flow" screen and you can't click to exit that screen. When it finally times out to return to the Info screen, then the speed setting has changed to minus one degree from the previous setting. All of the adjustments can be made in the "Control" menu with no issues. Also, it may be randomly setting my temperature to a different value--but I have to check my Gcode to make sure I don't have a temperature change in there that I wasn't expecting.
     
  8. WheresWaldo

    WheresWaldo Volunteer ( ͠° ͟ʖ ͡°)
    Staff Member

    Joined:
    Feb 18, 2015
    Messages:
    5,905
    Likes Received:
    3,593
    I am seeing the same thing. Guess it should be reported on their GIT repository.

    This is fixed in Pull Request #2823, it has just not been incorporated into another RC yet.
    If you want the absolute latest code you can download the RCBugFix branch of Marlin and make the appropriate changes yourself. It is currently 85 commits ahead of RC3.

    Note 1: I am testing this today, but will not be maintaining a separate build for the Bug Fixes. Once it is mainstreamed into the RC I will update this thread with another zipped up version..

    Note 2: The fix appears to work correctly.
     
    #188 WheresWaldo, Feb 27, 2016
    Last edited: Feb 27, 2016
  9. cdsl810

    cdsl810 Member

    Joined:
    Feb 5, 2016
    Messages:
    46
    Likes Received:
    14
    The update fixed the LCD but hosed the auto bed leveling...

    Bed leveling works, but now it "double dips" at each of the 9 points--at a very slow rate.

    I cannot see anything different in the Configuration.h between the two versions.
     
  10. WheresWaldo

    WheresWaldo Volunteer ( ͠° ͟ʖ ͡°)
    Staff Member

    Joined:
    Feb 18, 2015
    Messages:
    5,905
    Likes Received:
    3,593
    Change line 485 in Configuration.h to a value of 15000-18000.
    Code:
    #define XY_TRAVEL_SPEED 18000
    If it vibrates or chatters while moving lower the number until it stops.
     
  11. cdsl810

    cdsl810 Member

    Joined:
    Feb 5, 2016
    Messages:
    46
    Likes Received:
    14
    Yes. I already have that value set at 18000.

    The issue is the travel speed of Z. It just creeps down and back up during homing and bed leveling. I haven't found the cause of this yet. Everything was fast with the ROBO RC3 version you posted here. The bug fix version is giving me this problem.
     
  12. WheresWaldo

    WheresWaldo Volunteer ( ͠° ͟ʖ ͡°)
    Staff Member

    Joined:
    Feb 18, 2015
    Messages:
    5,905
    Likes Received:
    3,593
    Try changing either line 570, the 10*60 parameter
    Code:
    #define HOMING_FEEDRATE {50*60, 50*60, 10*60, 0}
    or line 576 and increase the acceleration of Z
    Code:
    #define DEFAULT_MAX_ACCELERATION      {9000,9000,100,10000}
     
  13. stahlee

    stahlee New Member

    Joined:
    Aug 8, 2015
    Messages:
    22
    Likes Received:
    7
    If you updated to RC3 for mesh bed leveling, then you should have auto bed leveling disabled.
     
  14. cdsl810

    cdsl810 Member

    Joined:
    Feb 5, 2016
    Messages:
    46
    Likes Received:
    14
    I upgraded to get the Full Graphic LCD working properly with all the tweaks. The auto leveling has not been a problem for me as a feature. WheresWaldo has pointed me to the correct lines to fix the issue I am having with speed. The "bug fix" version has a few generic values that I missed when changing to ROBO specific values. This is not the RC3 version posted in this thread but rather the latest Marlin RC code.
     
  15. stahlee

    stahlee New Member

    Joined:
    Aug 8, 2015
    Messages:
    22
    Likes Received:
    7
    The mesh leveling process is far more simple that it seems. Although, it's far easier with the LCD.

    1. Use the LCD to select bed leveling under Prepare. If you don't have an LCD, use the G29 S1 command to initiate the bed leveling. It will home and then move to the first point. If you've leveled the bed using paper prior to MBL, then the print head should be on the bed.
    2. Use paper to adjust the distance. On the LCD, it will show a 4 and you can simply adjust the knob. The default adjustments are .025mm per detent. Without LCD you'll need to use the terminal for whichever program you're using to control the printer. You can adjust this in Configuration.h if you want finer resolution, mine is now .010. #define MBL_Z_STEP 0.010
    3. With the LCD, when you finish adjusting the first point, simply push the knob and it will move to the next point. Without LCD, the G29 S2 command will store the point and move to the next.
    4. Follow these same procedures for each point.
    5. After the last point, it will home again.
    6. The is an option on the LCD to store settings under the Prepare menu. Otherwise, use a G500 command. This will save you new points into the EEPROM. Make sure to do this!
    7. You will need to remove the G29 and M565 Z offset commands from you gcode.
    That's it for the bed leveling, it is quite simple.

    I haven't tested this yet, but you should be able to fine tune using the M851 which is Z offset for the Marlin software. Do not use M565, it will not work. It will adjust the hotend down toward the bed using a negative number and upwards with positive. This is opposite of what you've used with M565 in the Robo firmware. So you adjust from a standout of 0.00. If you need the hotend closer to the bed, use M851 Z-0.01. This will move the hotend 0.01mm closer to the bed for printing.

    Now you Robo should print very well on a bed that is not flat. This has fixed my issues. I've have not changed the number of leveling points from 9 (3x3). If you do want to do this, change these:

    #define MESH_NUM_X_POINTS 3
    #define MESH_NUM_Y_POINTS 3

    You can change the number of points in both X and Y. The software says not to go above 7x7 which is 49 points.

    Documentation:
    https://github.com/MarlinFirmware/Marlin/wiki/Mesh-Bed-Leveling

    Hope this helps.
     
    epatel and WheresWaldo like this.
  16. stahlee

    stahlee New Member

    Joined:
    Aug 8, 2015
    Messages:
    22
    Likes Received:
    7
    Ah, cool.
     
  17. WheresWaldo

    WheresWaldo Volunteer ( ͠° ͟ʖ ͡°)
    Staff Member

    Joined:
    Feb 18, 2015
    Messages:
    5,905
    Likes Received:
    3,593
    Thank you very much @stahlee I was at a loss for how to do it and forgot to look on the Wiki.

    To everyone else, I was doing a bit more testing on the bed parameters and the next RC or Final whichever is next, that I post to this thread will have the following changes:

    #define X_MAX_POS will change from 240 to 220 (measured)
    #define Y_MAX_POS will change from 254 to 236 (measured)
    #define Z_MAX_POS will change from 240 to 230 (measured with stock parts fan)

    #define BACK_PROBE_BED_POSITION will change to 220

    #define ABL_PROBE_PT_3_X will change to 110
    #define ABL_PROBE_PT_3_Y will change to 230

    These numbers better match the actual size of the build area of the Robo3D R1(Beta)/R1/R1+PLUS, I will also sanity check the parameters for bed leveling speed so we can level faster without smashing into the bed.
     
  18. stahlee

    stahlee New Member

    Joined:
    Aug 8, 2015
    Messages:
    22
    Likes Received:
    7
    Good point @WheresWaldo, I changed these after my first MBL. Found out real quick. :)
     
  19. WheresWaldo

    WheresWaldo Volunteer ( ͠° ͟ʖ ͡°)
    Staff Member

    Joined:
    Feb 18, 2015
    Messages:
    5,905
    Likes Received:
    3,593
    Yeah, I think I remember getting those numbers from the original MC defaults and I think they had more to do with marketing than with reality. You can't advertise a 10" square build area when it is only 8.7 x 9.3 x 9.1.

    I would think that Mesh leveling with 16 points or more could take care of a warped bed better and faster than G29.

    As far as M565 is concerned, this version of Marlin does not support M565 and ignores it. That was supposed to be the way it always worked. I don't know why it works on the Robo version. Moving forward Z_Offset is set with M851, and is positive if moving up from the bed.
     
    #199 WheresWaldo, Feb 28, 2016
    Last edited: Feb 28, 2016
  20. cdsl810

    cdsl810 Member

    Joined:
    Feb 5, 2016
    Messages:
    46
    Likes Received:
    14
    It turns out the the BUGFIX version has the Z feedrate set at 4*60

    I set it to 10*60 and everything is back to normal functionality.

    I am considering just using mesh leveling and setting it once, and then every so often after that. Auto leveling seems like a cool idea, and it works well on my R1+, but after a while it becomes a pain to wait for. I have everything else dialed-in so well that I prefer the "set it and forget it" method instead. Auto is great for the out-of-the-box usablility, but I think ultimately mesh leveling is more accurate and practical for the intermediate to advanced ROBO owner.

    Thanks again @WheresWaldo
     
Thread Status:
Not open for further replies.

Share This Page