ATMega328 Conexión AREF externa

De la hoja de datos de ATMega328 , sección 24.9.1:

Las opciones de referencia de voltaje interno no se pueden usar si se aplica un voltaje de referencia externo al pin AREF.

De las páginas de referencia de Arduino :

Alternativamente, puede conectar el voltaje de referencia externo al pin AREF a través de una resistencia de 5K, lo que le permite cambiar entre voltajes de referencia internos y externos. Tenga en cuenta que la resistencia alterará el voltaje que se usa como referencia porque hay una resistencia interna de 32K en el pin AREF. Los dos actúan como un divisor de voltaje, por lo que, por ejemplo, 2,5 V aplicados a través de la resistencia producirán 2,5 * 32 / (32 + 5) = ~2,2 V en el pin AREF.

La hoja de datos de ATMega328 confirma la referencia de "resistencia interna de 32k" en la tabla 29.16 Características del ADC con: Resistencia de entrada de referencia = 32 kOhm.

Dicho esto, las dos afirmaciones anteriores parecen oponerse entre sí. Tengo una aplicación con algunos sensores que emiten una escala completa de 0-5 V y otros que emiten una escala completa de 0-1,8 V. La aplicación se beneficiaría de la mayor resolución de cambiar a AREF de 1,8 V al muestrear los sensores de 1,8 V y cambiar a la referencia AVCC interna para los sensores de 5 V.

Las páginas de referencia de Arduino sugieren que está bien, dado que se ha acoplado al AREF de 1,8 V a través de una resistencia en serie de 5 kOhm y se ha tenido en cuenta el divisor de voltaje implícito con la resistencia interna de 32 kOhm. ¿Es este un mal consejo de la referencia de Arduino, o de hecho es una práctica común hacer este tipo de cosas? ¿La declaración de Atmel está restringida a voltajes externos aplicados a AREF sin una resistencia limitadora de corriente externa (y si es así, por qué, dada la resistencia interna de 32k)?

Aparte, obviamente, uno podría lograr un resultado similar con un amplificador operacional construido adecuadamente para escalar las señales de 1.8V hasta 5V, pero la complejidad y las partes adicionales parecen un desperdicio si el ADC integrado también puede manejarlo. aprovechando la referencia de voltaje variable. Del mismo modo, si pudiera convencerse de que la señal detectada no superaría los 1,1 V, podría aprovechar la referencia de voltaje interno. Nuevamente, me parece más elegante usar el regulador de 1.8V con el que estoy alimentando mis sensores de bajo voltaje para establecer la referencia.

Además, ¿puede reformular "¿La declaración de Atmel está restringida a voltajes externos sin obstáculos aplicados a AREF?" No entiendo "restringido a sin obstáculos". Gracias.
@Telaclavo He dejado más clara la declaración (con suerte)
Creo que acabo de ver de dónde podría provenir su confusión, pero ¿puede publicar un enlace al esquema del Arduino específico que está utilizando?
@Telaclavo sin Arduino específico en mente, el Uno sería suficiente como ejemplo. En la placa base, AREF no está conectado a ninguna fuente de voltaje, sino que simplemente está desacoplado a GND a través de un capacitor de 100 nF. Si tuviera un regulador de 1.8V, en un escudo por ejemplo, en principio podría conectarlo a AREF a través de los cabezales del escudo por medio de una resistencia de 5kOhm para referenciar el ATMega328 ADC a 1.8V, luego cambiar a la referencia AVCC interna (que está conectado a 5 V en el Uno) en el software para hacer referencia al ATMega328 ADC a 5 V.
Ok, primero pensé que la resistencia de 5 kohm está incluida en los Arduinos, pero no es así. Acabo de actualizar mi respuesta. Y creo que su confusión provino de no reconocer que la resistencia de 32 kohm va de AREF a tierra . De lo contrario, no entendería su "y si es así, ¿por qué, dada la resistencia interna de 32k?"

Respuestas (2)

No veo ningún problema en aplicar un voltaje externo, a través de una resistencia de 5 kohm, a la entrada de referencia de Arduino. O mejor, con el uso de un divisor de resistencia, de modo que convierta 5 V en el voltaje AREF deseado, mientras que al mismo tiempo exhibe una resistencia de fuente de aproximadamente 5 kohm. Este segundo requisito no tiene por qué ser exacto. Eso es solo para limitar la corriente que fluirá de AVCC a tierra, a través del circuito externo.

esquemático

Si desea terminar con 1.8 V en la entrada AREF de la MCU, simplemente elija R1 y R2 para que V A R mi F = 5 · R 2 | | 32000 R 1 + ( R 2 | | 32000 ) = 1,8 V y R s o tu r C mi = R 1 | | R 2 5 kilohmios.

Cuando necesite trabajar con el rango [0, 1.8] V, deshabilite las referencias internas al ATMega, y cuando necesite trabajar con [0, 5] V, habilite la referencia AVCC interna (si es 5 V) . Si el MOSFET que se muestra en la Fig. 24-1 (que conecta las referencias internas a la línea AREF) tiene una resistencia mucho más baja que 5 kohm (que supongo que tiene), el circuito interno verá AVCC. En esta segunda situación, el drenaje de corriente del AVCC interno (supuesto de 5 V) a su divisor de resistencia externo será 1 mA, pero eso no es un problema.

En resumen: sería un mal consejo si algo pudiera dañarse, pero 1 mA no dañará nada.

+1 por llamar a la figura 24-1 ... lo que me sugiere (también) que una resistencia limitadora de corriente en AREF es una apuesta segura.
Sin embargo, creo que preferiría aceptar una pequeña caída de voltaje en AREF y usar una sola resistencia externa de 5kOhm para obtener 1.8V de un regulador ... pero creo que su respuesta es digna de ser aceptada

Gran explicación sobre la configuración interna de Aref PIN y también sobre el papel que juega este pin cuando se usa el ADC de Arduino.

Aquí están mis dos centavos. Acabo de modificar un poco el esquema para aclarar que la resistencia de 32 kOhms es interna. Además de eso, incluí una configuración alternativa para hacer más seguro el uso de un Vref externo. Las ecuaciones para R1 y R2 se obtienen después de limitar la corriente a través de ellos a 1 mA. Se ha considerado el peor escenario (interruptor interno cerrado accidentalmente) para obtener las fórmulas para R1 y R2.

Salud
ingrese la descripción de la imagen aquí