-
-
Notifications
You must be signed in to change notification settings - Fork 19.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[FR] Delta support for LIN_ADVANCE #6788
Comments
Maybe linked to this one: #5699 |
Are you using CURA to slice the model? |
@Sebastianv650 maybe you can help? |
No. I am using slic3r-dev (build from yesterday from this commit slic3r/Slic3r@6b68b71 off their build server using windows) was used. Are there any special stuff I need to have correct in marlin for use with a delta? I tried to follow the delta examples. Printing with K = 0 seems ok, but the noisier steppers (as in contrast to repetier). Will upload my configs later. |
Maybe linked to this one: #6703 |
Here are my changes to the default configuration: |
I tested again with the settings above and The extuder does not move into feeding direction anymore. Retracts and redos work. Setting Setting Setting ??? |
You are the first delta user for LIN_ADVANCE I'm aware of, but if the processing power is enough it should work. I would do some step by step tests to track down the issues without influences by multiple options:
In any case I wouldn't bet a too high value that LIN_ADVANCE is running on your printer. The processing power of our ATMega chips is already not that comfortable for LIN_ADVANCE and all the things it has to do. That, and added a kinematic printer (a lot to calulate) with a long half-meter feed tube with a semi-soft nGen filament where your ungeared extruder might not be able to do the needed fast movements may be on the edge.. |
I don't know anything about LIN_ADVANCE, but maybe try M665 S60 (60 segments per second). The regular (non-UBL) delta segments per second with slow feedrates can produce sequences of very very tiny movements. For UBL on delta I added a minimum segment size, default to 0.1mm on delta but #define tunable. |
I was just going to recommend to lower the segments per sec. I'm currently using 160 but when I go to try lin_adv If I saw slowdowns was going to try 100. Also, you might want to try with the LCD disabled to see if that changes anything. It should give you a good amount of extra processor power that you might need. I believe there is also a minimum buffer slow down option that isn't recommended for Delta's but might solve the strange behavior although it will slow it down when it needs to. |
@Sebastianv650 as you see in my config I got nothing extra enabled. What puzzels me is that my last test didn't show any change in print (and no advance) with even high K values. I then tried to use M200 and the movement of the extruder stopped, but for retreat and redo. @oldmcg I got 180 segments per seconds configured (as with repetier). @Maglin I disabled SLOWDOWN as requested in the delta example configurations. I thought the actual LCD code limits the update rate to the LCD im processing power is getting low. @ALL please review my config above. Maybe I missed something. |
Well, I am an "idi**". :) I disabled LIN_ADVANCE in the firmware after it did not work as expected. Retesting right now with your tips above. |
Uploaded a video: As I have written above, stepper sound on axes with marlin is way louder (even with LIN_ADVANCE off) than repetier. What are the possible solutions for that? Maybe it is linked? |
I tried something crazy. Ok, no LIN_ADVANCE right now. I will raise acceleration values and lower jerk to get less bleading at the corners. I guess now there will be more ringing, but also more speeeed. :) Any help on LIN_ADVANCE still appreciated. |
K=500 will make the extruder retract in that way. It's the way the algorithm with works if you did actually have such a high pressure in your nozzle. Turn down K=30 and start from there... A suggestion that helped me greatly with Lin_Advance was to make my printer use less processing power. To do so, turn down you stepper driver microstepping. I had my steppers set to 1/32 microsteps, which was way too much for the little ATMega could to handle. Throwing Lin_Advance into the mixture was really pushing it to the extremes. I lowered my microstepping to 1/16 and all my issues went away with Lin_Advance enabled. Remember to also turn off any coasting settings in your slicer. Hope this info helps you. |
K = 30 will lead to now effect with 50 cm bowden length. Where do I tune the microsteps? My setting: Is this valid for a RAMPSv4 compatible board with A4988 drivers? Coasting is off. Slicer does not have something like that. Maybe I will try again with even lower delta_segments and any speedup which is suggested here. |
The microsteps are defined by jumpers on the ramps board. The A4988's are typically 16 set to 16 microstepping max... Check this page to help you set the jumpers on your ramps 1.4 |
Thank you for that information. |
@ProfDrYoMan I have the same board. It's the one I've been using. I have the Kossel linear. You might want to start out with K=5 and go up from there. I don't know the math behind the lin_advance but I'm willing to bet with such a high K it's like saying there is always a ton of pressure on the nozzle and it's always trying to retract. I'll play with lin_adv this weekend and report back. |
@ProfDrYoMan I thought you have a filament sensor because you mentioned M200 to set a diameter. So you are using volumetric extrusion? What does M200 D0 do then? I'm not familiar with that command. As a general thing, as @Maglin wrote, don't think as K=x is a low number and K=y is a high one. Maybe for some printers 5 is a high number, where other extruders want 300. Up to now, I can't say that for sure. I watched your video in a loop over and over again. Things would be much more easy if we could have some debugging information out of Marlin like graphs of X,Y,Z,E speed over time. I'm missing something like SPS analyzer ;-) To get some "slow motion" to see whats going on with the extruder, you can slow down your acceleration to extremely low values like 100mm/s². One last thing why Marlin 1.1 makes you stepper louder: Marlin has changed the way jerk is calulated from 1.0 to 1.1. If your repetier is using something like the old way of jerk calculation, you should get the same level of noise when you cut the jerk values in half. |
Refering to http://marlinfw.org/docs/features/lin_advance.html K is not depending on the printer. The amount of prefeed or pullback will be the same for all printers, which is pretty clear. I tested many different jerk values. It is not the different jerk which is making the noise. I really guess it is a bug if the extruder starts to unwind quicky with high K values and doesn't even try to move any step forward. This may be reproducible with a non-delta printer. I don't know. Seems I need to quit marlin and get a powerfull 32-bit board with firmware matching it. |
I am seeing exactly the same issue with retract-only on my delta -- K=0 works fine, even K=1 leads to a lot of extruder noise, jitter, and filament making many quick back-and-forth movements but on average more retraction than feed. Looks like this is issue #7521 , LIN_ADVANCE just has the wrong math for delta printers. |
@aaulick it took some time but I'm now aware of that and working on a version 2. It will take some time, but hopefuly I can create better LIN_ADVANCE code.. |
@Sebastianv650 — There was a patch recently to help with kinematic feedrates which passes the distance of the current segment directly to the planner buffer functions instead of letting |
@thinkyhead yes, that's already incorporated in my work-in-progress v1.5 PR. |
Let's move discussion and testing to #9700. |
This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
Hello,
Excerpt: LIN_ADVANCE on delta slows down print, breaks print and gives a lot of "humming" an all steppers while printing.
Long:
I did a switch from repetier firmware to marlin 1.1.1 because of two reasons:
Repetier firmware uses an "unstable" advance solution which works essentially, but gives way to hard jitter onto the extruder. I guessed it is because advance handling is not inside the ISR.
This kicked me into trying marlin 1.1.1.
Printer is a Anycubic Kossel Plus with a RAMPS1.4 compatible board. USB/UART is running with 250000.
Jobs are driven by OctoPrint 1.3.3rc2. The bowden is ~50 cm long. The extruder got no gear.
Print with advance value K = 0 print as I expect, but the steppers are louder than with repetier firmware. Are there any settings to get marlin quieter?
Speed is 60 mm/s. Acceleration is set to 500 mm/s^2. I am printing a 40x40x5 cube with a 5 mm long notch on one side and a 10 mm long notch on the other side. Only two perimeters. 0.15 mm layer height. Filament is 1.75 nGen.
Even with small K = 30 values the print breaks partly, everything is "humming" and slow.
With a K = 300 value (even higher may be needed for my bowden setup) is starts getting completely broken. Sloooooow, loud, ...
Steps setup and everything is right from my point of view as it is mostly copied from the long working repetier firmware settings.
Any ideas? I will drop my config here this evening.
The text was updated successfully, but these errors were encountered: