Welcome! Log In Create A New Profile

Advanced

Delta printer; Repetier; CuraEngine: holey inner structure

Posted by BigMan200 
Delta printer; Repetier; CuraEngine: holey inner structure
November 15, 2015 03:03PM
Hi,

attached a picture of my 3D print. As you can see, the inner structure has many holes. I am wondering, where I have now to adjust which paremter? Indeed, my first guess was to increas the filament flow, but as far as I have seen, I can only adjust the filament flow for the whole print-out

Firmware: Repetier 0.91
Slicer: CuraEngine
Printer: Delta-type

I would be very grateful for any tips!
Attachments:
open | download - inner_structure.png (500.4 KB)
Re: Delta printer; Repetier; CuraEngine: holey inner structure
November 15, 2015 03:26PM
What should it have looked like???
Re: Delta printer; Repetier; CuraEngine: holey inner structure
November 15, 2015 03:34PM
that the struts don't have holes.
--> I marked a few with red-circles (see attached).

Perhaps I should mention, that those struts are automatically generated by CureEngine to fill the inner part of the print-out. Otherwise, that inner part would be massiv.

Edited 2 time(s). Last edit at 11/15/2015 04:45PM by BigMan200.
Attachments:
open | download - inner_structure_with_holes_marked.png (361.3 KB)
Re: Delta printer; Repetier; CuraEngine: holey inner structure
November 15, 2015 04:34PM
Last time i have holes. The nozzle was clog.
The outer walls printed correct, but infill was very stringing.

I heated the hotend to 240c and then uses a nozzle cleaner. (Very thin piece of metal)
And just ram it in and out a few times.
Then extruded about 10mm.

After that i reprinted the same part without problem
Re: Delta printer; Repetier; CuraEngine: holey inner structure
November 15, 2015 04:51PM
Quote
xile6
Last time i have holes. The nozzle was clog.
The outer walls printed correct, but infill was very stringing.

I heated the hotend to 240c and then uses a nozzle cleaner. (Very thin piece of metal)
And just ram it in and out a few times.
Then extruded about 10mm.

After that i reprinted the same part without problem

hmmm ... despite it descripes my situation (outer wall = ok; infill = unwanted holes) hard to understand, why a clogged nozzels still works fine for the outer walls but not for the infill.
However, for sure I will test this (cleaning the nozzles with a 0.6mm drill). Results will be posted here soon.
Re: Delta printer; Repetier; CuraEngine: holey inner structure
November 15, 2015 07:24PM
Unfortunately Cura does not appear to allow you to set your extrusion width independently for different types of extrusion like Slic3r does for perimeters, infill, support.

I do have some ideas, but I need more information. Can you please attach the Gcode file?

Until then please take a magnifying glass and look at the infill:
- Is it printing every infill line every layer, or is it printing one direction one layer, and the other direction on the next layer? You should be able to see this when it's printing too.
- Look closely at the breaks. Is there curled up filament just before or after the gaps?
- Are there also skips in the outside wall?


My printer: Raptosaur - Large Format Delta - [www.paulwanamaker.wordpress.com]
Can you answer questions about Calibration, Printing issues, Mechanics? Write it up and improve the Wiki!
Re: Delta printer; Repetier; CuraEngine: holey inner structure
November 16, 2015 04:55AM
Cura allows to set different speed for infill and perimeters. Make sure these speeds are the same. You can get such an error if your infill speed is much higher than the perimeter speed.
Anonymous User
Re: Delta printer; Repetier; CuraEngine: holey inner structure
November 16, 2015 09:15AM
Quote
BigMan200
Hi,

attached a picture of my 3D print. As you can see, the inner structure has many holes. I am wondering, where I have now to adjust which paremter? Indeed, my first guess was to increas the filament flow, but as far as I have seen, I can only adjust the filament flow for the whole print-out

Firmware: Repetier 0.91
Slicer: CuraEngine
Printer: Delta-type

I would be very grateful for any tips!

I had the same Problems, when printing to fast and/or to cool.
I have a roll of PLA which needs 215°C at the Nozzle, to achieve a Volumetric Speed of 1,3mm³/sek --> means about max. 12mm/sek with a 0,4mm Nozzle and 0,2mm Layer height - very slow for a Delta, but perfect printquality.
Going above 1,3mm³/sek, the Extruder starts to jump backwared, because of to high preasure...
Re: Delta printer; Repetier; CuraEngine: holey inner structure
November 16, 2015 01:02PM
Hello,
okay back from work, I did some further tests.
Bottom line: indeed, CuraEngine offers following option, under the tab "Speed and Quality":
- Outer perimeters
- Inner perimeters
- Infill
- Outer infill

My infill speed values have been significantly higher compared to the other speed values. So I lowered the infill speed values down and the result was positiv (no further holes/breaks).

However when I build my Delta-Printer (own design) I had one think in mind: speed. So I think, next I will increase all speed values together step-by-step. In the moment I am getting the breaks, will try to maintain this higher speed by increase the filament flow.

Edited 1 time(s). Last edit at 11/16/2015 01:03PM by BigMan200.
Re: Delta printer; Repetier; CuraEngine: holey inner structure
November 16, 2015 01:07PM
Quote
Paul Wanamaker
Unfortunately Cura does not appear to allow you to set your extrusion width independently for different types of extrusion like Slic3r does for perimeters, infill, support.

I do have some ideas, but I need more information. Can you please attach the Gcode file?

Until then please take a magnifying glass and look at the infill:
1) Is it printing every infill line every layer, or is it printing one direction one layer, and the other direction on the next layer? You should be able to see this when it's printing too.
2 Look closely at the breaks. Is there curled up filament just before or after the gaps?
3) Are there also skips in the outside wall?

Hi Paul, thanks for your replay. Pls. let me briefly provide the answers:

Regarding
1) when printing the infill, the extruder is going from left-to-right, stay on the same layer, and goes back from right-to-left;
2) not really
3) no

Edited 1 time(s). Last edit at 11/16/2015 01:07PM by BigMan200.
Re: Delta printer; Repetier; CuraEngine: holey inner structure
November 16, 2015 01:43PM
Thanks for your reply.

I was investigating because a similar issue has been reported with Slic3r.

Glad you got it figured.


My printer: Raptosaur - Large Format Delta - [www.paulwanamaker.wordpress.com]
Can you answer questions about Calibration, Printing issues, Mechanics? Write it up and improve the Wiki!
Re: Delta printer; Repetier; CuraEngine: holey inner structure
November 16, 2015 02:31PM
Quote
BigMan200
However when I build my Delta-Printer (own design) I had one think in mind: speed. So I think, next I will increase all speed values together step-by-step. In the moment I am getting the breaks, will try to maintain this higher speed by increase the filament flow.

If you have a bowden extruder then try to maintain all speeds about the same. They can differ but not much.
The problem is the time delay and elasticity in the bowden. Higher speeds need more pressure but slicers do not factor this in. They tried to factor this in in the firmware (which I think is a wrong place to do it). The firmware feature name is advance. But it takes into account only the elasticity and not the time delay. The time delay may or may not be predictable due its cause being friction in bowden. And the time dealay compensation is hard to do only in firmware. The result is that the firmware "advance" feature does not work well.

What you got was not enough pressure in the infill areas since these were quicker. Even at the same speed you will get worse quality of infill than the quality of perimeters since rectangular infill is typically printed in one direction only for one layer. That means that one direction is printed only each second layer. That means there are gaps in the infill wall and therefore worse filament adhesion. At higher speeds this can lead to gaps. But this will start at speeds above 100 mm/s.

Good luck printing smiling smiley
Re: Delta printer; Repetier; CuraEngine: holey inner structure
November 16, 2015 08:10PM
Quote
Hercek
If you have a bowden extruder then try to maintain all speeds about the same. They can differ but not much.
The problem is the time delay and elasticity in the bowden. Higher speeds need more pressure but slicers do not factor this in. They tried to factor this in in the firmware (which I think is a wrong place to do it). The firmware feature name is advance. But it takes into account only the elasticity and not the time delay. The time delay may or may not be predictable due its cause being friction in bowden. And the time delay compensation is hard to do only in firmware. The result is that the firmware "advance" feature does not work well.

I agree completely.
And this is my interest - I've been writing and testing a post-processor and Gcode analyzer for Slic3r to overcome these problems with my printer.

The problems are also compounded when different extrusion widths are chosen, along with the speeds, causing wild swings in extrude volume/second.
Add to that what happens when the hot end goes from perimeters (in which the filament is constrained by adjacent walls and floor), to sparse infill or support structure, where the extrude is unsupported except where it touches at intersections. This case is the same as a bridge and may require slower speeds or much higher volume (if obtainable) to keep from breaking.

The solution I am developing involves several methods working together:
  • Pressure Compensation Extra filament is added when unretracting in proportion to the change in mm3/sec. When starting a lower mm3/sec segment a proportional amount is removed from that unretract as needed to lower the extrude rate.
  • First Segment Acceleration This involves splitting the first segment of a loop, and applying a proportionally lower acceleration depending on the change in mm3/sec. This gives the extrude time to start nicely, and does not perceptibly slow the print.
  • Coast While Retracting The end of the last segment is split as needed, and the retract is started early, say 1mm before then end of the loop. When the end of the loop is reached the retract finishes when stationary (as normal). This reduces stringing, and speeds retraction.

Does that look like it covers all the bases?

So far Iv'e tested:
- Coast while retracting - works good.
- First Segment Acceleration with (some) Pressure Compensation. This allowed a change of over 20mm3/sec when moving from perimeter to support material (I set support material to 80mms at .82 width in Slic3r, compared to perimeters at 40/60mms with .62 width - a very large change). What was needed was the ability to reduce pressure however, as the next perimeters were over extruded - this part has now been written, with proportional acceleration and proportional pressurize/depressurize, but not tested yet (when I finish recovering from surgery). Without these features the beginning few cm of support material was starved, and broken.

I should note that the hot-end I'm using is one we built specially for my printer, and can extrude at least 26mm3/sec when printing sparse support material, and 18mm3/sec otherwise, and has a bore of .571mm. The extruder is also a bit custom - direct drive using a .9 degree Nema23.

I plan on having a small number of you gents test this tool it to validate my findings - when it's ready, then I'd like these features incorporated into Slic3r. I'll post later in the Developers section to let folks know about it. (And will post more on github for Slic3r). I still want to incorporate kinematic equations to calculate extrude/retract amounts to apply more accurately, so transitions are smoother for the extruder, and a few other things.

BTW, this tool also has the ability to plot Gcode colored by function and mm3/sec, with a graph of the change in mm3/sec for multiple segments, and with a few more tools in progress, photo attached. I could use some suggestions to name it, but not here. I've had way too much time on my hands...

Edited 1 time(s). Last edit at 11/16/2015 08:13PM by Paul Wanamaker.


My printer: Raptosaur - Large Format Delta - [www.paulwanamaker.wordpress.com]
Can you answer questions about Calibration, Printing issues, Mechanics? Write it up and improve the Wiki!
Attachments:
open | download - Gcode_View.JPG (169.7 KB)
Re: Delta printer; Repetier; CuraEngine: holey inner structure
November 17, 2015 01:04PM
That covers everything I'm aware of. Pressure compensation for flow differences. Coasting and 1st segment acceleration for the time delays. Flow should depend linearly on square root of pressure since the reynold's number is low. Preassure will depend linearly on force at the hotend. The dependence of the force at the hotend on the filament advance at the stepper is the tough part. There will be:
  • constant component from simple play in the bowden quick couplings
  • linear component from simple elaticity of both bowden and filament
  • and this will be time delayed because the filament movement will be slowed down in the bowden by friction forces

The time delay will be a random variable hopefully with some nice distribution like e.g. Gamma. Our hope is that variance is small so that we ca use only the mean value for controlling of coasting and the 1st segment acceleration. The fact that you had good experience with coasting tests indicates that this is probably true. That is a great result.

Note: Of course, the first segment acceleration may spill to more segments if the first segment is too short.
Re: Delta printer; Repetier; CuraEngine: holey inner structure
November 17, 2015 02:14PM
Hereck,
Thanks for your insights!

Quote
Hereck
Flow should depend linearly on square root of pressure since the reynold's number is low.
Thanks, this is something I have been pondering, since I new it wouldn't be linear, but I hadn't researched it. (I was going to try to determine some of that experimentally, when testing going from high to low pressure). See attached screenshot.

