Welcome! Log In Create A New Profile

Advanced

Skeinforge 40 Changes to Dimension - Read this for problems with the new version of Skeinforge!

Posted by NewPerfection 
OK, that all makes sense now. Calling it a density doesn't make sense.


Help improve the RepRap wiki!
Just click "Edit" in the top-right corner of the page and start typing.
Anyone can edit the wiki!
nophead Wrote:
-------------------------------------------------------
>
> The only sensible value to send to the firmware is
> the number of steps to move and have a pinch wheel
> diameter property per plastic host side.


The other that has been suggested before is to send the steps per mm to the printer as a g-code command (M command?) and keep the E as distance. This way, the G-code can be adapted to the extruder and feed combination by sending the steps per mm at the start. This would save time in having to run SF again if all you want to do is change your feed. Also, sending X, Y and Z in distance and E in steps is also not very elegant. smiling smiley
I must say I found the gcode much easier to read when E was the distance extruded rather than the feedstock fed in...

Also, I don't think the firmware is so big that we need to define the various parameters when compiling and uploading the firmware but could as brnrd suggests actually manage those parameters a variables set by the gcode. Perhaps as named parameters.
Is anyone successfully using the retraction feature in SF 40?

Since moving to the latest version and configuring as per the recommendations in here, I seem to be getting decent prints. However, despite changing the retract distance to 2mm and speed to 30mm/s (I have also tried setting these higher) - it does not even attempt to retract at all.

Has anyone else come across this and or have any suggestions?
Thanks.
30 mm/s might be too fast for the extruder. Try half or lower. Remember this is now in terms of feed.

Edited 1 time(s). Last edit at 03/20/2011 12:02PM by brnrd.
I use retract speed of 10mm/s and retract distance of 1.0mm Seems to be working fine.
Hi,
First of all let me say that I am not a programmer but I looked into the code of the Dimension.py file.
What I understand from it is that the FPDR is just used as a direct multiplier for the crosssectional area of the filament diameter.
So it is not a multiplier for the feed as we have assumed. It is intended to be a correction factor for density change and die-swell and shrinkage.

I am currently trying to rewrite the formulation:
will change FPDR to Effective Diameter Ratio. (will be a factor for the feed)
will add: Molten Density/Density ratio (will be squared and multiplied with cross sectional area)
will add: Die Swell ratio (will be squared and multiplied with cross sectional area)

So when I try it out will share my results then.

Edited 1 time(s). Last edit at 03/21/2011 06:14AM by ahmetcemturan.
Die swell does not come into the calculation. It doesn't change the volume or density, it just comes out fatter and shorter when extruding into mid air.

I also don't think there is any need for a density change factor as I don't think density changes significantly. These formula work fine for me.


[www.hydraraptor.blogspot.com]
Hi Nophead,

I adore your work, research and blog btw.

Have a look at these links please..
[www.files.chem.vt.edu]
[www.stelray.com]
[www.natureworksllc.com]

So the Density changes about 10% but if the the die swell is also about 10% I think they cancel each other out.
So you get the same result in the end.

If someone uses another hotend with a big or very low swell then the calulation will be off.

I think that You need to calculate the correct volume that comes out of the extruder and therefore you need these two ratios.
....But as said I am experimenting...
The density will temporarily increase as it is forced through the nozzle at high pressure, but when it comes out it expands back to what it was, so die swell and density change cancel out and don't enter into the calculations. Also the density of hot plastic is a little less than cold because it expands, but that is negligible.

I have extruded five different plastics through a variety of nozzles and I have never needed die swell or density in my flow rate equations. I have always based it on volume in equals volume out and I think the results speak for themselves.


[www.hydraraptor.blogspot.com]
Yes your results set a benchmark.. Thats for sure...
I will still give it a try.. smiling smiley
My try is available at: [www.thingiverse.com]
That's fantastic, thanks Nophead and AgeingHappy.

Cleared this Filament Drive ratio issue, I have another doubt... what role now does it play the Perimeter Width over Thickness? Is this still a parameter to play with or should stay constant? (1)

And also a less theoretical and more practical question: (2) if I try to extrude the 100mm of material the extruder stops pushing the filament at some point and then restart without intervention, but skipping some pushing like the filament is jumping inside the extruder (impossible I know, so probably some material is eaten by the worm gear?); this invalidate my test to extract a perfect E/mm. Anyway, during normal operations everything works fine with no skipping but if I try testing with the 100mm of extrusion it just does not work. With 10mm yes and that's why I have done testing with 10. Is this because of the bowden cable and some spring effect of the filament? It happens with both ABS and PLA.

Many thanks if you have an idea.


@ AphoticJezter

Sorry for the late reply. Never thought of your last theory, quite intriguing I would say!
(3) Anyway, my problem is VERY strange: if I build a single wall square, 3 sides are perfect and one has this "wave" effect, which is not a deviation of the toolpath, but the wall being thicker thinner alternatively. The strange is that is not random, each layer has the same waving! And it is repetitive, so it's in any part I make!!
I want to try building some parts rotated on the z axis, to see if the path follows the rotation or stays with the absolute coordinates; I had no time yet but will update here if anybody is interested.

