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.
VIH
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
VOL
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.