Solución de Problemas con los microcontroladores PIC (fallas, errores, bloqueos)

Las condiciones de funcionamiento en un ambiente real (no simulado) pueden ocasionar problemas inesperados, incontables dolores de cabeza y pérdida de tiempo valioso, fundamentalmente debido al ruido eléctrico y algunos errores en el uso de los microcontroladores PIC.

Con el fin de disminuir al mínimo estos problemas se sugiere tomar muy en cuenta las siguientes recomendaciones y aplicarlas desde el principio en el diseño de circuitos prácticos:

Pines no utilizados

Los pines de los microcontroladores PIC que no sean utillizados no se los debe tratar a la ligera, ya que pueden ocasionar graves problemas de funcionamiento. Se tienen las dos siguientes opciones para el tratamiento de estos pines:

  • Si se deja un pin sin utilizar puede dejarse desconectado pero obligatoriamente debe estar configurado como SALIDA y programado en cualquier estado (ALTO o BAJO).
  • Puede configurarse como ENTRADA y debe tener necesariamente un resistor externo de 10k a VDD o VSS.

Las dos opciones permitirán que el pin sea empleado en lo posterior ya sea como entrada o salida sin realizar modificaciones importantes en el hardware.

Reset maestro MCLR

La hoja de especificaciones de los PICs 16F88, 16F628A y 16F877A muestra que el reset MCLR se producirá siempre y cuando se aplique un pulso negativo que tenga una duración mínima de 2us en este pin (TMCL).

Problemas y errores con los microcontroladores PIC. Fig. 1
 

Debido a que este tiempo es muy corto, es muy probable que se produzcan reseteos o reinicios indeseados y aleatorios debido al ruido eléctrico (EMI, ESD o picos de voltaje) en el pin MCLR. Para evitar este problema, que suele presentarse en ambientes industriales contaminados eléctricamente, el fabricante sugiere emplear una red RCR, la cual puede tener los siguientes valores: R1=10k, R2=1,5k y C1=0,1 uF. El pin RA5/MCLR debe estar configurado como MCLR y no como E/S digital. Estos elementos se deben conectar lo más cerca que sea posible al pin MCLR (el fabricante recomienda que la longitud del conductor entre el pin y los elementos de protección sea máximo de 6 mm).

Problemas y errores con los microcontroladores PIC. Fig. 2
 

Brown Out Reset (reset por caida de voltaje)

Nota: Si se sospecha que el Brown Out Reset sigue ocasionando reseteos indeseados, incluso cuando se hayan implementado las medidas sugeridas a continuación, lo que se debe hacer es deshabilitarlo permanentemente por medio de los Bits de Configuracion.

Para tener la posibilidad de habilitar y deshabilitar el Brown-out Reset BOR a voluntad, se debe conectar siempre un capacitor de desacoplo de 100 nF (0.1 uF) lo más cerca posible de los pines de alimentación del microcontrolador PIC (entre VDD y VSS), para evitar que se produzca un reset BOR indeseado (si está habilitado) cuando cualquiera de las salidas del microcontrolador cambia de estado.
El uso de condensadores de desacoplamiento (decoupling capacitors) en los pines de alimentación es absolutamente necesario. Se deben tener en cuenta los siguientes criterios:

  • Valor y tipo de condensador: Se recomienda un valor de 0,1uF (100nF)/ 10-50V. Los más recomendados son los cerámicos.
  • Ubicación en el circuito impreso: Se deben colocar lo más cerca que sea posible a los pines de alimentación en la misma cara donde se ubica el microcontrolador (el fabricante recomienda que la longitud del conductor entre el pin y los elementos de protección sea máximo de 6 mm).
  • Manejo del ruido de alta frecuencia: Si el circuito está siendo afectado por el ruido de alta frecuencia (por encima de decenas de MHz), se debe añadir un segundo condensador cerámico en paralelo con el condensador señalado anteriormente. El rango del segundo condensador puede ir desde 0,01 a 0,001uF y se debe ubicar junto al primer condensador. En circuitos de alta velocidad se debe adicionar el par 0,1uF//0,001uF en los pines de alimentación (// indica conexión en paralelo).
  • Maximización del desempeño: En el diseño del circuito impreso, a partir del circuito de alimentación trazar primero las pistas hacia los condensadores de desacoplamiento y luego hacia los pines del microcontrolador. Esto asegura que los condensadores se encuentren en primer lugar en la cadena de alimentación del PIC. Igualmente importante es mantener al mínimo la longitud de las pistas entre los condensadores de desacoplamiento y los pines de los microcontroladores PIC, reduciendo de esta forma la inductancia de la pista (track inductance).
  • Condensador mayor: Se recomienda el empleo de un condensador mayor para mejorar la estabilidad de la fuente de alimentación. Los valores típicos van desde 4,7uF hasta 47uF y se debe colocar lo más cerca posible de los pines de alimentación del microcontrolador, en paralelo con los condensadores cerámicos nombrados anteriormente.