ADDED NOW A BRAND NEW PROBLEM! confused smiley
I've got also a (4)!!! I cannot understand why, but my build height is now shorter than it should be. This happened after I modified a few SF setting for trials...
But the issue is complex... smiling smiley If I move manually the z axis it works fine - 50mm for 50mm - this means mechanics + electornics + firmware is ok. I looked at the gcode and it ends where it should end (ie box 20x20x20mm should end at 20mm height, and the gcode ends with 19.79 - so software is fine.
But when I build I get shorter heights, all repeatable perfectly!!! For example, the 20mm^3 box is 16mm tall).
Any idea?

Edited 1 time(s). Last edit at 03/23/2011 08:54AM by syncra.
ahmetcemturan Wrote:
-------------------------------------------------------
> My try is available at:
> [www.thingiverse.com]


I'm not sure what you're gaining by specifying 3 parameters when you can only measure one: steps per mm for the feed. It was bad enough that we have to use two parameters, now you just added another one. In the end, they're all multiplied together to get the effective steps per mm. I guess, I don't understand what this fixes or improves.
1) You can change width over thickness and with SF40 it should adjust the flow rate to match. 1.5-3.0 is reasonable range.

2) Check if you have clogged teeth on the pinch wheel or uneven hobbing. Does it happen when the big wheel is in a particular spot? Perhaps the flow rate is lower during the build if it doesn't happen then.

3) Perhaps your pinch wheel is eccentric if it happens all the way round the perimeter. If it is just along the X or Y axis then you have a problem with one of the belts. See [forums.reprap.org]

4) Perhaps the feed rate during the build is too high for z and it loses steps.


[www.hydraraptor.blogspot.com]
syncra Wrote:
-------------------------------------------------------

> (3) Anyway, my problem is VERY strange: if I build
> a single wall square, 3 sides are perfect and one
> has this "wave" effect, which is not a deviation
> of the toolpath, but the wall being thicker
> thinner alternatively. The strange is that is not

Which side has the effect? Does it happen to be the first side that it extrudes? I see this effect with single walled square if the flow rate is too low. Does the width of the filament come out correctly? Also what's your retract/restart set to?
Hi brnrd,

My point is that we can actually only measure the input correctly. What comes out, the software has to calculate.
So when I have calibrated my extruder to input 100mm when I tell it to input 100mm then I dont need to correct how far the teeth dig into the filament (as long as the consistency/hardness of the filament does not change..) So that factor should remain 1 if you calibrate by measuring the input filament length.

In opposition to that there is the fact that IMHO (and also professional profile extruders and injection molders) you have to consider the mass (weight) of the filament that goes in and that comes out (there should better be really minimal losses only..)

As the temperature of the filament changes throughout the different stages, (Room temperature, different temperatures within the extruder, at the nozzle exit, on the part after extrusion) so changes its density >>volume while the mass would remain the same..

Now you have a filament that goes in at say 10g/mm3, it will have a molten density of maybe 9g/mm3 in the nozzle, but this will be back to 10 or 11g/mm3 at the extruder tip(narrow part), and suddenly go down to 9 again causing the die swell.

Therefore while the current correction factor is not more than a feedrate adjuster. (It multiplies the crossectional area with the correction factor).

But I will post something more elaborate when i fiddle it out much better.
As said I am not a programmer and might even have misinterpreted SFs calculation formulas.
My dimension.py file.

removed old file for a new one further below...

Edited 1 time(s). Last edit at 03/23/2011 08:36PM by ahmetcemturan.
Quote

As the temperature of the filament changes throughout the different stages, (Room temperature, different temperatures within the extruder, at the nozzle exit, on the part after extrusion) so changes its density >>volume while the mass would remain the same..

Now you have a filament that goes in at say 10g/mm3, it will have a molten density of maybe 9g/mm3 in the nozzle, but this will be back to 10 or 11g/mm3 at the extruder tip(narrow part), and suddenly go down to 9 again causing the die swell.

If the density changes through the extruder due to temperature and pressure it is irrelevant because it goes through the pinch wheel at ambient temperature and pressure and ends up in the object at ambient temperature and pressure. How it behaves while inside the extruder doesn't affect the SF calculations.


[www.hydraraptor.blogspot.com]
@brnrd Wrote:
-------------------------------------------------------

>
> Which side has the effect? Does it happen to be
> the first side that it extrudes? I see this effect
> with single walled square if the flow rate is too
> low. Does the width of the filament come out
> correctly? Also what's your retract/restart set
> to?

No it's the second side. It happens for both single walls boxes (very evident) and also full boxes etc... I think Nophead might be right about one of the belts, but then I need to understand why on one of the "y" sides is very evident and not on the other.
Width of filament - who know? It's printing, and I assume it is not as I have this problem in variable thickness; I always thought it was a bowden cable problem until nophead advice. Retract/restart is 2/0 - I haven't played much with it yet but it works ok.


