Autor Tema: Ayuda sobre consumo de PIC  (Leído 10810 veces)

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

Desconectado Chaly29

  • Moderador Global
  • DsPIC33
  • *****
  • Mensajes: 4315
Re: Ayuda sobre consumo de PIC
« Respuesta #15 en: 31 de Diciembre de 2006, 09:21:38 »
Hola pollastre, ahora que cuentas el uso que le darás al PIC te puedo llegar a decir que si las salidas entran todas a IC que poseen alta impedancias de entradas, el consumo del PIC dudo mucho que sea superior a los 20mA, los cuales con un 78L05 sería más que suficiente para poder cubrirlos.

Por otro lado, si usas el ICSP y tú problema es el Vdd, pues sensillo, sácaselo y no lo uses, deja que el propio circuito alimente el PIC mientras lo programas serialmente, solo deja que el GND sea común tanto para el programador como para el circuito de funcionamiento del PIC.

Entonces si no usas el Vdd y al PIC lo alimentas con los 4.3V, a las lineas RB6 y RB7 le colocas una resistencia en seríe para limitar la tensión a la hora de la programación.

O también puedes usar un IC tipo TTL con salidas de colector abierto y a estas salidas las conectas a los 4.3V por medio de las resistencias pertinentes, de esta forma el programador funcionará con los 5V del USB pero a su salida la señal digital será con tensiones de 4.3V.

En definitiva el Vdd del ICSP lo usas para alimentar el PIC cuando este no dispone de una alimentación por medio de su PCB de uso o esta alimentación es muy complicada de usar, pero si tú tienes en orden de funcionamiento el circuito donde se encuentra dicho PIC, y le conectas las demas señales necesarias para la programación "in circuit" (MCLR, RB6, RB7 y GND), no veo el problema de realizar esta programación si hacer uso del Vdd.

Espero te sea de ayuda, un saludo.

Atte. CARLOS.
La teoría es cuando se sabe todo y nada funciona. La práctica es cuando todo funciona y nadie sabe por qué.

Desconectado pollastre

  • PIC12
  • **
  • Mensajes: 65
Re: Ayuda sobre consumo de PIC
« Respuesta #16 en: 31 de Diciembre de 2006, 13:03:16 »
pues francamente.... es una estupenda idea. De esta manera lo único que tendrían que saber los técnicos es que el circuito se reprograma SIN desconectarlo de su alimentación original... esto es, de la batería del vehículo... así cubrimos Vdd y Vss ... y RB6,RB7 y Vpp (MCLR) se los proporciono mediante un crimp plug de 3 pines, viniendo desde el ICSP.

Muchas gracias por la sugerencia... la probaré en protoboard hoy mismo.

l'pollastre

Desconectado Chaly29

  • Moderador Global
  • DsPIC33
  • *****
  • Mensajes: 4315
Re: Ayuda sobre consumo de PIC
« Respuesta #17 en: 31 de Diciembre de 2006, 13:34:54 »
Hola pollastre , acuerdate que Vss tiene que ser común tanto al programador como al circuito, por lo tanto las señales que saldrían del programador serían las siguientes:

RB6, RB7, Vpp (MCLR) y Vss (masa o GND)

Sin el Vss de común no creo que puedas programar nada :mrgreen:, y sí la programación será con la conexión permanente del circuito al vehiculo porque este es el encargado de alimentar el mismo.

Un saludo.

Atte. CARLOS.
La teoría es cuando se sabe todo y nada funciona. La práctica es cuando todo funciona y nadie sabe por qué.

Desconectado flacoclau

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1692
    • El Micro Reactor
Re: Ayuda sobre consumo de PIC
« Respuesta #18 en: 31 de Diciembre de 2006, 14:59:29 »
Pollastre si todo lo demás trabaja a 4,3V, no podrías hacer que el pic también trabaje a esa tensión?
Las personas con buena ortografía me atraen textualmente.

El Micro Reactor

Córdoba capital - Argentina.

Desconectado pollastre

  • PIC12
  • **
  • Mensajes: 65
Re: Ayuda sobre consumo de PIC
« Respuesta #19 en: 01 de Enero de 2007, 13:58:45 »
no, verás, si es que esa es la situación actual... que el PIC trabaja a 4,3v. Precisamente el problema venía por ahí, cuando intentaba usar un diodo en Vdd_pic para que al conectar Vdd_icsp (que son 5v, y no 4,3) , los 5 volts no se propagasen por el raíl de Vdd. Como te puedes imaginar, el diodo en conducción normal le metía una caída de 0,55v a Vdd_pic... así que en funcionamiento normal tenía todo lo demás funcionando a 4,3 , y el pic se bajaba a 3,75v, con lo cual el pic no arrancaba siquiera (entiendo que es porque según microchip, para Fosc=16Mhz, Vdd(min) = 4,25v)

Lo que propone chaly29 elimina este problema, pues no usamos el Vdd_icsp en ningun momento. Por descontado que sí hay que usar Vss_icsp, porque si no el programador se queda "tieso", como bien dice chaly29. Afortunadamente GND de una batería de coche es 0v, igual que GND del programador, así que podemos conectarlas sin problemas... y con un poco de suerte, lo mismo hasta funciona y todo  :mrgreen:

saludos,

Desconectado pollastre

  • PIC12
  • **
  • Mensajes: 65
Re: Ayuda sobre consumo de PIC
« Respuesta #20 en: 02 de Enero de 2007, 08:50:42 »
Estimado Chaly29,

una cuestión: como tú bien dices en el post anterior, habría que "rebajar" los 5 volts que vamos a meter en RB6 y RB7 desde el ICSP, pues estos vienen a 5 volts, y vamos a alimentar con el Vdd del circuito, que como hemos discutido va a 4,3 volts.

Dado que, según datasheet, V_high_max = Vdd, es decir, un "1" lógico debe valer como máximo Vdd en los pines de entrada, parece claro que tendremos que bajar RB6 y RB7 de 5 a 4,3v como mucho.

Ahora, la duda que tengo es.... en un pin en estado de alta impedancia (como son RB6 y RB7 en el momento de programar)... teóricamente no fluye intensidad..... así que, cómo provoco una caida de potencial ? tú mencionabas que habría que meterle dos resistencias a RB6 y RB7... pero si no fluye intensidad, entonces cómo conseguimos una caida de potencial, por mucha resistencia que pongamos?

Consultando el datasheet, he visto que quizás la respuesta está en el parámetro "input leakage current"... que se refiere a la intensidad residual que fluye hacia el pic incluso cuando el pin está en HI. Para el portB da valores de 1uA... si yo quiero una caída de, digamos, 1 voltio (para dejar RB6 y RB7 en 4 volts para el "1" lógico), tendría que V=IR ==> para V= 1 volt ==> R = (1 / 10^-6) = 1M.... entonces, con sendas resistencias de 1Mohm en RB6 y RB7, debería estar ya tranquilo ?

gracias y un saludo

l'pollastre

Desconectado Chaly29

  • Moderador Global
  • DsPIC33
  • *****
  • Mensajes: 4315
Re: Ayuda sobre consumo de PIC
« Respuesta #21 en: 02 de Enero de 2007, 11:01:35 »
Hola pollastre, no estás muy lejos con lo que dices, pero yo me baso en algo parecido para recomendarte las resistencias.

Si miras el datasheet de los PIC verás que cada pin de entrada tiene 2 diodos de protección conectados en inversa tanto con Vdd como con Vss.

Como Vss no es nuestro problema lo descartaremos y solo usaremos el diodo de Vdd, entonces la explicación resultará más sencilla.

