Consejos

  • Leer la hoja de especificaciones del micro
  • Que micro utilizar? La empresa microchip tiene en producción cientos de modelos diferentes de los microcontroladores de 8bits (12x 16x y 18x), por lo que tenemos una gran variedad para seleccionar el micro a utilizar en nuestros proyectos. Normalmente los puntos a considerar son: disponibilidad, requerimientos técnicos del proyecto y precio. Una lista personal de selección sería:
    • 12F675:  1KW flash, 64B ram, 64B rom, 6 puertos digitales, 4 puertos analógicos, 1 comparador y 2 timers. En el caso de necesitar pocos puertos.
    • 16F628A/648A: 2/4KW flash 224/256B ram, 128/256B rom, 16 puertos digitales,  1 comparador ,3 timers, USART. Un micro muy popular, aunque no tiene puertos analógicos.
    • 16F876A/877A: 14.3KW flash, 8KW ram, 256B rom, 22/33 puertos digitales,  5/8 puertos analógicos,  3 comparadores ,3 timers, USART. Este micro de gama media también es muy popular.
    • 18F442: 8KW flash, 768B ram, 256B rom, 31 puertos digitales,  8 puertos analógicos,  2 comparadores ,4 timers, USART. Este micro de gama alta, aunque hoy en día está en desuso,  fué muy popular en su momento y hay mucha información disponible en la web.
    • 18F2550/4550: 16KW flash, 2KB ram, 256B rom, 24/35 puertos digitales, 10/13 puertos analógicos,  2 comparadores, 4 timers, USART, USB. Estos micros se hicieron populares al ser utilizados en el proyecto Pinguino, una encarnación de Arduino en PIC. Tienen la gran ventaja de que incluyen comunicación USB
  • Que compilador utilizar? Afortunadamente hay muchos compiladores disponibles para el desarrollo de aplicaciones para micros PIC.  Mi selección personal es la siguiente:
    • PICBASIC PRO (de pago):  Si no necesitamos variables de punto flotante y nuestro poryecto es sencillo, esta sería la primera opción, ya que es un compilador fácil de usar (es BASIC) e incluye un IDE muy sencillo y liviano (algo a tomar en consideración).
    • CCS C (de pago) : Cuando requerimos variables de punto flotante o nuestro proyecto tiene cierta complejidad, es necesario utilizar un compilador C.  La ventaja de este compilador (en mi opinión) es que incluye instrucciones específicas para los micros PIC y adicionalmente es un compilador muy eficiente que genera código de máquina optimizado.
    • HI-TECH C (versión lite) : Este compilador está en desuso ya que fue adquirido por Microchip. La ventaja es que dispone de una versión lite gratis, aunque el código generado no está optimizado.
    • SDCC (libre) : Este compilador open source fue desarrollado para el uso en microcontroladores, y tiene soporte para varias modelos de micros PIC.
    • MPLAB XC:  Si nuestro proyecto es complejo debemos utilizar el IDE de Microchip (MPLABX IDE) en combinación con este compilador . Este IDE, aunque incluye una gran cantidad de funciones, es algo pesado para mi gusto.
  • Utilizar siempre condensadores de desacoplamiento, aún cuando utilicemos frecuencias bajas en los osciladores:
    • 100nF lo mas cerca posible a los pines Vdd y Vss del micro.
    • 10uF entre Vdd y Vss
    • Si utilizamos cristales externos se requieren dos condensadores de15pF/22pF/33pF entre los pines de conexión y tierra (el valor depende de la frecuencia).

  • Asegurarse de que se indica la fecuencia de trabajo y que se selecciona el fusible correcto acorde con la misma. Por ejemplo si utilizamos una frecuencia de 4Mhz debemos seleccionar XT , pero si la frecuencia es mayor debemos seleccionar HS.
  • Resistencia de 10K/33K entre el pin MCLR y Vdd. Es buena idea configurar un interruptor entre MCLR y Vss para hacer reset del micro en caso de necesidad.
  • Si el micro tiene Low Voltage Programming, el fusible LVP debe estar en Off 
  • Si la alimentación al circuito es mediante baterias con valores alrededor de 4Voltios, debe configurarse el circuito Brown Out Reset (BOR) para un voltaje inferior, ya que en ocasiones por defecto este valor es de 4Voltios.
  • Es buena idea poner en Off el Watchdog Timer
  • Si queremos saber cuales son los fusibles (fuses) disponibles para nuestro micro y la nomenclatura correspondiente, debemos revisar los archivos de configuración del ensamblador para dicho micro. Por ejemplo, en el caso de MPASM y el micro 16F876A  buscaremos el archivo p16f786a.ini en el directorio del MPASM. Si utilizamos PICBASIC PRO y queremos utilizar su ensamblador PM para el mismo micro , buscaremos el archivo 16F876A.INC en el directorio del PICBASIC.
  • A pesar de que los compiladores utilizan archivos de configuración para cada micro donde se establecen los valores de los fusibles por defecto, es recomendable validar estos valores, ya que puede ocurrir que nuestro circuito requiera una parametrización especial.
  • Es conveniente configurar los puertos que no vamos a utilizar como salida.
  • Si utilizamos un protoboard para armar un prototipo, en ocasiones podemos tener dificultades con las conexiones. Los extremos de los cables de conexión deben estar limpios de la protección de plástico. Si el protoboard no es de calidad, lo mas probable es que haya líneas con problemas de conductividad. Al interconectar dos protoboard asegurarse de que las conexiones de tierra y Vcc estén bien, ya que  en ocasiones hay diferencias de hasta 300mv entre las líneas Vcc de ambos protoboard.

No hay comentarios:

Publicar un comentario