Tabla de contenido:

Fuente de alimentación Bluetooth digital con alimentación USB C: 8 pasos (con imágenes)
Fuente de alimentación Bluetooth digital con alimentación USB C: 8 pasos (con imágenes)

Video: Fuente de alimentación Bluetooth digital con alimentación USB C: 8 pasos (con imágenes)

Video: Fuente de alimentación Bluetooth digital con alimentación USB C: 8 pasos (con imágenes)
Video: 5 TIPS de como INSTALAR un MODULO 📢​ mp3 BLUETOOTH a un AMPLIFICADOR 2024, Noviembre
Anonim
Fuente de alimentación Bluetooth digital alimentada por USB C
Fuente de alimentación Bluetooth digital alimentada por USB C
Fuente de alimentación Bluetooth digital alimentada por USB C
Fuente de alimentación Bluetooth digital alimentada por USB C
Fuente de alimentación Bluetooth digital alimentada por USB C
Fuente de alimentación Bluetooth digital alimentada por USB C
Fuente de alimentación Bluetooth digital alimentada por USB C
Fuente de alimentación Bluetooth digital alimentada por USB C

¿Alguna vez ha querido una fuente de alimentación que pueda usar mientras viaja, incluso sin una toma de corriente cerca? ¿Y no sería genial si también fuera muy preciso, digital y controlable a través de tu PC y tu teléfono?

En este instructivo, le mostraré cómo construir exactamente eso: una fuente de alimentación digital, que se alimenta a través de USB C. Es compatible con arduino y se puede controlar a través de la PC a través de USB o mediante su teléfono a través de Bluetooth.

Este proyecto es una evolución de mi fuente de alimentación anterior, que funcionaba con baterías y tiene una pantalla y perillas. ¡Compruébalo aquí! Sin embargo, quería hacerme más pequeño, ¡así que por eso hice esto!

La fuente de alimentación se puede alimentar desde un banco de baterías USB C o desde un cargador de teléfono. Esto permite hasta 15 W de potencia, que es suficiente para alimentar la mayoría de los dispositivos electrónicos de baja potencia. Para tener una buena interfaz de usuario en un dispositivo tan pequeño, incluí Bluetooth y una aplicación de Android para los controles ¡Esto hace que esta fuente de alimentación sea ultraportátil!

Mostraré todo el proceso de diseño y todos los archivos del proyecto se pueden encontrar en mi página de GitHub:

¡Empecemos!

Paso 1: características y costo

Características y costo
Características y costo

Características

  • Alimentado por USB C
  • Controlado a través de la aplicación de Android a través de Bluetooth
  • Controlado a través de Java sobre USB C
  • Modos de voltaje constante y corriente constante
  • Utiliza un regulador lineal de bajo ruido, precedido por un prerregulador de seguimiento para minimizar la disipación de energía
  • Desarrollado por ATMEGA32U4, programado con Arduino IDE
  • Puede ser alimentado por un banco de baterías USB C para hacerlo portátil
  • Detección de cargador USB C y Apple
  • Enchufes banana espaciados de 18 mm para compatibilidad con adaptadores BNC

Especificaciones

  • 0 - 1A, pasos de 1 mA (DAC de 10 bits)
  • 0 - 25 V, pasos de 25 mV (DAC de 10 bits) (operación real de 0 V)
  • Medición de voltaje: resolución de 25 mV (ADC de 10 bits)
  • Medición de corriente: <40mA: resolución 10uA (ina219) <80mA: resolución 20uA (ina219) <160mA: resolución 40uA (ina219) <320mA: resolución 80uA (ina219)> 320mA: resolución 1mA (ADC de 10 bits)

Costo

El suministro de energía completo me costó alrededor de $ 100, con todos los componentes únicos. Si bien esto puede parecer costoso, los suministros de energía con mucho menos rendimiento y características a menudo cuestan más que esto. Si no le importa pedir sus componentes en ebay o aliexpress, el precio bajaría a alrededor de $ 70. Las piezas tardan más en llegar, pero es una opción viable.

Paso 2: esquema y teoría de funcionamiento

Esquema y teoría de funcionamiento
Esquema y teoría de funcionamiento

Para comprender el funcionamiento del circuito, tendremos que mirar el esquema. Lo dividí en bloques funcionales, de modo que sea más fácil de entender; Por lo tanto, también explicaré el funcionamiento paso a paso. Esta parte es bastante profunda y requiere un buen conocimiento de electrónica. Si solo desea saber cómo construir el circuito, puede pasar al siguiente paso.

Bloque principal

La operación se basa en el chip LT3080: es un regulador de voltaje lineal, que puede reducir los voltajes, basándose en una señal de control. Esta señal de control será generada por un microcontrolador; cómo se hace esto, se explicará en detalle más adelante.

