Test de Compiladores para microcontroladores PIC de gama media

La idea de realizar esta prueba a los compiladores más conocidos para microcontroladores PIC de gama media surgió hace unos meses, en el grupo de facebook Electrónica y Microcontroladores, ante la curiosidad por comprobar si el compilador experimental PicPas era tan eficiente como suponíamos. Entendiéndose como más eficaz, el que consiga un tamaño del ejecutable menor y usar menos memoria RAM del microcontrolador.

Cuanto mayor sea esta eficacia del compilador, más sencillo y económico será el microcontrolador necesario para ejecutar el código generado.

Para poder comparar la eficiencia de los distintos compiladores (comerciales y gratuitos) a los que teníamos acceso, se utilizó un código que podríamos denominar «patrón de medida«, mucho más complejo que el usado para manejar la típica secuencia de encendido y apagado de uno o varios diodos LED que a modo de demostración suelen utilizar todos los compiladores.

El programa (patrón de medida) se debe traducir de la manera más literal posible a cada uno de los lenguajes de programación (C, Pascal, BASIC) y los «dialectos» o particularidades específicas de cada compilador, de manera que no influya en la prueba el tipo de algoritmo más o menos eficaz, o la genialidad del programador para codificarlo en un determinado lenguaje. Por eso se trata de un «programa patrón de medida«, y es el compilador evaluado el que deberá, automáticamente, generar el código ejecutable más optimizado o que menos recursos del microcontrolador requiera.

Sigue leyendo

+5000 Miembros en Grupo Electrónica y Microcontroladores

Ya somos más de 5000!!! miembros en este grupo de amantes de la Electrónica y los Microcontroladores en español.

GRACIAS por vuestro interés y participación.

Grupo+5000Miembros

Controlar grandes cargas eléctricas con Arduino

Un modo sencillo de controlar grandes cargas eléctricas con Arduino (o, en general, con cualquier sistema electrónico digital) es mediante el uso de transistores MOSFET.

Veamosló con un ejemplo práctico: Esta sería una forma sencilla de controlar un motor de corriente continua mediante el uso del transistor TIP120, capaz de soportar tensiones de hasta 60 Voltios y corrientes de hasta 5 Amperios.

tip120_dc.png

Del mismo modo, en lugar del motor, se podría haber conectado un relé (relevador) o un contactor de potencia, capaces de controlar cualquier tipo de cargar eléctrica aplicando una pequeña corriente eléctrica a su bobina de activación.

La resistencia de 2.2 KΩ, limita la corriente de la salida digital a algo menos de 2 mA., valor seguro para la placa Arduino, y suficiente para poner en modo conducción el transistor. El diodo (1N4007) conectado entre los bornes del motor, protege al transistor de sobretensiones transitorias producidas durante los cortes bruscos de alimentación eléctrica en cargas inductivas (motores, relés, contactores, y en general, cualquier carga que conste básicamente de un inductor o bobina).

Un ejemplo sencillo de programa para controlar esta carga con la placa Arduino sería:

int TIP120Pin = 9;
void setup()
{
    pinMode(TIP120Pin, OUTPUT);      // Configura puerto como salida.
}

void loop()
{
    digitalWrite(TIP120Pin, HIGH);   // Activa salida.
    delay (5000);                    // Espera durante 5 segundos.
    digitalWrite(TIP120Pin, LOW);    // Deactiva salida.
    delay (5000);                    // Espera durante 5 segundos.
}

En el ejemplo práctico que estamos usando, el motor está controlado por una salida digital del tipo PWM, por lo que además contamos con la posibilidad de variar su velocidad de rotación de un modo tan sencillo como este:

int TIP120Pin = 9;
void setup()
{
    pinMode(TIP120Pin, OUTPUT);      // Configura puerto como salida.
}

void loop()
{
    analogWrite(TIP120Pin, 255);     // Ponemos el motor al 100%
    delay (5000);                    // Espera durante 5 segundos.
    analogWrite(TIP120Pin, 175);     // Reducimos la velociadad del motor.
    delay (5000);                    // Espera durante 5 segundos.
    analogWrite(TIP120Pin, 0);       // Paramos el motor.
    delay (5000);                    // Espera durante 5 segundos.
}

