I'm new to this forum, so a brief "hello and thanks for your help"!
I already posted on reddit but figured this place would be better...
Sooo:
I am working on a project which will use 8 stepper motors, so I built a setup on a circuit board with 8 motor drivers (Pololu A4988).
My setup:
The motors I will be using are these ones: clickediclick for specs.
The datasheet from the motors says, that the current they draw is .350A per phase, so I calculated the value for the limiter on the Pololus via the formula from the Pololu page as follows:
Current Limit = VREF × 2.5
which brought the value for VREF to .14, which I set on the chips' potentiometers.
For power supply I used a programmable power supply. The product page of the motor drivers says that they can operate with a voltage between 8 and 35 Volts, while the datasheet of the motors mentions a "rated Voltage" of 12V. I was planning to use an old ATX pc power supply for the final project which should give me 12V.
However, when I supplied the circuit board with 12V from the super fancy programmable power supply (current not limited, I noticed a flow of up to .5 Amps or so), the motor was losing most steps from the full turns it should have been doing. The circulations only started when I cranked up the power to 11, ehm, 13V. The movement became even more powerful up to around 20V where the motor seemed to have stabilized.
[edit]
Just in case it is relevant, here's the code I am using to test the setup:
*Â Â Simple Stepper Motor Control Exaple Code
*Â Â Â
*Â by Dejan Nedelkovski, www.HowToMechatronics.com
*Â
*/
// defines pins numbers
const int stepPin = 48;
const int dirPin = 52;
void setup() {
 // Sets the two pins as Outputs
 pinMode(stepPin,OUTPUT);
 pinMode(dirPin,OUTPUT);
}
void loop() {
//Serial.print(stepPin);
Â
 digitalWrite(dirPin,HIGH); // Enables the motor to move in a particular direction
 // Makes 200 pulses for making one full cycle rotation
 for(int x = 0; x < 200; x++) {
  digitalWrite(stepPin,HIGH);
  delayMicroseconds(500);
  digitalWrite(stepPin,LOW);
  delayMicroseconds(500);
 }
 delay(1000); // One second delay
Â
 digitalWrite(dirPin,LOW); //Changes the rotations direction
 // Makes 400 pulses for making two full cycle rotation
 for(int x = 0; x < 400; x++) {
  digitalWrite(stepPin,HIGH);
  delayMicroseconds(500);
  digitalWrite(stepPin,LOW);
  delayMicroseconds(500);
 }
 delay(1000);
}
[/edit]
My question(s):
What is this, and why is it happening?
Is it possible that there is so much of a drop in voltage on the way through the circuitry, that the motor is undersupplied and loses that much torque? (The motor specs are listing a "rated voltage" of 12V after all...)
How should I best deal with this?
Any help will be greatly appreciated, thanks a lot!