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 DrivesM569 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 - ExtruderM92 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:maximaRRF3.01-RC2
; Configure DrivesM569 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 - ExtruderM584 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 centM84 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 maximaI'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
Work in progress RRF3
BTW, the end stops are working, including the Z probe....
-
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 ystopYou 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 !!
-
@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-9JZHXI'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.
-
@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 Y1M574 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
-
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
-
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...