RRF3.01-RC2 CoreXY Movement differences



  • This is probably me being silly & not spotting\reading the config differences, but while migrating the software\firmware on my DBot corexy printer from rrf2 to rrf3 (went to the RC2 for the conditional stuff). I find I'm having issues with moving the head in the Y plane.

    All was working as expected under rrf2, i.e. I could place the head anywhere in the 300x300x300 mm virtual box, but trying to do the same thing with rrf3.01-rc2 fails miserably, with X axis appearing to home & move correctly.

    But while the Y axis appears to home correctly, it will then will not move to any position inside the 'box'. It appears as though it 'thinks' that for the Y axis the box is "flipped over" to outside the build area.

    The relevant config sections are as per below, note its still a work in progress, but apart from setting a drive mapping all appears to be similar, so I'm a bit flumoxed....

    RRF2 - config
    ; Configure Drives

    M569 P0 S0 ; Drive 0 goes backwards - X
    M569 P1 S0 ; Drive 1 goes backwards - Y
    M569 P2 S0 ; Drive 2 goes backwards - Z
    M569 P3 S0 ; Drive 3 goes backwards - Extruder

    M92 X100 Y100 Z400 E837 ; Set movement steps per mm NOTE: put before M350 so doesn't need to be changed with change in micro-stepping

    M350 X16 Y16 Z16 E16 I1 ; Configure x16 micro-stepping with interpolatition

    M566 X2400 Y2400 Z600 E220 ; Set maximum instantaneous speed changes (mm/min)
    M203 X8000 Y8000 Z1200 E3600 ; Set maximum speeds (mm/min)
    M201 X800 Y800 Z200 E1000 ; Set accelerations (mm/s^2)
    M906 X1100 Y1100 Z1100 E1100 I30 ; Set motor currents (mA) and motor idle factor percentage
    M84 S30 ; Set idle timeout in seconds

    ; Axis Limits
    M208 X0:300 Y0:300 Z0:300 ; Set axis minima:maxima

    RRF3.01-RC2
    ; Configure Drives

    M569 P0 S0 ; Drive 0 goes backwards - X
    M569 P1 S0 ; Drive 1 goes backwards - Y
    M569 P2 S0 ; Drive 2 goes backwards - Z
    M569 P3 S0 ; Drive 3 goes backwards - Extruder

    M584 X0 Y1 Z2 E3 ; set drive mapping

    M92 X100 Y100 Z400 E837 ; Set movement steps per mm NOTE: put before M350 so doesn't need to be changed with change in micro-stepping
    M350 X16 Y16 Z16 E16 I1 ; Configure x16 micro-stepping with interpolatition

    ; OLD - faster
    ;M566 X2400 Y2400 Z600 E220 ; Set maximum instantaneous speed changes (mm/min)
    ;M203 X8000 Y8000 Z1200 E3600 ; Set maximum speeds (mm/min)
    ;M201 X800 Y800 Z200 E1000 ; Set accelerations (mm/s^2)
    ;M906 X1100 Y1100 Z1100 E1100 I30 ; Set motor currents (mA) and motor idle factor percentage

    ; new - slower
    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 X800 Y800 Z800 E800 I30 ; set motor currents (mA) and motor idle factor in per cent

    M84 S30 ; Set idle timeout

    ; Axis Limits
    ; M208 X0:300 Y300:0 Z0:300 ; Set axis minima:maxima
    M208 X0 Y0 Z0 S1 ; set axis minima
    M208 X300 Y300 Z300 S0 ; set axis maxima

    I've tried manipulating the Axis limits, but that only upsets the homing.



  • @Dr_Ju_Ju said in RRF3.01-RC2 CoreXY Movement differences:

    The relevant config sections are as per below

    And I think the relevant parts are perfectly missing from your post. With RRF 2.0, you inverted the limits of the Y axis, in RRF 3, you don’t. So, your homing (of Y) is wrong, it’s either the endstop or the direction of one of the steppers. As I’m no CoreXY expert, I can’t tell you the details - post your complete config.g plus the homeXY.g so that some of the champs can jump in.



  • @Dr_Ju_Ju .............and what did you do with your end stops (M574)?



  • As requested, the full configs: RRF2

    config - RRF2.g

    Work in progress RRF3

    config-rrf3.g

    BTW, the end stops are working, including the Z probe....


  • administrators

    In RRF2 you had:

    M574 X1 Y2 S0 ; Set active low endstops

    In RRF3 you have:

    M574 X1 S1 P"!xstop" ; configure active-low endstop for low end on X via pin xstop
    M574 Y1 S1 P"!ystop" ; configure active-low endstop for low end on Y via pin ystop

    You have the Y endstop configured at the high end of the axis in RRF2, but the low end in RRF3.



  • If I make any changes to the M574 settings for X\Y, I'm then unable to home an axis with an
    "G32 X\Y
    Error: Failed to enable endstops"

    Using the settings as per my config file, I'm able to home the X\Y axes, but I'm only able to home Z, by leaving the head at the 0,0 position, where normally I would Z home at the bed centre (X150 Y150).

    After I've managed to have some form of homing, If I then try any further moves, using DWC, I'm getting weird movements, with the head moving in the X axis, while I've issued a movement in the Y axis only ??



  • @Dr_Ju_Ju It sounds rather like one of you XY motors is moving in the wrong direction or maybe it's not moving at all. Did you change anything else apart from firmware? Did you disturb any of the wiring? Suggest you go back to basics and test motor movement as per this - https://duet3d.dozuki.com/Wiki/ConfiguringRepRapFirmwareCoreXYPrinter



  • @Dr_Ju_Ju The problem reminds me of this thread, maybe it is worth a read?



  • Nothing has changed physically from the RRF2 system to this RRF3.01 system, all the wiring is correct & working (yes I have tested, I'm an electronics engineer so know what I'm doing), & apart from these weird moving issues, everything else appears to be working ok, i.e. heaters & fans \ lights etc. are all configured(ish) & working with just some minor tweaks needed e.g. PID tuning, speeding things up etc...

    If I physically move the head to the 'opposite' motion ends, (motors powered off) then home that axis, it behaves as I would expect, i.e. travels in a straight line to its relative homing end-stop. Which for a CoreXY, in its simplest form, the motors (both), are being driven in the correct direction and working as expected !!


  • Moderator

    @Dr_Ju_Ju Long shot; what version of RRF2 were you on? There was a change in the default direction of one axis a looooong time ago, can’t remember exactly when.

    Ian



  • I was on the latest 2.05.1 \ DWC 2.0.7 on Duet Ethernet 1.02 or later
    Board ID: 08DGM-95BNL-MGPSJ-6J1F2-3SD6L-9JZHX

    I'm interested in the new conditional stuff, so went to the latest RC, to at least try & get things going....

    Julian



  • @droftarts said in RRF3.01-RC2 CoreXY Movement differences:

    @Dr_Ju_Ju Long shot; what version of RRF2 were you on? There was a change in the default direction of one axis a looooong time ago, can’t remember exactly when.

    Ian

    @droftarts For info, that was RRF 1.19 whereby on a CoreXY, the direction of the Y axis (beta) motor changed.


  • administrators

    @Dr_Ju_Ju said in RRF3.01-RC2 CoreXY Movement differences:

    If I make any changes to the M574 settings for X\Y, I'm then unable to home an axis with an
    "G32 X\Y
    Error: Failed to enable endstops"

    Try again, this is working for other people. You need M584 Y2 not M584 Y1 M574 Y2 not M574 Y1.



  • @dc42 said in RRF3.01-RC2 CoreXY Movement differences:

    M584 Y2 not M584 Y1

    Now I'm really confused, Why would I need Y2 in M584, as that setting came from the web configurator, & other examples I've seen ???

    Julian


  • administrators

    Sorry, I meant M574.



  • You commented out the number/maxima and also had the y range backwards vs your old one.

    ;M208 X0:300 Y300:0 Z0:300 ; Set axis minima:maxima

    The y should be Y0:300 not Y300:0.



  • Thank you David, I now have movement as I'd expect'ish, even if the Y axis moves 'negatively', which I suspect will be corrected when I update the axis limits....

    Julian


  • administrators

    Which version of RRF2 were you using before you upgraded to RRF3?



  • David,

    @Dr_Ju_Ju said in RRF3.01-RC2 CoreXY Movement differences:

    I was on the latest 2.05.1 \ DWC 2.0.7 on Duet Ethernet 1.02 or later
    Board ID: 08DGM-95BNL-MGPSJ-6J1F2-3SD6L-9JZHX

    & yes Nuramori, I was playing with the axis limits to try & get things working in the right direction...


Log in to reply