Configure a heater to cool instead
-
Hi everyone,
Is it possible to configure a heater so that it cools instead?In a screw-based extruder I want to add an actively controlled "cooling zone", similar to other heater zones.
I have a 24V PWM controllable water pump and plan to use a fan or extruder output to change pump speed. A higher PWM duty cycle rate should lower the temperature of the assigned temperature sensor.
Also temperature errors should be ignored for that cooling element in case the cooling power doesn't suffice.In theory this should be straight forward to configure. However, I am not able to find any info about a setup like that and standard G-Codes don't seem to work.
Can someone think of a solution or a clever workaround for this setup?
If necessary I'll also dig into the firmware to make changes here.Thanks for the help!
-
@Dionysos Maybe configure it as a thermostatic fan, rather than a heater?
edit: to add to the above, you can increase the PWM of a thermostatic fan over a range with M106 T parameter to set the range, eg T30:60, where it will ramp up from 30C to 60C, and use the L and X parameters to set the minimum and maximum PWM rate, if required.Ian
-
Can´t you inverse (guess it was "!") the pin?
-
@droftarts
I thought the temperature range of a thermostatically controlled fan was not really what I wanted because I want to set a precise target temperature. But this may actually work if the temperature range is setup very narrow and pwm window is tuned so no swinging occurs around the target temp.@LB
The problem with inverting the pin may be temperature errors. But maybe I'm wrong here. Advantage would be more logical slicer start codes and easy control in DWC.
I'll try that version first. -
This feature is on the firmware wish list. Meanwhile, it may be simplest to configure it as a thermostatically-controlled fan.
-
Yes its possible. Done it before, it works.
https://duet3d.dozuki.com/Wiki/Gcode#Section_M307_Set_or_report_heating_process_parameters
The 'I' variable lets you 'invert' the logic for use with cooling devices. Its as simple as it sounds.
I've built a peltier cooled device that used an RTD100, (using RRF2.0 iirc) and went down to the target temp.
It will need to be a separate heater, RRF doesn't support an 'extruder' having multiple heaters, but that's not a blocker of any kind. -
Thanks for the quick help.
I have configured the cooling zone as a thermostatic fan for now. It seems to stabilize right above the T parameters and that's at least good enough right now. I'll do some tweaking with the pwm range to have it settle betwenn the T values of M106.
The biggest issue before was unstable temperature, so at least that's fixed.The PWM inversion with M307 didn't work for me. I've also tried to invert the pins unsuccessfully. I think for that feature I'll wait for the FW update.
-
@theruttmeister said in Configure a heater to cool instead:
It will need to be a separate heater, RRF doesn't support an 'extruder' having multiple heaters
Yes it does, and has done for more than 6 years. See the M563 command.
-
M307 works...
M307 H1 B1 I1 ......
As an example creates a 'heater' that will turn ON if the target temp is below the current sensor temp. The other inverting modes are depreciated as of RRF3 it seems (but are not needed anyway). With your setup I don't think you want to invert any pins only the logic.
@dc42 said in Configure a heater to cool instead:
@theruttmeister said in Configure a heater to cool instead:
It will need to be a separate heater, RRF doesn't support an 'extruder' having multiple heaters
Yes it does, and has done for more than 6 years. See the M563 command.
Ah so I see.
I did the silly thing of looking at M104... which doesn't support syntax for setting multiple temps for a tool.