¿Qué es un microcontrolador? Introducción para principiantes

¿Qué es un microcontrolador?

Los microcontroladores están «ocultos» dentro de un sorprendente número de dispositivos electrónicos, desde microondas hasta televisores, drones y teléfonos inteligentes. En esta nueva era de la Industria 4.0, popularmente conocida como Internet de las Cosas e Internet of Things (IoT), los microcontroladores son una interesante solución en el campo de la electrónica con una arquitectura eficiente para soportar una amplia gama de opciones de conectividad.

Un microcontrolador (MCU) utiliza técnicas de microelectrónica para reducir varios componentes como la CPU (Unidad de Procesamiento Central) y la memoria a un pequeño paquete (o package). Tiene varios pines de entrada y salida, a través de los cuales se puede interactuar con el mundo exterior. Obviamente, el microcontrolador como se ha realizado no hace nada, es necesario programarlo mediante un conjunto de instrucciones que representan el firmware del sistema instalado en la memoria del dispositivo.

El uso principal es para sistemas embebidos, es decir, para todas aquellas aplicaciones específicas (propósito especial) relacionadas con el control digital. A diferencia de los microprocesadores que representan el corazón puro de un ordenador diseñado para aplicaciones generales, el microcontrolador quiere dirigir la máxima eficiencia hacia una aplicación particular optimizando la relación coste/rendimiento.

Puedes pensar en un microcontrolador como un pequeño ordenador; puedes conectar una pantalla, algunos botones, un motor y algunos sensores como acelerómetros y giroscopios, todos programados para realizar ciertas funciones.

La selección de un microcontrolador para un proyecto es una tarea difícil; no sólo hay que tener en cuenta los factores técnicos relativos al hardware y al software, sino también los tiempos y los costes que pueden paralizar un proyecto.

La elección de las interfaces de comunicación es uno de los primeros pasos que un diseñador debe tener en cuenta al evaluar un microcontrolador. La evaluación adecuada de estos periféricos, junto con los puertos de E/S para la gestión de las señales de los sensores externos utilizados en el proyecto (por ejemplo, el sensor de temperatura), influyen en gran medida no sólo en los aspectos de programación, sino también en los aspectos de hardware relacionados con el número de pines requeridos por el microcontrolador. La siguiente figura muestra un ejemplo genérico de un diagrama de bloques de un microcontrolador.
esquema de bloques de un microcontrolador

¿Cuáles son los componentes de un microcontrolador?

Un microcontrolador consiste en una serie de módulos fijos que son comunes a todos los modelos, mientras que algunos son extensiones que cubren un determinado rango de precios o aplicación. A continuación se enumeran los componentes más comunes:

  • Unidad de proceso: CPU
  • Memoria de datos: RAM y EEPROM
  • Memoria de programas: ROM, EPROM, FLASH
  • Oscilador interno o externo
  • Puertos de E/S y GPIO configurables
  • Controlador DMA
  • Contadores y temporizadores
  • Gestión de interrupciones
  • Módulos de comunicación: USART, I2C, SPI, USB, Ethernet, IrDA, CAN, Wi-Fi, Zigbee, Bluetooth
  • Interfaces de tecnología analógica o mixta
  • Interfaces de visualización y control (LCD, sensor táctil)

Gracias a las funciones de control y a la amplia gama de controles disponibles, tanto a nivel analógico como digital, es posible utilizar MCUs en lugar de las tradicionales tarjetas electrónicas cableadas, que son más caras y complejas.

La CPU es el cerebro de cualquier dispositivo de procesamiento. El bloque Interrupción es una subrutina que interrumpe la operación principal del microcontrolador para ejecutar algún otro programa. El Bus es un conjunto de cables que funcionan como un canal de comunicación o medio para transferir datos y señales de control. Los temporizadores, por otro lado, se utilizan para medir los intervalos de tiempo utilizados en la sincronización de los dispositivos. Como todos los circuitos digitales, el microcontrolador es un dispositivo que requiere el reloj (OSC) para su funcionamiento.

El reloj es una señal digital que cambia continuamente de un nivel bajo (lógica 0) a un nivel alto (lógica 1), se ejecuta varias veces por segundo y para cada pulso el circuito interno realiza una operación o instrucción como parte del código compilado. El reloj es la referencia que sincroniza todas las operaciones y la transferencia de datos.

Un solo paquete no es capaz de disipar la alta energía requerida con frecuencias de reloj altas como en los microprocesadores, por otro lado, el reloj de los microcontroladores está por debajo de los valores que se encuentran en los sistemas de microprocesadores clásicos (GHz).

Programación de un microcontrolador

La programación de un microcontrolador puede parecer un poco complicada, en realidad los pasos necesarios pueden resumirse en 3 puntos esenciales:

  1. escribir el código,
  2. compilar el código en lenguaje máquina o lenguaje binario,
  3. cargar el código máquina en el microcontrolador.

El programa de gestión reside dentro del microcontrolador en una zona especial no volátil.

Las herramientas y los kits de desarrollo permiten gestionar muy fácilmente la programación a través de interfaces gráficas de usuario de alto nivel que siguen al diseñador paso a paso en la implementación del código máquina en el microcontrolador, disponiendo, además, de librerías y funciones para hacer muy sencilla la escritura del código.

Puedes encontrar microcontroladores de 8, 16 y 32 bits. Estos números se refieren al tamaño del bus de datos. En términos prácticos, con un bus de datos más grande se pueden realizar cálculos más complejos. El microcontrolador de 8 bits es el tipo más común utilizado por los aficionados. En general tiene menos pines para que sea más fácil soldar (y programar).

El mercado de microcontroladores es muy competitivo con diferentes soluciones que van desde Automoción hasta portátiles. AVR Atmel y PIC Microchip son los más conocidos por los aficionados, no es casualidad que hace algún tiempo se produjera la adquisición de Atmel por parte de Microchip.

microcontrolador arduino uno

AVR es el tipo de microcontrolador utilizado en la famosa placa Arduino utilizada en varios campos de la domótica a través de sus diferentes tipos como Arduino Uno (mostrado en la figura de arriba con el microcontrolador ATmega de 28 pines destacado), y M0 Pro para entornos profesionales con depuración integrada.

Aplicaciones posibles

  • Sistema de alarma
  • Escala electrónica
  • Automóvil
  • Ratón
  • Control de luz
  • Cargador de batería
  • Máquina distribuidora
  • Sistema de control (temperatura, presión, nivel de líquido…)

Pin It on Pinterest

Shares