Autor Tema: Lampara de LEDs...  (Leído 5238 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado delirio

  • PIC12
  • **
  • Mensajes: 64
Lampara de LEDs...
« en: 06 de Abril de 2017, 16:24:38 »
Buenas tardes, comento y después pregunto...
Estoy intentando hacer una lampara de led a batería, con una LiPo 18650 de 2600 mA
El micro para la gestión del PWM es un 12F1822, que a 8MHz el datasheet dice que puede operar desde 1.8V - 5.5V, lo que no sería necesario un regulador de voltaje...
Los leds son unos SMD, encapsulado 2835, de 1/2 watt cada uno, de 3V y 150 mA.
La idea es utilizar 5 de estos led, en un principio pensé en conectarlos en paralelo, con una resistencia de 8ohm, para no pasarme con la corriente, todo funciona perfecto, pero mientras la batería esté bien cargada.
La LiPo entrega como maximo 4.2V(carga a full) y minimo 2.8V (el fabricante no recomienda descargarla por debajo de este valor), yo pensé que con pin del ADC del micro poder leer el voltaje de la batería y si el voltaje llega por debajo de los 3V, entonces apagar los leds, para no sobredescargar la batería.
Con los 5 leds, obtengo mas luz de lo que necesito, entonces la idea es que el maximo de brillo sea con un duty del 43% aprox. (trabajo con el CCP a 8bits, y el max valor que le cargo es 110)
Pero sin importar la posición del dimmer (PWM duty), los leds empiezan a perder fuerza a medida que la batería se descarga... entonces, que me recomiendan??
1) aprevechar la lectura del voltaje de la batería, e ir aumentando de alguna manera el duty para compensar...?
2) algún step-up para mantener el voltaje constante que le aplico a los leds...?

