Exactly. I have a more complex C program (than the one I posted up here a couple of weeks ago) that has all the definitions of how long (in roughmilliseconds) it takes to drive each joint from one extremity to the other (1700ms for the gripper) which can be used for thismorphy_richards wrote:That could work well. So, if you told the arm to :
(1) Start rotating (say) left until it triggers the switch and then
(2) Start timer and start rotating right
(3) On hitting right switch stop timer and rotation.
(4) Divide time by 270 /* The base can rotate by 270 degrees. This would give the time needed for the arm to rotate by 1 degree
You would need two switches per joint. Counting joints - there are shoulder, elbow, wrist (not counting the gripper ATM) and base. That would mean 8 switches are needed which would be well within the scope ogf the GPIO. Even 10 is do-able so you can do the gripper as well.
That method would also be a solution for the rotary - non absolute opto encoder method that Ravenous has pointed out. Rotate arm segments until the opto encodes report there is no more movement occuring and treat that point as first position. Then take all subsequent movements from there.
Nothing like that obviously as far as I can remember - where would that go? If I remember rightly it should go between + and - ,directly on the motor terminals."EDIT: forgot to add, does the motor have a suppression capacitor fitted? If so, has it become disconnected, or have you changed the arrangements for driving the motor in any way? Motors (or their drivers) generate more noise than anything..."
Users browsing this forum: No registered users and 25 guests