Post on 13-Jun-2015
CONTROL Y ROBÓTICA
Departamento de Tecnología I.E.S. El Molinillo
Guillena
ESQUEMA DEL TEMA
INTRODUCCIÓN
Robota: palabra checa que significa trabajador, esclavo. A lo largo de la historia se ha planteado la posibilidad de crear máquinas que sustituyan al hombre en tareas peligrosas o repetitivas.
Herón de Alejandría S. I dC
Al-Jazir S. XIII
Leonardo Da Vinci S.XV-XVI
Torres Quevedo: desarrolló su trabajo a principios del S. XX. Ideó un ajedrecista automático, dando los primeros pasos en inteligencia artificial.
INTRODUCCIÓN
También desarrolló el primer sistema de radiocontrol (telekino).
INTRODUCCIÓNEl desarrollo de la electrónica ha permitido grandes avances en robótica, inteligencia artificial y control automático.
SISTEMAS DE CONTROL: LAZO ABIERTO
ELEMENTOS DE CONTROL
ACTUADOR
SEÑAL DE ENTRADASEÑAL DE ENTRADA
SEÑAL DE SALIDASEÑAL DE SALIDA
ELECTRICIDAD
SISTEMAS DE CONTROL: LAZO CERRADO
ELEMENTOS DE CONTROL ACTUADOR
SEÑAL DE ENTRADASEÑAL DE ENTRADA
SEÑAL DE SALIDA
SEÑAL DE SALIDA
+/-
COMPARADOR
SENSOR
BUCLE DE REALIMENTACIÓN
Variable de referencia: temperatura deseada Variable controlada:
temperatura actual
ROBOTSUn robot puede captar información del entorno y realiza una acción en respuesta a los datos que recibe. Un mecanismo, en cambio, realiza siempre la misma función de forma repetitiva.
Mecanismo: la planta embotelladora rellena de agua esté o no la botella.
Robot: con un detector de presencia solo rellena si está la botella.
ROBOTS: ELEMENTOS DEL SISTEMA DE CONTROL
Señal de Entrada: se toma del exterior mediante un sensor.Señal de Referencia: se compara con la señal de entrada (usaremos el
potenciómetro).Comparador: genera una señal cuando alcanza cierto límite (transistor).Elementos de Control: son los que hacen que se activen los actuadores o no
(relé).Señal de Salida: la generan los elementos de control.Actuador: Elemento que corrige la variable controlada (bombilla que aporta luz).
ROBOTS: COMPONENTES MECÁNICOS
ESLABONES: cada una de las piezas del cuerpo.
ARTICULACIONES: elementos que unen los eslabones. Pueden ser prismáticas o giratorias.
ACTUADORES: son los que proporcionan movimiento al robot. Pueden ser eléctricos (motores con reductoras o paso a paso), neumáticos o hidráulicos (pistones).
HERRAMIENTA: parte del robot encargada de realizar el trabajo .
ROBOTS: COMPONENTES ELÉCTRICOS Y ELECTRÓNICOS
ALIMENTACIÓN DEL CIRCUITO: el bobinado del motor produce cambios de tensión que puede afectar a los elementos electrónicos más sensibles (ej. transistores). Tenemos dos alternativas:Alimentaciones diferentes para los motores y el circuito de control.Colocar un condensador (100 nF) en paralelo con el motor.
ROBOTS: COMPONENTES ELÉCTRICOS Y ELECTRÓNICOSPAR DARLINGTON: incrementa la ganancia aumentando la sensibilidad de los sensores (transistores como amplificadores).
SENSORES: se encargan de medir la variable de referencia del sistema de control.
LDR
FOTOTRANSISTOR BPW40
DIODO EMISOR DE
INFRARROJOS TSUS5400
CNY70
ROBOT QUE BUSCA LA CLARIDAD
ROBOT QUE PERSIGUE LA LUZ
ROBOT RASTREADOR
ROBOT QUE SE SALE DE LA CARRETERA
ROBOT QUE EVITA LAS PAREDES BLANCAS
CONCEPTOS DEL CONTROL POR ORDENADOR
SISTEMA DE CONTROL Y PROGRAMACIÓN
ENTRADAS
DIGITALES
ANALÓGICAS
SALIDAS
DIGITALES
ANALÓGICAS
Entradas: son las señales captadas por los sensores (luz, temperatura, proximidad…)Salidas: señales que activan o desactivan los actuadores (motores, bombillas….)Sistemas de control y programación: analizan las entradas y actúan de acuerdo a las instrucciones de un programa.
Las señales pueden ser digitales (0 desactivada, 1 activada) o analógicas (cuando es necesario tener en cuenta el valor de la magnitud de referencia, ej. Temperatura)
TARJETAS CONTROLADORAS: CNICE
Son los elementos que permiten la comunicación sensor-ordenador-actuador.
SENSOR
ACTUADOR
TARJETAS CONTROLADORAS: ENCONOR
Son los elementos que permiten la comunicación sensor-ordenador-actuador.
SENSOR
ACTUADOR
PROGRAMACIÓN: LENGUAJES
+ PROGRAMAS
Para realizar una tarea concreta el ordenador debe contar con un programa adecuado en el que se le indique qué debe hacer según unas instrucciones.
PROGRAMACIÓN: LENGUAJES
para porbphaz “numero1 15haz “numero2 68haz “resultado :numero1 * :numero2bp gd 90rotula [15 x 68 = ]av 90rotula :resultadofin
para porbphaz “numero1 15haz “numero2 68haz “resultado :numero1 * :numero2bp gd 90rotula [15 x 68 = ]av 90rotula :resultadofin
ReadChar:READ Indice, CarácterIF Carácter = 0 THEN Exit_ReadDEBUG CarácterIndice = Indice + 1GOTO ReadCharExit_Read:DEBUG, CRRETURN
ReadChar:READ Indice, CarácterIF Carácter = 0 THEN Exit_ReadDEBUG CarácterIndice = Indice + 1GOTO ReadCharExit_Read:DEBUG, CRRETURN
Lenguaje máquina y ensamblador
Lenguajes de alto nivel: Basic y Logo
PROGRAMACIÓN: MSWLOGO
PANTALLA GRÁFICAPANTALLA GRÁFICA
TORTUGATORTUGA
MENÚSMENÚS
PANTALLA DE TRABAJOPANTALLA DE TRABAJO EDITOREDITOR
PRIMITIVA ACCIÓN ABREVIADO
AVANZA 150 La tortuga avanza el número indicado de puntos (150). AV 150
RETROCEDE 80 Retrocede el número de puntos especificado (80). RE 80
GIRADERECHA 15 Gira a la derecha el ángulo especificado en grados (15º). GD 15
GIRAIZQUIERDA 30 Gira a la izquierda el ángulo indicado (30º). GI 30
SUBELAPIZ Levanta el lápiz y no pinta al moverse por la pantalla. SL
BAJALAPIZ El lápiz toca el papel y pinta cuando se mueve. BL
GOMA La tortuga borra a lo largo de su trayectoria.
OCULTATORTUGA Oculta el icono de la tortuga. OTMUESTRATORTUGA Muestra el triángulo que representa la tortuga. MT
BORRAPANTALLA Borra la pantalla gráfica y sitúa la tortuga en el centro. BP
BORRATEXTO Borra la pantalla de trabajo BT
CENTRO Lleva la tortuga al centro de la pantalla sin borrar.
ROTULA [hola] Escribe el texto especificado entre corchetes (hola). RO [hola]
PONCOLORLAPIZ 4 Establece el color con que pinta. El 4 corresponde al rojo. PONCL 4
TONO [800 200] Emite un sonido de [frecuencia (800Hz) y duración (200ms)]
PONGROSOR [3 3] Fija el grosor y la altura del lápiz con el que traza líneas. PONG [3 3]
ADIOS Sale de MSWLogo.
PROGRAMACIÓN: MSWLOGO
PROGRAMACIÓN: MSWLOGO
para taxescribe [Hola, mundo]fin
Los procedimientos permiten realizar las acciones que programemos. Comienzan con para nombre del procedimiento y terminan con fin.Los ejecutamos tecleando el nombre del procedimiento en la ventana de trabajo.
Para modificar un procedimiento: Archivo→Editar…→nombre del procedimiento
Las variables son datos con un nombre y un valor.Con “ nos referimos al nombre de la variable y con : nos referimos al valor de la variable.
haz “numero 50rotula :numero
para holasbp slgd 90repite 4 [rotula "hola av 50]fin
Para repetir varias veces una instrucción usamos el comando repite:
Repite n [instrucciones] ,donde n indica el número de veces que queremos repetir las instrucciones entre corchetes.
borrapantalla (bp) Borra todo y sitúa la tortuga en su posición inicial.
limpia Borra todo y deja la tortuga donde está
centro Sitúa la tortuga en la posición inicial, sin borrar nada.
ponpos [x y] Sitúa la tortuga en las coordenadas especificadas
ponrumbo φ Orienta la tortuga en la dirección del ángulo φ
pos Devuelve las coordenadas de la tortuga como una lista [x y]
PROGRAMACIÓN: MSWLOGO
Situar la tortugaSituar la tortuga
para por bp haz “numero1 15 ;la primera variable toma el valor 15 haz “numero2 68 ;la segunda variable toma el valor 68 haz “resultado :numero1 * :numero2 ;calculamos el producto bp gd 90 ;la tortuga en el centro y horizontal rotula [15 x 68 = ] ;rotula los factores de la operación av 90 ;se desplaza a la derecha del signo = rotula :resultado ;rotula el resultadofin
Para entender mejor los programas conviene “dividirlos” en bloques mediante el sangrado de las líneas e incluir comentarios mediante ;
subelapiz sl Levanta el lápiz del papel y no pinta al moverse
bajalapiz bl Baja el lápiz y deja un trazo al moverse la tortuga
poncolorlapiz [RGB] poncl [RGB] Asigna al lápiz un color compuesto [rojo verde azul]
poncolorlapiz nº poncl nº Asigna al lápiz el color número n de la tabla
pongrosor [g g] pong [g g] El grosor del lápiz es de g puntos de alto y de ancho
poncolorpapel [RGB] poncp [RGB] Establece el color del fondo de la pantalla gráfica
poncolorrelleno [r v a] poccr [RGB] Fija el color con el que rellenará figuras cerradas (la figura debe estar cerrada, la tortuga debe situarse en el interior de dicha figura y el lápiz debe estar levantado con la primitiva subelápiz sl.)
goma Sustituye el lápiz por una goma que borra al desplazarse
ponlapiz pla Deja la goma y vuelve a coger el lápiz
PROGRAMACIÓN: MSWLOGOModificar lápiz y papelModificar lápiz y papel
0 1 2 3 4 5 6 7
8 9 10 11 12 13 14 15
COMANDO ACCIÓNCONECTA :NUM Activa el actuador situado en la posición indicada en :NUM, siendo :NUM 1, 2, 3 ó 4. Si se
trata de un motor, este se activa para que gire a la izquierda y si es una bombilla, relé o electroimán, simplemente se activa.
DESCONECTA :NUM APAGA :NUM
Desactiva los actuadores conectados a la posición indicada en :NUM (en Enconor apaga)
M1 “D Hace girar en un determinado sentido un motor conectado a dos de las salidas digitales (las salidas elegidas dependen del tipo de controladora). Si el actuador es una bombilla, relé o electroimán, simplemente lo activa.
M1 “I Hace girar en sentido contrario a la primitiva anterior un motor conectado a dos de las salidas digitales. No se diferencia de la primitiva anterior si están conectados otros actuadores(bombilla, relé, etc.)
M1 “P Desactiva el actuador que esté conectado a dos de las salidas digitales (para conseguirlo se desactivan ambas salidas).
SALIDA :NUM Controla individualmente o en conjunto cada una de las ocho salidas digitales. Envía a las salidas digitales el número binario equivalente al decimal que pongamos en:NUM. Para activar, por ejemplo, las salidas 1 y 8 se escribirá el comando: SALIDA 129
ESPERA número El programa se estera el tiempo especificado en número (fracciones de 1/60 segundos)
VE? Devuelve un número decimal que indica qué entradas digitales están activadas. Por ejemplo, si ejecutamos la primitiva y esta devuelve 129, las entradas digitales 1 y 8 tienen valor 1.
SD entrada Devuelve el valor del sensor digital expresado en:entrada (1, 2, 3, ... , 8), 1 si la entrada está activa o 0 en caso contrario.
COMANDOS MSWLOGO PARA TARJETAS DE CONTROL
COMANDO ACCIÓN SINTAXIS
HAZ Asigna un valor a una variable HAZ “nombre valor
SI Evalúa la condición. Si es verdadera ejecuta las instrucciones, si es falsa no
SI (condición) [lista de instrucciones]
SISINO Igual que la anterior pero si la condición es correcta ejecuta la lista 1 y si no la lista 2.
SISINO (condición) [lista de instrucciones1] [lista de instrucciones2]
REPITE Repite la acción el número de veces determinado REPITE número [acción]
DESDEMIENTRAS Repite la lista de instrucciones tanta veces como se de la
condición. Si la condición expresada no se cumple no se ejecutan las instrucciones ni una sola vez.
MIENTRAS [condicion] [instrucciones]
DEVUELVE Finaliza la ejecución del procedimiento, si es una función además devuelve el valor resultante de la misma.
DEVUELVE Valor
PARADA Termina el procedimiento en ese punto.
COMANDOS MSWLOGO
DIAGRAMAS DE FLUJO
Son diagramas que facilitan la labor de programación y en los que podemos ver gráficamente cada paso y acción que queremos que realice un programa.
INICIO/FIN
DECISIÓN
PROCEDIMIENTO
COMIENZA BUCLE
FIN BUCLE