Duet 3 end stops and z probe not working.
So, I’ve been trying to get the end-stops to work but when I home the x y or z axis the printer just keeps going into the switch and doesn’t stop. I’m pretty sure it’s my wiring but I could be wrong. Also when I try to manually move the axis, I can only move them about 200mm and I don’t understand why it’s only moving that much.
Please post your config.g and homing files.
What firmware version are you using? Should be 3.1.1. Send M115 to find out.
What kind of switches are they?
What kind of printer is it?
@Phaedrux here it is. Also, i'm using mechanical switch (3 prong) for the x, y, z axis connected two wires both outer prongs and using an inductive probe to level the bed(not sure if i can use a mechanical switch for the top and probe for the bed). The printer is a Cartesian i built it myself. I'm using 3.1.1 firmware.
code_text; Configuration file for Duet 3 (firmware version 3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.1.4 on Thu Jul 23 2020 03:24:36 GMT+0100 (British Summer Time) ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"Duet 3" ; set printer name ; Drives M569 P0.2 S1 ; physical drive 0.2 goes backwards M569 P0.0 S1 ; physical drive 0.0 goes forwards M569 P0.1 S1 ; physical drive 0.1 goes forwards M569 P0.4 S1 ; physical drive 0.4 goes forwards M584 X0.2 Y0.0 Z0.1 E0.4 ; set drive mapping M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation M92 X200.00 Y200.00 Z400.00 E420.00 ; set steps per mm M566 X1200.00 Y1200.00 Z1200.00 E500.00 ; set maximum instantaneous speed changes (mm/min) M203 X18000.00 Y18000.00 Z18000.00 E9000.00 ; set maximum speeds (mm/min) M201 X1000.00 Y1000.00 Z1000.00 E250.00 ; set accelerations (mm/s^2) M906 X1200 Y1200 Z1800 E1200 I70 ; set motor currents (mA) and motor idle factor in per cent M84 S60 ; Set idle timeout ; Axis Limits M208 X1 Y1 Z1 S1 ; set axis minima M208 X920 Y920 Z920 S0 ; set axis maxima ; Endstops M574 X1 S1 P"!io3.in" ; configure active-low endstop for low end on X via pin !io2.in M574 Y1 S1 P"!io4.in" ; configure active-low endstop for low end on Y via pin !io4.in M574 Z2 S1 P"!io1.in" ; configure active-low endstop for high end on Z via pin !io1.in ; Z-Probe M558 P5 C"^io5.in" H5 F120 T6000 ; set Z probe type to switch and the dive height + speeds G31 P500 X41 Y41 Z2.5 ; set Z probe trigger value, offset and trigger height M557 X15:215 Y15:195 S20 ; define mesh grid ; Heaters M308 S0 P"spi.cs0" Y"rtd-max31865" ; configure sensor 0 as thermocouple via CS pin spi.cs0 M950 H0 C"out0" T0 ; create bed heater output on out0 and map it to sensor 0 M307 H0 B1 S1.00 ; enable bang-bang mode for the bed heater and set PWM limit M140 H0 ; map heated bed to heater 0 M143 H0 S120 ; set temperature limit for heater 0 to 120C M308 S1 P"spi.cs1" Y"rtd-max31865" ; configure sensor 1 as thermocouple via CS pin spi.cs1 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 ; Fans M950 F0 C"out9" Q500 ; create fan 0 on pin out9 and set its frequency M106 P0 S0 H1 T45 ; set fan 0 value. Thermostatic control is turned on M950 F1 C"out6" Q500 ; create fan 1 on pin out6 and set its frequency M106 P1 S1 H1 T45 ; set fan 1 value. Thermostatic control is turned on ; Tools M563 P0 S"Extruder 1" D0 H1 F0 ; 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 ; Custom settings are not defined ; Miscellaneous M501 ; load saved parameters from non-volatile memory M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss
Post your homing files as well. homeall.g specifically.
Heres the code
Heres the Homeall.g code.j
; homeall.g ; called to home all axes ; ; generated by RepRapFirmware Configuration Tool v3.1.4 on Thu Jul 23 2020 03:24:36 GMT+0100 (British Summer Time) G91 ; relative positioning G1 H2 Z5 F6000 ; lift Z relative to current position G1 H1 X-925 Y-925 F1800 ; move quickly to X and Y axis endstops and stop there (first pass) G1 H2 X5 Y5 F6000 ; go back a few mm G1 H1 X-925 Y-925 F360 ; move slowly to X and Y axis endstops once more (second pass) G1 H1 Z925 F360 ; move Z up stopping at the endstop G90 ; absolute positioning G92 Z920 ; set Z position to axis maximum (you may want to adjust this) ; Uncomment the following lines to lift Z after probing ;G91 ; relative positioning ;G1 Z5 F100 ; lift Z relative to current position ;G90 ; absolute positioning
Hi, please post the results of M122.
Also send M98 P"config.g" and post the results of that as well.
When you click the endstop switches does the endstop status in the DWC machine status page change?
I can only move them about 200mm and I don’t understand why it’s only moving that much.
Are you sure the steps per mm for the X and Y axis is 200?
m122 === Diagnostics === RepRapFirmware for Duet 3 MB6HC version 3.1.1 running on Duet 3 MB6HC v1.01 or later (SBC mode) Board ID: 08DJM-956L2-G43S8-6J9F0-3SJ6Q-9A0GG Used output buffers: 1 of 40 (10 max) === RTOS === Static ram: 154604 Dynamic ram: 162664 of which 32 recycled Exception stack ram used: 376 Never used ram: 75540 Tasks: NETWORK(ready,1980) HEAT(blocked,1200) CanReceiv(suspended,3820) CanSender(suspended,1488) CanClock(blocked,1452) TMC(blocked,204) MAIN(running,5056) IDLE(ready,76) Owned mutexes: === Platform === Last reset 00:00:50 ago, cause: software Last software reset at 2020-07-28 03:16, reason: User, spinning module LinuxInterface, available RAM 75196 bytes (slot 1) Software reset code 0x0010 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0444a000 BFAR 0x00000000 SP 0xffffffff Task MAIN Error status: 0 MCU temperature: min 33.2, current 33.6, max 33.7 Supply voltage: min 24.1, current 24.2, max 24.2, under voltage events: 0, over voltage events: 0, power good: yes 12V rail voltage: min 10.5, current 12.1, max 12.6, under voltage events: 0 Driver 0: standstill, reads 49428, writes 17 timeouts 0, SG min/max 0/170 Driver 1: standstill, reads 49428, writes 17 timeouts 0, SG min/max 0/300 Driver 2: standstill, reads 49428, writes 17 timeouts 0, SG min/max 0/132 Driver 3: standstill, reads 49435, writes 11 timeouts 0, SG min/max 0/0 Driver 4: standstill, reads 49432, writes 14 timeouts 0, SG min/max 0/0 Driver 5: standstill, reads 49436, writes 11 timeouts 0, SG min/max 0/0 Date/time: 2020-07-28 03:17:23 Slowest loop: 4.79ms; fastest: 0.14ms === 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 === Hiccups: 0(0), FreeDm: 375, MinFreeDm: 374, MaxWait: 17937ms Bed compensation in use: none, comp offset 0.000 === MainDDARing === Scheduled moves: 10, completed moves: 10, StepErrors: 0, LaErrors: 0, Underruns: 0, 0 CDDA state: -1 === AuxDDARing === Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0 CDDA state: -1 === Heat === Bed heaters = 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamberHeaters = -1 -1 -1 -1 === GCodes === Segments left: 0 Movement lock held by null HTTP* is ready with "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. === Network === Slowest loop: 1.02ms; fastest: 0.01ms 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: 0 of 8 - Ethernet - State: disabled Error counts: 0 0 0 0 0 Socket states: 0 0 0 0 0 0 0 0 === CAN === Messages sent 160, longest wait 0ms for type 0 === Linux interface === State: 0, failed transfers: 0 Last transfer: 17ms ago RX/TX seq numbers: 1318/1320 SPI underruns 0, overruns 0 Number of disconnects: 0 Buffer RX/TX: 0/0-0 === Duet Control Server === Duet Control Server v3.1.1 Daemon: Finishing macro daemon.g, started by system > Next stack level Code buffer space: 4096 Configured SPI speed: 8000000 Hz Full transfers per second: 30.9
By the way, the heater for the bed and hot-end is disconnected.
28/07/2020, 03:19:19 M98 P"config.g" Warning: M307: Heater 0 appears to be over-powered. If left on at full power, its temperature is predicted to reach 365C 28/07/2020, 03:19:18 Warning: Macro file config-override.g not foun
Ok, that all looks alright.
If the status of the endstops is actually changing in DWC, the only thing to change for the endstop config is to remove the
!from the pin name.
; Endstops M574 X1 S1 P"!io3.in" ; configure active-low endstop for low end on X via pin !io2.in M574 Y1 S1 P"!io4.in" ; configure active-low endstop for low end on Y via pin !io4.in M574 Z2 S1 P"!io1.in" ; configure active-low endstop for high end on Z via pin !io1.in
As for the probe, your homeall is set to use the z max endstop. This is fine, but before printing or creating a heightmap, you should establish the Z0 position with the probe using G30 at the center of the bed.
@Phaedrux Oh, I see so they are working but not the right ones. The issue I'm seeing now is that when I move the connector to a different io pin it keeps the switch i don't want powered on and doesn't power the switch I want to work on that same io pin. I have two pins on the x axis and I'm trying to make one of the end-stops switches to work and not the other. From what I understand, I can only use one end stop for each axis. I added the other end-stops before finding out I could only use one.
@1997alex lol, fixed the last issue, it was a wire that was loose. thanks for the help.
I don't really understand what you mean, but if you've got it figured out, that's awesome.