Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    [3.6.0-rc.1] EXP1HCL V1.0a io1.out PWM Issues

    Scheduled Pinned Locked Moved Solved
    Beta Firmware
    2
    8
    149
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • sebkritikelundefined
      sebkritikel
      last edited by sebkritikel

      EXP1HCL V1.0a - purchased January 2024, but unused until now. I found this thread that may be similar: https://forum.duet3d.com/topic/36048/exp1hcl-50-io1-out-pwm-control-issue?_=1741220546477

      Given - docs state both io0.out and io1.out are PWM capable. Note that the configuration for a fan is only for testing via the fan slider, and no fans are actually connected to these outputs.

      M950 F8 C"123.io0.out"
      M106 P8 C"Dir1"
      
      M950 F9 C"123.io1.out"
      M106 P9 C"Dir2"
      

      io0.out outputs PWM as expected, however io1.out gives a bizarre waveform at 1-99% or so 'fan speed', until at 100% you get 3.3v. Note that graphs below are with no load on the outputs. Issue is also present for the intended use case (w/ a L298), though it seems I only get a blip on io1.out. Percentages represent the fan slider percent.
      fd6772a1-1357-45ca-9339-8e877513f144-image.png

      io1.out - zoomed in some πŸ‘Ž
      dd81528f-7646-429a-a677-95082feb1215-image.png

      io0.out - zoomed in some πŸ‘
      3be9c449-35fb-4b77-86ea-44c99ab53088-image.png

      M122

      M122
      === Diagnostics ===
      RepRapFirmware for Duet 3 MB6HC version 3.6.0-rc.1 (2025-02-28 15:00:13) running on Duet 3 MB6HC v1.02 or 1.02a (standalone mode)
      Board ID: 08DJM-9P63L-DJ3S0-7J1DD-3SN6L-9VMMA
      Used output buffers: 7 of 40 (37 max)
      === RTOS ===
      Static ram: 137420
      Dynamic ram: 130932 of which 0 recycled
      Never used RAM 75704, free system stack 186 words
      Tasks: NETWORK(1,ready,30.4%,135) ETHERNET(5,nWait 7,0.1%,400) HEAT(3,nWait 6,0.0%,350) Move(4,nWait 6,0.0%,333) TMC(4,nWait 6,3.1%,375) CanReceiv(6,nWait 1,0.0%,796) CanSender(5,nWait 7,0.0%,334) CanClock(7,delaying,0.0%,350) MAIN(1,running,66.1%,103) IDLE(0,ready,0.2%,29) USBD(3,blocked,0.0%,144), total 100.0%
      Owned mutexes: LwipCore(NETWORK)
      === Platform ===
      Last reset 00:11:53 ago, cause: software
      Last software reset at 2025-03-05 19:08, reason: User, Gcodes spinning, available RAM 75656, slot 2
      Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00400000 BFAR 0x00000000 SP 0x00000000 Task MAIN Freestk 0 n/a
      === Storage ===
      Free file entries: 20
      SD card 0 detected, interface speed: 25.0MBytes/sec
      SD card longest read time 3.2ms, write time 59.1ms, max retries 0
      === Move ===
      Segments created 0, maxWait 0ms, bed comp in use: none, height map offset 0.000, hiccups added 0/0 (0.00/0.00ms), max steps late 0, ebfmin 0.00, ebfmax 0.00
      Pos req/act/dcf: 0.00/0/0.00 0.00/0/0.00 0.00/0/0.00 0.00/0/0.00
      No step interrupt scheduled
      Driver 0: standstill, SG min n/a, mspos 8, reads 50341, writes 17 timeouts 0
      Driver 1: standstill, SG min n/a, mspos 8, reads 50341, writes 17 timeouts 0
      Driver 2: standstill, SG min n/a, mspos 8, reads 50341, writes 17 timeouts 0
      Driver 3: standstill, SG min n/a, mspos 8, reads 50341, writes 17 timeouts 0
      Driver 4: standstill, SG min n/a, mspos 8, reads 50341, writes 17 timeouts 0
      Driver 5: standstill, SG min n/a, mspos 8, reads 50341, writes 17 timeouts 0
      Phase step loop runtime (us): min=0, max=86, frequency (Hz): min=1467, max=3125
      === Heat ===
      Bed heaters 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamber heaters -1 -1 -1 -1 -1 -1 -1 -1, ordering errs 0
      === GCodes ===
      Movement locks held by null, 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
      SBC is idle in state(s) 0
      Daemon is idle in state(s) 0
      Aux2 is idle in state(s) 0
      Autopause is idle in state(s) 0
      File2 is idle in state(s) 0
      Queue2 is idle in state(s) 0
      === Filament sensors ===
      Driver 31: no data received, errs: frame 0 parity 0 ovrun 0 pol 0 ovdue 0
      === CAN ===
      Messages queued 6243, received 8566, lost 0, ignored 0, errs 0, boc 0
      Longest wait 1ms for reply type 6062, peak Tx sync delay 379, free buffers 50 (min 49), ts 3382/3381/0
      Tx timeouts 0,0,0,0,0,0
      === Network ===
      Slowest loop: 115.45ms; fastest: 0.03ms
      Responder states: MQTT(0) HTTP(0) HTTP(2) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0)
      HTTP sessions: 1 of 8
      === Multicast handler ===
      Responder is inactive, messages received 0, responses 0
      = Ethernet =
      Interface state: active
      Error counts: 0 0 0 0 0 0
      Socket states: 6 4 2 2 2 0 0 0 0
      === WiFi ===
      Interface state: disabled
      Module is disabled
      Failed messages: pending 0, notrdy 0, noresp 0
      Socket states: 0 0 0 0 0 0 0 0
      

      M122 B123

      M122 B123
      Diagnostics for board 123:
      Duet EXP1HCL rev 1.0a or earlier firmware version 3.6.0-rc.1 (2025-02-28 15:01:26)
      Bootloader ID: SAME5x bootloader version 2.4 (2021-12-10)
      All averaging filters OK
      Never used RAM 81372, free system stack 178 words
      Tasks: Move(3,nWait 7,0.0%,178) CLSend(3,nWait 6,0.0%,149) TMC(2,nWait 6,26.0%,349) HEAT(2,nWait 6,0.0%,130) CanAsync(5,nWait 4,0.0%,70) CanRecv(3,nWait 1,0.0%,74) CanClock(5,nWait 1,0.0%,64) MAIN(1,running,73.2%,409) IDLE(0,ready,0.0%,29) AIN(2,nWait 2,0.8%,255), total 100.0%
      Owned mutexes:
      Last reset 00:12:32 ago, cause: software
      Last software reset data not available
      Moves scheduled 0, hiccups 0 (0.00/0.00ms), segs 0, step errors 0 (types 0x0), maxLate 0 maxPrep 0, ebfmin 0.00 max 0.00
      Phase step loop runtime (us): min=0, max=104, frequency (Hz): min=0, max=39473
      Peak sync jitter -6/8, peak Rx sync delay 184, resyncs 0/0, next timer interrupt due in 23 ticks, enabled, next step interrupt due in 3730453500 ticks, disabled
      VIN voltage: min 24.2, current 24.2, max 24.3
      V12 voltage: min 12.0, current 12.1, max 12.1
      MCU temperature: min 33.5C, current 34.3C, max Driver 0: pos 0, 80.0 steps/mm, standstill, SG min n/a, mspos 8, reads 36573, writes 11 timeouts 0
      Last sensors broadcast 0x00000000 found 0 177 ticks ago, 0 ordering errs, loop time 0
      CAN messages queued 9060, send timeouts 0, received 6593, lost 0, ignored 0, errs 0, boc 0, free buffers 38, min 38, error reg 0
      dup 0, oos 0/0/0/0, rxMotionDelay 0
      Closed loop driver 0 mode: open loop, pre-error threshold: 2.00, error threshold: 4.00, encoder type none
      Accelerometer: none
      I2C bus errors 12, naks 0, contentions 0, other errors 0
      

      Large(ish?) IDEX - 6HC, 1HCL
      Stratasys Dimension 1200es to 6HC Conversion

      1 Reply Last reply Reply Quote 0
      • sebkritikelundefined
        sebkritikel
        last edited by

        Wanted to show the chart with the L298N connected, showing how io1.out cuts out. I recognize that, by default, the 'fan' blip time is set to B0.1. Can test later without that.

        e8557a8f-f6ee-4034-94f9-e84a8c52ee79-image.png

        Large(ish?) IDEX - 6HC, 1HCL
        Stratasys Dimension 1200es to 6HC Conversion

        sebkritikelundefined 1 Reply Last reply Reply Quote 0
        • sebkritikelundefined
          sebkritikel @sebkritikel
          last edited by

          Tested with B0 with the results as expected (same issues as above). I also tested an EXP1HCL I've been using for a few years (albeit, have not used io0 or io1 out), and I see the same thing where io1.out doesn't seem to be working correctly.

          I don't see anything wrong in the schematic, and I won't pretend to be an expert regarding the code, but EXP1HCl.h seems to look ok. @dc42 any ideas?

          Large(ish?) IDEX - 6HC, 1HCL
          Stratasys Dimension 1200es to 6HC Conversion

          dc42undefined 1 Reply Last reply Reply Quote 0
          • dc42undefined
            dc42 administrators @sebkritikel
            last edited by

            @sebkritikel to confirm: are you seeing this issue on two different EX1HCL boards? Are they both version 1.01a?

            Duet WiFi hardware designer and firmware engineer
            Please do not ask me for Duet support via PM or email, use the forum
            http://www.escher3d.com, https://miscsolutions.wordpress.com

            sebkritikelundefined 1 Reply Last reply Reply Quote 0
            • sebkritikelundefined
              sebkritikel @dc42
              last edited by sebkritikel

              @dc42 Not physically with the printer/boards currently, but yes, both boards do exhibit the same issue with io1.out.
              Board #1 (subject of initial two posts) - V1.0a, purchased January 12th 2024 from Filastruder

              Board #2 - it is indeed a V1.0a, but unsure on if it’s rev β€˜a’ or not. Purchased April 6th 2023 from Filastruder.

              Large(ish?) IDEX - 6HC, 1HCL
              Stratasys Dimension 1200es to 6HC Conversion

              dc42undefined 2 Replies Last reply Reply Quote 0
              • sebkritikelundefined sebkritikel marked this topic as a question
              • dc42undefined
                dc42 administrators @sebkritikel
                last edited by

                @sebkritikel I'm currently testing a version 1.0 board. I find that PWM doesn't work at all. M42 S1 sets the pin high, M42 with any S value below 1.0 sets it low. I will investigate this.

                Duet WiFi hardware designer and firmware engineer
                Please do not ask me for Duet support via PM or email, use the forum
                http://www.escher3d.com, https://miscsolutions.wordpress.com

                1 Reply Last reply Reply Quote 0
                • dc42undefined
                  dc42 administrators @sebkritikel
                  last edited by dc42

                  @sebkritikel there was a firmware bug. Please try the 3.6.0-rc.1+1 version at https://www.dropbox.com/scl/fo/0xdvvzgqfrs5abyk75ss8/AL3i6s7z9UacEGYsxiR7pXw?rlkey=xpm61w2jlyqlawwjzy4zsq2lt&dl=0 which is compatible with 3.6.0-rc.1 or rc.1+1 firmware on the main board. This EXP1HCL build contains an experimental feature but that should not affect you unless you are using a linear composite encoder.

                  Duet WiFi hardware designer and firmware engineer
                  Please do not ask me for Duet support via PM or email, use the forum
                  http://www.escher3d.com, https://miscsolutions.wordpress.com

                  sebkritikelundefined 1 Reply Last reply Reply Quote 0
                  • sebkritikelundefined
                    sebkritikel @dc42
                    last edited by

                    @dc42 said in [3.6.0-rc.1] EXP1HCL V1.0a io1.out PWM Issues:

                    @sebkritikel there was a firmware bug. Please try the 3.6.0-rc.1+1 version at https://www.dropbox.com/scl/fo/0xdvvzgqfrs5abyk75ss8/AL3i6s7z9UacEGYsxiR7pXw?rlkey=xpm61w2jlyqlawwjzy4zsq2lt&dl=0 which is compatible with 3.6.0-rc.1 or rc.1+1 firmware on the main board. This EXP1HCL build contains an experimental feature but that should not affect you unless you are using a linear composite encoder.

                    Thanks! Just tested both boards with rc.1+1 (mainboard and 1HCLs) and io1.out works as expected.

                    Large(ish?) IDEX - 6HC, 1HCL
                    Stratasys Dimension 1200es to 6HC Conversion

                    1 Reply Last reply Reply Quote 1
                    • sebkritikelundefined sebkritikel has marked this topic as solved
                    • First post
                      Last post
                    Unless otherwise noted, all forum content is licensed under CC-BY-SA