El diodo que conecta el pin de entrada a Vdd como ya comenté esta en inversa, por lo tanto cuando una tensión mayor a la Vdd+0.6Vcc es tratada de introducir por uno de los pines, al estar este diodo esa tensión es derivada a Vdd, por tal motivo si nosotros no conectamos una resistecia la corriente que circularía por ese diodo se elevaría demaciado y quemariamos el mismo, entonces como "limite" para esta corriente colocamos tal resistencia.

Entonces nos queda lo siguiente, la tensión del programador es de 5Vcc, esta tensión pasa por dicha resistencia y es introducida al pin del PIC, como Vdd del PIC es de 4.3Vcc y sabemos que la caida de tensión de los diodos de silicio es de aproximadamente 0.6Vcc (en los pic), si la tensión del pin es mayor a 4.3 + 0.6 = 4.9Vcc el diodo entra en conducción y no deja que la tensión del pin sobrepase dicho límite.

El problema está en que dicho diodo tiene un limite de intensidad, por lo tanto la resistencia a de tener un límite mínimo de impedancia para que la corriente no queme el diodo.

Como el programador entrega 5Vcc y el límite esta definido en 4.9Vcc la diferencia a compensar es solo de 0.1Vcc, que desde ahora en adelante por seguridad usaremos 0.4Vcc, entonces sabiendo que la intensidad por esos diodos no es conveniente que sea superior a los 25uA los cálculos nos quedan de la siguiente manera:

0.4Vcc / 25uA = 16000 ohms

Por lo tanto con una resistencia de 15K o una de 18K en cada pin no creo que tengas problemas.

Ahora como el programador por el pin RB7 no solo envía datos hacia el PIC, si no que también los recibe desde este, te quedaría verificar si los 4.3Vcc que tendrá la señal que te envie el PIC el programador lo tomará como un 1, ya que este segirá funcionando con los clasicos 5Vcc, no creo que tengas problemas pero sería conveniente que verifiques este punto.

Un saludo.

Atte. CARLOS.
La teoría es cuando se sabe todo y nada funciona. La práctica es cuando todo funciona y nadie sabe por qué.

Desconectado pollastre

  • PIC12
  • **
  • Mensajes: 65
Re: Ayuda sobre consumo de PIC
« Respuesta #22 en: 02 de Enero de 2007, 11:46:18 »
loor y gloria, qué magistral explicación  :mrgreen:


con foros como éste, quien necesita libros !

l'pollastre

Desconectado pollastre

  • PIC12
  • **
  • Mensajes: 65
Re: Ayuda sobre consumo de PIC
« Respuesta #23 en: 08 de Enero de 2007, 12:39:32 »
estimado Chaly,

despues de revisar calculos, etc. estoy a unos 5 minutos de probar en la protoboard el prototipo final de ICSP "concurrente", por así llamarlo... vamos, que se conecta "a pelo" mientras el pic está ejecutandose normalmente, con su fuente de 4,3v.

Como sabes, el objeto de esto era no tener que tocar para nada el pin de Vdd, dejar que lo proveyera el propio circuito host, y no el ICSP. Por lo tanto, necesitabamos sacar del programador Vss, RB6, RB7 y Vpp. Perfecto.

Ahora bien, antes de darle al "botón", se me ocurre la siguiente cuestion: si hemos sido capaces de prescindir de Vdd_icsp (regulando las tensiones de rb6 y rb7 como recomendaste), acaso no podría prescindir igualmente de Vss_icsp y dejar la Vss del circuito host, la de "siempre", tambien durante la programación ?

veamos si he dicho una tontería muy gorda, o sólo moderadamente gorda: a nivel eléctrico, Vss_icsp = Vss_host (pues ambas fuentes, la del ICSP y la del circuito anfitrion "normal", tienen su masa definida en 0 voltios; diferente sería por ejemplo un nivel TTL cuya "masa" está en un voltaje negativo). Una vez solventado el "peor" problema, que era el de Vdd... no sería el siguiente paso obvio usar igualmente Vss_host durante la programación ? de esta forma sólo sacaríamos 3 hilos del programador : Vpp, RB6 y RB7 . Te parece una opción correcta ?