@nophead

1) Sorry I did not understand your input. I use SF40 and understood the main concept of volumetric. Still, I don't know how to play this parameter. IS it to increase the material pushed through, thus the material deposition width? Is it not acting the same as the "famous" filament packing density? I know they mean different things but they do the same, no?

2) Never thought of doing that, thank you! I will try looking if it's a worm gear problem!

3) Fantastic answer. I will check the belt.

4) Yes you're a genius. I limited z in SF and kind of solved the problem, it was definetely loosing steps. But that means slower builds and potentially some material flowing out of the nozzle during a slower z movement. Maybe I can try avoiding the limit feature and increase the power to the motor? Is the belt tension influencing this problem as well?
Let me guess:
It happens when the Y stepper pulls the platform to itself...(Or when the X stepper pulls the extruder to itself if you have the new x motor mount with the belt teeth inside)..
if so it is because of the belt tryingto hop over the berings... It only happens on one side beacuse you have more tension on the belt when pulling..When "pushing" there is less tension. (of course there is no real pushing but I am referring to the near far relation..)

Edited 1 time(s). Last edit at 03/23/2011 02:47PM by ahmetcemturan.
1) Not only will it increase the flow rate to make the filament wider but it will also change the filament spacing to take the extra width into account, unlike the packing density, which will force more plastic into the same area.

4) The z - axis is very slow because it is geared down so much. It tends not to matter because it moves such small distances. The maximum speed I get is 6mm/s with x 8 microstepping, but I use a long acceleration period of 250 microsteps. Most people don't use acceleration, so the max speed is much less.


[www.hydraraptor.blogspot.com]
@ nophead

Very interesting... this topic has really no more secrets for you!
1) If I would like to increase a bit the flowrate without touching the spacing and I have the packing density already at 1, what do you advice? I previously cheated on the filament diameter, but surely is not the solution...
4) where do I find more info on the acceleration features? 6mm/s sounds a lot. I limited at 1.5 to avoid loss of height


@ ahmetcemturan

Yes I understand now, thanks for that fantastic description!!
1) If you have the correct E_STEPS_PER_MM and input the correct filament diameter then you should not need more flow. Assuming SF calculates volume correctly, a packing density of 1 should completely fill the rectangular cross section of the filament road so there is nowhere else for plastic to go. I am not sure what the maths in SF is because I don't use this version. I use my own software to calculate flow rate from feed rate and the maths I use is here [hydraraptor.blogspot.com]. Effectively I use a maximum packing density of 0.9 as 1 is too much.

4) I am not sure. 5D code is supposed to do acceleration and you can hear the Z axis accelerate over a long period on Adrian's videos. Everybody seems to advise turning off acceleration with SF so I assume it doesn't work properly for some reason. I do acceleration in my firmware rather than breaking each move into three.


[www.hydraraptor.blogspot.com]
The revised one as of today
Attachments:
open | download - dimension.py (13.2 KB)
Nophead, I noticed few mentions about your own software, is it something you would be able to share?
In any case, is it doing "everythng" (from slicing to gcode generation)?
Thanks again for your input.
nophead Wrote:
>
> 4) I am not sure. 5D code is supposed to do
> acceleration and you can hear the Z axis
> accelerate over a long period on Adrian's videos.
> Everybody seems to advise turning off acceleration
> with SF so I assume it doesn't work properly for
> some reason. I do acceleration in my firmware
> rather than breaking each move into three.


Would some please explain why acceleration need to be off with Skeinforge? Is this still the case with 40?
It's not really clear to me why both flow rate and feed rate are in the calculation for E now. If this is volumetric, shouldn't it be entirely volumetric. That is, E is currently something like:

E = ((flow_rate * (extrusion_area/filament_area))/feed_rate) * distance

Shouldn't it just be:

E = (extrusion_area/filament_area) * distance

Edit:
I've edited my dimension.py to do it this way.

#		return self.getExtrusionDistanceStringFromExtrusionDistance(scaledFlowRate / self.feedRateMinute * distance)
		return self.getExtrusionDistanceStringFromExtrusionDistance(self.flowScaleSixty / 60.0 * distance)

This has the disadvantage of not conforming to places where your flow and feed rates might be configured differently, such as on the first layer or on bridges. It has the advantage though that when using Fillet, you can slow down the feed rate on corners without ending up with blobbing.

Edited 1 time(s). Last edit at 03/28/2011 12:33AM by nrp.
I assumed that SF slowed down the extruder at the same fraction as the feed rate when going around corners. No?
brnrd Wrote:
>
> Would some please explain why acceleration need to
> be off with Skeinforge? Is this still the case
> with 40?

Is this the answer: forum.reprap.org? So the better question is, Can the new reprap firmware can now handle this?

Edited 2 time(s). Last edit at 03/29/2011 08:18AM by brnrd.
Sorry, only registered users may post in this forum.

Click here to login