Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login
    1. Home
    2. heathharper
    • Profile
    • Following 0
    • Followers 0
    • Topics 2
    • Posts 14
    • Best 5
    • Controversial 0
    • Groups 0

    heathharper

    @heathharper

    5
    Reputation
    1
    Profile views
    14
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    heathharper Unfollow Follow

    Best posts made by heathharper

    • Duet 3D Controlled Laser Welder - EXP 3HC Configuration

      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


      posted in CNC
      heathharperundefined
      heathharper
    • RE: two z axis motors

      Thank you @Phaedrux ! I will read up on it! I guess the reason that I wondered was that it says "Each Z motor must be driven from a separate stepper motor output on the Duet + optional DueX expansion board".

      I took that to mean literally the Duex2 or Duex5 expansions, not just the added 2 stepper expansion for the Maestro.

      If the 2 stepper Maestro expansion fits the "DueX" description, then this answers my question.

      posted in General Discussion
      heathharperundefined
      heathharper
    • RE: Wiring and programming a switch for a conditional statement

      @OwenD That worked! I just had to swap the 1 and 0, true false since my switch is normally closed. THANKS!

      posted in Gcode meta commands
      heathharperundefined
      heathharper
    • RE: Duet 3D Controlled Laser Welder - EXP 3HC Configuration

      @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!

      posted in CNC
      heathharperundefined
      heathharper
    • Recording positions to create a GCODE file for playback?

      Not sure exactly where to place this post, but I need to be able to move to multiple locations on my bed, move each axes as needed, and then record all of those movements for playback.

      Kind of like a "microsoft recording macro" for software, or a "Learn/Teach" pendant thing.

      I have looked into M28 and M29, but I must not be understanding it because as soon as I start the M28, the machine doesn't move...

      Any ideas or thoughts?

      posted in General Discussion
      heathharperundefined
      heathharper

    Latest posts made by heathharper

    • RE: Head stops after print leaving unwanted blob on print.

      This is exactly what happens when I slice for Marlin instead of RepRap in CURA.

      Make sure your slicer is set to RepRap and it should automatically fix the issues as explained by everyone above.

      posted in Duet Hardware and wiring
      heathharperundefined
      heathharper
    • RE: Recording positions to create a GCODE file for playback?

      @OwenD Thank you! I will digest this at work tomorrow and let you know how it goes!

      posted in General Discussion
      heathharperundefined
      heathharper
    • Recording positions to create a GCODE file for playback?

      Not sure exactly where to place this post, but I need to be able to move to multiple locations on my bed, move each axes as needed, and then record all of those movements for playback.

      Kind of like a "microsoft recording macro" for software, or a "Learn/Teach" pendant thing.

      I have looked into M28 and M29, but I must not be understanding it because as soon as I start the M28, the machine doesn't move...

      Any ideas or thoughts?

      posted in General Discussion
      heathharperundefined
      heathharper
    • RE: Wiring and programming a switch for a conditional statement

      @OwenD That worked! I just had to swap the 1 and 0, true false since my switch is normally closed. THANKS!

      posted in Gcode meta commands
      heathharperundefined
      heathharper
    • RE: Wiring and programming a switch for a conditional statement

      @OwenD Thanks! I will try it tomorrow when I'm back in the office!

      posted in Gcode meta commands
      heathharperundefined
      heathharper
    • RE: Wiring and programming a switch for a conditional statement

      @rjenkinsgb I know this is an older post, but do you think I could use this same code to continuously run some gcode lines over and over when a button is pressed by using "while" instead of if?

      If so, what would the code look like if I just want to continuously move in .5mm while the button is pressed on io2?

      Thanks in advance!

      posted in Gcode meta commands
      heathharperundefined
      heathharper
    • RE: Duet 3D Controlled Laser Welder - EXP 3HC Configuration

      @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!

      posted in CNC
      heathharperundefined
      heathharper
    • RE: Duet 3D Controlled Laser Welder - EXP 3HC Configuration

      @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

      posted in CNC
      heathharperundefined
      heathharper
    • RE: Duet 3D Controlled Laser Welder - EXP 3HC Configuration

      @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

      posted in CNC
      heathharperundefined
      heathharper
    • Duet 3D Controlled Laser Welder - EXP 3HC Configuration

      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


      posted in CNC
      heathharperundefined
      heathharper