Bonnes nouvelles! Ça va être pas cher! :-)
Un simple diviseur de résistance ramènera le 12 V à 5 V qu'un digestible Arduino peut digérer. La tension de sortie peut être calculée comme suit:
VO UT= R 2R 1 + R 2VjeN
Les valeurs de résistance dans la plage de 10 kΩ constituent un bon choix. Si votre R2 est de 10 kΩ, alors R1 devrait être de 14 kΩ. Maintenant, 14 kΩ n'est pas une valeur standard, mais 15 kΩ l'est. Votre tension d’entrée sera de 4,8 V au lieu de 5 V, mais l’Arduino le considérera toujours comme un niveau élevé. Vous avez également un peu de marge au cas où le 12 V serait trop élevé. Même 18 kΩ vous donneront toujours une tension suffisamment élevée de 4,3 V, mais vous devrez alors commencer à penser à la valeur de 12 V un peu trop basse. La tension sera-t-elle toujours considérée comme élevée? Je resterais avec le 15 kΩ.
modifier
Vous parlez d'un environnement automobile et vous avez besoin d'une protection supplémentaire. 12 V de la voiture ne sont jamais tout à fait 12 V, mais la plupart du temps plus élevés, avec des pics de plusieurs volts supérieurs à la valeur nominale de 12 V. (La valeur nominale correspond en réalité à 12,9 V, à 2,15 V par cellule.) Vous pouvez placer un zener de 5 V une diode en parallèle avec R2, ce qui devrait couper toute tension supérieure aux 5 V du zener. Mais une tension zener varie avec le courant et, lorsque le courant d’entrée est faible, les résistances vous permettent de le couper à des tensions plus basses. Une meilleure solution serait d'avoir une diode Schottky entre l'entrée de l'Arduino et l'alimentation 5 V. Ensuite, toute tension d'entrée supérieure à 5,2 V rendra la diode Schottky conductrice et la tension d'entrée sera limitée à 5,2 V. Vous avez vraiment besoin d'une diode Schottky pour cela, une diode PN commune a un 0.
Mieux
la optocoupleur de Michael est une bonne alternative, mais un peu plus cher. Vous allez souvent utiliser un optocoupleur pour isoler l'entrée de la sortie, mais vous pouvez également l'utiliser pour protéger une entrée comme vous le souhaitez ici.
Comment ça marche: le courant d'entrée allume la DEL infrarouge interne, ce qui provoque un courant de sortie à travers le phototransistor. Le rapport entre le courant d'entrée et le courant de sortie est appelé CTR , pour le rapport de transfert actuel. Le CNY17 a un CTR minimum de 40%, ce qui signifie que vous avez besoin d’une entrée 10 mA pour une sortie 4 mA. Allons pour l'entrée 10 mA. Alors, R1 devrait être (12 V - 1,5 V) / 10 mA = 1 kΩ. La résistance de sortie devra provoquer une chute de 5 V à 4 mA, puis être de 5 V / 4 mA = 1250 Ω. Il vaut mieux avoir une valeur un peu plus élevée, la tension ne chutera pas de plus de 5 V de toute façon. Une puissance de 4,7 kΩ limitera le courant à environ 1 mA.
Vcc est l'alimentation 5 V de l'Arduino, Vout va à l'entrée de l'Arduino. Notez que l'entrée sera inversée: elle sera basse si le 12 V est présent, haute si ce n'est pas le cas. Si vous ne le souhaitez pas, vous pouvez permuter la position de la sortie du coupleur optique et celle de la résistance de rappel.
edit 2
Comment la solution d'optocoupleur ne résout-elle pas le problème de surtension? Le diviseur de résistance est ratiométrique: la tension de sortie est un rapport fixe de l'entrée. Si vous avez calculé 5 V out à 12 V in, alors 24 V in donnera 10 V out. Pas OK, d'où la diode de protection.
Dans le circuit d'optocoupleur, vous pouvez voir que le côté droit, qui se connecte à la broche d'entrée de l'Arduino, n'a pas de tension supérieure à 5 V. Si l'optocoupleur est activé, le transistor consomme du courant, j'ai utilisé 4 mA dans l'exemple ci-dessus. Une tension de 1,2 kΩ provoquera une chute de tension de 4,8 V, due à la loi d'Ohm (résistance multipliée par le courant = tension). La tension de sortie sera alors de 5 V (Vcc) - 4,8 V de part et d'autre de la résistance = 0,2 V, ce qui correspond à un niveau bas. Si le courant est plus faible, la chute de tension sera également plus faible et la tension de sortie augmentera. Un courant de 1 mA, par exemple, provoquera une chute de 1,2 V et la sortie sera de 5 V - 1,2 V = 3,8 V. Le courant minimal est de zéro. Ensuite, vous n'avez pas de tension à travers la résistance, et la sortie sera de 5 V. C'est le maximum, il y a
Et si la tension d'entrée devenait trop élevée? Vous connectez accidentellement une batterie 24 V au lieu de 12 V. Le courant de la DEL double alors, il passe de 10 mA à 20 mA. Le CTR 40% générera un courant de sortie de 8 mA au lieu du 4 mA calculé. 8 mA à travers la résistance de 1,2 kΩ correspondrait à une chute de 9,6 V. Mais à partir d'une alimentation en 5 V, ce serait négatif et c'est impossible. vous ne pouvez pas descendre plus bas que 0 V ici. Ainsi, alors que l'optocoupleur aimerait beaucoup tirer 8 mA, la résistance limitera cela. Le courant maximal le traversant est égal à 5 V au maximum. La sortie sera alors réellement à 0 V et le courant à 5 V / 1,2 kΩ = 4,2 mA. Ainsi, quelle que soit l'alimentation que vous connectez, le courant de sortie ne dépassera pas cette valeur et la tension restera comprise entre 0 V et 5 V. Aucune autre protection n'est requise.
Si vous vous attendez contre les surtensions , vous devrez vérifier si LED peut gérer l'augmentation du courant, mais le 20 mA du optocoupleur ne sera pas un problème pour la plupart des optocoupleurs (ils sont souvent évalués à 50 mA maximum), et d' ailleurs, qui est pour deux tension d'entrée, ce qui n'arrivera probablement pas IRL.