additional fan driven by thermistor (not heater)
-
Well M143 is meant to control a heater, since the only way a temperature sensor can measure a maximum heat is if a heater generates heat. In the M143 command you can specify a heater to control and a temp sensor to monitor independently. So I'm not sure why you think it's not appropriate to use. The temp sensor would be the sensor you want to watch, and the heater would be whatever is responsible for generating the heat.
https://duet3d.dozuki.com/Wiki/Gcode?revisionid=HEAD#Section_M143_Maximum_heater_temperature
M570 is almost unrelated since it controls what happens during a heater fault
https://duet3d.dozuki.com/Wiki/Gcode?revisionid=HEAD#Section_M570_Configure_heater_fault_detection
-
@Phaedrux
Thanks for reminding me about thatBut since I just use the heat-plate to heat up the chamber (as by-product which is totally sufficient if you have good insulation around your printer) how can I attach a fan as an inverted chamber-heater (a.k.a. a cooler so to say) that is hooked up to a chamber-temp-sensor without creating a real heater?
Or am I just thinking to complicated:
I just create an inverted heater (e.g. E1 is free on my board) and put the fan directly there to E1 e.g. and do NOT create an additional fan later but only a sensor (temp-sensor) attached to that (inverted)-heater?
-
You can control a fan based on a temp sensor, no heater need be directly involved.
It would be similar to the hotend fan that is thermostatically controlled when a temp sensor is over a set temp. Or ramps up between a temp range.
-
yep - thanks for posting
Thats what I will stay with right now, because since every "heater" (even if inverted) has to be calibrated in RRF3.x I tried to put a fan to the e1-heater with inversion, but couldn´t calibrate of course and it immediatly threw a heater-fault-> have put material-specific fan speed for fan3 (or fan2 if you count with 0) that is controlled by an additional temp-sensor in the filament-config.g then to have it somewhere (of course each material has its specific temps for the chamber...)
-
@LB said in additional fan driven by thermistor (not heater):
I tried to put a fan to the e1-heater with inversion, but couldn´t calibrate of course and it immediatly threw a heater-fault
I'm not sure I understand what you mean here.
-
was another way to try out to make a heater to a cooler (by inverting it)
- normal: below make on, above make off
- inversion: below have off, above make on
but couldn´t calibrate it... but the fan did what it should...
it all works now via the additional fan defined e.g. for PETG in the filament-config:
M106 P2 B1.0 L0.9 X1.0 T30:32
-
Oh I see what you mean. You literally connected a fan to the heater pins and defined it as a heater. That's clever, but problematic.
@LB said in additional fan driven by thermistor (not heater):
M106 P2 B1.0 L0.9 X1.0 T30:32
You've set the temp range, but what sensor is it tracking? You don't have an H value.
https://duet3d.dozuki.com/Wiki/Gcode?revisionid=HEAD#Section_M106_Fan_On
-
...yep... didn´t think about that one in the beginning...
but now it works with the little setup in the main/general/system config.g
; chamber heater optional connected then to this sensor... M308 S3 P"e1temp" Y"thermistor" T100000 B4725 C7.060000e-8 A"Chamber" ; configure sensor Sx as type"thermistor"/"..." on pin P"...", e.g. typ. types vor 100K are B4725, B4138, B3950, see https://duet3d.dozuki.com/Wiki/Connecting_thermistors_or_PT1000_temperature_sensors#Section_Thermistor_parameters ;M950 H3 C"e1heat" T3 ;Qx ; F3 ; create H=heater (number) output on x and map it to sensor C"x"; T Temperature sens num, required only when creating a heater; see M308 ;M141 H3 ; exclusive for chamber: map to heater Hx, in RRF3 must come after M950 command that creates heater, and before any M143 command ;M307 H3 I2 ;S0.x Fxxx ;B1 ; for Hx, B 1=bang-bang/0=PID mode, set PWM limit S0.0-1.0, for I inversion see documentation
&
;chamber fan M950 F2 C"fan2" T3 ;Q500 ;! ;Q25000 ; create F=fan(x) with "!" to invert, on pin C; opt set frequency(Q) e.g. for most real 4-wire pwm-fans 25000 (max 65535), ordinary 2-wire must be kept low around 100-500, default seems to be 250 ; set some default vals to start but override it in the print-file with the specific filament-config.g: M106 P2 C"chamber fan" B1.0 L0.9 X1.0 T40:41 H3 ; P=num; s=set speed 0-255/0.0-1.0; limit L min & X max; H=heater monitored+Thermostatic control, -1=off or Hx(:__...) monitored; B=blip time in ms; if not thermostatic (H-1) define a board-boot-start-up speed S=fan speed;
M308 with M950 seem to be sufficient to do the job
(...sorry for all the comments but for setup I like it more that way, later might delete a lot of them again...)
-
Finally: Thanks for helping me get going with the new RRF3
Consider this "solved" (though it worked a little bit diffrent from what I thought in the beginning it would work - it does the job
)
-
(First should I start a new thread at this point?)
So now that I got the nice "ASAIR AM2302"-DHT22 running (https://forum.duet3d.com/topic/14146/duet3d-dht-22/17?_=1605704384964) - thanks everybody - I was wondering if it is as simple, to swap for the fan what it monitors to the dht...:
If my "old" thermistor was within M308 S3, and the DHT-Temp is within M308 is S10, for the fan (after it was initialized with M950) I just re-wire it within the Fan´s M106 from H3 to H10?
Edit: Just swapped to H10 and all works nice
-> What brings me to the more interesting question if a print could be paused until the chamber-humidity (due to heating of print-plate and hotend) is below a certain value? (I see now that the humidity dropped slowly, when printing today, from an 35% (environment/room) down to 21,5% in the chamber with 33-35°C heated up (room 23°C) for PETG
Since it is only an additional Sensor with a value, with conditional g-code that should be do-able? First of course I need to see what is a level I can reach for sure even on days with lots of humidity. Will see about a while or loop with humidity-is-value > chamber-humidity-should-value - pause here/do nothing with the break triggered either by time 20-30min or so or by reaching the value...
let´s see -
@LB said in additional fan driven by thermistor (not heater):
(First should I start a new thread at this point?)
Probably best to create a new thread in the gcode meta commands forum for setting up a conditional loop.