Tabla de contenido:

El Pin AREF de Arduino: 6 pasos
El Pin AREF de Arduino: 6 pasos

Video: El Pin AREF de Arduino: 6 pasos

Video: El Pin AREF de Arduino: 6 pasos
Video: AREF Arduino ⚡️ Voltaje de REFERENCIA ⭐️ [Curso ARDUINO] # 013 2024, Noviembre
Anonim
El Pin AREF de Arduino
El Pin AREF de Arduino

En este tutorial veremos cómo puede medir voltajes más pequeños con mayor precisión utilizando los pines de entrada analógica en su Arduino o placa compatible junto con el pin AREF. Sin embargo, primero haremos una revisión para que se ponga al día. Lea esta publicación en su totalidad antes de trabajar con AREF por primera vez.

Paso 1: ¡Revisión

¡Revisión!
¡Revisión!

Puede recordar que puede usar la función analogRead () de Arduino para medir el voltaje de una corriente eléctrica de los sensores y así sucesivamente usando uno de los pines de entrada analógica. El valor devuelto por analogRead () estaría entre cero y 1023, donde cero representa cero voltios y 1023 representa el voltaje de funcionamiento de la placa Arduino en uso.

Y cuando decimos el voltaje de funcionamiento, este es el voltaje disponible para el Arduino después del circuito de la fuente de alimentación. Por ejemplo, si tiene una placa Arduino Uno típica y la ejecuta desde la toma USB, claro, hay 5V disponibles para la placa desde la toma USB de su computadora o concentrador, pero el voltaje se reduce ligeramente a medida que la corriente circula alrededor del circuito al microcontrolador, o la fuente USB simplemente no está a la altura.

Esto se puede demostrar fácilmente conectando un Arduino Uno a USB y colocando un multímetro para medir el voltaje en los pines 5V y GND. Algunas placas devolverán un valor tan bajo como 4.8 V, algunas más altas pero aún por debajo de 5V. Entonces, si está buscando precisión, encienda su placa desde una fuente de alimentación externa a través de la toma de CC o el pin Vin, como 9V CC. Luego, después de que pase por el circuito regulador de potencia, tendrá un buen 5V, por ejemplo, la imagen.

Esto es importante ya que la precisión de cualquier valor de analogRead () se verá afectada por no tener un verdadero 5 V. Si no tiene ninguna opción, puede usar algunas matemáticas en su boceto para compensar la caída de voltaje. Por ejemplo, si su voltaje es 4.8V, el rango de analogRead () de 0 ~ 1023 se relacionará con 0 ~ 4.8V y no con 0 ~ 5V. Esto puede parecer trivial, sin embargo, si está utilizando un sensor que devuelve un valor como voltaje (por ejemplo, el sensor de temperatura TMP36), el valor calculado será incorrecto. Por tanto, en aras de la precisión, utilice una fuente de alimentación externa.

Paso 2: ¿Por qué AnalogRead () devuelve un valor entre 0 y 1023?

¿Por qué AnalogRead () devuelve un valor entre 0 y 1023?
¿Por qué AnalogRead () devuelve un valor entre 0 y 1023?

Esto se debe a la resolución del ADC. La resolución (para este artículo) es el grado en que algo se puede representar numéricamente. Cuanto mayor sea la resolución, mayor precisión con la que se puede representar algo. Medimos la resolución en términos del número de bits de resolución.

Por ejemplo, una resolución de 1 bit solo permitiría dos (dos a la potencia de uno) valores: cero y uno. Una resolución de 2 bits permitiría cuatro (dos elevado a dos) valores: cero, uno, dos y tres. Si intentáramos medir un rango de cinco voltios con una resolución de dos bits, y el voltaje medido fuera de cuatro voltios, nuestro ADC devolvería un valor numérico de 3, ya que cuatro voltios caen entre 3,75 y 5 V. Es más fácil imaginar esto con la imagen.

Entonces, con nuestro ADC de ejemplo con resolución de 2 bits, solo puede representar el voltaje con cuatro posibles valores resultantes. Si el voltaje de entrada cae entre 0 y 1,25, el ADC devuelve un 0 numérico; si el voltaje cae entre 1,25 y 2,5, el ADC devuelve un valor numérico de 1. Y así sucesivamente. Con el rango de ADC de nuestro Arduino de 0 ~ 1023, tenemos 1024 valores posibles, o 2 elevado a 10. Por lo tanto, nuestros Arduinos tienen un ADC con una resolución de 10 bits.

Paso 3: Entonces, ¿qué es AREF?

Para abreviar, cuando su Arduino toma una lectura analógica, compara el voltaje medido en el pin analógico que se usa con lo que se conoce como voltaje de referencia. En el uso normal de analogRead, la tensión de referencia es la tensión de funcionamiento de la placa.

