I am using a uArm Swift Pro on a project where there is a soldering iron in a clamp and it needs to be at a very precise position at the tip of the soldering iron. I connected the uArm to another Arduino Mega 2560 with the Serial Tx and Rx wires, and the ground. The other Arduino board is sending the positions to the uArm.
The positions the uArm should go to are approximately X240 Y0 Z140. The soldering iron goes down in Z approximately 40 mm from the base of the end effector fixation platform.
Everything works fine and the tip of the soldering iron goes to the right position for a moment. But at some point after several restarts of the uArm and the other Arduino board, the uArm gets displaced a bit by 1 or 2 mm, both in Y and Z axes, sometimes X.
I calibrated the uArm but the problem still arised at some point.
My first question is : where is it coming from ?
I am guessing it is caused by some mechanical play in the joints of the uArm, and by touching the arm, it would get to a slightly different position.
I am receiving some noise on the serial tx and rx lines( though I pulled them up to 5V since then ), could it be due to that ?
My second question is : My solution to this problem would be to calibrate automatically at every startup of the uArm by some code from the other Arduino and a mechanical device next to the uArm.
Now I saw somewhere it shouldn’t be calibrated too often.
What are the problems with this frequent calibration ?
It is really difficult to make a video of this happening since it arised at unexpected moments and I am unable to reproduce it when I want. It happened after a lot of restarts so after some hours of use.
Anyway I will try to upload the new firmware and see if the problem still arises at some point.
And no, there is no “kakaka”, the motor does not block.
What happens is at some point, after a start, the arm suddenly is displaced by 1-2mm in comparison to the previous same position ( approximately X240 Y0 Z140 ) and it stays displaced, even after restarting.Then I have to change the positions of my program, so the soldering iron gets to the points it should.