Odd PWM fan voltage



  • I have this in my RR3.x configuration (see below) duet wifi 1.01 board

    Fan0 works as it is turned off at 0 and on when the slider increases all the way 100.

    Fan1 the hotend fan just stays on.. I don't mind as it is a 5v noctura so it is silent at least.

    Fan2 when the Duet is turned on it is 24v, when fan2 slider is moved to 100 it drops to 20v??

    From what I can tell are the PWM1/2 gone? I haven't done anything recently just tuned on the printer this morning. If that is the case I assume I can use a relay/extra pwm pin/power supply combo to make it work?

    I don't know what else to look for in determining what could be wrong, suggestions? Would inverting the PWM fan pin work?

    M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency
    M106 P0 S0.0 H-1 ; set fan 0 value. Thermostatic control is turned off
    M950 F1 C"fan1" Q25000 ; create fan 1 on pin fan1 and set its frequency
    M106 P1 S1.0 H1 T45 ; set fan 1 value. Thermostatic control is turned on
    M950 F2 C"fan2" Q25000 ; create lights and set its frequency
    M106 P2 S0.0 H-1


  • Moderator

    Can you post your full config.g and the responses from sending M122 and M98 P"config.g" please?



  • M122

    2/12/2021, 11:17:31 AM M122
    === Diagnostics ===
    RepRapFirmware for Duet 2 WiFi/Ethernet version 3.2 running on Duet WiFi 1.0 or 1.01
    Board ID: 08DAM-999TL-MQ4S8-6J9D4-3SJ6N-K4B3W
    Used output buffers: 3 of 24 (24 max)
    === RTOS ===
    Static ram: 23460
    Dynamic ram: 73540 of which 156 recycled
    Never used RAM 14924, free system stack 99 words
    Tasks: NETWORK(ready,163) HEAT(blocked,309) MAIN(running,452) IDLE(ready,19)
    Owned mutexes: WiFi(NETWORK)
    === Platform ===
    Last reset 22:30:09 ago, cause: power up
    Last software reset at 2021-02-11 12:33, reason: User, GCodes spinning, available RAM 14924, slot 1
    Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a
    Error status: 0x04
    Aux0 errors 0,0,0
    MCU temperature: min 25.1, current 33.0, max 40.3
    Supply voltage: min 23.9, current 24.3, max 24.7, under voltage events: 0, over voltage events: 0, power good: yes
    Driver 0: position -600, standstill, SG min/max 0/344
    Driver 1: position 450, standstill, SG min/max 66/310
    Driver 2: position 11982, standstill, SG min/max not available
    Driver 3: position 0, standstill, SG min/max 0/1023
    Driver 4: position 0, standstill, SG min/max not available
    Driver 5: position 0
    Driver 6: position 0
    Driver 7: position 0
    Driver 8: position 0
    Driver 9: position 0
    Driver 10: position 0
    Driver 11: position 0
    Date/time: 2021-02-12 11:17:27
    Cache data hit count 4294967295
    Slowest loop: 217.12ms; fastest: 0.16ms
    I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
    === Storage ===
    Free file entries: 10
    SD card 0 detected, interface speed: 20.0MBytes/sec
    SD card longest read time 52.5ms, write time 11.0ms, max retries 1
    === Move ===
    DMs created 83, maxWait 2521067ms, bed compensation in use: mesh, comp offset 0.113
    === MainDDARing ===
    Scheduled moves 7237, completed moves 7237, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 8, 5], CDDA state -1
    === AuxDDARing ===
    Scheduled moves 0, completed moves 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
    === Heat ===
    Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1 -1 -1
    Heater 0 is on, I-accum = 0.0
    Heater 1 is on, I-accum = 0.5
    === GCodes ===
    Segments left: 0
    Movement lock held by null
    HTTP is idle in state(s) 0
    Telnet is idle in state(s) 0
    File is idle in state(s) 0
    USB is idle in state(s) 0
    Aux is idle in state(s) 0
    Trigger is idle in state(s) 0
    Queue is idle in state(s) 0
    LCD is idle in state(s) 0
    Daemon is idle in state(s) 0
    Autopause is idle in state(s) 0
    Code queue is empty.
    === Network ===
    Slowest loop: 200.38ms; fastest: 0.00ms
    Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions
    HTTP sessions: 2 of 8

    • WiFi -
      Network state is active
      WiFi module is connected to access point
      Failed messages: pending 0, notready 0, noresp 0
      WiFi firmware version 1.25
      WiFi MAC address 5c:cf:7f:2b:ee:bf
      WiFi Vcc 3.48, reset reason Turned on by main processor
      WiFi flash size 4194304, free heap 24576
      WiFi IP address 172.16.37.118
      WiFi signal strength -55dBm, mode 802.11n, reconnections 0, sleep mode modem
      Clock register 00002002
      Socket states: 0 0 0 0 0 0 0 0


  • @Phaedrux said in Odd PWM fan voltage:

    M98 P"config.g

    2/12/2021, 11:18:49 AM Error: in file macro line 85: M280: parameter 'P' too high
    2/12/2021, 11:18:48 AM M98 P"config.g"
    HTTP is enabled on port 80
    FTP is enabled on port 21
    TELNET is disabled



  • entire config.g

    ; Configuration file for Duet WiFi (firmware version 3)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v3.1.4 on Thu Aug 27 2020 15:36:37 GMT-0400 (Eastern Daylight Time)

    ; General preferences
    G90 ; send absolute coordinates...
    M83 ; ...but relative extruder moves
    M550 P"Ender3" ; set printer name Ender3!

    ; Network
    M552 S1 ; enable network
    M586 P0 S1 ; enable HTTP
    M586 P1 S1 ; disable FTP
    M586 P2 S0 ; disable Telnet

    ; Drives
    M569 P0 S0 ; physical drive 0 goes backwards
    M569 P1 S0 ; physical drive 1 goes backwards
    M569 P2 S1 ; physical drive 2 goes forwards
    M569 P3 S1 ; physical drive 3 goes backwards
    M584 X0 Y1 Z2 E3 ; set drive mapping
    M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
    M92 X200.00 Y100.00 Z400.00 E869.11 ; set steps per mm

    M566 X800 Y800 Z24 E3000 ; set maximum instantaneous speed changes (mm/min)
    M203 X9000 Y9000 Z180 E6000 ; set maximum speeds (mm/min)
    M201 X500.00 Y500.00 Z100 E5000.00 ; set accelerations (mm/s^2)

    M906 X800 Y800 Z800 E1000 I50 ; set motor currents (mA) and motor idle factor in per cent
    M84 S30 ; Set idle timeout

    ; Axis Limits
    M208 X-3.0:232.5 Y4.5:212.0 Z0:250 ; set axis minima and maxima

    ; Endstops
    M574 X1 S1 P"xstop" ; configure active-high endstop for low end on X via pin xstop
    M574 Y1 S1 P"ystop" ; configure active-high endstop for low end on Y via pin ystop
    M574 Z1 S2 ; configure Z-probe endstop for low end on Z

    ; Z-Probe
    M950 S0 C"exp.heater7" ; create servo pin 0 for BLTouch
    M558 P9 C"^zprobe.in" H5 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds use P9 for BLTouch
    G31 P500 X-57 Y-10 Z3.150 ; set Z probe trigger value, offset and trigger height
    M557 X25:172.6 Y25:203.9 S20 ; define mesh grid

    ; Heaters
    M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin bedtemp
    M950 H0 C"bedheat" T0 ; create bed heater output on bedheat and map it to sensor 0
    M307 H0 B1 S1.00 ; enable bang-bang mode for the bed heater and set PWM limit
    M140 H0 ; map heated bed to heater 0
    M143 H0 S120 ; set temperature limit for heater 0 to 120C
    M308 S1 P"e0temp" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 1 as thermistor on pin e0temp
    M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1
    M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
    M308 S3 P"spi.cs1" Y"thermocouple-max31856" ; configure sensor 2 as thermocouple via CS pin spi.cs1
    ;M950 H3 C"e1heat" T3 ; create chamber heater output on e1heat and map it to sensor 2
    ;M307 H3 B1 S1.00 ; enable bang-bang mode for the chamber heater and set PWM limit
    ;M141 H3 ; map chamber to heater 3

    M307 H1 R3.710 C142.5 D1.45 S1.00 V24.6 ; PID tune e0heat new style v6
    M307 H0 R0.294 C414.8 D0.66 S1.00 V24.4 ; PID tune bedheat winter

    ; Fans
    ; Fans
    M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency
    M106 P0 S0.0 H-1 ; set fan 0 value. Thermostatic control is turned off
    M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency
    M106 P1 S1.0 H1 T45 ; set fan 1 value. Thermostatic control is turned on
    M950 F2 C"fan2" Q25000 ; create lights and set its frequency
    M106 P2 S0.0 H-1 ; set lights0 value. Thermostatic control is turned off

    ; Tools
    M563 P0 D0 H1 F0 ; 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
    T0 ; select first tool

    ; Pressure Advance
    M572 D0 S0.060 ; pressure advance for a direct drive setup (aka retration)

    ; BLTouch startup
    G4 S2 ; Pause a couple seconds
    M280 P64 S160 ; Clear any alarms
    G4 S2 ; Pause a couple seconds
    M402 ; retract pin just in case

    ; Custom settings are not defined

    ; Miscellaneous



  • @Phaedrux

    files posted. Thanks for looking Phaedrux

    Jim


  • Moderator

    @jnofsinger said in Odd PWM fan voltage:

    2/12/2021, 11:18:49 AM Error: in file macro line 85: M280: parameter 'P' too high

    This would be from this line:

    @jnofsinger said in Odd PWM fan voltage:

    M280 P64 S160 ; Clear any alarms

    In RRF3 the servo pin is defined by the M950 command as servo pin 0. So the M280 command needs to reference servo pin 0 as well. 64 was for the Maestro in RRF2.

    So it should be M280 P0 S160


  • Moderator

    @jnofsinger said in Odd PWM fan voltage:

    Fan2 when the Duet is turned on it is 24v, when fan2 slider is moved to 100 it drops to 20v??

    Is that still the case with the PWM frequency at the default Q500 instead of Q25000?

    Are you aware of any potential shorts with the fans or at the hotend?

    Can you examine the board closely to check if the fan mosfets look damaged at all?

    1a8a3020-c051-4bee-8577-99f1cf2a25f4-image.png

    https://duet3d.dozuki.com/Wiki/Connector_and_spare_part_numbers#Section_Fan_mosfet

    Damaged mosfets could explain the behaviour you describe.

    Do the fans work correctly when connected to the working Fan0 port?



  • @Phaedrux

    That would certainly explain why the errors would never clear unless the printer was powered off. Thanks for the explanation.



  • @Phaedrux

    I will investigate and report the results.



  • So this is now fixed! The mosfets were damaged. The ones I had are black so they are very difficult to see the damage till I took the board out of the printer.

    I ordered the newer ones from Digikey before the storm, so they Monday.

    I can say this is the first time I replaced such a small part on the board, but with enough patience and practice on a scrap board it is completely do-able without expensive gear. I just have a regular $50.00 iron and a very small tip.. I then just dragged it over the ends and the solder stuck!

    it was just pretty strange the under-voltage issue with the broken mosfets... not sure how long they were blown as the heater fan I have is 5v and it was pulling 4.4v for awhile.

    Thanks again for your help!

    Jim


Log in to reply