De la misma forma que los MICROCHIP estos van ganando mas territorio en latino américa, siendo los principales competidores, estos traen micros de 8, 16 y 32bits, con una amplia gama de compiladores, esto no los proporciona la misma empresa ATMEL y son gratis solo hay que registrase para descargar el compilador ATMEL STUDIO de la misma pagina web del fabricante de Atmel. ademas de atmel studio tenemos mas compiladores como es el IAR C, hay bastante información en la nube de estos microcontroladores y compiladores.
Es muy variado las aplicaciones que podemos hacer con estos MCU's de ATMEL, la ventaja para mi personalmente esta en los costos, aun que no es mucho pero siempre es mejor tener dos a tres herramientas para solucionar problemas microcontrolados, los grabadores y como iniciarse con los microcontroladores AVR los hay bastante, pero en aquí se mostrara una de las formas de iniciar con estos microcontroladores de la familia AVR.
EMPEZANDO CON LA FAMILIA DE AVR (ATMEGA328P)
Este es uno de los mcu's mas utilizado y famosos, por lo que una de las empresas italianas fabrica plataformas libre llamado ARDUINO, para fabricar estas plataformas utiliza como el núcleo principal al microcontrolador Atmega328p. Esto por que las características de este microcontrolador son bastante resaltantes ademas de un precio bajo en el mercado están al rededor de 2 a 3 dolares,
CARACTERÍSTICAS DEL ATMEGA328P
- Memoria FLAHS de 32K bytes.
- Memoria EEPROM de 2K bytes
- Velocidad máxima de 20MHz igual a (20MIPS).
- Comunicación UART, SPI, i2C.
- Empaquetado DIP y TQFP.
- Puertos ADC de 8 canales.
- Temporizadores de 8 y 16bits.
- Canales PWM 6.
- Analogo comparador 1.
- Watchdog y interrupciones.
si comparamos con uno de sus competidores como son los pic16f628,16f876 y 16f877A estos no tienen mucha memoria FLAHS, EEPROM y VELOCIDAD lo que hace que sean inferior a ATMEGA328P, y los precios no varían mucho e incluso son mas baratos que un 16f877A.
REQUISITOS PARA EMPEZAR:
- Haber descargado el Software para escribir el código (ATMEL STUDIO), lo podes descargar de su pagina principal del fabricante de microcontroladores AVR, http://www.atmel.com/ solo tienes que registrarte y lo obtienes gratuitamente eso es lo que mas gusta de estos mcu's. una vez descargado debes de instalarlo como todo programa siguiente siguientes, bueno para los que son mas nuevos en esto pueden buscar en la nube mas información.
- Necesitamos de un segundo software mas un hardware, esto es para transferir el codigo que escribas en atmel studio hacia el microcontrolador, es el proceso llamado grabado del microcontrolador.
- El software es SinaProg 2.1, lo descargas de esta web: http://topdownloads.ru/archives/file/SinaProg-2-1-1-RUS/8536017.htm es una herramienta completa, tiene para configurar fuses y soporta una inmensa variedad de microcontroladores avr.
- El hardware es el gravador, podemos encontrar variedad de grabadores de mcus de atmel, pero los costos varian dependiendo quien graba mayor cantidad de microcontroladores, sin embargo para empezar podes utilizar este que es bastante económico y muy fácil de usar ademas de poder grabar una gran cantidad de la familia de microcontroladaores avr. su nombre es USBASP V2.0
al igual que cual quier hardware externo para windows 7 necesitas de su driver o controlador, no lo he probado pera windows 8 pero las especificaciones aceptan windows 8, a qui tienes una url para que descargues: https://mega.nz/#F!zkQH2TjT!6h3dP5eGDuzc6hucniuULQ
CONFIGURACIÓN DE FUSES AVR´S ATmega328P
mostraremos las formas de habilitar un puerto y configurar el reloj como también los fuses, utilizando todo lo mencionado anteriormente, el programa sera desarrollado en Atmel Studio.
al comprar un microcontrolador avr este viene con configuración de fabrica, de una velocidad de 1MHz esto es debido a que viene con un oscilador interno y dividido entre 8, esta es la configuración con la que viene de fabrica. sin embargo puedes configurarlo a la velocidad que tu desees con solo poniendo los valores correspondientes en los fuses, viendo según hoja de datos.
nosotros trabajaremos con la configuración de FUSES que es el limite de velocidad del microcontrolador avr ATmega328P. high fuse = 0xDF y low Fuse = 0xF7, estos son los valores para poner el micrcontrolador a 20Mhz, para que trabaje a esta velocidad sin inconvenientes tiene que estar alimentado con una tensión de 4.5V - 5.5V.
esta configuración lo realizamos con el dicho grabador SinaProg, dado que tiene la capacidad para configurar fuses, lo podemos ver en la parte derecha. una vez configurado los fuses tienes que asegurarte de que le hayas puesto el oscilador de 20Mhz en sus respectivos pines del microcontrolador atmega328p.
CONFIGURACIÓN PINES GPIO DE AVR´S
utilizaremos el software Atmel Studio 6.2. primero tenemos que abrir un nuevo proyecto y darle un nombre apropiado seguidamente guardarla. aquí tenemos un programa básico.
como podemos ver es distinto al compilador CCS de pics, por que trabajas directamente manipulando registros, para poner un uno lógico tienes que hacer una OR entre registros mediante este símbolo ( | ) en el programa, y para el toggle tienes que utilizar este símbolo " ^ " lo que es una OR Exclusiva.
Excelente Gracias
ResponderEliminar