Z-drives not moving, new Duet3
-
@heide I've edited your first post to put your config and homing files in code tags, which makes it easier to read and find the relevant bits.
I think this is an endstop issue. Your Z homing is using two methods:
When you call 'homez.g', it uses an endstop switch, and it is configured to trigger at the MINIMUM Z, ie when the nozzle touches the bed, with
M574 Z1 S1 P"io3.in"
. Is this correct? The homing move isG1 H1 Z-200 F100
, so it's moving the bed up. Also, a quirk of homing is that it relies on the M208 settings; currently you have the Z maximum set toM208 Z300
, so it's possible for the Z axis to move and not hit the endstop. This may also cause homing to fail.When you call 'homeall.g', it's using the Z probe. homeall.g should work correctly, assuming the probe is configured correctly.
The comments in the config.g are slightly confusing. It talks about moving Z up and down. But this is based on a machine that moves the nozzle in Z, eg Prusa i3. For a CoreXY, think of it 'Z up' as 'increasing the distance between bed and nozzle' and vice versa for 'Z down'.
Edit: Sorry, I see in your later edit to homez.g and homeall.g that you are using just endstops, not probe.
-
@heide Can you describe where your Z endstop is? Is it the same as the Z probe? If so, you just want to use G30 for homing Z, not command a move.
Ian
-
@droftarts the endstop is not assigned as the probe. It's placed near the bed.
I have tested it, and it works.@droftarts said in Z-drives not moving, new Duet3:
hen you call 'homez.g', it uses an endstop switch, and it is configured to trigger at the MINIMUM Z, ie when the nozzle touches the bed, with M574 Z1 S1 P"io3.in". Is this correct? The homing move is G1 H1 Z-200 F100, so it's moving the bed up. Also, a quirk of homing is that it relies on the M208 settings; currently you have the Z maximum set to M208 Z300, so it's possible for the Z axis to move and not hit the endstop. This may also cause homing to fail.
M574 Z1 S1 P"io3.in" correct
Just to be clear the bed is not moving, the gantry is.
I will a just the Z to 400 -
@heide said in Z-drives not moving, new Duet3:
Just to be clear the bed is not moving, the gantry is.
Ah, yes, forgot it was a Voron!
the endstop is not assigned as the probe. It's placed near the bed.
I realise that now, looking at the assigned pins for Z endstop and probe. However, if you have a probe, and you can home with that, what is the function of the endstop? It would be better to have it at the top of the machine, furthest from the bed. That way, in the event of a loss of power, you can home Z to the top, and continue printing. Home at the bottom, and you're more likely to hit the print.
I will a just the Z to 400
Yes, just needs to be bigger than the value set by M208.
Ian
-
@droftarts I learn all the time, but that make sens somehow. But I my case it does not matter witch one I use. I does not move at all. It moves when I punch in this code
G91
G1 H2 Z300 F3000 -
@heide Hmm. I think that as that works, it's got to be a configuration issue. Can you post your current config.g, homez.g and homeall.g, preferably in code tags </> on the editing bar. Also post response to
M122
andM98 P"config.g"
Ian
-
@droftarts Here is it. I hope that I have done it correctly with the </>, have never used it, but I will gladly learn it.
; Configuration file for Duet 3 (firmware version 3.3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.3.10 on Tue Mar 22 2022 17:37:43 GMT+0100 (Centraleuropæisk normaltid) ; General preferences M575 P1 S1 B57600 ; enable support for PanelDue G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"Heides Printer" ; set printer name M669 K1 ; select CoreXY mode ; Wait a moment for the CAN expansion boards to start G4 S2 ; Network M552 P192.168.0.110 S1 ; enable network and acquire dynamic address via DHCP M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet ; Drives M569 P0.0 S1 ; physical drive 0.0 goes forwards, drive E M569 P1.0 S1 ; physical drive 1.0 goes forwards, drive A M569 P0.1 S1 ; physical drive 0.1 goes forwards, drive Z1 M569 P1.1 S1 ; physical drive 1.1 goes forwards, drive B M569 P0.2 S0 ; physical drive 0.1 goes backwards, drive Z2 M569 P0.3 S1 ; physical drive 0.1 goes forwards, drive Z3 M569 P0.4 S0 ; physical drive 0.1 goes backwards, drive Z4 M584 X1.0 Y1.1 Z0.1:0.2:0.3:0.4 E0.0 ; set drive mapping M350 X16 Y16 Z16 I0 ; configure microstepping without interpolation M350 E16 I1 ; configure microstepping with interpolation M92 X53.333 Y53.333 Z53.333 E397.00 ; set steps per mm M566 X720.00 Y720.00 Z150.00 E600.00 ; set maximum instantaneous speed changes (mm/min) M203 X18000.00 Y18000.00 Z2400.00 E6000.00 ; set maximum speeds (mm/min) M201 X2000.00 Y2000.00 Z250.00 E1800.00 ; set accelerations (mm/s^2) M906 X900 Y900 Z900 E1000 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Axis Limits M208 X0 Y0 Z0 S1 ; set axis minima M208 X300 Y300 Z300 S0 ; set axis maxima ; Endstops M574 X1 S1 P"!io1.in" ; configure switch-type (e.g. microswitch) endstop for low end on X via pin !io0.in M574 Y1 S1 P"!io2.in" ; configure switch-type (e.g. microswitch) endstop Y1 = low-end on Y via pin !io1.in M574 Z1 S1 P"io3.in" ; configure switch-type (e.g. microswitch) endstop U1 = low-end, S1 = active-high (NC) on Z via pin io3.in ; Z-Probe M558 P5 A5 S0.01 B0 R0.2 C"^io4.in" H5 F1000:400 T4500 I0 ; set Z probe type to switch and the dive height + speeds M558 H30 ;*** Remove this line after delta calibration has been done and new delta parameters have been saved G31 P500 X0 Y0 Z2.5 ; set Z probe trigger value, offset and trigger height M557 X50:250 Y50:250 S20 ; define mesh grid ; Bed leveling M671 X-65:-65:365:365 Y-20:380:380:-20 S20 ; Define Z belts location (Front_Left, Back_Left, Back_Right, Front_Right) M557 X25:275 Y25:275 S25 ; Define bed mesh grid (inductive probe, positions include the Z offset!) ; Heaters M308 S0 P"temp0" Y"thermistor" T100000 B3950 ; configure sensor 0 as thermistor on pin temp0 M950 H0 C"out0" T0 ; create bed heater output on out0 and map it to sensor 0 M307 H0 B1 S1.00 ; 100% PWM, bang-bang mode for the bed heater M140 H0 ; map heated bed to heater 0 M143 H0 S120 ; set temperature limit for heater 0 to 120C M308 S1 P"temp1" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 1 as thermistor on pin temp1 M950 H1 C"out1" T1 ; create nozzle heater output on out1 and map it to sensor 1 M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M143 H1 S300 ; set temperature limit for heater 1 to 300C ; Fans M950 F0 C"out4" Q500 ; create fan 0 on pin out4 and set its frequency M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off M950 F1 C"out5" Q500 ; create fan 1 on pin out5 and set its frequency M106 P1 S1 I0 H1 T50 ; set fan 1 value. Thermostatic control is turned on when temp reaches 50 °C M950 F2 C"out7" Q500 ; create fan 2 on pin out7 and set its frequency. Electronics bay fan, turn on gradually if MCU is over 45 °C or any TMC driver is over temp M106 P2 T45:65 F50 H-1 ; set fan 2 value. Thermostatic control is turned off M950 F3 C"out8" Q500 ; create fan 3 on pin out8 and set its frequency. Electronics bay fan, turn on gradually if MCU is over 45 °C or any TMC driver is over temp M106 P3 T45:65 F50 H-1 ; set fan 3 value. Thermostatic control is turned off ; Tools M563 P0 D0 H1 F1 ; define tool 0 G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C T0 ; Custom settings are not defined
; homeall.g ; called to home all axes ; ; generated by RepRapFirmware Configuration Tool v3.3.10 on Tue Mar 22 2022 17:37:43 GMT+0100 (Centraleuropæisk normaltid) G91 ; relative mode G1 H1 X-240 Y-240 F3000 ; coarse home X or Y G1 H1 X400 ; coarse home X G1 H1 Y400 ; coarse home Y G1 X4 Y4 F600 ; move away from the endstops G1 H1 X-100 ; fine home X G1 H1 Y-5 ; fine home Y G1 H2 Z4 F200 ; raise head 4mm to ensure it is above the switch trigger height G90 ; back to absolute mode G1 X0 Y0 F2000 ; put the head wherever you want it to be when you home Z (omit this line if it doesn't matter) G91 ; relative mode G1 H1 Z-400 F100 ; move Z down until the switch triggers G90 ; back to absolute mode G92 Z0.3 ; tell the firmware that we are at Z=0.3mm ; Uncomment the following lines to lift Z after probing ;G91 ; relative positioning ;G1 Z5 F100 ; lift Z relative to current position ;G90 ; absolute positioning
; homez.g ; called to home the Z axis ; ; generated by RepRapFirmware Configuration Tool v3.3.10 on Tue Mar 22 2022 17:37:43 GMT+0100 (Centraleuropæisk normaltid) G91 ; relative mode G1 H2 Z4 F200 ; raise head 4mm to ensure it is above the switch trigger height G90 ; back to absolute mode G1 X-5 Y-100 F2000 ; put the head wherever you want it to be when you home Z (omit this line if it doesn't matter) G91 ; relative mode G1 H1 Z-400 F100 ; move Z down until the switch triggers G90 ; back to absolute mode G92 Z0.3 ; tell the firmware that we are at Z=0.3mm ; Uncomment the following lines to lift Z after probing ;G91 ; relative positioning ;G1 H2 Z5 F100 ; lift Z relative to current position ;G90 ; absolute positioning
25.3.2022 16.54.32 M122 === Diagnostics === RepRapFirmware for Duet 3 MB6HC version 3.4.0 (2022-03-15 18:57:24) running on Duet 3 MB6HC v1.01 or later (standalone mode) Board ID: 08DJM-956BA-NA3TN-6J9FL-3S86R-9TB6T Used output buffers: 3 of 40 (13 max) === RTOS === Static ram: 151000 Dynamic ram: 96452 of which 128 recycled Never used RAM 103092, free system stack 200 words Tasks: NETWORK(ready,26.4%,209) ETHERNET(notifyWait,0.0%,173) HEAT(notifyWait,0.0%,321) Move(notifyWait,0.0%,352) CanReceiv(notifyWait,0.0%,797) CanSender(notifyWait,0.0%,374) CanClock(delaying,0.0%,339) TMC(notifyWait,8.0%,92) MAIN(running,65.6%,925) IDLE(ready,0.0%,30), total 100.0% Owned mutexes: === Platform === Last reset 00:31:53 ago, cause: software Last software reset at 2022-03-25 16:22, reason: User, GCodes spinning, available RAM 103052, slot 2 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 Step timer max interval 132 MCU temperature: min 45.0, current 45.6, max 45.9 Supply voltage: min 23.8, current 23.8, max 23.9, under voltage events: 0, over voltage events: 0, power good: yes 12V rail voltage: min 11.9, current 12.0, 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 48246, writes 14 timeouts 0 Driver 1: standstill, SG min 0, mspos 312, reads 48246, writes 14 timeouts 0 Driver 2: standstill, SG min 0, mspos 728, reads 48246, writes 14 timeouts 0 Driver 3: standstill, SG min 0, mspos 312, reads 48246, writes 14 timeouts 0 Driver 4: standstill, SG min 0, mspos 728, reads 48246, writes 14 timeouts 0 Driver 5: standstill, SG min 0, mspos 8, reads 48250, writes 11 timeouts 0 Date/time: 2022-03-25 16:54:31 Slowest loop: 17.39ms; fastest: 0.05ms === Storage === Free file entries: 10 SD card 0 detected, interface speed: 25.0MBytes/sec SD card longest read time 3.2ms, write time 2.4ms, 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 0 -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 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 Code queue is empty === CAN === Messages queued 17221, received 15313, lost 0, boc 0 Longest wait 1ms for reply type 6042, peak Tx sync delay 372, free buffers 50 (min 49), ts 9568/9567/0 Tx timeouts 0,0,0,0,0,0 === Network === Slowest loop: 63.78ms; fastest: 0.02ms Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions Telnet(0), 0 sessions HTTP sessions: 1 of 8 - Ethernet - State: active Error counts: 0 0 0 0 0 Socket states: 5 2 2 2 2 0 0 0
25.3.2022 16.56.11 M98 P"config.g" HTTP is enabled on port 80 FTP is disabled TELNET is disabled Error: Bad command: **Put G/M Codes in here to run when Tool 0 is about to be activated** Error: G0/G1: insufficient axes homed
-
@heide It's the </> icon on the editing bar above, puts in these:
code_text
-
@heide said in Z-drives not moving, new Duet3:
G1 H1 X-240 Y-240 F3000 ; coarse home X or YG1 H1 X400 ; coarse home X
G1 H1 Y400 ; coarse home Y
G1 X4 Y4 F600 ; move away from the endstops
G1 H1 X-100 ; fine home X
G1 H1 Y-5 ; fine home Y
there's a glitch in your homeall: X400 Y400 should be -400 and -400, please see example at https://duet3d.dozuki.com/Wiki/ConfiguringRepRapFirmwareCoreXYPrinter#Section_Homing_files
After homing movement of X and Y together, X and Y shall be moved into the same direction (negative X and Y) again some distance. This shall ensure that both X and Y are homed. Then a litte backwards (which is positive value here) and slowly with - again to the endstops. -
@joergs5 I will change this tomorrow. But I'm sure that I have already tried it. (I have tried so many things today)
-
@heide said in Z-drives not moving, new Duet3:
tried it. (I have tried so many things today)
The risk is high that you mixed something up by trying different things.
First thing to check is that G1 H1 X-100 and Y-100 move your hotend into the correct direction toward the endstops. Then please try my proposal.
What I do if I am not sure about correct codes, I run them line by line directly in the DWC command line and check that in this case the first, second, third endstops are triggered as expected. There are a few G-Code commands which can be run only in a specific order (drive additions and their mappings), but most commands can be tested this way.
-
@joergs5 I will, and I am aware that it is posible to mix up code. But every time I change it to something else, I whipe the code and saves it i Word. Then I can retur to it later. Then I try a New code. But the ideer about taking a step at a time is brilliant. Did'nt think in that direction
-
@heide said in Z-drives not moving, new Duet3:
Error: Bad command: Put G/M Codes in here to run when Tool 0 is about to be activated
Just to explain this error; you have
T0
in your config.g, so the tool change macros get run. As no tool is selected, only tpre.g and tpost.g are being run. It looks like the text at the beginning of one of these files is not commented out correctly, with a semicolon;
as the first character.I've had a good look at your files, but I can't see what's stopping the homing working. I think try @JoergS5 suggestion of stepping through the GCode of homeall.g and homez.g, and see what works correctly and what doesn't.
Ian
-
@droftarts thanks for the time you have used. And I am really sad that there are no errors, because I then maybe have a problem. I just can get it. It can run with no errors, with the code I postes earlyer today, when I tested. I will do as @JoergS5 proposed.
-
@heide said in Z-drives not moving, new Duet3:
G1 H1 X-240 Y-240 F3000
I have two additional ideas for your tests. The -240 will probably not be sufficient, because your M208 says the axes are 300 long, so I would take higher values. The goal of this line is that one of the endstops is triggered.
The second idea is, when I run G1 commands in the DWC command line, I prefix G90 or G91, so I am sure the command runs in the correct mode. E.g.:
G91 G1 X100
This is important in the homeall, because there are several changes of G90 G91 inside. (NB: I don't mean that homeall is wrong: the G91 G90 sets mode for the following lines. I mean, to be sure you're in the right mode when executing it line by line) -
Okey, what I know for now, is that it seems that the endstops X and Y prohibit the gantry to move after they are activated, it is like they hold on to it (locks it). I tried to force (not my intension, but needed to see if I could move the gantry when I did) the gantry away form the endstops (X and Y), and then I can move it. I will need to test some more, but that must be later. (Need to be somewhere else) But I will be back I'm so happy for this community, and your help, I hope I can contribute some day
-
Another Thing I forgot to mension. The endstop is a Hall Effect type
-
@heide if you post a picture of the endstops, someone may tell you from experience what can be the reason for the locking.
I am pleased to hear that you are approaching a solution. -
@heide said in Z-drives not moving, new Duet3:
@droftarts And I am really sad that there are no errors, because I then maybe have a problem.
Don’t be sad! There is probably an error, just I didn’t see it. Use this as a learning experience!
Ian
-