martes, 12 de marzo de 2013

Hola Blog, hola PICs

    Bueno para comenzar en este nuevo mundo de los blogs, por lo menos para mi, quisiera comentarles mas o menos a donde quiero orientarme.
    Hace poco comencé con el increíble mundo de los microcontroladores  para ser mas preciso con los PICs de la serie 16 y 18 de microchip.



     Elegí esta marca simplemente porque son muy fáciles de conseguir a donde vivo ademas de muchísima información en la web y con la simplicidad con las que se los puede programar y armar tu propio programador.
    No me gusta dar muchas vueltas con la teoría por lo general si hay algún ejemplo intento entenderlo que por lo general es el 30% de los casos. De todas maneras no hay mejor información acerca de estos dispositivos y su funcionamiento que las hojas de datos que proporciona el fabricante y no es tarea sencilla ya que como primer obstáculo para algunos es que todas se encuentran en ingles y la segunda que no es tan sencillo encontrar lo que uno busca en un principio hay que adaptarse un poco. Con esto no pretendo asustarlos ya que a medida que avancen ya van a saber por donde buscar, por lo menos ese fue mi caso.
    Si son novatos en el tema les daré una breve descripción sin ser muy técnicos en el tema para ver si puedo atrapar la atención de aquellos que quieren comenzar con estos integrados que pueden llegar a facilitar muchísimo algún proyecto que tengan en mente y no tengan muy en claro para que sirven.

    ¿Que es un microcontrolador?
    Un microcontrolador es un circuito integrado, que mediante un programa realizado en la PC, podemos hacer que sus pines se comporten de la manera que nosotros le indiquemos, con los cuales podemos realizar distintos tipos de protocolos de comunicaciones para comunicarnos con otros equipos y una infinidad de cosas mas. Este programa se realiza mediante una PC con un software especifico llamado compilador cuya función es "traducir" el lenguaje mediante el cual nosotros como programadores escribimos a uno que el dispositivo pueda interpretar. Por ejemplo, existen compiladores en el que se programa en C, en BASIC, en ASSEMBLER, etc; pero todos "traducen" ese lenguaje a un archivo .HEX que es un lenguaje que el microcontrolador "entiende".
    Con respecto a los encapsulados vienen en variados tipos, en formato DIP (que para comenzar son ideales ya que encajan en el protoboard para realizar pruebas ), QFP, SOIC, etc. Suponiendo que recién comenzamos les aconsejo el primero o una entrenadora.

Encapsulado DIP.

    Compilador
    Cuando se quiere comenzar a programar microcontroladores generalmente se piensa ¿que marca me conviene mas? y comienza a buscar en internet, se pueden encontrar muchas y variadas experiencias acerca de una marca u otra. Algunos se ponen la camiseta de una empresa y la defienden, otros los critican etc, etc. Pero la mejor respuesta que encontré fue que con el tiempo y probando la mayor cantidad de marcas posibles lo vas a saber y al momento de encarar un proyecto sabrás con cual lo realizaras. Algo similar ocurre con los compiladores existen varios, ademas en distintos tipos de lenguajes en los que se sentirán mas o menos cómodos por distintos motivos. Yo particularmente cuando inicie pensé que lo mejor era en realizarlo con el compilador del fabricante que en su momento solo se programaba en assembler para la serie PIC16 cuando comencé debía estudiar prácticamente todo la hoja de datos para comenzar, tras de eso y con un poco menos de ganas, ya que comencé por hobby  lo hice por una semana hasta que escuche a un profesor en la facultad que dijo, "assembler!!!! nooooooo!!!!! yo a los PIC los programo en C", así que fui corriendo a mi casa y como tenia algunos conocimientos en C comence a buscar. Encontre que en esos momentos el fabricante solo tenia para la serie PIC18 un compilador en C, para la serie PIC16 (economica y suficiente como para comenzar ademas de ya haber comprado uno) encontre un compilador que se ajustaba a los conocimentos que tenia en ese momento, CCS.
    En el compilador CCS tanto para PICs 16 y 18 se programa en C, es mas a un mismo programa con minimas modificaciones sirve para ambas familias (hoy en dia el compilador XC8 de microchip es muy similar en ese aspecto), maravilloso. Era lo que estaba buscando, por lo que es mi caballo de batalla para mis proyectos.




    Por ello en lo que sigue del blog voy a utilizar este compilador para los proyectos.
    El único inconveniente es que se debe pagar por el o una prueba por 45 días de la siguiente pagina:


    La ventaja que encontre con este compilador es que con solo un par de lineas podia realizar cosas que con assembler me resultaban muchas mas, me enamore, pero como nada es gratis en la vida, encontre que este compilador cuando traduce .Hex no es tan eficiente como el de assembler, pero como en esos momentos odiaba el assembler no me intereso y hasta el día de hoy en ningún proyecto me resulto un problema.

¿Como programar un PIC?
    El programador es un circuito que comunica a la computadora con nuestro PIC, no se asusten que pueden realizar uno muy sencillo por puerto serie.
    En este punto no hay mucha discusión  el programador que tengas sirve, por supuesto que hay unos mejores que otros pero para experimentos el que tengas a mano es suficiente.
    Si no tienes uno puedes realizarlo por puerto serie, les dejo un link por si necesitan uno que en su momento me sirvio para mis comienzos.


    Ahora si quieren realizar uno USB se complica un poco mas por que lleva un microcontrolador y con algo hay que grabarlo y suponiendo que no tienen uno... .
    En mi caso compre hace un tiempo un PICKIT2 muy recomendable aunque un poco viejo por estos días pero no tiene mucho que envidiarle a muchos otros ya que para los microcontroladores que se consiguen hoy en dia en mi pais, Argentina, este los soporta sin ningún inconveniente.

    En la proxima entrada explicare como realizar una fuente básica para realizar pruebas.

No hay comentarios:

Publicar un comentario