Gracias y saludos a todos

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Lampara de LEDs...
« Respuesta #1 en: 06 de Abril de 2017, 16:34:37 »
O un control de corriente y no de ponerle resistencias fijas seria otra solucion creo dentro de todo tendrias un brillo constante. ( O un Led Driver como este: https://www.onsemi.com/pub/Collateral/NSI45060JD-D.PDF )

Ademas la frecuencia del PIC es muy alta para algo con bateria, mejor que sea poca frecuencia o mejor quitarlo en lo posible. Mientras mas frecuencia mas consume el PIC.
Respecto al corte imagino que lo queres para la carga y descarga de la bateria, o lo haces con un micro como decis, o te buscas algun IC que pueda realizar esto por si solo.
« Última modificación: 06 de Abril de 2017, 17:37:48 por KILLERJC »

Desconectado delirio

  • PIC12
  • **
  • Mensajes: 64
Re:Lampara de LEDs...
« Respuesta #2 en: 06 de Abril de 2017, 19:28:44 »
Gracias KILLERJC, evalué también lo del control de corriente, pero orienté mi búsqueda en circuitos a base de transistores, pero no llegué a nada concreto... Desconocía estos CCR, voy a ver si acá en Baires se consigue algo similar...
El ajuste por duty calculando el voltaje, arroja que cuando está demerizado a un % bajo, se nota los cambios de intensidad ... No me gusta ni un poquito :(
En cuanto al corte, es para no descargar la batería por debajo de lo estipulado en la hoja técnica...
La carga la hago con un módulo x USB igual a este.

http://www.todomicro.com.ar/investigacion-desarrollo-y-prototipado/344-modulo-de-carga-de-bateria-de-litio-con-entrada-mini-usb.html

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Lampara de LEDs...
« Respuesta #3 en: 06 de Abril de 2017, 19:44:43 »
Entonces una fuente de corriente realizada con BJT + un comparador que bloquee a ese transistor al momento de detectar que la tension es baja ( con histeresis mejor )

Busca como hacer cada cosa, pero imagino que con unas resistencias, 1 diodo, 1 comparador y un BJT que se aguante la potencia de los leds lo tenes. No lo simule ni probe pero no creo estar tan lejos :P
« Última modificación: 06 de Abril de 2017, 20:25:21 por KILLERJC »

Desconectado delirio

  • PIC12
  • **
  • Mensajes: 64
Re:Lampara de LEDs...
« Respuesta #4 en: 06 de Abril de 2017, 22:37:05 »
Si, era la idea inicial, pero todavía no estoy seguro que funcione la fuente de corriente constante con un BJT, la tension de los leds sumada a los 0.7 del transistor, estoy a la mitad de la delta  V  de la LiPo.
Ahora bien, para el corte pensaba solo chequear voltaje con el adc y si baja por debajo de la tensión apagar los LEDs si es que estuvieran encendidos.
La lectura funciona bastante bien, ya que el micro tiene V.Ref fija, estoy usando en 2.048V, ya que en 4.096V no puedo porque el voltaje de alimentación será menor a medida que la LiPo vaya perdiendo carga, y el pin del ADC lo pongo con un divisor simétrico, con dor resistencias de 10k entre VDD y VSS. Si bien cuando la Bata está cargada al 100% se me va de escala, lo que me interesa es medirla cuando está alrededor de los 3V, y eso funciona muy bien.

Código: [Seleccionar]
int16 valor;                              // lectura del adc
float ajuste;                             // lectura del adc
float voltios;                            // calculo para el voltaje
float const resoluc= (2.048/1024.0)*2;

const char end_of_transmit = '\r';           // Carácter que indica fin de transmisión (no buffereable)
const char new_line = '\n';                  // Carácter que indica fin de transmisión (no buffereable)

void calculate_vdd (void) {
   valor = read_adc();
   delay_us(20);
   voltios = valor * resoluc;
}

void main() {

   inicializacion();   
   
   while (true) {                   // bucle infinito
     
      if ( current_millis - debug_millis >= 500 ) {
         calculate_vdd();
         fprintf(MODEM, "%1.2fV - %Lu%c%c", voltios, valor, end_of_transmit, new_line);
         debug_millis = current_millis;
      }
   }
}

Desconectado AKENAFAB

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3227
Re:Lampara de LEDs...
« Respuesta #5 en: 07 de Abril de 2017, 00:54:43 »
Usa el pwm a 10bits para suavizar los cambios de intensidad.

No se que frecuencia vayas a usar pero por lo general está entre 1k a 4khz, el más común 2kHz.

Podrías limitar la corriente con el comparador del pic u otro externo.
Agregando una resistencias shunt en el source o en el emisor y medir el voltaje.

Desconectado delirio

  • PIC12
  • **
  • Mensajes: 64
Re:Lampara de LEDs...
« Respuesta #6 en: 07 de Abril de 2017, 12:43:41 »
No estoy muy familiarizado con el PWM, pero creo entender que con una frecuencia de 8MHz ya no puedo utilizar 10bits, corijanmé por favor si estoy equivocado...
Además, como aconceja KILLERJC, lo mejor sería bajar mas la frecuencia del micro, ya que estará alimentado con batería.

Desconectado AKENAFAB

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3227
Re:Lampara de LEDs...
« Respuesta #7 en: 10 de Abril de 2017, 13:59:28 »
Los 8MHz de los que hablas es tu frecuencia de Oscilacion del reloj del micro o es tu frecuencia PWM?

Yo entendi esos 8MHz como frecuencia de operacion del micocontrolador.

El PWM en que frecuencia lo estas trabajando??

Los bits de resolucion son dependiente de la frecuencia que selecciones y la velocidad de trabajo de tu micro.


Desconectado delirio

  • PIC12
  • **
  • Mensajes: 64
Re:Lampara de LEDs...
« Respuesta #8 en: 10 de Abril de 2017, 17:29:10 »
Así es, los 8MHz es la velocidad del micro, la del pwm es 1,22khz, ahora no estoy con la info encima, pero creo recordar alrededor de FFh es lo que cargo en el PR y 16 el prescaler.
Pero si cambio el prescaler, vario la frecuencia del PWM, y si cambio el valor del PR vario los bits de resolución....

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5892
    • Picuino
Re:Lampara de LEDs...
« Respuesta #9 en: 11 de Abril de 2017, 04:24:15 »
Yo haría un conversor buck (reductor) con mosfet N activado por el microcontrolador y control por tensión.
Si mides 3.5v en batería y mides 0.5v en el buck (referidos a masa) es que los led tienen 3.0v (referidos a Vdd)
Cuanta más tensión tengan los led, más luminosidad. En saltos de 4mV del ADC puedes hacer un control bastante preciso.
Eso si, la medida de tensión debe ser precisa y hay que tener en cuenta que las curvas de los led cambian de uno a otro y que cambian con la temperatura, para no sobrepasar los valores máximos.

Un saludo.

Desconectado delirio

  • PIC12
  • **
  • Mensajes: 64
Re:Lampara de LEDs...
« Respuesta #10 en: 11 de Abril de 2017, 09:07:00 »
Entonces con pwm controlaría el Buck y la tensión resultante se aplicaría a los LEDs, y variando la tensión de salida varía el brillo de los LEDs... Voy a probar... Gracias

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5892
    • Picuino
Re:Lampara de LEDs...
« Respuesta #11 en: 11 de Abril de 2017, 09:42:37 »
Hace falta una bobina, un condensador y un diodo. Y tener cuidado de no pasar unos límites porque puedes quemar los componentes.
Lo mejor es establecer el duty (ciclo de trabajo) a partir de la tensión de alimentación y con una tabla de datos.

Luego puedes hacer pequeños cambios con un lazo de realimentación, pero es probable que sea suficiente con lazo abierto. La regulación de una linterna no es algo muy exigente en precisión.

Un saludo.
« Última modificación: 11 de Abril de 2017, 09:45:07 por Picuino »

Desconectado delirio

  • PIC12
  • **
  • Mensajes: 64
Re:Lampara de LEDs...
« Respuesta #12 en: 11 de Abril de 2017, 16:11:59 »
Y que sería este buck converter....? step up o step down?

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Lampara de LEDs...
« Respuesta #13 en: 11 de Abril de 2017, 17:57:26 »
Un buck es un step-down. Un boost es un step-up

EDIT: Luego mas abajo me di cuenta de mi error, nunca lei que eran 5 Leds, asi que lo escrito por mi aca esta todo mal

Lo que yo entendi del problema es:

- Mantener constante la corriente en los leds, asi brillan igual en todo momento.
- Cortar al momento en que la bateria llegue a un valor pequeño.

Ademas de las soluciones propuestas te doy otra.

Un integrado como este:
http://ww1.microchip.com/downloads/en/DeviceDoc/22234B.pdf
En el cual el MCP1640B lo tenes en 1.4 dolares  (40/50 pesos) en un negocio de Baires. Ya ahi eso te permite con un par de componentes tener una salida regulada de 5V por ejemplo. De alli le quitas solo los 150mA que necesitas con una resistencia como pensaste al comienzo.
Con esto solucionas tu primer problematica que es de mantener el brillo constante. Supuestamente con Vin de hasta 0.8V funcionaria este integrado, pero vos nunca te acercarias a eso. El maximo que maneja son 350mA y vos estarias en 150mA.

Ahora necesitas solo la parte de corte. Y por suerte este micro posee un pin de ENABLE, solo necesitarias hacer un sistema de corte con histeresis, seguramente con un AO/comparador si es que queres definir tus puntos,  tambien vas a necesitar una referencia de tension de al menos 1.2V para asegurarte, la referencia cuesta aproximadamente lo mismo que el boost anterior.

El unico punto feo de esto, es la necesidad de buscar algun AO/Comparador que pueda manejarse tambien cno voltajes bajos. Para eso encontre el LM2903 (0.34 dolares), el cual es un comparador single supply, de 2V o mas.  De alli comparar la tension de referencia y la de la bateria.

Al comparar puede haber dos soluciones, si tenes una tension de referencia que es ajustable podrias intentar actuar sobre esta, o sino podes usar resistencias para definir la hysteresis, dejo AN:
http://www.ti.com/lit/ug/tidu020a/tidu020a.pdf

mayor cantidad de componentes que poner solo un micro y manejarlo desde alli. Es lo unico feo.
« Última modificación: 11 de Abril de 2017, 18:57:45 por KILLERJC »

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5892
    • Picuino
Re:Lampara de LEDs...
« Respuesta #14 en: 11 de Abril de 2017, 18:28:39 »
Si colocas 5 led de 150mA en paralelo, necesitas 750mA.
Pero has comentado que es suficiente con la mitad de luminosidad, 375mA

Otra solución es colocar un NPN en emisor común, los led en paralelo conectados a Vdd y al colector del transistor y una resistencia a la base del transistor calculada para entregar como mínimo los 375mA cuando la lipo esté casi descargada.
Cuando la batería esté cargada, tendrás que poner un pwm para reducir un poco la corriente.
También puedes variar el pwm con la temperatura. Algunos micros modernos de Microchip incluyen sensor de temperatura.

Esta solución es más sencilla y no puede quemar ningún componente. Como desventaja, consume un poco más de potencia. Pero el rendimiento a 3.6V de batería es del 83% que no está mal.

Un saludo.