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. WheresWaldo

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

    Joined:
    Feb 18, 2015
    Messages:
    5,905
    Likes Received:
    3,593
    @Oisin, you don't need to change that for my setup, if you are using the switches to test MESH, just use my Configuration.h as is. Don't make any adjustments to offsets as they are not needed. Redownload the appropriate one from RCBugFix (message #646).
     
  2. Oisin

    Oisin Member

    Joined:
    Apr 14, 2015
    Messages:
    384
    Likes Received:
    23
    Understood. I used your version. I'm getting tons and tons of skipping though, as if the printer is overloaded and it's struggling to process things. I've tried it on my powerful rig too and still get the same result. I'll try it with a new USB cable since the one I have is questionable.
     
  3. Oisin

    Oisin Member

    Joined:
    Apr 14, 2015
    Messages:
    384
    Likes Received:
    23
    Wasn't the USB cable anyway! Still getting that skipping. I'll record it later and put it on Youtube. I've got to head out now though.

    The z-axis homes before each print, so I'm going to have to get the IR sensor working as the heated nozzle damages the PRINTinZ plate on contact. The leadscrews do appear to be turning as the x and y axis move though, which is great.
     
  4. anngeelow81

    anngeelow81 Member

    Joined:
    May 20, 2016
    Messages:
    41
    Likes Received:
    9
    I must really. Be doing something wrong. I level it. Save it. Issue an M501. Only have G28 in my start script. Yet my bed still is way off. It becomes a guessing game with a G29 S4 Zxxx command. And when I somewhat find something that lays down some decent lines, half the time it's digging into the bed on one side and not on the other. Like it's not compensating for the mesh levels. Usually the only time I can get a print to survive is by adding a raft just so it has something to stick to. I'm in RC7fix with Marlin .11
     
  5. WheresWaldo

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

    Joined:
    Feb 18, 2015
    Messages:
    5,905
    Likes Received:
    3,593
    @anngeelow81 Put the G29 back in your startup script, or issue it from a terminal. Make sure it shows MESH enabled. I have printed with mine since it's inception and do not have any issues. Also if for some reason either side of the X axis is moved up or down, like when inserting or removing filament the mesh will be off.

    I mention inserting and removing filament since most of the time that is done when there is no power applied to the stepper motors and so they can rotate relatively freely, and since they are not physically tied together, they move independent from one another and that can mess up the MESH.

    Obviously there could be other factors.

    I will say, that with just a bit of care to not move the extruder with the power off, I only perform the MESH leveling sequence once and then not again until I do the next modified firmware. That does happen often, but I have gone about a month without redoing the MESH leveling. Once 1.1.0 is stable I will take a break and I expect a single MESH procedure will last me until I am ready to jump into Unified Bed Leveling (UBL).
     
  6. anngeelow81

    anngeelow81 Member

    Joined:
    May 20, 2016
    Messages:
    41
    Likes Received:
    9
    thank you @WheresWaldo. definitely will add the G29 back, but based off your response, knowing myself, the filament removal so 98% chance the issue.
     
  7. Oisin

    Oisin Member

    Joined:
    Apr 14, 2015
    Messages:
    384
    Likes Received:
    23
    Hi guys! I've had the chance to do a little more testing. Reuploading the firmware with new settings does not wipe the MESH point values, so I'm going to try plugging in the IR sensor again now that I have done the MESH leveling with the Leadscrew endstops.
     
    #687 Oisin, Sep 25, 2016
    Last edited: Sep 25, 2016
  8. WheresWaldo

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

    Joined:
    Feb 18, 2015
    Messages:
    5,905
    Likes Received:
    3,593
    Been discussed many time and in many threads, once EEPROM is enabled everything set in it survives new firmware uploads. that is why forum members usually ask you to do an M502 followed by an M500 so it will read and load in memory the values in firmware then store it in EEPROM.
     
    mark tomlinson likes this.
  9. Oisin

    Oisin Member

    Joined:
    Apr 14, 2015
    Messages:
    384
    Likes Received:
    23
    Well I didn't know that.

    Changing the firmware to re-enable the IR sensor makes everything work. The only different is the z-offset is much lower now since you have to account for the fact the printer things the trigger point is '0'. Your z-offset is whatever the height difference between the nozzle and the sensor is.

    It'll be very troublesome whenever I want to redo mesh leveling but I can't see a way around having to switch the IR sensor for the z-endstops each time just yet. I'll keep thinking.

    EDIT:

    Nevermind about the 'z-offset' part above. Apparently the printer still won't go below the trigger point of the IR sensor. Just going to have another play around with the firmware and see if I can get it to ignore the sensors input after homing like Waldo mentioned before.
     
    #689 Oisin, Sep 25, 2016
    Last edited: Sep 25, 2016
  10. WheresWaldo

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

    Joined:
    Feb 18, 2015
    Messages:
    5,905
    Likes Received:
    3,593
    I am thinking about a fundamental change in where the Z axis homing occurs when you are using MESH leveling. I would like some input on this. My thought is that since Z homing is the only reason for the Z-Endstop switches and since the bed flexes so much in the middle why not home Z somewhere near X10/Y10. It would virtually eliminate all the bed flex for homing and make it more consistent. Then when you perform the MESH routine, since it is by feel rather than using the endstops you should get a much more consistent overlay of the resulting grid.

    I might be thinking about this all wrong, that's why I am asking for some input.

    I will make sure to document the change so it could be undone if need be.
     
    #690 WheresWaldo, Sep 30, 2016
    Last edited: Sep 30, 2016
  11. WheresWaldo

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

    Joined:
    Feb 18, 2015
    Messages:
    5,905
    Likes Received:
    3,593
    Since today is the last day of September and there is still no RC8 I am planning on doing another pre-configured RCBugFix version. All files will be included in the zip files, so just download, extract, compile and upload.
     
  12. danzca6

    danzca6 Well-Known Member

    Joined:
    Jul 27, 2015
    Messages:
    2,161
    Likes Received:
    1,077
    Your logic seems solid on paper. No need to probe in the middle since the map of the bed is stored in MESH and you are just wanting to find out at what point you want to place that overlay. I think you are onto something there.
     
  13. WheresWaldo

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

    Joined:
    Feb 18, 2015
    Messages:
    5,905
    Likes Received:
    3,593
    I am already working on the ABL versions, and boy are there a lot of changes. They completely redid the configuration options for ABL, it is way more complicated than it was before. It might take me a bunch longer to get this done than I thought.
     
  14. WheresWaldo

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

    Joined:
    Feb 18, 2015
    Messages:
    5,905
    Likes Received:
    3,593
    Here are all files necessary to run Marlin 1.1.0-RCBugFix, as of September 30th, on our Robo3D R1 printers. I have separated them out into several compressed archive files. Just download the one you need and extract the appropriate files within the Marlin source subdirectory. You cannot use configuration files from previous Marlin releases or from previous Release Candidates. These archives contain the complete source modified as noted. Some obvious changes from previous RCBugFix versions and RC7 include multiple types of automatic bed leveling; 3POINT uses an arbitrary 3 points on the bed, LINEAR probes several points in a grid pattern, good for beds that only have a tilt in one plane (the original default option), BILINEAR probes several points in a grid pattern, good for large and/or uneven beds. I chose to enable BILINEAR with these configurations. This version and future versions of Marlin must be compiled on Arduino IDE 1.6.8 or newer.

    Basic steps required:
    1. Download one of the attached files appropriate for your hardware
      RCBF_ABL_5-16_9-30 is for Robo R1 with 5/16" threaded rod Z-Axis
      RCBF_ABL_8mm_9-30 is for Robo R1 with 8 mm Z Axis threaded rods
      RCBF_ABL_PLUS_9-30 is for Robo R1+PLUS and R1's upgraded with the Z-Axis lead screw upgrade kit from Robo3D
      RCBF_ABL_R1-TR8_9-30 is for Robo R1's with upgraded Z Axis 3rd party lead screws
    2. Compile and upload to your Arduino 2540 board using the Arduino IDE. Compilation has been tested with Arduino IDE version 1.6.11.
    3. After successful upload, clear EEPROM memory by issuing the following two commands in terminal mode:
      M502
      M500
    4. Re-enter you Z axis offset using M851 as a positive number. M565 support is not supported in this version
    Common to all these files are:
    1. Set up for Hexagon hotend
    2. Full Graphics LCD enabled
    3. EEPROM memory enabled
    4. Automatic Bed Leveling enabled w/9 probe points (3 x 3 grid)
    5. BILINEAR bed leveling enabled as default
    6. SD Card support
    7. Temperature PID tuning menu enabled
    8. Babystepping enabled
    9. Encoder reversed
    10. Encoder beeps
    Please note that I am not one of the Marlin developers. If you have an issue with this release post here first. If it is determined that it is not a configuration issue, then you may be directed to post the issue on Marlin's GITHUB. I cannot guarantee success using beta firmware, I can vouch for error free compiling with these included files. If there are issues with the configuration let me know and we can work on them together.
     

    Attached Files:

  15. WheresWaldo

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

    Joined:
    Feb 18, 2015
    Messages:
    5,905
    Likes Received:
    3,593
    Here are all files necessary to run Marlin 1.1.0-RCBugFix, as of September 30th, on our Robo3D R1 printers. I have separated them out into several compressed archive files. Just download the one you need and extract the appropriate files within the Marlin source subdirectory. You cannot use configuration files from previous Marlin releases or from previous Release Candidates. These archives contain the complete source modified as noted. This version and future versions of Marlin must be compiled on Arduino IDE 1.6.8 or newer.

    Basic steps required:
    1. Download one of the attached files appropriate for your hardware
      RCBF_MESH_5-16_9-30 is for Robo R1 with 5/16" threaded rod Z-Axis
      RCBF_MESH_8mm_9-30 is for Robo R1 with 8 mm Z Axis threaded rods
      RCBF_MESH_PLUS_9-30 is for Robo R1+PLUS and R1's upgraded with the Z-Axis lead screw upgrade kit from Robo3D
      RCBF_MESH_R1-TR8_9-30 is for Robo R1's with upgraded Z Axis 3rd party lead screws
    2. Compile and upload to your Arduino 2540 board using the Arduino IDE. Compilation has been tested with Arduino IDE version 1.6.11.
    3. After successful upload, clear EEPROM memory by issuing the following two commands in terminal mode:
      M502
      M500
    4. Re-perform the MESH leveling routine and save the results.
    5. (Optional) Re-enter you Z axis offset, if needed, using G29 S4 Zn.nn where n.nn is a positive number to move further from the bed and negative to move closer. M565 support is not included in this version. This affects the entire mesh, so you usually do not need Z offset at all.
    Common to all these files are:
    1. Set up for Hexagon hotend
    2. Full Graphics LCD enabled
    3. EEPROM memory enabled
    4. MESH Bed Leveling enabled w/16 probe points (4 x 4 grid)
    5. MESH Bed Leveling menu enabled
    6. SD Card support
    7. Temperature PID tuning menu enabled
    8. Babystepping enabled
    9. Encoder reversed
    10. Encoder beeps
    Please note that I am not one of the Marlin developers. If you have an issue with this release post here first. If it is determined that it is not a configuration issue, then you may be directed to post the issue on Marlin's GITHUB. I cannot guarantee success using beta firmware, I can vouch for error free compiling with these included files.
     

    Attached Files:

  16. Oisin

    Oisin Member

    Joined:
    Apr 14, 2015
    Messages:
    384
    Likes Received:
    23
    Hi guys. Here's a step by step guide on how I got MESH working with Jimbots IR sensor. It wasn't too difficult in the end. Just download the latest build of the firmware for your configuration of machine that WheresWaldo has linked above and follow the steps below.

    1) Level the x-axis. I used this to level it against the bed: http://www.thingiverse.com/thing:280974

    2) Use Dial Indicator to level the bed. Take readings and shim the sides you need to until the bed is as level as possible. I used this bracket to attach it to the printer: http://www.thingiverse.com/thing:571047 but this one might work out better: http://www.thingiverse.com/thing:185643

    3) Change the following in the firmware:
    #define Z_MIN_ENDSTOP_INVERTING false //--ROBO-BH set to true to invert the logic of the endstop.

    #define Y_PROBE_OFFSET_FROM_EXTRUDER 30 //--ROBO-BH Y offset: -front +behind [the nozzle]
    #define Z_PROBE_OFFSET_FROM_EXTRUDER 3 // Z offset: -below +above [the nozzle]

    #define min_software_endstops false // --ROBO-O If true, axis won't move to coordinates less than HOME_POS.

    #define Z_MIN_POS -5 // --ROBO-O Allows the nozzle to go up to 5mm below the IR sensors trigger point.

    4) Send the following command to your printer:
    M502

    Not really sure if this is necessary but it can't hurt. I only did it because I wasn't sure whether there would be any 'cached' data that would screw me up. M502 reverts to default settings (i.e. the firmware you just loaded).

    4) Next perform MESH leveling.

    You can either measure points using paper and your nozzle the same as normal, OR you can take points using your IR sensor.
    It doesn't matter, this will only affect your z-offset. The IR sensor is probably more accurate.

    Send G29 S1 to move the extruder to the first point.

    Lower the carriage the IR sensor triggers or the paper gets hard to move under the nozzle.

    G29 S2 will store the point and travel to the next point. Keep doing this until last point has been probed.

    5) Send M500 when the sequence is complete to save the points.

    6) Now you need to figure out your z-offset.

    Run a test print and send the following commands. Cancel and repeat until your nozzle is the right distance away from the
    bed.

    M851 Z-x.xx (generally the distance above the bed your IR sensor triggers, but mess with it)
    M851 (to check that the offset value was accepted)
    M500

    And that's it! Truth be told, I performed MESH leveling twice out of interest and ended up with different values and a different z-offset both times. This is characteristically inconsistent of the Robo3D but hopefully it'll be okay going forwards. Good luck!
     
  17. danzca6

    danzca6 Well-Known Member

    Joined:
    Jul 27, 2015
    Messages:
    2,161
    Likes Received:
    1,077
    I'll have to try the newer version of ABL because that is what I did but I couldn't get the nozzle to print lower on the initial rc7 release. Maybe they fixed something. I knew it shouldn't be that hard and didn't have the time to keep digging. If it works for mesh it should work for ABL.
     
  18. Oisin

    Oisin Member

    Joined:
    Apr 14, 2015
    Messages:
    384
    Likes Received:
    23
    Yeah I had tons of trouble getting the nozzle to go lower than the trigger point of the sensor. I ended up having to use M851 in the console for the z-offset. It will ignore Simplify3D or setting the offset in the starting code unless it's using M851.
     
  19. ProfessorPinky

    Joined:
    Mar 21, 2016
    Messages:
    69
    Likes Received:
    8
    @WheresWaldo Any ideas why I can't compile? Robo3D's "ROBO3DR1V3_06112015" compiles fine but I can't get any from the 9-30 or 9-18 to compile.

    Arduino: 1.6.9 (Windows 10), Board: "Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)"

    C:\Program Files (x86)\Arduino\arduino-builder -dump-prefs -logger=machine -hardware "C:\Program Files (x86)\Arduino\hardware" -tools "C:\Program Files (x86)\Arduino\tools-builder" -tools "C:\Program Files (x86)\Arduino\hardware\tools\avr" -built-in-libraries "C:\Program Files (x86)\Arduino\libraries" -libraries "C:\Arduino\libraries" -fqbn=arduino:avr:mega:cpu=atmega2560 -ide-version=10609 -build-path "C:\Users\mupp_000\AppData\Local\Temp\build4aad0dfad187bde174ae76d5d5f3a3ae.tmp" -warnings=none -prefs=build.warn_data_percentage=75 -verbose "C:\Arduino\RCBF_MESH_8mm_9-30\Marlin\Marlin.ino"
    C:\Program Files (x86)\Arduino\arduino-builder -compile -logger=machine -hardware "C:\Program Files (x86)\Arduino\hardware" -tools "C:\Program Files (x86)\Arduino\tools-builder" -tools "C:\Program Files (x86)\Arduino\hardware\tools\avr" -built-in-libraries "C:\Program Files (x86)\Arduino\libraries" -libraries "C:\Arduino\libraries" -fqbn=arduino:avr:mega:cpu=atmega2560 -ide-version=10609 -build-path "C:\Users\mupp_000\AppData\Local\Temp\build4aad0dfad187bde174ae76d5d5f3a3ae.tmp" -warnings=none -prefs=build.warn_data_percentage=75 -verbose "C:\Arduino\RCBF_MESH_8mm_9-30\Marlin\Marlin.ino"
    "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -w -x c++ -E -CC -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10609 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\mega" "C:\Users\mupp_000\AppData\Local\Temp\build4aad0dfad187bde174ae76d5d5f3a3ae.tmp\sketch\Marlin.ino.cpp" -o "nul"
    "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -w -x c++ -E -CC -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10609 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\mega" "C:\Users\mupp_000\AppData\Local\Temp\build4aad0dfad187bde174ae76d5d5f3a3ae.tmp\sketch\Marlin.ino.cpp" -o "C:\Users\mupp_000\AppData\Local\Temp\build4aad0dfad187bde174ae76d5d5f3a3ae.tmp\preproc\ctags_target_for_gcc_minus_e.cpp"
    C:\Arduino\RCBF_MESH_8mm_9-30\Marlin\Marlin.ino:51:110: fatal error: U8glib.h: No such file or directory

    #include <U8glib.h> // library for graphics LCD by Oli Kraus (https://github.com/olikraus/U8glib_Arduino)

    ^

    compilation terminated.

    exit status 1
    Error compiling for board Arduino/Genuino Mega or Mega 2560.
     
  20. WheresWaldo

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

    Joined:
    Feb 18, 2015
    Messages:
    5,905
    Likes Received:
    3,593
    @ProfessorPinky Simple, I include default support for the Full Graphics LCD controller and that requires U8glib.h which is code that Google hosts. You need to download the library from https://github.com/olikraus/U8glib_Arduino/releases and include it in your Arduino IDE installation or disable the LCD all together.

    I have tested this with U8glib version 1.19.1 and I know it compiles at least with Arduino IDE 1.6.11.
     
    danzca6 and mark tomlinson like this.
Thread Status:
Not open for further replies.

Share This Page