irb1001 t01 taller programacion
Post on 12-Jan-2016
233 Views
Preview:
DESCRIPTION
TRANSCRIPT
IRB1001 – Introducción a la RobóticaSensores y Actuadores
Sergio Aguilera M.
ROBOTICS AND AUTOMATION LABORATORYDepartamento de Ingeniería EléctricaPONTIFICIA UNIVERSIDAD CATÓLICA DE CHILE
ROBOTICS AND AUTOMATION LABORATORYDepartamento de Ingeniería EléctricaPONTIFICIA UNIVERSIDAD CATÓLICA DE CHILE
2– Tema
En esta clase
• Arduino: Utilizar la IDE Placa de desarrollo Programación básica
• Sensores Familias de sensores Ejemplo push boton
• Mundo Digital vs Análogo Ejemplo potenciometro
• Actuadores Motor DC PWM Servomotor Trabajo con servomotor y motores DC
Proyecto/Conferencia/Curso M. Torres-Torriti – Diciembre 2004 –
3– Tema
Arduino – Utilizar la IDE
Proyecto/Conferencia/Curso M. Torres-Torriti – Diciembre 2004 –
1. Verificar2. Cargar3. Nuevo4. Abrir5. Guardar6. Monitor serial7. Nombre del sketch8. Área de código9. Área de mensajes
4– Tema
Arduino – Configuración I
Proyecto/Conferencia/Curso M. Torres-Torriti – Diciembre 2004 –
5– Tema
Arduino – Configuración II
Proyecto/Conferencia/Curso M. Torres-Torriti – Diciembre 2004 –
6– Tema
Arduino – Placa de Desarrollo
Proyecto/Conferencia/Curso M. Torres-Torriti – Diciembre 2004 –
1. Programador, alimentación y Reset.
2. 14 Pines digitales y 6 salidas analógicas (~)
3. Microcontrolador
4. Salidas de voltaje: 5V, 3.3V y GND
5. Entradas analógicas
7– Tema
Arduino – Programación Básica
• El programa en arduino se divide en seccionesbásicas:
Declaración: Define el valor de una cierta variable o el tipo, asi como agregar las librerias necesarias
Inicialización: Función llamada “void setup()” la inicializa la función de los pines y algunas librerias
Ciclo: Código que se ejecutará de manera ciclica. Se utiliza la función llamada “void loop()”
Proyecto/Conferencia/Curso M. Torres-Torriti – Diciembre 2004 –
8– Tema
Arduino – Ejemplo – Encender un LED
Proyecto/Conferencia/Curso M. Torres-Torriti – Diciembre 2004 –
9– Tema
Arduino – Ejemplo - Funciones
Proyecto/Conferencia/Curso M. Torres-Torriti – Diciembre 2004 –
• pinMode(pin,mode)• Configura el pin para que funcione como entrada o
salida.
• digitalWrite(pin,value)• Permite escribir una salida como HIGH o LOW, en
pin.
• delay(T_ms)• Realiza una pausa de T_ms milisegundos.
10– Tema
Arduino – Ejemplo – Encender LED II
Proyecto/Conferencia/Curso M. Torres-Torriti – Diciembre 2004 –
11– Tema
SENSORESSensores generales y Aplicaciones
Proyecto/Conferencia/Curso M. Torres-Torriti – Diciembre 2004 –
12– Tema
Sensores
Proyecto/Conferencia/Curso M. Torres-Torriti – Diciembre 2004 –
• Miden magnitudes físicas Ej: luz, presión, temperatura.• Entregan una medida conocida Ej: Resistencia, voltaje corriente.• Análogos a nuestros sentidos Ej: Piel, los ojos, oídos.
¡Permiten comunicarnos con el medio que nos rodea!
13– Tema
Sensores – Familia de Sensores I
• Clasificación según origen de la variable medida Sensores de Estados Internos (Sensores Propioceptivos) Sensores de Estados Externos (Sensores Exteroceptivos)
• Clasificación según método de medición Sensores Pasivos Sensores Activos (Invasivos)
• Clasificación según clase de la variable medida Sensores de Distancia (Range sensors) Sensores de Posición Absoluta Sensores Ambientales Sensores Inerciales
Proyecto/Conferencia/Curso M. Torres-Torriti – Diciembre 2004 –
14– Tema
Sensores – Familia de Sensores II
• Sensores de Estados Internos (Propioceptivos) miden variables internas del robot
Ejemplos: carga de baterías, posición de las ruedas, ángulos de las articulaciones de un brazo o pierna robótica.
• Sensores de Estados Externos (Exteroceptivos) miden variables externas del robot
Ejemplos: distancia a obstáculos, color de objetos, temperatura.
Proyecto/Conferencia/Curso M. Torres-Torriti – Diciembre 2004 –
15– Tema
Sensores – Familia de Sensores III
• Sensores Pasivos no emiten energía al entorno energéticamente eficientes
no modifican el entorno no-intrusivos útiles cuando se requiere inconspicuicidad
Ejemplos: visión por computador empleando cámaras, medición de distancia basada en estereoscopía, medición de altitud basada en medición de presión atmosférica.
• Sensores Activos emiten energía al entorno energéticamente menos
eficientes
modifican el entorno invasivos no son inconspicuos presentan problemas en ambientes con múltiples robots
Ejemplos: sensores de contacto, sonar, radar, medición de distancia laser.
Proyecto/Conferencia/Curso M. Torres-Torriti – Diciembre 2004 –
16– Tema
Sensores – Familia de Sensores IV
• Sensores de Distancia retornan distancia entre el sensor y objetos en el ambiente
• Sensores Posición Absoluta retornan posición absoluta del robot, por ejemplo, en término
de latitud, longitud y altitud
• Sensores Ambientales retornan propiedades ambientales, como temperatura,
colores o luminosidad de entorno
• Sensores Inerciales retornan aceleraciones y velocidades (propiedades
diferenciales de posición)
Proyecto/Conferencia/Curso M. Torres-Torriti – Diciembre 2004 –
17– Tema
Sensores – Familia de Sensores V
Proyecto/Conferencia/Curso M. Torres-Torriti – Diciembre 2004 –
Clasificación General según Aplicación SensorVariable
Interna / Externa Pasivo/ActivoTáctiles: Detección de contacto físico, Switches de Contacto, bumpers E Pproximidad, switches de seguridad. Barreras ópticas E A
Sensores de proximidad sin contacto E ASensores para Motores/Ruedas: Encoders con escobillas I PMedición de posición y velocidad. Potenciometros I P
Synchros, Resolvers I AEncoders ópticos I AEncoders magnéticos I AEncoders inductivos I AEncoders capacitivos I A
Sensores de Orientación/Posición: Brújulas E POrientación/Posición del robot con Giróscopos I P/Arespecto a un marco de referencia fijo. Inclinómetros E P/A
Acelerómetros I P/AFaros terrestres: GPS E ALocalización en un marco de referencia Faros ópticos o RF activos E Afijo. Faros ultrasónicos activos E A
Faros reflectivos E AMedición Activa de Distancia: Sensores de reflectividad E AReflectividad/intensidad de la señal, Sensores ultrasónicos E Atiempo de vuelo, triangulación, Sensores laser (laser range finder) E Amedición de fase. Triangulación óptica 1D E A
Luz estructurada 2D E ASensores de Velocidad/Movimiento: Radar Doppler E AVelocidad relativa a objetos fijos o en Sonido Doppler E Amovimiento.Sensores basados en visión: Cámaras CCD/CMOS E PMedición visual de distancias, con software de procesamientoanálisis de la imagen entera, de imágenes y seguimiento deextracción de bordes y características, objetossegmentación, reconocimiento deobjetos y patrones.
18– Tema
Sensores - Aplicaciones
Proyecto/Conferencia/Curso M. Torres-Torriti – Diciembre 2004 –
• Digital: Son valores de 0 y 5 volts que representan los números binarios 0 (o LOW) y 1 (o HIGH) respectivamente.
Valor = digitalRead(pin)• Permite leer una entrada digital en pin.
Entrega una variable binaria: HIGH o LOW.
pinMode(pin,INPUT)• Define que pin será una entrada
19– Tema
Sensores – Ejemplo Botón I
• Realizar un programa que encienda un LED cuandose apriete un boton y que se apague cuando estedeje de presionarse.
• HINT: Utilizar la función if(condición) y else
Proyecto/Conferencia/Curso M. Torres-Torriti – Diciembre 2004 –
20– Tema
Sensores – Ejemplo Botón II
Proyecto/Conferencia/Curso M. Torres-Torriti – Diciembre 2004 –
21– Tema
Sensores – Ejemplo Botón III
• Esquemático
Proyecto/Conferencia/Curso M. Torres-Torriti – Diciembre 2004 –
22– Tema
Sensores – Ejemplo Botón IV
• Conexiones
Proyecto/Conferencia/Curso M. Torres-Torriti – Diciembre 2004 –
23– Tema
MUNDO DIGITAL VS ANALÓGICO
ADC
Proyecto/Conferencia/Curso M. Torres-Torriti – Diciembre 2004 –
24– Tema
Mundo digital vs analógico
Proyecto/Conferencia/Curso M. Torres-Torriti – Diciembre 2004 –
• Mundo digital: Representado solo por dos valores 0 y 1.
• Mundo analógico: Puede tener cualquier rango de valores en todo instante de tiempo.
25– Tema
Mundo digital vs analógico - ADC I
Proyecto/Conferencia/Curso M. Torres-Torriti – Diciembre 2004 –
1 bit
Numero Voltaje [V]
0 0
1 5
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10
1
2
3
4
5
26– Tema
Mundo digital vs analógico - ADC II
Proyecto/Conferencia/Curso M. Torres-Torriti – Diciembre 2004 –
2 bit
Numero Voltaje [V]
00 0
01 1.66
10 3.33
11 5
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10
1
2
3
4
5
27– Tema
Mundo digital vs analógico - ADC III
Proyecto/Conferencia/Curso M. Torres-Torriti – Diciembre 2004 –
3 bit
Numero Voltaje [V]
000 0
001 0.71
010 1.42
011 2.14
100 2.85
101 3.57
110 4.28
111 5 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10
1
2
3
4
5
28– Tema
Mundo digital vs analógico - ADC IV
Proyecto/Conferencia/Curso M. Torres-Torriti – Diciembre 2004 –
5 bit
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
29– Tema
Mundo digital vs analógico - ADC V
Proyecto/Conferencia/Curso M. Torres-Torriti – Diciembre 2004 –
10 bit
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
30– Tema
Mundo digital vs analógico - Funciones
Proyecto/Conferencia/Curso M. Torres-Torriti – Diciembre 2004 –
• Analógico: Son valores entre 0 y 5 V los cuales se transforman a un valor entre 0 y 1024
Valor = AnalogRead(pin)• Permite leer una entrada digital en pin.
Entrega una variable entre 0 y 1024.
• Nota: No es necesario definir el pinMode para estas salidas, puesto que siempre son INPUTs
31– Tema
Mundo digital vs analógico – Potenciometro I
• Construir un circuito que encienda un LED amarillo si el potenciómetro esta bajo la mitad y uno rojo si esta por sobre la mitad.
Proyecto/Conferencia/Curso M. Torres-Torriti – Diciembre 2004 –
32– Tema
Mundo digital vs analógico – Potenciometro II
Proyecto/Conferencia/Curso M. Torres-Torriti – Diciembre 2004 –
33– Tema
Mundo digital vs analógico – Potenciometro III
Proyecto/Conferencia/Curso M. Torres-Torriti – Diciembre 2004 –
34– Tema
Mundo digital vs analógico – Potenciometro IV
Proyecto/Conferencia/Curso M. Torres-Torriti – Diciembre 2004 –
35– Tema
ACTUADORESMotor DC y Servo motor
Proyecto/Conferencia/Curso M. Torres-Torriti – Diciembre 2004 –
36– Tema
Motor Eléctricos
• Pueden funcionar sumergidos en líquidos
• Tienen una alta eficiencia (75% - 96%)• Combustión: 25% - 55%
• Silenciosos
• No contaminantes
• Alta duración
• Muy controlables
Proyecto/Conferencia/Curso M. Torres-Torriti – Diciembre 2004 –
37– Tema
Motor DC – Funcionamiento I
• En un imán las líneas de campo viajan de norte a sur.
• Un electroimán es una bobina a la cual se le aplica voltaje.
• Dependiendo del sentido de la pila, es la orientación del electro imán.
Proyecto/Conferencia/Curso M. Torres-Torriti – Diciembre 2004 –
38– Tema
Motor DC – Funcionamiento II
Proyecto/Conferencia/Curso M. Torres-Torriti – Diciembre 2004 –
http://www.magnet.fsu.edu/education/tutorials/java/dcmotor/
39– Tema
Motor DC – Funcionamiento III
Proyecto/Conferencia/Curso M. Torres-Torriti – Diciembre 2004 –
• La velocidad de giro del motor depende del voltaje aplicado.
• Tienen un voltaje máximo que puede ser aplicado
• El sentido de giro del motor, depende de la polaridad que se le dá.
40– Tema
PWM - I
• Como el voltaje de una bateria es constante. ¿Comópuedo cambiar el voltaje aplicado?
Proyecto/Conferencia/Curso M. Torres-Torriti – Diciembre 2004 –
41– Tema
PWM - II
Proyecto/Conferencia/Curso M. Torres-Torriti – Diciembre 2004 –
Si la PWM es suficientemente rápida el motor
verá solo el voltaje promedio!!
42– Tema
PWM - III
Proyecto/Conferencia/Curso M. Torres-Torriti – Diciembre 2004 –
43– Tema
Transistor
• Interruptor controlado por un transistor
Proyecto/Conferencia/Curso M. Torres-Torriti – Diciembre 2004 –
44– Tema
PWM – Ejemplo I
Proyecto/Conferencia/Curso M. Torres-Torriti – Diciembre 2004 –
InterruptorControlado!
Transistor
45– Tema
PWM – Ejemplo II
Proyecto/Conferencia/Curso M. Torres-Torriti – Diciembre 2004 –
46– Tema
PWM - Función
• Para crear una señal de PWM se utilizan los pines con (~) y la función:
analogWrite(pin, duty);
• Donde pin es el pin definido como output y duty es un numero entre 0 y 255 que define el ciclo de trabajo de la PWM
• NOTA: Para realizar una transformación lineal, se utiliza la función “map”.
Proyecto/Conferencia/Curso M. Torres-Torriti – Diciembre 2004 –
47– Tema
Servomotor I
• Son motores utilizados para controlar principalmente la posición que tienen de forma muy simple.
• Su giro es controlado, no pueden dar más de una vuelta.
• Tienen mayor torque que un motor DC normal de similar tamaño.
Proyecto/Conferencia/Curso M. Torres-Torriti – Diciembre 2004 –
48– Tema
Servomotor II
• El servo se maneja utilizando 3 cables.• Rojo: Voltaje positivo• Negro o Marrón: Tierra• Amarillo, Naranjo o Blanco: Señal (Control)
• La señal de control es muy similar a una PWM.
• Arduino tiene una librería que genera la señal de control.
Proyecto/Conferencia/Curso M. Torres-Torriti – Diciembre 2004 –
49– Tema
Servomotor III
Proyecto/Conferencia/Curso M. Torres-Torriti – Diciembre 2004 –
50– Tema
Servomotor - Funciones
• Para utilizar un servo motor en arduino, se puede incluir la librería en la declaración:
#include <Servo.h>
Servo motor;
• Se debe inicializar en que pin va a estar el control del motor:
motor.attach(9);
• Se le asigna un valor entre 0° y 179°:
motor.write(angulo);
Proyecto/Conferencia/Curso M. Torres-Torriti – Diciembre 2004 –
51– Tema
Servomotor - Conexión
Proyecto/Conferencia/Curso M. Torres-Torriti – Diciembre 2004 –
52– TemaProyecto/Conferencia/Curso M. Torres-Torriti – Diciembre 2004 –
Laboratorio de Robótica y AutomatizaciónEscuela de Ingeniería
Pontificia Universidad Católica de Chile
Laboratorio de Robótica y AutomatizaciónEscuela de Ingeniería
Pontificia Universidad Católica de Chile
ral.ing.puc.cl
RAL – FIN
top related