Hey @YoHidden ,
If you look at the firmware ( https://github.com/uArm-Developer/SwiftProForArduino/tree/develop ), P2242
grabs the raw, analogue value from the Analogue pin connected to the AS5600 rotary sensor attached to each axis.
uint8_t uarm_gcode_P2242(char reply[])
{
uint16_t value[3];
for (int i = 0; i < 3; i++)
{
value[i] = get_current_angle_adc(i);
}
msprintf(reply, "B%d L%d R%d", value[0], value[1], value[2]);
return E_OK;
}
I believe several people (including myself) are having issues where the values used to calibrate the arm are no longer in accordance with the values being read from the sensor, which would cause the arm to think it is in the wrong position and in some cases move outside of its safe limits. I have a full explanation here: https://forum.ufactory.cc/t/uarm-not-calibrating-position/692/24
I am working on a way to write values into the EEPROM using GCodes which would allow a user to re-calibrate the arm, so I'll let you know how I go.
In the mean time, I'm collecting data on other users having the same problem.
If you remove any attachments from the arm, place the arm on the flattest surface you can find, and align on top of the "Laser & 3D Printing Positioning" page that cam in the box, then use uArm Studio / Blockly and add a "Move To" block, then position your arm at points A, B and C, and record those positions, what positions does the software think you are at?
Here's what I got:
A: [169.9, 0, -27.33]
B: [202.92, 0.93, -19.58]
C: [282.49, 2.16, -16.1]
Thanks.