scada con arduino

3
. 1 SCADA CON ARDUINO Y MATLAB CONTROL DE NIVEL RESUMEN El presente informe contiene una breve descripción del desarrollo de un SCADA sencillo, implementado con un Arduino Leonardo y el software Matlab, con el fín de poner en práctica los conocimientos adquiridos a lo largo del curso de Instrumentación Industrial. PALABRAS CLAVES: Arduino, Scada, AVR, software. CTOR FABIO BERMÚDEZ MONTILLA Licenciado en Matemáticas y Física. Universidad Tecnológica de Pereira Estudiante Maestría en Instrumentación Física. Universidad Tecnológica de Pereira hfabiobm@gmail.com CONTENIDO 1. OBJETIVO. Implementar un SCADA sencillo utilizando la plataforma libre ARDUINO y el software MATLAB. 2. INTRODUCCIÓN ARDUINO Es una plataforma de hardware libre, basada en una placa con un microcontrolador y un entorno de desarrollo, diseñada para facilitar el uso de la electrónica en proyectos multidisciplinares. El hardware consiste en una placa con un microcontrolador Atmel AVR y puertos de entrada/salida. Los microcontroladores más usados son el Atmega168, Atmega328, Atmega1280, ATme ga8 por su sencillez y bajo costo que permiten el desarrollo de múltiples diseños. Por otro lado el software consiste en un entorno de desarrollo que implementa el lenguaje de programación Processing/Wiring y el cargador de arranque (boot loader) que corre en la placa. Desde octubre de 2012, Arduino se usa también con microcontroladoras CortexM3 de ARM de 32 bits, que coexistirán con las más limitadas, pero también económicas AVR de 8 bits. ARM y AVR no son plataformas compatibles a nivel binario, pero se pueden programar con el mismo IDE de Arduino y hacerse programas que compilen sin cambios en las dos plataformas. Eso sí, las microcontroladoras CortexM3 usan 3.3V, a diferencia de la mayoría de las placas con AVR que usan generalmente 5V. LENGUAJE DE PROGRAMACIÓN La plataforma Arduino se programa mediante el uso de un lenguaje propio basado en el popular lenguaje de programación de alto nivel Processing. Sin embargo, es posible utilizar otros lenguajes de programación y aplicaciones populares en Arduino, por ejemplo: Macromedia Flash, Processing, Max/MSP, Pure Data, Matlab, Visual Basic. Esto es posible debido a que Arduino se comunica mediante la transmisión de datos en formato serie que es algo que la mayoría de los lenguajes anteriormente citados soportan. Para los que no soportan el formato serie de forma nativa, es posible utilizar software intermediario que traduzca los mensajes enviados por ambas partes para permitir una comunicación fluida. Es bastante interesante tener la posibilidad de interactuar Arduino mediante esta gran variedad de sistemas y lenguajes puesto que dependiendo de cuales sean las necesidades del problema a resolver se podrá aprovechar la gran compatibilidad de comunicación que ofrece. Arduino se puede utilizar también para desarrollar objetos interactivos. Las placas pueden montarse manualmente o adquirirse. El entorno de desarrollo integrado libre se puede descargar gratuitamente. Al ser open-hardware, tanto su diseño como su distribución es libre. Es decir, puede utilizarse libremente para el desarrollo de cualquier tipo de proyecto sin haber adquirido ninguna licencia. Para el desarrollo de la aplicación se utilizó un aduino LEONARDO, ya que el ATMEGA32U4 ha incorporado en la comunicación USB, eliminando la necesidad de un procesador secundario. Esto permite que el Leonardo que aparezca a un ordenador conectado como un ratón y un teclado, además de un puerto serie / COM virtual (CDC).

Upload: martha-adiela-cardona-pulgarin

Post on 08-Apr-2016

482 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Scada Con Arduino

. 1

SCADA CON ARDUINO Y MATLAB CONTROL DE NIVEL

RESUMEN El presente informe contiene una breve descripción del desarrollo de un SCADA sencillo, implementado con un Arduino Leonardo y el software Matlab, con el fín de poner en práctica los conocimientos adquiridos a lo largo del curso de Instrumentación Industrial. PALABRAS CLAVES: Arduino, Scada, AVR, software.

HÉCTOR FABIO BERMÚDEZ MONTILLA Licenciado en Matemáticas y Física. Universidad Tecnológica de Pereira Estudiante Maestría en Instrumentación Física. Universidad Tecnológica de Pereira [email protected]

CONTENIDO

1. OBJETIVO. Implementar un SCADA sencillo utilizando la plataforma libre ARDUINO y el software MATLAB.

2. INTRODUCCIÓN ARDUINO

Es una plataforma de hardware libre, basada en una placa con un microcontrolador y un entorno de desarrollo, diseñada para facilitar el uso de la electrónica en proyectos multidisciplinares.

