in

GeekyGeeky

Entrenador para PIC 18F2550

Con el entrenador que hoy te traemos comenzamos una pequeña serie de artículos que te permitirán disfrutar un PIC de 8 bits de alto rendimiento: el 18F2550. En esta primera entrega abordaremos los detalles constructivos y particularidades de este entrenador. Con las características elementales e imprescindibles de hoy, esta herramienta de desarrollo nos ayudará a tener una plataforma de trabajo orientada a ensayar los códigos que luego elevaremos hacia aplicaciones más complejas. Conectividad USB, bus I2C, múltiples entradas analógicas con resolución de 10 bits y todas las prestaciones por descubrir que puede ofrecerte el PIC18F2550. Si estabas necesitando un entrenador sencillo, robusto y útil, no busques más; aquí lo has encontrado.

Dentro del micromundo de aquellos que nos dedicamos a hacer experimentos con microcontroladores existimos los que trabajamos en forma exclusiva con PIC. Existen otras personas que sólo utilizan Atmel, por ejemplo. Es decir, cuando un diseñador encuentra comodidad en el manejo y versatilidad en las prestaciones, se decanta por una marca de preferencia o, como también se acostumbra a decir, por una familia en particular. Hay quienes prefieren una marca específica para una aplicación en particular y otras marcas para otros destinos, alternando así las opciones que el mercado ofrece según el diseño a realizar. Dentro de toda esa fauna electrónica también convivimos los que “adoptamos” un tipo de microcontrolador y hacemos con él todos los ensayos que intentamos aprender.

El PIC 18F2550, el pequeño "gigante" con USB

Así como tuvieron su época de esplendor el 16F84A, el 16F628A, el 16F877A, hoy el 18F2550 se presenta como un microcontrolador muy similar al (también antiguo) 16F876A pero con las grandes ventajas que brinda la familia 18F. Se destacan, entre otras cualidades, un mayor tamaño de memoria disponible para almacenar programas, sumado a la posibilidad de realizar aplicaciones con conectividad USB. Ventajas muy atractivas en la actualidad gracias a la proliferación de ordenadores móviles donde el puerto serie ha dejado su reinado en manos de los puertos USB. Luego de armar y desarmar una y otra vez sobre una placa de pruebas o un protoboard un circuito para ensayar, un nuevo termómetro I2C que hemos comprado, un acelerómetro con salidas lineales o un flamante LCD gráfico que nos acaban de regalar, nos damos cuenta que debemos tener un sistema armado y siempre funcional donde podamos realizar las prácticas iniciales de aquellos dispositivos que luego traslademos hacia aplicaciones mayores, más elaboradas y complejas. Sin embargo, siempre utilizamos el mismo protoboard que, sin que podamos evitarlo, con el uso intensivo comienza a tener contactos que no funcionan del todo bien y muchas veces frustran nuestros intentos de hacer un ensayo rápido y exitoso.

Todos los puertos tienen conexión al exterior

Otras ocasiones más graves son aquellas en las que, por la premura de lograr un trabajo rápido, equivocamos conexiones elementales y dañamos componentes que nos cuestan mucho dinero. Peor aún es el caso de aquellos que no poseen siquiera un protoboard y se encuentran obligados a armar un circuito sobre una placa universal de pruebas. Los enjambres de cables y las soldaduras “gordas o anchas” pueden ser mortales para un microcontrolador y un dolor de cabeza (y bolsillo) muy grande para nosotros. Es por todo esto que decidimos armar este entrenador para PIC 18F2550. No para estudiar el funcionamiento del microcontrolador mencionado sino para utilizar una plataforma sencilla de circuito y adaptarla de acuerdo a los experimentos que vayan surgiendo en el camino y sean dignos de observar, estudiar y analizar.

¿Recuerdas la cantidad de montajes que hemos visto armados en un protoboard durante este año y el 2009? Muchos en los que sólo deseábamos ensayar un trozo de código, un dispositivo I2C o una aplicación del ADC de un microcontrolador. A partir de ahora los trabajos pequeños tendrán su soporte en este entrenador. Tampoco será un desarrollo capaz de trabajar con múltiples microcontroladores, ni varias alimentaciones, ni diferentes cristales osciladores. Nada de eso. Será el PIC que utilizamos siempre, con el cristal que colocamos siempre, con posibilidad de instalar rápidamente el display que utilizamos siempre. Por lo tanto, a este entrenador no te lo anunciamos como una gran novedad tecnológica ya que hay miles de aplicaciones similares y superiores en la web. Te invitamos a que lo implementes para tener un trabajo más ordenado, más prolijo y con resultados más rápidos y eficaces.

Vista del circuito impreso desarrollado

El circuito impreso es de simple faz y puedes utilizar el material que te resulte más cómodo de trabajar. Teniendo en cuenta que será una aplicación que utilizaremos a menudo, nosotros hemos hecho el prototipo sobre FR3 (fibra de vidrio) pero si lo deseas, puedes hacer tu construcción sobre material más económico (FR2). La distribución de los componentes sobre la placa está realizada de manera que si deseamos montar el display tengamos fácil acceso a las entradas y salidas analógicas/digitales del puerto A y las disponibles del puerto B y C. Recuerda que para el display se utilizan 6 pines del puerto B dejando RB0 y RB1 libres. A su vez, estos pines corresponden a la conexión del bus I2C (SDA y SCL) y disponen, al igual que el display, de un conector exclusivo identificado en la serigrafía del lado del cobre. De todos modos, como algunos saben, existen técnicas de programación que permiten la coexistencia de interruptores (un teclado tipo matriz por ejemplo) en el mismo puerto donde se conecta el display. Es por esta razón que el puerto B en su totalidad está disponible con un conector a pesar de estar el display montado en la placa principal.

Vista superior de la placa armada

La alimentación del sistema no necesitará de una fuente externa en la mayoría de los casos. La alimentación de 5Volts para el 18F2550 y para (en el caso de utilizarlo) el display pueden provenir sin inconvenientes desde cualquier puerto USB del ordenador portátil o del ordenador de mesa. En la sumatoria de todos los consumos de la placa, no llegaríamos nunca a comprometer la funcionalidad del puerto con consumos de corriente perjudiciales. Por otro lado, si nuestros ensayos se deben realizar fuera del alcance de un ordenador, podemos acceder con energía desde cualquier dispositivo que se pueda conectar a la red domiciliaria, al encendedor del coche o cualquier otro dispensario de energía donde la gente acostumbra a conectar los teléfonos móviles para su carga de baterías. Donde exista un conector USB podremos obtener energía y experimentar con este entrenador que hoy te proponemos.

Utilizando un cristal de 20Mhz. podemos realizar aplicaciones que sean de fácil acceso a cualquier ordenador mediante la conexión USB de datos. Un claro ejemplo de esta técnica lo encontramos en el voltímetro realizado hace pocas semanas atrás. A partir de la facilidad que nos brinda el entrenador, teniendo todos los elementos indispensables en una sola placa, conectar el 18F2550 al ordenador será, para aquellos que aún no lo hayan hecho nunca, una tarea muy sencilla y una experiencia muy enriquecedora.

El entrenador con el LCD instalado y corriendo un programa de prueba

Las posibilidades de conexión que brinda la placa entrenadora son muy amplias. En el prototipo que hemos preparado, encontramos cuatro entradas analógicas por el puerto A con conectores de tres terminales dispuestos de manera perpendicular a la posición del PIC. En los tres terminales de cada conector disponemos de GND, +5Volts y la entrada que nos lleva a cada pin del puerto A. Este tipo de construcción permite instalar, por ejemplo, un potenciómetro en AN0, una fotocélula (LDR) en AN1, un termómetro tipo LM35 en AN3, etc. Tener acceso a los 5Volts en cada conector permite alimentar cualquier dispositivo activo que entregue información analógica a los ADC del puerto A. Debes recordar que mediante la configuración del registro ADCON1 puedes seleccionar los pines del puerto A que trabajarán como entradas analógicas y los que funcionarán en modo digital. Estos últimos a través de la instrucción TRIS, se configuran como entradas o como salidas. Esto es universal en cualquier lenguaje de programación.

Circuito propuesto para la placa entrenadora

Otras salidas digitales disponibles son RC0, RC1 y RC2, siendo esta última muy útil cuando trabajamos con PWM. RC6 y RC7 se llevan hacia un conector independiente para posibilitar una salida directa hacia un módulo de conversión TTL – RS232 / RS485 o para utilizarlos como salidas o entradas digitales. Completan el montaje un conector ICSP para programar el PIC (al igual que lo hemos hecho siempre, o sea, sin quitarlo de la placa), un pulsador de RESET y un puente (jumper) para conectar o desconectar la luz del display (backlight). Aplicamos este último recurso para minimizar consumos en aquellos casos en que estemos alimentando desde el puerto USB del ordenador cualquier fuente de datos conectada a alguna de las entradas.

