J'ai récemment construit des capteurs de courbure de fibre optique et je veux lire les valeurs que j'obtiens d'eux dans un ordinateur via un Arduino. Je mesure la lumière avec cette photodiode d' Industrial Fibre Optics . Actuellement, je donne la LED à l'autre extrémité ainsi que la photodiode 2.2V. Ma question a à voir avec le fait que les fluctuations de tension mesurées par un multimètre sur la photodiode sont linéaires, mais plutôt petites car la fibre est déformée, même assez radicalement. Avec la fibre droite, en fonction de la fibre (il est difficile de les évaluer de manière identique), la tension oscille autour de 1,92 V, par exemple, et en se pliant, elle montera, par exemple, à 1,93-1,94 V. Je ne suis pas inquiet d'obtenir des tensions identiques car je peux évoluer dans le logiciel.
Ce qui m'inquiète, c'est de perdre la résolution lors de la réalisation d'A / D avec l'Arduino. Si mes fluctuations de tension sont de l'ordre de 10 mV, l'A / D 10 bits de l'Arduino ne quantifiera-t-il pas l'enfer, même si j'augmente la tension jusqu'à 5 V avec un diviseur de tension? Ce que je recherche, c'est un scaler analogique. Comment puis-je étendre cette plage entre 1,92 et 1,94 pour couvrir toute la plage, de 0V à 5V, afin de pouvoir profiter de la gamme complète de l'Arduino A / D?
J'ai l'impression que cela doit être une opération courante en électronique, mais je ne l'ai jamais étudiée formellement, donc beaucoup de choses se perdent pour moi.
(Vous vous demandez peut-être, comme le faisait David, "pourquoi utilisez-vous la fibre optique pour la détection des courbures? Pourquoi vous attendriez-vous à un changement de tension lorsque la fibre est pliée?" . Cela laisse la lumière se répandre. Lorsque le câble est plié loin de la rainure, encore plus de lumière s'échappe du câble, provoquant une chute de tension dans le récepteur, et vice versa.)
Réponses:
Donc, si je comprends bien, vous voulez pouvoir "lire" une variation de 10 mV au-dessus d'un signal de 1,9V?
Si tel est le cas, je proposerais deux étapes distinctes. Le premier sera un amplificateur à photodiode (la page 9 est le plus standard des circuits). Cela aidera à convertir le courant de votre photodiode en tension.
Le deuxième étage sera un amplificateur d'instrumentation, comme la famille INA de Texas Instruments (le meilleur mais aussi peut être cher). Cela aidera à supprimer votre signal de "mode commun", qui dans ce cas est le 1,9 V. Vous pouvez également ajouter du gain à l'ampli d'instrumentation ou alternativement ajouter un ampli op simple dans une configuration non inverseuse à la fin pour aider à gagner votre signal jusqu'à 5 V.
Je ne dis pas que ce sera parfait, mais je pense que c'est un bon début.
Enfin, j'aime l'idée de David ci-dessus concernant les pinces, même si celles-ci peuvent provoquer des erreurs de mesure au niveau du convertisseur A / N. Ce qui est plus important cependant, c'est que si vous pouvez le balancer, essayez un meilleur ampli op que le 741. Ceux-ci sont courants mais les spécifications sont terribles. Les 3 ou 4 mV de tension de décalage aux bornes d'entrée pourraient vraiment gâcher un petit signal comme vous essayez de mesurer.
~ Chris Gammell
la source
Le conditionnement du signal dans ce sens est extrêmement courant. Vous voulez utiliser un amplificateur afin de faire cette plage de 10 mV (par exemple) toute la plage 0-5 V de l'arduino. Cela peut être fait en utilisant des amplificateurs opérationnels tels que le LM741. Vous voudrez aussi probablement utiliser une "pince de tension" (ex: deux diodes zener) sur la sortie de votre conditionneur de signal / entrée dans l'ADC pour vous assurer que la valeur ne dépasse pas 5V. Si vous regardez en ligne les fiches techniques des amplis opérationnels et / ou les circuits de conditionnement du signal, vous devriez trouver des guides pour savoir exactement ce que vous recherchez.
la source
Nous vous suggérons de regarder la combinaison d'un PGA différentiel (amplificateur à gain programmable) et d'un DAC, avec la sortie du capteur allant à l'entrée "+" et le DAC allant à l'entrée "-". (Ou quelque chose d'intégré qui vous offre une fonctionnalité équivalente.) Fondamentalement, regardez le signal avec un faible gain, déterminez quel est son décalage, mettez cette tension sur le DAC et augmentez le gain.
PGA308 de TI semble être une bonne solution.
Si vous voulez une solution moins chère, utilisez un amplificateur différentiel à gain fixe (le standard à 4 résistances + ampli opérationnel) + un DAC 8 bits stable et silencieux (les caractéristiques de stabilité / bruit sont plus importantes que la précision), encore une fois la sortie du capteur sur l'entrée "+" de l'ampli diff et la sortie DAC sur l'entrée "-".
Exercice pour le lecteur: montrez que vous pouvez sortir la sortie de l'ampli diff de la saturation et dans une plage linéaire en utilisant une technique de recherche binaire avec le DAC et en vous assurant que le gain n'est pas supérieur à G1 = la tension d'entrée ADC pleine échelle, divisé par la somme de la taille nominale du DAC et de sa DNL (non-linéarité différentielle). J'utiliserais probablement le plus petit de (G1 / 2) et G2, où G2 = la tension d'entrée ADC pleine échelle divisée par la plage de tension de sortie du capteur qui vous intéresse.
la source
L'utilisation de la fibre optique comme capteur de courbure peut être un mauvais choix, n'est-ce pas tout l'intérêt de la fibre optique pour vous permettre facilement de courber la lumière dans les coins avec une perte minimale?
la source
Vous avez besoin de deux choses: utiliser une entrée différentielle pour comparer avec une norme 1.9v (ou proche d'elle), et un amplificateur pour augmenter la résolution de cette différence.
Pour les meilleurs résultats, vous devez utiliser des amplis d'instrumentation externes de haute qualité ou des amplis opérationnels. Mais vous pouvez essayer d'utiliser les fonctionnalités intégrées au microcontrôleur. L'Arduino Mega (puce ATMega2560) et l'Arduino Leonardo incluent tous deux l'option d'entrées amplifiées différentielles vers l'ADC directement sur la puce. (L'Uno n'a pas ça). Un ATMega2560 pourrait faire plusieurs canaux (multiplexés) d'ADC différentiel amplifié pour plusieurs capteurs - lisez la fiche technique pour voir quelles combinaisons de broches sont possibles. Il a une option d'amplification 200x, qui mettrait la résolution complète de 1024 pas sur 25 mv. Il vous suffit de positionner cette fenêtre de 25 mV là où vous en avez besoin!
Cela peut ou non être suffisamment silencieux pour vos besoins - ce n'est pas aussi de haute qualité que vous pourriez construire en externe pour plus de $$.
La partie la plus difficile peut être d'obtenir une référence 1.9v stable et précise à comparer.
la source