El hardware consiste en una placa con un microcontrolador Atmel AVR y puertos de entrada/salida.

Los microcontroladores más usados son el Atmega168, Atmega328, Atmega1280, ATmega8 por su sencillez y bajo costo que permiten el desarrollo de múltiples diseños. Por otro lado el software consiste en un entorno de desarrollo que implementa el lenguaje de programación Processing/Wiring y el cargador de arranque (boot loader) que corre en la placa.

Desde octubre de 2012, Arduino se usa también con microcontroladoras CortexM3 de ARM de 32 bits, que coexistirán con las más limitadas, pero también económicas AVR de 8 bits. ARM y AVR no son plataformas compatibles a nivel binario, pero se pueden programar con el mismo IDE de Arduino y hacerse programas que compilen sin cambios en las dos plataformas. Eso sí, las microcontroladoras CortexM3 usan 3.3V, a diferencia de la mayoría de las placas con AVR que usan generalmente 5V.

LENGUAJE DE PROGRAMACIÓN

La plataforma Arduino se programa mediante el uso de un lenguaje propio basado en el popular lenguaje de programación de alto nivel Processing.

Sin embargo, es posible utilizar otros lenguajes de programación y aplicaciones populares en Arduino, por ejemplo: Macromedia Flash, Processing, Max/MSP, Pure Data, Matlab, Visual Basic. Esto es posible debido a que Arduino se comunica mediante la transmisión de datos en formato serie que es algo que la mayoría de los lenguajes anteriormente citados soportan. Para los que no soportan el formato serie de forma nativa, es posible utilizar software intermediario que traduzca los mensajes enviados por ambas partes para permitir una comunicación fluida. Es bastante interesante tener la posibilidad de interactuar Arduino mediante esta gran variedad de sistemas y lenguajes puesto que dependiendo de cuales sean las necesidades del problema a resolver se podrá aprovechar la gran compatibilidad de comunicación que ofrece.

Arduino se puede utilizar también para desarrollar objetos interactivos. Las placas pueden montarse manualmente o adquirirse. El entorno de desarrollo integrado libre se puede descargar gratuitamente.

Al ser open-hardware, tanto su diseño como su distribución es libre. Es decir, puede utilizarse libremente para el desarrollo de cualquier tipo de proyecto sin haber adquirido ninguna licencia.

Para el desarrollo de la aplicación se utilizó un aduino LEONARDO, ya que el ATMEGA32U4 ha incorporado en la comunicación USB, eliminando la necesidad de un procesador secundario. Esto permite que el Leonardo que aparezca a un ordenador conectado como un ratón y un teclado, además de un puerto serie / COM virtual (CDC).

Page 2: Scada Con Arduino

2

Figura 1. Arduino Leonardo.

El Arduino Leonardo es una placa electronica basada en el ATMEGA32U4. Dispone de 20 pines de entrada / salida digital (de los cuales 7 se puede utilizar como salidas PWM y 12 como entradas analógicas), un joven de 16 MHzoscilador de cristal, una conexión micro USB, un conector de alimentación, una cabecera ICSP, y un botón de reinicio. Contiene todo lo necesario para apoyar el microcontrolador, basta con conectarlo a un ordenador con un cable USB o el poder con un adaptador AC-DC o batería para empezar.

SCADA

Supervisory Control And Data Acquisition (Supervisión, Control y Adquisición de Datos) es un software para ordenadores que permite controlar y supervisar procesos industriales a distancia. Facilita retroalimentación en tiempo real con los dispositivos de campo (sensores y actuadores) y controlando el proceso automáticamente. Provee de toda la información que se genera en el proceso productivo (supervisión, control calidad, control de producción, almacenamiento de datos, etc.) y permite su gestión e intervención.

Figura 2. Ejemplo de la aplicación del sistema

SCADA en áreas industriales.

3. MATERIALES Placa ARDUINO. Cable USB genérico. Computador Potenciómetro Softwarfe Matlab.

4. DESARROLLO. Utilizando un arduino Leonardo se implemento el circuito de la figura 3, al que se le conectó un potenciómetro a uno de sus canales análogos de entrada, para simular la señal de nivel de un tanque, (podría ser una señal de presión, temperatura, etc.), y en una de sus salidas digitales se conectó un led para simular la válvula de entrada de agua. Cuando la señal alcanza el valor programado, el led se apaga. La señal es enviada desde el arduino por medio de la salida USB. En las figuras 4 y 5 se puede observar la interfase gráfica elaborada en matlab y en la figura 6 se tiene el listado del programa grabado en el arduino.

Figura 3. Montaje en el arduino.

Figura 4. Interfase gráfica en matlab mostrando la Alarma de nivel alto.

Page 3: Scada Con Arduino

3

Figura 4. Interfase gráfica en matlab mostrando la nivel normal.

Figura 6. Código del programa en el arduino.

BIBLIOGRAFIA.

[1] Apuntes de clase.