Este es el tercer artículo de una serie en la que enseñamos a nuestros lectores lo que es un microcontrolador y que proporciona información básica para aquellos que deseen utilizar este componente en sus proyectos. La serie es ideal para los que tienen conocimientos básicos de la electrónica, pero no saben nada acerca de los microcontroladores. Se trata de una serie ideal para los estudiantes, los makers y aficionados.

La programación

Los lenguajes de programación usados en los microcontroladores son tan comunes como C, C++, Pascal, Assembly, etcétera.

Normalmente para trabajar con programación son usados intérpretes y compiladores.

Los intérpretes son "traductores" que hacen uso de un lenguaje parecido de aquel que usamos, diferentes de los 0 y 1 que entenden los circuitos, por lo que podemos escribir las órdenes que el microcontrolador debe realizar. El BASIC es un intérprete.

Ya, el compilador es un traductor de alto nivel que combina la facilidad de usar palabras comunes con alta velocidad de proceso. Un programa compilador ya es colocado en microcontroladores en la EPROM o descargado en él.

Un ejemplo de un lenguaje que se utiliza en microcontroladores que existen compiladores de fácil uso es el C.

Por supuesto, para trabajar con los microcontroladores se debe saber programar, es decir, debe conocer el lenguaje que utiliza y cómo utilizar el compilador.

Para ello hay muchos libros y cursos disponibles y son bastante simples.

De hecho, esta programación es la base del uso de microcontroladores en la escuela, donde aprenden electrónica básica, crear un circuito que activa LED y escribir el programa que hace parpadear y también cada vez más circuitos avanzados, cómo controlar un robot o un ascensor.

En general, el modo cómo los microcontroladores procesan la información es igual para todos.

Así, una vez que aprendas a estructurar un programa (la secuencia de órdenes que el microcontrolador debe seguir generando las señales de control) simplemente "traducir" al lenguaje que utiliza y listo...

La estructuración se hace a través de un diagrama de flujo, como se muestra en la figura 1, todo lo que el microcontrolador debe hacer es colocado lógicamente para escribir el programa.

 

 

Figura 1
Figura 1

 

 

Abajo tenemos un programa de muestra para Arduino.

 

*/

 

// a função loop roda indefinidamente

void loop() {

  digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)

  delay(1000);                       // wait for a second

  digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW

  delay(1000);                       // wait for a second

}

 

Pero, no tiene que programar todo cuando haces un proyecto, especialmente si es simple.

En la internet están disponibles " sketches " que no son más que trozos o pequeños programas listos para ser utilizados.

Alguien ha tenido el trabajo de escribir estos programas y usar y se pueden agregar a su proyecto sin problemas.

El programa mencionado para parpadear un LED es un ejemplo de un sketch. Si en su aplicación existen uno o más LEDs que parpadean, ya tiene la parte del programa que hace esto listo.

El circuito para utilizar este programa parpadeando un LED en la figura 2.

 

 

 

Figura 2 – Control de un LED
Figura 2 – Control de un LED

 

 

Podemos utilizar el mismo programa para disparar intermitentemente un motor mediante shield de control en D13 de la salida. También cambiar el delay (demora) para los tiempos que desee.

Usando otras salidas puede parpadear en diferentes maneras otros LEDs o producir efectos en la decoración en vestibles, por ejemplo.

 

Cuando se utilizan

Las aplicaciones para los microcontroladores son ilimitadas. Donde tenemos que controlar uno o más dispositivos de una planificación que implica automatización o control de las señales externas pueden utilizar un microcontrolador. Esto no se limita a la robótica y mecatrónica (automatización y control) pero los otros ramos que se expanden como la IoT y wearables (internet de las cosas y usable).

Algunos ejemplos de aplicación:

-Robots Autónomos

-Brazos robóticos

-Drones

-Alarmas

-Ascensores

-Control de acceso y puertas automático

-Electrodomésticos

-Monitoreo de sensores

-Controles industriales

-Automatización general

-Ropa y efectos personales inteligentes

 

Principales familias

Nuestro espacio no es suficiente para tratar en detalle todas las familias de microcontroladores disponibles, si sólo porque cada día nuevos tipos con nuevas características son liberadas.

Le sugerimos que consulte la Internet, principalmente la Mouser que tienen en su inventario microcontroladores prácticamente todos disponibles con acceso a hojas de datos (datasheets) que facilita enormemente la elección de un tipo específico para su aplicación.

Vamos a darle algunas informaciones básicas sobre los principales tipos.

  

Arduino

Esto, sin duda es la principal familia de microcontroladores, sobre todo para uso didáctico, dada su facilidad de uso, bajo costo y rendimiento.

Creado en Italia, hoy en día el Arduino cuenta con varios tipos del propio Uno, Nano, Leonardo, Micro, Mega, Cero, con multitud de variaciones, como se muestra en la tabla disponible en

https://www.arduino.cc/en/Main/Products.

