LIN_ADVANCE = better extrusion control

Discussions about ideaMaker and other printing software.
User avatar
JohnSays
Posts: 620
Joined: Tue Apr 26, 2016 2:42 pm
Location: Saint Petersburg, FL

Re: LIN_ADVANCE = better extrusion control

Postby JohnSays » Wed Jun 27, 2018 2:09 am

I have been trying to get rid of some small zits on the surface on my prints. I was hoping Lin_Advance would do that. I ran the K-Factor Calibration Pattern and with the ABS, nozzle, layer height and extrusion multiplier I use, but I still have them there. I put M900 K20 in the startup script of S3D. I also made sure I didn't have "Coast" in use. Any ideas? These little pesky zits are the only abnormality on the print and getting rid of them would make a perfect 3D print.

IMG_8705.JPG


Before I installed ABH's 1.1.8 firmware, I tried various settings for Coast and Extra Restart Distance in S3D, but still could not get rid of them.
- John
2 Raise3D N2 Duals, V2 nozzles, Bondtech BMGs, adjustable table, Panucatt SD2224 drivers, run-out sensor, thermal overload protection resistors on motion controller board, Firmware 1.1.8ABH - with Lin_Advance, Palette+

socke
Posts: 239
Joined: Mon Mar 21, 2016 2:55 pm

Re: LIN_ADVANCE = better extrusion control

Postby socke » Wed Jun 27, 2018 5:28 am

Is your Outline Direction set to 'Inside-Out' or 'Outside-In'? Generally, I'm getting cleaner results with 'Inside-Out'.
Attachments
outline.PNG

User avatar
JohnSays
Posts: 620
Joined: Tue Apr 26, 2016 2:42 pm
Location: Saint Petersburg, FL

Re: LIN_ADVANCE = better extrusion control

Postby JohnSays » Wed Jun 27, 2018 8:22 pm

Yes, that is set on mine too. Thanks socke
- John
2 Raise3D N2 Duals, V2 nozzles, Bondtech BMGs, adjustable table, Panucatt SD2224 drivers, run-out sensor, thermal overload protection resistors on motion controller board, Firmware 1.1.8ABH - with Lin_Advance, Palette+

ABH
Posts: 182
Joined: Sun Aug 14, 2016 7:31 pm

Re: LIN_ADVANCE = better extrusion control

Postby ABH » Wed Jun 27, 2018 8:39 pm

Don't know if it helps with your "zits", but M900 K20 seems low to me. For ABS I have been using K80.

User avatar
JohnSays
Posts: 620
Joined: Tue Apr 26, 2016 2:42 pm
Location: Saint Petersburg, FL

Re: LIN_ADVANCE = better extrusion control

Postby JohnSays » Wed Jun 27, 2018 9:33 pm

ABH wrote:Don't know if it helps with your "zits", but M900 K20 seems low to me. For ABS I have been using K80.


Yeah, I noticed that. When I run the gcode for the K-Factor Calibration Pattern, anything below 20 or above 25 is a bit of a mess on my end. The bottom rung is the "0" and each rung up is +5. I spot 20 as the best there. I ended the print at 60 as I was rerunning the print and I had already seen that the higher numbers had gotten a lot worse fast.

Did your calibration look anything like mine? Also, could you tell me what settings you are using for ABS? Maybe I'm just way off on something.

IMG_8706.JPG


01.jpg

02.jpg

03.jpg
- John
2 Raise3D N2 Duals, V2 nozzles, Bondtech BMGs, adjustable table, Panucatt SD2224 drivers, run-out sensor, thermal overload protection resistors on motion controller board, Firmware 1.1.8ABH - with Lin_Advance, Palette+

ABH
Posts: 182
Joined: Sun Aug 14, 2016 7:31 pm

Re: LIN_ADVANCE = better extrusion control

Postby ABH » Tue Jul 03, 2018 6:16 pm

The calibration settings should correspond to the settings used for normal printing.
I am usually printing ABS at 235 C, 0.1 mm layer height, extrusion width = nozzle diam. = 0.4 mm.
I noticed you use 0.3 mm layer height, nozzle = 0.6 mm and extrusion width = 0.6 x 1.2 = 0.72 mm, so this is quite different to my normal printer settings and might be the reason for the difference.
Different brands of ABS might also require different settings, I guess. There is a reason to calibrate :-)
I agree that for your printer settings about K=20 seems to be best.

User avatar
JohnSays
Posts: 620
Joined: Tue Apr 26, 2016 2:42 pm
Location: Saint Petersburg, FL

Re: LIN_ADVANCE = better extrusion control

Postby JohnSays » Tue Jul 03, 2018 7:49 pm

Thanks for looking at this and getting back to me ABH.
- John
2 Raise3D N2 Duals, V2 nozzles, Bondtech BMGs, adjustable table, Panucatt SD2224 drivers, run-out sensor, thermal overload protection resistors on motion controller board, Firmware 1.1.8ABH - with Lin_Advance, Palette+

