Solved Only one endstop shows "yes" when triggered
-
Hi, this is a custom built printer. I am new at this, I thought I could just buy a printer and just print, never thought I would get into this deep. However the printer I bought was very disappointing, so I decided to build my own. Here is the g-code for the configuration however when I trigger them only one shows "yes" and at the same time the zprobe a bltouch goes off, all others show "no" when triggered. I have a duet 3 main board and 2 expansion boards CAN address 1, 3. here is the g-code for the endstops:
M574 X1 S1 P"!1.io0.in"
M574 Y1 S1 P"!1.io1.in"
M574 Z1 S1 P"!1.io3.in"
M574 U1 S1 P"!3.io3.in"
M574 V1 S1 P"!3.io0.in"This printer is a dual independent Z and X axis Cartesian printer, original idea from Zidex. U is the second X axis and V is the 2nd Z axis all independent driven.
took some time to figure out the axis mappings:M584 X1.0:3.0 U3.0 Y0.2:0.3 Z0.0:0.5:0.1:0.4 V0.1:0.4 E1.1:3.1 p5
I was able to figure out the axis configuration which works well both z and x axis move correctly, the Y axis has 2 motors and move correctly as well. The Bltouches both light up and sensor extend out, however not able to independently test them.
Also, I was thinking to make this configuration simple, do you guys provide consulting solutions where a configuration could be provided.
thankyou.
-
Post your full config please.
Also please post the outputs of M122 and M122 B1 and M122 B3
Also send M98 P"config.g" and post the results of that as well.
-
@jsinicro ; Configuration file for Duet 3 (firmware version 3)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool v3.2.3 on Sun Apr 18 2021 23:08:09 GMT-0400 (Eastern Daylight Time); General preferences
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
M550 P"jsinicro_1" ; set printer name; Network
M551 P"tinisa1125" ; set password
M552 P0.0.0.0 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 S = motor direction 0 is backwards/reversed direction based on motor orientation
;
M569 P0.0 S1 ; physical drive 0.0 goes forwards z xxis 1 motor 1
M569 P0.1 S1 ; physical drive 0.1 goes forwards z axis 2 motor 1
M569 P0.2 S1 ; physical drive 0.2 goes forwards y axis 1 motor 1
M569 P0.3 S1 ; physical drive 0.3 goes forwards y axis 1 motor 2
M569 P0.4 S1 ; physical drive 0.4 goes forwards z axis 2 motor 2
M569 P0.5 S1 ; physical drive 0.5 goes forwards z axis 1 motor 2
M569 P1.0 S0 ; physical drive 1.0 goes forwards x axis 2 motor 1
M569 P1.1 S0 ; physical drive 1.1 goes forwards x axis 2 tool 1 motor
M569 P3.0 S1 ; physical drive 3.0 goes forwards x axis 1 motor 1
M569 P3.1 S0 ; physical drive 3.1 goes forwards x axis 1 tool 2 motor; mapping 2 motors on separate X axis and 2 motors each on 2 separate Z axis Y has just 2 motors
M584 X1.0:3.0 U3.0 Y0.2:0.3 Z0.0:0.5:0.1:0.4 V0.1:0.4 E1.1:3.1 p5M350 X16 Y16 U16 Z16 V16 E16:16 I1 ; configure microstepping with interpolation
M92 X80.00 Y80.00 U80.00 Z400.00 V400.00 E420.00:420.00 ; set steps per mm
M566 X900.00 Y900.00 U900.00 Z60.00 V60.00 E120.00:120.00 ; set maximum instantaneous speed changes (mm/min)
M203 X6000.00 Y6000.00 U6000.00 Z180.00 V180.0 E1200.00:1200.00 ; set maximum speeds (mm/min)
M201 X500.00 Y500.00 U500.00 Z20.00 V20.00 E250.00:250.00 ; set accelerations (mm/s^2)
M906 X800 Y800 U800 Z800 V800 E800:800 I30 ; set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout; Axis Limits
M208 X0 Y0 Z0 U0 V0 S1 ; set axis minima
M208 X700 Y700 U700 Z800 V800 S0 ; set axis maxima; Endstops
M574 X1 S1 P"!1.io0.in" ; configure 2 active-low "!" in name endstop for low end on X
M574 Y1 S1 P"!1.io1.in" ; Y
M574 Z2 S1 P"!1.io3.in" ; Z
M574 V2 S1 P"!3.io3.in" ; Z
M574 U1 S1 P"!3.io0.in" ; configure 2 active-low "!" in name endstop for low end on X; Z-Probe
M558 P9 C"1.io4.in" H5 F120 T6000 ; disable Z probe but set dive height, probe speed and travel speed
M950 S0 C"1.io4.out"
M558 P9 C"3.io4.in" H5 F120 T6000 ; disable Z probe but set dive height, probe speed and travel speed
M950 S1 C"3.io4.out"G31 X47 Y0 Z2.3 P25
; Heaters
M308 S0 P"temp0" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin temp0 main board
M950 H0 C"out0" T0 ; create bed heater output on out0 and map it to sensor 0
M307 H0 B0 S1.00 ; disable 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"1.temp0" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin and CAN #3.temp0
M950 H1 C"1.out0" T1 ; create nozzle heater output on 1.out0 and map it to sensor 1
M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
M143 H1 S280 ; set temperature limit for heater 1 to 280C
M308 S2 P"3.temp0" Y"thermistor" T100000 B4138 ; configure sensor 2 as thermistor on pin and CAN # 1.temp0
M950 H2 C"3.out0" T2 ; create nozzle heater output on 2.out0 and map it to sensor 2
M307 H2 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
M143 H2 S280 ; set temperature limit for heater 2 to 280C; Fans
M950 F0 C"1.out3" Q500 ; create fan 0 on pin 1.out3 and set its frequency
M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off
M950 F1 C"1.out4" Q500 ; create fan 1 on pin 2.out3 and set its frequency
M106 P1 S1 H-1 ; set fan 1 value. Thermostatic control is turned off
M950 F2 C"3.out3" Q500 ; create fan 2 on pin 1.out4 and set its frequency
M106 P2 S1 H1-1 T45 ; set fan 2 value. Thermostatic control is turned off
M950 F3 C"3.out4" Q500 ; create fan 3 on pin 2.out4 and set its frequency
M106 P3 S1 H1-1 T45 ; set fan 3 value. Thermostatic control is turned off; Tools
M563 P0 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
M563 P1 D1 H2 F2 ; define tool 1
G10 P1 X0 Y0 Z0 ; set tool 0 axis offsets
G10 P1 R0 S0 ; set initial tool 0 active and standby temperatures to 0C; Custom settings are not defined
; Miscellaneous
M575 P1 S1 B57600 ; enable support for PanelDue -
@jsinicro M122
=== Diagnostics ===
RepRapFirmware for Duet 3 MB6HC version 3.2.2 running on Duet 3 MB6HC v1.01 or later (standalone mode)
Board ID: 08DJM-956L2-G43S8-6J1DJ-3SJ6Q-980UG
Used output buffers: 3 of 40 (15 max)
=== RTOS ===
Static ram: 149788
Dynamic ram: 93440 of which 76 recycled
Never used RAM 115528, free system stack 178 words
Tasks: NETWORK(ready,203) ETHERNET(blocked,110) HEAT(blocked,296) CanReceiv(blocked,824) CanSender(blocked,371) CanClock(blocked,352) TMC(blocked,51) MAIN(running,1119) IDLE(ready,19)
Owned mutexes:
=== Platform ===
Last reset 00:13:19 ago, cause: power up
Last software reset details not available
Error status: 0x00
Aux0 errors 0,0,0
Aux1 errors 0,0,0
MCU temperature: min 21.5, current 37.4, max 37.5
Supply voltage: min 23.8, current 23.9, max 24.0, under voltage events: 0, over voltage events: 0, power good: yes
12V rail voltage: min 12.1, current 12.2, max 12.2, under voltage events: 0
Driver 0: position 0, standstill, reads 1682, writes 14 timeouts 0, SG min/max 0/0
Driver 1: position 0, standstill, reads 1681, writes 16 timeouts 0, SG min/max 0/0
Driver 2: position 0, standstill, reads 1683, writes 14 timeouts 0, SG min/max 0/0
Driver 3: position 0, standstill, reads 1683, writes 14 timeouts 0, SG min/max 0/0
Driver 4: position 0, standstill, reads 1681, writes 16 timeouts 0, SG min/max 0/0
Driver 5: position 0, standstill, reads 1683, writes 14 timeouts 0, SG min/max 0/0
Date/time: 2021-05-04 18:48:16
Slowest loop: 4.33ms; fastest: 0.05ms
=== Storage ===
Free file entries: 10
SD card 0 detected, interface speed: 25.0MBytes/sec
SD card longest read time 2.3ms, write time 0.0ms, max retries 0
=== Move ===
DMs created 125, maxWait 0ms, bed compensation in use: none, comp offset 0.000
=== MainDDARing ===
Scheduled moves 0, completed moves 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
=== AuxDDARing ===
Scheduled moves 0, completed moves 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, chamberHeaters = -1 -1 -1 -1
=== 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.
=== Network ===
Slowest loop: 5.26ms; 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 1 0 0
Socket states: 5 2 2 2 2 0 0 0
=== CAN ===
Messages queued 3236, send timeouts 0, received 19202, lost 0, longest wait 1ms for reply type 6018, free buffers 48
- Ethernet -
-
@jsinicro M122 B1
Diagnostics for board 1:
Duet EXP3HC firmware version 3.2.2 (2021-02-12)
Bootloader ID: not available
Never used RAM 154344, free system stack 186 words
HEAT 92 CanAsync 94 CanRecv 84 TMC 64 MAIN 173 AIN 259
Last reset 00:14:16 ago, cause: power up
Last software reset data not available
Driver 0: position 0, 80.0 steps/mm, standstill, reads 45394, writes 16 timeouts 0, SG min/max 0/0
Driver 1: position 0, 420.0 steps/mm, standstill, reads 45396, writes 16 timeouts 0, SG min/max 0/0
Driver 2: position 0, 80.0 steps/mm, standstill, reads 45404, writes 11 timeouts 0, SG min/max 0/0
Moves scheduled 0, completed 0, in progress 0, hiccups 0
No step interrupt scheduled
VIN: 24.1V, V12: 12.2V
MCU temperature: min 37.9C, current 38.1C, max 38.1C
Ticks since heat task active 91, ADC conversions started 856582, completed 856582, timed out 0
Last sensors broadcast 0x00000002 found 1 94 ticks ago, loop time 0
CAN messages queued 10302, send timeouts 0, received 11153, lost 0, free buffers 36 -
@jsinicro M122 B3
Diagnostics for board 3:
Duet EXP3HC firmware version 3.2.2 (2021-02-12)
Bootloader ID: not available
Never used RAM 154356, free system stack 194 words
HEAT 92 CanAsync 94 CanRecv 84 TMC 64 MAIN 173 AIN 259
Last reset 00:15:46 ago, cause: software
Last software reset data not available
Driver 0: position 0, 80.0 steps/mm, standstill, reads 16375, writes 18 timeouts 0, SG min/max 0/0
Driver 1: position 0, 80.0 steps/mm, standstill, reads 16379, writes 16 timeouts 0, SG min/max 0/0
Driver 2: position 0, 80.0 steps/mm, standstill, reads 16387, writes 11 timeouts 0, SG min/max 0/0
Moves scheduled 0, completed 0, in progress 0, hiccups 0
No step interrupt scheduled
VIN: 24.2V, V12: 12.2V
MCU temperature: min 40.8C, current 40.8C, max 41.0C
Ticks since heat task active 86, ADC conversions started 946578, completed 946577, timed out 0
Last sensors broadcast 0x00000004 found 1 89 ticks ago, loop time 0
CAN messages queued 11388, send timeouts 0, received 12326, lost 0, free buffers 36 -
@jsinicro M98 P"config.g"
HTTP is enabled on port 80
FTP is disabled
TELNET is disabled -
@jsinicro said in Only one endstop shows "yes" when triggered:
when I trigger them only one shows "yes" and at the same time the zprobe a bltouch goes off, all others show "no" when triggered.
So where exactly are you looking for this status? M119?
-
M119
Endstops - X: not stopped, Y: not stopped, Z: not stopped, U: not stopped, V: not stopped, Z probe: not stopped
-
I double checked all the wiring for continuity and they all checkout. I even disabled the zprobe bltouch g-code but the wiring was still connected and it still went off. I tried only enabling the endstops for x,y,z and disabling axis U, V but only the Z goes off meaning when I touch on it I see a "yes" this is the only one that works right now. M574 Z2 S1 P"!1.io3.in" Is there a limit on how many zprobes one can have (i.e 2 independent X axis with 2 extruders each having a bltouch) . I posted another question under harware and wiring as the 12volts for fans only work on the 4 pin connectors 3,4,5 on expansion board the 2 pin connectors do not give me 12Volts only about 100mV
-
@jsinicro ![alt text]( image url)
-
another issue if you see the heater 1 it shows 2000C, I have to reset the main board every time to see the correct value
-
Also, when I hit the endstop that works -shows "yes" on expansion board 1- I see the green 3.3V led flashing but not on the other expansion board nothing happens. the end stops are from openbuilds 3 wires +,-,sig -the sig is connected to ioX.in, it works as I see a red led light up every time i hit the switch, this works on all of them.
-
@jsinicro What DWC version is that?
-
@phaedrux the latest one, how do I get the version?
-
@jsinicro General tab.
-
https://duet3d.dozuki.com/Wiki/Duet_3_firmware_configuration_limitations
You may be running into a limitation here.
Endstop switches and Z probes connected to the main board cannot control motors on an expansion board. This is planned to be fixed in release 3.4.
If I'm reading your driver and endstop assignments right.
-
@phaedrux Duet Web control 2.1.0
-
Well that might be part of the problem.
I suggest you upload this zip file to the system tab.
https://github.com/Duet3D/RepRapFirmware/releases/download/3.2.2/Duet2and3Firmware-3.2.2.zipThat should get you up to DWC 3.2.2
You might notice that the endstop display you were looking at goes away. It's been removed from the default display and added back as a plugin.
https://github.com/Duet3D/DSF-Plugins/tree/master/EndstopsMonitor
Though that still doesn't change the aforementioned endstop limitations.
-
@phaedrux the limit switches are on the expansion board CAN #1, and 3, not on the main board, logistics. I can disable the ones on the U, V axis because theoretically I should only need one on the X, Y and no z as I have the bltouch, so I will only enable 1 blTouch. I will try it again so from :
; Endstops
M574 X1 S1 P"!1.io0.in" ; configure 2 active-low "!" in name endstop for low end on X
M574 Y1 S1 P"!1.io1.in" ; Y
M574 Z2 S1 P"!1.io3.in" ; Z
M574 V2 S1 P"!3.io3.in" ; Z
M574 U1 S1 P"!3.io0.in" ; configure 2 active-low "!" in name endstop for low end on X; Z-Probe
M558 P9 C"1.io4.in" H5 F120 T6000 ; disable Z probe but set dive height, probe speed and travel speed
;M950 S0 C"1.io4.out"
M558 P9 C"3.io4.in" H5 F120 T6000 ; disable Z probe but set dive height, probe speed and travel speed
;M950 S0 C"3.io4.out"I will go to:
; Endstops
M574 X1 S1 P"!1.io0.in" ; configure 2 active-low "!" in name endstop for low end on X
M574 Y1 S1 P"!1.io1.in" ; Y; Z-Probe
M558 P9 C"1.io4.in" H5 F120 T6000 ; disable Z probe but set dive height, probe speed and travel speed
Also the documentation mentions to use the M950 but this command is listed as not implemented yet. and it also has the S option but that is not listed in the documentation that I've seen.