htm=goofy/indata.htm ok goofy/indata.htm   g o o f y 
[www.maicas.net]

goofy

cabezazo.gif (709 bytes)

Hardware de la entrada de datos en el PIC.

Existe un pequeño problema con las entradas de datos del PIC, no es siquiera un problema, pero puede volverte loco o hacerte creer en las brujas.

Yo me di cuenta cuando conecté un PIC (que solo llevaba un led en una salida), al puerto serie del ordenador usando un cable con un MAX232. El MAX232 se alimentaba desde el PC, el PIC llevaba su propia alimentacion (con un 7805) pero estaba desenchufado ... y el LED se encendió.

Estaba claro que el PIC estaba funcionando (y bien) sin estar conectado a la alimentacion, se estaba alimentando desde la entrada de datos es decir desde la linea que venía del MAX232 (que estaba a +5V).

La figura muestra un esquema simplificado de una entrada de datos en el PIC. El PIC lleva internamente dos diodos que protegen la entrada de tensiones más altas o mas bajas que las tensiones de alimentacion.

Es decir, si el PIC se alimenta a 5V, los diodos evitan que en la entrada la tension sea superior a 5.6V, o inferior a -06V.

 

Usando la entrada de datos.

La figura superior muestra una entrada conectada a un divisor de tension, se pretende que la entrada de datos E detecte un amplio rango de tensiones como nivel lógico alto, por ejemplo queremos que detecte de 8 a 14V como nivel alto.

La resistencia R2 fuerza la entrada a nivel lógico bajo, y junto con la resistencia R1 forman un divisor de tension, usando dos resitencias iguales divide la tension a la mitad A partir de un determinado nivel de tension en la entrada E se detectará un nivel lógico alto.

Si no existieran los diodos internos de proteccion, habría sido necesario colocar en E un diodo zener, para garantizar que en E no se sobrepase la tension máxima permitida (5.6V). Con estos diodos, podemos ahorrarnos este componente (el zener).

Efectos colaterales.

Un ejemplo de entradas protegidas con diodos zener, sería este. Pero sabemos que podemos quitar los zener, pues el diodo interno de proteccion hace el mismo papel (eso lo hemos hecho aquí).  

Un posible problema (al menos en teoría), es que entre más corriente por estos diodos de la que el PIC consume en un funcionamiento normal. El 7805 que usamos como regulador de tension para el PIC no regula la tension cuando le estamos aplicando corriente directamente en la salida. Para evitar que la tension de alimentacion suba por encima de los 5V, hemos añadido un zener de 5V1 en la salida del 7805.

Es decir, en una alimentacion normal como esta, al 7805 le entra corriente por la patilla IN y sale regulada en tension por la patilla OUT. Pero en el momento que los diodos internos del PIC entran en conduccion, le estaríamos aplicando corriente directamente a la patilla OUT  (esa corriente atraviesa el PIC y sale por el pin VCC del PIC), si esa corriente es mayor que el consumo total del circuito, el 7805 no podría ya regular la tension, y esta subiría por encima de los 5V. 

Lo anterior se aplica a un PIC conectado normalemente a una alimentacion de 5V. Cuando cortamos la corriente de alimentacion, independientemente de que hayamos puesto zeners en las entradas de datos o no, tenemos un problema.

PIC sin alimentación.

Adicionalmente, los diodos internos de proteccion pueden darnos algún problema cuando cortamos la alimentacion del PIC y las entradas de datos están conectadas a dispositivos con alimentacion independiente. En la alrma goofy, sucede esto:

  • En la entrada serie de datos procedente del telefono, conectada a RB0.

En la version 2 de la alrma, hemos conectado la salida de datos del telefono directamente al pin RB0 del PIC. Midiendo el telefono ne vacío, la linea de salida de datos está a 2 o 3V. Apagar el alimentacion del PIC, el efecto es el mismo que si cortocircuitamos esta linea través de un diodo a 0V (mediremos 0.5V en esta linea). No conviene pues tener wel módulo de alarma sin alimentacion y conectado al telefono.

En la version 3 de la alrma, hemos cambiado el diseño de esta conexion colocando un diodo (D9) en oposición, evitamos así este problema a la vez que mejoramos la adaptacion de niveles lógicos entr el PIC (0/5V) y el movil (0/3V).

  • En las entradas de sensores RB5 y RB6, conectadas a 12 V a través de un divisor de tension.

Tanto en la alarma2 como en la alarma3, tanto si usamos zeners en la entrada de datos como si lo ponemos en la alimentacion, al desconectar la alimentacion del módulo de alarma podemos encontarnos con que las entradas de sensores RB5 y RB6 estaban en nivel lógico alto, es decir que tenemos un pequeño consumo de corriente a través de estas entradas, esta corriente solo está limitada por las dos resistencias de 4K7. Si la alarma no usa el LED, esta corriente será suficiente para poner en marcha el PIC (tal como se explicó antes, a traves de los diodos internos del PIC). Por eso, no es conveniente apagar el modulo manteniendo conectadas las entradas de sensores.