trouble with homing the x and y axes on a core xy printer.
-
Here you go:
; Configuration file for Duet WiFi (firmware version 3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.1.4 on Mon Oct 05 2020 11:50:08 GMT+0300 (Eastern European Summer Time) ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"Oscar" ; set printer name M669 K1 ; select CoreXY mode ; Network M551 P"" ; set password M552 S1 ; enable network M586 P0 S1 ; enable HTTP M586 P1 S1 ; enable FTP M586 P2 S0 ; disable Telnet ; Drives M569 P0 S0 ; physical drive 0 goes backwards M569 P1 S0 ; physical drive 1 goes backwards M569 P2 S1 ; physical drive 2 goes FORWARDS M569 P3 S1 ; physical drive 3 goes FORWARDS M569 P4 S0 ; physical drive 4 goes backwards M569 P5 S0 ; physical drive 5 goes backwards M584 X1 Y0 Z2:3 E4:5 ; set drive mapping; INIT:X=0; Y=1; Z2;E3:4 M350 X16 Y16 Z16:16 E16:16 I1 ; configure microstepping with interpolation ; INIT- M350 X16 Y16 Z16 E16:16 I1 M92 X160.00 Y160.00 Z3200.00:3200.00 E420.00:420.00 ; set steps per mm M566 X900.00 Y900.00 Z12.00:12.00 E120.00:120.00 ; set maximum instantaneous speed changes (mm/min) M203 X6000.00 Y6000.00 Z180.00:180.00 E1200.00:1200.00 ; set maximum speeds (mm/min) M201 X500.00 Y500.00 Z20.00:20.00 E250.00:250.00 ; set accelerations (mm/s^2) M906 X1400 Y1400 Z1200:1200 E800:800 I80 ; 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 X500 Y500 Z500 S0 ; set axis maxima ; Endstops M574 X1 S1 P"xstop" ; configure active-high endstop for low end on X via pin xstop M574 Y1 S1 P"ystop" ; configure active-high endstop for low end on Y via pin ystop M574 Z1 S2 ; configure Z-probe endstop for low end on Z ; Z-Probe M950 S0 C"duex.e5heat" ; create servo pin 0 for BLTouch M558 P9 C"^zprobe.in" H5 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds G31 P500 X10 Y10 Z3.5 ; set Z probe trigger value, offset and trigger height M557 X15:470 Y15:470 S20 ; define mesh grid ; Heaters M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin bedtemp M950 H0 C"bedheat" T0 ; create bed heater output on bedheat 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"e0temp" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin e0temp M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1 M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M308 S2 P"e1temp" Y"thermistor" T100000 B4138 ; configure sensor 2 as thermistor on pin e1temp M950 H2 C"e1heat" T2 ; create nozzle heater output on e1heat and map it to sensor 2 M307 H2 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit ; Fans M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency M106 P0 S1 H-1 ; set fan 0 value. Thermostatic control is turned off M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency M106 P1 S1 H-1 ; set fan 1 value. Thermostatic control is turned off ; Tools M563 P0 S"Tool 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 M563 P1 S"Tool 2" D1 H2 F0 ; define tool 1 G10 P1 X0 Y0 Z0 ; set tool 1 axis offsets G10 P1 R0 S0 ; set initial tool 1 active and standby temperatures to 0C ; Custom settings are not defined ; Miscellaneous M575 P1 S1 B57600 ; enable support for PanelDue 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
Edit: formatting
-
@campeancalin said in trouble with homing the x and y axes on a core xy printer.:
G91 /G1 H2 X10 F3000"
if this moves only in the X direction, then you do not have a corexy machine
and decided to go further with the attempt to home the xy gantry to no avail
what do you mean by that? there was no movement?
the homing code does the same thing as your manual move in the first command.please post the output of m122
-
@campeancalin said in trouble with homing the x and y axes on a core xy printer.:
In you config.g file you have this:
G31 P500 X10 Y10 Z3.5 ; set Z probe trigger value, offset and trigger height
As I recall for a BLTouch P500 should be P25
And are you sure those X10 and Y10 offset values are correct?
I designed my own hotend mount and the closest I could position the BLTouch was X0 Y25.
Also for testing you can use M564 to allow using the DWC jog buttons before homing as been done.
The possible parameters to M564 are H and/or S (see below):
H1 = forbid movement of axes that have not been homed, H0 = allow movement of axes that have not been homed
S1 = limit movement within axis boundaries, S0 = allow movement outside boundaries
So issuing M564 H0 would allow using the jog buttons, M564 H1 would restore things to normal.
Frederick
-
@Veti said in trouble with homing the x and y axes on a core xy printer.:
m122
Bellow you have the M122 result:
M122 === Diagnostics === RepRapFirmware for Duet 2 WiFi/Ethernet version 2.03 running on Duet WiFi 1.02 or later + DueX5 Board ID: 08DGM-917NK-F23T0-6JKFG-3S46S-1HAJF Used output buffers: 3 of 24 (9 max) === RTOS === Static ram: 25680 Dynamic ram: 94376 of which 188 recycled Exception stack ram used: 320 Never used ram: 10508 Tasks: NETWORK(ready,652) HEAT(blocked,1236) DUEX(suspended,156) MAIN(running,3748) IDLE(ready,160) Owned mutexes: === Platform === Last reset 00:03:17 ago, cause: power up Last software reset at 2020-10-05 16:45, reason: User, spinning module GCodes, available RAM 10480 bytes (slot 3) Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0441f000 BFAR 0xe000ed38 SP 0xffffffff Task 0x4e49414d Error status: 0 Free file entries: 10 SD card 0 detected, interface speed: 20.0MBytes/sec SD card longest block write time: 0.0ms, max retries 0 MCU temperature: min 25.7, current 32.5, max 32.5 Supply voltage: min 23.8, current 24.0, max 24.2, under voltage events: 0, over voltage events: 0, power good: yes Driver 0: standstill, SG min/max not available Driver 1: standstill, SG min/max not available Driver 2: standstill, SG min/max not available Driver 3: standstill, SG min/max not available Driver 4: standstill, SG min/max not available Driver 5: standstill, SG min/max not available Driver 6: standstill, SG min/max not available Driver 7: standstill, SG min/max not available Driver 8: standstill, SG min/max not available Driver 9: standstill, SG min/max not available Date/time: 2020-10-05 19:51:00 Cache data hit count 763106029 Slowest loop: 2.24ms; fastest: 0.07ms I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0 === Move === Hiccups: 0, FreeDm: 169, MinFreeDm: 169, MaxWait: 0ms Bed compensation in use: none, comp offset 0.000 === DDARing === Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0 === Heat === Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1 === GCodes === Segments left: 0 Stack records: 2 allocated, 0 in use 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 serial is idle in state(s) 0 aux is idle in state(s) 0 daemon is idle in state(s) 0 queue is idle in state(s) 0 autopause is idle in state(s) 0 Code queue is empty. === Network === Slowest loop: 41.62ms; fastest: 0.00ms Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0) HTTP sessions: 1 of 8 - WiFi - Network state is running WiFi module is connected to access point Failed messages: pending 0, notready 0, noresp 0 WiFi firmware version 1.23 WiFi MAC address ec:fa:bc:02:17:e5 WiFi Vcc 3.42, reset reason Turned on by main processor WiFi flash size 4194304, free heap 25448 WiFi IP address 192.168.0.100 WiFi signal strength -61dBm, reconnections 0, sleep mode modem Socket states: 0 0 0 0 0 0 0 0
Edit: formatting
-
@campeancalin said in trouble with homing the x and y axes on a core xy printer.:
RepRapFirmware for Duet 2 WiFi/Ethernet version 2.03
there is your problem. you are not on RRF3.1.1 as you have written
-
@Veti said in trouble with homing the x and y axes on a core xy printer.:
Duet 2 WiFi/Ethernet version 2.03
ok, I might have confused it with the config tool version.
-
@fcwilt do these commands work if the version of the firmware is 2.03?
-
@campeancalin
your config file does not work with RRF2 -
@Veti Can you be a bit more specific?
-
the pin configuration syntax only works in rrf3
M574 X1 S1 P"xstop" ; configure active-high endstop for low end on X via pin xstop
M574 Y1 S1 P"ystop" ; configure active-high endstop for low end on Y via pin ystop -
@campeancalin said in trouble with homing the x and y axes on a core xy printer.:
@fcwilt do these commands work if the version of the firmware is 2.03?
Yes they do.
But a set of files generated for v3 firmware will not work with v2 firmware without some changes.
I would go ahead and update the firmware to v3.
First update using Duet2and3Firmware-3.0.zip.
When asked allow it to update.
Then update using Duet2and3Firmware-3.1.1.zip
When asked allow it to update.
You can upload each ZIP file on the System page.
Frederick
-
Once you update to 3.1.1 your current config has a better chance of working.
You should probably redo the motor direction tests for corexy after you update.
https://duet3d.dozuki.com/Wiki/ConfiguringRepRapFirmwareCoreXYPrinter#Section_Testing_motor_movement
-
Thank you kindly. I was not aware of these differences
-
Since you're starting from scratch it doesn't much matter, but here are the details.
-
Hello guys,
Thank you again for the heads up regarding the differencies between the machine config and the firmware that was on the board.
Today I went on and upgraded the firmware on the board, and reuploaded the machine config. At a first glance, the xy gantry seems to move in the right direction ; I still cant perform the homing on them. I also moved the z axis, on which I have 2 in series motors ( ZA and ZB are being used to control them), and while the z axis is performing the required movement , the E0 extruder motor is also moving.
Bellow you can see the M122 report:M122 === Diagnostics === RepRapFirmware for Duet 2 WiFi/Ethernet version 3.1.1 running on Duet WiFi 1.02 or later + DueX5 Board ID: 08DGM-917NK-F23T0-6JKFG-3S46S-1HAJF Used output buffers: 3 of 24 (11 max) === RTOS === Static ram: 27980 Dynamic ram: 94972 of which 20 recycled Exception stack ram used: 408 Never used ram: 7692 Tasks: NETWORK(ready,292) HEAT(blocked,1224) DUEX(suspended,160) MAIN(running,1824) IDLE(ready,80) Owned mutexes: WiFi(NETWORK) === Platform === Last reset 00:10:43 ago, cause: software Last software reset at 2020-10-06 17:51, reason: User, spinning module GCodes, available RAM 7700 bytes (slot 1) Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0xffffffff Task MAIN Error status: 0 MCU temperature: min 32.7, current 33.3, max 34.0 Supply voltage: min 23.8, current 24.0, max 24.3, under voltage events: 0, over voltage events: 0, power good: yes Driver 0: standstill, SG min/max not available Driver 1: standstill, SG min/max not available Driver 2: standstill, SG min/max 0/260 Driver 3: standstill, SG min/max 0/51 Driver 4: standstill, SG min/max not available Driver 5: standstill, SG min/max not available Driver 6: standstill, SG min/max not available Driver 7: standstill, SG min/max not available Driver 8: standstill, SG min/max not available Driver 9: standstill, SG min/max not available Date/time: 2020-10-06 18:02:09 Cache data hit count 1128396488 Slowest loop: 6.69ms; fastest: 0.12ms I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0 === Storage === Free file entries: 10 SD card 0 detected, interface speed: 20.0MBytes/sec SD card longest read time 3.2ms, write time 0.0ms, max retries 0 === Move === Hiccups: 0(0), FreeDm: 169, MinFreeDm: 168, MaxWait: 314759ms Bed compensation in use: none, comp offset 0.000 === MainDDARing === Scheduled moves: 2, completed moves: 2, 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, 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 Daemon is idle in state(s) 0 Autopause is idle in state(s) 0 Code queue is empty. === Network === Slowest loop: 39.91ms; fastest: 0.00ms Responder states: HTTP(2) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions HTTP sessions: 1 of 8 - WiFi - Network state is active WiFi module is connected to access point Failed messages: pending 0, notready 0, noresp 0 WiFi firmware version 1.23 WiFi MAC address ec:fa:bc:02:17:e5 WiFi Vcc 3.42, reset reason Unknown WiFi flash size 4194304, free heap 25336 WiFi IP address 192.168.0.100 WiFi signal strength -65dBm, reconnections 0, sleep mode modem Socket states: 0 0 0 0 0 0 0 0 === DueX === Read count 1, 0.09 reads/min
Also, the config file is detailed bellow . There might be several issues in it , but as a first step I need to take care of the movements and the homing issues.
; Configuration file for Duet WiFi (firmware version 3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.1.4 on Mon Oct 05 2020 11:50:08 GMT+0300 (Eastern European Summer Time) ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"Oscar" ; set printer name M669 K1 ; select CoreXY mode ; Network M551 P"" ; set password M552 S1 ; enable network M586 P0 S1 ; enable HTTP M586 P1 S1 ; enable FTP M586 P2 S0 ; disable Telnet ; Drives M584 X1 Y0 Z2:3 E4:5 ; set drive mapping; INIT:X=0; Y=1; Z2;E3:4 M569 P0 S0 ; physical drive 0 goes backwards M569 P1 S0 ; physical drive 1 goes backwards M569 P2 S1 ; physical drive 2 goes FORWARDS M569 P3 S1 ; physical drive 3 goes FORWARDS M569 P4 S0 ; physical drive 4 goes backwards M569 P5 S0 ; physical drive 5 goes backwards M350 X16 Y16 Z16:16 E16:16 I1 ; configure microstepping with interpolation ; INIT- M350 X16 Y16 Z16 E16:16 I1 M92 X160.00 Y160.00 Z3200.00:3200.00 E420.00:420.00 ; set steps per mm M566 X900.00 Y900.00 Z12.00:12.00 E120.00:120.00 ; set maximum instantaneous speed changes (mm/min) M203 X6000.00 Y6000.00 Z180.00:180.00 E1200.00:1200.00 ; set maximum speeds (mm/min) M201 X500.00 Y500.00 Z20.00:20.00 E250.00:250.00 ; set accelerations (mm/s^2) M906 X1400 Y1400 Z1200:1200 E800:800 I80 ; 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 X500 Y500 Z500 S0 ; set axis maxima ; Endstops M574 X1 S1 P"xstop" ; configure active-high endstop for low end on X via pin xstop M574 Y1 S1 P"ystop" ; configure active-high endstop for low end on Y via pin ystop M574 Z1 S2 ; configure Z-probe endstop for low end on Z ; Z-Probe M950 S0 C"duex.e5heat" ; create servo pin 0 for BLTouch M558 P9 C"^zprobe.in" H5 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds G31 P500 X10 Y10 Z3.5 ; set Z probe trigger value, offset and trigger height M557 X15:470 Y15:470 S20 ; define mesh grid ; Heaters M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin bedtemp M950 H0 C"bedheat" T0 ; create bed heater output on bedheat 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"e0temp" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin e0temp M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1 M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M308 S2 P"e1temp" Y"thermistor" T100000 B4138 ; configure sensor 2 as thermistor on pin e1temp M950 H2 C"e1heat" T2 ; create nozzle heater output on e1heat and map it to sensor 2 M307 H2 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit ; Fans M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency M106 P0 S1 H-1 ; set fan 0 value. Thermostatic control is turned off M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency M106 P1 S1 H-1 ; set fan 1 value. Thermostatic control is turned off ; Tools M563 P0 S"Tool 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 M563 P1 S"Tool 2" D1 H2 F0 ; define tool 1 G10 P1 X0 Y0 Z0 ; set tool 1 axis offsets G10 P1 R0 S0 ; set initial tool 1 active and standby temperatures to 0C ; Custom settings are not defined ; Miscellaneous M575 P1 S1 B57600 ; enable support for PanelDue 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
Edit: formatting
-
@campeancalin said in trouble with homing the x and y axes on a core xy printer.:
which I have 2 in series motors ( ZA and ZB are being used to control them),
this does not match your config
M584 X1 Y0 Z2:3 E4:5 ; set drive mapping; INIT:X=0; Y=1; Z2;E3:4Za and Zb are both driver 2
-
@Veti Thank you
-
The motors work fine, I still cant home the x and y
-
can you describe in detail what happens when you press homex
-
@Veti both motors receive current but the gantry does not move.