- I think I should first determine an equation for "Pressure", using the known requested flow (mm3/sec) for every segment. Do you have any thoughts on that?
- And a formula based on Pressure Change for the Extra Length.
- And a formula based on Pressure Change for the First Segment Acceleration.

Fortunately plugging in different formulas will be very easy.

Quote
Hereck
There will be:
constant component from simple play in the bowden quick couplings
linear component from simple elasticity of both bowden and filament
and this will be time delayed because the filament movement will be slowed down in the bowden by friction forces

Some things to plan for then: formula for increased friction, affecting both the Extra Length amount, and first segment acceleration.
Since the user's individual printer's friction, etc. will vary: there may need to be a way for the user to adjust this.

Quote
Hereck
Note: Of course, the first segment acceleration may spill to more segments if the first segment is too short.
Yes, that's how it works. I arbitrarily set the length of the acceleration segment (see screenshot). It inserts acceleration before the first segment, and continues through segments till it needs to break a segment, and then sets normal acceleration. This length could be set by formula at a later date, to make things less complex for the user.

I do the same thing when Coasting While Retracting.

Regards,
-Paul

[edit] Forgot to attach it.

Edited 1 time(s). Last edit at 11/17/2015 02:15PM by Paul Wanamaker.
Attachments:
open | download - PostProcessor.JPG (81.2 KB)
Re: Delta printer; Repetier; CuraEngine: holey inner structure
November 17, 2015 03:46PM
You're under-extruding on the long runs for your infill. Could be not enough torque on your extruder assembly, could be not enough heat, could be too many bends (or too tight a set of bends) in your bowden tube.

Personally, I vote for one, large radius bend in your bowden tube, and to keep the overall tube length as short as possible.

The outside is OK because you have a lower speed for your infill than your perimeters.
Re: Delta printer; Repetier; CuraEngine: holey inner structure
November 18, 2015 03:51AM
Quote
Hereck
Flow should depend linearly on square root of pressure since the reynold's number is low.
Preassure will depend linearly on force at the hotend

My brain has been fuzzy, but I think I might have worked it out.

If Flow = sqrt(Pressure) then of course Pressure = Flow^2
Pressure will be arbitrary units: Pu.

If I have that right, then:
If Flow = 5mm3/sec then "Pressure" = 25 Pu
If Flow = 10mm3/sec then "Pressure" = 100 Pu
If Flow = 20mm3/sec then "Pressure" = 400 Pu

If this is right then:
To go from 5mm3/sec to 10mm3/sec requires an increase of 75 Pu, not counting extra friction, etc.
To go from 5mm3/sec to 20mm3/sec requires an increase of 375 Pu.

No wonder extruders choke.

So the next question I will have to answer is, how much extra filament length added = 1 Pressure Unit. I can determine this roughly by testing.
For now I'll call it Extra Length per Pressure Unit (ELPu).
From previous tests I think it will be between .003mm and .004mm of 3mm filament.

For Acceleration.
Right now I really don't know what curve will be required. I will test a linear decrease in acceleration per 1 mm3/sec increase, since I have that coded.

I'm planning to create some Gcode tests for this: with two long lines, one printing at 4mm3/sec, one at 16, etc.

Once I have a basic number for FLPu, I'll create a test with 3 (or more) lines, at 4, 10, and 16mm3/sec, and check the widths.
If the formula is correct, then all the lines should have the correct widths, and should not be starved or over-extruded at the beginning.

I don't know if back pressure (printing solid infill vs sparse infill) is a factor, and how much friction is a factor, and printing temperature. We'll get to that later.

Well, it's late and my brain is toast. Does this look correct? Any suggestions?

I should be able to code this in the next little while, but won't be able to test for a couple weeks (laid up after surgery). I may be able to incorporate some acceleration equations when calculating segment times.

Thanks!
-Paul
Re: Delta printer; Repetier; CuraEngine: holey inner structure
November 18, 2015 06:26PM
I've incorporated the formulas for pressure compensation we discussed above into my post processor.
This plot shows the pressure curve, and (sample) extra length needed for increased print volume/second, here showing the lower end of the scale. Note: The input and output values are arbitrary at this point. I'm still coding the internals, it isn't validated yet.



