Le support Yoctopuce reçoit des temps en temps de questions de clients ne sachant pas trop quoi faire des trois fils sortant d'un capteur PNP ou NPN. Cette semaine on vous explique comment fonctionnent ces sorties NPN et PNP, comment les connecter et avec quel modules.
Les interfaces NPN et PNP
Ce type de sortie NPN ou PNP est très répandu dans le monde industriel. C'est par exemple très utilisé dans les capteurs de proximité, mais on peut aussi en trouver dans des détecteurs plus exotiques comme des détecteurs de bulles. Ces sorties fournissent une information binaire (ON/OFF), et non pas une valeur analogique. On les trouvera donc dans des détecteurs plutôt que des instruments de mesure.
Quelques capteurs de proximité équipés de sorties NPN ou PNP
Ces sorties ont trois fils, dont les couleurs sont standards bien que parfaitement contre-intuitives:
- Brun: Alimentation, généralement 12 à 24V
- Bleu: Masse
- Noir: Signal
PNP ou NPN, il y a toujours ces trois fils bleu, noir et brun
Le fonctionnement de ce type sortie est relativement simple: le capteur agit comme un bête interrupteur.
Fonctionnement des sorties PNP
Lorsque qu'un capteur avec une sortie PNP est activé il met en contact le fil du signal avec l'alimentation. La tension sur le fil de signal passe donc à la valeur de la tension d'alimentation. Ça a l'avantage d'être très simple, mais on ne peut pas vraiment choisir la tension de sortie.
Fonctionnement d'une sortie PNP
Fonctionnement des sorties NPN
Les sorties NPN fonctionnent dans l'autre sens. Lorsque le capteur est actif, il met en contact
le fil de sortie avec la masse. Ce qui veut dire qu'il n'injecte pas de courant dans le fil de sortie. Par conséquent, pour que le changement puisse être détecté, il faut que quelqu'un se charge de mettre de la tension sur le fil. C'est le rôle d'un Pull-up.
Fonctionnement d'une sortie NPN
Un pull-up consiste simplement à connecter une ligne de signal à une tension quelconque par l'intermédiaire d'une résistance. Dans notre cas, lorsque le capteur est repos, la ligne de signal est à la tension du pull-up et lorsque la capteur est actif, la tension passe à zéro. Attention, la résistance est obligatoire. Si vous branchez directement la ligne de signal à la source de tension, il va y avoir un court circuit dès que le capteur va mettre en commun la ligne de signal et la masse. La valeur typique pour une résistance de pull-up est 4.7kΩ. Dans le cas des modules Yoctopuce, vous n'aurez pas besoin d'ajouter une résistance externe: les pull-up sont intégrés dans les modules.
Le principe du pull-up
L'avantage des sorties NPN est la possibilité de pouvoir choisir une tension de signal arbitraire. Notez qu'une sortie NPN fonctionne à l'inverse d'une sortie PNP: le signal passe à zéro quand le capteur est actif.
Utilisation avec des modules Yoctopuce
Il y a essentiellement trois types de produits Yoctopuce qui peuvent être utilisés pour interpréter facilement le signal d'une sortie NPN ou PNP et l'exploiter par USB, il s'agit du Yocto-IO, du Yocto-PWM-Rx et du Yocto-Knob.
Le Yocto-IO, le Yocto-PWM-Rx et le Yocto-Knob
Le Yocto-IO
Le Yocto-IO et son grand frère le Yocto-Maxi-IO-V2 sont les interfaces idéales pour lire une sortie PNP ou NPN. Cependant, ces modules n'étant pas capables de fournir plus de 5V, vous aurez probablement besoin d'une alimentation externe pour alimenter votre capteur.
Tout ce que vous devez faire est:
- Configurer le Yocto-IO en alimentation externe
- Connecter la masse (-) de l'alimentation externe et le fil bleu du capteur sur la masse du module
- Connecter le (+) de l'alimentation externe et le fil brun du capteur sur l'entrée external Power (pwr)
- Connecter le fil noir sur le canal de votre choix
- Configurer le canal correspondant en entrée (input)
- Si vous utilisez un capteur NPN, vous devez aussi configurer l'entrée correspondante en mode "open drain" afin d'activer le pull-up interne. A l'inverse, si vous utilisez un capteur PNP, désactivez l'open drain.
Connexion à un Yocto-IO
Le Yocto-PWM-Rx
Le Yocto-PWM-Rx est aussi capable de lire une sortie NPN ou PNP. Il mesure un duty-cycle de 0% quand l'entrée est à zéro et un duty-cycle a 100% quand l'entrée est à un. Il dispose même d'un compteur d'impulsions qui permet de compter avec précision le nombre de transitions qui ont eu lieu en un temps donné. Il est capable de compter plusieurs dizaines de milliers de transitions par seconde. En revanche, son temps de réaction pour détecter un changement de duty-cycle de 0 à 100%, et inversement, est relativement long, de l'ordre d'une seconde. Pour pouvez donc l'utiliser pour compter des objets qui passent, même très vite, devant un capteur, mais pas pour savoir exactement quand un objet est devant le capteur. Comme pour le Yocto-IO, vous aurez besoin d'une alimentation externe pour votre capteur.
Capteur NPN:
Pour interfacer un capteur NPN avec un Yocto-PWM-Rx, il vous faut:
- Connecter la masse (-) de l'alimentation externe et le fil bleu du capteur sur la masse du module
- Connecter le (+) de l'alimentation externe et le fil brun du capteur ensemble
- Connecter le fil noir sur le canal de votre choix et sur l'entrée pull-up (PU) correspondante
Connexion d'une sortie NPN à un Yocto-PWM-Rx
Capteur PNP:
Pour interfacer un capteur PNP avec un Yocto-PWM-Rx, il vous faut:
- Connecter la masse (-) de l'alimentation externe et le fil bleu du capteur sur la masse du module
- Connecter le (+) de l'alimentation externe et le fil brun du capteur ensemble
- Connecter le fil noir sur le canal de votre choix
Connexion d'une sortie PNP à un Yocto-PWM-Rx
Le Yocto-Knob
Le Yocto-Knob est une solution bon marché, par contre il marchera avec les sorties NPN mais pas avec les PNP. Là aussi, vous aurez besoin d'une alimentation externe. Pour connecter un capteur NPN à un Yocto-Knob il vous faut:
- Connecter la masse (-) de l'alimentation externe et le fil bleu du capteur sur la masse du module
- Connecter le (+) de l'alimentation externe et le fil brun du capteur ensemble
- Connecter le fil noir sur le canal de votre choix
Connexion d'une sortie NPN à un Yocto-Knob
Attention, le Yocto-Knob est beaucoup moins cher que le Yocto-PWM-Rx ou encore le Yocto-IO et il y a une raison pour cela: Le Yocto-Knob n'est pas un module isolé. Vous devrez donc vous assurer que l'alimentation externe du senseur et celle du Yocto-Knob peuvent partager la même masse et qu'il sont alimentés depuis la même phase. Sinon vous risquez fort de griller quelques éléments.
Conclusion
Pour conclure voici un petit tableau de comparaison des quatre modules utilisables pour interfacer des capteurs avec sortie NPN ou PNP.
Yocto-IO | Yocto-maxi-IO-V2 | Yocto-PWM-rx | Yocto-Knob | |
---|---|---|---|---|
PNP | ✔ | ✔ | ✔ | - |
NPN | ✔ | ✔ | ✔ | ✔ |
Canaux | 4 | 8 | 2 | 5 |
Latence <1s | ✔ | ✔ | - | ✔ |
Compteurs | - | - | ✔ | ✔ |
Isolation | ✔ | ✔ | ✔ | - |
Voilà, vous savez tout. Vous pouvez maintenant acheter des capteurs avec sortie NPN ou PNP sans craindre de ne pouvoir les interfacer avec des modules Yoctopuce.