Lin. Advance, Jerk and filament change

I had a peak at marlin  firmware and i like lin. advance

but where do i find that in the online config tool for repetier?

something i noted with repetier is that it has a minimum for jerk that is to high, how can i "enforce" my settings?

also i have assembled a filament runout switch but since i have a 800'ish long bowden tube and i use the titan extruder it would be a pain to load the filament by hand. is there not a way to have the printer load by itself when extruder has a grib on the filament?

Comments

  • Repetier has also advance, but please do not use quadratic advance, that is not good and removed in next V2.

    - M232 - Read and reset max. advance values

    - M233 X<AdvanceK> Y<AdvanceL> - Set temporary advance K-value to X and linear term advanceL to Y

    are the command to change advance on the fly if you compiled firmware with advance support enabled. AdvanceL is what you want, but advance with 800mm bowden is quite useless. That is much too springy to follow it without direction reversal of extruder and even with it might only work if you slowdown acceleration to unwanted level.

    Autoloaders are difficult and very printer specific. Surely you can modify firmware if you can program. But how do you detect you have grip and when? Then out of filament sensor is before the grip takes place so that is the wrong sensor.

    Easiest solution is to write a script like this for adding:
    G4 S10 ; wait 10 seconds so you can position filament at entry
    G92 E0
    G1 E20 F120 ; Slow move to suck in filament
    G92 E0
    G1 E100 F3000 ; 100mm move to not hit max. extrusion length limit
    G92 E0
    G1 E100 F3000 ; 100mm move to not hit max. extrusion length limit
    G92 E0
    G1 E100 F3000 ; 100mm move to not hit max. extrusion length limit
    G92 E0
    G1 E100 F3000 ; 100mm move to not hit max. extrusion length limit
    G92 E0
    G1 E100 F3000 ; 100mm move to not hit max. extrusion length limit
    G92 E0
    G1 E100 F3000 ; 100mm move to not hit max. extrusion length limit
    G92 E0
    G1 E100 F3000 ; 100mm move to not hit max. extrusion length limit
    G92 E0
    G1 E100 F3000 ; 100mm move to not hit max. extrusion length limit
    G92 E0
    G1 E20 F300 ; Make it fill extruder and heat up

    In server you can set this as filament entry gcode and write a similar code to remove. Then the filament change routine would call this on insert/remove button.

    In host you could use 2 of the script buttons.
  • "Repetier has also advance, "

    but where in the online config tool?

    "But how do you detect you have grip and when? "

    by inserting the filament through the switch and then in to the extruder by hand. i know it has a grib when i can turn the titan extruder by hand and the filament moves. that is the case during a pure load and filament changed which is juat an unload and load

    "Then out of filament sensor is before the grip"

    it has to be so that it detect filament out before it loose grip in the extruder. how will it automatic eject the filament if it does not have a grip on it?
  • btw.... how do i make sure the firmware enforce my jerk settings? i have entered 10 for xy but the firmware changes that to 20 or close to that

    i do not want it to raise it
  • "but where in the online config tool?"
    In tools section enable "Enable advance algorithm (not stable) (USE_ADVANCE)"

    Firmware can not detect manual actions to extruder for your grip problem, so that is not solved automatically:-) 

    The only change firmware enforces is minimum start speed. But that doe snot change set jerk. Maybe eeprom overrides? Minimum start speed depends on steps per mm and acceleration. Reduce acceleration to reduce minimum start speed.
  • no i see during start that the serial says: Jerk set to low and then it displays it what i have changed it to

    even if i do a M500 and M502 to make sure EEprom does not override

    how i picture a filament change takes place (might help with understanding my mind)

    when filament switch detects a runout it will go to park and then do a long retract to unload what is left. since the switch is before the extruder it can be done sine the extruder still have a grip on the filament

    then i as user remove the old filament and then insert new filament. my task as user is to insert the filament through the switch so its activated again and then push it in to the extruder and turn the extruder manual to make sure extruder has a grip on the new filament

    when i'm sure the extruder has a grip on new filament i click the knob on the display and the printer can do a load and prime and continue the print


  • btw.... you are 50% correct on the bowden tube... 

    i have the new capicorn bowden tube and there is alsmost no spring effect since the tolerance is so low, 

    but yes if i have used a normal bowden tube it would have been another thing. price is also different, you get what you pay for :-D

  •     if(maxJerk < 2 * minimumSpeed) {// Enforce minimum start speed if target is faster and jerk too low

            maxJerk = 2 * minimumSpeed;

            Com::printFLN(PSTR("XY jerk was too low, setting to "), maxJerk);

        }

    guess that is the error you mean. Start speed is 50% jerk so jerk must be 2 * minimum speed.

    Regarding bowden that was not exactly the effect I meant. Sure if you have more play in bowden retractions needs to increase, also a reason why you should not invert pressure with advance on bowden. What I mean is advance depends on pressure * E modulus * length so having a direct extruder with maybe 7cm compared to 800mm bowden means 114 times the distance to correct of the direct extruder if we neglect effects from form fitting the tube. That is what makes advance and bowden not best friends.



Sign In or Register to comment.