fbpx

Expresate

Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:

Avisos
Vaciar todo

Condensador entre VDD y VSS

16 Respuestas
5 Usuarios
0 Reactions
5,997 Visitas
vcs
Respuestas: 114
 vcs
Topic starter
(@vcs)
Estimable Member
Registrado: hace 18 años

Buenos dias a todos

Tengo un 16f877 montado en una placa, o mejor dicho una placa con un 16f877, cuando doy alimentacion a la placa en muchas ocasiones no trabaja bien hasta que no hago un reset, ademas me he dado cuenta que ya puedo resetear todas las veces que quiera que no falla, sin embargo si en lugar de resetear quito y pongo alimentacion falla en muchas ocasiones, por las conclusiones a las que he llegado aislando y eliminando partes del codigo, es como si al arrancar ciertas variables que uso no se inicializaran bien incluso cuando las primera linea del programa es Puerto_a=0; de ahi que tenga toda la pinta que el problema venga de la alimentacion (vaya poder de deduccion que tengo, no me ha llevado nada más que una semana llegar a la conclusion 😛 )

La fuente que alimenta la placa es buena, de laboratorio y estabilizada, me imagino que por eso una vez arrancada ya no hay problemas y el problema es en la conmutacion al arrancarla, en el pic no he puesto el condensado entre VDD y VSS, ¿esto puede ser la causa de lo que me está pasando?, es una putada porque la placa es bastante grande, saque el circuito impreso y habia quedado bastante bien, ahora me tocará modificarla, la duda en cuanto al condensado, aparte de lo que ya preguntaba si esto que me sucede puede ser un sintoma de no haberlo puesto, es que he leido por ahi division de opiniones en cuanto a la capacidad del mismo, creo que el valor esta sobre los 100nF aunque buscando hay para todos los gustos, 47nF, 1Micro es decir 1000nF, incluso he visto algun esquema con 100micro, ¿realmente como influye la capacidad de este condensador? con una carga superior a la recomendada no deberia de haber problemas ¿no?, ¿si pones un valor mucho mayor funcionaria? otra cosa es el voltaje, en teoria el voltaje tendria que superior al que se va a conectar pero me he encontrado en alguna ocasion que si es mucho mayor puede no funcionar, cosa que me paso al montar uno de 63v en una placa que copié, ¿en que influye el voltaje?

Por ultimo, ya aprecho, ahora estoy activando las entradas del micro con un cable rigido desde el positivo de la fuente, hay una entrada que tiene bastante "castigo" porque le voy dando pulsitos para que el pic cuente, anoche (y despues de muchas operaciones) estaba dando pulsos y dejó de funcionar, acto seguido calenton del micro y a la basura, ¿como puedo proteger las entradas para que esto no vuelva a pasar? La conexion actual es, tengo una borna a tornillo que es por donde meto los pulsos, de ahí va directo a la entrada del pic y luego tambien tengo una R de 1K entre la entrada y la tierra (para ponerla a cero mientras no haya tension), supongo que el error es que tengo que meter tambien una resistencia en serie con la entrada para limitar la corriente (Joder que torpe, me acabo de dar cuenta al describir el circuito que la R que esta puesta no limita la I de entrada)

Un saludo y gracias a todos,

Responder
15 respuestas
beamspot
Respuestas: 1132
(@beamspot)
Noble Member
Registrado: hace 17 años

Hola:

Teoría del condensador: Esto es para el desacoplo de los pulsos de corriente que absorbe cualquier circuito CMOS moderno, como el PIC o cualquier otro microcontrolador. Estos picos son de 'alta frecuencia' o 'velocidad' (del orden de unos nanosegundos). Resulta que los condensadores electrolíticos son un par de hojas de aluminio envueltas con un papel impregando de (adivina) electrolito. Envueltas es la clave. Igual que un hilo en un rollo. Una bobina, vamos. Por eso, no son nada buenos (malísimos, de hecho) para filtrar pulsos de corriente rápida.

Por eso, se ponen condensadores de desacoplo en cada par de pines de Vcc/GND (o como no me gusta llamarlo, VDD y VSS), que suelen poner juntos en los diseños más modernos. De esta manera, el pico de corriente no llega más allá del condensador y no afecta a nada más en la línea de alimentación.

Ahora bien, vamos al tema de dimensión. Resulta que estos condensadores, también tienen una (pequeña) inductancia, generalmente asociada al encapsulado, pistas, y TAMAÑO. Por eso, cuanto más grande el condensador, más inductancia (tienen más capas de conductores) y más malos para frecuencias más altas. Por tanto, lo ideal es poner un condensador más pequeño a frecuencias más altas. Y como estos son pequeños, ir añadiendo valores superiores de vez en cuando a distancias más lejanas de los pines de alimentación.

Para un micro que trabaje a 10MHz, con condensadores cerámicos SMD 1206 de 100nF va más que sobrado (directo a los pines). Si vas a trabajar a 50MHz, recomendaría ponerlos de 10 o 47nF en 0805 o incluso 0603. Para FPGA's y otros trabajando a 200MHz, mejor hacer un máster en diseño de PCB's, poner varios valores en paralelo, pistas ultracortas con las vias 'on pad', planos de alimentación internos haciendo de condensador de desacoplo, etc.

