Fan with rotor stuck signal wire
-
I am trying to connect a hot end fan that has a 3rd wire that signals the rotor is stuck. I would like to wire the signal wire to one of the end stops. I believe the internals of the fan for the signal wire is an NPN Transistor. I found an older post referencing a similar situation and a mention that it only needs to add a diode to the circuit, however it doesn't say where to place it.
The printer runs on 24V and I will be powering this fan off the 12V supply on the Duex5.Older Post referencing a similar use:
https://forum.duet3d.com/topic/1278/induktive-endstops/3Snippet from the Fan datasheet
Link to Datasheet:
https://www.mouser.com/datasheet/2/310/OD2510-1623483.pdfLink to Fan:
https://www.mouser.com/ProductDetail/670-OD2510-12MB02A -
Hmmmm, if you use 24V to run the Duex5, I would think that the end switch is pulled high to 24V which is too much for your fan. I would use a couple of resistors, one in line with the 'locked' signal and one from the fan side of the 'locked' signal to ground. Both equal values, let's say 47k. Forget about the resistor shown in the diagram going to 15V max.
If the locked signal is asserted, the junction of the two resistors goes to 0.7V (or low)Warning: Wait for additional input from other people ....
-
By default the endstop input has an internal 3.3v pull-up so that should be ok
-
So with a 3.3V pullup you don't need the resistors, just hook the switch 'high' line to the 'locked' output
-
Progress update:
I enabled the pull up resistor on the "duex.estop6" port and connected the fans alarm wire to "E1_STOP" pin and everything is kind of working as expected. Every now and then during testing it seems to reset the printer, not sure why this only happens intermittently.
edit: It seems that it has something to with PWM control on the fan. If I only use 255 or 0 everything seems to work as expected.
M950 J4 C"^duex.e6stop" ;Assigns e6 Endstop to the fan stuck wire
-
Got this all working. The new features in RRF3 are awesome.
daemon.g
if sensors.inputs[4].value == true && fans[1].actualValue == 1.0 ;Checks if the Fan is showing a stuck rotor alarm and also checks if the fan should be spinning G4 S1 ;Buffer in case the fan took a second to spin up if sensors.inputs[4].value == true && fans[1].actualValue == 1.0 ;Second check to see the fan is still in alarm echo "OH CRAP WE STUCK" ;Console message that can be checked on the PanelDue to see what happened M106 P1 S0 H-1 ;Turns off Thermostatic control on the fan so it doesnt try and turn back on M112 ;Emergency Shutdown