Duet-Wifi Fans won't turn off
-
Unless you're able to "zero" your meter before measuring such a low value, figure about a quarter to half an ohms of resistance is in the probe leads themselves, so the motor is likely closer to about 4-4.25 ohms.
Using Ohms law Volts = Current * Resistance, we can solve for current.
So 12V = I (current) * R 4.25 ohms
12V/4.25ohm = 2.82A
That's about 2.8 to maybe 3 amps of in-rush current depending on your probes. That's obviously not the most accurate way of calculating inrush current, but it should be pretty ballpark.
-
As an aside, can I point out that this should serve as a warning to us all?
When the MOSFET failed, it failed shorted, leaving the attached device running at full. For a fan, this is annoying, but for a heater a shorted MOSFET could start a fire. The board would happily detect an overtemperature condition, but it would respond only by commanding the MOSFET to shut off, which would do nothing. If the setup used PS_ON, and if the firmware triggered an emergency stop on overtemperature, the fire would be averted.
-
I would make the argument that heaters capable of auto igniting a fire shouldn't be used without direct full supervision, but that's just me.
-
Unless you're able to "zero" your meter before measuring such a low value, figure about a quarter to half an ohms of resistance is in the probe leads themselves, so the motor is likely closer to about 4-4.25 ohms.
Using Ohms law Volts = Current * Resistance, we can solve for current.
So 12V = I (current) * R 4.25 ohms
12V/4.25ohm = 2.82A
That's about 2.8 to maybe 3 amps of in-rush current depending on your probes. That's obviously not the most accurate way of calculating inrush current, but it should be pretty ballpark.
The fan mosfet is rated at 4.4A for up to 5 seconds at 25C ambient temperature with 4.5V gate drive. The rating will be a little lower at 3.3V gate drive or if the board is warm, but probably still sufficient. If you want to reduce the inrush current, you could connect an inrush current limiting thermistor such as B57153S0200M0 in series with the pump.
You definitely need to use a flyback diode when driving a brushed motor.
-
I've ordered a pwm/mosfet board to drive the motor, so that'll keep it off the duet. I'll look into getting the mosfet on my duet replaced, and for now, just use the next fan channel.
Is there a way to make m106 default to fan1? Or do I have to force that in gcode?
-
Currently there isn't a gcode to map fan channels. I am considering adding fan mapping on a tool-by-tool basis in a future firmware release.
-
Alright. I've scripted it in my slicer to control P1, so no biggie.
-
Fan mapping will be supported in 1.16 beta 11 using a new F parameter on the M563 command.
-
Fan mapping will be supported in 1.16 beta 11 using a new F parameter on the M563 command.
Excellent, thanks.
-
Alright. I've scripted it in my slicer to control P1, so no biggie.
Can I ask which slicer you used for this? I can't figure out how to make slic3r's fan control control anything but the first fan.
-
Simplify3d has the ability to run post processing scripts on your gcode.
-
So I got this: https://amzn.com/B01J78FX9S
Thinking I could connect it to 12v in, and run the 12v out to the motor, and connect the fan control to the signal / ground on it.
Unfortunately, it's always on when connected that way. Anyone know if I can use a PWM controller like this to accomplish what I'm trying to do?
-
Alright. I've scripted it in my slicer to control P1, so no biggie.
Can I ask which slicer you used for this? I can't figure out how to make slic3r's fan control control anything but the first fan.
You can run scripts from Slic3R but that's a bit complex for this task. What I would do is slice as normal then just use a simple search and replace using notepad++ to change the P0 commands to P1.
HTH
-
In s3d the "script" is:
{REPLACE "M106" "M106 P1"}
-
In s3d the "script" is:
{REPLACE "M106" "M106 P1"}
In S3D, if you go to Tools>Firmware Configuration>FFF you will be given some fields to alter what the fan on and off commands are. Presumably, you could add the P1 thing there, but I've never tried it.
-
Ah, nice, that's even easier. Thanks!
-
So I got this: https://amzn.com/B01J78FX9S
Thinking I could connect it to 12v in, and run the 12v out to the motor, and connect the fan control to the signal / ground on it.
Unfortunately, it's always on when connected that way. Anyone know if I can use a PWM controller like this to accomplish what I'm trying to do?
It looks like that expects the PWM on the high side, not the low side. The Duet switches the low side.
I think you could attach a ~10k resistor between the fan terminals, run - from the fan to the + input of the board you bought and - from the power supply to the - input of the board you bought, but I'd have dc42 confirm that before proceeding.
You'd also need to invert the PWM signal in firmware/g-code if you do that.
-
Yeah, I ordered a different board. I have a workable solution in place for now.
-
Sadly, I too have lost the ablitty to turn off P0 because of the berdAir fan….. Worked fine on the RAMBO board i was using, but not on the duet. I know DC42 said that fan mapping is supported using "F parameter" on the M563 command, so would it be something like:
;M563 P0 D0 H1 //default setting, P0 mosfet damaged, so:
M563 P2 D0 H1 //use P2 output insteadnow, Heater one is using fan 2 as the part fan? And, would an SSR be an appropriate way to drive the fan?
-
The way to map the fan to a specific tool:
http://reprap.org/wiki/G-code#M563:_Define_or_remove_a_tool
Is with the specific "F" command.
So for tool 0 but with fan 2:
M563 P0 D0 H1 F2