En internet hay mucha literatura sobre las teorías de desacoplo y los valores de los condensadores. Busa en Xilinx (fabricante de FPGA) y alguna de las notas de aplicación de sus integrados con las recomendaciones de layout del PCB y ubicación/dimensionado de los condensadores. Son muy ilustrativos si sabes inglés y de que va el cuento. Pero algo exagerado para un PIC.

Responder
ranganok
Respuestas: 3875
(@ranganok)
Ardero
Registrado: hace 19 años

Yo el problema que veo, no es de alimentación sino del reset. Lo que deberías hacer es cambiarle el condensador o la resistencia del circuito de reset por unos de mayor valor, de tal forma que RC > tiempo de encendido. De esta forma te estará haciendo un reset hasta que la fuente halla hecho el encendido.

Otra cosa que puedes hacer es activarle el BOR o hacer una instrucción de reset nada más comenzar si has detectado que el último reset ha sido por una arrancada de corriente.

Respecto a proteger los pines con un zener a GND y una resistencia en serie con el pin podrías arreglarte (en la mayoría de los casos).

S2

Ranganok Schahzaman

Responder
vcs
Respuestas: 114
 vcs
Topic starter
(@vcs)
Estimable Member
Registrado: hace 18 años

Muchas gracias a Ambos los dos, que velocidad respondiendo 😮

Por lo que comentas Beamspot, entonces la razon del condensador más que para un buen funcionamiento del PIC es para mantener la alimentacion limpia, y evitar que encaso de haber mas dispositivos en la linea no se vean afectados por el ruido que mete el PIC ¿no es asi? lo cual refuerza la teoria de Ranganok en cuanto a que el problema no es la alimentacion, pero hay un par de cosas que no me han quedado claras, en principio comentas que los electroliticos son buenos para esto porque filtran al hacer efecto bobina, pero luego sin embargo al comentar sobre ejemplos escribes sobre condensadores ceramicos SMD 1206 de 100nF, ¿de que tipo es mejor montar?, por otro lado en cuanto a la tension del condensador da igual cual sea su valor maximo 63v, 25v ...

En cuanto al cambiar el circuito del reset para que retarde más al arranque... pues seguro que puede influir muuuuuuchisimo, mas que nada porque creo que el circuito del reset lo monté sin C, (Otra cagada mas a corregir en la placa, con lo chula que estaba), lo que no entiendo es como me puede ayudar el BOR, si no lo interpreto mal, el Brown Out Reset lo que hace es resetear el equipo si la tension baja de X por un tiempo superior a Y ¿no?, en este sentido no tengo problemas puesto que una vez arrancado corretamente no tengo problemas de estabilidad, más bien imagino que me ayudaria más el PWRT Power-up Timer (PUT para el CCS) que este creo que si retardaba la activacion del micro, ya que me parece entender que lo que realiza es un retado de 72ms (para este micro) donde mantiene el micro en reset antes de arrancar ¿no es asi?

Se ve que no tengo mucho idea de nada de esto, madre mia, si lo raro es que me funcione, no tengo bien el circuito del reset, no tengo el filtro de alimentacion, no tengo los FUSEs bien configurados....

Muchas gracias de nuevo a ambos

Responder
beamspot
Respuestas: 1132
(@beamspot)
Noble Member
Registrado: hace 17 años

Además del circuito de reset, que desconozco al no trabajar con PIC's, y que comparto con Ranganok al respecto pues con los AVR hay que poner un condensador de 10 a 100 nF entre reset y GND con una resistencia de pull up de unos 10K o más.

Una lección que aprender: preveer más componentes de los que piensas montar, pues siempre estarás a tiempo a ponerlos si los necesitas.

Volviendo a los electrolíticos, estos son malos debido a su efecto inductivo, no buenos, pues limitan las corrientes y no absorben/descargan los cambios bruscos de alimentación (que es lo que no les gusta a las bobinas). Los que tienen menor inductancia son los cerámicos sin patas (patas = conductores formando espira) y más pequeños, como los SMD de 1206, 0805, 0603, etc.

Una cosa que propongo a quien quiera diseñar sus placas, es empezar mirando y analizando diseños ya existentes para funciones similares. Lo primero que a uno le llamará la atención seguramente será que en la linea de VCC aparecen muchos condensadores, unos pocos electrolíticos, unos muchos de otros valores (típicamente 1 a 100 nF), con la función específica de desacoplar cualquier parásito añadido por cualquier par de pines Vcc/Gnd. Tampoco es de extrañar algún condensador 'intermedio' para cada integrado grande o grupo de integrados que funciona como almacén local. Valores típicos de 1 a 47uF, ahora también en cerámico 1206 o tántalo (en desuso).

Generalmente la tensión de trabajo suele ser superior o igual al doble de Vcc. Es decir, para 5V con condensadores de 10V ya pasaríamos, pero dado que no son comunes, entonces se eligen tensiones estándar que se encuentren con facilidad, siendo 63V para los electrolíticos lo habitual, 10, 16, 50V para los cerámicos pequeños de desacoplo.

Responder
Página 1 / 4
Compartir: