Core XYUV homing going squiffy
-
Hi All, I am trying to sort out my homing files for my new core XYUV. every time I think I am getting somewhere then another issue raises its head.
My Axis and endstops are set as follows
M208 X320 Y320 U350 Z250 S0 ; Set axis maxima
M208 X-33 Y0 U0 Z0 S1 ; Set axis minima
M574 X1 S1
M574 Y2 S1
M574 U2 S1
M574 V1 S0
M574 Z2 S1So
X Endstp is to the left and results in -33X
U endstop is to the right and results in +350U
Y Endstop is to the back and results in +320YHome X is:
G91 ; relative positioning
G1 H1 X-700 F1800 ; move quickly to X axis endstop and stop there (first pass)
G1 X10 F1800 ; go back a few mm
G1 H1 X-700 F360 ; move slowly to X axis endstop once more (second pass)
G90 ; absolute positioningHome U is:
G91 ; relative positioning
G1 H1 U700 F1800; move quickly to X axis endstop and stop there (first pass)
G1 U-10 F1800 ; go back a few mm
G1 H1 U700 F360 ; move slowly to X axis endstop once more (second pass)
G90 ; absolute positioningHome Y is:
G91 ; relative positioning
G1 H1 Y700 F1800 ; move quickly to Y axis endstop and stop there (first pass)
G1 Y-10 F1800 ; go back a few mm
G1 H1 Y700 F360 ; move slowly to Y axis endstop once more (second pass)
G90 ; absolute positioningThe problem that I am facing is that after startup I home X then X position shows as -33 which is what I would expect. If I then Home Y, then the reported X position goes to 0 and the reported Y position goes to 320. If I then home U then the X and Y positions are 0 and the U position shows as 350.
I don't understand why the other 2 positions are being negated.
I haven't even included dropping the bed and raising it again yet. It all seems very strange.
-
Please post your full config.g please along with the results of M122 and M98 P"config.g".
-
; General preferences M111 S0 ; Debugging off M555 P2 ; Set firmware compatibility to look like Marlin M84 S120 ; Set idle timeout ;Movement M669 K5 ; switch to CoreXY mode M569 P0 S1 ; X Drive 1 goes backwards M569 P1 S1 ; Y Drive 1 goes forwards M569 P5 S0 ; U Drive 1 goes backwards M569 P6 S0 ; V Drive 1 goes forwards M569 P3 S0 ; E0 Drive 3 goes forwards M569 P8 S0 ; Z Left Drive 8 goes forwards M569 P9 S0 ; Z Right Drive 9 goes forwards M584 X0 Y1 U5 V6 Z8:9 E3:4 P4; assign drives to axis M574 X1 S1 M574 Y2 S1 M574 U2 S1 M574 V1 S0 M574 Z2 S1 ;M574 Z2 S0 ;M574 Y2 S1 ;M574 X1 Y1 U0 Z2 S0 ; Set endstop configuration (X and Y endstops at low end, U endstop at high end, active high, no Z endstop) M906 X1000 Y1000 U1000 V1000 Z1000 E1000:1000; Set motor currents (mA) and motor idle factor in per cent M201 X1000 Y1000 U1000 V1000 Z250 E250,250 I30; Set accelerations (mm/s^2) M203 X5000 Y5000 U5000 V5000 Z500 E1200:1200 ; Set maximum speeds (mm/min) bumped up extruder settings ; the above settings are set by using the EMF Calculator on RepRapFirware.org essentially limiting max speed to 80mm/s M566 X1200 Y1200 U1200 V1200 Z250 E420:420 ; Set maximum instantaneous speed changes (mm/min) bumped up extruder settings ; The above settings are set to 25% of desired maximum printing speed of 70mm/s = 1050 M208 X320 Y320 U350 Z250 S0 ; Set axis maxima M208 X-33 Y0 U0 Z0 S1 ; Set axis minima M92 X160 Y160 U160 V160 Z400 E837:837 ; Set steps per mm M350 X16 Y16 U16 V16 Z16 E16:16 I1 ; Configure microstepping with interpolation G21 ; Work in millimetres G90 ; Send absolute coordinates... M83 ; ...but relative extruder moves ; Z Probe M558 P1 H3 F120 T6000 A2; Set Z probe type to unmodulated, the axes for which it is used and the probe + travel speeds G31 P500 X30 Y0 Z2.18; with an elephant foot compensation of 0.1 ; Heaters M143 S260 ; Set maximum heater temperature to 260C M305 P0 T100000 B4725 C7.060000e-8 R4700 ; Set Bed thermistor + ADC parameters M305 P1 T100000 B4725 C7.060000e-8 R4700 ; Set Heater 1 thermistor + ADC parameters M305 P2 T100000 B4725 C7.060000e-8 R4700 ; Set Heater 2 thermistor + ADC parameters ; Tools M563 P0 D0 H1 F1; Define tool 0 G10 P0 X0 Y0 Z0 S0 R0 ; Set tool 0 axis offsets M563 P1 D1 H2 X3 F2; Define tool 1 G10 P1 Y0 U0 Z0 S0 R0 ; Set tool 1 axis offsets ; Network M550 P"K8200Duet" ; Set machine name ;M552 S1 ; Enable network and acquire dynamic address via DHCP M552 S2 ; Enable access point mode ; Fans M106 P0 S1 I0 F500 H1 T45 ; Set fan 0 value, Extruder 1 Fan. PWM signal inversion and frequency. Thermostatic control is turned on M106 P1 S1 I0 F500 H2 T45 ; Set fan 1 value, Extruder 2 Fan. PWM signal inversion and frequency. Thermostatic control is turned on M106 P2 S0 I0 F500 H-1 ; Set fan 1 value, Extruder 1 Part Fan. PWM signal inversion and frequency. Thermostatic control is turned off M106 P3 S0 I0 F500 H-1 ; Set fan 2 value, Extruder 2 Part Fan.PWM signal inversion and frequency. Thermostatic control is turned off ; Custom settings are not configured ; Miscellaneous ;M106 P8 S1 ; Turn on light ;M140 S30 ; Preheat Bed M501 ; Run config-override.g ;G29 S1 ; Load the heightmap T0 ; Select the first head
M122:
M122 === Diagnostics === RepRapFirmware for Duet 2 WiFi/Ethernet version 2.05.1 running on Duet WiFi 1.02 or later + DueX5 Board ID: 08DAM-999TL-MQ4S8-6JTD2-3SD6R-9N8RZ Used output buffers: 3 of 24 (15 max) === RTOS === Static ram: 25712 Dynamic ram: 93980 of which 84 recycled Exception stack ram used: 656 Never used ram: 10640 Tasks: NETWORK(ready,628) HEAT(blocked,1232) DUEX(suspended,160) MAIN(running,3736) IDLE(ready,160) Owned mutexes: === Platform === Last reset 00:34:37 ago, cause: software Last software reset at 2021-02-03 16:23, reason: User, spinning module GCodes, available RAM 10640 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 31.7, current 32.4, max 33.3 Supply voltage: min 24.1, current 24.2, max 24.5, under voltage events: 0, over voltage events: 0, power good: yes Driver 0: standstill, SG min/max 0/1023 Driver 1: standstill, SG min/max 0/1023 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 0/1023 Driver 6: standstill, SG min/max 0/205 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: 2021-02-03 16:58:31 Cache data hit count 4294967295 Slowest loop: 5.07ms; fastest: 0.07ms I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0 === Move === Hiccups: 6, FreeDm: 160, MinFreeDm: 152, MaxWait: 447017ms Bed compensation in use: none, comp offset 0.000 === DDARing === Scheduled moves: 67, completed moves: 67, StepErrors: 0, LaErrors: 0, Underruns: 0, 0 === Heat === Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1 Heater 1 is on, I-accum = 0.0 === 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: 26.34ms; fastest: 0.01ms 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 providing access point Failed messages: pending 0, notready 0, noresp 0 WiFi firmware version 1.23 WiFi MAC address a2:20:a6:16:e6:70 WiFi Vcc 3.44, reset reason Turned on by main processor WiFi flash size 4194304, free heap 24840 WiFi IP address 192.168.51.10 Connected clients 1 Socket states: 0 0 0 0 0 0 0 0
M98 P"config.g". Error: Invalid kinematics matrix Warning: Heater 1 appears to be over-powered. If left on at full power, its temperature is predicted to reach 770C. Warning: Heater 2 appears to be over-powered. If left on at full power, its temperature is predicted to reach 904C.
-
Before we go much farther there are two things I can see immediately that we should probably resolve.
First,
Error: Invalid kinematics matrix
https://duet3d.dozuki.com/Wiki/Gcode?revisionid=HEAD#Section_M669_Set_kinematics_type_and_kinematics_parameters
Looks like you should be using K8Second, is the firmware version. If this is a new build it makes more sense to start with the latest firmware version. 3.2. Firmware 2.05 is over a year old at this point.
If you still have access to DWC. Upload these 3 zip files, one at a time in the system tab. Don't extract them. Reboot after each. Use M115 to verify the firmware has been applied.
https://github.com/Duet3D/RepRapFirmware/releases/download/2.05.1/Duet2Firmware-2.05.1.zip
https://github.com/Duet3D/RepRapFirmware/releases/download/3.0/Duet2and3Firmware-3.0.zip
https://github.com/Duet3D/RepRapFirmware/releases/download/3.2/Duet2and3Firmware-3.2.zip
That will get your firmware and DWC up to date.For your config, might be a good idea to run through the configurator tool and generate a fresh set for RRF3.
https://configtool.reprapfirmware.org/StartStart with the basic config and then start adding in your UV axis changes.
-
Ok, I'll give it a try tomorrow, as this is a completely new build, I was hoping to stay with 2.05 as applying the old adage of not changing everything at once, but I will go ahead.
Re Is it an XYUV or XYU i.e. M669 5 or 8, this seems in dispute from the forums, my machine has 4 motors driving a single Y carriage with an X and U heads. All movement is working with K5, but I could try K8.
-
Thanks to your prompts, I searched for "invalid matrix" and found this thread: https://forum.duet3d.com/topic/20164/g30-g32-issues-on-duet-wifi-corexyu-with-inductive-probe/7?_=1612371745630
M669 K1 X1:1:0:0 Y10:1 Z0:0:1:0 U0:0:0:1 it seems to have sorted the issue. (at least for now, I have to check the Z drop and raise and home all works first) roll on tomorrow.
-
Based on that thread it would appear it's a bug that's been fixed in 3.2