Fuente de alimentación variable con Arduino UNO – Circuito y código

¿Cómo puedes hacer una fuente de alimentación variable con el Arduino UNO?

La influencia es un requisito primordial e importante para las herramientas y los circuitos electrónicos y eléctricos. Existen numerosas formas de circuitos y herramientas, por lo que su demanda de alimentación es completamente diferente para los distintos circuitos electrónicos. Por ejemplo, los módulos Wi-Fi, los relés, los motores y muchos otros requieren tensiones completamente diferentes. En el mercado, no podemos suministrar energía completamente diferente para cada aparato electrónico, por lo que generamos nuestra energía personal particular a partir de numerosas estrategias. La respuesta fácil a esto es el uso de pilas.

Las pilas se suelen utilizar para alimentar los circuitos e iniciativas digitales, ya que son fácilmente accesibles y se pueden relacionar de forma sencilla. Sin embargo, se agotan en poco tiempo, después de lo cual queremos pilas nuevas, además estas pilas no pueden presentar una presencia excesiva para impulsar un motor fuerte. Así que las pilas se descargan y además hacen que el circuito sea pesado. Además, las pilas se quemarán cuando los aparatos electrónicos se utilicen durante más tiempo o en exceso, y con el tiempo la vida de las pilas disminuye. Para superar este inconveniente, introducimos una respuesta más grande y respetuosa con el medio ambiente que puede utilizarse en cualquier circuito. En este compromiso te presentaremos cómo vamos a generar Fuente de alimentación variable Arduino UNO.

Con este emprendimiento es posible que obtengas una alimentación variable en base a tus herramientas digitales sin preocuparte de la carga, la descarga, los puntos de calentamiento y muchos otros. Hay numerosas estrategias accesibles para generar una fuente de alimentación variable, pero éste es el mejor método porque requiere piezas de bajo coste y simplemente accesibles. Así que veamos las piezas necesarias para esta empresa.

Piezas necesarias

  • Arduino UNO
  • pantalla LCD 16×2
  • condensadores de 100 μF
  • resistencias de 1k Ω
  • Cables de puente
  • alimentación de 5 voltios
  • transistor 2N2222

Programa informático: AURDINO Nightly o Atmel Studio 6.2

Diagrama del circuito de la fuente de alimentación variable

Antes de avanzar en estas tareas, hay algunas cuestiones que nos preocupan en la empresa.

Arduino UNO

Arduino UNO es una plataforma de suministro abierto que se utiliza para desarrollar la empresa de electrónica. Se puede programar, borrar y reprogramar de forma sencilla en cualquier instante de tiempo. Hay numerosas placas Arduino accesibles en el mercado, como Arduino UNO, Arduino Nano, Arduino Mega, Arduino Lily Pad y muchas otras, con especificaciones completamente diferentes según su uso. En esta empresa vamos a utilizar Arduino UNO para regular mecánicamente el equipo de la residencia. Tiene un microcontrolador ATmega328 que funciona a una velocidad de reloj de 16MHz. Es muy eficaz y puede funcionar con los protocolos de comunicación USART, I2C y SPI.

Esta placa se suele programar con el programa de software Arduino IDE mediante un cable micro USB. El ATmega328 viene con un cargador de arranque preprogramado en la placa, lo que hace más sencillo añadir el código con la ayuda del {hardware} exterior. Dispone de un enorme software para realizar tareas electrónicas o mercancías. Para programar la placa se utiliza el lenguaje C y C++, que puede ser muy sencillo de estudiar y utilizar. El IDE de Arduino hace que la programación sea mucho más sencilla. Separa el código en dos componentes, es decir, la configuración void setup () y void loop (). La configuración void setup () se ejecuta sólo una vez y se utiliza principalmente para iniciar algún curso, mientras que void loop () consiste en una parte del código que debe ejecutarse repetidamente.

Este maniquí consta de 6 pines de entrada analógica y 14 pines digitales GPIO que pueden utilizarse como salida de entrada 6 de los cuales proporcionan PWM y salida analógica utilizando las funciones pinMode(), digitalWrite(), digitalRead() y analogRead(). los 6 canales de entrada analógica son de los pines A0 a A5 y proporcionan 10 bits de decisión. La placa puede alimentarse con un cable USB que funciona a 5 voltios o con una toma de corriente continua que funciona entre 7 y 20 voltios.

Puede haber un regulador de voltaje a bordo para generar 3,3 voltios para que funcionen las unidades de baja potencia. Como el ATmega328 funciona con el protocolo de comunicación USART, SPI e I2C, tiene los pines 0 (Rx) y 1(Tx) para la comunicación USART, los pines SDA (A4) y SCL (A5) para I2C y los pines SS (10), MOSI (11), MISO (12) y SCK (13) para el protocolo de comunicación SPI.

ADC en Arduino UNO