Ajuste de voltaje

Los circuitos alrededor del LT3080 generan las señales de control apropiadas. Primero, veremos cómo se establece el voltaje. La configuración de voltaje del microcontrolador es una señal PWM (PWM_Vset), que se filtra mediante un filtro de paso bajo (C23 y R32). Esto produce un voltaje analógico, entre 0 y 5 V, proporcional al voltaje de salida deseado. Dado que nuestro rango de salida es 0 - 25 V, tendremos que amplificar esta señal con un factor de 5. Esto se hace mediante la configuración de amplificador operacional no inversor de U7C. La ganancia del pin establecido está determinada por R31 y R36. Estas resistencias son tolerantes al 0,1% para minimizar los errores. R39 y R41 no importan aquí, ya que forman parte del circuito de retroalimentación.

Configuración actual

Este pin de configuración también se puede utilizar para el segundo ajuste: modo actual. Queremos medir el consumo de corriente y apagar la salida cuando exceda la corriente deseada. Por lo tanto, comenzamos de nuevo con una señal PWM (PWM_Iset), generada por el microcontrolador, que ahora se filtra y se atenúa en paso bajo para pasar de un rango de 0 a 5 V a un rango de 0 a 2,5 V. Este voltaje ahora se compara con la caída de voltaje en la resistencia de detección de corriente (ADC_Iout, ver más abajo) mediante la configuración del comparador del opamp U1B. Si la corriente es demasiado alta, esto encenderá un LED y también tirará de la línea de ajuste del LT3080 a tierra (a través de Q1), apagando así la salida. La medición de la corriente y la generación de la señal ADC_Iout se realiza de la siguiente manera. La corriente de salida fluye a través de la resistencia R22. Cuando la corriente fluye a través de esta resistencia, crea una caída de voltaje, que podemos medir, y se coloca antes del LT3080, ya que la caída de voltaje a través de él no debería influir en el voltaje de salida. La caída de voltaje se mide con un amplificador diferencial (U7B) con una ganancia de 5. Esto da como resultado un rango de voltaje de 0 - 2.5 V (más sobre esto más adelante), de ahí el divisor de voltaje en la señal PWM de la corriente. El búfer (U7A) está ahí para asegurarse de que la corriente que fluye hacia las resistencias R27, R34 y R35 no pase por la resistencia de detección de corriente, lo que influiría en su lectura. También tenga en cuenta que debe ser un amplificador operacional de riel a riel, porque el voltaje de entrada en la entrada positiva es igual al voltaje de suministro. El amplificador no inversor es solo para la medición del curso aunque, para mediciones muy precisas, tenemos el chip INA219 a bordo. Este chip nos permite medir corrientes muy pequeñas y se direcciona a través de I2C.

Cosas adicionales

A la salida del LT3080, tenemos algunas cosas más. En primer lugar, hay un sumidero de corriente (LM334). Esto consume una corriente constante de 677 uA (establecida por la resistencia R46), para estabilizar el LT3080. Sin embargo, no está conectado a tierra, sino a VEE, un voltaje negativo. Esto es necesario para permitir que el LT3080 funcione hasta 0 V. Cuando se conecta a tierra, el voltaje más bajo sería de aproximadamente 0,7 V. Esto parece lo suficientemente bajo, pero tenga en cuenta que esto nos impide apagar la fuente de alimentación por completo. Desafortunadamente, este circuito está en la salida del LT3080, lo que significa que su corriente contribuirá a la corriente de salida que queremos medir. Afortunadamente, es constante, por lo que podemos calibrar esta corriente. El diodo Zener D7 se utiliza para fijar el voltaje de salida si supera los 25 V, y el divisor de resistencia reduce el rango de voltaje de salida de 0 a 25 V a 0 a 2,5 V (ADC_Vout). El búfer (U7D) garantiza que las resistencias no estén consumiendo corriente de la salida.

Bomba de carga

El voltaje negativo que mencionamos antes es generado por un pequeño circuito curioso: la bomba de carga. Es alimentado por un 50% PWM del microcontrolador (PWM).

Convertidor de carga

Echemos ahora un vistazo al voltaje de entrada de nuestro bloque principal: VCC. Vemos que es 5 - 27V, pero espera, ¿USB da un máximo de 5 V? De hecho, y es por eso que necesitamos aumentar el voltaje, con un llamado convertidor elevador. Siempre podemos aumentar el voltaje a 27 V, sin importar qué salida queramos; sin embargo, esto desperdiciaría mucha energía en el LT3080 y las cosas se pondrían muy calientes. Entonces, en lugar de hacer eso, aumentaremos el voltaje a un poco más que el voltaje de salida. Aproximadamente 2.5 V más alto es apropiado, para tener en cuenta la caída de voltaje en la resistencia de detección de corriente y el voltaje de caída del LT3080. El voltaje se establece mediante resistencias en la señal de salida del convertidor elevador. Para cambiar este voltaje sobre la marcha, utilizamos un potenciómetro digital, el MCP41010, que se controla mediante SPI.

