Z-drives not moving, new Duet3
-
@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
-
-
@heide the only information I found is in https://docs.duet3d.com/en/User_manual/Connecting_hardware/Sensors_endstops that the 5V wire should be connected to 5V of the IO connector, but you've probably done that already.
-
@joergs5 happy to have pictures on my Phone when I'm not at home. This is the connection for the Hall sensor. And I think it is corrct connected
-
The yello Wire has common GND from the other connnection
-
@heide if the blue wire is 5V, than it's correct. (the colors differ from the Voron page, you should check it. Often, red is voltage, black is ground, other colors are signals. But if you DIY wiring, you can choose colors as you like. Your wires black-red-yellow-blue)
-
@heide Hi, if you're using the hall effect sensor in its default location, may I ask why you define your X and Y endstops to be low end?
Normally on a Voron, the X0 and Y0 is front left corner of the bed. And you home at max X and Y.
Here's my endstop configuration:
; Endstops M574 X2 S1 P"121.io0.in" ; configure active-high endstop for high end on X via pin 121.io0.in M574 Y2 S1 P"0.io1.in" ; configure active-high endstop for high end on Y via pin io1.in
However, I do not use the hall effect, but that's just an inverse away.
Also, a simple M119 will tell you all you need to know, one where they should be activated and one where they should not be.
-
@joergs5 yes that correct. I was confused about that. But the wires was made when I recieved the Kit. But I did have to change the plugs, to work with the board. As you can see the red wire has a label with an X or a Y. Can't remember
@gixxerfast on my Voron the endstop i placed under the gantry on the right bottom side. X i homed in that right position offcause, but Y is homed when the Gantry moves to the bottom, on a fixed magnet that is placed on the Z3 liner.