Problemas y errores con los microcontroladores PIC. Fig. 3

Relés (relays)

Para evitar que los microcontroladores PIC operen de manera inesperada (por ejemplo RESET indeseado o ejecución incorrecta del programa) se tiene que colocar una red snubber entre los contactos de los relés electromecánicos y de estado sólido (TRIAC), esto ayuda a atenuar los transitorios que se producen en el momento de la conexión y desconexión del relé, especialmente cuando hay cargas inductivas (motores, solenoides). El snubber está formado por una conexión RC en serie, que puede ser C=0,1uF(100nF)/250V (el capacitor debe ser de alto voltaje ya que soportará los picos de voltaje de la corriente alterna CA) y R=100ohm/0,5W. Uno de los errores más comunes es pasar por alto la implementación de esta red lo que ocasionará problemas inesperados.
Originalmente el snubber recomendado es de 100nF/100ohm (esto es aplicable a las cargas que trabajan con altas corrientes), pero si la carga trabaja con muy baja corriente permanecerá encendida todo el tiempo debido al paso de corriente a través de la red snubber. En estos casos se pueden probar varias alternativas de resistencia y capacidad hasta lograr eliminar los transitorios sin que la carga se encienda permanentemente. Por ejemplo puede probarse con 100nF y valores consecutivos de resistencia de 100ohm, 1k, 10k, 33k, 56k y 100k. Otra opción es 10nF y valores de resistencia de 100ohm, 1k, 10k, 33k, 56k y 100k, hasta lograr el resultado deseado. Como se puede concluir, la eliminación de los efectos nocivos producidos por el ruido eléctrico y la interferencia puede llegar a ser un proceso largo, basado en ensayo y error, pero debido a las particularidades de cada ambiente de trabajo esta es la única forma de lograr que el sistema opere correctamente.

Problemas y errores con los microcontroladores PIC. Fig. 4

Fuentes de alimentación de los microcontroladores PIC

Uno de los errores frecuentes que produce problemas con los microcontroladores es la regulación deficiente o baja calidad de las fuentes de alimentación, tanto del PIC como de los demás elementos. La regulación correcta de las fuentes a la hora de construir una aplicación real puede ahorrar incontables quebraderos de cabeza; para esto una opción recomendable es el uso de los reguladores de voltaje 7812 y 7805 con sus elementos asociados de acuerdo a las recomendaciones del fabricante.

Problemas y errores con los microcontroladores PIC. Fig. 5

LCD alfanumérico (con el controlador HD44780 o compatible)

Este LCD posee un terminal para el control de contraste (VLC) por medio de un potenciómetro, y dos terminales adicionales correspondientes al ánodo (A) y cátodo (K) de un diodo emisor de luz (LED) que se utiliza para el alumbrado de fondo del módulo LCD. El LED se polariza por medio de un resistor de 50 ohm / 0,25 W, lo que da como resultado una corriente de 25 mA aproximadamente. El siguiente esquema indica la conexión correcta del LCD 16x2 o 20x4:

Problemas y errores con los microcontroladores PIC. Fig. 6



Conexión de un relé electromecánico al PIC

Los relés electromecánicos (de contactos metálicos)  son muy útiles para el control de un sinnúmero de cargas eléctricas, tanto de CA como de CD. Son ampliamente utilizados por sus prestaciones y bajo costo. Se pueden conectar a un  microcontrolador por medio de un transistor de propósito general operando como interruptor de estado sólido y que actúa como amplificador de corriente.
Nota: Los valores indicados de la red snubber R3/C3 son únicamente referenciales (leer el apartado acerca del funcionamiento errático del PIC que aparece más arriba en esta página).

Problemas y errores con los microcontroladores PIC. Fig. 7

Pines del oscilador externo

El circuito del oscilador se debe situar en la misma cara del PCB en la que está el microcontrolador. Como se ha recomendado previamente para otros elementos, el circuito del oscilador tiene que estar lo más cerca posible a los pines del PIC, se debe hacer el diseño de forma que la longitud de las pistas de conexión no sea superior a 12mm. Igualmente, los condensadores que acompañan al cristal se deben ubicar en la misma cara y tan cerca como sea posible al mismo. Se debe usar un anillo de blindaje a tierra (GND) diseñado en el mismo circuito impreso, alrededor del oscilador para aislarlo de los demás circuitos. Este blindaje se tiene que conectar directamente al pin GND del microcontrolador, y se debe evitar que existan pistas de otras señales dentro de este anillo. Adicionalmente, si el circuito es de doble o múltiples caras se tiene que evitar la presencia de pistas de otras señales bajo el lugar de ubicación del oscilador externo.

Problemas y errores con los microcontroladores PIC. Fig. 8