USB C

Esto nos lleva al voltaje de entrada real: ¡el puerto USB! La razón para usar USB C (USB tipo 3.1 para ser exactos, USB C es solo el tipo de conector) es porque permite una corriente de 3A a 5V, que ya es bastante potencia. Pero hay un problema, el dispositivo debe ser compatible para extraer esta corriente y 'negociar' con el dispositivo host. En la práctica, esto se hace conectando dos resistencias pulldown de 5.1k (R12 y R13) a la línea CC1 y CC2. Para la compatibilidad con USB 2, la documentación es menos clara. En resumen: dibuja la corriente que desee, siempre que el anfitrión pueda proporcionarla. Esto se puede verificar monitoreando el voltaje del bus USB: si el voltaje cae por debajo de 4.25V, el dispositivo consume demasiada corriente. Esto es detectado por el comparador U1A y desactivará la salida. También envía una señal al microcontrolador para establecer la corriente máxima. Como beneficio adicional, se han agregado resistencias para admitir la detección de la identificación del cargador de los cargadores de Apple y Samsung.

Regulador de 5V

El voltaje de suministro de 5 V del arduino normalmente proviene directamente del USB. Pero dado que el voltaje del USB puede variar entre 4.5 y 5.5 V según la especificación del USB, esto no es lo suficientemente preciso. Por lo tanto, se utiliza un regulador de 5 V, que puede generar 5 V a partir de voltajes más bajos y más altos. Aún así, este voltaje no es terriblemente preciso, pero esto se resuelve mediante un paso de calibración en el que el ciclo de trabajo de la señal PWM se ajusta en consecuencia. Este voltaje e es medido por el divisor de voltaje formado por R42 y R43. Pero como no tenía más entradas libres, tuve que hacer que un pin tire de doble función. Cuando se inicia la fuente de alimentación, este pin se establece primero como entrada: mide el riel de suministro y se calibra a sí mismo. A continuación, se establece como salida y puede conducir la línea de selección de chip del potenciómetro.

Referencia de voltaje de 2,56 V

Este pequeño chip proporciona una referencia de voltaje de 2,56 V muy precisa. Se utiliza como referencia para las señales analógicas ADC_Vout, ADC_Iout, ADC_Vbatt. Es por eso que necesitábamos divisores de voltaje para reducir estas señales a 2.5 V.

FTDI

La última parte de este suministro de energía es la conexión con el cruel mundo exterior. Para ello, necesitamos convertir las señales en serie en señales USB. Afortunadamente, esto lo hace el ATMEGA32U4, este es el mismo chip que se usa en el Arduino Micro.

Bluetooth

La parte de Bluetooth es muy simple: se agrega un módulo Bluetooth listo para usar y se encarga de todo por nosotros. Dado que su nivel lógico es 3.3V (VS 5V para el microcontrolador), se usa un divisor de voltaje para cambiar el nivel de la señal.

¡Y eso es todo!

Paso 3: PCB y electrónica

PCB y electrónica
PCB y electrónica
PCB y electrónica
PCB y electrónica
PCB y electrónica
PCB y electrónica

Ahora que entendemos cómo funciona el circuito, ¡podemos empezar a construirlo! Simplemente puede pedir el PCB en línea a su fabricante favorito (el mío cuesta alrededor de $ 10), los archivos gerber se pueden encontrar en mi GitHub, junto con la lista de materiales. El montaje de la PCB es básicamente una cuestión de soldar los componentes en su lugar de acuerdo con la serigrafía y la lista de materiales.

Si bien mi suministro de energía anterior solo tenía componentes de orificio pasante, la restricción de tamaño para el nuevo hizo que esto fuera imposible. La mayoría de los componentes siguen siendo relativamente fáciles de soldar, así que no tenga miedo. Como ilustración: ¡un amigo mío que nunca antes había soldado logró poblar este dispositivo!

Es más fácil hacer los componentes en la parte frontal primero, luego en la parte posterior y terminar con los componentes del agujero pasante. Al hacer esto, la PCB no se tambaleará al soldar los componentes más difíciles. El último componente a soldar es el módulo Bluetooth.

Todos los componentes se pueden soldar, excepto los 2 conectores banana, que montaremos en el siguiente paso.

Paso 4: caja y ensamblaje

Caja y montaje
Caja y montaje
Caja y montaje
Caja y montaje
Caja y montaje
Caja y montaje

