Autor Tema: Mi dspic30F a 30MIPS se calienta como el infierno  (Leído 6706 veces)

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

Desconectado jfmateos2

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3145
Mi dspic30F a 30MIPS se calienta como el infierno
« en: 30 de Julio de 2014, 09:32:51 »
He programado un dspic30f5013 que está funcionando a 30MIPS a partir del oscilador interno... y se calienta hasta el punto que no es soportable al tacto.

He leído información sobre este asunto y, concretamente, en este hilo (http://www.microchip.com/forums/m218103.aspx) indican lo siguiente:

Citar
I posted here in the forum and got some very common sense things to try, (some that I should have remembered on my own)...... like, are all of the unused I/O lines either grounded/pulled high or set as outputs? When I did this, the temp dropped a bit, but yes, the '4013 ran hot still.

¿Se calienta menos un PIC si los pines no usados se configuran como salida en lugar de como entrada?

¿Algún otro consejo para intentar reducir la temperatura? Renunciar a los 30MIPS no es una opción en mi caso

Desconectado KALLITOS

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1256
Re: Mi dspic30F a 30MIPS se calienta como el infierno
« Respuesta #1 en: 30 de Julio de 2014, 11:00:56 »
Te sugiero algo mejor, pásate a pic24HJ tendrás 40MIPS mas frios que poto de pingüino.

saludos.
A un microcontrolador hay que sacarle hasta el ultimo byte....(YO)

Cómo puede ser que un pic24EP512 me quede corto de memoria, señores de MICROCHIP saquen pics con más memoria flash

Más de 45 mil lineas de codigo y aun no termino el equipo, asu mare!!

S34ML08G1TFI200 no necesito mas memoria externa.

Desconectado jfmateos2

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3145
Re: Mi dspic30F a 30MIPS se calienta como el infierno
« Respuesta #2 en: 30 de Julio de 2014, 11:07:26 »
El problema es que necesito sensar entradas de 5V

Desconectado KALLITOS

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1256
Re: Mi dspic30F a 30MIPS se calienta como el infierno
« Respuesta #3 en: 30 de Julio de 2014, 12:05:40 »
Bueno, en este momento estoy usando un pic24EP512GU810 que trabaja a 3.3V a 50 MIPS midiendo 10 entradas analogicas de 5 volt usando LM324 como seguidor de voltaje y a su salida un divisor de voltaje de 2 resistencias de 1K de presición. La medida es muy correcta, estoy trabajando en visual basic y modifico el Vref mediante un textbox para lograr igualar las mediciones entre Tester y Visual Basic. Ya convertir la lectura en su valor real es cuestión de multiplicaciones.

Debo comentarte que este micro tiene un modo de lectura analogica tipo scan, y lo que hago es detectar interrupción y leer los resultados en el bufer correspondiente, todo el trabajo lo hace el micro, yo solo hago la acumulación en variables para su posterior promedio y asi estabilizar las lecturas, te lo recomiendo.

Tambíen he usado el pic24HJ256GP210 y éste también trae scaner de entradas analógicas.

saludos.


Código: C
  1. if(_AD1IF)
  2.         {
  3.         _AD1IF = 0;
  4.         Valores_ADC[0].Prom += ADC1BUF0;
  5.         Valores_ADC[1].Prom += ADC1BUF1;
  6.         Valores_ADC[2].Prom += ADC1BUF2;
  7.         Valores_ADC[3].Prom += ADC1BUF3;
  8.         Valores_ADC[4].Prom += ADC1BUF4;
  9.         Valores_ADC[5].Prom += ADC1BUF5;
  10.         Valores_ADC[6].Prom += ADC1BUF6;
  11.         Valores_ADC[7].Prom += ADC1BUF7;
  12.         Valores_ADC[8].Prom += ADC1BUF8;
  13.         Valores_ADC[9].Prom += ADC1BUF9;
  14.  
  15.         if(++cont_ADC > 300)
  16.                 {
  17.                
  18.                 for(cont_ADC_PROM = 0;cont_ADC_PROM < 10;cont_ADC_PROM++)
  19.                         {
  20.                         SALIDA_TEST = ~SALIDA_TEST;     //PARA MEDIR EL TIEMPO USANDO ANALIZADOR LOGICO
  21.                         //PROMEDIANDO
  22.                         Valores_ADC[cont_ADC_PROM].Prom /= cont_ADC;
  23.                         //ASIGNANDO A LOS UINT16
  24.                         //Valores_ADC[cont_ADC_PROM].valor = Valores_ADC[cont_ADC_PROM].Prom;
  25.                         //ASIGNANDO A LOS FLOATS
  26.                         Valores_ADC[cont_ADC_PROM].Volt_ADC = (float)Valores_ADC[cont_ADC_PROM].Prom;
  27.                         Valores_ADC[cont_ADC_PROM].Volt_ADC *= Val_FAC_REF;
  28.                         //Valores_ADC[cont_ADC_PROM].Volt_ADC /= 1000;
  29.                                
  30.                         //CLEAR REGISTROS
  31.                         Valores_ADC[cont_ADC_PROM].Prom = 0;   
  32.                         }//
  33.                 cont_ADC = 0;
  34.                 SALIDA_TEST = 1;__delay_us(10);SALIDA_TEST = 0;
  35.                 }//
  36.         }//

« Última modificación: 30 de Julio de 2014, 12:08:54 por KALLITOS »
A un microcontrolador hay que sacarle hasta el ultimo byte....(YO)

Cómo puede ser que un pic24EP512 me quede corto de memoria, señores de MICROCHIP saquen pics con más memoria flash

Más de 45 mil lineas de codigo y aun no termino el equipo, asu mare!!

S34ML08G1TFI200 no necesito mas memoria externa.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re: Mi dspic30F a 30MIPS se calienta como el infierno
« Respuesta #4 en: 30 de Julio de 2014, 12:41:20 »
Aunque no tienen base metálica, yo tuve ese problema, y le pegué un disipador encima con masilla térmica y la temperatura bajó considerablemente. Hasta el punto de que ya podía tocarlo con los dedos.

Desconectado jfmateos2

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3145
Re: Mi dspic30F a 30MIPS se calienta como el infierno
« Respuesta #5 en: 30 de Julio de 2014, 13:02:27 »
Gracias Kallitos... tengo que sensar en digital unas 20 entradas y no puedo poner más componentes porque el presupuesto es muy limitado (mínimo: sólo el dsPIC y sus condensadores, nada más)

Gracias Noc... ahora mismo estoy buscando unos disipadores por ebay

¿Alguien sabe si configurando los pines que no se usan como salida el dspic se calienta menos que teniéndolos como entradas?

Desconectado jfmateos2

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3145
Re: Mi dspic30F a 30MIPS se calienta como el infierno
« Respuesta #6 en: 30 de Julio de 2014, 13:20:13 »
Pues parece que sí:

Citar
Active high inputs from switches should have a pull-down resistor to drain trapped charges on processor inputs. Unused inputs should be terminated with either a pull-up or pull-down resistor, or processor current consumption may increase due to transistor switching action causing noise inside the processor. An alternative to terminating unused I/O pin is to program the pins to output a low level.

Sacado de : http://learn.digilentinc.com/Documents/164

Desconectado jfmateos2

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3145
Re: Mi dspic30F a 30MIPS se calienta como el infierno
« Respuesta #7 en: 30 de Julio de 2014, 13:21:15 »
Por cierto, me acabo de montar un disipador con monedas de 1 y 2 céntimos enganchadas al dspic con cinta adhesiva que es pa descojonarse ...

Desconectado Tisco

  • PIC16
  • ***
  • Mensajes: 108
Re: Mi dspic30F a 30MIPS se calienta como el infierno
« Respuesta #8 en: 30 de Julio de 2014, 13:34:34 »
Por cierto, me acabo de montar un disipador con monedas de 1 y 2 céntimos enganchadas al dspic con cinta adhesiva que es pa descojonarse ...

Pon una foto hombre!

Desconectado Jorge555

  • PIC18
  • ****
  • Mensajes: 496
    • JMN
Re: Mi dspic30F a 30MIPS se calienta como el infierno
« Respuesta #9 en: 30 de Julio de 2014, 14:04:03 »

¿Se calienta menos un PIC si los pines no usados se configuran como salida en lugar de como entrada?


Si, los pines de entrada del microcontrolador que se dejan al aire no tienen un estado definido y están provocando que los transistores internos del puerto de entrada puedan tener un consumo alto de corriente ya que la entrada esta oscilando entre 1 y 0. Para evitar esto los pines que no se usen se configuran como salida, o se configuran como entrada y se activa una de las resistencias internas de cada pin de pull-up o pull-down, llevando la entrada y los transistores a un estado definido minimizando el consumo.

Al pasar más corriente el micro se calentará más, aunque va a ser un incremento de temperatura casi despreciable, a la hora de diseñar circuitos alimentados con batería donde el consumo es importante no dejarse los pines como entrada sin darles un estado definido es importante, ya que si se dejan así la batería durará menos.

Aquí hice una prueba de eso: http://webdelcire.com/wordpress/archives/2068

Citar
En la primera parte del vídeo se conecta un polímetro en serie con el pin de alimentación del microcontrolador para medir el consumo de éste, usando VLO para generar el reloj de la CPU, los pines que no se usan están configurados como entrada y al aire, cuando se pulsa el botón los pines se ponen a tierra mediante la resistencia de pull-down interna de cada pin, apreciando una enorme bajada de consumo del microcontrolador.

En un micro pequeño con pocas patas dejar los pines que no se usan sin poner a un estado definido supone un incremento en el consumo de corriente de 90 uA.



Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re: Mi dspic30F a 30MIPS se calienta como el infierno
« Respuesta #10 en: 30 de Julio de 2014, 14:32:42 »
Por cierto, me acabo de montar un disipador con monedas de 1 y 2 céntimos enganchadas al dspic con cinta adhesiva que es pa descojonarse ...

Jaja, fotos, fotos

Desconectado ppyote

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 929
Re: Mi dspic30F a 30MIPS se calienta como el infierno
« Respuesta #11 en: 30 de Julio de 2014, 15:07:43 »
Por cierto, me acabo de montar un disipador con monedas de 1 y 2 céntimos enganchadas al dspic con cinta adhesiva que es pa descojonarse ...
Sí que debe de ser bajo el presupuesto :):):)
PPyote... siempre estareis en mi corazon.... Te quiero Hermano...

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: Mi dspic30F a 30MIPS se calienta como el infierno
« Respuesta #12 en: 30 de Julio de 2014, 16:12:32 »
Los pines sin usar los tienes que poner como salidas digitales y puestos a 0.

