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.
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.
@OwenD Thank you! I will digest this at work tomorrow and let you know how it goes!
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?
@OwenD That worked! I just had to swap the 1 and 0, true false since my switch is normally closed. THANKS!
@OwenD Thanks! I will try it tomorrow when I'm back in the office!
@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!
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!
@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
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
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
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.
dc42 - David.
I am new to the forum, and did not see a spot where someone has asked, this may be an assumed question, but here goes.
When you say,
"If you will not otherwise be using the E1 extruder motor output, you can connect one Z motor to that and the other to the Z motor output. Then put command "M584 Z2:4 E3" in config.g (before any M906 or M350 commands) to configure the firmware to drive both together. If your printer has a Z probe, you can have the firmware adjust the two motors independently to do side-to-side bed levelling too."
Does this apply only to Duet 2 WIFI and Ethernet boards, or can I use this method on the Maestro board as well?
If so, can I use 3 channels to support 3 independent motors on Z using a Maestro board if I add the Maestro 2 driver expansion board?
Thank you for your support and feel free to redirect me if I missed this being answered somewhere else. I look forward to spending lots of time in the community.