Welcome! Log In Create A New Profile


extruder improvments?

Posted by alexdobrianski 
extruder improvments?
September 06, 2012 04:57PM
Hi I posted messages in to separate forums and did not get any response from anybody, may be in “extruder” forum somebody can help me with current problem with extruder.
Story described in:


Basically today problem is with extruder. I use PVA (I do no need another plastic – just PVA, nothing else suited my needs).

PVA melt flow index is 1.5~3.0 to compare with PLA it is 5. That mean needs to slow down extrusion at least 5/1.5 = 3 times which is translated to a speed 8mm/min instead of 30mm/min for PLA.

It was my first experience with 3D printers for sure I did not get this formulas from the beginning, in forums was nothing about settings for PVA, calibration process I learned hard way, confusions about settings, software, firmware and etc., and I started with speed 30mm/min. For sure extruder jammed. After couple cleaning (today it was number 4) I realized that in extruder (in current design state) has couple problems – I do not know how to solve it.

1.There is nothing to prevent jam in extruder with melting filament overflow .
2.Temperature swing by plus – minus 10 degree C, can contribute to a jams with overflow.

Again, problem is with melting flow index – it changes with temperature, it different for different filament. Needs to have (I think it is possible to do this by utilizing software/firmware) something to detect/estimate that situation.

For example temperature stabilization – does anybody have better way to holding temperature for extruder – I can not get it better then plus-minus 5C (by reducing interval for temperature readings 10 times). I am looking now into a source code for Sprinter firmware – but may be somebody already figure out how to do this?

Or to have some overfill valve? Or measuring current of a extruder’s stepper motor?
Re: extruder improvments?
September 06, 2012 05:22PM
How is your sensor connected to the heated body, and how close to the actual melting zone?
A poor thermal adhesion to the DUT (in this case, the melt zone in the heated-end) and/or poor placement of the sensor means sloppy, inaccurate system response.

What sensor type are you using? Thermocouple? Thermistor? If thermocouple, sheathed or unsheathed?
IIRC, thermocouples are pretty slow, if I recall correctly, slower than thermistors, and even slower when sheathed. AFAIK, you want the fastest possible response from your sensor, so that temperature droops as material sucks energy out of the heated body can be replaced by the heater, in order to maintain a uniform temperature at the ejection nozzle. Obviously this is dependent on extrusion speed. The details are another devil, but a well designed temp control can overcome them without knowing what the extrusion speed is, simply by reacting to energy loss (ie, temp dropping out of the control band)

Are you employing PID or using bang-bang? Bang bang is suitable for crude control. That's all. period.