El Arduino UNO tiene a bordo 6 canales ADC que se pueden usar para detectar o aprender alertas analógicas de 0 voltios a cinco voltios. Dado que interconectamos los sensores con microcontroladores como el Arduino UNO, el sensor genera valores de salida analógicos y el Arduino UNO detecta los valores digitales. Por ello, el ADC ayuda a transformar los valores de los sensores en valores analógicos y los transmite al microcontrolador. Hay numerosas funciones del ADC, como la detección de la temperatura, la medición de la distancia, la medición de la velocidad y muchos sensores que generan valores analógicos.

El Arduino UNO tiene un ADC de 10 bits que sugiere sus ajustes de 0 a 1023 en cada paso. Se denomina decisión a la variedad de valores discretos que puede producir en la variación de los valores analógicos.

Como el ADC tiene una tensión de 5 voltios, posteriormente, cada paso del ADC que comienza en 0 a 1023 tiene un valor igual a cinco mV aproximadamente. Hay 6 canales del ADC que de A0 a A5 en la placa Arduino UNO implican, cada vez, una posible gestión o interfaz con 6 unidades que generan valores analógicos.

El IDE de Arduino ofrece una operación incorporada para aprender los valores analógicos: analogRead(pin).

Si damos el número de pines de A0 a A5 con los que se relacionan las unidades, esto nos ayuda a conocer los valores analógicos.

PWM en Arduino UNO

La modulación de anchura de pulso (PWM) es un método utilizado para generar las alertas analógicas utilizando alguna fuente digital por la anchura del latido mientras se protege la frecuencia fija. Las 2 cuestiones esenciales más importantes que perfilan el PWM son el ciclo de obligación y la frecuencia.

Ciclo de Obligación de una Señal:

La fracción durante la cual una señal está encendida en un intervalo entero se conoce como Ciclo de Obligación.

Ciclo de enlace = 100*Ton / (Ton + Toff)

Normalmente se utiliza para regular la capacidad entregada a la carga encendiendo y apagando la señal. A modo de ejemplo, puede utilizarse para regular la profundidad de la luz solar o la velocidad de algún motor. Después de que un nombre de analogWrite() funcione, el pin generará una onda cuadrada suave del ciclo de trabajo requerido hasta el siguiente nombre de analogWrite() o un nombre de digitalRead() o digitalWrite() en el pin idéntico.

Frecuencia de una señal:

La frecuencia de una señal significa la rapidez con la que una señal completa su ciclo, es decir, en cuánto tiempo pasa de su estado ON a su estado OFF o viceversa. Al hacerlo en un ciclo de trabajo seleccionado, la salida se comporta como una tensión analógica implacable. La frecuencia de la señal PWM en la mayoría de los pines es de aproximadamente 490 Hz. En la Uno y otras placas similares, los pines 5 y 6 tienen una frecuencia de unos 980 Hz. Los pines 3 y 11 de Leonardo funcionan además a 980 Hz

El Arduino UNO tiene 6 canales PWM de 8 bits con imagen ~ en él. Vamos a obtener la tensión analógica utilizando analogWrite que funciona en el IDE de Arduino:

analogWrite (pin, ciclo de trabajo)

Pin: Toma el pin del Arduino UNO utilizado para generar la salida analógica.

Ciclo de obligaciones: El valor va de 0 (mínimo) a 255 (máximo) como entrada para variar el Ciclo de Obligación.

pantalla LCD 16×2

Producir caracteres personalizados en la pantalla no debería ser demasiado trabajo. Requiere la información sobre las memorias de entrada aleatoria generadas de forma personalizada (CG-RAM) del LCD y del controlador del chip del LCD. Esta es la interfaz de un Arduino UNO a un módulo LCD JHD162A de 16×2. El JHD162A es un módulo LCD 16×2 basado principalmente en el controlador HD44780 de Hitachi. El JHD162A tiene 16 pines y puede funcionar en modo de 4 bits (utilizando sólo 4 trazos de conocimiento) o en modo de 8 bits (utilizando los 8 trazos de conocimiento). En esta aventura, utilizaremos el modo de 4 bits porque necesitas dejar que los cables se conecten.

Descripción de las patillas del módulo LCD 16×2:

Clavija en el LCDDescripción
VSSClavija del suelo
VCCalimentación de +5V
VEEClavija para variar la distinción del LCD
RSElige el registro: modo de información o modo de mando
RWModo Aprender o Escribir
EActivar la pantalla LCD
DB0-DB7La información y el mando se alimentan mediante estos pines
LED+Ánodo de la retroiluminación LED
LED-Cátodo de la retroiluminación LED

Esta pantalla LCD no tiene su luz personal, por lo que hay un LED detrás de la pantalla que actúa como luz de fondo para el espectáculo. La interfaz de esta pantalla LCD con el Arduino UNO es bastante sencilla, ya que el IDE de Arduino ofrece una biblioteca de cristal líquido que tiene un montón de trabajos incorporados para que sea más sencillo inicializar e imprimir algo en el programa. Las características del LCD que utilizaremos principalmente en esta empresa son:

LiquidCrystal liquid crystal display(rs, en, d4, d5, d6, d7);
liquid crystal display.start()
liquid crystal display.clear()
liquid crystal display.print()

Trabajo de la fuente de alimentación variable con Arduino

Une correctamente los cables como se indica en el esquema del circuito. En esta empresa vamos a por la tensión obtenida en el terminal de salida y la proporcionamos como entrada a uno de los muchos canales del ADC. Además, el canal ADC ofrece el valor digital que luego se muestra en la pantalla LCD de 16×2. Los botones utilizados en la empresa sirven para aumentar y disminuir la tensión y están relacionados con los pines 4 y 5 del Arduino UNO. Como el Arduino UNO tiene 10 bits de decisión, lo que implica que va de 0 a 1023 y la tensión máxima del CAD es de 5 voltios, por lo que un bit equivale a 5/1024 = 4,9 mili voltios (aproximadamente). Así que el incremento y el decremento que transferimos el valor digital va de 0 a 1023.

Ahora estudiamos el valor del CAD en el canal A0. El IDE de Arduino proporciona una operación incorporada analogRead(pin) para conocer los valores del ADC, aquí el pin es A0 ya que el canal es A0 en el Arduino UNO. Además, estamos utilizando el pin 3 para el Pwm del Arduino UNO. El IDE de Arduino proporciona analogWrite(pin,Obligation Cycle) para generar la tensión de salida especificada con un ciclo de obligación determinado en el pin 3.

Ahora con la urgencia de los 2 botones estamos cambiando el ciclo de obligación de la señal pwm que en la configuración del resultado ajusta la tensión de salida. Un botón sirve para aumentar el ciclo de trabajo y el otro para reducirlo. El valor PWM del Arduino Uno va de 0 a 255 ajustes que 0 como mínimo para realizar 0 voltios y 255 como máximo para realizar 5 voltios. La clavija 3 se alimenta además a un transistor NPN que ofrece una tensión variable en su emisor y actúa como dispositivo de conmutación.

El fondo del transistor puede tener una relación de obligación variable pwm y así obtendremos una tensión de salida variable en el terminal. Como la tensión no debe ser lineal, añadimos condensadores para filtrar el ruido dentro de la tensión de salida variable.

Racionalización del código

Junto con las bibliotecas:

#embody <LiquidCrystal.h>

Esta es la biblioteca construida para utilizar un programa de LCD. Ofrece una funcionalidad que puede utilizarse simplemente para mostrar caracteres dentro del programa LCD.

LiquidCrystal liquid crystal display(8, 9, 10, 11, 12, 13);
int ref_volt =125;
float flag =0;

la pantalla de cristal líquido toma la cantidad de pines con los que se relacionan los pines de información y los pines RS, RW y E de la pantalla LCD. Como vamos a fijar nuestra tensión de referencia en 2,5 voltios posteriormente, vamos a fijar el ciclo de obligación en el 50% fijando ref_volt en 125.

pinMode (3, OUTPUT);
pinMode (4, INPUT);
pinMode (5, INPUT);

El pin 3 del Arduino UNO está casi como salida PWM, los pines 4 y 5 están configurados para tomar la entrada para el incremento y decremento de la tensión.

liquid crystal display.start(16, 2);
delay(100);
liquid crystal display.setCursor(1, 0);
liquid crystal display.print("Variable Voltage");
liquid crystal display.clear();
delay(1000);

pantalla de cristal líquido.Comienza a funcionar la variedad de caracteres en la pantalla LCD. Al principio mostramos la «tensión variable» en la pantalla.

float worth = (analogRead(A0));
worth = (worth*5)/1024;
analogWrite(3,ref_volt);

La variable Worth lee el valor digital obtenido del canal A0 ADC y convierte ese valor digital en tensión. AnalogWrite ofrece PWM en el pin 3 del Arduino UNO.

if (digitalRead(4)==LOW)
  {
    if (ref_volt<250)
    {
      ref_volt=ref_volt+1;
      delay(100);
    }
  }

Comprueba si el botón de incremento está pulsado o no. Si se pulsa el botón de incremento, entonces se incrementará ref_volt.

  if (digitalRead(5)==LOW)
   {
     if (ref_volt>0)
      {
        ref_volt=ref_volt-1;
        delay(100);
      }
    }

Comprueba si el botón de disminución está pulsado o no. Si alguien pulsa el botón de disminución, entonces disminuye el ref_voltio.

Con este método podrás generar el 5 voltios de potencia variable, utilizando el Arduino UNO sin preocuparse demasiado de las pilas y de que el circuito sea pesado.

Mensajes asociados:

Lee:  Codificadores y descodificadores
Javired
Javired

Deja una respuesta

Tu dirección de correo electrónico no será publicada.