What you should do is to strip the code back and just test the motors to see if they both respond to all steps. Then you know it you have a hardware or software problem.
That's settled then. It's a bit of a fuss, but I often need this single motor test.
Running the motor at half steps and then disabling the drivers gives you half a step error because the motor looses position in those fractional steps when de energised.
I don't think that the half-stepping is a problem. And both steppers are exposed to the same code.
I'm very careful in keeping track of which phase is next .. also after pausing. But it /has/ crossed my mind that one of the stepper might so to speak starts out on the wrong leg. It should max loose 2 steps out of every restart .. that doesn't sound of much, but I'll check it. If it wasn't for the circumstance, that this motor also has a rougher resonance/sound I would actually believe that the problem could be buried here. I do have a lot of resets (instead of pauses where I keep track).
If the motors check out individually but not when run together then check that you have sufficient current capability with your power supply and add some large bulk decoupling capacitors like 500uF across it.
Will do the capacitor thing.
The two steppers alone share a 12V & 2A ... that should be enough to blow me off the table together with the rest of the setup, if something went wrong. But it leads me to something I've pondered on trying: To swap the supply to a 35 or 45V source I've lying somewhere. Somewhere in this tutorial:
http://www.stepperworld.com/Tutorials/pgMicrostepping.htmI have seen a feedback mechanism that controls the amount of current that the stepper will get .. as a substitute for the coil-resistors. It's not really for dummies like me, but I did notice the change of motor-effect I got from raising voltage and adding coil-resistors. I would like more changes to the better like that. But, as it is now, I've already burned off a set of resistors ... (driver and motor survived ;o) .. /this time, not the previous) .. and I cannot afford to make any mistakes right now.
I did spent time on measuring the actual turn-around of the motor-shaft, and I'm not done on attacking the problem from that side. If I add one of those small & strong magnets to the shaft, then it ought to be no sweat to detect atleast a sharp 1/10 of a round .. the forward move is 1.0 mm pr round giving a 0.1mm precision then. That'll be ok for now. As you probably noticed on the photo .. one cannot really detect errors with the naked eye (a little flatness on the four sides thanks to slack).