Schémas de câblage des unipolaires avec des FETs
C'est une commande du moteur en tension (je n'ai pas encore vu de réalisation avec une commande en courant).
Ce montage est un grand classique si l'on utilise des MosFets. Ce montage permet d'utiliser les moteurs qui doivent être commandés en tension car lorsqu'un transistor est passant, la tension d'alimentation se retrouve aux bornes de la bobine. En choissisant correctement le MosFet, la tension de déchet (aux bornes du transistor) est petite devant la tension du moteur et peut être ignorée.
R1 est une résistance permettant de limiter le courant lors d'un changement de niveau de l'arduino. A ce moment le MosFet se comporte comme un condensateur et le courant vaut donc 5V/R1. En partant d'un courant de 20mA, R1 prendrait la valeur de 250Ω (la valeur normalisée 220Ω convient). La valeur du courant maximal est sujet à discussions. R2 permet de bloquer le transistor lors de la mise sous tension, avant d'avoir eu le temps de définir la broche correspondante dans l'arduino à 0V. Une valeur de 1MΩ est un bon choix. Ma pratique consiste à observer que lors de la mise sous tension, la tension étant nulle au départ, la capacité grille/source maintient le potentiel bas suffisamment longtemps.
La diode D est une diode anti-retour qui est superflue avec certains MosFet qui ont déjà une diode en parallèle (comme par exemple IRL540).
Il est possible de remplacer le MosFet par un transistor bipolaire (un NPN) sous réserve que le gain de ce transistor permette d'avoir le courant moteur avec 20mA maximum comme courant dans la base. Il faut aussi penser que les darlingtons ont des tensions de déchets de l'ordre de 1 à 2V et que cela peut être gênant si le moteur est un 5V. Pour un moteur 5V 0,3A un transistor de petite puissance peut convenir, comme un 2N2222. Il faudra alors recalculer la résistance de base.