Problem with core XY homing
-
@dad003 said in Problem with core XY homing:
; Endstops
M574 X1 S1 P"!io0.in" ; configure active-high endstop for low end on X via pin io0.in
M574 Y1 S1 P"1.io1.in" ; configure active-high endstop for high end on Y via pin io1.inWhat kind of endstops do you have and how are they connected?
One of them is inverted and the other is connected to an expansion?Could you show a video of the behaviour to help me understand what you mean?
Can you also provide the results of sending M122 and M98 P"config.g" in the gcode console?
-
I didnt touch the limit switch they were from my cartesian setup , same than what was working before , one is plug on the mainboard and the other on the expansion that is correct
here when the X home work
https://www.youtube.com/watch?v=NdWEAsdzKZEwhen Y home work
https://www.youtube.com/watch?v=zbjCIbW465Inow has you can see the homing work , now if i press home X than Y , not homeall
here the behaviour i get, X axis never went back to the limit switch
-
i tested something here i removed the second homing pass on bot X and y , didnt get the weird homing behaviour maybe i just need to remove the second pas in the home all as well maybe .
-
so i tested this again , home all doesnt get weird behaviour and seem to actually track to the number it move ,
modified home all that work
; homeall.g ; called to home all axes ; ; generated by RepRapFirmware Configuration Tool v3.2.3 on Fri Apr 23 2021 23:00:19 GMT-0600 (Mountain Daylight Time) G91 ; relative mode G1 H1 X-240 Y-240 F1000 ; coarse home X or Y G1 H1 X-240 ; coarse home X G1 H1 Y-240 ; coarse home Y G1 X130 Y125 F3000 ; go to first bed probe point and home Z G30 ; home Z by probing the bed ; Uncomment the following lines to lift Z after probing ;G91 ; relative positioning ;G1 Z-5 F50 ; lift Z relative to current position ;G90 ; absolute positioning
while homing X alone , it reach the limit switch web control show 0 , homing Y hit the switch than Y show 0 but X has now a negative number even if it didnt move
-
i added a g92 in all homing program now the axis after they home do not get change to a negative value anymore and everything seem to track correctly . i will test more and come back if any issue . this conversion has been a lot of headache so far from the config .
-
@dad003 said in Problem with core XY homing:
i added a g92 in all homing program now the axis after they home do not get change to a negative value anymore and everything seem to track correctly . i will test more and come back if any issue . this conversion has been a lot of headache so far from the config .
Do you understand what a G1 H1 move does when the endstop of the axis is triggered?
Frederick
-
Yes when the endstop is trigger is zero the coord ,but in my case i had weird behavior for unknown reason, i had to find a workaround until somebody has a better solution
-
@dad003 said in Problem with core XY homing:
Yes when the endstop is trigger is zero the coord ,but in my case i had weird behavior for unknown reason, i had to find a workaround until somebody has a better solution
That is not correct.
When the endstop is triggered the axis position is set to the axis min or max value as specified in the M208 command for that axis.
If the M574 command for the endstop specifies low end then the axis min value is used.
If the M574 command for the endstop specifies high end then the axis max value is used.
That is likely why you are not getting the values you are expecting.
Frederick
-
@phaedrux said in Problem with core XY homing:
@dad003 said in Problem with core XY homing:
; Endstops
M574 X1 S1 P"!io0.in" ; configure active-high endstop for low end on X via pin io0.in
M574 Y1 S1 P"1.io1.in" ; configure active-high endstop for high end on Y via pin io1.inWhat kind of endstops do you have and how are they connected?
One of them is inverted and the other is connected to an expansion?Could you show a video of the behaviour to help me understand what you mean?
Can you also provide the results of sending M122 and M98 P"config.g" in the gcode console?
@Dad003
What Phaedrux wanted to point out, is you have a typo in the definition of the Y-endstop:M574 Y1 S1 P"1.io1.in" should be M574 Y1 S1 P"!io1.in"
Everything you've done are just bandaids to coverr the real problem
-
@o_lampe that limit switch is on an expansion board not the mainboard .
mainboard control 2x Z , 2x Y, 2x extruder expansion board has the 2 X axis motor with that limit switch. if i remember correctly the limitation of the expansion board the limit switch has to be with the board controlling the axis
m122 === Diagnostics === RepRapFirmware for Duet 3 MB6HC version 3.2.2 running on Duet 3 MB6HC v0.6 or 1.0 (standalone mode) Board ID: 08DJM-956L2-G43S8-6JTDJ-3SS6L-9816H Used output buffers: 3 of 40 (21 max) === RTOS === Static ram: 149788 Dynamic ram: 93996 of which 52 recycled Never used RAM 114996, free system stack 200 words Tasks: NETWORK(ready,193) ETHERNET(blocked,119) HEAT(blocked,297) CanReceiv(blocked,848) CanSender(blocked,371) CanClock(blocked,352) TMC(blocked,51) MAIN(running,1119) IDLE(ready,19) Owned mutexes: === Platform === Last reset 01:22:24 ago, cause: power up Last software reset at 2021-04-24 23:39, reason: User, GCodes spinning, available RAM 114996, slot 0 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 Aux1 errors 0,0,0 MCU temperature: min 8.7, current 22.5, max 22.8 Supply voltage: min 12.2, current 12.3, max 12.3, under voltage events: 0, over voltage events: 0, power good: yes 12V rail voltage: min 11.4, current 11.5, max 11.5, under voltage events: 0 Driver 0: position 0, standstill, reads 21815, writes 14 timeouts 0, SG min/max 0/0 Driver 1: position 0, standstill, reads 21815, writes 14 timeouts 0, SG min/max 0/0 Driver 2: position 0, standstill, reads 21815, writes 14 timeouts 0, SG min/max 0/0 Driver 3: position 0, standstill, reads 21815, writes 14 timeouts 0, SG min/max 0/0 Driver 4: position 0, standstill, reads 21816, writes 14 timeouts 0, SG min/max 0/0 Driver 5: position 0, standstill, reads 21816, writes 14 timeouts 0, SG min/max 0/0 Date/time: 2021-04-25 18:40:36 Slowest loop: 42.58ms; fastest: 0.06ms === Storage === Free file entries: 9 SD card 0 detected, interface speed: 25.0MBytes/sec SD card longest read time 3.2ms, write time 9.3ms, 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 Heater 0 is on, I-accum = 0.2 Heater 1 is on, I-accum = 0.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 doing "M190 S85" 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: 44.97ms; 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 2 0 2 === Filament sensors === Extruder 0 sensor: ok Extruder 1 sensor: ok === CAN === Messages queued 19769, send timeouts 0, received 16, lost 0, longest wait 1ms for reply type 6042, free buffers 48
Expansion board
m122 b1 Diagnostics for board 1: Duet EXP3HC firmware version 3.2.2 (2021-02-11) Bootloader ID: not available Never used RAM 154800, free system stack 198 words HEAT 92 CanAsync 94 CanRecv 84 TMC 64 MAIN 317 AIN 259 Last reset 00:06:23 ago, cause: software Last software reset data not available Driver 0: position 0, 80.0 steps/mm, standstill, reads 48852, writes 11 timeouts 0, SG min/max 0/0 Driver 1: position 0, 160.0 steps/mm, standstill, reads 48844, writes 21 timeouts 0, SG min/max 0/0 Driver 2: position 0, 160.0 steps/mm, standstill, reads 48847, writes 21 timeouts 0, SG min/max 0/0 Moves scheduled 0, completed 0, in progress 0, hiccups 0 No step interrupt scheduled VIN: 12.4V, V12: 11.5V MCU temperature: min 44.9C, current 44.9C, max 44.9C Ticks since heat task active 246, ADC conversions started 383988, completed 383988, timed out 0 Last sensors broadcast 0x00000000 found 0 249 ticks ago, loop time 0 CAN messages queued 37, send timeouts 0, received 3458, lost 0, free buffers 36
M98 P"config.g" HTTP is enabled on port 80 FTP is enabled on port 21 TELNET is enabled on port 23 Warning: Heater 0 appears to be over-powered. If left on at full power, its temperature is predicted to reach 365C
-
@dad003 said in Problem with core XY homing:
@o_lampe that limit switch is on an expansion board not the mainboard .
OK, my bad.
Doesn't the switch on the expansion board also need the '!' to invert the input? -
no , like i say my printer started as a cartesian so when i switched to core xy , i didnt touch the config for the limit switch since they were working like they should .