Solved Thermostatic Fan trigger
-
Yeah, I tried T25:35 and it just turned on at 35 then back off at 34.something. I also tried T35:25 and it turned on at 25 and turned of just under 25.
-
This fan really doesn't like PWM. I tried different frequencies and it just started to sing at that a harmonic of that frequency until it was at 100%.
Guess I could dig into the firmware and see how difficult it would be to add my idea. Even if it was a new parameter or notation. Say something like T35:-10
-
@mwwhited said in Thermostatic Fan trigger:
Yeah, I tried T25:35 and it just turned on at 35 then back off at 34.something. I also tried T35:25 and it turned on at 25 and turned of just under 25.
That sounds like the fan itself doesn't play nicely with PWM. You could try adjusting the PWM frequency. I've used really low values like 10 Hz to tame some stubborn fans. Others have used much higher frequencies.
EDIT. Sorry I was typing while you were posting so didn't see you comment about PWM.
EDIT2 - but it might worth trying a really low value like 10 HZ before you give up??
-
@mwwhited said in Thermostatic Fan trigger:
Guess I could dig into the firmware and see how difficult it would be to add my idea
would be easier to use conditional g-code probaly.
-
@bearer said in Thermostatic Fan trigger:
@mwwhited said in Thermostatic Fan trigger:
Guess I could dig into the firmware and see how difficult it would be to add my idea
would be easier to use conditional g-code probaly.
There's a thought............
-
@deckingman said in Thermostatic Fan trigger:
@mwwhited said in Thermostatic Fan trigger:
Yeah, I tried T25:35 and it just turned on at 35 then back off at 34.something. I also tried T35:25 and it turned on at 25 and turned of just under 25.
That sounds like the fan itself doesn't play nicely with PWM. You could try adjusting the PWM frequency. I've used really low values like 10 Hz to tame some stubborn fans. Others have used much higher frequencies.
EDIT. Sorry I was typing while you were posting so didn't see you comment about PWM.
No worries.. I tried changing the base frequency higher and lower and it still did the same thing. Maybe I just need to add an cap like this Suppressing Acoustic Noise in
PWM Fan Speed Control Systems suggests... yeah it's for AVRs but its the same idea. this fan may not have a built in capacitor. (At least not a big enough one.)It would still be nice to have a high on/low off toggle but running it at lower speeds would mostly help.
-
@bearer said in Thermostatic Fan trigger:
@mwwhited said in Thermostatic Fan trigger:
Guess I could dig into the firmware and see how difficult it would be to add my idea
would be easier to use conditional g-code probaly.
I was wondering about that. Maybe a trigger to toggle... it would be a nice work around. I'll give it a go later.
-
I can write a loop but I don't have threading so I can't make a background monitor. Is their polling, timers or a way to trigger on a temperature value? the only trigger options I see are for endstops/simple edge triggers (M581)
-
didn't the latest DSF support conditional code and thus the daemon.g file?
https://forum.duet3d.com/topic/14701/daemon-g-usage-cases
or if you're not using DSF it ought work?
IDK, i had a hard time just rememering what to search for to find it
-
@bearer said in Thermostatic Fan trigger:
didn't the latest DSF support conditional code and thus the daemon.g file?
https://forum.duet3d.com/topic/14701/daemon-g-usage-cases
or if you're not using DSF it ought work?
IDK, i had a hard time just rememering what to search for to find it
That's awesome... I missed that post before. Thanks
-
(It should probaly be mentioned in more obvious places in the documentation, I had a hard time finding it; and try it if works before celebrating!)
-
daemon.g solution worked
daemon.g
M98 P"0:/macros/Special Scripts/Check Power Supply" G4 S10 ; wait 10 seconds
Special Scripts/Check Power Supply
if fans[3].actualValue > 0.0 && sensors.analog[3].lastReading < 25 ;echo "fan running and temp less than 25c... stop fan" M106 P3 S0.0 elif fans[3].actualValue < 0.5 && sensors.analog[3].lastReading > 35 ;echo "fan stopped and temp greater than 35c... start fan" M106 P3 S1.0
-
I might be cursing in church here; maybe cross post to the use case thread, or link it here or something to increase odds of others finding it?