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
Advance algorithm for extruder hysteresis #1
Comments
@Strahlex The best way to use |
@luminize That's basically what you started to work on this branch if I understand correctly: https://github.com/luminize/machinekit/blob/7eaae56450cb9d2046f3a40375d707ff0d0b9d26/configs/ARM/BeagleBone/BeBoPr%2B%2B/Pepper/vel-extr-3-pepper.hal#L421 How far should we look into the future? I see you used 5 samples for the extruder and 20 for the joints. |
I experimented with delaying the motion (which gives extruder look-ahead), but also delaying the extruder wrt the motion (which resulted to nothing). Only delaying the extruder velocity (without adjusting the filament offset), which is done with lincurve results in just moving the excess (and lack of plastic) around. taking 0.1 sec I could very clearly see the blob not appearing in a corner, but a thickness at a straight end further on my test part. However, I think that the time it takes for the filament to react could be something like 0.5 seconds. So if I knew how to calculate the offset-per-speed(change) (which I don't) that would be the time I'm aiming for. I've been thinking a while back that maybe the term "advance" is a bit misleading. my conjecture is that taking a stab at the hysteresis (which is a comparable with, but not the same as backlash) could yield good results. A bit like the lincurve, but than tailored to hysteresis. |
@luminize How do you handle the feedback when using the delayline for delaying the position commands? The feedback is delayed too which will result in a following error. Increasing the ferror tolerance is an option, but not a good one. |
The feedback is done before the delayline like here. Because of the stepperdrivers open loop control this should just work https://github.com/luminize/machinekit/blob/7eaae56450cb9d2046f3a40375d707ff0d0b9d26/configs/ARM/BeagleBone/BeBoPr%2B%2B/Pepper/vel-extr-3-pepper.hal#L239-L241 |
Altough velocity extrusion is used to drive FFF 3D printers with Machinekit there is currently no real adavnce algorythm implemented.
A possible approach could be based on using the delayline component in combination with a advance component where one could change the parameters.
See also related issues of other firmwares:
Marlin: Smoothieware/Smoothieware#645
Smothieware: MarlinFirmware/Marlin#1600
The text was updated successfully, but these errors were encountered: