Autor Tema: Bajar el consumo  (Leído 6716 veces)

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

Desconectado Agustina

  • PIC16
  • ***
  • Mensajes: 113
Bajar el consumo
« en: 21 de Octubre de 2008, 20:42:23 »
Buenas! bueno, les cuento, esoty haciendo una placa que debe medir ciertas variables y almacenarlas en una memoria, seria una especie de datalogger. El problema con el que me he encontrado es la duracion de la bateria, ya que el circuito consume unos 15mA!!!! ... es demasiado y no se porque es.

Sin el pic, el circuito consume 4mA que corresponden al regulador (7805, el cual voy a cambiar por un LDO), pero con el pic, consume mas de 15mA. El circuito es muy comun, es un 16F88 con oscilador interno a 8mhz, una memoria i2c y un DS1307. Aparte tiene un par de pulsadores y 2 leds, (apagados por ahora). Tambien tiene un MAX232, que es apagado cuando no se lo necesita, lo apago por software con setup_usart(0) y poniendo a 0v el pin de salida del F88 que alimenta al MAX.

Tambien he probado colocarlo en modo SLEEP pero no varia mucho.... sigue en 15mA... alguien tiene alguna sugerencia?

gracias!!  :g)

Desconectado Gonzalo_BlackHawk

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 519
Re: Bajar el consumo
« Respuesta #1 en: 21 de Octubre de 2008, 22:11:07 »
Hola Agustina, podrias subir el esquematico? De todas formas aunque sin el pic el circuito consuma 4mA en forma continua me parece excesivo, salvo que la bateria sea recargable. Los led's descartalos si quieres mantener bajo el consumos, pero me asombra que el PIC consuma estando en sleep lo mismo que despierto, hay algo que tal vez se nos esta escapando  :mrgreen:

Saludos.
"Siempre piensa si el jugo vale la exprimida..."

"La muerte esta tan segura de vencer que nos da toda una vida de ventaja."

Desconectado Agustina

  • PIC16
  • ***
  • Mensajes: 113
Re: Bajar el consumo
« Respuesta #2 en: 22 de Octubre de 2008, 02:57:49 »
Si gonzalo... es bastante raro, he hecho algunos circuitos con 18F252 y el consumo no supera los 8mA con varios perifericos...

Los 4mA son del 7805, ya que este de por si consume 4 mA, esto se mejora usando un regulador LDO (low drop out), es decir, baja perdida, segun tengo entendido. Pero esto no me preocupa por el momento, lo que me preocupa son esos 15mA.... no se de donde vienen. Mañana subire el esquematico.

gracias!! :g)


Desconectado Javicho

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 570
Re: Bajar el consumo
« Respuesta #3 en: 22 de Octubre de 2008, 04:07:29 »
Mas parece un problema de software, tal vez la instrucción sleep está ahi pero por alguna otra razón sale del sleep, tal vez alguna interrupción o algo asi, prueba algo como esto:

...
sleep
bsf    PORTB,2   ;led arbitrario de prueba

si el led se prende es porque el sleep no está trabajando, si el led no se prende el sleep está bien, si estas usando interrupciones prueba lo mismo con un led arbitrario en tu RSI para que descartes.

Javicho.

Desconectado Gonzalo_BlackHawk

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 519
Re: Bajar el consumo
« Respuesta #4 en: 22 de Octubre de 2008, 14:22:40 »
Mas bien Javicho yo probaria con:

Código: [Seleccionar]
SLEEP
NOP
BSF    PORTB,2   ;led arbitrario de prueba

"Siempre piensa si el jugo vale la exprimida..."

"La muerte esta tan segura de vencer que nos da toda una vida de ventaja."

jacrmr

  • Visitante
Re: Bajar el consumo
« Respuesta #5 en: 22 de Octubre de 2008, 15:48:52 »
Dices que tienes dos pulsadores. Supongo que están con resistencias pullup a Vcc. Si es así ¿de cuánto valor son esas resistencias? Otra cosa, busca un regulador que aparte de LDO sea de muy baja corriente quiescent, que no es lo mismo.
Un saludo.

Desconectado Agustina

  • PIC16
  • ***
  • Mensajes: 113
Re: Bajar el consumo
« Respuesta #6 en: 02 de Diciembre de 2008, 13:30:31 »
Coloque un regulador con baja corriente de quiesent y sacando la memoria de su zocalo, el RTC de su zocalo, y sin el pic (osea, el circuito SOLO), consume 1mA... sin NADA conectado a el...  :? :? :?

Los pulsadores estan con resistencias de pullup de 10k, pero si no esta conectado el PIC, el circuito no se cierra, por lo que no deberia circular corriente...

Alguna sugerencia?  :?

 :g)

Desconectado Gonzalo_BlackHawk

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 519
Re: Bajar el consumo
« Respuesta #7 en: 02 de Diciembre de 2008, 14:40:29 »
Agustina, de que tipo y cuanto voltaje es la batería? porque puedes evitarte los reguladores colocando diodos en serie hasta bajar la tensión hasta los 5V. SI, ya se, es una mersada, pero si el voltaje de la batería es estable puedes ahorrarte esos mA que el regulador si o si te va a consumir.

Saludos.
"Siempre piensa si el jugo vale la exprimida..."

"La muerte esta tan segura de vencer que nos da toda una vida de ventaja."

Desconectado Leon Pic

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3610
    • Impresiones en 3D
Re: Bajar el consumo
« Respuesta #8 en: 02 de Diciembre de 2008, 15:11:58 »
¿El circuito está montado sobre una PCB? Si es si, prueba limpiar el pcb con un cepillo. Una vez tube el mismo problema, revisé todas las conecciones y cada componente y nada. Cuando la limpie, adios problema. De seguro era una pequeñísima gotita de estaño o algo conductor.
Jesús dijo, yo soy el CAMINO, la VERDAD y la VIDA, nadie llega al PADRE si no es por mi.

Desconectado Agustina

  • PIC16
  • ***
  • Mensajes: 113
Re: Bajar el consumo
« Respuesta #9 en: 02 de Diciembre de 2008, 16:01:14 »
El regulador no consume practicamente nada. su consumo es de unos pocos uA. Por ahora lo estoy alimentando con una fuente de 12v, pero estará alimentado con una bateria de 9v.

Probare limpiar el PCB.

grcias!

Desconectado Gonzalo_BlackHawk

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 519
Re: Bajar el consumo
« Respuesta #10 en: 02 de Diciembre de 2008, 17:57:53 »
El regulador no consume practicamente nada. su consumo es de unos pocos uA.

Pero habias dicho que:

Coloque un regulador con baja corriente de quiesent y sacando la memoria de su zocalo, el RTC de su zocalo, y sin el pic (osea, el circuito SOLO), consume 1mA... sin NADA conectado a el...  :? :? :?

No entiendo. Algo me perdí.
"Siempre piensa si el jugo vale la exprimida..."

"La muerte esta tan segura de vencer que nos da toda una vida de ventaja."

Desconectado todopic

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3495
    • http://www.todopicelectronica.com.ar
Re: Bajar el consumo
« Respuesta #11 en: 02 de Diciembre de 2008, 19:05:14 »
Hola, creo que tienes perdida en alguno de los capacitores de la fuente... tienen la tensión suficiente?

Norberto
Firmat - Santa Fe - Argentina

www.TodoPic.net

Solo se tiran piedras, al arbol que tiene frutos...

Desconectado Agustina

  • PIC16
  • ***
  • Mensajes: 113
Re: Bajar el consumo
« Respuesta #12 en: 02 de Diciembre de 2008, 19:29:02 »
Revisando la placa encontre un par de "errores" de diseño... asique los quite y tengo un consumo (en el circuito sin el PIC) de pocos uA (que provienen del regulador).  :mrgreen:

Otra cosa curiosa, es que cuando coloco el PIC en modo SLEEP, este consume unos 260uA... algo alto... pero cuando LO TOCO CON EL DEDO CONSUME 60uA!!!! como puede ser??? que estoy haciendo mal??

Esta es la parte de la configuracion de puertos y hardware


//configuracion0110001 de puertos
set_tris_a (0b00110001);   //Ra7-Ra6-Ra5-Ra4-Ra3-Ra2-Ra1-Ra0
set_tris_b (0b11000100);   //Rb7-Rb6-Rb5-Rb4-Rb3-Rb2-Rb1-Rb0

setup_uart(FALSE); // did the trick with me
setup_spi(false);
setup_adc(false);
setup_comparator(NC_NC_NC_NC);
setup_CCP1(CCP_OFF);
SETUP_ADC(ADC_OFF);


output_low(PIN_A0) ;
output_low(PIN_A1) ;
output_low(PIN_A2) ;
output_low(PIN_A3) ;

output_low(PIN_B0);
output_low(PIN_B3);

init_ext_eeprom();
ds1307_init();


sleep();



gracias! :g) :g)

jacrmr

  • Visitante
Re: Bajar el consumo
« Respuesta #13 en: 02 de Diciembre de 2008, 20:26:36 »
Citar
Otra cosa curiosa, es que cuando coloco el PIC en modo SLEEP, este consume unos 260uA... algo alto... pero cuando LO TOCO CON EL DEDO CONSUME 60uA!!!! como puede ser??? que estoy haciendo mal??

Revisa que cualquier pin de entrada (incluyendo TOCKI) estén conectados a algún nivel de voltaje sea HI o LO.

Desconectado Agustina

  • PIC16
  • ***
  • Mensajes: 113
Re: Bajar el consumo
« Respuesta #14 en: 03 de Diciembre de 2008, 11:56:52 »
Puse todos los puertos que no usaba a tierra y aparte los configure como salida y a LOW... el consumo bajo, pero se mantiene inestable entre 75 y 90 uA. Pero cuando toco el pic con el dedo esto baja a unos 20uA y cuando saco el dedo se va a 130uA y empieza a oscilar por ese valor...

Me esta rompiendo la cabeza esto  :x

Les dejo el codigo completo por si tienen alguna sugerencia.

Código: [Seleccionar]
#include <16F88.h> //aca pongo el pic que voy a usar


#fuses INTRC_IO, NOPROTECT, PUT, NOMCLR, NOWDT, NOBROWNOUT, NOLVP

#use delay(clock=2000000) // le digo al compilador que voy a usar un cristal de
//20 MHZ para que calcule solo los retardos cuando uso la funcion DELAY.

#use rs232(baud=9600, xmit=PIN_B5, rcv=PIN_B2)  // configuro los pines que voy a
//usar como puerto serial. 19200 es la velocidad del puerto, esto despues lo vemos.

#use standard_io(A)
#use standard_io(B)

#use i2c(master, sda=pin_B1, scl=pin_B4)


#define EEPROM_SDA  PIN_B1
#define EEPROM_SCL  PIN_B4

#define RTC_SDA  PIN_B1
#define RTC_SCL  PIN_B4

#include <24256.c>
#include <DS1307.c>

#define led1_on output_high(PIN_A6)
#define led1_off output_low(PIN_A6)

#define led2_on output_high(PIN_A7)
#define led2_off output_low(PIN_A7)

#define buzer_on output_high(PIN_B0)
#define buzer_off output_low(PIN_B0)


#define rs232_on output_high(PIN_B3)
#define rs232_off output_low(PIN_B3)

#define start input(PIN_B6)
#define reset input(PIN_B7)

 
void main(void) // esto va siempre
{

set_tris_a (0b00000000);   //Ra7-Ra6-Ra5-Ra4-Ra3-Ra2-Ra1-Ra0
set_tris_b (0b11000100);   //Rb7-Rb6-Rb5-Rb4-Rb3-Rb2-Rb1-Rb0


setup_uart(FALSE); // did the trick with me
setup_spi(false);
setup_adc(false);
setup_comparator(NC_NC_NC_NC);
setup_CCP1(CCP_OFF);
SETUP_ADC(ADC_OFF);


output_low(PIN_A0) ;
output_low(PIN_A1) ;
output_low(PIN_A2) ;
output_low(PIN_A3) ;
output_low(PIN_A4) ;
output_low(PIN_A5) ;
output_low(PIN_A6) ;
output_low(PIN_A7) ;

output_low(PIN_B0);
output_low(PIN_B1);
output_low(PIN_B2);
output_low(PIN_B3);
output_low(PIN_B4);


init_ext_eeprom();


ds1307_set_date_time(dia,mes,ano,dow,hora,minutos,segundos);
ds1307_init();


sleep();



   while(true)
   {


   }//fin while (programa principal)
}//fin main