Fan0/1 pegged together

  • Moderator

    @tblake84 said in Fan0/1 pegged together:

    {"board":"duetwifi10","firmware":2.03,"nvram":true,"auto_save":{"enabled":true,"save_threshold":10,"resume_threshold":11,"gcodes_to_run":"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000"},"display":{"type":0,"encoder_steps":4,"spi_frequency":2000000,"menus":[{"name":"main","value":""}],"images":[]},"geometry":{"type":"cartesian","mins":[0,0,0],"maxes":[300,300,400],"delta_radius":105.6,"homed_height":250,"low_dive_height":false,"max_carriage_travel":260,"print_radius":85,"rod_length":215,"z_min":0},"drives":[{"direction":1,"microstepping":16,"microstepping_interpolation":true,"steps_per_mm":80,"instant_dv":15,"max_speed":100,"acceleration":500,"current":800,"driver":0,"endstop_type":1,"endstop_location":1},{"direction":1,"microstepping":16,"microstepping_interpolation":true,"steps_per_mm":80,"instant_dv":15,"max_speed":100,"acceleration":500,"current":800,"driver":1,"endstop_type":1,"endstop_location":1},{"direction":1,"microstepping":16,"microstepping_interpolation":true,"steps_per_mm":4000,"instant_dv":0.2,"max_speed":3,"acceleration":20,"current":800,"driver":2,"endstop_type":3,"endstop_location":1},{"direction":0,"microstepping":16,"microstepping_interpolation":true,"steps_per_mm":420,"instant_dv":2,"max_speed":20,"acceleration":250,"current":800,"driver":3}],"idle":{"used":true,"factor":30,"timeout":30},"homing_speed_fast":30,"homing_speed_slow":6,"travel_speed":100,"z_dive_height":5,"slow_homing":false,"probe":{"type":"bltouch","recovery_time":0.4,"trigger_height":2.5,"trigger_value":500,"x_offset":0,"y_offset":0,"speed":2,"deploy":false,"points":[{"x":0,"y":84.9,"z":0},{"x":73.53,"y":-42.45,"z":0},{"x":-73.53,"y":-42.45,"z":0},{"x":0,"y":0,"z":0}],"pwm_channel":7,"pwm_inverted":true},"bed_is_nozzle":false,"bed":{"present":true,"heater":0,"use_pid":false},"chamber":{"present":false,"heater":2,"use_pid":false},"heaters":[{"temp_limit":120,"scale_factor":100,"series":4700,"thermistor":100000,"beta":4138,"a":0.0005717725,"b":0.0002416626,"c":0,"channel":0},{"temp_limit":250,"scale_factor":100,"series":4700,"thermistor":100000,"beta":4138,"a":0.0005717725,"b":0.0002416626,"c":0,"channel":1}],"num_nozzles":1,"toolchange_wait_for_temperatures":true,"generate_t_code":true,"tools":[{"mix_ratio":[],"number":0,"name":"Tool0","extruders":[0],"heaters":[1],"fans":[],"x_offset":0,"y_offset":0,"z_offset":0}],"compensation_x_offset":15,"compensation_y_offset":15,"peripheral_points":3,"halfway_points":0,"calibration_factors":3,"probe_radius":85,"mesh":{"x_min":15,"x_max":215,"y_min":15,"y_max":195,"radius":85,"spacing":20},"home_first":false,"orthogonal":{"compensation":false,"height":50,"deviations":[0,0,0]},"network":{"enabled":true,"mac_address":"","name":"Sidewinder X1","password":"","ssid":"","ssid_password":"","dhcp":true,"ip":"","netmask":"","gateway":"","protocols":{"http":true,"ftp":true,"telnet":true}},"fans":[{"name":"","value":100,"inverted":false,"frequency":500,"thermostatic":true,"heaters":[1],"trigger_temperature":45},{"name":"","value":0,"inverted":false,"frequency":500,"thermostatic":false,"heaters":[1],"trigger_temperature":45}],"custom_settings":""}

    It looks like no fan was selected for the tool. By default it does select Fan0. So maybe a misclick?

  • @Phaedrux Yeah, that's what I'm thinking. I have a print about to wrap up now so will test shortly.

  • @Phaedrux No dice on that fix.

    Here is the relevant sections of my config.g:

    ; Fans
    M106 P0 C"PartFan" H-1                             ; set fan 0 (part cooling fan) value, PWM signal inversion and frequency. Thermostatic control is turned off
    M106 P1 C"Hotend" S1.0 I0 F500 H1 T45              ; set fan 1 (hotend fan) value, PWM signal inversion and frequency. Thermostatic control is turned on monitoring heater one (hotend)
    ; Tools
    M563 P0 S"Tool0" D0 H1 F0                          ; define T0
    M572 D0 S0.05                                      ; enable pressure advance on T0
    G10 P0 X0 Y0 Z0                                    ; set T0 axis offsets
    G10 P0 R0 S0                                       ; set initial T0 active and standby temperatures to 0C

    I am still getting pegged F0 and F1; whatever I do to one fan (turn up/down/on/off) happens to the other un-commanded. However, they are now turning on correctly as expected but both seem to be respecting the latest fan command. When I start a print and the hotend warms to 45C, they both come on full blast (as F1 is commanded to do). Then, when my gcode commands the part cooling fan (F0) to come on 50% at layer three, they both throttle back to 50%. It's bizarre.

  • Moderator

    @tblake84 said in Fan0/1 pegged together:

    M563 P0 S"Tool0" D0 H1 F0

    Just checking my own config to compare with and the M106 commands are pretty similar and my tool command doesn't even specify a fan since F0 is the default anyway.

    They aren't actually wired together are they? 👅

  • @Phaedrux That's a valid question but no.... at least I don't think so. I am using an Artillery Sidewinder X1 which is famous for its use of ribbon cables in the wiring harness so it does have a bunch of breakout boards to convert the ribbon cables to the necessary XH2.5mm connectors. I didn't have this kind of issue with the original MKS board so I don't think there is any trace on the breakout board connecting the two but I will have to take a closer look.

    In either event, the DWC does indicate that both fan controls move in sync; moving the slider for one fan moves the other to the same setting so my instinct says this is related to the Duet board/firmware.

  • Moderator

    @tblake84 said in Fan0/1 pegged together:

    moving the slider for one fan moves the other to the same setting

    So do PartFan and Hotend both show up with their own slider?

    Try this:

    Send M98 Pconfig.g in the gcode console. That will execute the config.g and any error messages should get echoed to the console.

    Next try sending M106 P0 C"PartFan" H-1 and M106 P1 C"Hotend" S1.0 I0 F500 H1 T45 separately in the gcode console and testing the fans.

  • @Phaedrux I did that and I get no errors but I still have the issue.

    One interesting thing to note is that only P0 has the correct name. P1 should be labeled 'Hotend' but instead it shows up in DWC as 'Tool Fan'.


  • Moderator

    The Tool fan slider and the Part fan slider are the same thing.

    The tool fan slider is it's own separate thing because on machines with multiple tools each tool may have it's own fan, so that slider controls the fan of the currently selected tool.

    In your case with a single tool the PartFan slider and the Tool Fan slider are both controlling the same fan.

    Hotend won't show up as a slider because it is thermostatically controlled.

    If you heat the hotend up to 50c does the hotend fan turn on?

  • @Phaedrux So I actually just reflashed the FW and it all behaves (somewhat) normally now but what you said certainly makes sense. Nevertheless, there must have been something wrong in the FW build I initially loaded onto it.

    I removed the fan names from my config.g and now I just have 'Tool Fan' and 'Fan0'. The tool fan slider does nothing and Fan0 operates the part cooling fan. If I heat the hotend up to 50c, the heatsink fan (tool fan?) kicks on/off as expected. Is there a way to get rid of 'Tool Fan' in DWC since I only have one hotend and it doesn't control anything?

  • Moderator

    No you can't remove the tool fan slider.

  • @tblake84 In the SWX1 the 2 fans and the extruder all share the same wires.

Log in to reply