jueves, 11 de febrero de 2021

Curso 02: Hardware el microcontrolador AVR

 

Programando Embedded System Microcontroller con Metologia interactiva.

                                                                                                   

GILBERTO PASCUAL, 2021

gpascualt@gmail.com  

Hardware el Microcontrolador AVR

Passive Avr

Programmer

 

 

Figura1

 

Figura2

 

“Ahora usted puede aprender a Programar Microcontroladores de forma muy fácil”.

 

1.    Hardware, el Microcontrolador AVR: 

Un Microcontrolador es un circuito electrónico de propósito general; es una computadora completa dentro de un circuito integrado (IC o chip). Normalmente conocido como IC o chip, por ejemplo el amplificador TDA2822M o el opam LM386 su función y sus pines son fijos, no tienes control sobre lo que hacen y, por lo tanto, el control es limitado al propósito que fueron creados.

 Con un Microcontrolador, cualquiera que sea su control, usted decide:

• Cuál será la función del CI

• Para qué se utilizan la mayoría de los pines (entradas o salidas).

• Y a qué dispositivos externos de entrada / salida están conectados estos pines. 

Si desea un temporizador de huevos, una alarma para el automóvil, un control remoto por infrarrojos o lo que sea, todo se puede hacer con un Microcontrolador. 

ATMEL (www.atmel.com) dispone de una gama comercial de Microcontroladores denominada "AVR". Comenzaremos usando el ATMEGA16, tiene 16kbytes de Flash para almacenamiento de programas, 1024 bytes de RAM y 512 bytes de EEPROM para almacenamiento de datos a largo plazo.

 

Figura 3. Pines del Microcontrolador Atmega16.

 De los 40 pines: 

• VCC (10) y GND (11,31) están dedicados a la alimentación, VCC es voltaje positivo, por ejemplo, 4,5 V

• AVCC (30) es un voltaje especial para medir voltajes analógicos (conectar a VCC / 5V).

• Hay cuatro puertos de E / S accesibles portA,  portB, portC y portD (los Microcontroladores AVR más grandes tienen más puertos) Un puerto es un grupo de 8 pines de E / S que se pueden controlar juntos.

• PB5 (6), PB6 (7), PB7 (8), RESET (9) son pines que se utilizan para cargar los programas (PB0, PB1, PB2 se pueden usar como E / S).  

 

2.    Fuentes de alimentación: 

La mayoría de los Microcontroladores funcionan con voltajes bajos de 4,5 V a 5,5 V, por lo que pueden funcionar con baterías o con CC fuente de alimentación, los voltajes superiores a estos destruirán el micro. Una L en un número de modelo de AVR significa puede funcionar a un voltaje aún menor. Algunos solo funcionan a 1,8 V, ¡así que consulte la hoja de datos! 

Por ejemplo el Microcontrolador Atmega16, pueda trabajar con el siguiente rango de voltajes  

Figura 4. Rango de voltajes de operatividad del Microcontrolador Atmega16.

  

3.    Programación de AVR 

Los Microcontroladores, como el AVR, están controlados por software y no hacen nada hasta que tienen un programa dentro de ellos. 

Los programas AVR se escriben en una PC utilizando el BASCOM-AVR.

Este software es un tipo de programa de computadora llamado compilador, proviene de www.mcselec.com.

 

Figura 5. Software BASCOM AVR para programación del Microcontrolador Atmega16.


El sistema operativo en el cual hemos instalado el programa y haremos uso durante el curso es Windows 10 Pro x 64bits.

 

Figura 6. Sistema Operativo Windows 10 Pro a usar dentro del curso.

 

4.    Tablero de circuitos

A menudo, en electrónica se requiere algo de experimentación para crear prototipos (probard) circuitos específicos. Un prototipo se necesita un circuito antes de diseñar una PCB para el circuito final. 

Se utiliza una placa protoboard para hacer un prototipo del circuito. Tiene agujeros en los que se pueden insertar componentes y tiene conexiones eléctricas entre los orificios según el diagrama siguiente. 

El uso de una placa de pruebas significa que no hay soldaduras y un circuito se puede construir rápidamente y modificar fácilmente antes de que se decida una solución final.

 

Figura 7. Protoboard, para la implementación de circuitos.

Nuestros diseños y simulaciones de los circuitos implementados serán realizados en ISIS de Proteus, en su versión compatible para Windows 10 Pro.

 