sylus
Posts: 107
Joined: Fri Aug 05, 2016 9:47 pm

Re: LIN_ADVANCE = better extrusion control

Postby sylus » Wed Aug 08, 2018 10:12 am

@ABH ,last Marlin 1.1x is out.Did you plan to update your firmware?Have you experienced printer stop in mid print recently with 1.1.8 and last Raisetouch firmware?

ABH
Posts: 182
Joined: Sun Aug 14, 2016 7:31 pm

Re: LIN_ADVANCE = better extrusion control

Postby ABH » Sat Aug 11, 2018 7:45 pm

I have updated my Raise3D motion controller firmware to the latest Marlin release.

The repository on GitHub is here:
https://github.com/ABH10/Marlin-for-Rai ... .x_Raise3D

The following pre-compiled files are available:

https://raw.githubusercontent.com/ABH10/Marlin-for-Raise3D-N-series/1.1.x_Raise3D/N1-single-1.1.9.firm
https://raw.githubusercontent.com/ABH10/Marlin-for-Raise3D-N-series/1.1.x_Raise3D/N1-dual-1.1.9.firm

https://raw.githubusercontent.com/ABH10/Marlin-for-Raise3D-N-series/1.1.x_Raise3D/N2-single-1.1.9.firm
https://raw.githubusercontent.com/ABH10/Marlin-for-Raise3D-N-series/1.1.x_Raise3D/N2-dual-1.1.9.firm

https://raw.githubusercontent.com/ABH10/Marlin-for-Raise3D-N-series/1.1.x_Raise3D/N2PLUS-single-1.1.9.firm
https://raw.githubusercontent.com/ABH10/Marlin-for-Raise3D-N-series/1.1.x_Raise3D/N2PLUS-dual-1.1.9.firm

The following new release 1.1.9 features are enabled:
LIN_ADVANCE 1.5
JUNCTION_DEVIATION
ADAPTIVE_STEP_SMOOTHING
BEZIER_CURVE_SUPPORT

The following feature is removed in the precompiled files:
REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
Edit 13-Aug-2018: Now re-enabled in all compiled binaries.

Edit 2-Sep-2018: WATCH_TEMP_PERIOD increased to 60 seconds and EEPROM enabled.

The firmware supports the Raise3D "Filament Run-out Sensor".

LIN_ADVANCE 1.5 requires different K values than earlier LIN_ADVANCE versions.
Typical value is K = 0.2, default value is K = 0 (no LIN_ADVANCE).
Set by M900 code.

JUNCTION_DEVIATION replaces the use of traditional jerk settings.
A fixed "junction deviation" of 0.02 mm is used.

I don't have much experience with the new features, just tested that the firmware runs on my N1 and gives nice prints.
Last edited by ABH on Sun Sep 02, 2018 2:08 pm, edited 5 times in total.

User avatar
jmp
Posts: 213
Joined: Mon Mar 21, 2016 12:20 pm

Re: LIN_ADVANCE = better extrusion control

Postby jmp » Mon Aug 13, 2018 12:22 pm

ABH wrote:The following feature is removed in the precompiled files:
REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER

Thanks for your work on updating this. Just curious what your motivation was for dropping this since one can be used in a pinch if the Raise touchscreen fails.
RL Name: Jason Preuss Thingiverse: JMP Youtube:http://youtube.com/c/patterntoprint Website: http://www.patterntoprint.com

Jetguy
Posts: 2700
Joined: Tue Mar 22, 2016 1:40 am
Location: In a van, down by the river

Re: LIN_ADVANCE = better extrusion control

Postby Jetguy » Mon Aug 13, 2018 12:51 pm

jmp wrote:
ABH wrote:The following feature is removed in the precompiled files:
REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER

Thanks for your work on updating this. Just curious what your motivation was for dropping this since one can be used in a pinch if the Raise touchscreen fails.


Also, when doing high segment count curves and high res STL and resulting gcode, this is about the only way to bypass the stuttering of jamming gcode across a USB to serial interface by printing from SD card directly. More or less "the test", it prints only from SD card without stuttering, printing from the front panel over USB stutters like crazy viewtopic.php?f=8&t=6776&hilit=stuttering#p27238

As to why?
I'm just guessing, but maybe flash space was a concern?

ABH
Posts: 182
Joined: Sun Aug 14, 2016 7:31 pm

Re: LIN_ADVANCE = better extrusion control

Postby ABH » Mon Aug 13, 2018 3:16 pm

