Nothing Special   »   [go: up one dir, main page]

4 UD Programación y Robótica Intro Sistemas Control 2324

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 13

IES Gabriel Alonso de Herrera

Departamento de Tecnología

UD 4. Programación y robótica. Arduino.


Introducción a los sistemas de control.

INDICE
1. ¿Qué es Arduino?
2. Elementos de entrada y salida en Arduino. Señales analógicas y digitales
3. Algunas conexiones de elementos de entrada y salidas
4. Estructura de un programa en Arduino
5. Principales comandos de la programación en Arduino
6. Realización de prácticas
7. Anexo. Introducción a los sistemas de control.

Tecnología e Ingeniería Ud 4. Programación y robótica. Arduino. Sistemas de control Página 1 de 13


IES Gabriel Alonso de Herrera
Departamento de Tecnología

1. ¿Qué es Arduino?
Arduino es una compañía de hardware libre, la cual desarrolla placas de desarrollo que
integran un microcontrolador y un entorno de desarrollo (IDE), diseñado para facilitar
el uso de la electrónica en proyectos multidisciplinarios.
El hardware consiste en una placa de circuito impreso con un microcontrolador y
puertos digitales y analógicos de entrada/salida, alguno de los cuales pueden
conectarse a placas de expansión (shields) que expanden las características de
funcionamiento de la placa arduino. Por otro lado, el software consiste en un entorno
de desarrollo (IDE) basado en el entorno de Processing y lenguaje de programación
basado en Wiring. Aquí podéis ver la imagen de la placa que tenéis “arduino UNO”.
Existen otras, como Nano, Mega, Leonardo, etc.
Descripción física de la tarjeta arduino
Tarea. Marca en el la foto de la tarjeta las partes siguientes:
• 14 entradas o salidas digitales (no usar 0 y 1 si se va a usar el serial port).
• 6 entradas analógicas.
• De las salidas, 6 son PWM (pulse-width modulation) o modulación por ancho de
pulsos.
• Conexión USB
• Conector de alimentación pila 9 V
• Tensiones y GND

Arduino en la enseñanza.
La robótica educativa nos brinda una forma creativa de utilizar la tecnología para
implementar soluciones basadas en nuestro ingenio y destreza y no convertirnos en
solamente consumidores de tecnología.
En este sentido, la placa Arduino y los diferentes programas como Visualino, Bitbloq de
BQ o el propio Arduino IDE nos ofrecen la posibilidad de dar los primeros pasos en la
programación y posterior construcción de pequeños proyectos asociados a sus
correspondientes programas previamente diseñados.

Tecnología e Ingeniería Ud 4. Programación y robótica. Arduino. Sistemas de control Página 2 de 13


IES Gabriel Alonso de Herrera
Departamento de Tecnología

2. Elementos de entrada y salida, señales digitales y


analógicas en la placa Arduino 1.
Antes de realizar el ejercicio, recuerda los conceptos de “elementos de entrada y
salida” de un circuito eléctrico o electrónico vistos en la unida anterior, así como la
diferencia entre una señal analógica y otra digital.
Para entenderlo mejor, realizaremos el siguiente ejercicio: indica si los siguientes
elementos son a) entradas o salidas, b) digitales o analógicas:

• Botón o pulsador: …...............................................


• LDR (sensor de luz): …....................................................
• Potenciómetro: …..................................................
• Led (encendido / apagado): …..........................................................
• Led (encendido / apagado de manera gradual): …...................................
• NTC (sensor de temperatura): ….............................................

3. Algunas conexiones de elementos de entrada y salida


Aquí tenéis las conexiones a la placa arduino (PIN, 5V ó 0V) de elementos básicos
como un pulsador o botón, un led, un potenciómetro y un LDR. A medida que
avancemos en la unidad se irán viendo nuevos sensores y motores y las conexiones
de éstos (se verán en las prácticas propuestas)

Conexión de un botón (entrada digital) y de un led (salida)

Conexiones de entradas ANALÓGICAS: potenciómetro y LDR.

Realiza ahora la siguiente tarea: conecta los cuatro elementos vistos arriba LDR,
potenciómetro, botón y led, con sus correspondientes resistencias en caso de
llevarlas, a los siguientes PINES:
a) LDR a pin 0
b) Botón a pin 7
c) Potenciómetro a pin 5
d) Led a pin 12

Tecnología e Ingeniería Ud 4. Programación y robótica. Arduino. Sistemas de control Página 3 de 13


IES Gabriel Alonso de Herrera
Departamento de Tecnología

4. Estructura de un programa en Arduino

Una vez Abrimos nuestro programa de Arduino, comenzaremos a programar.


Un sencillo programa de Arduino se estructura de la siguiente forma:

1. void setup entradas y salidas, monitor serial...


Ejemplo: declaramos pin 13 como salida
2. void loop programa en sí, bucle de repetición
Ejemplo: ponemos la salida 13 en valor alto
durante 1 segundo (es decir, que funcione 1
segundo), y lo apagamos otro segundo. Esto se
repite continuamente.

Cuando el programa requiere de variables globales o creación de otras


funciones, la estructura del programa se puede extender, por este orden, a:
1. Declaración de variables y otros
2. void setup entradas y salidas, monitor serial...
3. void loop programa en sí, bucle de repetición
4. otras funciones llamadas desde loop : void funcion1, void funcion2...

Otros aspectos a tener en cuenta, importantes de cara a comenzar a


programar:

El punto y coma “;” se utiliza para separar instrucciones en el lenguaje de


programación de Arduino. También se utiliza para separar elementos en una

Tecnología e Ingeniería Ud 4. Programación y robótica. Arduino. Sistemas de control Página 4 de 13


IES Gabriel Alonso de Herrera
Departamento de Tecnología

instrucción de tipo “bucle for”.

int x = 13; // declara la variable 'x' como tipo entero de valor 13

Nota: Olvidarse de poner fin a una línea con un punto y coma se traducirá en
un error de compilación. El texto de error puede ser obvio, y se referirá a la
falta de una coma, o puede que no. Si se produce un error raro y de difícil
detección lo primero que debemos hacer es comprobar que los puntos y comas
están colocados al final de las instrucciones.

Los bloques de comentarios, o multi-línea de comentarios, son áreas de


texto ignorados por el programa que se utilizan para las descripciones del
código o comentarios que ayudan a comprender el programa. Comienzan con /
* y terminan con * / y pueden abarcar varias líneas.
/* esto es un bloque de comentario
no se debe olvidar cerrar los comentarios
estos deben estar equilibrados
*/

Una línea de comentario empieza con // y terminan con la siguiente línea de


código. Al igual que los comentarios de bloque, los de línea son ignoradas por
el programa y no ocupan espacio en la memoria.
// esto es un comentario

Una línea de comentario se utiliza a menudo después de una instrucción, para


proporcionar más información acerca de lo que hace esta o para recordarla
más adelante.

Una variable es una manera de nombrar y almacenar un valor numérico para


su uso posterior por el programa. Como su nombre indica, las variables son
números que se pueden variar continuamente en contra de lo que ocurre con
las constantes cuyo valor nunca cambia. Una variable debe ser declarada y,
opcionalmente, asignarle un valor. El siguiente código de ejemplo declara una
variable llamada variableEntrada y luego le asigna el valor obtenido en la
entrada analógica del PIN2:

int variableEntrada = 0; // declara una variable y le asigna el valor 0


variableEntrada = analogRead(2);// la variable recoge valor analógico del PIN2

Otro ejemplo:
if (entradaVariable < 100) // pregunta si la variable es menor de 100
{
entradaVariable = 100;// si es cierto asigna el valor 100 a esta
}
delay(entradaVariable); // usa el valor como retardo

Las asignaciones compuestas combinan una operación aritmética con una


variable asignada. Estas son comúnmente utilizadas en los bucles tal como se
describe más adelante. Estas asignaciones compuestas pueden ser:

Tecnología e Ingeniería Ud 4. Programación y robótica. Arduino. Sistemas de control Página 5 de 13


IES Gabriel Alonso de Herrera
Departamento de Tecnología

Nota: Por ejemplo, x * = 3 hace que x se convierta en el triple del antiguo valor
x y por lo tanto x es reasignada al nuevo valor .

5. Principales comandos utilizados en Arduino


Comando con
Función de realiza
ejemplo

digitalWrite(9,HIGH) Pone la salida 9 en valor alto, normalmente funcionando

analogWrite(3, val); Pone en la salida PIN 3 el valor de la variable val. Salidas PWM

delay(5000) Esperar 5 segundos

digitalRead (8); Se utiliza para leer un valor de la entrada digital conectada al pin 8.

Se utiliza para leer el valor de un pin analógico de entrada, en este


analogRead(sen_ldr)
caso llamado “sen_ldr”

Se utiliza para mapear valores.


La variable val, que inicialmente toma valores de 0 a 1023, pasa a
Map(val,0,1023,0,255)
tomar los nuevos valores de 0 a 255, proporcionalmente a los
primeros.
Se utiliza para chequear si una condición es verdadera, entonces se
if (int x > 120) {…....} procede a realizar todas la órdenes que aparecen dentro de la
llaves.
Se utiliza para repetir un bloque de comandos que están entre las
for (int i=0; i <= 255; llaves, tantas veces como marque la variable desde su valor 0,
i++) { …..... } mientras sea menor o igual que 255 (o lo que es lo mismo, hasta
que valga 255), saltando el valor de 1 en 1 (i++)

Se configura que el pin en cuestión se haga salida o entrada


pinMode(13,OUTPUT)
únicamente con los comandos OUTPUT y INPUT.

Se utiliza para declarar una variable de tipo entera, con un valor


Int valor =0
inicial de 0.

Break Se utiliza para salir de un for, while o do, o de cualquier otro bucle.

Tecnología e Ingeniería Ud 4. Programación y robótica. Arduino. Sistemas de control Página 6 de 13


IES Gabriel Alonso de Herrera
Departamento de Tecnología

Se utiliza para definir una constante que se utiliza para todo el


#define programa. Puede suponer un problema si la constante después
aparece en alguna variable, se reemplazará por un número.
Abre el puerto serie y fija la velocidad en baudios para la
Serial.begin(9600);
transmisión de datos en serie. El valor típico de velocidad para
comunicarse con el ordenador es 9600, aunque otras velocidades
pueden ser soportadas.
Imprime los datos en el puerto serie, seguido por un retorno de
Serial.println(var)
carro y salto de línea. Este comando toma la misma forma que
Serial.print (), pero es más fácil para la lectura de los datos en el
Monitor Serie del software
#include Se utiliza para añadir librerías en el programa las cuales acceden a
<LiquidCrystal.h> una larga lista de comandos para más comodidad, y no tener que
escribir todo el rato los comandos.

6. Relación de prácticas

La realización de las prácticas propuestas dependerá fundamentalmente de


los conocimientos previos del alumnado, su ritmo de aprendizaje y su
trabajo diario. El objetivo es la realización de un proyecto final aplicando los
conocimientos adquiridos previamente.

a) De repaso / iniciación con ARDUINO (archivos digitales aparte)


1. Varios leds: salidas digitales
2. Varios leds con sencillas funciones. Salidas digitales. Introducción a las
funciones
3. Botón y led: entrada digital y salida digital
4. potenciómetro y LDR + monitor serial: entradas analógicas

b) De conocimiento y manejo de ARDUINO (archivos digitales aparte)


1. Salidas PWM
2. Motores y servomotores. Uso de librerías.
(a) servomotor 180
(b)servomotor giro continuo
(c) motor paso a paso
(d)motor cc con transistor / L293D/ L298N
3. Sensores varios, alguno de los siguientes: ultrasonidos / sonido /
temperatura y humedad DHT11/ PIR infrarrojos/ ...
4. Otros: teclado matricial, pantalla LCD, lde RGB, matriz de leds, lector
RC522, ...

c) Proyecto final (archivo digital aparte)


Realización de un trabajo final propuesto por el profesor, donde se parta
de la construcción de un objeto o sistema, se programe y, a través de la
placa arduino, se ponga en funcionamiento.

Tecnología e Ingeniería Ud 4. Programación y robótica. Arduino. Sistemas de control Página 7 de 13


IES Gabriel Alonso de Herrera
Departamento de Tecnología

7. Anexo. Introducción a los sistemas de control


7.1. Introducción
Los sistemas de control (también
llamados automatismos) son sistemas
capaces de captar información de su
entorno (luz, temperatura, contacto,
presencia, humedad, presión,
velocidad, etc.), y en función de los
datos que recibe, realizar alguna
acción.

