Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Tecnología Industrial

Construya una Fuente de Alimentación Variable con Arduino UNO – Circuito y Código Paso a Paso

Cómo Hacer una Fuente de Alimentación Variable usando Arduino UNO

Una fuente de alimentación es requisito básico y esencial para equipos y circuitos electrónicos/eléctricos. Hay diversos tipos de circuitos/equipos, por tanto, sus demandas de alimentación varían. Por ejemplo, módulos Wi-Fi, relés, motores requieren tensiones distintas. En el mercado no hay fuentes distintas para cada circuito, así que generamos la nuestra. Solución simple: baterías.

Las baterías se usan para alimentar circuitos/proyectos electrónicos por ser accesibles y fáciles de conectar. Pero se agotan rápido, requieren reemplazo, no dan alta corriente para motores potentes, se calientan con uso prolongado y su vida útil disminuye. Para superar esto presentamos una solución mejor y eficiente usable en cualquier circuito: Fuente de Alimentación Variable desde Arduino UNO.

Con este proyecto obtendrá alimentación variable según su equipo sin preocuparse por carga, descarga, calentamiento, etc. Hay muchos métodos para generar alimentación variable, pero este es el más fácil al usar componentes baratos y accesibles. Veamos componentes necesarios.

Componentes Necesarios

Software: Arduino IDE Nightly o Atmel Studio 6.2

Diagrama de Circuito de Fuente Variable

Antes de entrar en el proyecto, conozcamos algunas cosas.

Construya una Fuente de Alimentación Variable con Arduino UNO – Circuito y Código Paso a Paso

Arduino UNO

Arduino UNO es plataforma open source para desarrollar proyectos electrónicos. Programable, borrable y reprogramable en cualquier momento. Hay muchas placas: UNO, Nano, Mega, LilyPad, etc. con distintas especificaciones. Usamos Arduino UNO para controlar electrodomésticos automáticamente. Lleva microcontrolador ATmega328 a 16 MHz. Potente, trabaja con USART, I2C y SPI.

Se programa vía software Arduino IDE con cable micro USB. ATmega328 viene con bootloader preprogramado para subir código sin hardware externo. Amplias aplicaciones en proyectos/productos electrónicos. Lenguajes C/C++, fáciles de aprender. Arduino IDE separa código en void setup() (ejecuta una vez, inicia procesos) y void loop() (ejecución continua).

6 pines analógicos (A0–A5, resolución 10 bits) y 14 pines digitales GPIO (6 con PWM). Alimentación por USB (5 V) o jack DC (7–20 V). Regulador onboard genera 3,3 V para dispositivos baja potencia. Pines comunicación: 0 (Rx) y 1 (Tx) USART; SDA (A4) y SCL (A5) I2C; SS (10), MOSI (11), MISO (12), SCK (13) SPI.

ADC en Arduino UNO

Arduino UNO tiene 6 canales ADC onboard para leer señales analógicas 0–5 V. Al interfazar sensores, estos generan valores analógicos; Arduino lee digitales. ADC convierte valores de sensor a analógicos para el microcontrolador. Aplicaciones: sensado temperatura, distancia, velocidad, sensores con salida analógica.

ADC de 10 bits: valores 0–1023. Resolución = nº valores discretos sobre rango analógico. Tensión máxima ADC = 5 V → cada paso ≈ 5 mV (5/1024). 6 canales ADC (A0–A5) → hasta 6 dispositivos analógicos simultáneos. Función Arduino IDE: analogRead(pin) (pin A0–A5).

PWM en Arduino UNO

Modulación por Ancho de Pulso (PWM) genera señales analógicas desde fuente digital variando ancho de pulso manteniendo frecuencia constante. Dos parámetros clave: ciclo de trabajo (duty cycle) y frecuencia.

Ciclo de Trabajo: Fracción de período que señal está ON.

Duty Cycle = 100 × Ton / (Ton + Toff)

Usado para controlar potencia a carga encendiendo/apagando señal. Ej.: intensidad de luz o velocidad motor. Tras llamada a analogWrite(), pin genera onda cuadrada continua con duty cycle especificado hasta siguiente llamada a analogWrite() o digitalRead()/digitalWrite() en mismo pin.

Frecuencia de Señal:

Qué tan rápido completa ciclo la señal (cambio ON→OFF o viceversa). Haciéndolo a duty cycle particular, salida se comporta como voltaje analógico constante. Frecuencia PWM en la mayoría de pines ≈ 490 Hz. En UNO y similares, pines 5 y 6 ≈ 980 Hz. Pines 3 y 11 en Leonardo también 980 Hz.

