Thank you both for your help. I misunderstood what a core xyu is. My printer is a supposed to just be a core xy with an additional axis for the tool change mechanism. (my printer is most similar to E3D's tool changer 3D printer.)
Best posts made by SamKudarauskas
-
RE: Y axis moving significantly slower than X axis
Latest posts made by SamKudarauskas
-
RE: Storing current tool number across power cycle/ system restart
@dc42 Ok, thank you for your help. I will try that. How would I configure the switch and how would I check its status in a system file such as homeall.g?
Als, do you know if T R1 would work in my scenario? Or would it only work in a resume.g file?
-
Storing current tool number across power cycle/ system restart
My current tool changer 3D printer forgets what the current tool is when the power is cut or the system is restarted. What I want to happen is if a job is started and tool 0 is still selected for whatever reason that it homes the xy axis, puts the tool back and then continues the homing process. I am attempting to do this as a failsafe incase the tool isn't put back for some reason because it can not home the u or z axis with any tool currently selected.
So far I've gotten it to put the tool back if I simply instruct it to home all axis without cuttng the power or triggering a restart, however if I cut the power or just trigger a system restart with the DWC it doesn't try to put the tool back because it doesn't think one is selected.
I've taken a look at https://docs.duet3d.com/en/User_manual/Tuning/Resume but it doesn't appear to cover how to store and retrieve any secondary data such as the current tool number in my case. Additionally, system files such as resume.g don't seem to trigger if no job is active when the DWC tells it to restart.
Bellow are my relevant files. (note I don't currently have a resume.g set up yet because, correct me if I'm wrong, it doesn't run when the DWC triggers as system restart)
config.g
; Configuration file for RepRapFirmware on Duet 3 Main Board 6HC ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.5.0-rc.3 on Fri Mar 15 2024 11:41:50 GMT-0400 (Eastern Daylight Time) ; General M550 P"Duet 3" ; set hostname ; Accessories M575 P1 S0 B57600 ; configure PanelDue support ; Network M551 P"Knights24" ; set machine password M552 P0.0.0.0 S1 ; configure Ethernet adapter M586 P0 S1 ; configure HTTP ; Smart Drivers M569 P0.0 S1 D2 ; driver 0.0 goes forwards (X axis) M915 P0.0 S1 ; set StallGuard threshold M569 P0.1 S0 D2 ; driver 0.1 goes backwards (Y axis) M915 P0.1 S1 ; set StallGuard threshold M569 P0.2 S0 D2 ; driver 0.2 goes backwards (Z axis) M915 P0.2 S1 ; set StallGuard threshold M569 P0.3 S0 D2 ; driver 0.3 goes backwards (Z axis) M915 P0.3 S1 ; set StallGuard threshold M569 P0.4 S1 D2 ; driver 0.4 goes forwards (U axis) M915 P0.4 S2 ; set StallGuard threshold M569 P0.5 S1 D2 ; driver 0.5 goes forwards (extruder 0) ; Motor Idle Current Reduction M906 I10 ; set motor current idle factor M84 S10 ; set motor current idle timeout ; Axes M584 X0.0 Y0.1 Z0.2:0.3 U0.4 ; set axis mapping M350 U16 I0 ; configure microstepping without interpolation M350 X16 Y16 Z16 I1 ; configure microstepping with interpolation M906 X900 Y900 Z900 U400 ; set axis driver currents M92 X160 Y160 Z400 U200 ; configure steps per mm M208 X0:300 Y0:300 Z0:300 U0:270 ; set minimum and maximum axis limits M566 X900 Y900 Z12 U30 ; set maximum instantaneous speed changes (mm/min) M203 X9000 Y9000 Z180 U4000 ; set maximum speeds (mm/min) M201 X600 Y600 Z20 U50 ; set accelerations (mm/s^2) ; Extruders M584 E0.5 ; set extruder mapping M350 E16 I1 ; configure microstepping with interpolation M906 E900 ; set extruder driver currents M92 E397.5 ; configure steps per mm M566 E120 ; set maximum instantaneous speed changes (mm/min) M203 E3600 ; set maximum speeds (mm/min) M201 E250 ; set accelerations (mm/s^2) ; Kinematics M669 K1 ; configure CoreXY kinematics ; Probes M558 K0 P9 C"io4.in" H5 F120 T6000 ; configure BLTouch probe via slot #0 G31 P500 X4 Y-70 Z0.7 ; set Z probe trigger value, offset and trigger height M950 S0 C"io4.out" ; create servo #0 for BLtouch ; Endstops M574 X1 S3 ; configure X axis endstop M574 Y1 S3 ; configure Y axis endstop M574 Z1 S2 ; configure Z axis endstop M574 U1 S3 ; configure U axis endstop M915 X Y Y R0 F0 H400; manually added for sensorless homing ; Mesh Bed Compensation M557 X15:245 Y20:215 S80 ; probe from X=10 to 245, Y=10 to 245mm with a mesh spacing of 80mm ; Sensors M308 S0 P"temp0" Y"thermistor" A"Heated Bed" T100000 B4725 C7.06e-8 ; configure sensor #0 M308 S1 P"temp1" Y"thermistor" A"Nozzle" T100000 B4725 C7.06e-8 ; configure sensor #1 ; Heaters M950 H0 C"out0" T0 ; create heater #0 M143 H0 P0 T0 C0 S140 A0 ; configure heater monitor #0 for heater #0 M307 H0 R0.401 K0.333:0.000 D13.12 E1.35 S1.00 B0 ; configure model of heater #0 M950 H1 C"out1" T1 ; create heater #1 M143 H1 P0 T1 C0 S300 A0 ; configure heater monitor #0 for heater #1 M307 H1 R1.804 K0.293:0.000 D9.68 E1.35 S1.00 B0 V24.1; configure model of heater #1 ; Heated beds M140 P0 H0 ; configure heated bed #0 ; Fans M950 F0 C"out5" ; create fan #0 M106 P0 S0 L0 X1 B0.1 ; configure fan #0 M950 F1 C"out4" ; create fan #1 M106 P1 S0 B0.1 H1 T45 ; configure fan #1 ; Tools M563 P0 D0 H1 F0 ; create tool #0 G10 P0 Z-4.55 ; set custom offsets for tool #0 M568 P0 R0 S0 ; set initial tool #0 active and standby temperatures to 0C
homeall.g
;; homeall.g ; called to home all axes ; ; generated by RepRapFirmware Configuration Tool v3.5.0-rc.3 on Fri Mar 15 2024 11:41:50 GMT-0400 (Eastern Daylight Time) ; ; home Y ; M400 ; Wait for current moves to finish G91 ; relative positioning G1 H2 Z10 F12000 ; lift Z relative to current position M400 ; wait for current move to finish M913 X25 Y25 ; drop motor current to 25% M400 G1 H1 Y-400 F10000 ; move quickly to Y axis endstop and stop there (first pass) G1 H2 Y5 F12000 ; go back a few mm G1 H1 Y-400 F5000 ; move slowly to Y axis endstop once more (second pass) G90 ; absolute positioning M400 M913 X100 Y100 ; return current to 100% M400 ;home X ; M400 ; Wait for current moves to finish M913 X30 Y30 ; drop motor current to 30% M400 G1 H1 X-400 F10000 ; move quickly to X axis endstop and stop there (first pass) G1 H2 X5 F12000 ; go back a few mm G1 H1 X-400 F5000 ; move slowly to X axis endstop once more (second pass) G1 X5 ;offset so tool doesnt hit belt G92 X0 ;sets current x pos as 0 M400 ;G1 H2 Z-10 F6000 ; lower Z again M564 S0 H0 ; allows temporary movemnt outside of homed axis T-1 M564 S1 H1; ; M98 P"homeU.g" ; home U axis ; home Z var xCenter = move.compensation.probeGrid.mins[0] + (move.compensation.probeGrid.maxs[0] - move.compensation.probeGrid.mins[0]) / 2 - sensors.probes[0].offsets[0] var yCenter = move.compensation.probeGrid.mins[1] + (move.compensation.probeGrid.maxs[1] - move.compensation.probeGrid.mins[1]) / 2 - sensors.probes[0].offsets[1] G1 X{var.xCenter} Y{var.yCenter} F6000 ; go to bed centre G30 ; probe the bed ;M98 P"bed.g" ; mesh bed ;G92 Z0 ;sets current z pos as 0 ;M400 G90 ;absolute positioning
homeu.g
M400 ; Wait for current moves to finish M913 U100 ; drop motor current to 20% ;U34.5 M400 G91 ; relative positioning G1 H1 U-400 F10000 ; move quickly to X axis endstop and stop there (first pass) G1 H2 U5 F12000 ; go back a few mm G1 H1 U-400 F5000 ; move slowly to X axis endstop once more (second pass) G90 ; absolute positioning M400 M913 U100 ; return current to 100% M400
Thank you for your time and I'm happy to provide any other files or test anything.
-
RE: Controling 120V 750W heatbed with SSR
@droftarts perfect, thank you for all of your help.
Sam
-
RE: Controling 120V 750W heatbed with SSR
@dc42 thank you for your help. Would this prusa heat bed work by being directly powered by out0 of my duet board? https://www.prusa3d.com/product/magnetic-heatbed-mk52-24v-assembly/
I'm fine with losing a few mm of build volume so long as it means simplifying my electronics setup.
Sam
-
RE: Controling 120V 750W heatbed with SSR
@dc42 @gtrider Thank you both for your help. I will heed your advice and pick a different bed heating option.
Would something like the 24V 400W Keenovo heating pad powered by my current LRS-350-24 power supply and controlled with a DC-DC SSR be a safer option? Or should I try to find a smaller bed that can be directly powered by my duet board such as the one by prusa that is 255 by 215? (I was originally looking for a build volume of closer to 280 by 280)
Sam
-
Controling 120V 750W heatbed with SSR
I am currently trying to wire my heated bed and I am not sure I have all of the correct components and I'm not sure how to wire it. I have a Keenovo heating pad 120V 750W, a meanswell SSR model number RS-25-24, and a meanswell LRS 350-24 (for my duet 3 mb6hc). Are these the correct components to power my heated bed? If yes that how exactly do I wire it? This guide: https://docs.duet3d.com/User_manual/Connecting_hardware/Heaters_bed doesn't have a wiring diagram for me to follow on it and I don't want to break anything.
Do I need any additional electronics to use this heated bed?
I would appreciate some wiring guidance along with any advice on what additional parts (if any) that I need. I apologize also if I missed an article that explains how to do this more clearly.
Sam
-
RE: Extruder heating tuner failed to reach set temp
@Phaedrux Here is the results from M122
M122
=== Diagnostics ===
RepRapFirmware for Duet 3 MB6HC version 3.5.0-rc.3 (2024-01-24 17:58:49) running on Duet 3 MB6HC v1.02 or later (standalone mode)
Board ID: 08DJM-9P63L-DJ3S0-7J1FJ-3SN6P-TSMZA
Used output buffers: 3 of 40 (18 max)
=== RTOS ===
Static ram: 155184
Dynamic ram: 120916 of which 732 recycled
Never used RAM 69160, free system stack 214 words
Tasks: NETWORK(1,ready,40.3%,148) ETHERNET(5,nWait 7,0.2%,565) HEAT(3,nWait 1,0.0%,341) Move(4,nWait 6,0.0%,336) CanReceiv(6,nWait 1,0.0%,940) CanSender(5,nWait 7,0.0%,334) CanClock(7,delaying,0.0%,338) TMC(4,nWait 6,8.6%,56) MAIN(1,running,49.8%,103) IDLE(0,ready,1.1%,30), total 100.0%
Owned mutexes:
=== Platform ===
Last reset 00:00:09 ago, cause: software
Last software reset at 2024-03-22 09:13, reason: User, Gcodes spinning, available RAM 66304, slot 1
Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00400000 BFAR 0x00000000 SP 0x00000000 Task MAIN Freestk 0 n/a
Error status: 0x00
Aux0 errors 0,0,0
MCU temperature: min 32.2, current 32.7, max 32.7
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.3, 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 n/a, mspos 8, reads 51073, writes 19 timeouts 0
Driver 1: standstill, SG min n/a, mspos 8, reads 51074, writes 19 timeouts 0
Driver 2: standstill, SG min n/a, mspos 8, reads 51076, writes 17 timeouts 0
Driver 3: standstill, SG min n/a, mspos 8, reads 51082, writes 11 timeouts 0
Driver 4: standstill, SG min n/a, mspos 8, reads 51077, writes 16 timeouts 0
Driver 5: standstill, SG min n/a, mspos 8, reads 51077, writes 16 timeouts 0
Date/time: 2024-03-22 09:13:52
Slowest loop: 3.99ms; fastest: 0.07ms
=== Storage ===
Free file entries: 20
SD card 0 detected, interface speed: 25.0MBytes/sec
SD card longest read time 3.5ms, write time 0.0ms, max retries 0
=== Move ===
DMs created 125, segments created 0, maxWait 0ms, bed compensation in use: none, height map offset 0.000, max steps late 0, ebfmin 0.00, ebfmax 0.00
no step interrupt scheduled
Moves shaped first try 0, on retry 0, too short 0, wrong shape 0, maybepossible 0
=== DDARing 0 ===
Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
=== DDARing 1 ===
Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
=== Heat ===
Bed heaters 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamber heaters -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
Q0 segments left 0, axes/extruders owned 0x0000000
Code queue 0 is empty
Q1 segments left 0, axes/extruders owned 0x0000000
Code queue 1 is empty
=== CAN ===
Messages queued 83, received 0, lost 0, errs 44130, boc 0
Longest wait 0ms for reply type 0, peak Tx sync delay 0, free buffers 50 (min 50), ts 47/0/0
Tx timeouts 0,0,46,0,0,35 last cancelled message type 30 dest 127
=== Network ===
Slowest loop: 5.46ms; fastest: 0.03ms
Responder states: MQTT(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0)
HTTP sessions: 1 of 8
= Ethernet =
Interface state: active
Error counts: 0 0 0 1 0 0
Socket states: 5 2 2 2 2 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
=== Multicast handler ===
Responder is inactive, messages received 0, responses 0I also tried a out2 instead of out1 and it didn't change anything.
-
RE: Extruder heating tuner failed to reach set temp
@droftarts Thank you for your help. It is the 24V 30W heater cartridge. I measured 19.7 ohms (so I presume it is fine?). Is it possible that I am only sending it 12V instead of 24V? If so, how could I check this and fix it?
I inspected the wires and all the connections appear fine to me.
Sam
-
RE: Extruder heating tuner failed to reach set temp
Update: I tried running M303 H1 S125 (because it has reliably hit 125C) and it returned:
Warning: heater behaviour was not consistent during tuning
Auto tuning heater 1 completed after 3 idle and 25 tuning cycles in 1450 seconds. This heater needs the following M307 command:
M307 H1 R1.491 K0.895:0.000 D5.05 E1.35 S1.00 B0 V24.1
Edit the M307 H1 command in config.g to match this. Omit the V parameter if the heater is not powered from VIN.Do these values look reasonable? Is it likely that I have a faulty heater due to the fact that it can not hit anywhere near its max temp of 300C?
I also tried preheating the nozzle using the web interface and this time the nozzle hit 170C. It continued to still go up after this point but it was taking almost a minute to go up one degree C.
-
Extruder heating tuner failed to reach set temp
I am in the process of testing and tuning my Hemra V6 hotend from E3D on my custom core xy tool changer 3d printer. I've connected the hot end and its respective thermistor but I am unable to tune it successfully. I have been following this guide: https://docs.duet3d.com/User_manual/Connecting_hardware/Heaters_tuning but the steps in recommends to resolve the M303 command failing have not been working for me. I have not touched the P value (its at max) and I have tried many values for the D (dead time value). With default values the hot end doesn't even reach 150C before it auto cancels the tuning with the error that it failed to hit the specifies temp. I've increased the D value all the way up to 80 and that only made the hotend get to barely above 150C before it again failed. (the max temp of my hotend is 300C)
Here is the entirety of my config.g file:
; Configuration file for RepRapFirmware on Duet 3 Main Board 6HC ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.5.0-rc.3 on Fri Mar 15 2024 11:41:50 GMT-0400 (Eastern Daylight Time) ; General M550 P"Duet 3" ; set hostname ; Accessories M575 P1 S0 B57600 ; configure PanelDue support ; Network M552 P0.0.0.0 S1 ; configure Ethernet adapter M586 P0 S1 ; configure HTTP ; Smart Drivers M569 P0.0 S1 D2 ; driver 0.0 goes forwards (X axis) M915 P0.0 S1 ; set StallGuard threshold M569 P0.1 S0 D2 ; driver 0.1 goes forwards (Y axis) M915 P0.1 S1 ; set StallGuard threshold M569 P0.2 S1 D2 ; driver 0.2 goes forwards (Z axis) M915 P0.2 S1 ; set StallGuard threshold M569 P0.4 S1 D2 ; driver 0.4 goes forwards (U axis) M569 P0.5 S1 D2 ; driver 0.5 goes forwards (extruder 0) ; Motor Idle Current Reduction M906 I10 ; set motor current idle factor M84 S10 ; set motor current idle timeout ; Axes M584 X0.0 Y0.1 Z0.2 U0.4 ; set axis mapping M350 U16 I0 ; configure microstepping without interpolation M350 X16 Y16 Z16 I1 ; configure microstepping with interpolation M906 X900 Y900 Z900 U0 ; set axis driver currents M92 X160 Y160 Z400 U80 ; configure steps per mm M208 X0:300 Y0:300 Z0:300 U0:200 ; set minimum and maximum axis limits M566 X900 Y900 Z12 U900 ; set maximum instantaneous speed changes (mm/min) M203 X9000 Y9000 Z180 U6000 ; set maximum speeds (mm/min) M201 X600 Y600 Z20 U5 ; set accelerations (mm/s^2) ; Extruders M584 E0.5 ; set extruder mapping M350 E16 I1 ; configure microstepping with interpolation M906 E900 ; set extruder driver currents M92 E420 ; configure steps per mm M566 E120 ; set maximum instantaneous speed changes (mm/min) M203 E3600 ; set maximum speeds (mm/min) M201 E250 ; set accelerations (mm/s^2) ; Kinematics M669 K1 ; configure CoreXYU kinematics ; Probes M558 K0 P9 C"io2.in" H5 F120 T6000 ; configure BLTouch probe via slot #0 G31 P500 X0 Y0 Z0.7 ; set Z probe trigger value, offset and trigger height M950 S0 C"io2.out" ; create servo #0 for BLtouch ; Endstops M574 X1 S3 ; configure X axis endstop M574 Y1 S3 ; configure Y axis endstop M574 Z1 S2 ; configure Z axis endstop M574 U0 ; configure U axis endstop M915 X Y R0 F0 H400; manually added for sensorless homing ; Mesh Bed Compensation M557 X25:175 Y25:175 S40:40 ; define grid for mesh bed compensation ; Sensors M308 S0 P"temp0" Y"thermistor" A"Heated Bed" T100000 B4725 C7.06e-8 ; configure sensor #0 M308 S1 P"temp1" Y"thermistor" A"Nozzle" T100000 B4725 C7.06e-8 ; configure sensor #1 ; Heaters M950 H0 C"out0" T0 ; create heater #0 M143 H0 P0 T0 C0 S140 A0 ; configure heater monitor #0 for heater #0 M307 H0 R2.43 D5.5 E1.35 K0.56 B1 ; configure model of heater #0 M950 H1 C"out1" T1 ; create heater #1 M143 H1 P0 T1 C0 S300 A0 ; configure heater monitor #0 for heater #1 M307 H1 R2.43 D5.5 E1.35 K0.56 B0 ; configure model of heater #1 ; Heated beds M140 P0 H0 ; configure heated bed #0 ; Fans M950 F0 C"out3" ; create fan #0 M106 P0 S0 L0 X1 B0.1 ; configure fan #0 M950 F1 C"out4" ; create fan #1 M106 P1 S0 B0.1 H1 T45 ; configure fan #1 ; Tools M563 P0 D0 H1 F0 ; create tool #0 M568 P0 R0 S0 ; set initial tool #0 active and standby temperatures to 0C
Note that I currently only have my alpha and beta motors plugged in along with my hotend and thermistor so many other firmware values are default and have not been tuned yet.
Please let me know what suggestions you might have for values to change and/ or things to test. Thank you for your help.
Sam