Lo de poner pull-up o pull-down es otra opcion, pero bastante mas cara, aparatosa...

Jamas ponerlos como input ni como ADC puesto que se inducen ruidos en su interior, las salidas tienen que estar en 0 para evitar darle ruidos a las patillas que si se estan usando, al darles un 0 estas creando un plano a masa.

Lo que dice jorge555 es correcto, sin embargo los puertos jamas estan con un estado indefinido, al resetearse el pic lo normal es que los puertos los ponga como ADC y si no tiene adc ese pin pues los pone como input. Asi que su estado serian ADC o Input  si no los pones de otra forma.

Desconectado jfmateos2

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3145
Re: Mi dspic30F a 30MIPS se calienta como el infierno
« Respuesta #13 en: 30 de Julio de 2014, 16:30:21 »
Gracias chicos... ahí va la foto pa que se descojonen... pero el caso es que funciona.

Desconectado Jorge555

  • PIC18
  • ****
  • Mensajes: 496
    • JMN
Re: Mi dspic30F a 30MIPS se calienta como el infierno
« Respuesta #14 en: 30 de Julio de 2014, 17:12:36 »
Lo que dice jorge555 es correcto, sin embargo los puertos jamas estan con un estado indefinido, al resetearse el pic lo normal es que los puertos los ponga como ADC y si no tiene adc ese pin pues los pone como input. Asi que su estado serian ADC o Input  si no los pones de otra forma.

Si están puestos como entrada sin resistencia de pull-up el estado de ese puerto va a oscilar entre uno y cero, la entrada no va a estar definida, a eso me refiero que no sé si es así o se me ha entendido mal.