Handling active and idle temperatures on a dual extrusion machine, Reprap firmware and Duet 2
 
Notifications
Clear all

Handling active and idle temperatures on a dual extrusion machine, Reprap firmware and Duet 2  

  RSS
Marty Klein
(@marty-klein)
Member
Handling active and idle temperatures on a dual extrusion machine, Reprap firmware and Duet 2

Happy Thursday everyone,

I'm getting around to learning Prusaslicer after years of using simplify3d. I have a duet 2 based CoreXY machine that has dual extrusion and I want to take advantage of using Prusaslicer's active and idle temperatures. In simplify3D I had custom code for tool changes and utilized the Duet's tool change macros as well so that I could prime each nozzle into a purge bucket, and set active/idle temperatures to minimize oozing. It never worked that well because S3D had no way to specify idle temperature outside of custom starting code.

I'd like to use M568 to set the temperatures in the starting code as that allows active and idle temperature, as well as giving the option to ignore the wait for temperature to be reached. Ignoring a wait time is critical for tool changes because the next tool can reach temp and purge before the old nozzle reaches the idle temp. Having to pause means the active nozzle will ooze and loose the prime and wipe that my tool change code is programmed to do.

My short coming is that Prusaslicer doesn't post M568's and the idle temperature isn't even used anywhere in the program. It's addressable by variable, but the problem is that both materials have the same name for their material's active and idle temperature.

I'd like to create some starting code that looks like this:

G28 ; home all axes
M140 S[bed_temperature];
M116; Wait for bed temp
T0 P0; select primary tool, no tool change macro
G1 X60. Y10. F6000; position over purge
G1 X60. Y0. 
G1 X10.;
M568 P0 S[temperature_0] R[Idle temperature_0];
M568 P1 S[temperature_1] R[Idle temperature_1];
M116; wait for temps
G1 E50. F10; prime
G92 E0.; 
G1 Z-2. F6000; Retract
G1 Y10. F6000; move across wiper and start print

The problem here is that Prusaslicer has the same system variable for each material. so when the code is posted, the active and idle temps are whatever the primary tool is using. I added the suffix _0/_1 to distinguish them for demonstrative purposes.

 Any thoughts on how to make this work?

Thanks

Opublikowany : 21/03/2024 11:22 am
Share: