Clase 20. Arduino Simulink

11
Facultad de Ingenierías y Arquitectura Ingeniería Mecatrónica Docente Cristhian Ivan Riaño Jaimes UNIVERSIDAD DE PAMPLONA 1 de 11 PROGRAMACIÓN MECATRÓNICA Introducción Arduino 20 de Mayo 2013 1 INTRODUCCIÓN ARDUINO Ilustración 1 Arduino UNO. Ilustración 2Arduino MEGA 2560 Objetivos Describir las características básicas de la placa Arduino One y Arduino Mega 2560 y se brinden las condiciones necesarias para realizar la programación de las mismas. Acercar al diseño y desarrollo de proyectos basados en Arduino. Brindar opciones de simulación para las tarjetas Arduino. ||[email protected] [email protected]

description

simulacion de procesos, sistemas, variables de entrada salida

Transcript of Clase 20. Arduino Simulink

Page 1: Clase 20. Arduino Simulink

Facultad de Ingenierías y Arquitectura Ingeniería MecatrónicaDocente Cristhian Ivan Riaño Jaimes

UNIVERSIDAD DE PAMPLONA1 de 9

PROGRAMACIÓN MECATRÓNICAIntroducción Arduino20 de Mayo 2013

1

INTRODUCCIÓN ARDUINO

Ilustración 1 Arduino UNO.

Ilustración 2Arduino MEGA 2560

Objetivos

Describir las características básicas de la placa Arduino One y Arduino Mega 2560 y se brinden las condiciones necesarias para realizar la programación de las mismas.

Acercar al diseño y desarrollo de proyectos basados en Arduino. Brindar opciones de simulación para las tarjetas Arduino.

||[email protected] [email protected]

Page 2: Clase 20. Arduino Simulink

Facultad de Ingenierías y Arquitectura Ingeniería MecatrónicaDocente Cristhian Ivan Riaño Jaimes

UNIVERSIDAD DE PAMPLONA2 de 9

PROGRAMACIÓN MECATRÓNICAIntroducción Arduino20 de Mayo 2013

2

Características Generales

La plataforma Arduino es una plataforma open-hardware con ideología de electrónica libre, basada en una sencilla placa con entradas y salidas (E/S), analógicas y digitales por lo que su diseño es de libre acceso.

La filosofía de software libre permite: Estudiar el Hardware para entender cómo funciona. Hacer modificaciones al Hardware. Poder compartir modificaciones con la comunidad. Tener acceso a una comunidad activa de usuarios y desarrolladores. Gran cantidad de software y hardware disponible para autoconstruir. Precios bajos.

Arduino puede adquirir variables de su entorno mediante sus entradas por medio de sensores y puede generar acciones que alteren el entorno mediante la manipulación de sus salidas. A continuación se mencionan algunos de los campos de aplicación:

Robótica Móvil. Instrumentación y sensórica. Control de Proceso. Domótica.

Hay muchos otros microcontroladores y plataformas microcontroladoras similares a la plataforma Arduino disponibles como, Parallax Basic Stamp, Netmedia's BX-24, Phidgets, MIT's Handyboard, y muchas otras. La principal características de estas herramientas es facilitar la programación del Microcontrolador y hacer más versátil y factible para distintos proyecto. Selecciona Arduino trae las siguientes ventajas respecto a las otras:

Barato: Las placas Arduino son baratas comparadas con otras plataformas micro controladoras. La versión menos cara del módulo Arduino puede ser ensamblada a mano, e incluso los módulos de Arduino preensamblados cuestan menos de 50$.

Multiplataforma: El software de Arduino se ejecuta en sistemas operativos Windows, Macintosh OSX y GNU/Linux. La mayoría de los sistemas microcontroladores están limitados a Windows.

Entorno de programación simple y claro: El entorno de programación de Arduino es fácil de usar para principiantes, pero suficientemente flexible para que usuarios avanzados puedan aprovecharlo también.

Código abierto y software extensible: El software Arduino está publicado como herramientas de código abierto (open-source), disponible para extensión por programadores experimentados. El lenguaje puede ser expandido mediante librerías C++, y la gente que quiera entender los detalles técnicos pueden hacer el salto desde Arduino a la programación en lenguaje assembler.

