Weird behavior of the axis

uArm Serial No.:

Firmware Version: 3.1.4

Operation System: Win10

uArm Controlling Method: Arduino IDE / vvvv serial port

So it worked at the beginning with the uarm software then we started sending some gcode with a custom app, then the behavior chaged as following:

x axis moves only on positive values
z axis moves correctly on both + and - values
y axis moves 180 degrees from -1 to 1 (like polar coords)

the command is G0 Xxxx Yxxxx Zxxxx F5000

We tried to flash the firmware but the behavior is consistent.
Any idea? Thanks


UFACTORY Website:
www.ufactory.cc
uArm User Facebook Group
Contact Us:
English Channel
中文通道

I had this issue too but it suddenly disappeared and I couldn’t recreate it.

What I found was that the arm actually used METERS for the Y position, so with a value of 1 or 0.5 it would go off and do a rotational motion (probably because the computation went off) but if I fed it the Y values divided by 1000 it worked properly.

But as said, it suddenly didn’t happen anymore although the day before I restarted the arm, the software and the computer and it happened reliably… My firmware is and was 3.1.9 though (according to the uArmStudio panel…).

See this github issue: G0 and G1 command use meters for Y value · Issue #3 · uArm-Developer/SwiftProForArduino · GitHub

This totally makes sense as the movement along the Y angle was not linear… but what about the negative movement (away from the body) of the X axis? I can t move it past 0.
Thanks
Simone

Hi @Simone_Marin
Could you please send us the GCode commands you sent to uArm? So we can test it.

Hallo, I ve written them on the post:

G0 Xxxx Yyyy Zzzz F5000 (then a line feed)

G0 X-30 Y0 Z0 F5000 for example won’t do anything

Well did you try if it works in meters, did you divide the Y values by 1000 and try it?

For the negative X movement it depends, are you sure you always did the movement from “zero”? Because if the calculated arm position is off because of that Y-bug that could result in the arm not moving to a certain spot (because it thinks its out of bounds).

So, the Y movement is always rotational, if I do G0 X0 Y0.1 Z0 it will only rotate on the left, not making a linear movement. I tried this with the Arduino IDE serial monitor. On the other side the uarm blockify app works as expected…

Some good news, I have installed the latest DEV GitHub - uArm-Developer/SwiftProForArduino at v3.1.18-dev
and done the calibration process. Now relative movements are working ok, as well as absolute movements, except for the X axis which always responds with a E22 (out of range) to G0.

EDIT: my bad as I ve misunderstood the position of X0 , so far so good. The issue was with the older firmware.

1 Like