Implémentation d'I2C en analogique

8

Comment puis-je implémenter (ou il y a peut-être un circuit intégré qui le fait déjà) une carte dont l'entrée serait I2C et la sortie serait une tension analogique (0V - 5V)?

Finalement, je voudrais en connecter quelques-unes aux broches IO d'un arduino créant efficacement des sorties numériques à analogiques.

mjh2007
la source

Réponses:

11

Considérez le Microchip TC1321, c'est un convertisseur numérique-analogique (DAC) I2C avec 10 bits de résolution (4,88 mV / pas), disponible en SOIC8 (vous aurez besoin d'une carte adaptateur facile à souder [par exemple, sparkfun ou futurlec ) et fonctionne à partir de 5 volts. Si vous êtes d'accord avec seulement 8 bits (19,5 mV / pas), pensez au TC1320 .

Les deux puces sont disponibles auprès de Mouser ou Microchip Direct pour environ 2 $.

Si vous pouvez utiliser SPI au lieu de I2C, vos options sont plus faciles, les MCP4821 et MCP4822 sont des puces DAC SPI simples et doubles qui viennent dans de jolis packages PDIP8. Encore une fois, ils coûtent environ 2 $ par rapport aux endroits habituels (mouser, digikey, microchip direct, farnell).

flairé
la source
Pourquoi ne pas mettre les URL réelles en dessous, le texte principal dans le style des notes de bas de page?
Amos
@Amos, car le formateur fait un bon travail de reconnaissance des URL dans de nombreux formats, et le filtre "nouvel utilisateur" frappe sur le nombre (liens)> 1, quelle que soit leur mise en forme. J'ai perdu une réponse détaillée le premier jour pour la même raison (je l'ai postée et je n'ai pas vu le message d'erreur).
Craig Trader
D'accord, je ne m'étais pas rendu compte.
Amos
C'est un convertisseur numérique-analogique, pas analogique-numérique.
endolith
Et vous devriez pouvoir modifier votre message et ajouter les liens maintenant que vous avez une certaine réputation.
endolith
7

Selon ce que vous conduisez, si vous avez un Arduino, vous avez déjà trois à six sorties analogiques, car vous pouvez utiliser la fonction AnalogWrite pour définir le rapport cyclique des broches PWM. La fréquence est d'environ 490 Hz, plus que suffisante pour les LED (encore une fois, cela dépend de votre application). Vous pouvez définir la valeur de 0 à 255, vous donnant une résolution de (5v / 256 =) .020V.

Vous devez déterminer si 490 Hz est un taux suffisant, mais PWM est utilisé pour simuler la tension analogique pour de nombreuses applications, et il peut s'adapter à la vôtre sans pièces ni programmation supplémentaires.

Vous pouvez également envisager d'utiliser un filtre (réseau de condensateurs-résistances) pour lisser l'onde carrée. Cela vous donnera plus de latitude dans les applications que vous pouvez contrôler, et les passifs sont bon marché, mais selon votre application, cela peut même ne pas être nécessaire.

http://www.arduino.cc/en/Reference/AnalogWrite

Lou
la source
3

Juste pour que vous le sachiez, un AVR (la puce utilisée dans un Arduino) peut déjà produire des tensions `` analogiques '' en utilisant PWM + un condensateur pour lisser la forme d'onde (le condensateur n'est même pas nécessaire dans certains cas). Ce n'est pas aussi haute résolution qu'une puce DAC dédiée, mais elle est assez bonne pour de nombreux besoins.

davr
la source
1

Voici une entrée Wikipedia sur les potentiomètres numériques. Ces pots numériques peuvent servir de sortie analogique sur l'arduino. Il agirait comme un potentiomètre régulier balayant toutes les tensions de 0 à 5 V via des commandes série (d'une sorte). Si vous ne deviez pas avoir I2C, vous pouvez utiliser ce pot numérique de Parralax ou cette puce de Jameco. Les seules puces I2C que j'ai vues sont toutes montées en surface au lieu du trou traversant, ce qui les rend plus difficiles à travailler avec et. Voici le lien vers tous les potentiomètres numériques I2C de Jameco. J'espère que cela a été utile et bonne chance!

Hristos
la source
2
Les pots numériques sont généralement utilisés pour régler le gain ou l'atténuation d'un circuit externe en quelques étapes discrètes (256). Pour obtenir une tension continue, vous devez le connecter à une source de tension, mais ce n'est vraiment pas l'application à laquelle ils sont destinés. Un DAC, en revanche, produit directement une tension et aura généralement beaucoup plus d'étapes et plus de précision. Un CAD est ce que recherche cette affiche.
endolith