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

Duet 3D Controlled Laser Welder - EXP 3HC Configuration

Scheduled Pinned Locked Moved Solved
CNC
3
8
347
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.
  • undefined
    heathharper
    last edited by heathharper 22 Dec 2022, 00:33

    I am building a Duet 3 6HC and 3HC expansion board SBC system to mount a Laser Welding head on. (I have been laser welding for 23 years and 3D printing with Duet for about 4 years now, I thought its about time to get them married for some automation.

    Anyway, I have successfully built the machine, and configured the 6HC. It homes and drives the X,Y, and Dual Independent Z Axis as expected. I have also incorporated a Joystick that is connected to 4 of the inputs on the 6HC and when the joystick is moved, it calls individual triggers to execute Gcode moves for manual recording of moves for playback later (the playback is yet to be tested with M28 and M29).

    Where I am getting hung up is calling the trigger from an input on the 3HC expansion board. I have a button wired to the IO2 pins on the 3HC and it lights up correctly, but I can't call the trigger correctly.

    I have a connection between the 6HC and 3HC confirmed with M122 and allocated to be #1 on the can bus addressing.

    Does anyone have an example of the config lines for M950 and M574 to call a trigger from the Expansion board?

    Here is what I have in config.g (my triggers are in the /sys/directory and J5 to J6 all work correctly. Just not the one to the Expansion board.


    ;Triggers
    M950 J5 C"io5.in" ;set the input on io5 for the trigger Joystick
    M950 J7 C"io7.in" ;set the input on io7 for the trigger Joystick
    M950 J8 C"io8.in" ;set the input on io8 for the trigger Joystick
    M950 J6 C"io6.in" ;set the input on io6 for the trigger Joystick
    M950 J9 C"1.io2.in" ;set the inpout for expansion board 1 (3HC) pin 2 to input for green button
    M581 P5 S0 T5 R0 ;define trigger to Trigger 5 for io5
    M581 P6 S0 T6 R0 ;define trigger to Trigger 6 for io6
    M581 P7 S0 T7 R0 ;define trigger to Trigger 7 for io7
    M581 P8 S0 T8 R0 ;define trigger to Trigger 8 for io8
    M581 P9 S0 T9 R0 ;define trigger to Expansion pin 2 to trigger 9


    undefined undefined undefined 3 Replies Last reply 22 Dec 2022, 00:47 Reply Quote 1
    • undefined
      heathharper @heathharper
      last edited by 22 Dec 2022, 00:47

      This post is deleted!
      1 Reply Last reply Reply Quote 0
      • undefined
        jay_s_uk @heathharper
        last edited by 22 Dec 2022, 06:06

        @heathharper what firmware version are you running on both boards? Best to post an output of M122 and M122 Bx where x is the 3HC CAN address

        Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

        undefined 2 Replies Last reply 22 Dec 2022, 22:13 Reply Quote 0
        • undefined
          T3P3Tony administrators @heathharper
          last edited by T3P3Tony 22 Dec 2022, 12:02

          @heathharper as a quick check you can look in the Object model at "sensors"-"GPIN" and see if pressing the the button on the expansion board connected pin changes the state of the GPIO pin in the OM

          www.duet3d.com

          undefined 1 Reply Last reply 22 Dec 2022, 23:08 Reply Quote 0
          • undefined
            heathharper @jay_s_uk
            last edited by 22 Dec 2022, 22:13

            @jay_s_uk

            Thanks for the reply. Here is the M122 for the 6HC.

            M122
            === Diagnostics ===
            RepRapFirmware for Duet 3 MB6HC version 3.4.5 (2022-11-30 19:35:23) running on Duet 3 MB6HC v1.0 or earlier (SBC mode)
            Board ID: 08DJM-956L2-G43S4-6J9FA-3SJ6N-1B66G
            Used output buffers: 1 of 40 (12 max)
            === RTOS ===
            Static ram: 152760
            Dynamic ram: 66484 of which 0 recycled
            Never used RAM 131428, free system stack 200 words
            Tasks: SBC(ready,0.5%,484) HEAT(notifyWait,0.0%,374) Move(notifyWait,0.0%,351) CanReceiv(notifyWait,0.0%,774) CanSender(notifyWait,0.0%,336) CanClock(delaying,0.0%,339) TMC(notifyWait,7.8%,91) MAIN(running,91.6%,1231) IDLE(ready,0.1%,30), total 100.0%
            Owned mutexes: HTTP(MAIN)
            === Platform ===
            Last reset 00:11:35 ago, cause: power up
            Last software reset at 2022-12-21 16:43, reason: User, none spinning, available RAM 131356, slot 0
            Software reset code 0x0012 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0044a000 BFAR 0x00000000 SP 0x00000000 Task SBC Freestk 0 n/a
            Error status: 0x00
            Aux0 errors 0,0,0
            Step timer max interval 134
            MCU temperature: min 16.1, current 34.6, max 34.7
            Supply voltage: min 24.0, current 24.1, max 24.1, under voltage events: 0, over voltage events: 0, power good: yes
            12V rail voltage: min 12.0, current 12.1, max 12.1, under voltage events: 0
            Heap OK, handles allocated/used 0/0, heap memory allocated/used/recyclable 0/0/0, gc cycles 0
            Events: 0 queued, 0 completed
            Driver 0: standstill, SG min 0, mspos 8, reads 16451, writes 14 timeouts 0
            Driver 1: standstill, SG min 0, mspos 8, reads 16451, writes 14 timeouts 0
            Driver 2: standstill, SG min 0, mspos 8, reads 16451, writes 14 timeouts 0
            Driver 3: standstill, SG min 0, mspos 8, reads 16451, writes 14 timeouts 0
            Driver 4: standstill, SG min 0, mspos 8, reads 16451, writes 14 timeouts 0
            Driver 5: standstill, SG min 0, mspos 8, reads 16455, writes 11 timeouts 0
            Date/time: 2022-12-22 15:12:24
            Slowest loop: 24.90ms; fastest: 0.04ms
            === Storage ===
            Free file entries: 10
            SD card 0 not detected, interface speed: 37.5MBytes/sec
            SD card longest read time 0.0ms, write time 0.0ms, max retries 0
            === Move ===
            DMs created 125, segments created 0, maxWait 0ms, bed compensation in use: none, comp offset 0.000
            === MainDDARing ===
            Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
            === AuxDDARing ===
            Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
            === Heat ===
            Bed heaters -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0
            === GCodes ===
            Segments left: 0
            Movement lock held by null
            HTTP* is doing "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
            Aux2 is idle in state(s) 0
            Autopause is idle in state(s) 0
            Code queue is empty
            === CAN ===
            Messages queued 3481, received 5567, lost 0, boc 0
            Longest wait 1ms for reply type 6036, peak Tx sync delay 380, free buffers 50 (min 49), ts 3479/3478/0
            Tx timeouts 0,0,0,0,0,0
            === SBC interface ===
            Transfer state: 5, failed transfers: 0, checksum errors: 0
            RX/TX seq numbers: 27436/27436
            SPI underruns 0, overruns 0
            State: 5, disconnects: 0, timeouts: 0 total, 0 by SBC, IAP RAM available 0x2ad48
            Buffer RX/TX: 0/0-0, open files: 0
            === Duet Control Server ===
            Duet Control Server v3.4.5
            Code buffer space: 4096
            Configured SPI speed: 8000000Hz, TfrRdy pin glitches: 0
            Full transfers per second: 0.36, max time between full transfers: 297.6ms, max pin wait times: 47.5ms/15.9ms
            Codes per second: 0.00
            Maximum length of RX/TX data transfers: 3012/820

            undefined 1 Reply Last reply 22 Dec 2022, 22:14 Reply Quote 0
            • undefined
              heathharper @jay_s_uk
              last edited by 22 Dec 2022, 22:14

              @jay_s_uk here is the M122 B1 (3HC Exp board)

              M122 B1
              Diagnostics for board 1:
              Duet EXP3HC rev 1.01 or earlier firmware version 3.4.4 (2022-10-14 11:45:56)
              Bootloader ID: not available
              All averaging filters OK
              Never used RAM 158900, free system stack 200 words
              Tasks: Move(notifyWait,0.0%,160) HEAT(notifyWait,0.0%,88) CanAsync(notifyWait,0.0%,69) CanRecv(notifyWait,0.0%,82) CanClock(notifyWait,0.0%,71) TMC(notifyWait,7.5%,99) MAIN(running,91.2%,441) IDLE(ready,0.0%,40) AIN(delaying,1.3%,263), total 100.0%
              Last reset 00:12:37 ago, cause: power up
              Last software reset data not available
              Driver 0: pos 0, 80.0 steps/mm,standstill, SG min 0, mspos 8, reads 30145, writes 11 timeouts 0, steps req 0 done 0
              Driver 1: pos 0, 80.0 steps/mm,standstill, SG min 0, mspos 8, reads 30146, writes 11 timeouts 0, steps req 0 done 0
              Driver 2: pos 0, 80.0 steps/mm,standstill, SG min 0, mspos 8, reads 30146, writes 11 timeouts 0, steps req 0 done 0
              Moves scheduled 0, completed 0, in progress 0, hiccups 0, step errors 0, maxPrep 0, maxOverdue 0, maxInc 0, mcErrs 0, gcmErrs 0
              Peak sync jitter -5/10, peak Rx sync delay 181, resyncs 0/0, no step interrupt scheduled
              VIN voltage: min 24.2, current 24.2, max 24.3
              V12 voltage: min 12.2, current 12.3, max 12.3
              MCU temperature: min 24.1C, current 33.3C, max 33.3C
              Last sensors broadcast 0x00000000 found 0 244 ticks ago, 0 ordering errs, loop time 0
              CAN messages queued 6086, send timeouts 0, received 3798, lost 0, free buffers 37, min 37, error reg 20000
              dup 0, oos 0/0/0/0, bm 0, wbm 0, rxMotionDelay 0

              1 Reply Last reply Reply Quote 0
              • undefined
                jay_s_uk @heathharper
                last edited by 22 Dec 2022, 22:14

                @heathharper what about the expansion board?

                Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

                1 Reply Last reply Reply Quote 0
                • undefined
                  heathharper @T3P3Tony
                  last edited by 22 Dec 2022, 23:08

                  @T3P3Tony

                  The object model was the answer. I ended up having a short on the signal wire and identified it because you helped me locate the "Sensors" "GPIN" correctly.

                  Thanks!

                  1 Reply Last reply Reply Quote 1
                  • undefined dc42 marked this topic as a question 23 Dec 2022, 06:56
                  • undefined dc42 has marked this topic as solved 23 Dec 2022, 06:56
                  6 out of 8
                  • First post
                    6/8
                    Last post
                  Unless otherwise noted, all forum content is licensed under CC-BY-SA