||[email protected] [email protected]

Page 3: Clase 20. Arduino Simulink

Facultad de Ingenierías y Arquitectura Ingeniería MecatrónicaDocente Cristhian Ivan Riaño Jaimes

UNIVERSIDAD DE PAMPLONA3 de 9

PROGRAMACIÓN MECATRÓNICAIntroducción Arduino20 de Mayo 2013

3

Código abierto y hardware extensible: El Arduino está basado en microcontroladores ATMEGA8 y ATMEGA168 de Atmel. Los planos para los módulos están publicados bajo licencia Creative Commons, por lo que diseñadores experimentados de circuitos pueden hacer su propia versión del módulo, extendiéndolo y mejorándolo. Incluso usuarios relativamente inexpertos pueden construir la versión de la placa del módulo para entender cómo funciona y ahorrar dinero.

Arduino UNO y MEGA es una tarjeta electrónica basada en el Microcontrolador Atmega328 y ATmega2560 respectivamente. Arduino UNO Dispone de 14 entradas/salidas digitales, 6 de las cuales se pueden emplear como salidas PWM (modulación de anchura de pulsos). Dispone también de 6 entradas analógicas, un oscilador de 16MHz, una conexión USB, un conector de alimentación, un conector ICSP y un pulsador para el reset. Arduino Mega 2560 es una versión ampliada de la tarjeta original de Arduino y está basada en el Microcontrolador Atmega2560. Dispone de 54 entradas/salidas digitales, 14 de las cuales se pueden utilizar como salidas PWM (modulación de anchura de pulso). Además dispone de 16 entradas analógicas, 4 UARTs (puertas series), un oscilador de 16MHz, una conexión USB, un conector de alimentación, un conector ICSP y un pulsador para el Reset. Una de las diferencias principales de la tarjeta Arduino MEGA 2560 es que no utiliza el convertidor USB-serie de la firma FTDI. Por lo contrario, emplea un Microcontrolador Atmega8U2 programado como actuar convertidor USB a serie.La tarjeta Arduino MEGA2560 es compatible con la mayoría de los shield o tarjetas de aplicación/ampliación disponibles para las tarjetas Arduino UNO original.

Las características más relevantes se resumen a continuación:

Arduino Uno Arduino MegaMicrocontrolador ATmega328 Microcontrolador ATmega2560Voltaje de Operación

5V Voltaje de Operación

5 V

Alimentación (Recomendado)

7-12V Alimentación(Recomendado)

7-12V

Pines líneas de entradas/salidas Digitales

14 Pines líneas de entradas/salidas Digitales

54

Salidas PWM 6 Salidas PWM 14Entradas Analógicas

6 Entradas Analógicas

16

Corriente Máxima por Pin

40mA Corriente Máxima por Pin

40mA

Comunicación serial Comunicación SerialMemoria Flash 32 Kb Memoria Flash 256KbMemoria SRAM, 2Kb 8KbMemoria EEPROM (para variables de datos no volátiles)

1 Kb Memoria EEPROM (para variables de datos no volátiles)

4Kb

Frecuencia del Reloj

16 MHz Frecuencia del Reloj

16 MHz

||[email protected] [email protected]

Page 4: Clase 20. Arduino Simulink

Facultad de Ingenierías y Arquitectura Ingeniería MecatrónicaDocente Cristhian Ivan Riaño Jaimes

UNIVERSIDAD DE PAMPLONA4 de 9

PROGRAMACIÓN MECATRÓNICAIntroducción Arduino20 de Mayo 2013

4

Descripción Física

La tarjeta Arduino UNO Y Mega puede ser alimentada a través de la conexión USB o con un suministro de energía externo. La alimentación externa (no USB) puede venir o desde un adaptador AC-a-DC o desde una batería. El adaptador puede ser conectado mediante un enchufe centro-positivo en el conector de alimentación de la placa. Los cables de la batería pueden insertarse en las cabeceras de los pines Gnd y Vin del conector POWER ya que la tarjeta cuenta con un regulador de voltaje de buena eficiencia. El rango recomendado es de 7 a 12 voltios.