gracias y saludos,

l'pollastre


Desconectado Josef

  • PIC12
  • **
  • Mensajes: 74
Re: Ayuda sobre consumo de PIC
« Respuesta #24 en: 08 de Enero de 2007, 17:34:00 »
Si he entendido bien a Pollastre, te refieres a no conectar las GND del programador y de la tarjeta host, si es asi no se podria....al menos que haya yo entendido mal..
En lo que respecta a 7805 para SMD, efectivamente un 78MO5 es la respuesta, y estoy seguro que ocupa el mismo  o menos tamaño que un zener y su resistencia , ademas no se debe hacer circular tanta corriente por un zener, (suponiendo que esten usando una de 0.5 o 1 watt), y obviamente la performance es indiscutible, y si calienta EL REGULADOR, pues podemos usar el propio circuito impreso como disipador, que viene a ser el chasis del 78M05, y que ademas es tierra.
JoseF

Desconectado pollastre

  • PIC12
  • **
  • Mensajes: 65
Re: Ayuda sobre consumo de PIC
« Respuesta #25 en: 09 de Enero de 2007, 09:41:51 »
sí, a ver si soy capaz de explicarme bien... esto , más que de PICs, es ya una cuestión de electrónica básica (yo creo), y seguramente esté equivocado en lo que voy a exponer, pero al menos me servirá para aclararme las ideas  :mrgreen:

Según yo entiendo, la "masa" no es un valor determinado (0v, -3v o lo que sea) sino una referencia que se toma respecto a Vdd, para establecer de esta manera una diferencia de potencial entre ambos. Ahora bien, ocurre que "generalmente" en los circuitos de contínua es _relativamente_ normal tomar 0v como valor de masa. En este sentido, la masa de mi circuito anfitrion (GND_host) deberia ser 0v, e igualmente _supongo_ que la masa que me saca el circuito del ICSP (GND_icsp) será tambien 0v.

En el ejemplo anterior, hemos prescindido de utilizar el Vdd_icsp en favor del propio Vdd_host. Estupendo. Ahora es cuando viene mi duda.

El pic tiene que estar alimentado para ser programado, eso lo tenemos claro. Es decir, tiene que estar conectado a Vdd y cerrar circuito contra masa. Lo que en este post se ha expuesto, es que conecte GND_icsp a Vss del PIC.

Y entonces la pregunta es.... por qué GND_icsp? si yo tengo una GND_host , no puedo alimentar acaso el PIC usando Vdd_host y GND_host ?  No es igualmente "buena" la masa del circuito anfitrion, que la masa del ICSP ?

El tema no es baladí : si esto fuera posible, me ahorraría otro pin más para el programador (ahora ya sólo necesitaría Vpp_icsp, RB6_icsp y RB7_icsp ) y el PIC estaría siempre permanente alimentado con sus propias Vdd_host y GND_host .

Gracias por ayudarme a superar esta duda,

l'pollastre



Desconectado pollastre

  • PIC12
  • **
  • Mensajes: 65
Re: Ayuda sobre consumo de PIC
« Respuesta #26 en: 09 de Enero de 2007, 10:01:02 »
me respondo yo mismo: chaly29 tenía razón y yo no (lo cual no me resulta en exceso sorprendente  :mrgreen: )

el por qué exacto, a nivel eléctrico, no lo sé, pero el hecho cierto es que polímetro en mano se puede comprobar que, a menos que conectes GND_host y GND_icsp, el tema no funciona. De hecho,   Vdd_host - GND_icsp = 0, en vez de los 4,3 que deberían ser.

Cuando ambas masas se conectan, entonces sí, Vdd_host - GND_icsp = 4,3  ( y el funcionamiento del circuito host no parece verse afectado en nada por haber igualado las dos masas)


l'pollastre



 

anything