[edit] I noticed my caption on the bottom should read Cubic MM/second (Extrude Volume), not ...Change in Extrude Volume. Fixed.

Before I go too far, am I on the right track?

Thanks!
-Paul

Edited 1 time(s). Last edit at 11/18/2015 07:49PM by Paul Wanamaker.
Re: Delta printer; Repetier; CuraEngine: holey inner structure
November 18, 2015 09:18PM
Yes the equation for flow speed is v² = k₁ * f. There should be more terms related to density and height difference but these should be negligible. The obstacles in the flow i.e. the previous layers below nozzle (I believe you call this back-pressure) should be considered since viscosity is quite high. But the flow will be laminar thanks to the high viscosity and low density of melted plastics. That means the "back-pressure" effects will be predictable (no random process here like it is there with the friction in bowden). The "back-pressure" should be covered by the k constant. The only problem is that the constant will be different for a bridge (empty space below nozzle) and a normal layer (solid plastics after a small air gap). This is one of the reasons why a good pressure management cannot be done efficiently in the firmware. The firmware does not know whether the current path segment is a bridge or not. It could reconstruct the info from the previous gcode but it would be cpu/memory expensive.

The hard part is how to compensate for the filament friction in the bowden. The problem with friction is that it is a random process. If you have a brick on a table and start to push it then it is not predictable at which force it will actually start to move. But this random process will have a mean and some variance. If the variance is small enough then we can just use the mean value and we will get good enough results.

How should be the bowden modelled? We should divide the bowden to segments. The division points will be the places where filament touches the bowden. These division places will represent the friction elements (a.k.a. the "brick"). These friction elements are connected by springs which represent the linear compression/expansion of filament/bowden based on the force.

