Notifications
Clear all

script to drop temperature during ramming  

Stránka 4 / 5
  RSS
Paul Meyer
(@paul-meyer)
Honorable Member
Topic starter answered:
Re: script to drop temperature during ramming


I apologize did someone ask already but how do you use this script? I have a Windows 10 base PC to run slic3r and use octopi pi on rasp 3.

You have several options. On Windows, I would start here:

https://docs.python.org/3.3/using/windows.html

This will show you how to install python3 on Windows.

Then look at this:
https://docs.python.org/3.3/using/windows.html#launcher

Which describes how to set up your paths, etc. You should then be able to run this in a command shell.

py hello.py

==========

btw, I suspect (from some of the errors earlier in the thread) that Windows10 has a default python2 install. In that case, you might be able to skip all of the above and just type "py cool_ram.py -h" in the command shell, and then look at the help/examples there to figure your way forward.

==========

Alternatives:
- If you are comfortable with Linux, ssh into your raspberri pi, copy the gcode files there, run on raspbian linux.
If you have the default raspbian build, python3 is located at /usr/bin/python3, so edit the first line of my script appropriately, or simply run "python3 cool_ram.py -t 190 ..." instead of executing the script directly.

- Install "Linux subsystem for windows". Good excuse to get yourself a good command shell and basic scripting capabilities on Windows. I have not tried this myself.

==========

If you get it working, or run into any issues, please report back here to help others in the same boat.

Napsal : 24/10/2018 3:58 pm
Paul Meyer
(@paul-meyer)
Honorable Member
Topic starter answered:
Re: script to drop temperature during ramming


The script is working but my prints are still failing

I've tried print temps of 200 with 1.5s ram and 2.5s ram
I've tried ram temps of 180, 185, 190 (failed to eject)
I've tried ram temps of 193 (too stringy)

I guess I'll keep trying, maybe this Atomic filament is just not the right one for the MMU.

Yes, it is not a magic bullet, just another tool in the toolbox.

I have some filament (Inland PLA black, white, yellow, purple) that works *perfectly* (at 200C, stock ram) with or without cooling the ram. I have some (MH Build) that seems to not work at all (long strings). I have some (Inland PLA Red, prototype PLA brown) that gets medium size strings. Dropping ram temp seems to thicken the strings and shorten them a bit, but they are still too long with basic "-nwt -nwr -t 180" cooling.

I've ordered more Inland PLA to broaden my color palette (especially brown! My kittens with purple bellies are really bugging me!).

