En este tutorial desarrollaremos una fuente de voltaje variable de 5V de Arduino Uno. Para eso usaremos la función ADC (Conversión analógica a digital) y PWM (Modulación de ancho de pulso).
Algunos módulos electrónicos digitales como el acelerómetro funcionan con voltaje de 3.3V y algunos funcionan con 2.2V. Algunos incluso funcionan con voltajes más bajos. Con esto no podemos conseguir un regulador para cada uno de ellos. Entonces, aquí crearemos un circuito simple que proporcionará una salida de voltaje de 0-5 voltios a una resolución de 0.05V. Entonces, con esto, podemos proporcionar voltajes con precisión para los otros módulos.
Este circuito puede proporcionar corrientes de hasta 100 mA, por lo que podemos utilizar esta unidad de potencia para la mayoría de los módulos de sensores sin ningún problema. Esta salida de circuito también se puede utilizar para cargar pilas recargables AA o AAA. Con la pantalla en su lugar, podemos ver fácilmente las fluctuaciones de energía en el sistema. Esta unidad de fuente de alimentación variable contiene una interfaz de botón para la programación de voltaje. El funcionamiento y el circuito se explica a continuación.
Hardware: Arduino Uno, fuente de alimentación (5v), condensador de 100uF (2 piezas), botón (2 piezas), resistencia de 1KΩ (3 piezas), LCD de 16 * 2 caracteres, transistor 2N2222.
Software: Atmel studio 6.2 o AURDINO nightly.
Diagrama de circuito y explicación de trabajo
El circuito para la unidad de voltaje variable que usa arduino se muestra en el siguiente diagrama.
El voltaje en la salida no es completamente lineal; será ruidoso. Para filtrar el ruido, los condensadores se colocan en los terminales de salida como se muestra en la figura. Los dos botones aquí son para aumentar y disminuir el voltaje. La unidad de visualización muestra el voltaje en los terminales de SALIDA.
Antes de comenzar a trabajar, debemos analizar las características de ADC y PWM de Arduino UNO.
Aquí vamos a tomar el voltaje provisto en el terminal OUTPUT y alimentarlo a uno de los canales ADC de Arduino. Después de la conversión, tomaremos ese valor DIGITAL y lo relacionaremos con el voltaje y mostraremos el resultado en una pantalla de 16 * 2. Este valor en pantalla representa el valor de voltaje variable.
ARDUINO tiene seis canales ADC, como se muestra en la figura. En ellos cualquiera o todos ellos se pueden utilizar como entradas para voltaje analógico. El UNO ADC tiene una resolución de 10 bits (por lo que los valores enteros de (0- (2 ^ 10) 1023)). Esto significa que asignará voltajes de entrada entre 0 y 5 voltios en valores enteros entre 0 y 1023. Entonces, para cada (5/1024 = 4,9 mV) por unidad.
Aquí vamos a utilizar A0 de UNO.
|
En primer lugar, los canales UNO ADC tienen un valor de referencia predeterminado de 5V. Esto significa que podemos dar un voltaje de entrada máximo de 5 V para la conversión de ADC en cualquier canal de entrada. Dado que algunos sensores proporcionan voltajes de 0-2,5 V, con una referencia de 5 V obtenemos menor precisión, por lo que tenemos una instrucción que nos permite cambiar este valor de referencia. Entonces, para cambiar el valor de referencia tenemos ("analogReference ();") Por ahora lo dejamos como.
De forma predeterminada, obtenemos la resolución ADC máxima de la placa que es de 10 bits, esta resolución se puede cambiar usando la instrucción ("analogReadResolution (bits);"). Este cambio de resolución puede resultar útil en algunos casos. Por ahora lo dejamos como.
Ahora, si las condiciones anteriores están configuradas por defecto, podemos leer el valor del ADC del canal '0' llamando directamente a la función "analogRead (pin);" aquí "pin" representa el pin donde conectamos la señal analógica, en este caso sería "A0".
El valor de ADC se puede tomar en un número entero como “float VOLTAGEVALUE = analogRead (A0); ”, Por esta instrucción el valor después de ADC se almacena en el entero“ VOLTAGEVALUE ”.
El PWM de UNO se puede lograr en cualquiera de los pines simbolizados como “~” en la placa PCB. Hay seis canales PWM en UNO. Vamos a utilizar PIN3 para nuestro propósito.
analogWrite (3, VALOR); |
Desde la condición anterior, podemos obtener directamente la señal PWM en el pin correspondiente. El primer parámetro entre paréntesis es para elegir el número de pin de la señal PWM. El segundo parámetro es para la relación de trabajo de escritura.
El valor PWM de UNO se puede cambiar de 0 a 255. Con "0" como más bajo a "255" como más alto. Con 255 como relación de trabajo, obtendremos 5V en PIN3. Si la relación de trabajo se da como 125, obtendremos 2.5V en PIN3
Como se dijo anteriormente, hay dos botones conectados al PIN4 y al PIN5 de UNO. Al pulsar, aumentará el valor de la relación de trabajo de PWM. Cuando se presiona otro botón, el valor de la relación de trabajo de PWM disminuye. Entonces, estamos variando la relación de trabajo de la señal PWM en PIN3.
Esta señal PWM en PIN3 se alimenta a la base del transistor NPN. Este transistor proporciona un voltaje variable en su emisor, mientras actúa como un dispositivo de conmutación.
Con la relación de trabajo variable PWM en la base, habrá voltaje variable en la salida del emisor. Con esto tenemos a mano una fuente de voltaje variable.
La salida de voltaje se alimenta a UNO ADC, para que el usuario vea la salida de voltaje.