Para ensayar, para experimentar, para aprender. Todo con el 18F2550

Un entrenador sencillo, simple y que no viene a eclipsar ni a competir con nadie. No se intenta imitar nada con este montaje, sólo tener las conexiones ordenadas en una sola placa siempre lista para usar. Dicho de otro modo: la finalidad aquí es dejar de lado el protoboard para practicar con módulos que se puedan acoplar con facilidad y ensayar códigos para PIC o para interfaces en el ordenador de manera rápida, sencilla y segura. Esperamos que puedas armarlo y aprovechar todas las bondades y virtudes del PIC 18F2550 agregando los módulos que construiremos y estudiaremos de aquí en adelante. No te lo pierdas.

Reportar

¿Qué te pareció?

Escrito por Mario

63 Comments

Leave a Reply
  1. Sin palabras , otro gran trabajo ! Tengo una duda y una petición : la duda es sobre el precio del micro , y la petición es si puedes revisar el post " Luces de emergencia para el hogar" mas precisamente el ultimo comentario.
    Una vez mas felicitaciones y Gracias!!

    • #2 el precio esta entro los 7 y 9 dólares,mas envío; para obtener uno necesitas meterte a la página de microchip crear una cuenta con tarjeta de crédito y ahi haces tus pedidos, es seguro y rápido llega en 6 a 8 días hábiles, para hacer la plca solo baja el datasheet y con ayuda de livewire o proteus haces tu placa, no es complicado..

  2. Hola mario, muchas gracias por estos grandes articulos. Quisiera hacerte un par de preguntas:
    1-Se puede usar los pic 18F en pic simulator ide?

    2-Y el PCB?

    3-Que tan dificil es adoptar la programacion tanto en ASM, C o Basic con los PICs 18F, que documentacion me recomiendas?

    Muchas gracias por todo.

  3. eee,,,, gente de neo teo ,, ,, , a ver si me ayudan a construir n sistema,, cnc,, que ando buscando uno pero no encuentoo .. .:) ,., un tema algo asi como que componentes que se nesesitan e ir armando uno a uno xD ,, , , sueño mucho XD ????

    jajaaj ,, , gracais x el aporte cabal taba perguntandome que se nesesitaba para hacer un puerto usb xD , ,, no sabia que era asi de complicado ,

    • Saludos Diego ! busca en http://www.instructables.com/ hay mucos sistemas CNC DIY, electronicamente es muy simple construir uno, por ahi se complica el montaje mecanico. Hace mucho encare un proyecto de un CNC propio pero nunca tuve tiempo para terminarlo.
      Espero que tengas mejor suerte
      Saludos y exitos!

  4. a mi tambien me gustaría poder armar estas cosas en mi ordenador con un programa simulador, por lo menos, pero los que he encontrado necesitan de mucho tiempo para aprender a usarlos.
    Sería interesante que nos hiciesen un tutorial empezando desde cero con algun programa simulador.

  5. Pues aunque a uno no le gusten mucho los protoboards, tarde o temprano los necesita. Yo siempre hago mis tarjetas "entrenadoras" con una fila de conectores sip (obviamente conectados a todos los pines del pic) por debajo de la tarjeta, de modo que la pueda clavar a cualquier protoboard en el momento en que lo necesite y ahi tengo todo el pic replicado para conectarle lo que sea. A mi tampoco me gusta trabajar con protoborad, pero al final siempre se necesitan.

  6. Dónde lo puedo comprar? quiero practicar con él!!! , o la lista de componentesss? , soy un poco nuevaa en estooo heelp , me latió muchooo !!.. Felicidades.

  7. No esta nada mal… Solo faltaría que también fuera grabador.

    Y qué compilador de C me recomendáis (para PICs, claro :P)? He probado un par, como el GCC, y otro que no recuerdo, pero me dieron algunos problemas (un mismo programa podía funcionar o no según con qué lo compilase)

  8. Hola Mario por aqui de nuevo pasando a saludarte, y comentarte que sigo pendiente de todos los articulos que expones con esa practicidad que te distingue, y bueno en este proyecto no es la excepcion, asi que hare el esfuerzo por hacer el entrenador que propones y estar al pendiente de las lecciones, mientras tanto recibe un saludo de un amigo desde Mexico¡…

  9. hola mario antes que nada te mando un saludo y decirte que me encantan los montajes que haces, son geniales!!!, pero tengo una duda, tal vez un poco tonta, lo que pasa esque soy novato en esto de la electronica y lei tu post de "Voltímetro USB NeoTeo" lo que quisiera preguntarte es que compilador usaste para hacer el programa del pic? esque tengo uno que programa en basic tambien pero al momento de compilar tu firmware tan cual esta me marca errores y no se como arreglarlo o si es el compilador correcto, estoy usando el pic simulator no se si sea el correcto o que tenga que hacer para que funcione el programa, gracias de antemano y espero estes muy bien gracias!!!

  10. hola, gracias por el aporte, tengo solo una duda, en el esquematica hay 9 capacitores, y en el impreso hay 10, ademas, la conexion al pin 20(VDD) solo tiene el capacitor de 100n, y en el impreso aparece conetado tambien a VCC, espero que alguien pueda despejar estas dudas gracias

  11. muy buena publicacion amigo me gustaria ahora preguntarte como puedo montar el circuito para un dado electronico y como programar el pic para que este me funcione.

  12. HOLA mario esta muy buena tu entrenadora yo ya la arme pero me encontre con una diferencia entre el impreso y la foto si te fija en el impreso para bajar tiene un puente distinto respecto de su posicion con el jumper(comparado con la foto) me gustaria contestes asi la puedo poner a funcionar. muy buena la placa!!!

  13. hola neoteo gracias que tus aportes espero que sigas así solo un par de dudas que dimensiones tiene esta placa??; estaría bien 10×10 o 11x 11 y por ultima en tu circuito ya armado noto un recuadro de color gris k en su parte superior tiene la inscripción .47j63 este es el capacitor de 4.7uF?? saludos

  14. quien puede aclarar por qué hay 10 condensadores en la placa armada y en el esquemático hay sólo 9? ya que el autor no responde. Por lo que veo el capacitor que falta está conectado entre VCC y GND, en paralelo con el resto, por lo que voy a sumarle sólo 1 nano a ver si funciona.

  15. Saludos, me interesa construirme este programador/entrenador pero por lo que leo en los comentarios parece que tiene algún que otro fallo como que el diseño tiene un condensador de mas, y el listado de componentes no lo encuentro, alguien puede facilitarme esta información, se lo agradecería muchísimo. Un saludo.

  16. que tal amigo mario merodeando en internet encontre tu entrenador y me parecio interesante, veras yo apenas vi el pic16f84 y este me parece un micro mas potente ademas de que cuenta con conexion usb, me preguntaba para con que dimensiones deberia imprimir el circuito?. espero tu respuesta.
    Gracias!!

  17. Esto es un claro ejemplo de como hacer de un gran articulo algo completamente inútil. El link para descargar el PDF no solo no funciona sino que el autor nunca respondió ni un solo comentario.

    • Hola niñito Enrique

      El enlace de descarga está operativo y las consultas se realizan y responden en el foro.
      Tú eres un claro ejemplo de un usuario … que no conoce como trabajamos en NeoTeo.

      Te esperamos en el foro niño.
      Gracias.

  18. tengo un proyecto en el cual es indispensable usar monitoreo con pc y la unica forma es realizar un circuito como este para acoplarlo al del proyecto y poder obtener informacion el entrenador es muy bueno pero como se que componentes usa para desarrollarlo o como lo obtengo

  19. Excelente el proyecto ya lo realice y funciona a la perfeccion tambien ya cheque el del bootloader y funcionan a la perfeccion en conjunto felicidades.

  20. Excelente el proyecto ya lo realice y funciona a la perfeccion tmbien ya cheque el del bootloader y funcionan a la perfeccion en conjunto felicidades.

  21. Hola, muy buen articulo, si bien discrepo en alguna consideracion del diseño, reconozco que esta muy buena para iniciarse , hace solo 15 dias que arme esta entrenadora y ya estoy haciendo algunos programitas interesantes, la versatilidad de este montaje es alto. solo tengo algunas consultas al autor…
    1/*-no logro hacer funcionar display lcd de 16×2 ¿que libreria utilizaste? la original de CCS lcd.c u otra, mi display tiene driver LC7985 de Sharp,…cuando ordeno iniciar el lcd por medio de LCD_INIT() el programa se cuelga(lo determine por medio de un led que prende antes de la inicializacion y que apaga luego de la inicializacion) como nunca apaga se debe a que nunca inicializa.
    2/* ¿te puedo encontrar en algun foro?ucontrol,dtforum,yoreparo…
    3/* Felicitaciones!!!!! y saludos

  22. HOLA YO REGULARMENTE PREFIERO HACER LOS PROGRAMAS Y SIMULARLOS Y NO METERME EN EL ROLLO DE ARMAR CIRCUITOS; TE EVITAS PROBLEMAS DE REBOTES EN BOTONES Y TENER QUE PONER CONDENSADORES DE DESACOPLO Y TODO ESO; PERO SI SE QUIERE REGALAR CONOCIMIENTOS Y PROYECTOS A ALGUIEN QUE NO LOS TIENE CREO QUE DEBEN SER COMPLETOS DE LO CONTRARIO NO FUNCIONAN.ESTO ES UN FORO ALMENOS ESO CREO! POR QUE LOS QUE YA LO HICIERON FUNCIONAR, NO LES AYUDAN ALOS QUE NO ? ENVIDIA? ES CLARO QUE NO ES UN FORO PARA ING. ALTAMENTE CALIFICADOSSI NO PARA CUALQUIER AMANTE DE LA ELECTRONICA Y DE LOS PIC´S….BUENO ¡DESEPCIONANTE………..!

    • #42
      hola amigo, la verdad no entiendo bien tu preunta
      si te refieres al programa que hace que el pic funcione (se comunique) con usb, entonces debes ver el nuevo post de mario, "bootloader para placa entrenadora neoteo"…
      si te refieres al programa final que has de colocar,
      el archivo "Hex" es el resultado de compilar tu programa (sin importar el lenguaje de programacion), tambien encontraras informacion de como introducirlo e el pic en el nuevo post de mario
      (si estoy mal en algo, no me enojaria que me corrijan… XD)
      ..por otro lado MARIO, no estaria mal una lista de componentes, ya que los que no tenemos demasiada experiencia aun no prescindimos de ella.

      gracias Mario, es un buen proyecto, saludos desde Mexico.

  23. Hola Mario,

    E visto algunos de tus proyectos publicados y la verdad
    creo que son geniales,,,,,,,,,,,,,

    Estoy montando este entrenador,,,,,

    Donde puedo conseguir los programas para el pic de ejemplos para aprender?

    no beo links de descarga,,,,,,,,,,

    GRACIAS

  24. Hola Mario me parece un excelente entrenador me he bajado el formato pdf pero no logro hacerlo imprimir al tamaño original, y para diseñarlo yo mismo tengo una duda con las distancias para el lcd. gracias

  25. Que tal compañeros, disculpen la molestia pero necesito encontrar las especificaciones para cada tipo de PICs en sus conexiones de programacion, estoy entendido que existen diferencias entre cada uno de ellos, ya que muchos no cuentan con el mismo numero de pines disponibles asi que estas van cambiando, porfavor si alguien sabe en donde puedo encontrar esto, les agredecira mucho que me ayudaran.

  26. Estoy arrancando con los pic y encontre el entrenador neoteo.
    Donde puedo comprarlo armado en uruguay ?
    desde ya muchas gracias y felicitaciones por la info

    • #48 que te envien el pcb, ese archivo crea cuando haces la placa con pcb wizard o gerbit lo descargas, de preferencia que sea con pcb wizard, ahi licencia libre cando lo abras le das click en la pestaña del lado izquierdo donde dice Artwork lo mandas imprimir sobre un acetato, ojo muy importante, que la impresora sea a lasér, en ocasiones te aparece que si quieres ajustar el tamaño, pero le dices que no pq lo reduce, y pues lo siguientes es plancar tu acetato , meterlo en cloururo férrico , etc etc .

  27. No se que paso al querer imprimir el PCB se agrando en el PDF, la primera vez que hice una impresion de prueba salio en tamaño normal. Tengo todos los materiales y ya me tiene loco, la baje varias veces y el grafico me sale en todo el tamaño de la hoja. Quien tiene solucion a esto.
    GRacias

  28. Una pregunta cual es la dimension del circuito impreso
    Si alguien ve este comentario y sabe cual es la dimension de circuito les agradeseria mucho
    De ante mano gracias

  29. temas interesantísimos, eso es lo que se necesita para crecer intelectualmente, muchas gracias por compartir sus conocimientos

  30. Buenas tardes amigo!

    Que buen aporte, quisiera construirme un de estos, pero sera que no hay un pdf con la lista d materiales y todas las especificaciones que me las puedas regalar?

    Te lo agradeceria!

Responder a Uriel Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

El tren que nunca para en la estación

Ironman y AC/DC, brillante