Tómese como ejemplo de sistema de


control un detector de oscuridad.
Vamos a estudiar el funcionamiento y
los componentes típicos de un
sistema de control.
1) Los sistemas de control captan una condición del entorno (luz) mediante
algún sensor (LDR). Este sensor convierte la magnitud captada en una señal
eléctrica (señal de entrada).
2) La señal de entrada se compara con una referencia (ajustada por el
potenciómetro) que sirve como umbral (nivel de iluminación que desencadena
la acción). En este caso el comparador es el transistor.
3) La comparación genera una señal que interpreta el elemento de control
(Relé), que controla la activación del actuador (encendido de la bombilla).

7.2. Tipos de sistemas de control


Los sistemas de control y regulación se pueden clasificar en sistemas de lazo abierto y
sistemas de lazo cerrado.

7.2.1. Sistemas de control de lazo abierto


Son aquellos en los que la acción de control es independiente de la salida, es decir,
que la señal de salida no influye sobre la señal de entrada. La exactitud de estos
sistemas depende de su calibración, de manera que al calibrar se establece una
relación entre la entrada y la salida con el fin de obtener del sistema la exactitud
deseada.
El diagrama de bloques básico de un sistema en lazo abierto es:

El sistema se controla directamente (imagen anterior). Pero el sistema puede ser algo
más competo, mediante un transductor y un actuador. El esquema típico del sistema
será en este caso:

Tecnología e Ingeniería Ud 4. Programación y robótica. Arduino. Sistemas de control Página 8 de 13


IES Gabriel Alonso de Herrera
Departamento de Tecnología

El transductor modifica o adapta la naturaleza de la señal de entrada al sistema de


control (por decirlo de alguna forma, traduce la señal de forma que sea legible para el
sistema. Un sensor de temperatura nos da una señal electrónica, variación de
resistencia y por tanto variación de intensidad, en función de mayor o menor
temperatura)

EJEMPLOS
• Una lavadora automática sería un claro ejemplo de sistema de control en lazo
abierto. La blancura de la ropa (señal de salida) no influye en la entrada. La
variable tiempo presenta una importancia fundamental: si está bien calibrada,
cada proceso durará el tiempo necesario para obtener la mejor blancura.
• Otro ejemplo de sistema en lazo abierto sería el alumbrado público controlado
por interruptor horario. El encendido o apagado no depende de la luz presente,
sino de los tiempos fijados en el interruptor horario.
El principal inconveniente que presentan los sistemas de lazo abierto es que
no reaccionan ante posibles perturbaciones (por ejemplo, la apertura de una
puerta o ventana, en la calefacción de una vivienda que funcione a base de
meras “estufas” según lazo abierto, no es detectada por el sistema, que
funciona igual que antes). Son, por tanto, estables en su funcionamiento,
pero poco precisos.

7.2.2. Sistemas de control de lazo cerrado


Si en un sistema en lazo abierto existen perturbaciones, no se obtiene siempre la
variable de salida deseada. Conviene, por tanto, utilizar un sistema en el que haya
una relación entre la salida y la entrada.
Así, los sistemas de bucle o lazo cerrado son aquellos en los que la acción de control
depende en cierto modo, de la salida. La señal de salida influye en la entrada . Para
esto es necesario que la entrada sea modificada en cada instante en función de la
salida. Esto se consigue por medio de lo que llamamos realimentación (feedback).
La realimentación es la propiedad de un sistema en lazo cerrado por la cual la salida (o
cualquier otra variable del sistema que esté controlada) se compara con la entrada
referencia del sistema (o una de sus entradas), de manera que la acción de control se
establezca como una función de ambas. Por lo tanto podemos definir también los
sistemas de control en lazo cerrado como aquellos sistemas en los que existe una
realimentación de la señal de salida, de manera que ésta ejerce un efecto sobre la
acción de control.
El diagrama de bloques correspondiente a un sistema de control en lazo cerrado
(completo) es:

Tecnología e Ingeniería Ud 4. Programación y robótica. Arduino. Sistemas de control Página 9 de 13


IES Gabriel Alonso de Herrera
Departamento de Tecnología

A la planta también se le llama proceso. En este esquema se observa cómo la salida