Las Placas Arduino están basadas en los microcontroladores de Atmel Atmega que pueden ser utilizados en aplicaciones similares a las creadas en el Arduino, pero independientemente. (figura 3)

 


 

 

 

Para Robótica Educativa, iniciación, STEM, la placa UNO es la más recomendable. (figura 4)

 

 

Figura 4
Figura 4

 

 

Las características básicas de este microcontrolador (versión Uno) son:

of which 0.5 kB used by bootloader

Microcontroller ATmega328P
Operating Voltage 5V
Input Voltage (recommended) 7-12V
Input Voltage (limit) 6-20V
Digital I/O Pins 14 (of which 6 provide PWM output)
PWM Digital I/O Pins 6
Analog Input Pins 6
DC Current per I/O Pin 20 mA
DC Current for 3.3V Pin 50 mA
Flash Memory 32 kB (ATmega328P)
SRAM 2 kB (ATmega328P)
EEPROM 1 kB (ATmega328P)
Clock Speed 16 MHz
LED_BUILTIN 13
Length 68.6 mm
Width 53.4 mm
Weight 25 g

 

Intel Galileo y Edison.

Intel tiene en su línea de microcontroladores más simples para el uso en robótica, Mecatrónica, IoT y con fines educativos dos tipos en el momento de la producción de este libro fueron muy importantes.

Ambos tipos están disponibles en forma de procesadores de desarrollo que contiene plataforma de Intel y compatible con varias de las capacidades de expansión. Además, ambas plataformas se pueden ejecutar en Linux

 

Intel Galileo

 

   La placa de desarrollo de Galileo puede compararse a una versión más avanzada de Arduino, ya que es compatible con él y con más funciones, para proyectos más complejos. (figura 5)

 


 

 

 

Sus principales características son las siguientes:

-Utiliza un Quark de SoC de Intel® x 1000

-Tiene 256 MB de RAM

-Tiene memoria flash de 8 NB

-Interfaz dispone de varias en el estándar de industria

Mini-PCI Express Slot

Puerto Ethernet de 100 Mb

Ranura micro SD para soporte de 32 GB de memoria adicional

Puerto host USB

Puerto de cliente USB

-Compatibilidad Arduino

-Soporta Linux 1.4 Yocto-Pocky

-Soporta múltiples plataformas de desarrollo

Galileo se comporta como un Mini-PC dado la cantidad de conectividad opciones tales como acceso a Internet, módulo 3G, Wi-Fi, puerto Ethernet, etcétera.

 

Intel Edison

   A diferencia de Intel Galileo e Intel Edison es que el Intel Edison consiste en una tarjeta particularmente conveniente para el desarrollo de proyectos de bajo costo. (figura 6)

 

 

Figura 6 – Intel Edison
Figura 6 – Intel Edison

 

 

-Intel® Atomo SoC 22 nm

-1 GB DE RAM

- Memoria flash-4 GB

-Wi-Fi

- Blue Tooth Low- Energy (LE)

-Menos de 1 W de consumo a pleno funcionamiento

Puertos - USB

-40 GPIO interfaces ideal para conectar sensores, pantalla LCD y varias placas de expansión.

 

Más información sobre Intel en https://software.intel.com/en-us/articles/spotlight-on-intel-galileo-and-intel-edison-development-boards

 

PIC

Los PICs o Programmable Intelligent Controllers son microcontroladores muy populares por su facilidad de uso y bajo costo, después de haber sido creado por Microchip (www.microchip.com).

Ellos están disponibles en ITP (One-Time Programmable Packages), usando el mismo conjunto de instrucciones.

De la misma manera que el resto de los microcontroladores los PICs pueden utilizarse para agregar inteligencia a los proyectos de Mecatrónica y de otros tipos como automatización, IoT, wearable, etcétera

 

Seleccionando un PIC

   Actualmente los que deseen elaborar un diseño mecatrónica pueden contar con cientos de diferentes tipos de PICs cuyas características difieren según la aplicación, de la misma manera como en el caso de los Arduinos, como vimos en el punto anterior.

La propia Microchip en su sitio web ofrece un buscador que, con las características del proyecto que queremos desarrollar indica al PIC que debe utilizarse.

El criterio básico que se utilizará en la selección de un PIC incluye los siguientes elementos:

-Tamaño de la memoria de programa

-Tamaño datos RAM

- tipo de Memoria

-Cubierta

-Otros recursos adicionales

En el sitio Web http://www.microchip.com/design-centers/microcontrollers el lector encontrará información sobre los tipos disponibles.

En la misma forma que los otros microcontroladores la programación se hace conectando la tarjeta de programación a un PC, como se muestra en la figura 7.

 

Figura 7
Figura 7

 

 

Cómo usar y programar, debe consultarse como en casos anteriores, depende de cada clase se va a la información en las fichas técnicas del fabricante.

En ellos también se encuentran aplicaciones listas que pueden ser utilizadas en un proyecto.

Para acceder a una amplia variedad de tipos para la venta, sugerimos para consultar la Página Web de Mouser.

 

 

Buscador de Datasheets



N° de Componente