It was removed as part of a debugging exercise. As I never use any other controllers than the RaiseTouch myself, I just happened to leave it disabled. Another reason was to avoid this unnecessary load of the MCU (I have no evidence that it makes any difference though).
I just tested that the REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER macro in the Configuration.h file can be set without any issues. There is no Flash size issue.
I could update the executables, if you think it matters to people, otherwise I will just leave it up to individuals to recompile themselves.

Jetguy
Posts: 2700
Joined: Tue Mar 22, 2016 1:40 am
Location: In a van, down by the river

Re: LIN_ADVANCE = better extrusion control

Postby Jetguy » Mon Aug 13, 2018 3:42 pm

Being honest, I wish you would leave it enabled.
My testing and understanding is that the code doesn't run the LCD subroutines if no LCD is attached at boot.
So other than flash size, no reason not to enable it (again, my opinion).

Now granted, I will fully give you credit because more than once, I've seen where at compiling in the Arduino IDE, there have been errors and mistakes all depending on version of what Arduino version you used and if you had the correct libraries installed. So yes, even myself, I've disabled the LCD option in config.h in order to bypass some error messages that prevented compiling in a given IDE version. Key is, that's a user downloading the source code, taking whatever Arduino IDE they have installed on the computer and trying to compile from source. That's all just part of welcome to code, versions, and libraries, and why everyone is not yet ready to play in source code. So maybe, leave it off in source code as shared on Github, but enable in binaries you are providing?

That said, since you are providing the binaries and you know when it compiles- a total non-issue to leave it enabled.
Going further, I kind of wish the collective group would get on board and everyone gets a graphic LCD module, if for no other reason that troubleshooting. When you get the famous serial error on the Raise3D LCD, simply having and plugging in a graphic LCD into the mainboard could greatly help diagnosis of common errors and problems. That way, you know what the mainboard is doing and saying- rather than this guessing game we play far too often. BTW, all Raise3D official firmware versions (for N series only) has LCD enabled.

ABH
Posts: 182
Joined: Sun Aug 14, 2016 7:31 pm

Re: LIN_ADVANCE = better extrusion control

Postby ABH » Mon Aug 13, 2018 7:06 pm

OK, no big deal.
I have recompiled all 6 binaries with REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER enabled.

Alex M.
Posts: 176
Joined: Tue Apr 10, 2018 4:59 pm

Re: LIN_ADVANCE = better extrusion control

Postby Alex M. » Sat Aug 18, 2018 7:08 pm

I have been trying to get rid of the defects shown in the 1st post for a while so this looks like exactly what we need.

We have have a N2 Plus Single with a Bondtech and TMC2224 drivers so I downloaded the 1.1.9 version of N2 Plus Single pre-compiled firmware. Loaded the firmware, restarted the machine (just in case), then loaded the test gcode I generated using the lin_advance 1.5 option on the marlin website. The printer barely printed the purge line, print the K=0 line very well and then basically didn’t print anything else well including the numbers for each line.

Due to the issues I decided to download the 1.1.8 version of N2 Plus Single pre-compiled firmware. Loaded the firmware, restarted the machine (just in case), then loaded the test gcode I generated using the lin_advance 1.0 option on the marlin website. This time the printer printed the test pattern well and showed that K=10 was the sweet spot. Therefore I added the M900 K10 command to the start script and tried a test cube. The printer barely did the purge, then when printing was highly under extruding to the point that I was left with a cotton candy looking web of material.

Obviously I am doing something wrong but can’t figure out what it can be. I checked the extruder steps and it is still showing 415 in the touch screen so I’m not sure what else to check. Sorry I’m advance for not linking / showing my exact settings but I’m on my mobile now and don’t have access. The settings were basically the same (other than temps for PLA instead of ABS) as those posted by JohnSays since I was also using a 0.6mm nozzle.

Any ideas? When I reverted back to the latest factory firmware, the printer was back to normal.

ABH
Posts: 182
Joined: Sun Aug 14, 2016 7:31 pm

Re: LIN_ADVANCE = better extrusion control

Postby ABH » Sun Aug 19, 2018 6:49 am

When I generate the "K-factor Calibration Pattern" G-code, I like to manually add the starting script from ideaMaker. I use this starting script also in Simplify3D. As you know, this script purges in free air before starting the print and primes the extruder very well. You can use any text editor to add the starting script to the calibration G-code, for example Notepad.

In Linear Advance 1.5, the default Calibration Pattern will step K from 0 to 2 in 0.2 increments. As the typical K value is 0.2, this is a bad choice. For a 0.4 mm nozzle I step K from 0 to 0.4 in 0.05 increments. This is a print with ASA at 255 °C using 0.4 mm nozzle:
ASA_255deg.jpg

Considering that a 0.6 mm nozzle seems to require lower K values than a 0.4 mm nozzle, I suggest you to print the calibration pattern with K from 0 to 0.2 in 0.02 steps.