es realimentada hacia la entrada. Ambas se comparan, y la diferencia que existe entre
la entrada, que es la señal de referencia o consigna (señal de mando), y el valor de la
salida (señal realimentada) se conoce como error o señal de error.
El error, o diferencia entre los valores de la referencia y de la salida realimentada,
actúa sobre los elementos de control en el sentido de aproximarse y reducirse a
cero y llevar la salida a su valor correcto. Se intenta que el sistema siga siempre a la
señal de consigna o referencia.

La salida del sistema de regulación se realimenta mediante un captador, sensor o


transductor. En el comparador o detector de error, la señal de referencia se compara
con la señal de salida medida por el captador (salida realimentada), con lo que se
genera la siguiente señal de error:
e(t) = r(t) – b(t)
donde e(t) es la señal de error, r(t) la señal de referencia y b(t) la salida realimentada.
Pueden suceder dos casos:
• Que la señal de error sea nula. En este caso la salida tendrá exactamente el
valor previsto.
• Que la señal de error no sea nula. Esta señal de error actúa sobre el
elemento regulador que a su salida proporciona una señal que, a través del
elemento accionador, influye en la planta o proceso para que la salida alcance
el valor previsto y de esta manera el valor se anule.
En el ejemplo de control de temperatura de una habitación, el sistema, planta o proceso es la
habitación que se quiere calentar, el transductor puede ser un potenciómetro con el que regulo
la tª de referencia para calentar la citada habitación, el controlador una placa de control interna
que lleva el actuador o accionador, que es una caldera o un radiador y el captador puede ser
un sensor de temperatura (termostato). Este último actúa como sensor midiendo la
temperatura del recinto, para que pueda ser comparada con la de referencia.

Tecnología e Ingeniería Ud 4. Programación y robótica. Arduino. Sistemas de control Página 10 de 13


IES Gabriel Alonso de Herrera
Departamento de Tecnología

Los sistemas en lazo cerrado son muy sensibles a las perturbaciones, ya que
cualquier modificación de las condiciones del sistema afectará a la salida,
pero este cambio será registrado por medio de la realimentación como un
error que es en definitiva la variable que actúa sobre el sistema de control.
Por tanto, estos sistemas son más precisos pero a su vez menos estables
que los de lazo abierto.

7.3. Principales señales en un sistema de control


Señal de referencia: es una señal de entrada fijada y conocida que nos sirve para
calibrar el sistema. Se compara con la señal realimentada (en caso de lazo cerrado).
Puede realizarlo en potenciómetro, por ejemplo.
Señal realimentada: aquella que proviene de la salida una vez realimentada,
detectada por un sensor o captador. Solo existe en los sistemas de control de lazo
cerrado.
Señal activa o de error. Representa la diferencia entre la señal de referencia y la
realimentada.

EJEMPLO

Señal de salida
realimentada
(LDR)

7. 4. Relación de ejercicios
Tecnología e Ingeniería Ud 4. Programación y robótica. Arduino. Sistemas de control Página 11 de 13
IES Gabriel Alonso de Herrera
Departamento de Tecnología

Realiza el siguiente experimento:

1. Realiza el siguiente ejercicio, completando los dos cuadros:

2.

3. Relaciona los diferentes sensores con los sistemas de control donde actúan y la función que
cumplen

Tecnología e Ingeniería Ud 4. Programación y robótica. Arduino. Sistemas de control Página 12 de 13


IES Gabriel Alonso de Herrera
Departamento de Tecnología

Relación de recursos web para mejorar la comprensión de los


contenidos de este ANEXO:

http://recursostic.educacion.es/secundaria/edad/4esotecnologia/
Accede a esta página y comprende la diferencia entre los sistemas de control en lazo
abierto y los de lazo cerrado (Unidad 11 Robótica, apartado 2)
http://fdiazuceda.blogspot.com/2016/01/tecnologia-4-eso-tema-4-control-y.html
http://www.portaleso.com/Robot/unidad_4_robotica_v1_c.pdf
https://www.edebe.com/educacion/documentos/830552-8-529-103947_UD07_Tecno
%204%20Bessemer.pdf
http://recursostic.educacion.es/bachillerato/techno/web/alumno.htm

Tecnología e Ingeniería Ud 4. Programación y robótica. Arduino. Sistemas de control Página 13 de 13

También podría gustarte