problem With stepper motors

Hi,

We're trying to control stepper motors with Arduino and it's hard to figure out why some of them work and some don't.
We're using the Stepper library currently without any shield or additionnal chip ; we're simply connecting pins to the 8 9 10 11 out of the arduino (also gnd and 5v in case of unipolar motors) and launching the Stepper "one revolution" example sketch.

Here are the motors that we got to work :
KP4M2-203 1.8° 37.5? bipolar
SP-35MD-014 7.5° 20? bipolar

Here are the motors that don't work :
42SIM-24D6YD 7.5° 14? unipolar
42BYGHW811 1.8° 1.25? bipolar

Why does the Stepper refecence say we should use a H-Bridge chip while some of these motors seem to work without it ? How could we get the other motors to work ?
How can we know for sure how to connect wires (which color goes to the ground, etc...). What does the "coil resistance" value means ? How do we know the voltage we're supposed to use ?
We know very few about all this, any help is appreciated.

Thanks

it's hard to figure out why some of them work and some don't.

No it is not it is because:-

We're using the Stepper library currently without any shield or additionnal chip ;

Never, Never, Never, Never, Never, Never, Never, Never, Never, Never, Never, Never, Never, Never,
Do this. You will break your arduino.

What does the "coil resistance" value means ?

Maybe it is the resistance value of the coil perhaps?
Knowing this you can work out how much current will flow when you give it a specific voltage. This is called ohms law.

How can we know for sure how to connect wires (which color goes to the ground, etc...).

Look at the data sheet for the motor.

Read about stepping motors here:-
http://www.thebox.myzen.co.uk/Workshop/Motors_3.html
and
http://www.thebox.myzen.co.uk/Workshop/Motors_4.html

The reason why this is a no-no is because motor windings are highly inductive and very low resistance.

You are firstly overloading the output pins by pulling more than 40mA from them - this means the output circuit is being destroyed (it may degrade slowly, appear to work for a while, but in the long term you will damage the Arduino chip). You don't ever want to reach of exceed the "Absolute Maximum" specifications of a circuit component.

Secondly you are driving an inductive load without protection - when the current is switched off the inductive load will protest and generate whatever voltage is necessary to keep the current flowing. In some circuits this generates 100's or 1000's of volts, with the Arduino the current is forced to flow through the protection diodes that are designed for a few milliamps.

[BTW you must never unplug a powered-up stepper motor before removing power to the controller - sparking and fried electronics may result]

You might as well replace the Arduino chip now, its performance is probably degraded and even if it appears to work now it might be unreliable and prone to random failure in the future.

To summarize the capabilities of Arduino I/O pins: never exceed 40mA in either direction, best to stay below 25mA to give a good safety margin. Never take the pin below -0.5V or more than Vcc+0.5V

To drive a motor you need a circuit than can carry the current (for a 14ohm winding that's 360mA for a 5V supply). You need a circuit that is protected against inductive load (usually an H-bridge with diodes across each switch).

And lastly that last motor of yours (42BYGHW811 1.8° 1.25? bipolar) wants a constant-current PWM (chopper) bipolar driver, its not really designed to run from constant voltage source. For instance you could use something like the A4988 or L6208 chip to drive it from a high voltage supply (like 30V) - without this high voltage you'll never get it turning at high speeds since the back-EMF has to be overcome.