Arduino como instrumento de taller

Antes de empezar, por si aún no lo conoces, te presento a Arduino. Se trata básicamente de una placa electrónica con entradas y salidas digitales y analógicas programables. Muy económica y sensilla de programar.

Placa Arduino

Sus principales ventajas son:

  • Hardware abierto, lo que permite usarlo o modificarlo libremente.
  • Entorno gratuito de programación y multiplataforma (Windows, Linux y Macintosh OS).
  • Muy fácil de programar. Además cuenta con todo tipo de librerías de código ya programado y listo para usar en cualquier aplicación sin necesidad de grandes conocimientos del lenguaje de programación. Incluso existe la posibilidad de programar de modo gráfico sin necesidad de tener prácticamente ningún conocimiento de programación.
  • La ingente cantidad de documentación existente.
  • Escalabilidad de placas. Existen diferentes modelos de placa en función de las necesidades. Toda ellas compatibles a nivel de programación.
  • Dispone de todo tipo de periféricos (Shields) conectables directamente a la placa.

Arduino Interfaces

Todas estas características permiten realizar de forma rápida y económica aplicaciones electrónicas digitales a cualquier aficionado o investigador, sin necesidad de grandes conocimientos de electrónica o programación.

Pero en la práctica, ¿cuál puede ser su utilidad en el taller?

Además de para crear de manera sencilla dispositivos electrónicos de control personalizados, también se podría tratar del instrumento de medida o prueba más económico y versátil de nuestro taller.

Pensemos en su definición:

Placa electrónica con «entradas y salidas digitales y analógicas programables«.

Sigue leyendo

Introducción básica al uso de microcontroladores

En los siguientes dos videos Edwin Espinosa nos introduce de manera breve y muy clara en el mundo de los microcontroladores y en el uso de una de las familias más extendidas, los PIC (Peripheral Interface Controller) del fabricante Microchip Technology Inc.

 

 

Transformar arena en microchips

«Lo que antes era un montón de arena sin ningún valor, ahora puede cambiar de manos por un precio de 10.000 euros el gramo. Y también puede calcular los 1.000 primeros decimales del número PI en un abrir y cerrar de ojos.»

Si alguna vez te has preguntado, ¿cómo se fabrica un microchip o circuito integrado?, tal vez te interese el siguiente vídeo.

 


¿Qué son los Microcontroladores?

Desde que descubrí la existencia de los Microcontroladores, hace ya muchos años, en mi último curso como estudiante de ingeniería, tuve claro que el Proyecto Fin de Carrera lo dedicaría al estudio de la familia de microcontroladores 8051 (MCS51 de Intel), incluyendo el diseño y puesta en servicio de un «ordenador monoplaca» para la realización de prácticas de taller de las siguientes generaciones de estudiantes de ingeniería.

Microcontroladores 8051
Microcontroladores Familia 8051

Ni podía imaginarme por aquel entonces que esa familia de microcontroladores, junto a la de los famosos PICs de Microchip, de cuyo estudio se encargó otro compañero de carrera, llegarían a protagonizar, entre otros, lo que me atrevo a calificar como uno de los mayores avances en el control electrónico digital de dispositivos físicos desde la invención de los circuitos integrados digitales.

Como comenté en la anterior entrada, a principios de los años 70 aparecen en el mercado electrónico los primeros circuitos integrados llamados Microprocesadores, lo que supuso una revolución en todos los campos de la electrónica y de sus aplicaciones. Gracias a su eficacia y capacidad de programación, rápidamente pasaron de sus primeras aplicaciones en calculadoras electrónicas a implementarse en numerosos sistemas de control e instrumentación industrial, sustituyendo a métodos artesanales o equipos electrónicos analógicos que hasta entonces existían. No sólo eran más económicos, rápidos y fiables, además dotaban a los sistemas electrónicos de posibilidades hasta entonces desconocidas, como era el poder modificar su funcionamiento mediante programación sin tener que sustituir un solo cable, conexión o componente eléctrico del sistema.

Sigue leyendo