So we have something like this:
-/\/\/\/-##-/\/\/\/-##-/\/\/\/-##-/\/\/\/-##-/\/\/\/-##-/\/\/\/-
Modelling the spring part is easy (Hooke's law): f = k₂ * x
The friction element is characterized by a random process. It should be possible to express it by two random variables:
* the first defines at which force the filament starts to move relative to the bowden: slipForce(f₁-f₂)
* the second one defines at which force the filament stops moving: slipStop(f₁-f₂)
f₁ - force on friction element from the previous spring
f₂ - force on friction element from the next spring
Force from the last spring is the same as the force at the hotend (i.e. the force from which the hotend pressure depends linearly).
Force on the first spring is from the extruder stepper. Although you do not really know the force (the stepper torque is ideally infinite) but you know that f = k₂ * x (i.e. if the stepper moves filament by x then you can compute the force).

The distribution of random variables slipForce and slipStop should be close to normal. The papers measuring these distributions exist but first few google hits wanted $25 from me - phe! - they can keep the information secret!

From this one can build the simulation to compute how the whole bowden extruder will behave. Or ... we can just ignore it and measure how the bowden behaves ourself. One way is measuring the extrusion width. You know how the hotend behaves (v²=k*p(x)).
* v is plastic flow at some time t (you can compute it from the extrusion width, layer height and head position at time t)
* k is a constant (careful, different for bridges and normal segments; it will depend also on the extrusion width though I hope not that much if the extrusion width is bigger than the nozzle diameter)
* p is a random variable which defines pressure at time t based on the filament advance (you seem to call this ELPu) at time t-dt (we would just assume that this random variable has very small variance, dt is constant, and it looks like p = K * x(t-dt)
* x(t-dt) is filament advance (ELPu) at time t-dt

The problem with this approach is that dependence of k on extrusion width can be significant. And I think it is very likely that dt depends on the difference between the forces at the beginning and the end of the bowden.

The best approach would be make an experiment to measure how the force propagates in the bowden based on filament advance (ELPu) and the time. On entry side, there would be a stepper with a filament pulley and a force sensor. On exit side, there would be a pulley with a brake (to generate substitute for the back pressure from the hotend), another force sensor (how big the pressure is) and an angle sensor on the exit pulley (how much the filament is advancing at the end).

Or you can just forget about all this complicated stuff and assume that the hotend pressure is a time-delayed function of filament advance at the extruder stepper and try to approximate it by e.g. splines or whatever else. And find all the coefficients experimentally by hopefully not so random search. Which is just what you seem to be doing smiling smiley

Is it the right track? I'm not sure since I do not know exactly how the bowden behaves. Trying long enough will get you there eventually. We would need somebody more skilled in bowden modelling (i.e. physics of friction). Clearly simple model without bowden friction does not work. Otherwise Repetier firmware would already have working pressure compensation. Well, the other option is that their implementation had bugs they incorrectly identified as the time delay problem instead of finding the bugs in the code.
Re: Delta printer; Repetier; CuraEngine: holey inner structure
November 19, 2015 12:32AM
Hercek,
Thank you very much for your analysis. I will be coming back to this many times.

Here are some things that struck me today:

Quote
Hercek
..the "back-pressure" effects will be predictable (no random process here like it is there with the friction in bowden). The "back-pressure" should be covered by the k constant. The only problem is that the constant will be different for a bridge (empty space below nozzle) and a normal layer (solid plastics after a small air gap). This is one of the reasons why a good pressure management cannot be done efficiently in the firmware. The firmware does not know whether the current path segment is a bridge or not.
I agree. Very fortunately Slic3r has a Verbose Gcode output mode, so I can identify each kind of segment, with some limits - I may not know if infill is sparse or solid. If it starts at the right pressure I'm betting it will be fine tho.
I will look at the K "constant". Bridging, sparse infill, and loose support may require more of an initial boost than say perimeters. That will require some specific tests.

One thing I am relying on is: after I get a loop started at the right pressure, that the slicer has commanded the correct volume for the remaining segments... I know that's not always the case, but that's out of my control.

Quote
Hercek
The hard part is how to compensate for the filament friction in the bowden. The problem with friction is that it is a random process. If you have a brick on a table and start to push it then it is not predictable at which force it will actually start to move. But this random process will have a mean and some variance. If the variance is small enough then we can just use the mean value and we will get good enough results.
Very difficult indeed.
Thank you for laying out the variables. Other problems accounting for friction will come from how very different every user's printer is. From the extruder to the liner in the hot-end, and the brand of filament, how curly it is, how stiff, how rough, did they lubricate filament, hot end cooling, length of bowden tube, curve of the tube, printing temp, volumetric capacity, etc. Another factor I've not seen mentioned is filament reheat time. I've found with my all metal hot-end that increasing retract length can cool the filament slightly in the cooler part, creating a slight delay in flow on unretract, seen as a starved beginning of the next segment. So even the individual user's retraction settings could be a factor. A perfect model may match no printer, certainly not mine smiling smiley

I think that because of the large number of machine specific unknowns, this must be calibrated by the user. My goal is to make it as simple to test as possible, with just a few understandable inputs based on what the user observes in a standard test.

Quote
Hercek
Clearly simple model without bowden friction does not work. Otherwise Repetier firmware would already have working pressure compensation.
tongue sticking out smiley This I intend to find out. Having the right basic equation for pressure vs flow is a big help, thank you. If friction is close to linear with pressure, then perhaps increasing ELPu might be enough?

The right equation for acceleration is still to be determined. The rate of pressurization relies on so many things, I only have a few data points so far, these show that a very large change in pressure takes longer.

My theory is that errors in the pressure equation will show up primarily as under or over extrusion based on the magnitude of pressure change. That's testable.
Errors in the acceleration curve will show up as various blobbing or starved beginnings of segments, also testable.
Testing intermediate points hopefully will show if the curves are right.

I saw a printer that automatically printed test samples for extrusion amount, that was very nice. I need to make a test generator for these tests.

Thanks again for taking the time to help me understand this better. I have this all coded now except for K, but I still need to check everything. I might be able to get back to work next week.

Regards,
-Paul
Re: Delta printer; Repetier; CuraEngine: holey inner structure
November 19, 2015 02:01PM
There are at least two implementation attempts for pressure management.
  • In Repetier firmware. This seems to be a failure when used with bowden extruder.
  • In some other firmware. Sorry I do not remember which one, but Repetier was inpired by it. The author claimed it to be a success. Bat AFAIK, it was tested it only with a bowden-less extruders. I believe there is a thread about this firmware somewhere in forums.reprap.org
These implementations ignore friction and use only two equations:
  • v² = k₁ * f # for flow control in the hotend,
  • f = k₂ * x # to simulate bowden as a simple spring (x is advance (ELPu)).
So there are essentially two constants (k₁ and k₂) there which should describe differences between printer hotends/bowdens. Repetier added one more tune-able (I think) linear coefficient there which worked better. So they kind of deviated from the theoretical model. It is possible it worked better since it was slower and therefore it started acted sooner and kind of compensated for the time delay. Just a guess. I do not know the details.
Re: Delta printer; Repetier; CuraEngine: holey inner structure
November 19, 2015 02:40PM
Quote
hercek
... Flow should depend linearly on square root of pressure since the reynold's number is low.

hercek, can you provide a reference for that? I find that result surprising, and I have found another reference that says that flow of a viscous liquid in a pipe is directly proportional to pressure when the flow is laminar (which is when the Reynolds number is low).



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Delta printer; Repetier; CuraEngine: holey inner structure
November 19, 2015 03:08PM
dc42: Good catch! You are probably right. Bernoulli's principle is valid only for inviscid flow. And melted plastics is hardly inviscid. Paul needs to correct the equations.
Re: Delta printer; Repetier; CuraEngine: holey inner structure
November 19, 2015 04:19PM
OK!

Since it is very very easy to change the formula I will test it both ways smiling smiley

The key to this is a test generator I'll make that will generate gcode for N number of lines of whatever length, with X increase in volume or extrusion width per line. I'll have full control that way.
The more I think about it the more I am certain that a test generator suite should be standard operating procedure for calibrating.
It should generate gcode with a set of variations, and the user can more easily hone in on what's best:
- For best temperature
- For speeds
- For max extrusion volume/second
- For extrusion width
- For bridging
- For acceleration
- For dimensions
- For extrusion multiplier
- For infill overlap
It should be smart enough to warn if the selections are impractical.
There should be a sequence so that the most important things are calibrated first.
It should tell the user how the results should look, with examples.
It should then tell them what settings to use in their slicer.
Hmmm, interactive calibration.

Oh blast!!! One obsession at a time!!!

Thank you both for your input.

Edited 2 time(s). Last edit at 11/19/2015 04:46PM by Paul Wanamaker.


My printer: Raptosaur - Large Format Delta - [www.paulwanamaker.wordpress.com]
Can you answer questions about Calibration, Printing issues, Mechanics? Write it up and improve the Wiki!
Re: Delta printer; Repetier; CuraEngine: holey inner structure
November 19, 2015 06:10PM
FWIW both RepRapFirmware and Sailfish implement a pressure advance algorithm that assumes pressure is proportional to extrusion rate and the filament in the Bowden tube compresses in an elastic manner. One of the interesting consequences is that at the end of an extruding move that decelerates to zero speed, you may actually need to retract filament. This in turn means you need to reduce your slicer retraction amount to avoid over retraction.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Delta printer; Repetier; CuraEngine: holey inner structure
November 19, 2015 07:42PM
Did Repetier remove its quadratic factor (EXT0_ADVANCE_K) from its advance algorithm?
Ok, I checked. They did not remove it yet. At least not from the configuration. But it is "normally disabled in newer versions" .. whatever that means smiling smiley

I played with both EXT0_ADVANCE_K and EXT0_ADVANCE_L quite a bit long time ago and it was not much useful. I disabled Repetier advance completely at the end. More harm than good for all the cases I was trying. But I'm still running more than a year old version. It works pretty good but I'm having all speeds (except the non-printing moves and bridges) the same and using high accelerations so that low speed extrusions are happening only for a very short time. And I have some hacks to slicer to handle special low speed transitions around bridges. The hacks do not work well but they are better than nothing.

I never tried or looked at Sailfish (which may be the firmware where advance was introduced originally).

Edit: In italics. Just clarifying what needs to be done to print well even with no pressure management.

Edited 1 time(s). Last edit at 11/19/2015 07:52PM by hercek.
Re: Delta printer; Repetier; CuraEngine: holey inner structure
November 19, 2015 08:47PM
Quote
dc42
FWIW both RepRapFirmware and Sailfish implement a pressure advance algorithm that assumes pressure is proportional to extrusion rate and the filament in the Bowden tube compresses in an elastic manner. One of the interesting consequences is that at the end of an extruding move that decelerates to zero speed, you may actually need to retract filament. This in turn means you need to reduce your slicer retraction amount to avoid over retraction.

That's interesting. Is it best to use hardware retraction if that feature is turned on?
Re: Delta printer; Repetier; CuraEngine: holey inner structure
November 20, 2015 11:36AM
Hmm, but if flow of inviscid fluid depends on square root of pressure and flow of viscous fluid depends linearly then there must be liquids with low viscosity where both models work badly.
Re: Delta printer; Repetier; CuraEngine: holey inner structure
April 02, 2016 04:07PM
Hi!

Did you guys made any progress on this topic?

I'm quite new to 3D printing, I'm facing this issue and I'm surprised that this hasn't been solved yet. I have a bowden setup and I'm using repetier, mainly because of its advance algorithm. And indeed I don't have any good result.
I think it's a good place to handle this problem at the firmware level, because as said by dc42 (and that's also what is said about the repetier advance algorithm) the filament needs to be retracted sometimes.
Doing so in the gcode would end up with terribly complex (and big) code, which I think should stay quite human readable.
Also there are other parameters, like "backlash" that should be taken care of at the same time and that is typically at the firmware level.

Paul Wanamaker: Can I find somewhere the tools you're developing so I can test them?

Thanks.
Re: Delta printer; Repetier; CuraEngine: holey inner structure
April 03, 2016 11:36PM
guiohm,
Yes, I've made some progress - testing my post processor.
Pressure compensation helps a lot for big changes in pressure.
Changing the acceleration for the first segment of an extrude allows the extrusion to begin at the proper rate.

I found that I really needed a Guided Calibration test generator to test these features - so I had been writing it - 8 modules so far.

I'm sorry to say that health has not permitted me to work on this at all lately however, and the program is not ready for publication + I can not support it in my current state. I do have just enough brain to respond to your query however:

I was hoping the concepts would be included in a slicer, however my observation is that the pace of slicer development is very very slow, and it's better for them to handle the basics properly, without the fatal bugs that are constantly creeping in with new features.

It's not surprising the so called Advance algorithm in Slicer/ (and Repetier if it uses Slicer code) works poorly for a bowden. Examine the output gcode (with verbose mode turned on) and you will see that it is just goosing the filament and retracting it the same amount. This is not helpful with a bowden. There are so many factors that are not taken into consideration. I think features like this get included, but are not successful - when a developer has one kind of printer and you have another, and a funky factor formula is used.

Having pressure management tasks in gcode can be both simple and readable - provided relative extrusion is used rather than absolute. Then individual extruder movements are independent, so it's easy to insert new moves and modify existing moves, split segments etc, and it's not necessary to do all the extruder position zeroing. A post-processor can easily convert absolute moves to relative moves while reading in the gcode (as mine does). Proper gcode comments are all that's needed to describe what's happening.

Could pressure management be done better in Firmware? There are some firmware that are doing some basics now, as mentioned, and I really respect that.

However I think a post-processor is the best place to add these features. I can't think of anything important that firmware can do that can't be commanded with gcode - and it's not a black box - you can look at it later to see what it was doing. There are also may factors firmware can not as easily determine, without deeper analysis of the gcode stream. (Doesn't the firmware do enough already?)

Here's another important reason why a post-processor would be better:
- When you have new features affecting extrusion (added to all the other existing factors) tuning becomes more critical. Re-compiling the firmware between tests isn't feasible - it just makes testing painful. That's why a lot of settings are not well tuned now - like acceleration, jerk/junction deviation, etc.

I think what's really needed is a testing tool that generates the gcode with the particular factor varying. With one test run you can determine the best value. Then use a stepwise calibration process, one factor at a time.
I just wish I could give it to you now. Again, sorry.


My printer: Raptosaur - Large Format Delta - [www.paulwanamaker.wordpress.com]
Can you answer questions about Calibration, Printing issues, Mechanics? Write it up and improve the Wiki!
Sorry, only registered users may post in this forum.

Click here to login