Étape 6: MCP3204 - ADC
Un ADC (convertisseur analogique/numérique) nous permet de lire une tension analogique et la convertir en un nombre binaire numérique qui permet le microcontrôleur à sous le supporter. Cette MCP3204 (fiche technique), ADC est fait par Microchip et utilise une interface SPI pour communiquer avec le microcontrôleur. Je parlerai plus d’infos sur le SPI plus tard dans une autre étape.
Les broches pour le MCP3204 sont comme suit,
- Entrée pour ADC Channel 0.
- Entrée pour ADC Channel 1.
- Entrée pour ADC Channel 2.
- Entrée pour ADC Channel 3.
- Pas connecté en interne.
- Pas connecté en interne.
- Numérique terrestre - ce projet utilise un terrain d’entente.
- Il s’agit d’une faible Chip select NIP actif utilisé pour l’interface SPI (expliquée dans une étape ultérieure).
- Il s’agit de données, parfois surnommé le MOSI utilisée pour l’interface SPI (expliquée dans une étape ultérieure).
- Il s’agit de données, parfois appelée MISO utilisée pour l’interface SPI (expliquée dans une étape ultérieure).
- Goupille horloge série utilisée pour l’interface SPI (expliquée dans une étape ultérieure).
- Analogique terrestre - ce projet utilise un terrain d’entente.
- Entrée de tension de référence.
- DMV - goupille de tension d’alimentation - 5V
Strictement parlant, n’a pas vraiment besoin d’inclure une ADC distincte dans la conception que le ATMega32U4 a un intégré 10 bit ADC, cependant, il y a deux raisons principales que j’ai fait,
- Meilleure résolution
- Parce que je voulais jouer avec un !
Comme vous le savez probablement déjà microcontrôleurs sont des produits numériques, digital ne fonctionne que sur 0 et des 1. Un appareil numérique, par lui-même, ne peut pas lire une valeur analogique comme une tension ou 3.21V. Produits numériques peuvent uniquement lire logique les valeurs de niveau, par exemple, 0v « c’est », 5v « c’est ».
Avant que nous obtenions un peu trop loin dans tout cela, sur quel binaire est, binaire est une base 2 système de numérotation, cela signifie qu’il ne peut compter que 2 étapes avant tourne au chiffre suivant.
0
1
Notre système de numérotation normal, le système décimal, est un système de numérotation de base 10, nous pouvons compter 10 étapes avant tourne au chiffre suivant.
0
1
2
3
4
5
6
7
8
9
Voici un exemple de 0 à 7 ressemble en binaire,
0 0
1 1
2 10
3 11
4 100
5 101
6 110
7 111
Chaque chiffre est connu comme un « peu » et 8 bits est un « byte », donc le nombre maximal de décimal vous pouvez compter à l’aide d’un nombre binaire de 8 bits est 255. Donc c’est 256 valeurs différentes, parce que nous incluons 0 comme valeur.
0 0
.. ..
.. ..
11111111 255
La résolution d’un ADC représente le nombre de bits ou étapes d’un binaire COMP il peut mesurer une valeur analogique et convertissez-le en nombre binaire numérique, par exemple,
- 8 bit ADC peut mesurer 256 étapes = 2 à la puissance de 8
- 10 bit ADC peut mesurer les étapes 1024 = 2 à la puissance de 10
- 12 bit ADC peut mesurer 4096 étapes = 2 à la puissance de 12
Je devine que ce n’est pas faire beaucoup de sens encore, c’est OK, il aura.
Tous les convertisseurs a/n dois utiliser une tension de référence, cette tension de référence permet l’ADC comparer la tension de sa lecture contre la tension de référence et renvoyer un pourcentage au nombre binaire. OK, exemple de temps, pour un 8 bit ADC, le nombre maximal d’étapes il peut casser la tension de référence en est 256 (n’oubliez pas 0V), donc pour la facilité, laisse faire notre tension de référence 255v (il ne serait pas mais laisse il suffit d’aller avec elle), si les lectures de tension l’ADC est 255v, il compare à la tension de référence et qu’il dit , OK ses 100 % de ma tension de référence donc im va pour vous envoyer le numérique plus haut valeur je peux, 255. On peut voir à nouveau et son désormais 128V, il dit OK, sa pour seulement 50 % de ma tension de référence alors je vais vous envoyer 50 % de mon binaire valeur, 128.
Pour notre exemple, nous avons eu plus tôt, une tension de référence du 255V et nous avons eu 256 étapes, c’est facile, il peut lire en incréments de 1V, que se passe-t-il si nous devions lire 0.1V incréments ? Eh bien, c’est juste difficile, parce qu’un 8 bit ADC ne peuvent compter jusqu'à 256. C’est là qu’intervient une résolution plus élevée ADC. Maintenant passons comparer à une tension de référence 100V afin que nous pouvons voir les avantages d’utiliser un ADC avec une résolution plus élevée.
bit 8 = 256 étapes, nous divisons notre tension de référence de notre résolution pour savoir quelles différences de tension peut lire nos ADC, 100 / 256 = 0.39V. 0.39V est donc le plus bas, nos 8 bits peut lire, alors la valeur suivante sera 0.78V
bit 10 = 1024 étapes, 100/1024 = 0.098V. 0.098v est donc le plus bas peut lire nos 10 bits, alors la valeur suivante sera 0.196V. Beaucoup, beaucoup plus petit écart entre les lectures.
bit 12 = 4096 étapes, 100/4096 = 0.024v. Donc le plus bas peut lire nos 12 bits est 0.024v, alors la valeur suivante sera 0.048v et ainsi de suite. Puis il y aura des valeurs différentes 4096 avant qu’elle atteigne la pleine 100V.
Comme vous pouvez le voir, c’est une bien meilleure précision la plus haute résolution que vous allez.