Figura 8. Software ISIS Proteus para diseñar y simular los circuitos electrónicos.

  

Figura 9. Esquema electrónico diseñado en ISIS Proteus.

 Diseño del circuito anterior en el Protoboard se vería como se muestra en la siguiente figura:

 

Figura 10. Esquema electrónico implementado en un Protoboard.

  

5.    Descripción del circuito

El conector de 5 pines es para programación.

• El condensador electrolítico de 100 uF sirve para reducir cualquier variación en el voltaje de la fuente de alimentación.

• El 10k es una resistencia pull-up para el pin de reinicio, un nivel bajo en este pin detendrá el Microcontrolador y cuando se mantiene alto, el programa se ejecutará desde el principio.

• El 1N4148 es un diodo de protección que detendrá altos voltajes que posiblemente dañen el Microcontrolador (solo se requiere en el pin de reinicio porque todos los demás pines del Microcontrolador tienen diodos incorporados).

• Hay un LED con una resistencia de "límite de corriente" de 1k. Un LED solo necesita 2 V para funcionar, así que si conectado sin una resistencia en serie fluiría demasiada corriente y destruiría el LED. Con 2 V a través del LED, habrá 3 V a través de la resistencia y la corriente se limitará a (V / R) 3/1000 = 3 mA.

• Los condensadores de 0.1uF son para detener el ruido eléctrico que posiblemente interfiera con los Microcontroladores. 

 

6.    Programación del Microcontrolador AVR 

Se usara el programador USBISP 2.0. El cual permite programar el microcontrolador desde el puerto USB del computador y grabar por medio del protocolo ISP del Microcontrolador. Además se usara un cable adaptador para hacer el grabado de manera directa en el Protoboard.

 

Figura 11. Grabador USB ISP V2.0 de fábrica.

 Figura 12. Grabador USB ISP V2.0 modificado para grabado dentro de un Protoboard.

  

7.    Programando con Bascom-AVR IDE 

BASCOM-AVR son cuatro programas en un paquete, se conoce como IDE (desarrollo integrado ambiente); incluye el editor de programas, el compilador, el programador y el simulador, todos juntos.

 

Figura 13. Software BASCOM-AVR para desarrollo de programas par microcontroladores AVR.

Después de instalar el programa, hay algunas opciones de configuración que deben cambiarse. 

En el menú, seleccione.

OPTIONS - PROGRAMMER y seleccione Sample Electronics programador. Elija la pestaña paralela y seleccione la dirección LPT de 378 para LPT1 (si solo tiene 1 puerto paralelo en la computadora, elija esto), también seleccione flash automático.

Lo siguiente no es absolutamente necesario, pero le ayudará a obtener mejores impresiones.

OPCIONES - IMPRESORA cambiar los márgenes a 15.00 10.00 10.00 10.00

OPCIONES - MEDIO AMBIENTE - EDITOR cambia la Posición del comentario a 040. 

El compilador

El comando para iniciar el compilador es F7 o la imagen IC negra en la barra de herramientas.

Esto cambiará su programa BÁSICO de alto nivel a código de máquina de bajo nivel.

Si su programa tiene un error, la compilación no se completará y aparecerá un cuadro de error. Doble haga clic en el error para llegar a la línea que tiene el problema. 

El programador

Cuando haya compilado exitosamente un programa presionando F4 o la imagen verde de IC en la barra de herramientas inicia el programador. Si no hay ningún Microcontrolador conectado, aparecerá un error. Si el CI está conectado luego el BASCOM completa el proceso de programación y reinicia automáticamente su Microcontrolador para iniciar la ejecución de su programa. 

El programador que usaremos será el aplicativo ProgISP, el cual es compatible con el grabador de PIC y el sistema operativo.

 

Figura 14. Software PROGISP para el grabado del código dentro del Microcontrolador.

 

8.    Leer y escribir usando diagramas de flujo 

Símbolos de diagrama de flujo

 

Figura 15. Cuadros de control de flujo de inicio y fin. 

 

Figura 16. Cuadros de flujo para acciones y condicionales.

 

Diagrama de flujo de rutina diaria:

 

Figura 17. Ejemplo de diagrama de Flujo de tareas diarias.

 

 

“Si te gusto el artículo, compártelo, recuerda que hay otros que desean aprender y tú puedes ayudarlos también comentando  y  compartiéndolo en tus redes”.

 

¡Gracias!

Atte. Gilberto Pascual

No hay comentarios:

Publicar un comentario