Erratic fans on toolboard



  • I was finally able to configure my first toolboard, connected to the duet3 through a distribution board. The duet3 also powers a raspberrypi3 b+ (with no external devices connected, I installed the "lite" image with no GUI).

    Everything seems to be working, I updated the toolboard and configured on channel 20, but the fans act a little weird.

    The hotend fan 12v is on OUT2, it's thermostatically controlled. It works as it turns on when the temp reaches 45°C but when the temperature is below that threshold it turns on and off for a second randomly.

    The object fan is on OUT1 and it's always on. I can't seem to be able to turn it off with M106.

    The relevant config bit is as follow:

    ; 1st tool
    M308 S1 P"20.temp0" Y"thermistor" T500000 B4723 C1.196220e-7 R4700 H6 L0 ; configure sensor 1 as thermistor on pin 1.temp0 (Slice)
    M950 H1 C"20.out0" T1                          ; create nozzle heater output on 1.out0 and map it to sensor 1
    M307 H1 B0 S1.00                               ; disable bang-bang mode for heater and set PWM limit
    M143 H1 S320                                   ; set temperature limit for hotend
    
    
    ; Fans
    ; --------------------------------------------------
    
    M950 F0 C"20.out1" Q500                        ; create fan 0 on toolboard out1
    M106 P0 S0 H-1                                 ; set fan 0 value. Thermostatic control is turned off
    M950 F1 C"20.out2" Q500                        ; create fan 1 on toolboard out2
    M106 P1 S1 H1 T45                              ; set fan 1 value. Thermostatic control is turned on
    
    
    ; Tools
    ; --------------------------------------------------
    
    M563 P0 S"bondtech" 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
    

    I checked again and again the wiring and fan polarity and everything seems fine.

    Pretty sure I did something terribly stupid but I can't really see it.

    Ideas? Thanks!

    M122
    === Diagnostics ===
    RepRapFirmware for Duet 3 MB6HC version 3.01-RC9 running on Duet 3 MB6HC v1.01 or later
    Board ID: 08DJM-956BA-NA3TJ-6J1FJ-3S86Q-1T96TUsed output buffers: 1 of 40 (10 max)
    === RTOS ===
    Static ram: 154572
    Dynamic ram: 161792 of which 148 recycled
    Exception stack ram used: 296
    Never used ram: 76408
    Tasks: NETWORK(ready,2084) HEAT(blocked,1184) CanReceiv(suspended,3412) CanSender(suspended,1484) CanClock(blocked,1432) TMC(blocked,216) MAIN(running,4724) IDLE(ready,80)
    Owned mutexes:
    === Platform ===
    Last reset 00:14:57 ago, cause: power up
    Last software reset at 2020-11-13 16:21, reason: User, spinning module LinuxInterface, available RAM 76400 bytes (slot 0)
    Software reset code 0x0010 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x04435000 BFAR 0x00000000 SP 0xffffffff Task 0x4e49414d
    Error status: 0
    Free file entries: 10
    SD card 0 not detected, interface speed: 37.5MBytes/sec
    SD card longest block write time: 0.0ms, max retries 0
    MCU temperature: min 28.3, current 42.8, max 42.9
    Supply voltage: min 24.1, current 24.1, max 24.2, under voltage events: 0, over voltage events: 0, power good: yes
    12V rail voltage: min 12.1, current 12.2, max 12.2, under voltage events: 0
    Driver 0: standstill, reads 50313, writes 14 timeouts 0, SG min/max 0/0
    Driver 1: standstill, reads 50313, writes 14 timeouts 0, SG min/max 0/0
    Driver 2: standstill, reads 50314, writes 14 timeouts 0, SG min/max 0/0
    Driver 3: standstill, reads 50314, writes 14 timeouts 0, SG min/max 0/0
    Driver 4: standstill, reads 50314, writes 14 timeouts 0, SG min/max 0/0
    Driver 5: standstill, reads 50318, writes 11 timeouts 0, SG min/max 0/0
    Date/time: 2020-11-13 16:51:19
    Slowest loop: 3.73ms; fastest: 0.14ms
    === Move ===
    Hiccups: 0(0), FreeDm: 375, MinFreeDm: 375, MaxWait: 0ms
    Bed compensation in use: none, comp offset 0.000
    === MainDDARing ===
    Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0  CDDA state: -1
    === AuxDDARing ===
    Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0  CDDA state: -1
    === Heat ===
    Bed heaters = 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamberHeaters = -1 -1 -1 -1
    Heater 1 is on, I-accum = 0.0
    === GCodes ===
    Segments left: 0
    Movement lock held by null
    HTTP* is ready with "M122" 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
    SBC 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: 1.67ms; fastest: 0.01ms
    Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0)
    HTTP sessions: 0 of 8
    - Ethernet -
    State: disabled
    Error counts: 0 0 0 0 0
    Socket states: 0 0 0 0 0 0 0 0
    === CAN ===
    Messages sent 3535, longest wait 2ms for type 6011
    === Linux interface ===
    State: 0, failed transfers: 0
    Last transfer: 16ms ago
    RX/TX seq numbers: 27366/27367
    SPI underruns 0, overruns 0
    Number of disconnects: 0
    Buffer RX/TX: 0/0-0
    === Duet Control Server ===
    Duet Control Server v3.1.1
    Code buffer space: 4096
    Configured SPI speed: 8000000 Hz
    Full transfers per second: 15.98
    
    M122 B20
    Diagnostics for board 20:
    Board TOOL1LC firmware 3.1.0 (2020-05-15b1)
    Never used RAM 8.6Kb, max stack 368b
    HEAT 1092 CanAsync 1460 CanRecv 1416 TMC 204 AIN 524 MAIN 2308
    Last reset 00:15:56 ago, cause: VDD brownout
    Driver 0: standstill, SG min/max 0/0, read errors 0, write errors 0, ifcount 11, reads 15683, writes 11, timeouts 1, DMA errors 0, failedOp 0x80
    Moves scheduled 0, completed 0, hiccups 0
    VIN: 24.6V
    MCU temperature: min 22.8C, current 32.2C, max 32.4C
    Ticks since heat task active 16, ADC conversions started 955747, completed 955746, timed out 0
    Last sensors broadcast 00000002 found 1 19 ticks ago
    Free CAN buffers: 36
    NVM user row b1d088a9 fffff8bb f50a098a e7a77a8a
    TSENS 000c92 GAIN 015421 OFFS 002add CAL 1f2b
    

  • administrators

    @matt3o said in Erratic fans on toolboard:

    The hotend fan 12v is on OUT2, it's thermostatically controlled. It works as it turns on when the temp reaches 45°C but when the temperature is below that threshold it turns on and off for a second randomly.

    Thanks, we have at least two other users reporting a similar issue. I am fairly sure that it is caused by a firmware problem. My attempts to pin it down have so far been unsuccessful, but I will get back to looking at it soon.



  • @dc42 thanks for swift reply. Is the issue with the other fan related to that?


Log in to reply