Pin POWER

Pin VIN: La entrada de tensión a la placa Arduino cuando está usando una fuente de alimentación externa (al contrario de los 5 voltios de la conexión USB u otra fuente de alimentación regulada). Puedes suministrar tensión a través de este pin, o, si suministra tensión a través del conector de alimentación, acceder a él a través de este pin.

Pin 5V. El suministro regulado de energía usado para alimentar al Microcontrolador y otros componentes de la placa. Este puede venir o desde VIN a través de un regulador en la placa,o ser suministrado por USB u otro suministro regulado de 5 V.

Pin 3.3V. Un suministro de 3.3 V generado por el chip FTDI de la placa. La corriente máxima es de 50mA.

Pin GND. Pines de Tierra.

Ilustración 3 Distribución Pines Arduino UNO

PIN Digital (PWM~)

||[email protected] [email protected]

Page 5: Clase 20. Arduino Simulink

Facultad de Ingenierías y Arquitectura Ingeniería MecatrónicaDocente Cristhian Ivan Riaño Jaimes

UNIVERSIDAD DE PAMPLONA5 de 9

PROGRAMACIÓN MECATRÓNICAIntroducción Arduino20 de Mayo 2013

5

Cada uno de los 14 pines digitales de la Arduino Uno al igual que los 54 de la Arduino Mega puede ser usado como entrada o salida, usando funciones pinMode(), digitalWrite() y digitalRead()2. Operan a 5 voltios. Cada pin puede proporcionar o recibir un máximo de 40 mA y tiene una resistencia interna pull-up (desconectada por defecto) de 20-50 KOhms. Además, algunos pines tienen funciones especiales:

Pin Serial: 0 (Rx) y 1 (Tx). Usados para recibir (Rx) y transmitir (Tx) datos TTL en serie. Estos pines están conectados a los pines correspondientes del chip FTDI USB-a-TTL Serie.

Pin 2 y 3. Interrupciones Externas Estos pines pueden ser configurados para disparar una interrupción interna, con flanco de subida o flanco de bajada. Mirar la función attachInterrupt().

Pin PWM: 3, 5, 6, 9, 10 y 11. Proporcionan salida PWM de 8 bits con la función analogWrite()

Pin SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Estos pines soportan comunicación SPI (Serial Peripheral Interface), la cual, aunque proporcionada por el hardware subyacente, no está actualmente incluida en el lenguaje Arduino.

Pin LED: 13. Hay un LED empotrado conectado al pin digital 13. Cuando el pin está a valor HIGH, el LED está encendido, cuando el pin está a LOW, está apagado.

Pines Analog Input

El Arduino UNO tiene 6 entradas analógicas, cada una de las cuales proporciona 10 bits de resolución (por ejemplo 1024 valores diferentes). Por defecto miden 5 voltios desde tierra, aunque es posible cambiar el valor más alto de su rango usando el pin ARF y algún código de bajo nivel. Además, algunos pines tienen funcionalidad especializada:

Pin TWI: A4 o SDA and A5 o Pin SCL. Soportan comunicación I²C (TWI) usando la libreria Wire5.Hay otro par de pines en la placa.

Pin AREF. Voltaje de referencia para las entradas analógicas. Usado con analogReference().

Pin Reset. Pone esta linea a LOW para resetear el Microcontrolador. Típicamente usada para añadir un botón de reset a dispositivos que bloquean a la placa principal.

Sistemas de Identificación: Es una aproximación experimental. Se desarrollan algunos experimentos en el proceso y se determina un modelo, con unos parámetros asignados que no tiene un significado físico.

Comunicación

||[email protected] [email protected]

Page 6: Clase 20. Arduino Simulink

Facultad de Ingenierías y Arquitectura Ingeniería MecatrónicaDocente Cristhian Ivan Riaño Jaimes

UNIVERSIDAD DE PAMPLONA6 de 9

PROGRAMACIÓN MECATRÓNICAIntroducción Arduino20 de Mayo 2013

6

La Arduino UNO y Mega tiene un número de infraestructuras para comunicarse con un ordenador, otro Arduino, u otros microcontroladores. El ATmega 328 provee comunicación serie UART TTL(5V), la cual está disponible en los pines digitales 0 (Rx) y 1 (Tx). Un ATmega16U2 en la placa canaliza esta comunicación serie al USB y los drivers (incluidos con el software Arduino) proporcionan un puerto de comunicación virtual al software del ordenador. El software Arduino incluye un monitor serie que permite a datos de texto simple ser enviados a y desde la placa Arduino. Una libreria SoftwareSerial permite comunicación serie en cualquiera de los pines digitales de la Uno’s.

Arduino Simulink.

1.Para iniciar conectamos la Arduino al computador por medio del cable USB e ingresamos a Matlab y luego a simulink y le damos nuevo modelo.

2.En la ventana de nuevo modelo de simulink, nos dirigimos a la barra de menú y desplegamos las opciones que aparecen en tools. Seleccionamos Run on Target Hardware como se muestra en la Ilustración 4.

Ilustración 4.3.Seleccionamos install/Update Support Package. . . y luego la opción recomendada

(internet). Nos aparecerá una ventana como la de la Ilustración 5. Seleccionamos

||[email protected] [email protected]

Page 7: Clase 20. Arduino Simulink

Facultad de Ingenierías y Arquitectura Ingeniería MecatrónicaDocente Cristhian Ivan Riaño Jaimes

UNIVERSIDAD DE PAMPLONA7 de 9

PROGRAMACIÓN MECATRÓNICAIntroducción Arduino20 de Mayo 2013

7

Arduino y le damos Next e Install.

Ilustración 5

4.Vamos a crear un ejemplo de cómo utilizar Target para su uso con Hardware Arduino para ejecutar un modelo Simulink ® en Arduino Mega 2560.Lo siguiente le permite crear y ejecutar modelos de Simulink en Arduino Mega 2560. El objetivo es configura los bloques de Simulink para acceder a los sensores de Arduino, actuadores e interfaces de comunicación. Además, le permite monitorizar y ajustar los algoritmos que se ejecutan en Arduino Mega 2560 a bordo de los mismos modelos de Simulink.

En este ejemplo, usted aprenderá a crear y ejecutar un modelo Simulink simple en Arduino Mega 2560.

5.Para ejecutar este ejemplo se necesita el siguiente elementos:a. Arduino Mega 2560.b. USB Cable.c. Led.d. Resistencia 220 Ohm.e. Cables de conexión.f. Protoboard.

6.Ante de iniciar se va a conectar el led a la Board Arduino como se indica en la Ilustración 6. Fije la pata larga (positivo) del LED a la resistencia. Fije la pata corta (negativo) a la terminal de tierra de la placa Arduino Mega 2560.

||[email protected] [email protected]

Page 8: Clase 20. Arduino Simulink

Facultad de Ingenierías y Arquitectura Ingeniería MecatrónicaDocente Cristhian Ivan Riaño Jaimes

UNIVERSIDAD DE PAMPLONA8 de 9

PROGRAMACIÓN MECATRÓNICAIntroducción Arduino20 de Mayo 2013

8

Ilustración 6.7.Vamos a la librería de Simulink (Library Browser), navegamos a Target for Use with

Arduino Hardware. Realizamos doble click en Digital Output como se muestra en la ilustración 7.

Ilustración 7.8.Insertamos el bloque de Pulse Generator block de Simulink Sources library al modelo

para crear el diagrama de bloques que se muestra en la Ilustración 8 .

Ilustración 8.

||[email protected] [email protected]

Page 9: Clase 20. Arduino Simulink

Facultad de Ingenierías y Arquitectura Ingeniería MecatrónicaDocente Cristhian Ivan Riaño Jaimes

UNIVERSIDAD DE PAMPLONA9 de 9

PROGRAMACIÓN MECATRÓNICAIntroducción Arduino20 de Mayo 2013

9

9.Doble-click en el bloque Pulse Generator. Configuramos los parámetros a Sample based y el Sample time lo cambiamos a 0.1 second. Grabamos.

10. Para correr nuestro modelo en el modelo Simulink seleccionamos Tools > Run on Target Hardware > Run

>>demo simulink 'Target for Use with Arduino'

||[email protected] [email protected]