I see you have now corrected the diagram, does this reflect what you actually have?
Yes, the current diagram is now correct.
Overshoot? 2058?
The value 2058 is commented out in the code. The value I use for Steps2Take is 2038 and after a while it seems this value is too much since the arm begins to stop beyond the original start position. At first it seems to stop dead on but eventually it can be seen that the value of 2038 is higher than what is needed for 360 degree rotation. If I decrease the value to 2037 the arm, after only a few rotations can be seen to stop before its original start point.
But you are not restricting it right?
Right. The only load it has is the weight of the arm which is made from very light material.
No you are skipping pulses, if it still happens at 50 try it even slower.
How can it be skipping pulses if the arm goes too far?
A teacher tells John & Frank it takes children their size 120 steps to travel from the sliding board to the swingset. She instructs them both go to the sliding board and to walk 120 steps straight to the swingset. John begins walking but loses count at 79 and continues his count at 70. He finds himself beyond the swingset when he ends his 120 step walk since he has actually walked 130 steps. Frank takes the same walk but at count 59 he jumps to 70 and continues his count. At a count of 120 he finds himself short of the target because he 'skipped' steps 60-69. I am John.
I ran this motor for about 20 hours taking 1 step at a time at a speed of 1. After 2038 iterations of a loop (360 degree rotation) the count starts over. After 20 hours (66, 360 degree revolutions) The mark was right on. Changed Steps2Take to 2 and increased the speed to 10. After a few hours the arm is stopping about 3 degrees beyond its starting point. I did swap pins 9&10 as suggested but it didn't seem to make any difference.