El Atmega328p

Como bien sabrán aquellos que siguen a Arduino, uno de los microcontroladores que mas van a encontrar en las plataformas de Arduino sera el Atmega328p.
Este es un micrcontrolador de la firma Atmel (ahora adquirida por Microchip) y esta basado en la arquitectura AVR.
AVR es una arquitectura basada en RISC (Computadora con conjunto de instrucciones reducidas), recordemos que la arquitectura de un microprocesador o microcontrolador, detalla la estructura interna del mismo y como se conforma la distribución, acceso y control de los diversos bloques que componen al microcontrolador.


Sin entrar mucho en detalles de Microprocesadores/Microcontroladores, ya que demandaría un curso dedicado solo a ese tema, podremos ver el interior de la arquitectura del Microprocesador (en el cuadro gris llamado "CPU" y agregándole los periféricos externos lo convertiremos en un microcontrolador.
La manera mas conveniente de estudiar este tema es empezando por técnicas digitales, siguiendo por lenguaje ensamblador y analizando sus registros, pilas, puertos, etc... Pero no es la idea del curso ya que la idea es aprender Arduino y este tema quedara para los que se interesen un poco mas en electrónica.

Siempre que estudiemos un microcontrolador, circuito integrado o algún componente electrónico, es recomendable que busquemos su hoja de datos "Datasheet" asignado para saber los parámetros eléctricos y su configuración.
En este caso dejare el link para la hoja de datos del microcontrolador Atmega328p.

Dentro de los packages (encapsulados) que se provee el Atmega328, vamos a encontrar el mas popular para los proyectos Diy que sera el PDIP, este podrá ser montado directamente en un protoboard (breadboard) o en una placa de prototipado o experimental.

La disposición de pines del encapsulado 28-PDIP sera la siguiente:


Como podremos ver en la imagen, tendremos 3 puertos (B, C y D), donde estos poseen múltiples configuraciones, como por ejemplo el PC4 donde hacemos referencia al puerto C pin numero 4 que aparte de funcionar como una entrada o salida, puede funcionar como un canal multiplexado del ADC (en este caso el canal 4) también funciona como uno de los pines de la interfaz I2C (en este caso el SDA) y también como interrupción (en este caso como PCINT12).
Esto nos demuestra que el microcontrolador puede ser configurado de múltiples maneras y puede configurar sus pines de diferentes maneras según su hardware se lo permita, claro que también podremos realizar algunos protocolos por software y asignarlo a pines que no están dedicados, por ejemplo podríamos tener un pin SDA en un pin PB5, que no posee esta propiedad por hardware pero podríamos hacer la trama por software y utilizarlo, lo que no podremos hacer es usar este PB5 como un canal ADC ya que es una propiedad intrínseca del microcontrolador.


Este es el diagrama de bloques interno del Atmega328p, con todos sus bloques y configuraciones internas para manipular vía firmware.

Ahora describiremos los parámetros eléctricos del microcontrolador que es necesario y muy útil al momento de diseñar nuestro hardware o utilizar algún modulo/shield externo.


Como podremos ver, dentro de lo que mas debería importarnos es la tensión de alimentación que sera de 5V y la corriente de salida de los pines I/O que sera de 20mA máximo, esto sera necesario saberlo ya que si conectamos un LED a su salida debemos calcular la resistencia del mismo y demás. Lo mismo que no podremos conectar un motor o alguna carga que sobre pase los 20mA o que sea inductiva para evitar problemas por ley Faraday-Lenz y FCEM.

El aspecto físico del mismo, sera el siguiente (para PDIP):


Por último, el conexionado para la placa Arduino con el Atmega328p sera la siguiente:



5 comentarios:

  1. Hola Seba! ¿sabes que tipo de ADC se implementa en el ATMEGA328p? me refiero a si es de tipo aproximaciones sucesivas por ejemplo. saludos!

    ResponderBorrar
  2. hola, alguno sabe un lugar para comprar un arduino

    ResponderBorrar
  3. los del iae son mogolicos

    ResponderBorrar