Skeinforge 40
After a good few evenings of wrangling with the latest version of Skeinforge 40 (11.02.23) I have finally got it working. Here are a few details in case others find themselves having problems too.
After upgrading, the extruder seemed not to move during a print.
The core problem boiled down to a change in how version 40 calculates feedstock throughput, the solution being to modify the e_steps_per_mm setting in the firmware (in my case from 22 to 539), and tweak the skeinforge settings. The e_steps_per_mm calculation is micro steps per rev * gear ratio / ( pinch wheel diameter * 3.14), and in my case 3200 * (39/11) / (6.7 * 3.14) = 539. The forum actually had a lengthy thread about this (which I annoyingly overlooked at first), but the suggestions there didn't seem to solve my problem.
After much searching, and many test attempts, I finally delved into the gcode itself. There I found that the start gcode of the preface module had a command which set the e_steps_per_mm value back to 22! (gcode: "M92 E22") This gcode file was originally part of the Skeinforge pack that Prusa bundled as part of his introduction. I tried setting the value to E539, to match the firmware, but this seemed to send the extruder crazy, so I left it at E22 and added a command at the end to set it to E539. The complete gcode segment is:
M140 S60 ; bed temp M92 E22 ; custom code to set extruder steps!! G92 X0 Y0 Z0 E0.0 G1 Z2.0 F150.0 G1 X-250.0 F2100.0 G1 X-249.0 F300.0 G1 X-251.0 F100.0 G92 X10.0 G1 Y-250.0 F2100.0 G1 Y-249.0 F300.0 G1 Y-251.0 F300.0 G92 Y0.0 G1 Y70.0 F2100.0 G1 Z-250.0 F150.0 G1 Z-249.0 F50.0 G1 Z-251.0 F50.0 G1 Y75.0 E100.0 F1000.0 G1 Y100.0 E130.0 F1000.0 G92 Z0.2 G92 E0.0 M92 E554 ; custom code to set extruder steps!!
Another gotcha was that the movement at the start of the print, to set the initial position of the print head, was very slow. By the time the print started enough PLA had dribbled out to affect the quality. This was caused by the "Maximum Initial Feed Rate" setting in the limit module being set to 1. I'm not sure if I set this or it was defaulted to it, but setting it to 75 sped things up.
The bright side of all this fiddling is that I now have a much better understanding of Skeinforge and gcodes, and the 20mm calibration print I fired off tonight is the best one so far!
Below are the Skeinforge settings that got the result. There is still some fine tuning to go, but perhaps they are useful for someone. I extract them to html using a groovy script at the moment, but I hope to develop something useful so people can easily record, share and compare skeinforge settings.
Toolchain
Firmware | |
---|---|
tonokip via prusasw bundle | |
Repsnapper | |
Version | 04.09.11 |
Skeinforge | |
Version | 11.02.23 |
Layer Thickness (mm): | 0.4 |
Perimeter Width over Thickness (ratio): | 1.35 |
Infill Solidity (ratio): | 1.0 |
Feed Rate (mm/s): | 30.0 |
Flow Rate Setting (float): | 30.0 |
Object Next Layers Temperature (Celcius): | 200.0 |
More Skeinforge Settings
bottom | |
---|---|
Activate Bottom | True |
Additional Height over Layer Thickness (ratio): | 0.5 |
Altitude (mm): | 0.0 |
SVG Viewer: | webbrowser |
carve | |
Add Layer Template to SVG | True |
Extra Decimal Places (float): | 2.0 |
Import Coarseness (ratio): | 1.0 |
Infill in Direction of Bridge | True |
Layer Thickness (mm): | 0.4 |
Layers From (index): | 0 |
Layers To (index): | 912345678 |
Correct Mesh | True |
Unproven Mesh | False |
Perimeter Width over Thickness (ratio): | 1.35 |
SVG Viewer: | webbrowser |
chamber | |
Activate Chamber: | False |
Bed Temperature (Celcius): | 60.0 |
Chamber Temperature (Celcius): | 30.0 |
Holding Force (bar): | 0.0 |
clip | |
Activate Clip | True |
Clip Over Perimeter Width (ratio): | 0.15 |
Maximum Connection Distance Over Perimeter Width (ratio): | 10.0 |
comb | |
Activate Comb | False |
comment | |
cool | |
Activate Cool | False |
Bridge Cool (Celcius): | 1.0 |
Orbit | True |
Slow Down | False |
Maximum Cool (Celcius): | 2.0 |
Minimum Layer Time (seconds): | 60.0 |
Minimum Orbital Radius (millimeters): | 10.0 |
Name of Cool End File: | cool_end.gcode |
Name of Cool Start File: | cool_start.gcode |
Turn Fan On at Beginning | True |
Turn Fan Off at Ending | True |
dimension | |
Activate Dimension | True |
Absolute Extrusion Distance | True |
Relative Extrusion Distance | False |
Extruder Retraction Speed (mm/s): | 10.0 |
Filament Diameter (mm): | 2.8 |
Filament Packing Density (ratio): | 0.95 |
Retraction Distance (millimeters): | 1.0 |
Restart Extra Distance (millimeters): | 0.0 |
export | |
Activate Export | True |
Add Export Suffix | True |
Do Not Delete Comments | False |
Delete Crafting Comments | False |
Delete All Comments | True |
Do Not Change Output | True |
binary_16_byte | False |
gcode_step | False |
gcode_time_segment | False |
gcode_small | False |
File Extension: | gcode |
Name of Replace File: | replace.csv |
Save Penultimate Gcode | False |
fill | |
Activate Fill: | True |
Diaphragm Period (layers): | 100 |
Diaphragm Thickness (layers): | 0 |
Extra Shells on Alternating Solid Layer (layers): | 2 |
Extra Shells on Base (layers): | 1 |
Extra Shells on Sparse Layer (layers): | 1 |
Grid Circle Separation over Perimeter Width (ratio): | 0.2 |
Grid Extra Overlap (ratio): | 0.1 |
Grid Junction Separation Band Height (layers): | 10 |
Grid Junction Separation over Octogon Radius At End (ratio): | 0.0 |
Grid Junction Separation over Octogon Radius At Middle (ratio): | 0.0 |
Infill Begin Rotation (degrees): | 45.0 |
Infill Begin Rotation Repeat (layers): | 1 |
Infill Odd Layer Extra Rotation (degrees): | 90.0 |
Grid Circular | False |
Grid Hexagonal | False |
Grid Rectangular | False |
Line | True |
Infill Perimeter Overlap (ratio): | 0.15 |
Infill Solidity (ratio): | 1.0 |
Infill Width over Thickness (ratio): | 1.5 |
Solid Surface Thickness (layers): | 3 |
Lower Left | True |
Nearest | False |
Infill > Loops > Perimeter | False |
Infill > Perimeter > Loops | False |
Loops > Infill > Perimeter | False |
Loops > Perimeter > Infill | True |
Perimeter > Infill > Loops | False |
Perimeter > Loops > Infill | False |
fillet | |
Activate Fillet | True |
Arc Point | False |
Arc Radius | False |
Arc Segment | False |
Bevel | True |
Corner Feed Rate over Operating Feed Rate (ratio): | 1.0 |
Fillet Radius over Perimeter Width (ratio): | 0.35 |
Reversal Slowdown Distance over Perimeter Width (ratio): | 0.5 |
Use Intermediate Feed Rate in Corners | True |
home | |
Activate Home | False |
Name of Homing File: | homing.gcode |
hop | |
Activate Hop | False |
Hop Over Layer Thickness (ratio): | 1.0 |
Minimum Hop Angle (degrees): | 30.0 |
inset | |
Add Custom Code for Temperature Reading | True |
Bridge Width Multiplier (ratio): | 1.0 |
Ascending Area | True |
Descending Area | False |
Overlap Removal Width over Perimeter Width (ratio): | 0.6 |
Turn Extruder Heater Off at Shut Down | True |
interpret | |
Activate Interpret | False |
Print Interpretion | False |
Text Program: | webbrowser |
jitter | |
Activate Jitter | True |
Jitter Over Perimeter Width (ratio): | 2.0 |
lash | |
Activate Lash | False |
X Backlash (mm): | 0.2 |
Y Backlash (mm): | 0.3 |
limit | |
Activate Limit | True |
Maximum Initial Feed Rate (mm/s): | 75.0 |
Maximum Z Feed Rate (mm/s): | 1.0 |
multiply | |
Activate Multiply: | True |
Center X (mm): | 100.0 |
Center Y (mm): | 100.0 |
Number of Columns (integer): | 1 |
Number of Rows (integer): | 1 |
Separation over Perimeter Width (ratio): | 15.0 |
oozebane | |
Activate Oozebane | False |
After Startup Distance (millimeters): | 1.2 |
Early Shutdown Distance (millimeters): | 1.2 |
Early Startup Distance Constant (millimeters): | 20.0 |
Early Startup Maximum Distance (millimeters): | 1.2 |
First Early Startup Distance (millimeters): | 25.0 |
Minimum Distance for Early Startup (millimeters): | 0.0 |
Minimum Distance for Early Shutdown (millimeters): | 0.0 |
Slowdown Startup Steps (positive integer): | 3 |
polyfile | |
Execute File | True |
preface | |
Name of End File: | end.gcode |
Name of Start File: | startMendel05l04PLA.gcode |
Set Positioning to Absolute | True |
Set Units to Millimeters | True |
Start at Home | False |
Turn Extruder Off at Shut Down | False |
Turn Extruder Off at Start Up | False |
raft | |
Activate Raft | False |
Add Raft, Elevate Nozzle, Orbit: | False |
Base Feed Rate Multiplier (ratio): | 1.0 |
Base Flow Rate Multiplier (ratio): | 1.0 |
Base Infill Density (ratio): | 0.5 |
Base Layer Thickness over Layer Thickness: | 2.0 |
Base Layers (integer): | 1 |
Base Nozzle Lift over Base Layer Thickness (ratio): | 0.4 |
Initial Circling: | False |
Infill Overhang over Extrusion Width (ratio): | 0.05 |
Interface Feed Rate Multiplier (ratio): | 1.0 |
Interface Flow Rate Multiplier (ratio): | 1.0 |
Interface Infill Density (ratio): | 0.5 |
Interface Layer Thickness over Layer Thickness: | 1.0 |
Interface Layers (integer): | 2 |
Interface Nozzle Lift over Interface Layer Thickness (ratio): | 0.45 |
Name of Support End File: | support_end.gcode |
Name of Support Start File: | support_start.gcode |
Object First Layer Feed Rate Infill Multiplier (ratio): | 0.4 |
Object First Layer Feed Rate Perimeter Multiplier (ratio): | 0.4 |
Object First Layer Flow Rate Infill Multiplier (ratio): | 0.4 |
Object First Layer Flow Rate Perimeter Multiplier (ratio): | 0.4 |
Operating Nozzle Lift over Layer Thickness (ratio): | 0.5 |
Raft Additional Margin over Length (%): | 1.0 |
Raft Margin (mm): | 3.0 |
Support Cross Hatch | False |
Support Flow Rate over Operating Flow Rate (ratio): | 1.0 |
Support Gap over Perimeter Extrusion Width (ratio): | 1.0 |
None | True |
Empty Layers Only | False |
Everywhere | False |
Exterior Only | False |
Support Minimum Angle (degrees): | 60.0 |
scale | |
Activate Scale: | False |
XY Plane Scale (ratio): | 1.01 |
Z Axis Scale (ratio): | 1.0 |
SVG Viewer: | webbrowser |
skeinforge | |
analyze | False |
craft | False |
help | False |
meta | False |
profile | True |
skeinforge_analyze | |
comment | False |
interpret | False |
skeiniso | False |
skeinlayer | True |
statistic | False |
vectorwrite | False |
skeinforge_craft | |
bottom | False |
carve | False |
chamber | False |
chop | False |
cleave | False |
clip | False |
coil | False |
comb | False |
cool | False |
dimension | False |
drill | False |
export | False |
feed | False |
fill | False |
fillet | False |
flow | False |
home | False |
hop | False |
inset | False |
jitter | False |
lash | False |
lift | False |
limit | False |
mill | False |
multiply | False |
oozebane | False |
outset | False |
preface | False |
raft | False |
scale | False |
skirt | False |
speed | False |
splodge | False |
stretch | False |
temperature | True |
tower | False |
unpause | False |
whittle | False |
widen | False |
wipe | False |
skeinforge_help | |
skeiniso | |
Activate Skeiniso | False |
Animation Line Quickening (ratio): | 1.0 |
Animation Slide Show Rate (layers/second): | 2.0 |
Axis Rulings | True |
Band Height (layers): | 5 |
Bottom Band Brightness (ratio): | 0.7 |
Bottom Layer Brightness (ratio): | 1.0 |
From the Bottom | False |
From the Top | True |
Draw Arrows | False |
Go Around Extruder Off Travel | False |
Layer (index): | 0 |
Layer Extra Span (integer): | 912345678 |
Line (index): | 0 |
Display Line | True |
View Move | False |
View Rotate | False |
Number of Fill Bottom Layers (integer): | 1 |
Number of Fill Top Layers (integer): | 1 |
Scale (pixels per millimeter): | 15.0 |
Screen Horizontal Inset (pixels): | 100 |
Screen Vertical Inset (pixels): | 220 |
Show Gcode | True |
Viewpoint Latitude (degrees): | 15.0 |
Viewpoint Longitude (degrees): | 210.0 |
Width of Axis Negative Side (pixels): | 2 |
Width of Axis Positive Side (pixels): | 6 |
Width of Fill Bottom Thread (pixels): | 2 |
Width of Fill Top Thread (pixels): | 2 |
Width of Infill Thread (pixels): | 1 |
Width of Loop Thread (pixels): | 2 |
Width of Perimeter Inside Thread (pixels): | 8 |
Width of Perimeter Outside Thread (pixels): | 8 |
Width of Raft Thread (pixels): | 1 |
Width of Selection Thread (pixels): | 6 |
Width of Travel Thread (pixels): | 0 |
skeinlayer | |
Activate Skeinlayer | True |
Animation Line Quickening (ratio): | 1.0 |
Animation Slide Show Rate (layers/second): | 2.0 |
Draw Arrows | True |
Go Around Extruder Off Travel | False |
Layer (index): | 0 |
Layer Extra Span (integer): | 0 |
Line (index): | 0 |
Display Line | True |
View Move | False |
Scale (pixels per millimeter): | 15.0 |
Screen Horizontal Inset (pixels): | 100 |
Screen Vertical Inset (pixels): | 220 |
Show Gcode | True |
Show Position | True |
Width of Extrusion Thread (pixels): | 3 |
Width of Selection Thread (pixels): | 6 |
Width of Travel Thread (pixels): | 1 |
skirt | |
Activate Skirt: | False |
Gap over Perimeter Width (ratio): | 1.0 |
Layers To (index): | 1 |
speed | |
Activate Speed: | True |
Add Flow Rate: | True |
Bridge Feed Rate Multiplier (ratio): | 1.0 |
Bridge Flow Rate Multiplier (ratio): | 1.0 |
Duty Cyle at Beginning (portion): | 1.0 |
Duty Cyle at Ending (portion): | 0.0 |
Feed Rate (mm/s): | 30.0 |
Flow Rate Setting (float): | 30.0 |
Orbital Feed Rate over Operating Feed Rate (ratio): | 0.5 |
Perimeter Feed Rate over Operating Feed Rate (ratio): | 0.6 |
Perimeter Flow Rate over Operating Flow Rate (ratio): | 0.6 |
Travel Feed Rate (mm/s): | 30.0 |
splodge | |
Activate Splodge | False |
Initial Lift over Extra Thickness (ratio): | 1.0 |
Initial Splodge Feed Rate (mm/s): | 1.0 |
Initial Splodge Quantity Length (millimeters): | 30.0 |
Operating Lift over Extra Thickness (ratio): | 1.0 |
Operating Splodge Feed Rate (mm/s): | 1.0 |
Operating Splodge Quantity Length (millimeters): | 1.0 |
statistic | |
Machine Time ($/hour): | 1.0 |
Material ($/kg): | 10.0 |
Density (kg/m3): | 930.0 |
Extrusion Diameter over Thickness (ratio): | 1.25 |
Print Statistics | True |
Save Statistics | False |
stretch | |
Activate Stretch | True |
Cross Limit Distance Over Perimeter Width (ratio): | 5.0 |
Loop Stretch Over Perimeter Width (ratio): | 0.11 |
Path Stretch Over Perimeter Width (ratio): | 0.0 |
Perimeter Inside Stretch Over Perimeter Width (ratio): | 0.32 |
Perimeter Outside Stretch Over Perimeter Width (ratio): | 0.1 |
Stretch From Distance Over Perimeter Width (ratio): | 2.0 |
temperature | |
Activate Temperature: | True |
Cooling Rate (Celcius/second): | 3.0 |
Heating Rate (Celcius/second): | 10.0 |
Base Temperature (Celcius): | 200.0 |
Interface Temperature (Celcius): | 200.0 |
Object First Layer Infill Temperature (Celcius): | 200.0 |
Object First Layer Perimeter Temperature (Celcius): | 200.0 |
Object Next Layers Temperature (Celcius): | 200.0 |
Support Layers Temperature (Celcius): | 200.0 |
Supported Layers Temperature (Celcius): | 200.0 |
tower | |
Activate Tower | False |
Extruder Possible Collision Cone Angle (degrees): | 60.0 |
Maximum Tower Height (layers): | 5 |
Tower Start Layer (integer): | 1 |
unpause | |
Activate Unpause | False |
Delay (milliseconds): | 28.0 |
Maximum Speed (ratio): | 1.3 |
vectorwrite | |
Add Loops | True |
Add Paths | True |
Add Perimeters | True |
Layers From (index): | 0 |
Layers To (index): | 912345678 |
SVG Viewer: | webbrowser |
widen | |
Activate Widen: | False |
wipe | |
Activate Wipe | False |
Location Arrival X (mm): | -70.0 |
Location Arrival Y (mm): | -50.0 |
Location Arrival Z (mm): | 50.0 |
Location Departure X (mm): | -70.0 |
Location Departure Y (mm): | -40.0 |
Location Departure Z (mm): | 50.0 |
Location Wipe X (mm): | -70.0 |
Location Wipe Y (mm): | -70.0 |
Location Wipe Z (mm): | 50.0 |
Wipe Period (layers): | 3 |
Comments
-
Brad Pitcher
23-06-2011 16:07
Can you provide a link to Prusa's software bundle? I can't seem to find it.
-
Gary Hodgson
23-06-2011 16:58
Sure - I originally got it from his youtube video - http://www.youtube.com/watch?v=D3dL7mqa-QI
the link is: http://bit.ly/PrusaSW
A word of warning - the startup gcode file includes a command to set the E steps per mm - which would override any firmware value.