Marlin 1.1.8

Discussion in 'Guides, Mods, and Upgrades' started by Paul Seccombe, Jan 1, 2018.

  1. moshen

    moshen Well-Known Member

    Joined:
    Dec 20, 2015
    Messages:
    100
    Likes Received:
    13
    Yep, been using Linear Advance for a year even on direct drive. Very awesome feature.
     
  2. MyMakibox

    MyMakibox Well-Known Member

    Joined:
    Mar 19, 2014
    Messages:
    58
    Likes Received:
    18
    I'm a bit rusty on GIT, but because of the occasional wild readings from the PT100, would like a bit more sanity checking before triggering MAXTEMP.

    I've based the high temperature code on the existing low temperature code, and both are shown below.


    Code:
    in configuration_adv.h
    
    // The number of consecutive high temperature errors that can occur
    // before a max_temp_error is triggered.
    //#define MAX_CONSECUTIVE_HIGH_TEMPERATURE_ERROR_ALLOWED 0
    
    // The number of consecutive low temperature errors that can occur
    // before a min_temp_error is triggered. (Shouldn't be more than 10.)
    //#define MAX_CONSECUTIVE_LOW_TEMPERATURE_ERROR_ALLOWED 0
    
    
    in temperature.cpp
    #ifdef MAX_CONSECUTIVE_HIGH_TEMPERATURE_ERROR_ALLOWED
      uint8_t Temperature::consecutive_high_temperature_error[HOTENDS] = { 0 };
    #endif
    #ifdef MAX_CONSECUTIVE_LOW_TEMPERATURE_ERROR_ALLOWED
      uint8_t Temperature::consecutive_low_temperature_error[HOTENDS] = { 0 };
    #endif
    
    
          if (rawtemp > maxttemp_raw[e] * tdir && heater_on) {
            #ifdef MAX_CONSECUTIVE_HIGH_TEMPERATURE_ERROR_ALLOWED
            max_temp_error(e);
              if (++consecutive_high_temperature_error[e] >= MAX_CONSECUTIVE_HIGH_TEMPERATURE_ERROR_ALLOWED)
            #endif
              max_temp_error(e);
          }
          if (rawtemp < minttemp_raw[e] * tdir && !is_preheating(e) && heater_on) {
            #ifdef MAX_CONSECUTIVE_LOW_TEMPERATURE_ERROR_ALLOWED
              if (++consecutive_low_temperature_error[e] >= MAX_CONSECUTIVE_LOW_TEMPERATURE_ERROR_ALLOWED)
            #endif
                min_temp_error(e);
          }
          #ifdef MAX_CONSECUTIVE_HIGH_TEMPERATURE_ERROR_ALLOWED
            else
              consecutive_high_temperature_error[e] = 0;
          #endif
          #ifdef MAX_CONSECUTIVE_LOW_TEMPERATURE_ERROR_ALLOWED
            else
              consecutive_low_temperature_error[e] = 0;
          #endif
     
  3. MyMakibox

    MyMakibox Well-Known Member

    Joined:
    Mar 19, 2014
    Messages:
    58
    Likes Received:
    18
  4. MyMakibox

    MyMakibox Well-Known Member

    Joined:
    Mar 19, 2014
    Messages:
    58
    Likes Received:
    18
    I'm stuck with the TMC2130 install.

    To build Marlin with 2130 support requires the TMC2130Stepper Arduino library (https://github.com/teemuatlut/TMC2130Stepper).

    I've tried unpacking it with other libraries:

    Code:
    pi@octopi:~/oprint/lib/python2.7/site-packages/octoprint_bigboxfirmware/lib/arduino-1.6.8/libraries $ ls -l
    total 12
    drwxr-xr-x 3 pi pi 4096 Dec  5 10:18 LiquidCrystal
    drwxr-xr-x 6 pi pi 4096 Apr  4 10:36 TMC2130Stepper
    drwxr-xr-x 4 pi pi 4096 Feb 15 05:21 U8glib
    But Marlin will not compile from the BigBox Firmware plugin to Octoprint. It's unable to find the TMC2130 header file.

    Any suggestions?
     
    #24 MyMakibox, Apr 4, 2018
    Last edited: Apr 5, 2018
  5. moshen

    moshen Well-Known Member

    Joined:
    Dec 20, 2015
    Messages:
    100
    Likes Received:
    13
    What will you get with the 2130 over the 2100? I'm not sure it's worth using the 2130 when the 2100 is very simple to setup and get going.
     
  6. MyMakibox

    MyMakibox Well-Known Member

    Joined:
    Mar 19, 2014
    Messages:
    58
    Likes Received:
    18
    Tohara was kind enough to get me to a solution, and the TMC2130s are now working well.

    I'm doing a writeup which includes the benefits of the 2130s in this thread

    The guides I followed for the 2100s showed how to set them up, hardwired as spreadcycle or stealthchop. The main benefit was the smooth and quiet operation. The only other tuning was turning the potentiometer to change motor current.

    The 2130s are setup as software controlled components. This means in recent Marlin releases, the current is adjustable using M-codes and can even be auto-tuned. The mode can switch between spreadcycle and stealthchop in software - mine is currently done automatically based on print speed. The stall detection currently allows sensorless-homing (I've removed the end-stops on X and Y), bed-leveling (Z-axis) and in future Marlin releases should enable features like recovery from missed steps mid-print, automatic detection of exact maximum print area, identification of some extrusion problems etc.
     
    moshen likes this.
  7. Matt9150

    Matt9150 Member

    Joined:
    Jun 19, 2017
    Messages:
    4
    Likes Received:
    0
    Ive just uploaded Marlin 1.1.8 on my Direct Pro, and i am having1 or 2 issues. It seems that all the stepper motors are running backwards on all axis
    Any ideas!

    Thanks in advance
     
    #27 Matt9150, May 3, 2018
    Last edited: May 3, 2018
  8. MyMakibox

    MyMakibox Well-Known Member

    Joined:
    Mar 19, 2014
    Messages:
    58
    Likes Received:
    18
    You invert the stepper motor direction by either:

    Rotating the stepper motor witing connector 180 degrees
    Changing the relevant Marlin settings INVERT_X_DIR, INVERT_Y_DIR and INVERT_Z_DIR to true if they were false, false if they were true.
     
  9. Valerie

    Valerie New Member

    Joined:
    Oct 29, 2016
    Messages:
    1
    Likes Received:
    0
    Just thought I would stop by, as I recently wanted to update to 1.1.8 for my bigbox as well.

    Based on another post, https://forum.e3d-online.com/threads/marlin-1-1-8-stock-dual-direct.3023/

    I forked the initial github repo, and modified it mostly for myself. I added a bunch of quality of life changes that I like (babystepping, fixed the dial, homed y first, etc). I disabled the second extruder, since I'm not using it and it's disconnected. That should be a simple change in configuration.h to change 1 to 2, and then adjust the temp sensors accordingly (second is also disabled).

    I've been getting pretty solid prints out of it now all weekend, and thought I would share. Branch is 1.1.x.

    https://github.com/vwarner1411/Marlin
     
  10. gonzalo

    gonzalo Well-Known Member

    Joined:
    Mar 17, 2016
    Messages:
    230
    Likes Received:
    133
    Hello,
    did it work?
    I am curious about the results.
    Thank you.
     
  11. Kanedias

    Kanedias Well-Known Member

    Joined:
    Sep 12, 2015
    Messages:
    408
    Likes Received:
    124
    I tried this build and prints started layer shifting on the Y axis. Same same gcode would shift at different layers but always only in Y. I went through the configs and tried a few changes that might affect it, baby stepping, Z Fade but nothing seemed to resolve it. I tried the latest bugfix build but it introduced Homing Failed errors during bed leveling. The fix for that is to enable Endstop noise filtering which then disables the BLTouch!

    Reverting back to the original firmware fixed the Y shifting immediately so its not a mechanical issue I think.

    Did you edit any settings outside of Configuration.h and Configuration_Adv.h?
    I'm using stock steppers, driver and board, re you using something else?

    For example I can see from
    #define DEFAULT_AXIS_STEPS_PER_UNIT {160,180,400,417.5}
    you're using different Z Stepping.
     
    #31 Kanedias, Sep 2, 2018
    Last edited: Sep 2, 2018
  12. MyMakibox

    MyMakibox Well-Known Member

    Joined:
    Mar 19, 2014
    Messages:
    58
    Likes Received:
    18
    1.19 has just been released... and has some great features.



    Marlin 1.1.9 is the final 8-bit flat version of this firmware, and the last 1.1.x release. A monumental amount of talent and effort has gone into its production. Throughout Marlin 1.1 development we worked closely with the community, contributors, vendors, host developers, library developers, etc. to improve the quality, configurability, and compatibility of Marlin Firmware, while supporting a wide variety of Arduino-based boards.

    For this development cycle we aimed to address bugs and overhaul the motion planner. The end result is a much smarter and more robust motion system, and this should be noticeable as improved print results and reduced print job times.

    Change Log
    New Features
    • Specify stepper drivers per-axis. Marlin determines pulse timing.
    • Updated to Linear Advance 1.5 (with new K value range)
    • Added POWER_LOSS_RECOVERY for SD printing (based on work by Creality3D)
    • Added POWER_LOSS_PIN to detect power loss early and save state
    • Added Z_CLEARANCE_MULTI_PROBE to set probe "bump" distance
    • Added DELTA_FEEDRATE_SCALING to dynamically scale the feedrate for correct delta motion
    • Added a Lightweight Status Screen LIGHTWEIGHT_UI for ST7920 (most graphical displays!)
    • Added homing / leveling / probing options
    • Added M701 / M702 filament load / unload
    • Added SLIM_LCD_MENUS for reduced build size
    • Added AUTO_POWER_CONTROL to turn power on/off as needed
    • Added M421 N parameter to set a mesh point to NAN
    • Added support for Malyan LCD
    Fixed and Optimized
    • PlatformIO Auto Build for Atom and VSCode. Builds based on MOTHERBOARD setting.
    • Improved stepper timing, smoothness, etc. Try these new features:
      • ADAPTIVE_STEP_SMOOTHING : Smoother multi-axis motion at lower speeds
      • JUNCTION_DEVIATION : An alternative to classic jerk limiting
      • S_CURVE_ACCELERATION : S-shaped acceleration curves to reduce ringing
      • DELTA_FEEDRATE_SCALING : Correct the feedrate so it applies to Cartesian mm/s
    • Improved performance, stability, reliability, and error handling
    • Improved LCD display, status message, and controller response
    • Improved multi-extruder filament change
    • Added Creality and other example configurations
    • Many improvements for Trinamic stepper drivers, sensorless homing
    • Various improvements for UBL and G26
    • Various improvements for Auto Bed Leveling
    • Updated languages: Chinese, Czech, French, German, Italian, Portuguese, Slovak, Spanish
    • Improved M43 pins debugging
    • Improved PlatformIO build support
    • Improved G33 delta calibration
    • Improved Max7219 LED matrix support, daisy-chaining
    • Improved handling of probe/endstop errors
    • Improved temperature reading and thermocouples support
    • Better handling of serial communication
    • More complete M503 report with ABL mesh
    • Various improvements for SWITCHING_EXTRUDER and MK2_MULTIPLEXER
    • Various improvements to pin assignments
    • Improved custom boot and status screens, add 3-frame fan animation
    Miscellaneous Changes
    • Update Advanced Pause / Filament Change settings
    • Report an error on unsupported commands
    • Set laser/spindle power to minimum on disable
    • Allow LCD_SET_PROGRESS_MANUALLY without SDSUPPORT
    • MIN_PROBE_EDGE replaces DELTA_PROBEABLE_RADIUS
    For Developers
    • Linux / Darwin-compatible build scripts for running tests locally
    • Improved GitHub helper scripts.
     
    gonzalo likes this.
  13. gonzalo

    gonzalo Well-Known Member

    Joined:
    Mar 17, 2016
    Messages:
    230
    Likes Received:
    133
    I wish I knew enugh to port my B.B. to 1.19...:(
     
    cez likes this.

Share This Page