Arduino UNO tiene 6 canales PWM 8 bits (marcados ~). Voltaje analógico con analogWrite(pin, duty cycle):

Display LCD 16×2

Generar caracteres personalizados en LCD no es difícil. Requiere conocimiento de memoria CG-RAM y controlador LCD. Interfaz Arduino UNO con LCD JHD162A 16×2 (driver HD44780 de Hitachi). 16 pines, operable en modo 4 bits (4 líneas datos) u 8 bits (8 líneas). Usamos modo 4 bits (menos cables).

Descripción Pines LCD 16×2:

Pin LCDDescripción
VSSPin Tierra
VCC+5 V alimentación
VEEPin para cambiar contraste LCD
RSRegister Select: Modo Dato o Comando
RWModo Lectura o Escritura
EEnable LCD
DB0-DB7Datos y comandos por estos pines
LED+Ánodo LED retroiluminación
LED-Cátodo LED retroiluminación

LCD no tiene luz propia; LED tras pantalla actúa como retroiluminación. Interfaz con Arduino UNO es fácil: Arduino IDE provee librería LiquidCrystal con funciones integradas. Funciones principales usadas:

LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
lcd.begin()
lcd.clear()
lcd.print()

Funcionamiento de Fuente Variable con Arduino

Conecte cables según diagrama. Obtenemos voltaje en terminal de salida y lo damos como entrada a canal ADC. ADC da valor digital que mostramos en LCD 16×2. Botones para incrementar/decrementar voltaje conectados a pines 4 y 5 de Arduino UNO. ADC 10 bits (0–1023), tensión máx 5 V → 1 bit ≈ 4,9 mV. Al incrementar/decrementar, valor digital varía 0–1023.

Leemos valor ADC en canal A0 con analogRead(A0). Usamos pin 3 para PWM. analogWrite(3, duty cycle) genera voltaje de salida deseado con duty cycle dado en pin 3.

Al pulsar botones cambiamos duty cycle PWM → cambia voltaje salida. Un botón incrementa, otro decrementa. PWM 0–255 (0 V a 5 V). Pin 3 va a transistor NPN que da voltaje variable en emisor y actúa como interruptor. Base del transistor tiene PWM con duty cycle variable → obtenemos voltaje variable en terminal. Al no ser lineal, conectamos condensadores para filtrar ruido en voltaje variable.

Explicación del Código

Incluir Librerías:

#include <LiquidCrystal.h>

Librería integrada para LCD; funciones fáciles para mostrar caracteres.

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

lcd toma pines de datos y RS, RW, E del LCD. Referencia 2,5 V → duty cycle 50 % → ref_volt = 125.

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

Pin 3 = salida PWM; pines 4 y 5 = entrada para incrementar/decrementar voltaje.

lcd.begin(16, 2);
delay(100);
lcd.setCursor(1, 0);
lcd.print("Variable Voltage");
lcd.clear();
delay(1000);

lcd.begin configura caracteres del LCD. Al inicio mostramos "Variable Voltage".

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

Variable value lee valor digital del canal ADC A0 y lo convierte a voltaje. analogWrite genera PWM en pin 3.

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

Comprueba si botón incremento pulsado. Si sí, aumenta ref_volt.

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

Comprueba si botón decremento pulsado. Si sí, disminuye ref_volt.

Así puede generar fuente de alimentación variable de 5 voltios con Arduino UNO sin preocuparse por baterías ni circuitos voluminosos.

Tecnología Industrial

  1. Construye un Decodificador DTMF Solo con Arduino – Sin CI Externos
  2. Construye un Voltímetro Inteligente con Arduino y Smartphone – Proyecto DIY Fácil
  3. Servidor Web Arduino Uno WiFi: Controla un LED desde el Navegador
  4. Control Arduino UNO desde Python 3 – Envío de Comandos y Demo LED
  5. Construye una Radio FM Compacta con Arduino Nano y RDA5807M
  6. Coche Robot Controlado por Sensor G del Smartphone con Arduino y Bluetooth
  7. Seguimiento GPS en Tiempo Real con Helium, Azure IoT Hub y Power BI
  8. La IA Detecta Tráfico Humano y de Vida Silvestre en Cadenas de Suministro Globales
  9. Dominando corriente, potencia y par en variadores de velocidad
  10. Fuente de Alimentación Dual ±12 VCC desde 230 VCA – Diagrama Circuito y Guía
  11. Fuentes de alimentación sin transformador: solución probada para reducir costes y espacio