Smart Effector hotend fan and Lights



  • I have a smart effector running from a duet maestro board in an anycubic predator.

    To the best of my knowledge, the V_FAN_A on the maestro goes to the +Hfan on the microfit connector and the Fan0- on the maestro goes to -Hfan on the microfit. Yet the command to turn on the fan does not turn it on.
    When i unplug the fan from the bottom, the lights come on. If i plug the fan back in, lights go off, and fan still does not turn.
    The +fan pin is connected to red and -Fan is connected to black wires on the fan itself.

    I had this all working previously, but one of the wires came loose from the 6-pin microfit atop the smart effector, and i recrimped and redid the whole lot of them to keep the lengths the same.

    I tried another fan an the same thing happens. lights on until fan connected. then no fan spin and lights off.



  • update: it seems that the A fan controller is kaput. or somehow unable to drive a fan and lights on my smart effector.

    Perhaps i'm using too thick wire to get there. I think its 24g or maybe 20g. I vaguely recall that too-thick wire has increased resistance and that could exceed the current capability of the A fan control.
    interestingly, i had poor-quality crimps on before, which would have effectively decreased the wire gauge, so that could have accidentally fixed this.

    or maybe the mag-ball arms are interfering.

    I have the hotend fan on the 'always-on' fan port and both lights and fan work. The controller cooling fan is on channel B with themostatic control and that is working. Sadly i don't have a free port for my print cooling fan now so I still need to figure this out. I'm going to try running the fan with the mag arms disconnected and see if it works. then i'll know i need to flip them around some different way.

    if that doesn't work i need to rewire the effector's microfit plug with something thinner. I have cat6 going to the 8pin z probe connector. its 28g i think. I can strip another length and have 8 more wires to run to the 6-pin. I am concerned about that gauge for the hotend



  • Update: Having re-wired it with 24g wire, the fan A controller still will not operate the hotend cooling or part cooling fan. It runs the MCU fan with no problem, so I think maybe its in a electrical partially-failed state. Unable to deliver the full current to overcome the magnets or long wire or whatever on the smart effector.
    Both fans on the effector run when plugged into controller B or the always-on fan port.

    My problem now is that I need to drive fan 2 with M106 as the print cooling fan. So it needs to behave as fan 0. I tried M563 to assign fan 2 to tool 0, but it does not work. M106 still only turns on fan 0. I can turn on fan 2 manually with M106 P2, but that won't work for a part cooling fan. Simplify3d won't treat fan 2 as tool 0 fan.

    Maybe i'm on too old of a firmware revision to utilize that command? I'm going to look into updating my firmware to version 3, as I think the M950 will fix this problem.


  • administrators

    @oryhara said in Smart Effector hotend fan and Lights:

    To the best of my knowledge, the V_FAN_A on the maestro goes to the +Hfan on the microfit connector and the Fan0- on the maestro goes to -Hfan on the microfit. Yet the command to turn on the fan does not turn it on.

    We recommend that you use fan 0 for the print cooling fan and fan 1 for the heatsink fan. So you should connect the Hfan pins on the Smart Effector to the Fan1 outputs on the Maestro, not the Fan0 output.

    The LED string on the Smart Effector is connected in parallel with the heatsink fan. If the LEDs light up when you connect the effector to the Maestro, but they turn off when you connect the heatsink fan as well, then the fan output that they are connected to probably has a blown mosfet.



  • blown mosfet means replace the maestro board?

    I was trying to work around having to do that.

    In other news: I've upgraded to RRF3, and now my tool0 heater shows as undefined.
    I think I have to use M950 to define the tool0 heater, but I'm struggling to understand the documentation as to how i should do that.

    Here's config and override:

    ; Configuration file for Duet WiFi (firmware version 1.21)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v2 on Tue Feb 26 2019 21:31:01 GMT+0000 (Greenwich Mean Time)

    ; General preferences
    G90 ; Send absolute coordinates...
    M83 ; ...but relative extruder moves

    ; Delta Settings
    M665 L440.440 R226.821 H420 B185.0 X0 y0 z0 ; Set delta radius, diagonal rod length, printable radius and homed height
    M666 X0 y0 z0 A0.00 B0.00 ; Put your endstop adjustments here, or let auto calibration find them

    ; Network
    M550 P"Predator" ; Set machine name
    M551 P"" ; Set password
    M552 P0.0.0.0 S1 ; Enable network and acquire dynamic address via DHCP
    M586 P0 S1 ; Enable HTTP
    M586 P1 S0 ; Disable FTP
    M586 P2 S0 ; Disable Telnet

    ; Drives
    M569 P0 S0 ; Drive 0 goes forwards
    M569 P1 S0 ; Drive 1 goes forwards
    M569 P2 S0 ; Drive 2 goes forwards
    M569 P3 S0 ; Drive 3 goes forwards - extruder
    M350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolation
    M92 X80.00 Y80.00 Z80.00 E415 ; Set steps per mm
    M566 X3000 Y3000 Z3000 E3000 ; Set maximum instantaneous speed changes (mm/min)
    M203 X12000.00 Y12000.00 Z12000.00 E12000 ; Set maximum speeds (mm/min)
    M201 X9000.00 Y9000.00 Z9000.00 E6000.00 ; Set accelerations (mm/s^2)
    M906 X1800.00 Y1800.00 Z1800.00 E900.00 I30 ; Set motor currents (mA) and motor idle factor in per cent
    M84 S30 ; Set idle timeout

    ; Retraction
    M207 S1.85 F7000 R0 T2500 Z0.5 ; Firmware retraction

    ; Axis Limits
    M208 Z-1 S1 ; Set minimum Z

    ; Endstops
    M574 X2 Y2 Z2 S1 ; Set active high endstops

    ; Z-Probe
    M558 P8 R0.4 F1200 H2 T5000 ; Set Z probe type to switch and the dive height + speeds
    G31 P100 X0 Y0 Z-.1 ; Set Z probe trigger value, offset and trigger height
    M557 R175 S20 ; Define mesh grid

    ; Heaters
    M307 H0 A137.8 C533.3 D1.5 V24.3 B0 ; Disable bang-bang mode for the bed heater and set PWM limit
    M308 P0 T100000 B4300 C0 R2200 ; Set thermistor + ADC parameters for heater 0
    M143 H0 S120 ; Set temperature limit for heater 0 to 120C
    M308 P1 T100000 B4725 C7.06e-8 ; Set thermistor + ADC parameters for heater 1
    M143 H1 S290 ; Set temperature limit for heater 1 to 240C
    M307 H2 A-1 C-1 D-1 ; Disconnect H2 from being a heater - LED

    ; Fans
    M950 F0 C"fan2" Q500 ;set fan B as fan 0
    M106 P0 S0 I0 F500 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
    M106 P1 T30 H100:101:102 ;sets up an electronics cooling fan that starts to turn on when the MCU temperature (virtual heater 100) reaches 45C and reaches full speed when the MCU temperature reaches 65C or if any TMC2660 drivers (virtual heaters 101 and 102) report that they are over-temperature

    ; Tools
    M563 P0 D0 H1 ; Define tool 0
    G10 P0 X0 Y0 Z0 ; Set tool 0 axis offsets
    G10 P0 R0 S0 ; Set initial tool 0 active and standby temperatures to 0C

    ; Automatic saving after power loss is not enabled

    ; Custom settings are not configured
    M591 D0 P2 C4 S0 ; Activate filament sensor
    M404 N1.75 ; Set for print monitor
    M592 D0 A0.011806 B0.0026876 ; Nonlinear extrusion. Set parameters for extruder drive 0 - 0.4mm
    M575 P1 B57600 S1

    ; Miscellaneous
    M501 ; Load saved parameters from non-volatile memory

    ; This is a system-generated file - do not edit
    ; Delta parameters
    M665 L440.440 R220.804 H410.714 B185.0 X-0.174 Y-0.027 Z0.000
    M666 X-0.368 Y-0.441 Z0.809 A0.00 B0.00
    ; Heater model parameters
    M307 H0 A137.8 C533.3 D1.5 S1.00 V24.3 B0
    M307 H1 A799.6 C271.4 D4.4 S1.00 V24.0 B0
    G10 L2 P1 X0.00 Y0.00 Z0.00
    G10 L2 P2 X0.00 Y0.00 Z0.00
    G10 L2 P3 X0.00 Y0.00 Z0.00
    G10 L2 P4 X0.00 Y0.00 Z0.00
    G10 L2 P5 X0.00 Y0.00 Z0.00
    G10 L2 P6 X0.00 Y0.00 Z0.00
    G10 L2 P7 X0.00 Y0.00 Z0.00
    G10 L2 P8 X0.00 Y0.00 Z0.00
    G10 L2 P9 X0.00 Y0.00 Z0.00


  • administrators

    @oryhara said in Smart Effector hotend fan and Lights:

    blown mosfet means replace the maestro board?

    It's possible to replace the fan mosfets.

    ; Heaters
    M307 H0 A137.8 C533.3 D1.5 V24.3 B0 ; Disable bang-bang mode for the bed heater and set PWM limit
    M308 P0 T100000 B4300 C0 R2200 ; Set thermistor + ADC parameters for heater 0
    M143 H0 S120 ; Set temperature limit for heater 0 to 120C
    M308 P1 T100000 B4725 C7.06e-8 ; Set thermistor + ADC parameters for heater 1
    M143 H1 S290 ; Set temperature limit for heater 1 to 240C
    M307 H2 A-1 C-1 D-1 ; Disconnect H2 from being a heater - LED

    For each heater, you need define its temperature sensor first using M308, then define the heater using M950. Then define its model using M307 and if desired its temperature limit using M143.



  • How much solder skill is needed to replace the fan mosfet? I rate mine at 5/10.

    ok so I'm missing the M950 in there for heater 1.

    It should be:

    M950 H1 C"out1" T1

    in there between the M308 and M143 ?


  • administrators

    @oryhara said in Smart Effector hotend fan and Lights:

    How much solder skill is needed to replace the fan mosfet? I rate mine at 5/10.

    Quite a lot. Is there a Makerspace or Hackspace near you?

    ok so I'm missing the M950 in there for heater 1.

    It should be:

    M950 H1 C"out1" T1

    in there between the M308 and M143 ?

    Yes, and move the M307 command to be after the M950 command too.

    It can be helpful to run M98 P"config.g" from the console to see if there are any error messages.



  • My M950 is not working because I don't know the right name of the e0 heater pin.

    10:50:47 AMM950 H1 C"e0" T1
    Error: Unknown pin name 'e0'
    10:50:43 AMM950 H1 C"e0 heater" T1
    Error: Unknown pin name 'e0heater'
    10:49:53 AMM950 H1 C"heatere0" T1
    Error: Unknown pin name 'heatere0'
    10:49:48 AMM950 H1 C"heater" T1
    Error: Unknown pin name 'heater'
    10:49:44 AMM950 H1 C"heater0" T1
    Error: Unknown pin name 'heater0'
    10:49:25 AMM950 H1 C"out0" T1
    Error: Unknown pin name 'out0'
    10:49:10 AMM950 H1 C"e0heater" T1
    Error: Unknown pin name 'e0heater'
    10:49:03 AMM950 H1 C"e0-" T1
    Error: Unknown pin name 'e0'
    10:48:56 AMM950 H1 C"e0" T1
    Error: Unknown pin name 'e0'
    10:48:44 AMM950 H1 C"h1" T1
    Error: Unknown pin name 'h1'
    10:48:40 AMM950 H1 C"heater1" T1
    Error: Unknown pin name 'heater1'
    10:48:35 AMM950 H1 C"out1" T1
    Error: Unknown pin name 'out1'
    10:48:05 AMM950 H1
    Error: Heater 1 does not exist


  • administrators



  • @dc42
    thank you. I swear i searched for that.

    Per that list, it should be "out1" yes?
    that did not work. that was the example in the documentation for m950, so i tried it first.



  • I see my mistake.

    it should be: !e0heat



  • Got the extruder heater working, but my temp sensor readings are wonky. It thinks its a 450* C


  • administrators

    What type of temperature sensor are you using?



  • A thermistor.

    I checked and it actually was at 450C

    I guess the hotend heater was turned on this whole time i've been trying to sort it out. or something.
    I should have smelled it sooner.



  • There is an error about heater 1 being overpowered. It came up when I did the PID tune.



  • ok. I got most of it working. Fan 2 acts as Fan0(part cooling fan), and the bed and extruder heater operate as expected.
    Except: G30 tries to do manual bed probing. I'm guessing that my Z-probe was not set up properly. Back to the config.g for me.

    In case anyone is following:

    ; Configuration file for Duet WiFi (firmware version 1.21)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v2 on Tue Feb 26 2019 21:31:01 GMT+0000 (Greenwich Mean Time)

    ; General preferences
    G90 ; Send absolute coordinates...
    M83 ; ...but relative extruder moves

    ; Delta Settings
    M665 L440.440 R226.821 H420 B185.0 X0 y0 z0 ; Set delta radius, diagonal rod length, printable radius and homed height
    M666 X0 y0 z0 A0.00 B0.00 ; Put your endstop adjustments here, or let auto calibration find them

    ; Network
    M550 P"Predator" ; Set machine name
    M551 P"" ; Set password
    M552 P0.0.0.0 S1 ; Enable network and acquire dynamic address via DHCP
    M586 P0 S1 ; Enable HTTP
    M586 P1 S0 ; Disable FTP
    M586 P2 S0 ; Disable Telnet

    ; Drives
    M569 P0 S0 ; Drive 0 goes forwards
    M569 P1 S0 ; Drive 1 goes forwards
    M569 P2 S0 ; Drive 2 goes forwards
    M569 P3 S0 ; Drive 3 goes forwards - extruder
    M350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolation
    M92 X80.00 Y80.00 Z80.00 E415 ; Set steps per mm
    M566 X3000 Y3000 Z3000 E3000 ; Set maximum instantaneous speed changes (mm/min)
    M203 X12000.00 Y12000.00 Z12000.00 E12000 ; Set maximum speeds (mm/min)
    M201 X9000.00 Y9000.00 Z9000.00 E6000.00 ; Set accelerations (mm/s^2)
    M906 X1800.00 Y1800.00 Z1800.00 E900.00 I30 ; Set motor currents (mA) and motor idle factor in per cent
    M84 S30 ; Set idle timeout

    ; Retraction
    M207 S1.85 F7000 R0 T2500 Z0.5 ; Firmware retraction

    ; Axis Limits
    M208 Z-1 S1 ; Set minimum Z

    ; Endstops
    M574 X2 Y2 Z2 S1 ; Set active high endstops

    ; Z-Probe
    M558 P8 R0.4 F1200 H2 T5000 ; Set Z probe type to switch and the dive height + speeds
    G31 P100 X0 Y0 Z-.1 ; Set Z probe trigger value, offset and trigger height
    M557 R175 S20 ; Define mesh grid

    ; Heaters
    M307 H0 A137.8 C533.3 D1.5 V24.3 B0 ; Disable bang-bang mode for the bed heater and set PWM limit
    M308 S0 P"bedtemp" Y"thermistor" F0 T100000 B4300 C0 R2200 ; Set thermistor + ADC parameters for heater 0
    M950 H0 C"bedheat" T0
    M143 H0 S120 ; Set temperature limit for heater 0 to 120C
    M308 S1 P"e0_temp" Y"thermistor" F0 T100000 B4725 C7.06e-8 ; Set thermistor + ADC parameters for heater 1
    M950 H1 C"e0heat" T1 ; Define Heater 1
    M143 H1 S290 ; Set temperature limit for heater 1 to 240C
    M307 H2 A-1 C-1 D-1 ; Disconnect H2 from being a heater - LED

    ; Fans
    M950 F2 C"nil"
    M950 F0 C"fan2" ;set fan B as fan 0
    ;M106 P0 S0 I0 F500 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
    M106 P1 T30 H100:101:102 ;sets up an electronics cooling fan that starts to turn on when the MCU temperature (virtual heater 100) reaches 45C and reaches full speed when the MCU temperature reaches 65C or if any TMC2660 drivers (virtual heaters 101 and 102) report that they are over-temperature

    ; Tools
    M563 P0 D0 H1 ; Define tool 0
    G10 P0 X0 Y0 Z0 ; Set tool 0 axis offsets
    G10 P0 R0 S0 ; Set initial tool 0 active and standby temperatures to 0C

    ; Automatic saving after power loss is not enabled

    ; Custom settings are not configured
    M591 D0 P2 C4 S0 ; Activate filament sensor
    M404 N1.75 ; Set for print monitor
    M592 D0 A0.011806 B0.0026876 ; Nonlinear extrusion. Set parameters for extruder drive 0 - 0.4mm
    M575 P1 B57600 S1

    ; Miscellaneous
    M501 ; Load saved parameters from non-volatile memory

    ; This is a system-generated file - do not edit
    ; Delta parameters
    M665 L440.440 R220.804 H410.714 B185.0 X-0.174 Y-0.027 Z0.000
    M666 X-0.368 Y-0.441 Z0.809 A0.00 B0.00
    ; Heater model parameters
    M307 H0 A137.8 C533.3 D1.5 S1.00 V24.3 B0
    M307 H1 A799.6 C271.4 D4.4 S1.00 V24.0 B0
    G10 L2 P1 X0.00 Y0.00 Z0.00
    G10 L2 P2 X0.00 Y0.00 Z0.00
    G10 L2 P3 X0.00 Y0.00 Z0.00
    G10 L2 P4 X0.00 Y0.00 Z0.00
    G10 L2 P5 X0.00 Y0.00 Z0.00
    G10 L2 P6 X0.00 Y0.00 Z0.00
    G10 L2 P7 X0.00 Y0.00 Z0.00
    G10 L2 P8 X0.00 Y0.00 Z0.00
    G10 L2 P9 X0.00 Y0.00 Z0.00


  • administrators

    @oryhara said in Smart Effector hotend fan and Lights:

    M558 P8 R0.4 F1200 H2 T5000 ; Set Z probe type to switch and the dive height + speeds

    You haven't defined the Z probe input pin. See https://duet3d.dozuki.com/Wiki/RepRapFirmware_3_overview#Section_M558. For a Smart Effector on a Duet Maestro, use C"zprobe.in+zprobe.mod".



  • yep. that did it. thank you.



  • @dc42

    regarding the fan mosfet, I reached out to filastruder(where I bought my maestro) about an RMA and they said that unless you or another duet admin authorizes the warranty repair, it's a no-go.

    I have my fan2 workaround functioning, so just how "not ideal" is it to have the hotend fan always-on and the print fan running from Fan 2?


Log in to reply