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. David Hamann

    David Hamann New Member

    Joined:
    Feb 19, 2014
    Messages:
    2
    Likes Received:
    0
    Thats makes god sense.
    Where can i get Some Olde software with mesh?
     
  2. WheresWaldo

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

    Joined:
    Feb 18, 2015
    Messages:
    5,905
    Likes Received:
    3,593
    @David Hamann you can't unless you learn C++ and integrate all the code changes yourself. There is no development being done on Marlin 1.0.0 no matter what Robo numbers it, it'a all Marlin 1.0.0.
     
  3. mark tomlinson

    mark tomlinson ༼ つ ◕_ ◕ ༽つ
    Staff Member

    Joined:
    Feb 21, 2013
    Messages:
    23,912
    Likes Received:
    7,338
  4. WheresWaldo

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

    Joined:
    Feb 18, 2015
    Messages:
    5,905
    Likes Received:
    3,593
    @David Hamann
    Since I have never played with a BETA R1 I can't be of much help, but if you compare Configuration.h from the beta firmware to the RC8 or RCBF I did place the following comment on every single line that I changed from the default; //--BH That should make it much easier to see what needs to be changed by comparing those changes to ones in the old configuration files for Marlin. It won't be easy as there are more options as well as many being split up or renamed, but its doable. That is how I started this whole project. Now I never refer to the old Marlin files at all, since I have done this for multiple verisons of 1.1.0.
     
  5. WheresWaldo

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

    Joined:
    Feb 18, 2015
    Messages:
    5,905
    Likes Received:
    3,593
    It looks like Roxy-3D is merging in Uniform Bed Leveling (UBL) into the current RCBugFix. I am going to start playing with it so I can become familiar with all the configuration changes required to make it work on the R1. There are some really cool features in UBL that might be of interest to us. Because of the sheer volume of configuration options that may delay anything I might release at the beginning of April. We will have to see how it goes.
     
    Rigmarol and mark tomlinson like this.
  6. WheresWaldo

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

    Joined:
    Feb 18, 2015
    Messages:
    5,905
    Likes Received:
    3,593
    Okay, it wasn't as hard as I thought it would be. I have created two sets of files one for the R1 with 8mm rods and the other for the R1+PLUS. If this setup works it will replace all other automatic bed leveling schemes in future uploads. If you are interested in trying it I have attached the two compressed file sets here. As always the caveats listing in my normal semi-monthly file uploads apply and I can't tell you how to make it work. As I come across variations of gcodes that make UBL work I will pass them along, I hope others will too.

    Yes I have flashed this to my R1.

    You MUST do a M502 & M500 pair of commands to initialize the storage. Failure to do this
    will cause all kinds of problems.

    Initializing the and auto-creating the mesh is accomplished by issuing the command pair G28 and G29 P1, I haven't gotten this to work yet I think there is something I missed in the Configuration.h file.In other works the current downloadable files are broken.

    I'm being stupid, I missed a line I am testing this right now. If it works I will re-upload the files shortly.

    UBL currently uses more memory than any other method of leveling and the compiler will complain about it during Compile or Verify operations. I am sure the developers are working to get the code size down.
    Trying to figure out the command syntax for G28 and G29. All the documentation I can find is here: https://github.com/MarlinFirmware/Marlin/tree/devel-ubl

    Since this uses the Z endstop switches, there is a need to offset the bed again. About as clear as mud is the definition of G29 P6 which to me should be the command needed to offset, I just can't figure out how to use it.

    Okay so the way the dev said to adjust Z Offset is to set it accurately in firmware. That would be Configuration.h in this line:
    Code:
    #define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]
    The second way would be to use G29 P6 C1.234, which basically says I want to edit the mesh and not invalidate it but offset it by the amount following the C parameter, Up is positive and Down is negative.

    One last note, the grid used by default is 10 x 10 and it does not measure it in order but rather jumps around starting in the center of the bed and moving further away toward the edges with each probe point. It is not fast but it is only done once. Multiple MESH adjustments can be saved in EEPROM so if you had something that went over the bed you could use multiple of them and each could have its own offset mesh.

    All new file sets will be tested on Arduino IDE 1.8.2 only!
     

    Attached Files:

    #1066 WheresWaldo, Mar 21, 2017
    Last edited: Mar 22, 2017
  7. WheresWaldo

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

    Joined:
    Feb 18, 2015
    Messages:
    5,905
    Likes Received:
    3,593
    So far it's working. The auto MESH creation is interesting to watch as the nozzle flits from one section of the bed to another. I hate using the nozzle and Z Min limit switches this way and this might give me an excuse to finally install the IR probe that @jim3Dbot was kind enough to send me ages ago. It was cool to watch it move ever further away from the center of the bed while probing. But I think for now the ABL method pre-configured will be BILINEAR. Roxy-3D reminded me that this is still Bleeding Edge code and it was easy to cut myself with it, since documentation is so sparse at the moment.
     
    Rigmarol, Robert55 and jim3Dbot like this.
  8. Robert55

    Robert55 Member

    Joined:
    Apr 27, 2015
    Messages:
    94
    Likes Received:
    34
    AUTO MESH???!!! Please tell me more - no more paper???
     
    Patrick Ryan likes this.
  9. WheresWaldo

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

    Joined:
    Feb 18, 2015
    Messages:
    5,905
    Likes Received:
    3,593
    @Robert55 Yes it can auto-create the entire mesh. It is fun to watch, and like MESH it only needs to happen once per build surface.

    @jim3Dbot I am going to have to go back to your thread to see how to implement your sensor, would it be okay to ping you directly if I have any trouble?
     
    Patrick Ryan likes this.
  10. Schlomo

    Schlomo Member

    Joined:
    Dec 14, 2015
    Messages:
    36
    Likes Received:
    12
    I was able to get this working yesterday as well. I was anxiously following your updates, Waldo, but decided to dive into it myself most likely at the same time you were. It was a bit confusing at first but i think the idea is pretty straight forward as far as the Mesh setup and testing.

    My setup consisted of the following commands

    Do these Mxx once after flashing firmware to initialize EEPROM
    M502
    M500
    M501

    Do these to setup a new mesh and store to a slot
    G29 A
    G29 P0
    G29 P1 <- This probes the bed and creates the mesh
    G29 P5 C
    G29 S 1 <- Stores generated mesh to Slot 1
    G29 L 1 <- Not sure if its necessary, but as a sanity thing I did this anyway. Loads mesh in slot 1.

    Now to test and check mesh values I did:
    G29 O W <- This will show the mesh values, and should also show which mesh is active but that field was always blank on my robo.

    I set my Z height in s3d as an offset instead of applying it to the mesh. When I tried applying it to the mesh with G29 P6 Cx.xx the nozzle crashed into the bed before moving to print the next line/layer. Im not sure why this was happening, but if anyone else tries this could you please comment if it also happens to you?

    I can honestly say i've never been able to do multiple parts at once on my robo. This UBL routine fixed it. I can now print on my full bed multiple parts and am having very consistant results so far. Beyond a random problem where my print just quit after 3-4 layers, but thats happened with previous prints which im attributing to Octoprint. I still need to dive into it, but its hard to replicate.

    Waldo - Did you do a G29 P5 C for your mesh? I also share your feelings on getting some form of sensor to do the reading other than the z end stops. I have an inductive sensor coming from China (who knows when i'll get it) i'm going to install and use going forward.
     
  11. jim3Dbot

    jim3Dbot Active Member

    Joined:
    Jun 1, 2015
    Messages:
    246
    Likes Received:
    124
    Of coarse, WW......The only trouble you may experience may be your bed.....however, I think I remember you have no white areas on your bed....if you do, cover them up...one way or another. A while back a began a thread,
    "Understanding the MK2A PCB HeatBed, R1 swaparoo", never finished due to an extended hospital stay...really sucks for a person that enjoyed great health my entire life...oh well.........well I have much more to add to that thread. I will be breathing new life into it soon, been home for 2 weeks now...........ahhhhhh...........Notice the new R1+ uses an all black bed now....that's due to the IR they installed.......Take Care & Good Luck
     
  12. WheresWaldo

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

    Joined:
    Feb 18, 2015
    Messages:
    5,905
    Likes Received:
    3,593
    @jim3Dbot glad to hear you are back, and wish you continued improvement.

    My bed is now just plain aluminum with a sheet of really cheap picture frame glass over the top, so I would assume that the white wasn't really the issue it was the contrast between the white and black parts? Will I have issues with a completely silver bed? Or should I paint it?

    @Schlomo, so that's why you wanted to speak at me yesterday. I was away from my PC the bulk of the day trying to figure out how I want my next PCs water loop to route and waiting on ME:A to arrive at my home (still a gamer, just not very good at it). Until I get the IR probe installed I am going to do G29 P2 B instead of G29 P1 as that will allow me to manually probe the bed.
     
  13. WheresWaldo

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

    Joined:
    Feb 18, 2015
    Messages:
    5,905
    Likes Received:
    3,593
    @Schlomo I forgot to ask, did you get the low memory warning too when compiling?
     
  14. Schlomo

    Schlomo Member

    Joined:
    Dec 14, 2015
    Messages:
    36
    Likes Received:
    12
    Yep
     
  15. jim3Dbot

    jim3Dbot Active Member

    Joined:
    Jun 1, 2015
    Messages:
    246
    Likes Received:
    124
    I have replied to IR installers running round aluminum beds on Deltas with good results.........but, who knows for sure until you test for yourself..........
     
  16. WheresWaldo

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

    Joined:
    Feb 18, 2015
    Messages:
    5,905
    Likes Received:
    3,593
    @Schlomo Apparently I just can't read I needed to add an R parameter to the G29 P2 B R to make it do all 100 points. But Roxy is telling me I am being stupid and I should let the probe do it all Except she says using G29 P6 is the wrong way to do it. We'll see how it goes.
     
  17. Schlomo

    Schlomo Member

    Joined:
    Dec 14, 2015
    Messages:
    36
    Likes Received:
    12
    I see. I had to check the Shoutbox to get context on what you meant by "G29 P6 is the wrong way to do it" but i see what you mean now. Let me know what the proper way to do it is if someone responds to your ticket as i'd be curious to know. Right now im dealing with my printer stopping at ~2mm layer while printing.... Just stops. Octopi says it loses communication. The nozzle and bed stay heated also, which is more concerning.

    Just changed out my USB cable for a higher quality one, and replaced the 5v brick on the Pi to see if that helps..
     
  18. WheresWaldo

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

    Joined:
    Feb 18, 2015
    Messages:
    5,905
    Likes Received:
    3,593
    Okay I got this sequence of steps from Roxy-3D

    First off you need an accurate assessment of the Z Offset. the easiest way to do this is to perform the following steps:
    1. Edit Configuration.h so that Z_OFFSET_FROM_EXTRUDER is -1.0 (around line 580 in our files)
    2. Flash firmware
    3. M502
    4. M500
    5. G1 X10 Y10 Z.25 (the Z number should be anything you want that you have a gauge for, we are here to measure accuracy, if you have a block you know is exactly 1 mm then the command should be G1 X10 Y10 Z1)
    6. Measure from the bed to the nozzle. Does it match the specified Z height?
    7. No perform the following steps, Yes move on to the next section.
    8. M851 Z-1.1 (more negative if it is too close, less negative if it is too far) Go back to step #4 but move X and Y to a new location for example, 2nd time move to X11 Y11 Z1.
    9. Go back to step 6 and repeat steps 6-8 as many times as needed.
    Now that the measurements match, do the following:
    1. M500 to save the offset.
    2. Move move to X0, Y0 or somewhere close. You can do this with a G1 or with a G28 X Y. This step is not really necessary but I actually think it is faster to measure the MESH from here as it always starts probing from the closest point to the nozzle and goes outward in a circular pattern from there.
    3. G29 P1 R O (This initializes the MESH at all zeros and starts the process of measureing)

    4. G29 A (This activates UBL using the currently loaded MESH)
    5. G29 S1 (This saves the MESH into slot number 1 in EEPROM)
    6. G26 P C O3.5 (This will validate the MESH by printing a very big grid on your bed. It takes a long time as it tries to print on the entire bed. You use it to test if your MESH needs any adjustments. By default the layer is 0.20 mm and it will extrude at 205°C. You can adjust those parameters inline .)
    7. If everything looks good when done, print to your hearts content
    We did not go over adjusting a spot or two in the MESH in the event you validation grid shows some anomalies. It can be done with various G29 commands.

    Supposedly after all of this you now have a pretty accurate topology of your bed and will be able to print over every section of it and get consistent results. That along with use of the adjustment fade function means that all you models will also stick straight up from the bed and spread any adjustments over multiple millimeters in height.

    But Bob-the-Kuhn (another Marlin contributor) had similar issues to me and we both agree there is a bug somewhere in the UBL code that prevents the Offset from working correctly.

    We must both be on the same wavelength, My R1 needed repairing too, yesterday. During one attempt to narrow down the issue my left Z axis limit switch just shattered. No idea why, but I had to dig though my box of parts to find a new one and install it.
     
  19. Spidematt

    Spidematt Member

    Joined:
    Nov 24, 2016
    Messages:
    63
    Likes Received:
    14
    trying all this out however cant get anything to show up on my reprap discount xxl lcd using this
     
  20. WheresWaldo

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

    Joined:
    Feb 18, 2015
    Messages:
    5,905
    Likes Received:
    3,593
    The XXL is not enabled by default, only the Full Graphics LCD. Look for the lines in Configuration.h that looks like these:
    Code:
    #define REPRAP_DISCOUNT_SMART_CONTROLLER  //--BH
    
    #define //REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER  //--BH

    and swap around the two '//', like this:
    Code:
    //#define REPRAP_DISCOUNT_SMART_CONTROLLER  //--BH
    
    #define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER  //--BH
     
Thread Status:
Not open for further replies.

Share This Page