If you suspect that the E-step value you have set in the RaiseTouch computer (415 for Bondtech) isn't used by the motion controller, then you can check what happens when you purge in the Utility screen. It is easy to purge 10 or 20 mm of filament and verify that this length of filament is actually "eaten" at the Bondtech inlet. Just add a small mark on the filament somewhere near the Bondtech intake and follow the mark when purging.

Alex M.
Posts: 176
Joined: Tue Apr 10, 2018 4:59 pm

Re: LIN_ADVANCE = better extrusion control

Postby Alex M. » Sun Aug 19, 2018 7:25 am

Great info, Thx! I suspected that I might have to edit the pattern gcode somehow but wasn’t exactly sure. Also, didn’t realize that the K value would be so small either. That’s great info to know.

I had done the extruder calibration with a 100mm extruded length on the stock firmware and 415 value was perfect. However I hadn’t tried it with the custom firmware, based on the comments I thought it would be the same. I’ll double check just to be sure it’s still accurate.

Thanks for the feedback and the custom firmware! I hope to get this working on Monday.

Alex M.
Posts: 176
Joined: Tue Apr 10, 2018 4:59 pm

Re: LIN_ADVANCE = better extrusion control

Postby Alex M. » Thu Aug 23, 2018 1:20 am

OK I think I have found my issue but don't understand why. I checked the extruder calibration and it was dead on at 415 steps. I then started to print a test pattern but cancelled it just as it started to print (that's a different story). Turns out it was good that I cancelled since that's when I noticed my filament mark from calibration was pushed back. When I measured it was 10mm back.

It seems that even though I set the retraction to 1mm in the test pattern it was actually retracting 10mm and this was the reason for my bad prints with version 1.1.9 firmware. I changed my pattern settings to 0.1mm retraction and I got the test pattern to print OK. Is this factor of 10 issue in the firmware? Or in my settings? Below are the original kfactor.gcode settings (which gave 10mm retraction) from the gcode file.

Code: Select all

; Settings Printer:
; Filament Diameter = 1.75 mm
; Nozzle Diameter = 0.6 mm
; Nozzle Temperature = 210 °C
; Bed Temperature = 60 °C
; Retraction Distance = 1 mm
; Layer Height = 0.3 mm
; Z-axis Offset = 0 mm
;
; Settings Print Bed:
; Bed Shape = Rect
; Bed Size X = 305 mm
; Bed Size Y = 305 mm
; Origin Bed Center = false
;
; Settings Speed:
; Slow Printing Speed = 1200 mm/min
; Fast Printing Speed = 4200 mm/min
; Movement Speed = 6000 mm/min
; Retract Speed = 1200 mm/min
; Printing Acceleration = 1000 mm/s^2
; Jerk X-axis =  firmware default
; Jerk Y-axis =  firmware default
; Jerk Z-axis =  firmware default
; Jerk Extruder =  firmware default
;
; Settings Pattern:
; Linear Advance Version = 1.5
; Starting Value Factor = 0
; Ending Value Factor = 1.4
; Factor Stepping = 0.05
; Test Line Spacing = 5 mm
; Test Line Length Slow = 20 mm
; Test Line Length Fast = 40 mm
; Print Pattern = Standard
; Print Frame = true
; Number Lines = true
; Print Size X = 98 mm
; Print Size Y = 164.99999999999997 mm
; Print Rotation = 0 degree
;
; Settings Advance:
; Nozzle / Line Ratio = 1.2
; Use BL = false
; Use FWRETRACT = false
; Extrusion Multiplier = 1
; Prime Nozzle = true
; Prime Extrusion Multiplier = 2.5
; Prime Speed = 1800
; Dwell Time = 2 s

User avatar
JohnSays
Posts: 620
Joined: Tue Apr 26, 2016 2:42 pm
Location: Saint Petersburg, FL

Re: LIN_ADVANCE = better extrusion control

Postby JohnSays » Fri Aug 24, 2018 2:10 pm

ABH, a quick check on this please. Ever since I installed the last version of your firmware mods for my N2 dual, I had been getting the following error code below. I don't get it at all with the factory firmware. (I run the filament runout sensor version.) Does your latest version fix the problem?

IMG_8735.JPG
- John
2 Raise3D N2 Duals, V2 nozzles, Bondtech BMGs, adjustable table, Panucatt SD2224 drivers, run-out sensor, thermal overload protection resistors on motion controller board, Firmware 1.1.8ABH - with Lin_Advance, Palette+

Alex M.
Posts: 176
Joined: Tue Apr 10, 2018 4:59 pm

Re: LIN_ADVANCE = better extrusion control

Postby Alex M. » Fri Aug 24, 2018 4:37 pm

I installed the N2+ dual rev 1.1.9 last night and didn't have any issues. It also interestingly resolved my 10mm vs 1mm retraction issue as well.


Return to “Software”

Who is online

Users browsing this forum: No registered users and 2 guests