domingo, 1 de septiembre de 2019

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

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


Hola y bien venidos nuevamente a los tutoriales de Artes Electrónicas Pachani, continuando con la serie de tutoriales donde muestro mis experiencias con los microcontroladores pic y avr, el tutorial va dirigido a lectores novatos, aficionados (hobbistas), estudiantes, que deseen implementar programas para microcontroladores, para el desarrollo de aplicaciones.



Programador OpenProg Linux – Windows 
Para continuar con este tutorial, OpenProg es una alternativa de programador de microcontroladores que en mi opnion tiene bastante facilidades en cuanto su facil construccion como tambien lo simple de usar pues al igual que un Raton (mouse) tanto los sistemas operativas mas simples puede reconocer y tener en sus librerias de tu dispositivo.

CARACTERÍSTICAS DEL PROGRAMADOR OpenProg (extraído de http://openprog.altervista.org )
  • Completamente gratis y de código abierto (incluido el firmware).
  • Programas PIC10-12-16-18-24, dsPIC30-33, ATMEL AVR (programación serie y HV serie), EEPROM serie tipo 24xxxx (I2C), 25xxx (SPI), 93xx6 (MicroWire), DS24xx (OneWire), 11xxx ( UNIO), se comunica con dispositivos genéricos I2C y SPI
  • Puede trabajar como depurador ICD.
  • Interfaz USB 2.0 de velocidad completa, clase HID (igual que teclados, ratones, etc.).
  • Auto-alimentado.
  • No necesita drivers.
  • Construido a partir de componentes fáciles de encontrar (costo estimado ~ 10 € { en mi pais Estado Plurinacional de Bolivia puede aproximadamente costar unos Bs. 63 a 72 los componentes}).
  • Tiempos generados por hardware para una velocidad y confiabilidad máximas (escribe un 18F2550 en 15 s).
  • No satura tu CPU y no sufre cuando se ejecutan otros programas.
  • Programas de control de código abierto para Linux y Windows.
Dispositivos soportados
La lista de dispositivos que se ha probado están indicados en negrita ; los otros dispositivos son compatibles pero no probados; sin embargo, considerando que para cada familia de dispositivos se ha verificado al menos uno, todos deberían funcionar sin problemas.
Tome nota en cuanto a los PIC de la serie LF se utilizan exactamente como los F.
Los dispositivos AVR de Atmel con varios sufijos se agrupan cuando el algoritmo de programación es exactamente el mismo, por ejemplo. ATmega8 y ATmega8A;

Serie PIC (Solo los mas importantes):
  • 16F628, 16F628A, 16F876, 16F876A, 16F877,16F877A,18F2455 , 18F2458, 18F2480, 18F2510, 18F25J10 , 18F25J11, 18F2515, 18F2520, 18F25K20 , 18F25K22, 18F2523, 18F2525, 18F2539, 18F2550, 18F25J50, 18F25K50
Serie Atmega (Este es el que vamos a utilizar en el laboratorio):
  • AT90S8515, AT90S8535, ATmega48, ATmega8, ATmega88 , ATmega8515, ATmega8535, ATmega16, ATmega164,ATmega168, ATmega32, ATmega324, ATmega328 , ATmega64, ATmega644, ATmega1284.

El proyecto se basa en un PIC 18F2550 de 28 pines; se utilizan aproximadamente 8,5 KWords, por lo que encajará cómodamente incluso en otros como 18F2455 más pequeños. El microcontrolador PIC18F2550 como el cerebro del programador. Se conecta el conector USB-B que se comunica a través de la PC. Que tiene ademas de dos indicadores LED, uno para la indicación en la conexión del programador otro muestra el estado de programación.

Los principales conjuntos de series (CONN2 ,CONN3 ) encabezados se utilizan para la comunicación con el dispositivo esclavo de microcontrolador. El uso de pines son diferentes en diferentes microcontroladores.  
Un interruptor de reinicio se agrega a la unidad del controlador para establecer el restablecimiento del programador. El PIC18F2550 se muestra con el código hexadecimal del firmware adjunto a continuación. Puede utilizar otros programadores PIC serie o paralelo para programarlo.

Marco Practico:

A.- Programador OpenProg


Figura 01. Circuito del Programador (extraído de http://openprog.altervista.org )

HID (Dispositivo Interfaz Humano) Detectando:
Primero se verifica la comunicación entre el microcontrolador y el PC. Es mejor hacer la prueba de detección de HID (dispositivo de interfaz humana) que rectificará muchos errores como microcontrolador, cristal y problemas de USB. Para ello debemos primero programar nuestro 18F2550 con el firmware del OpenProg y luego vamos a realizar las pruebas en un Protoboard de la siguiente manera:
  1. Conecte el circuito según la figura 02.
  2. Conecte el USB con el PC.
  3. Compruebe que el parpadeo del LED1 parpadee rápido al principio y luego ralentiza el parpadeo.
  4. Si el programador es detectado, vaya al paso siguiente. Si el programador no se detecta, verifique las conexiones y las instrucciones.
Figura 02. Circuito prueba de conexión a PC (extraído de http://openprog.altervista.org )

5. Abra OpenProg.exe y compruebe el dispositivo conectado.


Figura 03. Circuito prueba de conexión a PC (extraído de http://openprog.altervista.org )

Circuito Completo - Parte del Controlador
Arme los componentes del programador según la Fig. 01 y conecte el conector USB con el PC.

  1. Abra el OpenProg y compruebe que se ha detectado el programador.
  2. Haga clic en options -> hardware test. La prueba de hardware se utiliza para comprobar si el programador está funcionando correctamente.
Figura 04. Circuito prueba de conexión a PC (extraído de http://openprog.altervista.org )

3. Comprueba todos los pines de programación para asi poder depurar fácilmente en el área de error. La prueba de hardware muestra el voltaje a través de la VDDU, VPPU, CLK, DATA, PGM en diferentes instantes.
Figura 05. Interface OpenGUI de conexión a PC para prueba de voltajes (extraído de http://openprog.altervista.org )

4. Mida el voltaje entre los pines VDDU, VPPU, CLK, DATA, PGM y compruebe con los valores en la pantalla. VPPU puede ser una diferencia de 1V debido a la conversión DC a DC, pero se debe aproximar al valor de 13V.
5. Si el voltaje de estos pines de la parte del controlador y lo que se muestra en la pantalla son similares, el programador está funcionando perfectamente. Si el voltaje es diferente, verifique el circuito de los pines respectivos.


Placa de expansión
Por ultimo ya una vez tenemos nuestro programador terminado nos toca probar nuestro microcontrolador , para ello construirnos una placa de expansión Atmega para el microcontrolador Atmega32A tal cual se observa en la figura 06. 

Figura 06. Placa expansion Atmega (extraído de http://openprog.altervista.org )

Nota: Dado que vamos a utilizar en laboratorio esta placa de expacion es util para los estuidantes de Microcontroladores 2 en mi Facultad de Tecnologia de la Universidad Mayor de San Andres.

Con la placa de expansión conectada primero seleccionamos el tipo de microcontrolador que vamos a conectar nuestro microcontrolador de la siguiente manera (En este caso usare el atmega8a):

Figura 07. OpenGUI selección de microcontrolador (captura de la pantalla de mi laptop) 

Una vez conectada lo que sigue es reconocer el microcontrolador desde la interface de OpenGUI de la siguiente manera:

Figura 08. Detalle del microcontrolador Atmega8A (fuente del autor captura de la laptop) 

Al observar la anterior imagen notaremos que tenemos datos de cual es la configuración de fuses del microcontrolador Atmega8A, ademas de otros datos que nos pueden ayudar en nuestro laboratorio.

En el siguiente parte de este tema completaremos  esta placa de programación con una placa de entrenamiento para demostrar que con estas herramientas podemos fácilmente desarrollar nuestro propio laboratorio además de equipos en nuestra casa de manera adecuada simple, de momento les comento que sigo trabajando en la redacción de los temas que siguen en relación a este fascinante tema de los microcontroladores. 


Para concluir todo el material que aquí se encuentra en cuanto a la redaccion es de mi autoría, ademas recordar que la recopilación de información es de Internet de recursos que se pueden descargar los cuales son usados como referencia a este tema y en cuanto a la informacion de donde se extrajo el contenido siempre se hara referencia al autor original para proteger derechos de autor en internet. Cualquier consulta la puedes realizar en la parte de comentarios.

Base ,colector y emisor .
Electronica lo mejor. 
Transmision y Recepcion.
Adelante Telecomunicacion.

Bibliografía:
Software utilizados:
1.- MikroC_PRO_PIC_2016_Build.6.6.3 descargado de la pagina oficial de Microchip.
2.- Proteus v 7.5 , simulado en linuxMint 19,4 por medio del programa Wine.
3.- Editor de texto libre, se puede descargar de Internet, es un editor GNU Linux.
4.- OpenProg , programador de microcontroladores PIC-AVR.

Hardware utilizados:
1.- Placa de Programación basado en los esquemas de OpenProg.
2.- Placa entrenadora desarrollado en base al microcontrolador Pic 18F4550.

3.- Placas modulo de leds , botoneras e interruptores.





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...