Para las placas Arduino más populares, como las placas Uno, Mega, Duemilanove y Leonardo / Yún, el voltaje de funcionamiento de 5V. Si tiene una placa Arduino Due, el voltaje de funcionamiento es de 3,3 V. Si tiene algo más, consulte la página del producto Arduino o pregunte a su proveedor de placas.

Entonces, si tiene un voltaje de referencia de 5V, cada unidad devuelta por analogRead () se valora en 0.00488 V. (Esto se calcula dividiendo 1024 en 5V). ¿Qué pasa si queremos medir voltajes entre 0 y 2, o 0 y 4.6? ¿Cómo sabría el ADC cuál es el 100% de nuestro rango de voltaje?

Y ahí radica la razón del pin AREF. AREF significa REFerencia analógica. Nos permite alimentar al Arduino con un voltaje de referencia desde una fuente de alimentación externa. Por ejemplo, si queremos medir voltajes con un rango máximo de 3.3V, alimentaríamos 3.3V suaves y agradables en el pin AREF, tal vez desde un IC regulador de voltaje.

Entonces, cada paso del ADC representaría alrededor de 3,22 milivoltios (divida 1024 entre 3,3). Tenga en cuenta que el voltaje de referencia más bajo que puede tener es de 1,1 V. Hay dos formas de AREF: interna y externa, así que echémosle un vistazo.

Paso 4: AREF externo

Un AREF externo es donde usted suministra un voltaje de referencia externo a la placa Arduino. Esto puede provenir de una fuente de alimentación regulada, o si necesita 3.3V, puede obtenerlo del pin de 3.3V del Arduino. Si está utilizando una fuente de alimentación externa, asegúrese de conectar el GND al pin GND del Arduino. O si está utilizando la fuente de 3.3V de Arduno, simplemente ejecute un puente desde el pin de 3.3V al pin AREF.

Para activar el AREF externo, utilice lo siguiente en la configuración vacía ():

analogReference (EXTERNAL); // use AREF para voltaje de referencia

Esto establece el voltaje de referencia a lo que haya conectado al pin AREF, que por supuesto tendrá un voltaje entre 1.1V y el voltaje de operación de la placa. Nota muy importante: cuando use una referencia de voltaje externa, debe establecer la referencia analógica en EXTERNAL antes de usar analogRead (). Esto evitará que cortocircuite el voltaje de referencia interno activo y el pin AREF, lo que puede dañar el microcontrolador en la placa. Si es necesario para su aplicación, puede volver al voltaje de funcionamiento de la placa para AREF (es decir, volver a la normalidad) con lo siguiente

analogReference (DEFAULT);

Ahora para demostrar el funcionamiento de AREF externo. Usando un AREF de 3.3V, el siguiente diagrama mide el voltaje de A0 y muestra el porcentaje del AREF total y el voltaje calculado:

#include "LiquidCrystal.h"

LiquidCrystal lcd (8, 9, 4, 5, 6, 7);

int entrada analógica = 0; // nuestro pin analógico

int analogamount = 0; // almacena el valor entrante float porcentaje = 0; // utilizado para almacenar nuestro valor porcentual flotante voltaje = 0; // utilizado para almacenar el valor de voltaje

configuración vacía ()

{lcd.begin (16, 2); analogReference (EXTERNAL); // use AREF para voltaje de referencia}

bucle vacío ()

{lcd.clear (); analogamount = analogRead (entrada analógica); porcentaje = (cantidad analoga / 1024,00) * 100; voltaje = cantidad analógica * 3.222; // en milivoltios lcd.setCursor (0, 0); lcd.print ("% de AREF:"); lcd.print (porcentaje, 2); lcd.setCursor (0, 1); lcd.print ("A0 (mV):"); lcd.println (voltaje, 2); retraso (250); }

Los resultados del boceto de arriba se muestran en el video.

Paso 5: AREF interna

Los microcontroladores en nuestras placas Arduino también pueden generar un voltaje de referencia interno de 1.1V y podemos usarlo para el trabajo AREF. Simplemente use la línea:

analogReference (INTERNAL);

Para placas Arduino Mega, use:

analogReference (INTERNAL1V1);

in void setup () y estás apagado. Si tiene un Arduino Mega, también hay un voltaje de referencia de 2.56V disponible que se activa con:

analogReference (INTERNAL2V56);

Finalmente, antes de decidirse por los resultados de su pin AREF, siempre calibre las lecturas con un multímetro en buen estado.

Conclusión

La función AREF le brinda más flexibilidad para medir señales analógicas.

Esta publicación presentada por pmdway.com: todo para fabricantes y entusiastas de la electrónica, con envío gratuito en todo el mundo.

Recomendado: