Je construis mon propre API qui doit accepter des entrées permanentes jusqu'à 30 V CC dans un STM32F avec des entrées 3,3 V.
L'entrée commutée devra fonctionner avec 8-30 V, mais 90% du temps, la tension d'entrée sera fixée à 12 V ou 24 V. Les entrées ne seront que des interrupteurs tels que des interrupteurs de fin de course, donc je ne me soucie pas de détecter entrées inférieures à 8 V ou entrées de capteurs, etc., je ne m'inquiète pas non plus de la vitesse car, de façon réaliste, le plus rapide que les commutateurs se déplaceront est toutes les 1 s; Je dois juste être sûr que mon microcontrôleur est protégé.
Je veux un circuit universel que je peux utiliser dans plusieurs produits / projets de types similaires, donc le nombre de composants, le coût et l'espace PCB doivent être au minimum, donc je ne veux pas vraiment utiliser des optocoupleurs.
Deux ingénieurs en électronique ont recommandé ce qui suit, mais je ne suis pas trop sûr de la meilleure façon:
Dois-je utiliser celui du haut ou celui du bas? Pourquoi?
la source
Réponses:
Il s'agit en fait d'un problème séculaire avec les automates et pas aussi simple que vos solutions prévues.
Le plus gros problème que vous ayez est qu'ayant également une grande variété de tensions logiques potentielles que vous devez pouvoir gérer, les niveaux logiques réels peuvent être beaucoup plus élevés que le rail 3,3 V que vous utilisez en interne. Certains capteurs et appareils ont des seuils logiques supérieurs à 5 V. Ainsi, le simple fait d'utiliser un circuit de coupure comme vous l'avez indiqué ne détectera pas le niveau bas de ces capteurs.
L'étape d'entrée des automates doit être beaucoup plus flexible.
Même si le niveau logique de bas niveau est acceptable, ces circuits souffrent chacun de problèmes différents.
Limitation Zener / TVS.
Ce circuit présente l'avantage que, pour une tension d'entrée connue, le zener peut être dimensionné pour ne jamais permettre à la tension de dépasser la tension du rail. Normalement, vous choisiriez un zener avec une tension inverse plus petite que le rail, mais supérieure au seuil logique de haut niveau.
Cependant, le zener passera une grande partie de sa vie à polarisation inverse, en tant que tel, vous payez une pénalité sous la forme d'un temps de récupération inverse lorsque le signal d'entrée diminue, ce qui retardera votre signal d'un peu.
Diode de limitation Over-Rail
L'utilisation de la diode jusqu'au rail présente le problème que la tension de sortie dépassera toujours Vcc, ne serait-ce que légèrement. Cependant, cela peut toujours être préjudiciable à l'entrée. De plus, dans ce cas, le temps de récupération inverse signifie que, pour les fronts d'entrée rapides, une tension élevée le fera très brièvement.
Donc
Alternatives
Opto-couplage.
Une méthode courante utilisée par les API consiste à utiliser des optocoupleurs.
simuler ce circuit - Schéma créé à l'aide de CircuitLab
Cette méthode vous offre l'avantage supplémentaire de l'isolement et de la séparation du sol. Le problème est que vous avez besoin d'une certaine forme de conditionnement du signal entre le capteur et l'entrée pour vous assurer que la LED est allumée au bon seuil et que la bonne quantité de courant est envoyée à travers la LED. Ce conditionnement pourrait être la simple résistance illustrée ci-dessus, ou un circuit complexe qui comprend un comparateur quelconque.
La vitesse de l'opto-coupleur est également un facteur limitant. Cependant, cette méthode est couramment utilisée car elle vous donne une flexibilité totale.
Conditionnement des entrées analogiques
Une autre méthode consiste à accepter le signal sous une forme analogique, à le comparer à une référence variable avec hystérésis et à générer le niveau logique de cette façon.
simuler ce circuit
De toute évidence, les composants, y compris le comparateur, doivent être choisis pour s'adapter aux tensions d'entrée maximales. Le circuit illustré est assez simple, il peut devenir beaucoup plus complexe avec des filtres, des régulateurs, une protection ESD etc.
Combinaison
Pour des raisons d'isolement, vous pouvez combiner ce qui précède et faire en sorte que le comparateur alimente un pilote à courant constant à la LED d'un optocoupleur.
Si je développais un produit, j'assemblerais tout cela sur un petit module enfichable qui pourrait être branché sur des prises de bord de carte sur une carte "mère", comme ils utilisent pour les cartes dans les PC. De cette façon, vous pouvez facilement les remplacer en cas de friture. Cette méthode vous permet également de mettre à disposition d'autres types d'entrée, par exemple une entrée à fibre optique.
la source
100k est beaucoup trop élevé. Il se déclencherait à partir de presque n'importe quel relais ou opération de commutation à proximité. Pas vraiment fiable pour un automate si vous me demandez.
Il existe en fait des normes et des réglementations pour les API . Comme vous voudriez que tous les fournisseurs d'automates aient un comportement similaire dans les installations, et ce serait bien si divers modèles pouvaient être connectés les uns aux autres sans problème.
Par exemple, l'entrée ne considère que ce un sur quand il enfonce au moins ~ 2 mA et il est au- dessus de 10V. (CEI 61131-2)
Vous ne pouvez pas obtenir cela précisément avec des passifs, c'est pourquoi il existe des pièces comme SN65HVS880.
Dans ma réponse précédente, j'ai donné un exemple schématique sur la façon dont vous pouvez essayer de vous rapprocher de ce comportement avec les passifs *.
Un simple 100K et un BAT54S ne seront pas fiables, je peux vous le dire par expérience.
réponse précédente
* déclencheur schmitt séparé non essentiel
la source
Les deux sont acceptables. Vous devrez vous assurer que la résistance est correctement dimensionnée afin que le courant d'entrée ne fasse pas chuter la tension d'entrée en dessous de V_IH, mais avec CMOS, cela est trivial car le courant d'entrée est si petit (100k est presque certainement bien)
Avec la seconde, la seule mise en garde est que vous devrez vous assurer que la charge totale sur 3,3 v n'est jamais inférieure à 30 V / 100 k (fois le nombre d'entrées que vous avez), sinon le rail 3,3 V pourrait être tiré jusqu'à un tension qui pourrait endommager les appareils qui s'y trouvent. Si vous mettez le micro en mode veille, il pourrait en tirer un peu.
L'autre mise en garde est que dans les deux cas, la résistance de 100 k agit avec la capacité d'entrée comme un filtre passe-bas, ce qui ralentit les entrées. S'il y a une capacité d'entrée de 10pF, ils auront un taux de basculement maximum d'environ 100 kHz et un retard d'environ 2 microsecondes.
la source