Core XY movement issues
-
@deckingman I completely agree with you on this. You replied to me on my first post about this issue, see the first link.
There is something wrong. I have gone over both X and Y axis. I re tension ed the belts to square the X to the Y. The Y rails are with in less than .001" according to the measurements I have taken. In frustration I took to searching for answers and found the problem in the 2nd link. DC42 replied after a lot of questions and such that maybe the board timing might be off. So that is why I tried changing the steps between the X and the Y. I started with the values that the poster had used in his config.g file. At one point my y axis stopped moving using the M92 configuration I posted. I know that is a patch and not the fix. Thats why I am posting trying to find out if Maybe I have an board issue as well. The poster and I bought our boards about the same time. I have the same motors , the same pulleys from the same manufacturer. I am going to pull the motors off and mic the pulleys and count the teeth..just to be sure. Maybe DC42 will chime in here. -
I would try exclude the first possibility that the steppers or controllers behave differently. In CoreXY there are commands to send A and B (the steppers itself) movements instead of X Y, then you can measure the belt movements and compare exactly (G92 set same).
Documentation to move the steppers is at
https://duet3d.dozuki.com/Wiki/ConfiguringRepRapFirmwareCoreXYPrinter
last part commissioning.If they behave differently, there could be reasons like one motor not getting enough current or is defect, loose pulley etc.
-
@joergs5
I went through that and my results were
G91 G1 S2 X100 F3000 ; MOVES X+ AND Y+ ABOUT THE SAME DISTANCE at a 45 degree angle
G91 G1 S2 Y100 F3000 ; MOVES X+ AND Y- ABOUT THE SAME DISTANCE at a 45 degree angle.
According to the docs, that is what they are supposed to do. Now going to the bottom the page and the first command is
G91 ; relative mode (a cut and paste from the page)
G1 S2 X10 ; move the X motor forward 10mm.... Can you tell me the difference, besides the amount of move? One should assume that the X should move by itself (no Y movement) . I tried the command both with the feed parameter and the results were the same. MOVES X+ AND Y+ ABOUT THE SAME DISTANCE at a 45 degree angle. I am getting flustered here. If I am doing something wrong, I can't see it.. -
@fxxtoo I meant it in another sense. Not the result of the X and Y movements, but the belt movement itself *), so e.g. the belt at the left and right edges. Because those movements are independent of your printer build (parallel or not etc.).
Please use this long belt lengths, as the difference is about 10% and you need a good measurement.*) X and Y is the movement of the hotend in X and Y direction, A and B is the movement of the stepper (how many turns, the angle, belt move). The special commands are to check A and B. The blog is a bit unexact in this respect, should use A and B to differentiate.
A and B translates into X=A+B, Y=A-B, so a difference between the steppers is hard to analyze, if you only look to X and Y.
Did you reset the G92 to the default same lengths first?
-
I've just read through all your other posts and all those that you linked to. It does seem to me that it might be the same issue as the other guy, which seemed to be fixed by a replacement board. When you run the tests for each individual motor, it'll tell you that it's turning and in the right direction but not necessary at the right speed. On a CoreXY, for pure X movement both motors turn in the same direction and for pure Y, both motors turn but in opposite directions (or it might be the other way round). Therefore it follows that if one motor turns at a different speed to the other, then there will be some movement in Y when doing pure X, and/or some movement in X when doing pure Y, which is what you are seeing. It seems that you have eliminated any mechanical build inaccuracies. So the cause could be wiring (a bad crimp as one user found in one of those threads), or maybe a faulty board that is causing one motor to skip steps , or a faulty motor (have you tried swapping each A and B motor with say the Z motor?)
TBH, I don't know how you go about proving to your supplier that it's a faulty board rather than on of the other possible causes. Maybe DC or Tony will step in here. I guess you could email your supplier and point them to this thread. Maybe they'll let you have another board on a sale or return basis?
-
@deckingman
Thanks Ian, I really appreciate you taking the time to help me out. I have been playing with for over a month now. I will contact Filastruder about getting a replacement. again many thanks for helping. I was hoping that DC42 would chime in about this..
RJ -
@joergs5
I think you are talking about measuring the length that each belt travels? I could do that. I have done motion control stuff before, mostly with ball screws and Nothing like a coreXY for sure. I am not sure what you mean with the G92, is that not for setting a position, like an offset?
My problem has been that all of the tests on the docs show that I have everything hooked up. When I give the command G90 X100, the Y position would change about 3 mm. I took everything apart and started over and checked and rechecked the Y and X to be to the best of my skillset, correct. It wasn't until changed (knowing that it was not correct) the M92 settings, did the head move as it should. I think there is an issue in the board, but I am going to post my config.g file as maybe someone can show me if I have goofed up. Thanks for your time in trying to help, I do appreciate it! and the food for thought on the belts.
rj -
Here is my config.g file (or most of what I have left...I started over)
; Configuration file for Duet WiFi
; (firmware version 1.20 or newer)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool on MODDED 7.12.18; General preferences
M111 S0 ;DEBUGGING OFF
G90 ; Send absolute coordinates...
M83 ; ...but relative extruder moves
M555 P2 ; Set firmware compatibility to look like MARLIN
M667 S1 ; Select CoreXY mode; Network
M550 PRJPRINT ; Set machine name
;M552 S1 ; Enable network
M552 S1 P192.168.1.99 ;SET IP ADDRESS
M553 P255.255.255.0 ;SET SUBNET MASK
M586 P0 S1 ; Enable HTTP
M586 P1 S0 ; Disable FTP
M586 P2 S0 ; Disable Telnet; Axis Limits
M208 X325 Y415 Z0 S0 ; Set axis maxima
M208 X0 Y0 Z-600 S1 ; Set axis minima; Drives M569: Set motor driver direction, enable polarity and step pulse timing Parameters
M569 P0 S1 ; Drive 0 goes FORWARDS Rnnn Driver enable polarity: 0 = active low, 1 = active high (default 0)
M569 P1 S1 ; Drive 1 goes forwards
M569 P2 S0 ; Drive 2 goes forwards
;M569 P3 S1 ; Drive 3 goes forwards
M350 X64 Y64 Z128 E16 I1 ; Configure microstepping with interpolation
;M92 X80 Y80 Z175 E420 ; Set steps per mm
;M92 Y320 Y320 Z1400 E420 ;mod to test 64 micro stepping
M92 X320 Y319 z1400 E420 ; to test to see if it corrects the speed of both motors
M566 X600 Y600 Z100 E120 ; Set maximum instantaneous speed changes (mm/min)
M203 X6000 Y6000 Z4000 E1200 ; Set maximum speeds (mm/min) CHANGED FROM 6000 TO 600 Z NO CHG
M201 X500 Y500 Z250 E250 ; Set accelerations (mm/s^2)
M906 X1500 Y1500 Z1500 E800 I40 ; Set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout; Endstops
M574 Z1 S0 ; Set active low endstops
M574 X1 Y1 Z2 S0
;M574 X1 Y1 S3 ; Set endstops controlled by motor load detection; Z-Probe
;M558 P0 H5 F120 T6000 ; Set Z probe type to switch and the dive height + speeds
;G31 P600 X0 Y0 Z2.5 ; Set Z probe trigger value, offset and trigger heightM557 X15:327.9 Y15:391 S20 ; Define mesh grid
; Heaters
M140 H1 ; Remap heated bed to heater 1
M301 H1 P-1 ; Set heater 1 to bang-bang mode
M305 P0 X200 ; Configure thermocouple for heater 0
M143 H0 S120 ; Set temperature limit for heater 0 to 120C
M305 P1 X201 ; Configure thermocouple for heater 1
M143 H1 S280 ; Set temperature limit for heater 1 to 280C; Fans
M106 P0 S1 I0 F500 H1 T45 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned on
M106 P1 S1 I0 F500 H1 T45 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
M106 P2 S1 I0 F500 H1 T45 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned on; Tools
M563 P0 D0 H0 ; 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; Automatic power saving
M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; Set voltage thresholds and actions to run on power loss; Custom settings are not configured
-
You can not have M92 X different from Y... It will then move wrong Please set those the same and then do the tests
-
@deckingman
No I didn't try swapping the steppers . I bought the steppers new from a local supplier for another job. I stripped them off the previous application to use them on the printer. I have others. I will check out how to swap the motor to another driver.. maybe that will work thanks!
rj -
@pro3d
Thanks for the reply. I did have them set at being equal. After rebuilding it and making sure that I was parallel and the X was 90 degrees to the Y. I had exactly the same issue as before. If I did the test, it show the correct movement. When I did G90 x100, it would move about 3 mm as well. Which tells me that one motor is Not moving at the same speed as the other. It stopped when I changed the M92 . I am pretty confident that mechanically I am correct. That leaves an issue with the Duet card.
rj -
@fxxtoo First sorry, I meant M92, not G92. I meant resetting to same settings for both steppers.
The test I propose is to check the steppers and controllers themself, described in the commissioning part. Belt movement is measuring the stepper moves exactly. Looking at X and Y movements can have several reasons if they are not correct.
I had a new idea: your steppers are set to 1.5 A. Please check your steppers if they are types to have 2 A max current or more. If your steppers have less, this can lead to problems.
-
@joergs5
The steppers nema 23 and are 1.8 amps per phase. I am thinking of how to measure the belt movement. I am taking the motors off to measure the pulley, just in case. I am hoping it is something simple. Thanks!
RJ -
@fxxtoo I thought about the pulleys slipping. This depends on the tension you have on the belts.
1.5 A seems to be ok for 1.8 steppers. There is some valuable information in
https://duet3d.dozuki.com/Wiki/Choosing_and_connecting_stepper_motors
Nema23 has more torque than 17er, so you might not notice the slip.You can file into the shaft, but I prefer nondestructive means like loctite 221.
-
I think you should up your accel a little. 500 is very low - I dont know if it will help but you could try 1000 as I see you have 10 in jerk
-
@pro3d
Thanks! I have been trying to figure this belt, timing or driver issue out and haven't got into the finer tweaks yet. I will try that.
rj -
IMO, higher acceleration is likely to make things worse. Start slow, get everything working, then increase speed and acceleration in small steps.
-
Try this. Do a longish move in X, say 100 mm and measure the Y distance and direction. Then swap the A and B motors (the ones that do X and Y). Repeat the X move. If the movement in Y changes direction, then it's an issue with the motor. At least that will eliminate one variable.
-
@deckingman
Excellent I will try that. I was just starting to pull the Duet board out. Wiil try that right after lunch. and Post the results.
Do you mean remap the motors or physically swap the motors?
Thanks!
RJ -
@fxxtoo I would think to physically swap them.