Edited 1 time(s). Last edit at 09/06/2012 05:43PM by xiando.
Re: extruder improvments?
September 06, 2012 06:54PM
I am using thermistor 100k, Extruder is a brass M6 barrel, length around 40 mm(http://www.a2aprinter.com/index.php?route=product/product&product_id=68 ), on side of a thread the brass nozzle (http://www.a2aprinter.com/index.php?route=product/product&product_id=63 ). On top of nozzle aluminum heater block (http://www.a2aprinter.com/index.php?route=product/product&path=34&product_id=61 ), with two resistors (two holes) and one hole for thermistor.

I wrapped thermistor to layers of a kapton tape and inserted tightly to a hole.

When I checked temperature in ReplicatorG control panel I conforming readings by separate digital thermometer tightly connected to a heater block .
Readings from thermometer and values in control panel was different let say 2-3 degree. But they shows the same swing – temperature was up to 200 then it dropped to 180, and then looped again, loop was longer then 10 seconds.

In Sprinter I using PIDTEMP enable but the code actually did included in compilation – it is only for a case #ifdef HEATER_USES_MAX6675 or HEATER_USES_AD595

I’ll try tonight to enable code for thermistor , may be this can help.
Re: extruder improvments?
September 06, 2012 07:15PM
Actually I was wrong about #ifdef – for thermistor TEMP_0_PIN is defined (in pins.h). Also PID_SOFT_PWM defined too - that mean code for temperature adjustment compiled and used for a thermistor.
Re: extruder improvments?
September 06, 2012 07:59PM
The fact that your reference measurements from the external sensor and measurement tool correlate well with the internal measurements implies there's nothing wrong with your sensing circuit, but something bad is happening with your control loop, since it appears to not be updating its values in a timely manner. idk.
Re: extruder improvments?
September 06, 2012 10:05PM
I just did simulations of a data using PID - it is looking that the formula not entirely working well.

I need to confirm this in experiment but looks like swing inside formula.

I assume for calculation the variation 10C during 20 sec loop (as I did see for my case), and just simply calculates all variables in iteration steps in main_heater function inside heater.cpp.

Starting from a temperature 180 C it shows heater_duty average = 114, then when it reach 5 seconds later 190 (target temperature) heater_duty = 121 (looks correct higher temperature == bigger duty cycle) then when temperature reach 200 value is 119 (again look correct == needs to cool), again drop to 190 heater_duty=101, back to 180, and back to 190 now the same value = 121.

It did not compensate loop – the swing on second loop must be at least different.

Then I tried different PID_DGAIN (as comments == value of X means that around reached setpoint, each degree change over one measurement (half second) adjusts PWM by X units to compensate) and decreased PID_DGAIN. And now it shows different heater_duty=117 for 190 target temperature.

It did not suppress cycle. Yes - it did not amplified it (which is good, as I understand it is hard to do it in thermodynamics by itself), but it produced cycle. And to minimize cycle amplitude (temperature variation) needs ether to switch to something different then PID or to tailored PID for specific target temperature.
Re: extruder improvments?
September 07, 2012 02:44PM
After yesterday experiments it was confirmed – “PID formula” creates cycles of temperature by itself. Period is 1min 20 sec and period is stable, even 20 minutes it stay amplitude and period the same.

To repro situation needs to compile firmware (Sprinter) and monitor temperature in ReplicatorG.

That is definitely creates a problem with extruder in my case:

for PVA stating flow point is 180C, starting coagulation temperature for PVA is 200C.

Setting target temperature to 190 makes extruder jam when temperature drop to 180, and melt flow index = 0. That make pressure inside extruder jump, and small jam created.

On another hand when temperature reach 200 it coagulates PVA on a surface of extruder (that will contribute to a jam in a future.

Firmware with PID enable (I do not know correct name = “#define PIDTEMP 1” uncommented) is not capable to print PVA without jam.

To avoid problem need to find solution ether by releasing extra pressure, or by different algorithm of regulation.

I tried setting HEATER_CHECK_INTERVAL to 50 ms – amplitude of cycle dropped to +-5C, period was same, and I believe this is not because of algorithm as it is – just coincidence – when I debugged formula in spreadsheet – in each interval of time it jumped for one bigger value for heater_duty to a smaller value. With 50ms looks like it just “skipped” some of that jumps. When I tried different interval it just returned to same +-10C.

I believe for a plastic with more stable parameters of melt flow index (PLA/ABS) that problem with temperature regulation in extruder is not big impact – plastic flows in a range of +-10C and index is different but varies not much.

I also check “regular” temperature control (with PIDTEMP commented out) in this case when temperature reaches 191 it switches off, when it is low then 190 –then it is on. Cycles become shorter, and temperature variation is +-5C.

Then I did experiments with heat absorber (I hold heater by big pliers – good contact and good heat adsorption). PID formula works better then on-off algorithm when there is a flow of a heat to cold pliers, when pliers become hoot (around 60 C – around temperature when plastic insulation on pliers did allow to hold it in hands more) then “on-off” started to work better.

Definitely to improve extruder for 3D printer needs to control temperature better then +-5C.

Does anybody have any idea how to make it work?

I’ll try by myself – but definitely this is a common problem, may be somebody already did experiments and found solution?

Alex Dobrianski
Re: extruder improvments?
September 07, 2012 07:23PM
I use Marlin firmware with PID control and a J-Head hotend. It is able to maintain hotend temperature to less than +-1 C at a setting of 200 C. Overshoot on first heating is less than 3 C too.

Help improve the RepRap wiki!
Just click "Edit" in the top-right corner of the page and start typing.
Anyone can edit the wiki!
Re: extruder improvments?
September 08, 2012 03:56AM
Thanks NewPerfection. Since I'm new to printing and haven't even finished my first build, I was beginning to get very worried I might have made a mistake. After a bit over $650 invested and an impending ~$200-300 worth of filament being ordered in the next few days, I really appreciate the relief you just gave me. (this is one area I think the wiki is kinda weak. characterization and clarification of technical details. No personal offense intended to the many dedicated and ambitious folks involved, but I've rarely felt so blind with a new paradigm in the past 20 years or so as I feel in reprap, so again, danka, thanks, obrigado, gracias, etc...one more tidbit of clear info to stuff into my brain and remove some more fog )

Alex, did you modify the PID routine? I was surprised to hear your report of the poor performance you're observing, (hence my questions about the sensor and build) and I'm still not quite sure if you're really running the PID or the bangbang on the heated-end, or indeed whether you might have either tried to alter the routine itself within firmwares' temperature.cpp/heater.cpp file or just seriously tweaked the PID parameters in the header file. (or I guess...possibly a very poorly defined PID triplet - Kp Ki Kd. ).

I would *expect at least the precision of the 1 degree control band that NewPerfection reports, rather than the 5-10C band you've noted.

Have you applied debug code to verify that your firmware changes are being accepted by the micro?

The only other thing I can think of is a few times in my past life (industrial test stands for an unrelated technology) when there was an intermittent power supply that cycled in and out of over-temp shutdown due to bad decision making at the design stage (over-taxed and under-cooled...and fortunately not my decision!), that caused a hydraulic servo control loop to go well out of tolerance when the marginal power supply for the embedded computer choked every few minutes..and another for a pneumatic system that I was called in to debug that displayed much the same issue, albeit with different hardware, but it ended with the same basic issue at fault, although the failure in that case was at the signal conditioning rack that fed the controller it's set signal) Have you monitored the power supply during these tests to verify that it's not at fault?

If you have, it might be time to re-download the source (clean) from whichever repo, and start over from scratch.
Re: extruder improvments?
September 08, 2012 11:40AM
Marlin has a mechanism to "auto tune" the PID values to your hot end , ir's an iterative process, you run it a few times and copy the values back into configuration.h.
The process will pretty quickly take you from +/- 5 degrees to +/- 1.
With sprinter I think you're on your own with setting PID values.
Re: extruder improvments?
September 10, 2012 08:27AM
> With sprinter I think you're on your own with setting PID values.

Sprinter (experimental branch, at least) has implemented PID auto-tuning as well, the command is M303. In my experience it gets the values pretty close, but for my setup I had to do the final tweaking by hand to get the overshoot and stability I wanted.
Re: extruder improvments?
September 10, 2012 05:06PM
I tried to modify PID, also tried not modified version of PID, and also tried bang-bang. It is properly “upload” to a Mega 2560. I did see difference right away on a graph with two methods to control temperature, and in messages like _DEF_CHAR_UUID.

Problem I believe in magic formula, (line with HEATER_DUTY_FOR_SETPOINT).

Formula looks like assumed condition that target temperature will be (200-230), and will be “cooling” by injecting “cold” filament into extruder. More heat “flow” == less amplitude of T(t). As I understand, it tries to balance flow of energy in and energy out by making bigger or smaller duty cycle. I was not able to figure out how tailored it for a temperature 190, and slow PVA feed speed.

And I also did not figure out how to tailored PID in debug mode yet. I have to look at Marlin.

When I did experiments with attached heat think (pliers) it performed better. Again looks like problem again with PVA – if before printing (when cold filament is not steadily delivered to extruder) and temperature== 200C jam will be guaranteed later. Before start to print (when not much filament “adsorb” heat from extruder), and in a process of printing (when filament steady delivered) the temperature must be in range to avoid coagulation of PVA.

May be PID formula will work perfect with PLA or ABS.So far not much success for me – two small parts was printed with PVA and extruder was gone, 3 cleaning == 3 nights lost. I get another extruder and another type (J-head) of extruder – it is not practical to lost extruder after couple prints.
Re: extruder improvments?
September 11, 2012 07:34PM
Well – result on another night experiments.

Sprinter from experimental branch shows the same behavior – swing +-10C. Has some auto-adjust futures. Played with it for couple hours without better then performance, returned back to a “main” Sprinter.

Attempt to intensively cool Teflon barrel/brass barrel ( hot end of extruder) by fan (this simulate printing process == pushing filament “adsorbs’ heat == fan does approximately the same ) did show a progress with temperature – it changes slower(cooling get contribution) as a result temperature control was more reliable – it just simply has a time to properly handle the temperature changes.

But again – it was -4 +2 == 6 degree swing. And to properly hold around 190 needs to set target somewhere near 191 (top 192 low 188).
Looks like it is best from algorithm.

When cooling intensified or decreased (simulation of a different speed of flow rate like head travel without pushing filament, then extrude and etc.) shows drop - 8 degree and overhead +3 degree. It is good from one point of view == PVA will be not coagulate, but again it is not good – with drop to 183 it is close to melt flow point.

I just looked to PID – it is 500 Hz and step is 1/256 – Looks like it is possible to have better precision with 8 consecutive value of duty cycle. For example - if need to set 120 duty cycle – all 8 cycles can are the same == 120. If need to have 120 +1/8 then first duty cycle will be 121 and rest 7 will be 120. If need to have 120+4/8, then each even cycle can have 121 and odd will have 120, and etc.

Then I tried to work with J-head. It is smaller – temperature delay will be definitely smaller and PID should work better.
Problem – it is not fitted to extruder holder. Diameter needs to adjusted.
Next problem – two screw does not hold it without damage the J-head holder. Spend 3 hours to find solution (Forums suggest to have holder plate). Avoid by pure luck damage of a plastic part of extruder. Finally kind of fixed, J-head is holding tightly.
Next problem at 4AM J-head is for 3mm filament – needs to order PVA with different diameter, J-head abandoned for next 2 weeks.

What is mostly annoying in a process of assemble/disassembly of extruder - two holding screw are behind plastic gear wheel – each time needs to dissemble gear then after it is possible to remove hot end.

So far today hope with PVA is for – extruder speed 9mm/min, Sprinter firmware set for PID (may be combination PID with/bang-bang), cooling fan turned on in a time of pre-heat, teflon barrel with holes in the middle to cool at insertion.
Re: extruder improvments?
September 13, 2012 03:10PM
Well – 9mm/min is working – I totally do not understand that business with 9mm/min – is it suppose to be is a speed of extruder pushing filament into a hot end. I just visually confirm it by gear rotation speed. Then when ReplicatorG generates G-code with that speed (9) set and build started gears definitely rotates slow then for 18mm/min – but it is definitely not a 9mm/min – settings in G-generator lives its own life.

My story is not finished yet – after print testing cube (takes 1 hour – but it is acceptable for me) needs to ”Reset machine” otherwise on next print extruder like crazy reversed filament and try to set E-axis to zero (needs to cancel build and start from the beginning).

Then needs to disable all automatic upgrades in Windows – Microsoft can push to your computer essential updates and at 3 AM it can restarted in the middle of a print.

Then needs to have spare glass – if because of a difference of a temperature it will be shattered it 4AM not much to do.

Then needs to have a spear power supply. PC power supply in current days comes without current protection == big bang, and sparks inside power supply guaranteed.
Re: extruder improvments?
September 14, 2012 03:17AM
Set MS updates for only when you select it. I have it set so I get the banner notifying me that one is ready for install, but it will not proceed without me initiating the update procedure.

coughs (fuses, circuit breakers, etc...)

So you're literally printing with Elmer's glue (standard PVA)? what is the end purpose? as water soluble support material?
Re: extruder improvments?
September 15, 2012 07:53PM
PVA because in need to make molds (http://www.adobri.com/ProjectVe.aspx)– Plastic from Shapeway is perfect for this – alumini can hold up to 180C – enough for my epoxy (first cure must be in mold 92C and second 163C can be done out of mold), but complicated parts require complicated mold - it is much easy to use combined – partly from alumini and partly desolvable.

PVA I ordered from Ulimachine.
Re: extruder improvments?
September 18, 2012 01:32PM
That are settings for PVA, on Prusa, Sprinter, RAMPS1.4, in Configuration.h essentials:
#define MOTHERBOARD 33
#define _AXIS_STEP_PER_UNIT {80, 80, 3200/1.25,526.33}
//#define PIDTEMP 1
#define PID_SOFT_PWM
#define MINTEMP 5
#define MAXTEMP 275
in gcode:
(** This GCode was generated by ReplicatorG 0037 **)
(* using Skeinforge (50) *)
G90 ;set positioning to absolute
G21 ;set units to millimeters
G28 ;start at home
( extrusion )
( 3 )
( 0.33 )
( 0.36 )
( 1.0 )
( 0.1 )
( 0.866 )
( 0.33 )
( loops edge infill )
( 999.0 )
( 1.5 )
( 10.0 )
( 1.0 )
( 10.0 )
( 0.0 )
( 10.0 )
( 3.0 )
( 1.0 )
( 190.0 )
( 190.0 )
( 190.0 )
( 180.0 )
( 190.0 )
( 190.0 )
( 190.0 )
( 0.3 )
( 0.36 )
( 0.36 )
( PVA )
( bottom Activate_Bottom True )
( bottom Additional_Height_over_Layer_Thickness_(ratio): 0.5 )
( bottom Altitude_(mm): 0.3 )
( bottom SVG_Viewer: webbrowser )
( chamber Activate_Chamber True )
( chamber Bed_Temperature_(Celcius): 85.0 )
( chamber Bed_Temperature_Begin_Change_Height_(mm): -1.0 )
( chamber Bed_Temperature_End_Change_Height_(mm): -1.0 )
( chamber Bed_Temperature_End_(Celcius): 20.0 )
( chamber Chamber_Temperature_(Celcius): 0.0 )
( chamber Holding_Force_(bar): 0.0 )
( clip Activate_Clip True )
( clip Clip_Over_Perimeter_Width_(ratio): 0.3 )
( clip Maximum_Connection_Distance_Over_Perimeter_Width_(ratio): 10.0 )
( comb Activate_Comb True )
( comb Running_Jump_Space_(mm): 2.0 )
( cool Activate_Cool True )
( cool Bridge_Cool_(Celcius): 1.0 )
( cool Orbit False )
( cool Slow_Down True )
( cool Maximum_Cool_(Celcius): 1.0 )
( cool Minimum_Layer_Time_(seconds): 5.0 )
( cool Minimum_Orbital_Radius_(millimeters): 10.0 )
( cool Name_of_Cool_End_File: cool_end.gcode )
( cool Name_of_Cool_Start_File: cool_start.gcode )
( cool Orbital_Outset_(millimeters): 2.0 )
( cool Turn_Fan_On_at_Beginning True )
( cool Turn_Fan_Off_at_Ending True )
( dimension Activate_Dimension True )
( dimension Absolute_Extrusion_Distance True )
( dimension Relative_Extrusion_Distance False )
( dimension Extruder_Retraction_Speed_(mm/s): 10.0 )
( dimension Filament_Diameter_(mm): 1.75 )
( dimension Filament_Packing_Density_(ratio): 1.0 )
( dimension Maximum_E_Value_before_Reset_(float): 91234.0 )
( dimension Minimum_Travel_for_Retraction_(millimeters): 1.0 )
( dimension Retract_Within_Island False )
( dimension Retraction_Distance_(millimeters): 1.0 )
( dimension Restart_Extra_Distance_(millimeters): 0.0 )
( export Activate_Export True )
( export Add_Descriptive_Extension False )
( export Add_Export_Suffix False )
( export Add_Profile_Extension False )
( export Add_Timestamp_Extension False )
( export Also_Send_Output_To: )
( export Analyze_Gcode True )
( export Do_Not_Delete_Comments True )
( export Delete_Crafting_Comments False )
( export Delete_All_Comments False )
( export Do_Not_Change_Output True )
( export binary_16_byte False )
( export gcode_step False )
( export gcode_time_segment False )
( export gcode_small False )
( export File_Extension: gcode )
( export Name_of_Replace_File: replace.csv )
( export Save_Penultimate_Gcode False )
( fill Activate_Fill True )
( fill Diaphragm_Period_(layers): 100 )
( fill Diaphragm_Thickness_(layers): 0 )
( fill Extra_Shells_on_Alternating_Solid_Layer_(layers): 1 )
( fill Extra_Shells_on_Base_(layers): 1 )
( fill Extra_Shells_on_Sparse_Layer_(layers): 1 )
( fill Grid_Circle_Separation_over_Perimeter_Width_(ratio): 0.2 )
( fill Grid_Extra_Overlap_(ratio): 0.1 )
( fill Grid_Junction_Separation_Band_Height_(layers): 10 )
( fill Grid_Junction_Separation_over_Octogon_Radius_At_End_(ratio): 0.0 )
( fill Grid_Junction_Separation_over_Octogon_Radius_At_Middle_(ratio): 0.0 )
( fill Infill_Begin_Rotation_(degrees): 90.0 )
( fill Infill_Begin_Rotation_Repeat_(layers): 1 )
( fill Infill_Odd_Layer_Extra_Rotation_(degrees): 90.0 )
( fill Grid_Circular False )
( fill Grid_Hexagonal False )
( fill Grid_Rectangular False )
( fill Line True )
( fill Infill_Perimeter_Overlap_(ratio): 0.1 )
( fill Infill_Solidity_(ratio): 0.75 )
( fill Sharpest_Angle_(degrees): 60.0 )
( fill Solid_Surface_Thickness_(layers): 3 )
( fill Lower_Left True )
( fill Nearest False )
( fill Surrounding_Angle_(degrees): 60.0 )
( fill Infill_>_Loops_>_Perimeter False )
( fill Infill_>_Perimeter_>_Loops False )
( fill Loops_>_Infill_>_Perimeter False )
( fill Loops_>_Perimeter_>_Infill True )
( fill Perimeter_>_Infill_>_Loops False )
( fill Perimeter_>_Loops_>_Infill False )
( home Activate_Home True )
( home Name_of_Home_File: home.gcode )
( jitter Activate_Jitter True )
( jitter Jitter_Over_Perimeter_Width_(ratio): 2.0 )
( raft Activate_Raft True )
( raft Add_Raft,_Elevate_Nozzle,_Orbit: True )
( raft Base_Feed_Rate_Multiplier_(ratio): 0.65 )
( raft Base_Flow_Rate_Multiplier_(ratio): 1.0 )
( raft Base_Infill_Density_(ratio): 0.25 )
( raft Base_Layer_Thickness_over_Layer_Thickness: 1.0 )
( raft Base_Layers_(integer): 1 )
( raft Base_Nozzle_Lift_over_Base_Layer_Thickness_(ratio): 0.4 )
( raft Initial_Circling: False )
( raft Infill_Overhang_over_Extrusion_Width_(ratio): 0.2 )
( raft Interface_Feed_Rate_Multiplier_(ratio): 1.3 )
( raft Interface_Flow_Rate_Multiplier_(ratio): 0.9 )
( raft Interface_Infill_Density_(ratio): 0.3 )
( raft Interface_Layer_Thickness_over_Layer_Thickness: 1.0 )
( raft Interface_Layers_(integer): 2 )
( raft Interface_Nozzle_Lift_over_Interface_Layer_Thickness_(ratio): 0.3 )
( raft Name_of_Support_End_File: support_end.gcode )
( raft Name_of_Support_Start_File: support_start.gcode )
( raft Operating_Nozzle_Lift_over_Layer_Thickness_(ratio): 0.0 )
( raft Raft_Additional_Margin_over_Length_(%): 2.5 )
( raft Raft_Margin_(mm): 2.5 )
( raft Support_Cross_Hatch False )
( raft Support_Flow_Rate_over_Operating_Flow_Rate_(ratio): 0.7 )
( raft Support_Gap_over_Perimeter_Extrusion_Width_(ratio): 0.005 )
( raft None True )
( raft Empty_Layers_Only False )
( raft Everywhere False )
( raft Exterior_Only False )
( raft Support_Minimum_Angle_(degrees): 45.0 )
( speed Activate_Speed True )
( speed Add_Flow_Rate: True )
( speed Bridge_Feed_Rate_Multiplier_(ratio): 1.0 )
( speed Bridge_Flow_Rate_Multiplier_(ratio): 1.0 )
( speed Duty_Cyle_at_Beginning_(portion): 1.0 )
( speed Duty_Cyle_at_Ending_(portion): 0.0 )
( speed Feed_Rate_(mm/s): 10.0 )
( speed Flow_Rate_Setting_(float): 10.0 )
( speed Object_First_Layer_Feed_Rate_Infill_Multiplier_(ratio): 1.5 )
( speed Object_First_Layer_Feed_Rate_Perimeter_Multiplier_(ratio): 1.1 )
( speed Object_First_Layer_Flow_Rate_Infill_Multiplier_(ratio): 1.0 )
( speed Object_First_Layer_Flow_Rate_Perimeter_Multiplier_(ratio): 1.1 )
( speed Orbital_Feed_Rate_over_Operating_Feed_Rate_(ratio): 0.0 )
( speed Maximum_Z_Feed_Rate_(mm/s): 999.0 )
( speed Perimeter_Feed_Rate_Multiplier_(ratio): 1.0 )
( speed Perimeter_Flow_Rate_Multiplier_(ratio): 1.0 )
( speed Travel_Feed_Rate_(mm/s): 10.0 )
( temperature Activate_Temperature True )
( temperature Cooling_Rate_(Celcius/second): 3.0 )
( temperature Heating_Rate_(Celcius/second): 1.0 )
( temperature Base_Temperature_(Celcius): 180.0 )
( temperature Interface_Temperature_(Celcius): 180.0 )
( temperature Object_First_Layer_Infill_Temperature_(Celcius): 180.0 )
( temperature Object_First_Layer_Perimeter_Temperature_(Celcius): 180.0 )
( temperature Object_Next_Layers_Temperature_(Celcius): 180.0 )
( temperature Support_Layers_Temperature_(Celcius): 180.0 )
( temperature Supported_Layers_Temperature_(Celcius): 180.0 )
( 20120917_033348 )
( carve )
( bottom )
( preface )
( inset )
( fill )
( speed )
( temperature )
( raft )
( chamber )
( jitter )
( clip )
( comb )
( cool )
( dimension )
( export )
M140 S85.0
M141 S0.0
M142 S0.0
;M113 S1.0
;M108 R10.0
M104 S190.0
Re: extruder improvments?
September 18, 2012 02:13PM
Well, at first glance, and not that's its technically germain for your purposes (fine control over temp of PVA extrusion), but if you're running PVA I doubt that the max_temp overtemp shutdown threshold needs to be quite so high... In fact, even for PLA or ABS it doesn't need to be so high either and can in fact be considered a detriment for any of the aforementioned materials.

the rest is to my newbie eyes somewhat gibberish at this point.
Re: extruder improvments?
September 18, 2012 03:42PM
In another words:

MAX_TEMP and MIN_TEMP are essential not mostly by it value, but because it protects again unforeseen problem with temperature control – it switch off heating in emergency situations.

PID_TEMP commented out – bang-bang in use == it is better for controlling temperature. PID is also has the problem because at a print time it check temperature with different time interval – and different time interval makes first derivative of measured temperature not entirely correct – temperature measurements are not done on interrupt levels – I can fix it but I do not have a time for this improvements now.
By the way – In GUIs (ReplicatorG and etc.), at print time, temperature reporting (separate from controlling temperature) is with big intervals – as a result the period of temperature swing is not visible (needs to fix this in java – but not today).

In GCODE == that is a portion with comments – they explain corresponding settings of sceinforge. All ratio for perimeter, first layer, raft, etc. -takes tons of time to properly set for PVA with its slow melt flow index.

For PVA & filament 1.75 == feed 10, flow 1 (in GCODE it shows 10 but in settings it is 1), travel feed = 10,

Also another point in GCODE - for solid fill-up of an object needs to choose pattern “line” and set “Solidity ration” = 0.75. otherwise extruder collects blob with of PVA on it. “Wipe” does need to be fixed = instead of move extruder to “wipe” area and then return it back to a layer – bug is == “wipe” moves with offset. If it is not set as a line – printer starts shaken and perimeter layers are not lineup.

Automatic adjustments of all parameters will be nice to have( for example by some measurement of a flow index and then automatic calculations), or at least to have a “basic” settings available to download for different filaments, different extruders, temperature and etc (kind of an online database == choose extruder, filament, temp = > download basic settings), that takes a LOT of time to find all parameters by experiments . But again not for now - after 1.5 month problems with everything, have to switch head back to original task - what to print, not how.
Re: extruder improvments?
September 18, 2012 05:18PM
Forget another explanation from GCODE of my previous post – layer thickness == 0.33. PVA just solidify right away, set it less == garbage on a nozzle = set it bigger 0.42 (average diameter of a thread) makes line not entirely strait. RepRap Josef Prusa’s calculator (http://calculator.josefprusa.cz/) predict diameter correctly, but flow index does not accepted into account and layer height as 0.2 does not work for PVA @ 190C.

And about extruder improvements - It will be nice to have an “extruder settings server” with this algorithm:
-in application (ReplicatorG, and etc.) choose extruder, filament, type of a printer = > profile downloaded = > print started (saved a lot of time for beginners)

- After experiments and adjustments, when printer printed at least couple hundred cubical cm with settings unchanged, an application asked to upload “stable” settings to a “setting server”, with “comments”.

- Settings stored at “settings server” as a record individually in XML format, and it also adjust “average” value for a type of extruder, machine, firmware, nozzle, hot end and etc..

- Anytime application started it download “average/recommended/ranged” profiles and in settings ranges/average is showed up.

- On a “setting server” should be capability to search by “comments” to get “individual” settings. Using XML as representation of settings will make possibility to be compatible (via convertor) with different GCODE engine.

No need to have a “fancy” server – simple averaging can help a lot and not only to the beginners – each experiments with extruder settings can be beneficiary to everybody.
Re: extruder improvments?
September 18, 2012 05:31PM
Min temp to prevent operation with the extruder unheated, max for overtemp. right. So for PVA, you'd want that value reduced well below the 275C to prevent burnup of the PVA in your heated extruder if you get a runaway condition, perhaps set ~10 degrees or so above your desired range..

All the rest, understood and I agree with many of your assertions regarding usage by the general public.
Re: extruder improvments?
September 19, 2012 06:21PM
Yes you right - MAXTEMP for PVA must be around 200C-205C – this variable is precompiled into firmware – the better implementation will be some GCODE’s M - in that case do no need to recompile firmware for different filament (I do not care about this case – but for somebody with switching filament it can be useful).

Exact MAX_TEMP depend on hotend parameters, speed of filament in and extrusion out. It is also required good temperature measure (calibration) by separate measuring device.

MIN_TEMP is also (as I understand in a source e code) to prevent short-cut of an temperature resistor.
Any over MAX_TEMP or under MIN_TEMP just switched off hotend.
Re: extruder improvments?
September 19, 2012 07:17PM
Good point. I'd momentarily forgotten the limited scope of the safety protocols used by the reprap initiative. Yes, Min temp substitutes for a proper thermistor error detection.

And as to Max_temp, yes, of course, it should be tailored to your desired extrusion material and actual operating conditions. As for the temperature varying in the hot end, it shouldn't be varying much, if you think about it. The purpose of the PID is to keep energy flowing in to replace losses and maintain "constant" temperature within the control band (which also necessarily includes min/max extrusion rate in a system such as this)
Sorry, only registered users may post in this forum.

Click here to login