Con la placa de circuito impreso hecha, podemos pasar al caso. Diseñé específicamente el PCB alrededor de una carcasa de aluminio de 20x50x80 mm (https://www.aliexpress.com/item/Aluminum-PCB-Instr…), por lo que no se recomienda usar otra carcasa. Sin embargo, siempre puede imprimir en 3D un estuche con las mismas dimensiones.

El primer paso es preparar el panel final. Tendremos que perforar algunos agujeros para los conectores banana. Hice esto a mano, pero si tiene acceso a un CNC, esa sería una opción más precisa. Inserte los conectores tipo banana en estos orificios y suéldelos en la PCB.

Es una buena idea agregar ahora algunas almohadillas de seda y mantenerlas en su lugar con una pequeña gota de súper pegamento. Estos permitirán la transferencia de calor entre el LT3080 y el LT1370 y la carcasa. ¡No los olvides!

Ahora podemos enfocarnos en el panel frontal, que simplemente se atornilla en su lugar. Con ambos paneles en su lugar, ahora podemos insertar el conjunto en la carcasa y cerrarlo todo. En este punto, el hardware está listo, ¡ahora todo lo que queda es darle un poco de vida con el software!

Paso 5: Código Arduino

Código Arduino
Código Arduino

El cerebro de este proyecto es el ATMEGA32U4, que programaremos con el IDE de Arduino. En esta sección, pasaré por el funcionamiento básico del código, los detalles se pueden encontrar como comentarios dentro del código.

El código básicamente recorre estos pasos:

  1. Enviar datos a la aplicación
  2. Leer datos de la aplicación
  3. Medir voltaje
  4. Medir la corriente
  5. Botón de encuesta

La sobrecorriente USB se maneja mediante una rutina de servicio de interrupción para que responda lo más posible.

Antes de que se pueda programar el chip a través de USB, se debe grabar el gestor de arranque. Esto se hace a través del puerto ISP / ICSP (los encabezados macho 3x2) a través de un programador ISP. Las opciones son AVRISPMK2, USBTINY ISP o un arduino como ISP. Asegúrese de que la placa reciba energía y presione el botón 'grabar cargador de arranque'.

El código ahora se puede cargar en la placa a través del puerto USB C (ya que el chip tiene un cargador de arranque). Placa: Arduino Micro Programador: AVR ISP / AVRISP MKII Ahora podemos echar un vistazo a la interacción entre Arduino y la PC.

Paso 6: aplicación de Android

Aplicación Android
Aplicación Android

Ahora tenemos una fuente de alimentación completamente funcional, pero todavía no hay forma de controlarla. Muy molesto. Así que crearemos una aplicación de Android para controlar la fuente de alimentación a través de Bluetooth.

La aplicación se ha creado con el programa inventor de aplicaciones del MIT. Se pueden incluir todos los archivos para clonar y modificar el proyecto. Primero, descargue la aplicación complementaria MIT AI2 en su teléfono. A continuación, importe el archivo.aia en el sitio web de AI. Esto también le permite descargar la aplicación en su propio teléfono seleccionando "Construir> Aplicación (proporcionar código QR para.apk)"

Para usar la aplicación, seleccione un dispositivo Bluetooth de la lista: aparecerá como módulo HC-05. Cuando está conectado, se pueden cambiar todos los ajustes y se puede leer la salida de la fuente de alimentación.

Paso 7: código Java

Código Java
Código Java

Para registrar datos y controlar la fuente de alimentación a través de la PC, hice una aplicación Java. Esto nos permite controlar fácilmente la placa a través de una GUI. Al igual que con el código Arduino, no entraré en todos los detalles, pero daré una descripción general.

Comenzamos haciendo una ventana con botones, campos de texto, etc. Cosas básicas de GUI.

Ahora viene la parte divertida: agregar los puertos USB, para lo cual usé la biblioteca jSerialComm. Una vez que se selecciona un puerto, Java escuchará los datos entrantes. También podemos enviar datos al dispositivo.

Además, todos los datos entrantes se guardan en un archivo csv, para su posterior tratamiento.

Al ejecutar el archivo.jar, primero debemos elegir el puerto correcto en el menú desplegable. Después de conectarse, los datos comenzarán a llegar y podremos enviar nuestra configuración a la fuente de alimentación.

Si bien el programa es bastante básico, puede ser muy útil controlarlo a través de una PC y registrar sus datos.

Paso 8:

Imagen
Imagen
Imagen
Imagen
Imagen
Imagen

Después de todo este trabajo, ¡ahora tenemos una fuente de alimentación completamente funcional!

¡Ahora podemos disfrutar de nuestra propia fuente de alimentación casera, que será útil mientras trabajamos en otros proyectos increíbles! Y lo más importante: hemos aprendido muchas cosas a lo largo del camino.

Si te gustó este proyecto, vota por mí en el concurso de microcontroladores y tamaño de bolsillo, ¡te lo agradecería mucho!

Recomendado: