Branchement capteur de proximité famille PNP (NO)

Bonjour à tous, j'aimerais utiliser un capteur à induction de type PNP NO avec 3 fils (VCC,GND,OUTPUT). Dans les différentes datasheets visibles chez les constructeurs, je ne vois pas trop d'indications sur le schéma de branchement à un µC; je fais donc fonctionner mes méninges.

Pour son comportement, le capteur va fonctionner comme un interrupteur (normalement ouvert quand V_out = 0 et fermé lorsque V_out différent de 0. Comme je fais fonctionner sur des plages de tensions de 10 à 50VDC, je sais que je vais devoir utiliser un pont diviseur pour assurer au niveau de ma pin d'input une tension V_in = VDD_µC + Vd (Vd la tension de la diode du micro).
Je dois également limiter le courant (~10-20mA) pour plusieurs 100 de mA prises par le capteur. Si on compte 200mA avant et 10mA après, je veux passer de par exemple 24VDC à 3.3V donc (24-3.3)/0.01 = 2070 Ohms .

Avec ça, j'ai 2 problèmes :

  • Tension variable et courant variable également (même de très peu).
  • Imprécision de la valeur lue en entrée du µC donc difficile d'exploiter.

J'ai vu ce type de schéma sur internet :

Je me dis que ce type de fonctionnement avec des mos pourrait fonctionner avec mon PNP mais je ne vois pas trop l'intérêt du 2nd transistor. Voici mon circuit :

Je souhaite tirer ma grill au GND pour stabiliser l'état de sortie du capteur. Cependant, pour dimensionner R1 je bloque un peu, dois-je utiliser la datasheet du transistor et établir la loi d'Ohm entre Vgs et Ig_max?

Si mon design est complètement faux et que je me gourre complètement, auriez-vous des conseils à me suggérer?

Merci à vous et bonne journée

Bonjour, et bienvenu sur ce forum,

Vous êtes parti dans des élucubrations dignes de quelqu'un qui fait marcher son cerveau et qui débute un peu en électronique (prenez le comme un compliment).

Prenez la sortie de votre capteur PNP comme un transistor émeteur à la masse et collecteur ouvert.

C'est à dire identique au premier étage de votre montage électronique (votre schéma trouvé sur Internet) SANS la résistance de PULLUP (R3 sur le schéma).

J'avais glissé quelque part sur ce forum un pdf avec le principe NPN ou PNP, je le recherche et le "pose" ici.

A+

NPN_PNP_240313.pdf (75,0 Ko)

pontDiviseurPNP_240313.pdf (32,9 Ko)

PS: R pullup_interne sur Arduino se déclare avec INPUT_PULLUP.

Comme indiqué sur le pdf, il vaut mieux parfois mettre un PULL-UP externe pour augmenter le courant tiré sur le capteur et s'immuniser du bruit.

Merci pour votre réponse rapide, en effet je début, je m'intéresse à plein de choses mais pas en ayant toujours les meilleures idées^^

J'épluche vos documents dans la journée, je reviens vers vous si j'ai des questions!

Merci encore.

Euh, c'est pas plutôt le contraire.
Les sorties PNP c'est collecteur à l'alimentation du capteur et émetteur ouvert.
Donc en sortie on récupère:

  • 0 si le capteur est inactif.
  • + alim capteur si le capteur est actif.

Donc un simple pont diviseur entre la sortie capteur et le GND commun au capteur et à l'arduino devrait faire l'affaire.
Une alternative au pont diviseur pourrait être un opto-coupleur. L'avantage c'est une complète isolation entre le capteur et l'arduino. Ce qui permet de travailler avec des domaines d'alimentation complètement différents ayant des masses distinctes.

Oups, vous n'avez pas corrigé?
Je voulais dire NPN émetteur à la masse, collecteur ouvert).

Oui mais là on parle d'un capteur PNP

C'est que j'ai mis dans mon schéma, en pdf, le pont diviseur pour PNP.

@jef59 Merci pour ces documents, ils sont très clairs.
J'ai néanmoins une question : Pourquoi sur le montage trouvé sur internet (si vous voulez le lien il est ici, la personne s'est embêtée à rajouter un nmos en sortie du capteur PNP? A part rajouter du matériel, on a besoin d'une 2ème source d'alimentation. Est-ce une question de bruit et de précision selon vous?

Merci encore pour vos documents!

PS : J'ai fais une application théorique de vos formules. Pour Iout = 16mA (valeur correcte pour µC) et Vout de 3V, j'ai R1 = 187Ohms. Pour R2 je trouve, pour VCC = 24V (pour un VCC >> 5V), j'ai R2 = 1313 Ohms. Pour filtrer le tout en entrée de µC, la valeur de 10nF est une valeur usuelle? Je me doute que je peux déterminer la valeur par des calculs de filtre RC mais bon..

Soit j'ai mal lu votre lien, soit ce n'est pas le bon, il n'y a pas de n MOS sur les schémas en lien.

Si vous parlez de ce schéma

Vous remarquerez que la personne écrit:

"3/ During simulation in Proteus ISIS, i simulated the inductive proximity sensor as a switch. the circuit didn't work, and i get always 0V at the uC input, what could be wrong with my drawing?

A la rigueur, comme cela ça aurait marché v

Je corrige: R10 = 1 OU 2K (en tout cas pas 100k)

Pourquoi 2 transistors?
Parce que le 1er inverse 1 fois, 1 devient 0, et le deuxième inverse 1 deuxième fois 0 redevient 1.

Je n'ai pas répondu à

Pour passer de 24V à 5V, je suis surpris de vos valeurs!

A vu de nez se serait plutôt de l'ordre 5k 20k ou 1k 4k...

Pour 10nF souvent on voit 100nF.

Pardon j'ai confondu NMOS et NPN!!

C'est un simple bipolaire, pas un MOS, c'est une techno différente, je n'avais pas compris votre remarque dans ce sens.

Exemples:

A vu de nez se serait plutôt de l'ordre 5k 20k ou 1k 4k...

par rapport à la valeur Imax que l'arduino peut supporter en mode input? je croyais qu'on était sur du 20mA maximum... je me suis trompé effectivement il me faut des dimensions plus importantes.

Non, vous confondez courant max d'une SORTIE Arduino.

En ENTREE, considérez I entrée Arduino = 0

Le courant dans le pont diviseur est celui fournit par le capteur PNP qui peut aisément dépasser 20mA.

Il y a aussi la méthode conseillée par @fdufnews

En ENTREE, considérez I entrée Arduino = 0

Oui je m'étais trompé, je dois vraiment limiter le courant au maximum, mais pour des valeurs en courant bien supérieures à 20mA, je dois peut-être envisager R2 supérieure à 20k non? Et éviter également d'après votre schéma fournit en début de conversation R1 trop proche de la pull-up interne.

Je n'ai jamais essayé d'optocoupleur, pourquoi pas m'y pencher! Je vais regarder comment ils fonctionnent

Le pont diviseur, c'est pour cela montage PNP

Screenshot_20240402-160615~2
Quand le transistor du capteur est passant, le courant qu'il débite traverse R1+R2.

I = V+ / (R1 +R2), pour augmenter I, il faut DIMINUER R.

La tension en entré Arduino sera Ve = R2 X I = V+ x (R2 / (R1 + R2) avec V+ tension d'alimentation du capteur.

Ce n'est pas plus compliqué que cela, il n'y a pas de PULLUP Internet si vous déclarez cette entrée en INPUT (contrairement à INPUT_PULLUP).

Je ne suis pas dans la tête de l'auteur de ce schéma.
Ce que je vois, c'est qu'un étage à émetteur commun (NPN) ou source commune (XYZ_Fet) est un montage qui inverse.
Quand il y a une tension sur la base d'un NPN, un courant de base circule, ce qui provoque un courant dans le collecteur et donc la sortie du transistor se retrouve à 0 V.
Pour un XYZ_Fet c'est la tension sur la source qui compte, le résultat final est le même.

En mathématique : moins par moins = plus.
En électronique : inverser une inversion annule l'inversion.

Pourquoi l'auteur a voulu annuler physiquement l'inversion apportée par le premier transitor au lieu de le faire en programmation, il faut le lui demander.

Note : j'ai volontairement écrit XYZ_Fet parce qu'il existe plusieurs "nuances" de transistor à effet de champ (FET = Field Effect Transistor).

Parler de sortie "PNP" me choque pour la confusion apportée : un PNP c'est un transistor bipolaire.
J'aurais préféré savoir si la sortie dite "PNP" est une sortie électronique ou un simple contact.

Si c'est un simple contact, un pont avec deux résistances suffit, sauf s'il y a une raison que je n'ai pas vu, je ne vois pas l'utilité d'ajouter des transistors.

Bonsoir @68tjs

Dans le monde du capteur, les sorties NPN ou PNP, à 3 fils, sont typiquement ainsi (pou le PNP)

C'est +/-, vu par 1 électronicien, un abus de language, certes.

Donc, comme dit plus au dessus, 1 pont diviseur suffit pour 1 PNP.

Et toujours comme indiqué plus au dessus, celui qui à branché ce montage sur son capteur PNP (sur le collecteur ouvert du PNP) s'étonne qu'il ne marche pas ...

" During simulation in Proteus ISIS, i simulated the inductive proximity sensor as a switch. the circuit didn't work, and i get always 0V at the uC input, what could be wrong with my drawing?"

Partant de là, comment expliquer comment marche 1 montage qui ne marche pas?

Si ce n'est de dire:
Il ne peut pas marcher.

PS, SORTIES NPN OU PNP =
9k=(2)
Se sont bien des transistors!

Il y a des datasheets qui existent, tu les as lues, mais tu ne nous donnes pas la référence du capteur.

Admettons que c'est un interrupteur sec, mais rien n'est sûr.
C'est sûr seulement quand c'est écrit.

Désolé, je n'ai rien compris.

Pour calculer un pont il y a plus simple que la formule que l'on voit partout et surtout plus près du matériel.

  1. je définis le courant qui passera dans le pont. Cette valeur fixera la résistance totale du pont (R1 + R2).
    Par exemple, si Ipont = 1 mA et V = 24 V, la résistance totale du pont sera 24 kohms.
  2. A partir de la tension désirée en sortie de pont, je calcule la résistance R1 (entre masse et point milieu du pont.
    Si la tension désirée est 3 V, comme le courant Ipont a été choisi à 1 mA,
    R1 = 3 V/1 mA = 3 kohms
  3. La deuxième résistance est simple à calculer c'est le complément à 24 kohms.
    R2 = 24 - 3 = 21 kohms
  4. On choisi les valeurs normalisée les plus proches et on vérifie avec ces valeurs normalisées.

Important : la charge du pont, c'est à dire le circuit suivant se retrouve en parallèle avec R1.
La charge du pont doit être nettement supérieure à 10 fois R1 (erreur de 10 %)
C'est le cas si la charge est un circuit électronique comme une entrée de micro qui fait plusieurs megohms.

Tension variable et courant variable
La loi d'Ohm s'applique U=RI, sauf dans les circuits non linéaire comme une diode.
Je ne comprends pas mieux qu'au début de ma réponse.

Imprécision de la valeur lue en entrée du µC
Il faut expliquer : tension non stable ? bruit de mesure ?
Où alors la sortie du capteur n'est pas un contact sec ?

Justement où est la description de ton matériel ?
Tu poses des questions sans donner de renseignement.

J'ai beau interroger ma copine :

boule_de_cristal

Elle non plus ne voit rien.

Ce n'est pas possible de travailler dans ces conditions.

La charge c'est le courant, si vous augmentez R, vous diminuez I, je met ma main à couper qu'un débutant comprendra "augmenter la charge = augmenter R"...

Bon, tout ça c'est aussi écrit dans mon pdf, c'est pas grave, répetter c'est la base de l'enseignement me disait un vieux prof.