Alimentation d'un moteur pas à pas

Bonjour,

Je dois piloter un moteur pas à pas à l'aide d'une carte Arduino, avec le but de pouvoir modifier sa vitesse très précisément avec des potentiomètres. En faisant des recherches, je suis tombé sur ce tuto qui conseille d'utiliser un ULN2003A pour relier la carte au moteur (c'est un moteur unipolaire).

Voila la datasheet du moteur : http://www.tedmotors.com/Archive/_eng/DST86.pdf (C'est le DST86EL61A)
Et du ULN2003A : http://www.ti.com/lit/ds/symlink/uln2003a.pdf

Problème, je dois pouvoir faire tourner le moteur jusqu'à 60 tr/min, mais au delà d'environ 10 tr/min, il se met à vibrer et arrête de tourner.

Pour moi, ce problème vient soit de ma façon d'alimenter le moteur, soit de l'ULN2003A qui ne serait pas capable de fournir assez de puissance (ou même surement les deux ^^)

Donc premièrement, je n'ai pas très bien saisi comment brancher l'alimentation : de ce que j'ai compris, il faut une alimentation 5V pour la carte Arduino (USB ou autre) et une alimentation externe de 7 à 12V branché à l'ULN2003A et au moteur car ils ont besoin de beaucoup plus de courant (j'ai suivi ce montage).

Mais cette alimentation externe, on ne doit pas du tout la relier à l'Arduino ? Faut-il mettre une résistance quelque part pour limiter le courant ? (J'utilise un alim délivrant du 9V et branché au secteur)
Car quand j'utilise une alim externe, de 1 ça ne fonctionne pas, et de 2 l'ULN2003A à parfois tendance à chauffer très vite (j'en ai griller un sur les deux que j'ai...).

Et deuxièmement, je pense que j'utilise un plus gros moteur que la majorité des gens, qu'il a besoin de plus de courant, et que l'ULN2003A qui conviennent a d'autres personnes n'est pas utile pour moi. De ce que j'ai compris, le moteur pour fonctionner au max à besoin de 2A, mais l'ULN2003A ne fournit que 500mA en sortie. Devrais-je changer de composant ? Opter pour un shield comme celui-ci ? Mais sera t-il suffisant ? (Ils parlent d'une alimentation de 1,2A...) Ou bien faut-il encore autre chose ?

Voila, désolé pour le pavé, si vous avez besoin de plus d'info, n'hésitez pas, et merci pour toute éventuelle aide !