Réponses:
Cela ne devrait pas être trop difficile:
Vcc est l'alimentation Arduino +5 V, Vout va à une broche d'E / S.
Un paramètre important pour un optocoupleur est son CTR (Current Transfer Ratio), comparable au HFE pour un transistor. Mais lorsque le HFE est souvent autour de 100 pour un transistor à usage général, il est souvent inférieur à 1 pour un optocoupleur, et donc souvent exprimé en pourcentage, comme CTR = 50%, ce qui signifie que vous obtenez 5 mA pour 10 mA.
Vous semblez avoir suffisamment de courant disponible, mais nous n'en aurons pas besoin. Le CNY17-2 a un CTR de 22% min à une entrée de 1 mA, nous pouvons donc obtenir une sortie de 0,22 mA. L'Arduino fonctionne à 5 V, alors la résistance de pull-up doit être au minimum de 22,7 kΩ pour permettre au transistor de tirer la sortie vers le bas. Vous pouvez même aller plus haut, mais vous devrez alors surveiller le courant de fuite du transistor. Le CNY17-2 a un faible 50 nA pour cela, donc cela ne causera aucun problème. Il y a aussi une fuite maximale de 1 µA dans le contrôleur AVR, mais même cela ne causera qu'une chute de 100 mV avec le transistor bloqué, donc c'est sûr.
Les 100 kΩ signifieraient également que vous n'avez besoin que d'un courant de sortie de 50 µA pour abaisser la sortie. À une entrée de 1 mA, nous avions une sortie de 220 µA, donc tout est pêche. Pour une entrée de 35 V et une chute de tension maximale à travers la LED de 1,65 VR1 doit être au maximum de 33 kΩ.
Vous devrez vérifier quel sera le courant à la tension d'entrée minimale avec cette valeur de résistance. Par exemple, si la tension d'entrée peut être aussi faible que 12 V, vous avez besoin d'un maximum de 10 kΩ.
La diode anti-parallèle protège contre une connexion inversée et peut être n'importe quelle diode, comme une 1N4148.
Remarque: les optocoupleurs de sortie Darlington comme le 4N32 d'Oli ont un CTR beaucoup plus élevé, mais il semble que nous pouvons nous en passer, et les appareils Darlington sont plus chers: le 4N32 est deux fois plus cher que le CNY17.
Si vous google "MCU pin optoisolator" ou similaire, vous obtiendrez de nombreuses pages avec des informations sur la façon de procéder.
Un circuit typique:
L'optoisolateur peut être quelque chose de similaire à celui illustré. Si vous connaissez la tension que vous souhaitez lire et regardez dans la fiche technique le courant de fonctionnement typique de la diode d'entrée, vous pouvez dimensionner R1 de manière appropriée.
Par exemple, disons que le Vf pour la diode est de 1,2 V, votre tension est de 35 V et que vous souhaitez avoir un courant de diode de 10 mA:
(35V - 1,2V) / 0,010A = 3380 Ohms.
D1 protège la diode d'entrée opto contre les tensions inverses, car elles ne supportent généralement que quelques volts inverses avant de mourir. Si votre source 35V est susceptible de produire un pic négatif impair (par exemple AC / inductif), alors c'est une bonne idée - même si ce n'est pas le cas, cela ne fait pas de mal de l'avoir là juste au cas où.
Côté transistor, 1k à 100k suffira dans la plupart des cas.