My next step on the currently stringy PLA is to:
- lower the temp even further for thos
- increase ram time for those
- try more aggressive ram cooling for those (stabilize at 190, then turn off the power completely during ram). [this isn't in the script yet, working on it]

I'm also getting tired of inspecting tips during normal (slow) prints. I'm working to generate custom gcode that does nothing but lay down a line of filament, do a tool change sequence, slide the selector over, and repeat.

Ideally I'd also like to hack the MMU2 firmware to use the idler to actually stick the tip out for inspection (move the selector over, but keep the idler in place, stick out the filament a few cm, wait 10 seconds, withdraw, shift selector back. That is a longer term proposal.

Napsal : 24/10/2018 4:17 pm
Joe
 Joe
(@joe-16)
Eminent Member
Re: script to drop temperature during ramming



The script is working but my prints are still failing

I've tried print temps of 200 with 1.5s ram and 2.5s ram
I've tried ram temps of 180, 185, 190 (failed to eject)
I've tried ram temps of 193 (too stringy)

I guess I'll keep trying, maybe this Atomic filament is just not the right one for the MMU.

Yes, it is not a magic bullet, just another tool in the toolbox.

I have some filament (Inland PLA black, white, yellow, purple) that works *perfectly* (at 200C, stock ram) with or without cooling the ram. I have some (MH Build) that seems to not work at all (long strings). I have some (Inland PLA Red, prototype PLA brown) that gets medium size strings. Dropping ram temp seems to thicken the strings and shorten them a bit, but they are still too long with basic "-nwt -nwr -t 180" cooling.

I've ordered more Inland PLA to broaden my color palette (especially brown! My kittens with purple bellies are really bugging me!).

My next step on the currently stringy PLA is to:
- lower the temp even further for thos
- increase ram time for those
- try more aggressive ram cooling for those (stabilize at 190, then turn off the power completely during ram). [this isn't in the script yet, working on it]

I'm also getting tired of inspecting tips during normal (slow) prints. I'm working to generate custom gcode that does nothing but lay down a line of filament, do a tool change sequence, slide the selector over, and repeat.

Ideally I'd also like to hack the MMU2 firmware to use the idler to actually stick the tip out for inspection (move the selector over, but keep the idler in place, stick out the filament a few cm, wait 10 seconds, withdraw, shift selector back. That is a longer term proposal.

I know it’s not magic, was just hoping for noticeable improvement.

Based on your experience is this a fair general assessment? I want to make sure I understand the trade offs.

Lower temps during ram = less stringy than high temps
Downside Of Too low of temp during ram = fail to eject

Longer ram = less string but larger diameter tip, more likely to jam.

So it seems like the correct approach would be to find the lowest possible temp that will eject, and once I determine that I should start at maybe 1s ram and steadily increase ram until stringing is gone. There should be a sweet spot between stringing and jamming (too much ram).

If there is no sweet spot there, what would you change next?

Napsal : 24/10/2018 7:03 pm
Paul Meyer
(@paul-meyer)
Honorable Member
Topic starter answered:
Re: script to drop temperature during ramming

Based on your experience is this a fair general assessment? I want to make sure I understand the trade offs.

Lower temps during ram = less stringy than high temps
Downside Of Too low of temp during ram = fail to eject

Longer ram = less string but larger diameter tip, more likely to jam.

So it seems like the correct approach would be to find the lowest possible temp that will eject, and once I determine that I should start at maybe 1s ram and steadily increase ram until stringing is gone. There should be a sweet spot between stringing and jamming (too much ram).

If there is no sweet spot there, what would you change next?

I'm only about a day ahead of you in experimentation (I was traveling last week and able to work on the script but not the MMU2).

I think your approach is solid. Slight modification:
- find the lowest temp you can successfully (reliably) print with for a given filament (quick single color print)
- See how the tip looks with that temp and normal ram/unload settings
=> redo this for *each* filament, even from the same brand!
- If the tip looks good (get three or four examples), use that setting! Done.

Good:

Bad:

- If the tip looks bad, start experimenting
=> try a longer ram time
=> try a different unload-start speed (faster? slower? try both, see if either seems to improve things)
=> try the ram cool script

Right now, I am having some luck with a combination of lower temperature ram, plus increased ramming time. I also need to read some of the threads to understand more about the load/unload speeds.

Napsal : 24/10/2018 11:22 pm
nuroo
(@nuroo)
Reputable Member
Re: script to drop temperature during ramming

Hey Paul....

cool_ram.py -t 180 -nwr -nwt <<-- good results

Still need to tweak profiles for individual filament tips but all filaments printed well enough for a 12 hour print.

Prusa MK3 preassembled (R2/B6) > (R3/B/7)
Prusa MK2.5 kit > MK3 > MK3+MMU2 (R3/B/7) 😀
Prusa SL1 3D printer + Curing and Washing Machine (day1 order)
Taz6
CR10s4
Delta 3ku

Napsal : 25/10/2018 3:20 pm
Paul Meyer
(@paul-meyer)
Honorable Member
Topic starter answered:
Re: script to drop temperature during ramming


Hey Paul....

cool_ram.py -t 180 -nwr -nwt <<-- good results

Still need to tweak profiles for individual filament tips but all filaments printed well enough for a 12 hour print.

Congrats! BTW, 180 is the default temp, so you can skip the -t if you are doing 180.

I have some filament that I actually want to back to the "stabilize at a lower temp for ram" and see if it helps. I need to get a brown filament printing so my fox looks better!

Napsal : 25/10/2018 3:40 pm
nuroo
(@nuroo)
Reputable Member
Re: script to drop temperature during ramming

Hey Paul,

cool_ram -nwr -nwt
If I start with filament print in the 205-215 range, the ramming sequence cant really get down to 180C, because of time. Printer completes ramming and whatever else it needs to do and moves to next filament.

Hatchbox temp range is 180c - 210c
Solutech 3d temp range is 190c - 220c
With the filament above Im trying to go with lower temps to see if that produces better tips. Trouble is the printer's low temperature extrude protection kicks in while ramming and extruder gears lock up. This causes the filament to get stuck. I saw you warning about stuck filament.
Maybe disable the low temp protection or lower threshold? idk just throwing ideas
M302 S170 or S175

In the mean time i'll try
cool_ram -t 185 -nwr -nwt

Prusa MK3 preassembled (R2/B6) > (R3/B/7)
Prusa MK2.5 kit > MK3 > MK3+MMU2 (R3/B/7) 😀
Prusa SL1 3D printer + Curing and Washing Machine (day1 order)
Taz6
CR10s4
Delta 3ku

Napsal : 26/10/2018 4:20 pm
PJR
 PJR
(@pjr)
Antient Member Moderator
Re: script to drop temperature during ramming


If I start with filament print in the 205-215 range, the ramming sequence cant really get down to 180C, because of time.

You can maybe drop 5 to 10 degrees if you are lucky and turn off the heater before the tool change is required.

The biggest issue is under/over shoot with the temperatures.

Peter

Please note: I do not have any affiliation with Prusa Research. Any advices given are offered in good faith. It is your responsibility to ensure that by following my advice you do not suffer or cause injury, damage…

Napsal : 26/10/2018 5:30 pm
nuroo
(@nuroo)
Reputable Member
Re: script to drop temperature during ramming



If I start with filament print in the 205-215 range, the ramming sequence cant really get down to 180C, because of time.

You can maybe drop 5 to 10 degrees if you are lucky and turn off the heater before the tool change is required.

The biggest issue is under/over shoot with the temperatures.

Peter

Which is why u went with a 30W heater @PJR. I read your post elsewhere.

I wanna remain stock, already feel we are tweaking and inventing more then necessary - unless mmu2 was markerted to advanced users which it wasn't.

Prusa MK3 preassembled (R2/B6) > (R3/B/7)
Prusa MK2.5 kit > MK3 > MK3+MMU2 (R3/B/7) 😀
Prusa SL1 3D printer + Curing and Washing Machine (day1 order)
Taz6
CR10s4
Delta 3ku

Napsal : 26/10/2018 6:16 pm
Paul Meyer
(@paul-meyer)
Honorable Member
Topic starter answered:
Re: script to drop temperature during ramming


Hey Paul,

cool_ram -nwr -nwt
If I start with filament print in the 205-215 range, the ramming sequence cant really get down to 180C, because of time. Printer completes ramming and whatever else it needs to do and moves to next filament.

Actually the goal is *not* to hit 180. The goal is to shut off the nozzle heater completely, and then you essentially control how low a temp you get by controlling the length of the ram. You'll get a steady ramp down in temp as the filament melts.

The only reason the temp is there is to (maybe) put some limit on it. Think of it as a lower limit, the point at which the heater will say "whoa: too cold", and turn back on. Temp could drop below the target temp quite a bit due to thermal lag and the heater fighting the additional filament melt.

In addition, there is *nothing* magic about any of the temps (including 180) that I use. I don't have enough science to make any claims as to what works.

Napsal : 26/10/2018 9:47 pm
Paul Meyer
(@paul-meyer)
Honorable Member
Topic starter answered:
Re: script to drop temperature during ramming


Which is why u went with a 30W heater @PJR. I read your post elsewhere.

I wanna remain stock, already feel we are tweaking and inventing more then necessary - unless mmu2 was markerted to advanced users which it wasn't.

I want to remain stock as well, but not because of anything Prusa did with marketing. I'm just lazy and I like the nozzle heating up really fast!

Peter:
Can't the mk3 firmware limit the nozzle current to get the same effect without replacing the heater?

Napsal : 26/10/2018 9:50 pm
nuroo
(@nuroo)
Reputable Member
Re: script to drop temperature during ramming



Hey Paul,

cool_ram -nwr -nwt
If I start with filament print in the 205-215 range, the ramming sequence cant really get down to 180C, because of time. Printer completes ramming and whatever else it needs to do and moves to next filament.

Actually the goal is *not* to hit 180. The goal is to shut off the nozzle heater completely, and then you essentially control how low a temp you get by controlling the length of the ram. You'll get a steady ramp down in temp as the filament melts.

The only reason the temp is there is to (maybe) put some limit on it. Think of it as a lower limit, the point at which the heater will say "whoa: too cold", and turn back on. Temp could drop below the target temp quite a bit due to thermal lag and the heater fighting the additional filament melt.

In addition, there is *nothing* magic about any of the temps (including 180) that I use. I don't have enough science to make any claims as to what works.

Hatchbox temp range is 180c - 210c
Solutech 3d temp range is 190c - 220c
Maybe I'm not explaining well. If I start with a printing temp of 205c or higher I can make it thru ramming and unloading process because printer never falls below the cut off temp where printer wont allow printing. If I start with a print temp of 190c (which is ok for the filaments above), the temp of extruder quickly falls below the no extrusion allowed threshold. (so ramming of 3.5s-4s cant finish) That doesn't seem like the desired functionality of your script? or is it that mk3's firmware is taking over and stopping extrusion.. Even though hatchbox may be able to be printed at that lower temp?? So would I need to put M302 S170 / S175 somewhere and then maybe restore it after ramming?

Prusa MK3 preassembled (R2/B6) > (R3/B/7)
Prusa MK2.5 kit > MK3 > MK3+MMU2 (R3/B/7) 😀
Prusa SL1 3D printer + Curing and Washing Machine (day1 order)
Taz6
CR10s4
Delta 3ku

Napsal : 26/10/2018 10:37 pm
Peter L
(@peter-l)
Honorable Member
Re: script to drop temperature during ramming

Here's the results of a little experiment I ran. This is using five different colors of ABS. All were printed at 240.

This is what the tips looked like when I printed and rammed at 240:

This is what they looked like when I printed at 240 and rammed at 225. Honestly I don't see much difference:

I'm surprised that there wasn't more difference between the two, since 15 degrees is a pretty big temperature drop (and it really slows the print down to wait for that drop on every filament change). It's possible that PLA would show a bigger difference, since PLA has a more abrupt phase change than ABS.

One possibility is that because the end of the filament has been sitting near the melt zone for several seconds by the time ramming starts, it's already had time to get close to the print temperature so more ramming is needed to flush out the soft filament. I'm open to trying other experiments.

Napsal : 26/10/2018 10:42 pm
Paul Meyer
(@paul-meyer)
Honorable Member
Topic starter answered:
Re: script to drop temperature during ramming

I'm doing a lot more tip examination recently, and I've got similar ambiguous results.

With some good filament, I was getting nice tips, temp drop didn't matter.

With the trouble filament, the temp drop did make a noticeable difference, but not what I needed. The strings were a bit shorter (maybe), but were definitely fatter/stiffer. However, still quite long, so not really helping.

I'm curious if too low a temp actually might hurt. With a higher temp and a rapid unload start, the liquid might be quite low viscosity, you might 'yank' a clean tip, pulling no long string.

So, I wouldn't say I'm nowhere, but I'm definitely open to exploring lots of directions. Right now my focus is on a tip testing script:

- parse the ram sequence (or multiple) out of a prusa Slic3r gcode file
- unroll it into a long straight line (instead of zig-zagging on a purge block)
- move the stripe to the left of the bed
- unload the filament and (with mmu2 firmware help) shift the selector and push the filament out for inspection
=> maybe even trigger a pi with camera to take a picture of the tip

=> put many of these with different settings/temps/load/unload/etc. in the same file

voila: automated testing walking any set of interesting parameters across a range. Right now I'm working on the gcode parsing. Don't know how quickly this will go or if I'll ever get it working, but I'm having fun with it.

Napsal : 27/10/2018 1:44 am
Paul Meyer
(@paul-meyer)
Honorable Member
Topic starter answered:
Re: script to drop temperature during ramming


Maybe I'm not explaining well. If I start with a printing temp of 205c or higher I can make it thru ramming and unloading process because printer never falls below the cut off temp where printer wont allow printing. If I start with a print temp of 190c (which is ok for the filaments above), the temp of extruder quickly falls below the no extrusion allowed threshold. (so ramming of 3.5s-4s cant finish) That doesn't seem like the desired functionality of your script? or is it that mk3's firmware is taking over and stopping extrusion.. Even though hatchbox may be able to be printed at that lower temp?? So would I need to put M302 S170 / S175 somewhere and then maybe restore it after ramming?

No clue. There could be a low temp cutoff in the prusa firmware, in which case you'd need to either recompile the firmware tweaking that limit, or raise the script target.

The other possibility is that it is getting too cold and jamming in the melt zone. Again, raise the temp.

Is the print completely stopping? Or is it continuing but the filament is jammed?

Napsal : 27/10/2018 1:47 am
Jbravo88
(@jbravo88)
Trusted Member
Re: script to drop temperature during ramming



I apologize did someone ask already but how do you use this script? I have a Windows 10 base PC to run slic3r and use octopi pi on rasp 3.

You have several options. On Windows, I would start here:

https://docs.python.org/3.3/using/windows.html

This will show you how to install python3 on Windows.

Then look at this:
https://docs.python.org/3.3/using/windows.html#launcher

Which describes how to set up your paths, etc. You should then be able to run this in a command shell.

py hello.py

==========

btw, I suspect (from some of the errors earlier in the thread) that Windows10 has a default python2 install. In that case, you might be able to skip all of the above and just type "py cool_ram.py -h" in the command shell, and then look at the help/examples there to figure your way forward.

==========

Alternatives:
- If you are comfortable with Linux, ssh into your raspberri pi, copy the gcode files there, run on raspbian linux.
If you have the default raspbian build, python3 is located at /usr/bin/python3, so edit the first line of my script appropriately, or simply run "python3 cool_ram.py -t 190 ..." instead of executing the script directly.

- Install "Linux subsystem for windows". Good excuse to get yourself a good command shell and basic scripting capabilities on Windows. I have not tried this myself.

==========

If you get it working, or run into any issues, please report back here to help others in the same boat.

you're a Godsend, Paul,
it's working the tips are normal the printer has gone over 5 filament transitions and counting without clogging, jamming or crying for help. It might be too early to celebrate but its an improvement.
the used temp starting point first layer is 215 and the rest is 199 and for the ramming, I'm starting at 195
white filament, black and golden brown are finally printing together.
will try a mmu print from the PR site.

before and after pics

I used visual basics code and the Python extension. set the path and made the hello world script it worked then used your code and all went well. using your first example

I do have one item to report, After the print has ended the Hot end temp was still active with the "ramming temp" of 195 is not too worried about it since the print failsafe kicks in after 5 mins of no activity but just wanted to let you know

I found this line from the orginal gcode missing
" M104 S0 ; turn off temperature" it was being replaced by this line " ;matched temp! :0 "

Napsal : 27/10/2018 3:34 am
PJR
 PJR
(@pjr)
Antient Member Moderator
Re: script to drop temperature during ramming

There is a low temp cutoff )which was set to 190, but may have been changed.

Use G-code to alter the value:

M302 S175 ; Set minimum extrusion temp 🙁

With regard to limiting power to the extruder heater, it is driven by PWM calculated on the fly and based on the PID values. To my knowledge, there is no way to control this further. Unfortunately, a 40W heater cart (as confirmed to me by E3D) is less controllable and under/over-shoot is just a "thing" even with spot-on PID values. The problem here is that the required PID values are not consistent and can vary throughout a single print.

Peter

Please note: I do not have any affiliation with Prusa Research. Any advices given are offered in good faith. It is your responsibility to ensure that by following my advice you do not suffer or cause injury, damage…

Napsal : 27/10/2018 3:44 pm
Paul Meyer
(@paul-meyer)
Honorable Member
Topic starter answered:
Re: script to drop temperature during ramming


I do have one item to report, After the print has ended the Hot end temp was still active with the "ramming temp" of 195 is not too worried about it since the print failsafe kicks in after 5 mins of no activity but just wanted to let you know

I found this line from the orginal gcode missing
" M104 S0 ; turn off temperature" it was being replaced by this line " ;matched temp! :0 "

Good catch! I recently changed it to *not* leave in the temperature change that occurred during the tool-change, leaving the temp change until after the ram. However, the very last unload looks like a toolchange, but doesn't end with a T0 type statement (which is what triggered my "tool change is done" logic). The script therefore stays in 'cooled' state through the end of the file and drops the final M104 S0 to turn off the nozzle.

Fixed, pushed to github.

Napsal : 27/10/2018 4:54 pm
Flaviu
(@flaviu)
Estimable Member
Re: script to drop temperature during ramming

Paul, thank you a lot. Is it possible to tip you some how ? Do you have a thingiverse account?

Napsal : 25/11/2018 12:02 pm
ANTALIFE
(@antalife)
Trusted Member
RE: script to drop temperature during ramming

Thanks so much for the Python script!

With my test I was printing at 200°C for 4 of my rolls and 205°C for another, but with all I made the unloading temperature 195°C and man oh man did it improve the tips. It's kinda frustrating that setting the unloading temperature is not a feature in PrusaSlicer, even though Prusa recognises that printing at lower temperatures has an effect on the tips...

My only question is, do you know if it's possible to have different unload temperatures of reach filament?

www.antalife.com

Napsal : 07/06/2020 1:06 am
Stránka 4 / 5
Share: