Cant get duet 2 in corexy to move correctly



  • Cant get duet 2 in corexy to move correctly
    If i send it a M669 it sends me

    m669
    Kinematics is CoreXY, matrix:
    1.00 1.00 0
    1.00 -1.00 0
    0 0 1.00

    and the motor outputs are not correct
    if i move in X, X moves at a 45° and 1 Z motor moves
    if i move in Y, Y moves at a 45° and other Z motor moves

    I have never got both x and y motors to move at the same time when i move the machine

    could use someones help if you got time, there is something i'm not understanding

    ; Configuration file for Duet WiFi (firmware version 3)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v3.1.4 on Fri Oct 16 2020 22:33:42 GMT-0500 (Central Daylight Time)

    ; General preferences
    G90 ; send absolute coordinates...
    M83 ; ...but relative extruder moves
    M550 P"My Printer" ; set printer name
    M669 K1 ; select CoreXY mode

    ; Network
    M552 S1 ; enable network
    M586 P0 S1 ; enable HTTP
    M586 P1 S0 ; disable FTP
    M586 P2 S0 ; disable Telnet

    ; Drives
    M569 P0 S1 ; physical drive 0 goes forwards
    M569 P1 S1 ; physical drive 1 goes forwards
    M569 P2 S1 ; physical drive 2 goes forwards
    M569 P3 S1 ; physical drive 3 goes forwards
    M569 P4 S1 ; physical drive 3 goes forwards

    M584 X0 Y1 Z2:4 E3 ; set drive mapping
    M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
    M92 X80.00 Y80.00 Z4000.00 E420.00 ; set steps per mm
    M566 X900.00 Y900.00 Z12.00 E120.00 ; set maximum instantaneous speed changes (mm/min)
    M203 X6000.00 Y6000.00 Z180.00 E1200.00 ; set maximum speeds (mm/min)
    M201 X500.00 Y500.00 Z20.00 E250.00 ; set accelerations (mm/s^2)
    M906 X1000 Y1000 Z1000 E800 I30 ; 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 X300 Y300 Z300 S0 ; set axis maxima

    ; Endstops
    M574 X1 S1 P"!xstop" ; configure active-high endstop for low end on X via pin xstop
    M574 Y2 S1 P"!ystop" ; configure active-high endstop for high end on Y via pin ystop
    M574 Z1 S2 ; configure Z-probe endstop for low end on Z

    ; Z-Probe
    M950 S0 C"exp.heater3" ; create servo pin 0 for BLTouch
    M558 P9 C"^zprobe.in" H5 F120 T1500 ; set Z probe type to bltouch and the dive height + speeds
    G31 P500 X2 Y-43 Z2.5 ; set Z probe trigger value, offset and trigger height
    M557 X25:275 Y25:275 S75 ; 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 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"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

    ; Fans
    M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency
    M106 P0 S0 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 H1 T45 ; set fan 1 value. Thermostatic control is turned on

    ; 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

    ; Custom settings are not defined

    ; Miscellaneous
    M575 P1 S1 B57600 ; enable support for PanelDue



  • please verify that you are on firmware version 3.1.1

    using m115



  • @Szwalkiewicz said in Cant get duet 2 in corexy to move correctly:

    M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin bedtemp
    M308 S1 P"e0temp" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin e0temp

    unrelated but your thermistor config is wrong. find your correct beta value in the technical documentation of your thermistor.



  • @Veti

    m115
    FIRMWARE_NAME: RepRapFirmware for Duet 2 WiFi/Ethernet FIRMWARE_VERSION: 3.1.1 ELECTRONICS: Duet WiFi 1.02 or later FIRMWARE_DATE: 2020-05-19b2



  • if i move in X, X moves at a 45° and 1 Z motor moves

    what is the command you issued?



  • @Szwalkiewicz

    greetings
    I see that in the M669 command of config.g you only define the kinematics type as corexy (K1) but you do not define the motion matrix.
    i use the following command on my corexy printer and it works fine for me
    M669 K1 X1: 1 Y1: -1

    the console output it gives me is as follows:

    M669
    Kinematics is CoreXY, matrix:
    1.00 1.00 0 0
    1.00 -1.00 0 0
    0 0 1.00 0
    0 0 0 1.00

    I hope it serves



  • for the default corexy M669 K1 does not need parameters.
    you seem to need it because you have 4 axis.



  • @Veti

    how i moved it was:

    the printer is a 300x300x300 so i moved it to the center on x,y and z and (by hand) and sent a g92 of 150 on all three and then used the paneldue jog screen on move around


  • Moderator



  • The dzuki is always a good place to start, but movment on Z when i move the X or Y I think shows of a larger underlying problem

    I tried it on two seperate duet2wifi's one on 2.xx and 3.xx firmware with the same outcome I must have missed a step some where
    I'm going to hard reset one and reload the firmware



  • @Szwalkiewicz

    change out of corexy mode and test each motor seperately



  • @Veti I like you idea so I erased a board reloaded firmware to start fresh on and rebuild the sd card files. On Cartesian Kinematics I set the motor output to M584 Z0 Y1 X2 E3 (to match board silkscreen) and placed to motor wires on the board to match and everything works as planed 🙂 then thats when i powered down the board and on reboot with no changes Z and X swaped places? now the motor output is not matching the M584?



  • @Szwalkiewicz said in Cant get duet 2 in corexy to move correctly:

    M584

    run the command in the console and see if it matches


  • Moderator

    @Szwalkiewicz said in Cant get duet 2 in corexy to move correctly:

    M584 Z0 Y1 X2 E3

    0 is not the Z driver. The default would be M584 X0 Y1 Z2 E3:4

    So when you are seeing movement of the Z axis it's probably because you have the x or y motor connected to the z stepper or z axis motor to the x stepper.

    0b02f4ac-4106-46c0-8a10-d00e5c290b8c-image.png


Log in to reply