Propósito de Vref en MCU/ADC

¿Qué es Vref en los microcontroladores? Por ejemplo, un Arduino tiene un pin de +5V, +3.3V y Vref. Si quisiera usar el Arduino como una fuente de voltaje que proporciona 3,3 V a mi circuito, usaría el pin de +3,3 V. ¿Cuál es el propósito de Vref en este contexto?

Además, ¿qué es Vref en los ADC? Veo que los ADC tienen un pin Vdd y un pin Vref. Si tuviera que alimentar el ADC usando, digamos, 5 V CC, me conectaría al pin Vdd. Sin embargo, ¿cuál es el propósito de Vref en este contexto?

Es lo mismo tanto en MCU como en ADC, porque el pin Vref en una MCU se usa para su ADC incorporado. Las MCU que no tienen ADC no tendrán un pin Vref, y algunas MCU baratas o de bajo número de pines que tienen ADC tampoco tendrán un pin Vref, y solo usarán el voltaje de suministro como referencia, lo que impacta negativamente precisión, pero eso probablemente no sea una preocupación principal si está utilizando una MCU barata o de bajo número de pines.
Cerraría la otra pregunta como un duplicado de esta, ya que esta es más genérica.

Respuestas (3)

¿Qué es Vref en los ADC?

Vref es el voltaje de referencia por el cual el ADC calcula los valores digitales. Por supuesto, en muchos ADC puede usar el suministro de voltaje del chip como su voltaje de referencia, pero sería ruidoso y no muy consistente o preciso y se desviaría con el tiempo.

Entonces, si está buscando resultados muy precisos de su ADC, entonces use una referencia de voltaje muy estable que tenga una precisión inicial muy cercana a lo que se indica en la lata (y una deriva muy baja con la temperatura y el tiempo).

Si no le preocupan esas cosas, use Vcc como voltaje de referencia.

por ejemplo, una medida de 16 bits de 0x8000 significa que el valor de entrada es aproximadamente la mitad de Vref. Una medida de 0xFFFE significa que el valor de entrada es solo un poco menor que Vref.
Hay casos en los que usar el suministro del chip como referencia puede ayudar: por ejemplo, al leer un potenciómetro o un divisor (p. ej., con un NTC) que funcionan con el mismo suministro. La lectura será independiente del valor de suministro real. (sin embargo, el suministro aún debe estar limpio)
@ Redy000 correcto: se llama medida radiométrica.

Vref es el voltaje de referencia: los ADC funcionan determinando la relación entre un voltaje de entrada y su voltaje de referencia (los DAC funcionan a la inversa, dando un voltaje que es la relación entre la referencia y el número de entrada, o en los DAC más antiguos, dando una corriente que es proporcional a una corriente de referencia).

Si va a utilizar un ADC, o la función ADC de un microcontrolador, debe estudiar la hoja de datos detenidamente y comprender qué hace el Vref de esa parte . Las diferentes partes tienen diferentes rangos de lo que es una entrada aceptable para Vref y la relación entre Vref y sus salidas. Algunos ADC y bastantes microprocesadores generarán un voltaje fuera de sus pines Vref, o pueden programarse para hacerlo.

Para elaborar un poco sobre las otras respuestas, Vref puede ser una entrada o una salida (según el dispositivo). Si es una entrada, entonces es una forma de suministrar un suministro exacto de 5.000 V a las partes sensibles del chip. Si es una salida, entonces le está diciendo lo que proporciona la fuente de alimentación interna del chip (que podría necesitar para otras partes de su circuito). Los chips como Arduino Atmels lo tienen como una entrada programable, es decir, está predeterminado para usar los 5V de Vin a menos que active un interruptor con el código que ejecuta para usar específicamente el pin Vref en su lugar.

La razón por la que esto es importante (particularmente con los ADC) es que cuando convierten un voltaje analógico en uno digital, usarán la referencia de voltaje para hacerlo. Digamos que un ADC en particular dice que puede convertir cualquier voltaje de 0,0 a 5,0 V en 0-1024. Si imagina poner 2,5 V, esperaría obtener una lectura de 512 del ADC (matemáticamente: 2,5/5,0 * 1024). Sin embargo, si el ADC estaba usando Vdd como referencia, y tal vez la fuente de alimentación estaba un poco alta en ese momento, también estaba suministrando 5.2V. Eso significaría que la entrada de 2,5 V devolvería 492 (es decir, 2,5/5,2 * 1024). Debido a esa lectura baja, el circuito que lo rodea enciende algo, lo que consume algo de corriente adicional de la fuente de alimentación, por lo que el voltaje suministrado baja a 4,9 V... y ahora la lectura de 2,5 V se convierte en 522.

Para evitar este problema obvio, el ADC compara la entrada con una fuente de voltaje de alta precisión. Los chips como Arduino pueden usar su propia fuente de alimentación de precisión interna para esto, o puede usar un chip externo para proporcionar el voltaje de precisión que usará el ADC en sus comparaciones.

Como dice el viejo refrán "obtienes lo que pagas". La fuente de voltaje incorporada de Arduino es bastante buena, y es suficiente para casi todo el tipo de cosas a las que Arduinos realmente se acostumbra. Sin embargo, si estaba realizando algún tipo de medidas analógicas de superprecisión, es posible que desee gastar unas cuantas libras extra en una fuente de voltaje de precisión y luego conectarla al pin Vref para que el ADC obtenga una superconstante, super -Referencia precisa de 5,0 V todo el tiempo.