domingo, 18 de marzo de 2018

Programador PIC-AVR-EEPROM para Linux y Windows (PARTE 1)


Programador PIC-AVR-EEPROM para Linux y Windows (PARTE 1)

Hola nuevamente a los tutoriales de Artes Electrónicas Pachani, hoy vamos continuara con una serie de tutoriales donde muestro mis experiencias orientados a los microcontroladores, este tutorial está dirigido a lectores novatos, aficionados (hobbistas), estudiantes, que deseen implementar programas para microcontroladores, para el desarrollo de aplicaciones.


Programador Linux – Windows
Para empezar este tutorial es la recopilación de la investigación por las paginas web y foros dentro de Internet, la necesidad de un grabador que tenga el mayor alcance y capacidades era una de mis necesidades, a medida que investigue encontré dos tipos de grabador uno dedicado a la familia PIC y la otra a AVR que también pertenecen a MicroChip :).

Ademas solo la familia AVR era compatible con las herramientas de Linux: Avrdude, glic-avr ,etc de manera nativa, entonces también recordé el grabador debe ser compatible con otros SO como Windows y Linux, pues ello implica que es un programador que se puede utilizar por todos.

Open Programmer (Programador Abierto)
Cuando encontré este programador cumplía con las condiciones de sirva para SO Linux y Windows y ademas es de codigo abierto eso implica que se puede estudiar para ampliar el numero de dispositivos compatibles, entonces lo estudie y construí para conocer su alcance, la informacion necesaria la puedes encontrar en la siguiente pagina:


Antes de empezar para quienes se animen a construir este proyecto deben de considerar las siguientes recomendaciones debido a que vamos a manejar herramientas :
1.- Leer bien cada una de las instrucciones, mas aun cuando se trata de los circuitos electrónicos y los valores de los componentes electrónicos y sus tolerancias.
2.- Al momento de manejar herramientas como soldador de estaño y alicates tener cuidado si eres menor de edad, para ello puedes pedir ayuda a alguien con experiencia y a medida que ganes experiencia tendrás en mente todo lo anterior mencionado.
3.- Por sobre todo ganas de aprender, la construcción de un proyecto puede ser apasionante y divertido.

Construcción del Programador Abierto (Open Programmer)
Para empezar de manera oficial esta serie de Tutoriales, yo recomiendo leas los anteriores tutoriales sobre como construir un grabador serial pues vamos a necesitar un microcontrolador PIC18f2550 ya grabado y con ello vamos a necesitar realizar las pruebas según el SO con el que trabajes:
Primero vamos a visitar la pagina donde se aloja la información que vamos a necesitar para construir este programador de microcontroladores :

Esta es la web del proyecto, para no tener problemas con el idioma yo recomiendo ver esta información con el buscador de CROME con el plugin de traductor de google, veremos esta web de la siguiente manera:

También recomiendo visitar esta otra pagina para construir :

Allí encontraremos la experiencia de otro aficionado con la construcción de esta placa, ya teniendo todo esto en mente empecemos entonces, lo primero que debemos de tener es la lista de componentes:
  1. U1 Cuarzo de 12Mhz (también se puede usar de 4Mhz, 8Mhz , 16Mhz , 20 Mhz, esto se puede reconfigurar en las opciones de divisor de entrada en el código fuente).
  2. U2 18F2550 (también 2450,2455,2458,2553,4450,4455,4545,4545,4553, también de depende de la configuración en el código fuente)
  3. U3 socket, porta CI, o como lo designe en el país de origen de 20 pines.
    U4 socket, porta CI, o como lo designe en el país de origen de 8 pines.
  4. Q1-2 BC557 (o cualquier PNP, prestar atención a la polaridad)
  5. Q3-4 BC547 (o cualquier NPN, prestar atención a la polaridad)
  6. D1-2 LED de cualquier color rojo, verde o amarillo, solo para denotar que funcione la placa.
  7. D3 1N4148 (o cualquier diodo, mejor si Shottky)
  8. L1 100uH tipo de resistencia u otro.
  9. R1 22KΩ
  10. R2 12KΩ
  11. R3 100KΩ
  12. R4: 6 10KΩ
  13. R7 1MΩ
  14. R8-9 2.2KΩ
  15. R10 10KΩ
  16. R11: 23 100 Ω
  17. R24-25 330KΩ
  18. R26-27 10KΩ
  19. C1 22-100uF 25V , también puede ser de 16V pero menos de esto no.
  20. C2-3 22pF
  21. C4 >= 220nF
  22. C5 100nF
  23. C6 10uF 25V
  24. C7-8 100nF
  25. CONN1 USB tipo B
  26. CONN2-3 Línea de banda hembra de 10 pines
  27. CONN4 Línea de banda de 5 pines

Lo principal es conseguir los materiales para la prueba de conexión, ahí diría que esta la parte mas importante de este grabador.

Prueba de conexión del Programador Libre
Antes de todo descarguemos todo el material que necesitemos para las pruebas de la pagina original, vamos a la sección de descargas de la web para descargar tanto el IDE, Esquemas de circuito y código fuente según el SO en el que trabajaremos:

Primer Paso:
En mi caso voy a trabajar en un SO Linux con escritorio MATE Desktop Environment 1.8.1, para ello vamos a descargar todo el material para Linux:


Para grabar nuestro microcontrolador 18f2550 con el programa *.HEX para el proyecto:


Debemos de considerar los siguientes puntos, recordaran que el proyecto indica que debemos de tener un cristal de 12Mhz para empezar este proyecto, en mi caso no lo tenia a la mano por lo que busque la manera de utilizar el de 16Mhz que tengo a mi alcance, el firmware que hemos descargado tiene un proyecto que se puede compilar en MpLab 8,92 el Firmware09 y MpLabX Firmweare10, de la siguiente manera:


Vamos a trabajar en Firmware09 y abrimos MPLab8,92 luego vamos a la pestaña: Proyect/open , de esta manera abrimos un nuevo proyecto:


Escogemos el archivo a trabajar :


De esta manera se abrirá un nuevo proyecto el cual tendremos que modificar solo la parte que nos interesa:


Dado que el proyecto trabaja con 12Mhz, vamos a modificar esta parte del codigo que es un divisor para obtener los 4Mhz con los que trabaja el microcontrolador, de 3 a 4 para un cristal de 16Mhz


Listo es momento de compilar nuestro programa:


Luego de unos minutos tendremos lo siguiente en el programador:


Finalmente vamos donde esta compilando nuestro proyecto en la carpeta de _output allí encontraremos los archivos de complicación de la siguiente manera:



Con todo esto ya tenemos nuestro Oprog.hex para grabar en el microcontrolador, la grabación del microcontrolador lo dejamos para el siguiente tutorial, espero les aya sido de gran utilidad el material. Cualquier duda o consulta la puedes realizar en la sección de comentarios.

Todo el material que aquí se encuentra es de mi autoría, ademas de una recopilación de información de Internet de recursos que se pueden descargar los cuales son usados como referencia los ejemplos. Cualquier consulta la puedes realizar en la parte de comentarios.

Bibliografía:

Software:
1.- MpLab version 8.92 descargado de la pagina oficial de Microchip;










Microcontroladores PIC – Curso de Programación en MikroC (Parte 6 )

Microcontroladores PIC – Curso de Programación en MikroC Bienvenido nuevamente a los tutoriales de Artes Electrónicas Pachani , con...