unidad: robÓtica - programa gestion guardias … · contenido unidad de robótica introducción...
Post on 21-Sep-2018
218 Views
Preview:
TRANSCRIPT
UNIDAD: ROBÓTICA
Contenido Unidad de Robótica
Introducción ...........................................................................................................................................3
Entradas .............................................................................................................................................3
Entradas analógicas ........................................................................................................................3
Entradas Digitales ...........................................................................................................................3
Salidas ................................................................................................................................................4
LED .................................................................................................................................................4
Motor (giro en un solo sentido) ......................................................................................................4
Motor (giro en un solo sentido) ......................................................................................................5
Motor (giro en dos sentidos) ..........................................................................................................5
Elementos de un sistema de programación .......................................................................................6
Descripción del µcontrolador PICAXE 08 M ....................................................................................6
Cable de Programación Serie ..........................................................................................................6
Software de Programación .............................................................................................................7
Instrucciones Basic de programación ...............................................................................................10
Etiquetas.......................................................................................................................................10
Comentarios .................................................................................................................................10
Activar o desactivar salidas...........................................................................................................10
Bascular salidas ............................................................................................................................10
Tiempos de espera .......................................................................................................................11
Goto (ir a) .....................................................................................................................................11
Gosub (ir a sub) ............................................................................................................................11
Instrucción if .................................................................................................................................11
Instrucción if… else…end if ...........................................................................................................11
Select case ........................................................................................................................................11
Esperar a que se accione un pulsador conectado a la entrada 1 ..................................................12
Esperar a que se accionen dos pulsadores conectados a las entradas 1 y 2 .................................12
Contador.......................................................................................................................................14
a) Bucle for…next ......................................................................................................................14
b) Utilizando etiquetas..............................................................................................................14
c) Do …. Loop while (condición)................................................................................................15
Ejercicios a realizar ...........................................................................................................................15
Ejercicios a realizar con el “Entrenador” PICAXE 08 .............................................................................16
Tutorial para el Picaxe 08M .............................................................................................................16
Kit 1 – Simulador con 2 Entradas Digitales, 1 analógica y 2 salidas mediante LED ...............................17
Kit 2 – Simulador Semáforo [Coches, Peatones y pulsador] .................................................................18
Kit 3 – Simulador Salida Relés...............................................................................................................19
Introducción Cualquier sistema programable comprende los siguientes bloques: Entradas, código de programa y
salidas. El µcontrolador realiza la función asignada en el programa: evalúa el valor de las entradas y
acciona las salidas según el código de programa
Entradas
Entradas analógicas
Las entradas analógicas son aquellas que pueden tomar cualquier valor. En el ejemplo si conectamos
una LDR con un potenciómetro, el valor de salida V puede obtener cualquier valor dependiendo de
la intensidad que accione la LDR
Entradas Digitales
Las entradas digitales solo pueden obtener 2 valores 0 (0V) o 1(+5V). Veamos algunos sistemas para
obtener entradas digitales
Conmutador
En la figura de la izquierda la entrada vale
“0” el LED de señalización no enciende.
En la figura de la derecha la entrada vale
“1” el LED de señalización está encendido
0
500
1000
1500
1 2 3 4 5 6 7 8 9
lux
Voltaje
Programa ->µControlador Entradas Salidas
Pulsador
En la figura con el pulsador accionado vemos que la salida V = 0V “0” ya que está conectada
directamente a 0V a través de la resistencia de 1K. Si accionamos el pulsador la tensión de salida de
V será de 5V con lo que conseguimos la señal digital “1”. En resumen pulsador sin accionar “0” y
pulsador accionado “1”
Salidas Las salidas de los sistemas digitales dan una intensidad pequeña capaz de activar un LED. Si
deseamos activar un motor lo debemos hacer a través de un Relé por lo que esta salida debemos
amplificarla a través de un transistor
LED
El LED funciona con VD = 2 V y una intensidad de 10-20mA. Vamos a
calcular la resistencia a intercalar para conectarlo a 5V
VR = VT – VD = 5 -2 = 3V . La resistencia debe de absorber estos 3V
Motor (giro en un solo sentido)
Lo podemos accionaremos a través de un transistor.
La resistencia de 2k2 es para proteger la base del transistor
contra una sobre intensidad.
Motor (giro en un solo sentido)
En el ejemplo anterior tenemos el problema de
que el motor puede funcionar según la
intensidad del transistor (activa) más o menos. Si
queremos que el motor gire(1) o no(0) lo que
hacemos es controlarlo a través de un relé. Ver
ejemplo
Cuando reciba la señal la base del transistor este
se pone en conmutación, el relé se activa y el
motor funciona.
Cuando no haya señal en la base, el transistor estará en corte, IB = IC = 0. El relé no se activará y el
motor no funciona
Motor (giro en dos sentidos)
Si necesitamos que el motor gire en dos sentidos: puerta de garaje, ascensor, barrera, etc.
Necesitaremos dos señales de salida. Cada señal activará un relé amplificado por transistor y con ello
invertimos el sentido de giro del motor.
Al recibir la señal S1 se satura el
Transistor Q3 con lo que se acciona el
relé R1 y el motor gira en un sentido
+ -> M1 y - -> M2
Al recibir la señal S2 se satura el
Transistor Q4 con lo que se acciona el
relé R2 y el motor gira en un sentido
+ -> M2 y - -> M1
M1
M2
Elementos de un sistema de programación
El µcontrolador, usaremos el Picaxe 08M
El cable de Programación del dispositivo, que conectado al puerto serie COM del ordenador
nos transfiere el programa del ordenador al PIC
El software de Programación (Picaxe Programming Editor)
Descripción del µcontrolador PICAXE 08 M
El microcontrolador PIC (microcontrolador programable) es a menudo descrito como un "ordenador
en un chip". Es un circuito integrado que contiene memoria, unidades procesadoras y circuitos de
entrada/salida, en una sola unidad.
Veamos el esquema del PIC 08M
Patilla 1: alimentación +5V
Patilla 2: Serial In (entrada de
datos del puerto Serie)
Patilla 3: In4 /Out4 (puede
funcionar como entrada o salía)
Patilla 4: In3 (entrada de datos 3)
Patilla 5: In2/Out2
Patilla 6: In1/Out1
Patilla 7: Serie Out/Out0 (puede funcionar como salida de datos 0 o como entrada de datos del
Puerto serie) Mediante un conmutador elegiremos una u otra función
Patilla 8: 0V
Cable de Programación Serie
Es un cable como el de la imagen se conecta al
entrenador y al puerto serie del ordenador
Software de Programación
Usaremos el Picaxe Programming Editor que se puede descargar desde la siguiente dirección
http://www.rev-ed.co.uk/picaxe/software.htm
Antes de empezar la programación usaremos el Cocodrile para realizar un ejercicio sencillo
Diseñar un programa y su circuito para que se encienda y se apague un LED con un intervalo de 1 sg.
Para entenderlo mejor usaremos el Programa Cocodrile programable mediante un diagrama de flujo
Algoritmo:
Conectamos el LED a la salida 0
1) Inicio del programa
2) Enciendo el LED
3) Durante 1 sg
4) Apago el LED
5) Durante 1 sg
6) Vuelvo al Inicio del programa
Diagrama de Flujo
Funcionamiento:
Pongo la Salida Output 0 (a la que va conectada el LED) en ON
Espera 1sg
Pongo la salida Output 0 en Off
Durante 1 sg
Vuelvo a empezar
Veamos ahora como lo programamos en Basic con el programa PPE
Vamos a conectar el LED a la salida 0, por tanto será la salida que
tendremos que activar (High 0) o desactivar (Low 0) para encender o
apagar el LED
1) Abrimos el programa
2) Elegimos el tipo de PICAXE que vamos a programar, en nuestro caso el PICAXE 08-M. Se
puede cambiar desde el icono Options.
3) Podemos programar directamente en Basic o
desde el Editor de Diagramas de Flujo. Vamos a
hacerlo desde aquí, para ello presionamos el
botón FlowChart y nos saldrá la
pantalla siguiente
4) Para activar o desactivar las salidas presionamos
el icono out (output commands)
Para activar la salida -> high y lo arrastro al
escritorio y para desactivar -> low
Después haciendo clic sobre la etiqueta puedo
asignar la salida que deseo activar en la esquina inferior izquierda
5) Para indicar tiempos presiono el icono inicial delay
y elijo wait o pause y el tiempo de espera deseado, en este caso
voy a elegir wait 1sg
6) Para dibujar líneas, escojo la opción draw lines y dibujo la línea de
conexión del diagrama de flujo, con lo cual ya tengo el diagrama de
flujo terminado.
7) Una vez que tengo el diagrama de flujo
puedo simularlo presionando el icono
simulate y vemos el ejemplo funcionando
si está bien diseñado. Veremos la salida 0 (encenderse y
apagarse cada sg)
8) Para pasar el diagrama de flujo a código
de programación Basic. Desde el Menú
PICAXE -> Convertir Flowchart to BASIC
Código de Programación Basic
Desde el Editor de programación Basic presionando Simulate podemos ver el funcionamiento
Para transferir el programa al PICAXE
- Conectamos el cable Serial al Ordenador y al
PICAXE
- Vamos a Options -> Serial Port y buscamos el
puerto al que está conectado COM1, COM2,
COM3,…
- Presionamos OK una vez que hayamos
encontrado el puerto correcto
- A continuación presionamos el botón Program
Instrucciones Basic de programación
Etiquetas
Las etiquetas pueden ser cualquier palabra pero deben de comenzar por una letra y terminar en el
símbolo ( :) y no debe de contener espacios en blanco
Main:
Label_11:
Comentarios
A la hora de diseñar un programa es muy importante introducir comentarios en el programa.
Se añaden iniciándolo con una comilla sencilla y después el comentario. El programa lo
interpreta como un comentario y no dará error
‘esto es un comentario
‘autor: José A. Pérez
Activar o desactivar salidas
High 0 ‘Activa la salida 0
Low 0 ‘Desactiva la salida 0
Bascular salidas
Toogle (salida) Si vale “0” la pasa a “1” y viceversa
Main: toogle 0 ‘Bascula la salida 0
goto main:
Tiempos de espera
Wait 5 ‘El programa está detenido 5 sg al llegar a esta instrucción
Pause 1000 ‘El programa está detenido 1000ms = 1sg
Goto (ir a)
Goto label_10 ‘El programa va a la etiqueta label_10
Gosub (ir a sub)
Main:
Gosub label_10 ‘Envía el programa al sub-procedimiento label_10
Label_10:
High 0
Wait 5
Return ‘retorna al sub-procedimiento
Instrucción if
If (condición) then (acción)
Si se cumple la condición se ejecuta la acción
Instrucción if… else…end if
Si se cumple la condición se ejecuta la acción1 en caso contrario se ejecuta la acción2
If (condición) then Acción1 Else Acción2 End if
Select case Si son muchas las condiciones en vez de usar muchos if usamos la sentencia select case
Select case contador Case 0 Acción1 Case 1 Acción2 Else Acción3 Endselect
Esperar a que se accione un pulsador conectado a la entrada 1
Código de Programación Diagrama de Flujo
Label_11
If pin1 = 1 then label_12
Label_11
Label_12
Esperar a que se accionen dos pulsadores conectados a las entradas 1 y 2
Función OR : A OR B
Código de Programación
Método 1
Método 2
Diagrama de Flujo
Función AND: A AND B
Código de Programación
Método 1
Método 2
Diagrama de Flujo
Contador
Podemos realizarlo con varias instrucciones
Las variables que se deberán de utiliza serán b0, b1, …, b9
Si queremos usar una variable con otro nombre p.ej. debemos asignarla al principio
Symbol contador = b0
Podemos incrementar una variable con la siguiente orden
Si queremos hacer contador = contador + 1
Lo podemos hacer con la instrucción inc (incrementa en 1) inc contador
Ejemplo: programa que encienda y apague un led conectado a la salida 0 10 veces
a) Bucle for…next
Se realiza el bucle desde el inicio de la variable (contador =1 ) hasta el fin(contador = 10=
Symbol contador = b0 Main: for contador = 1 to 10 High 0 Wait 1 Low 0 Wait 1 Next
b) Utilizando etiquetas
Symbol contador = b0 Main: Contador = 0 Label_10: High 0 Wait 1 Low 0 Wait 1 Inc contador If contador = 10 then label_11 Goto label_10 Label_11
c) Do …. Loop while (condición)
El bucle se realiza mientras se cumpla la condición
Symbol contador = b0 Main: Contador = 0 Label_10: do High 0 Wait 1 Low 0 Wait 1 Inc contador Loop while contador <= 10
Ejercicios a realizar
1) Programa que nos encienda y apague 2 led intermitentemente LED 1 (Out 0) LED 2 (Out1) :
- LED 1 encendido –LED 2 apagado (0,8 sg)
- LED 1 apagado – LED 2 encendido (0,8 sg)
2) Programa que nos realice la secuencia anterior 8 veces pero al accionar un pulsador
conectado a la entrada 3 (IN3)
3) Programa que nos encienda y apague 2 led intermitentemente LED 1 (Out 0) LED 2 (Out1) :
- LED 1 encendido –LED 2 encendido (0,75 sg)
- LED 1 apagado – LED 2 apagado (0,90 sg)
4) Realizar el ejercicio del señalizador de ciudad con las siguientes condiciones
- Pulso ON se enciende el LED de ON/Off
- Pulso Off se apaga el LED ON/off
- Si está encendido ON y Pulso Ciudad se enciende un LED parpadeando durante
20sg
5) Programa que nos realice la secuencia de encendido de 1 semáforo de 4 LED para la salida
de coches de FORMULA 1
- Inicio
- Al accionar un pulsador
- 1 sg -> enciendo el LED 1
- 1sg -> enciende o el LED 1 y 2
- 1 sg -> enciendo el LED 1, 2 y 3
- 1 sg -> enciendo el LED 1, 2, 3 y 4
- 1 sg -> apago los 4 LED
- Vuelvo a inicio
6) Programa que nos realice la simulación de una puerta de garaje
- Puerta Cerrada: FCC (activo)
- Si FCC (activo) y pulso P se acciona R1 y gira el motor en un sentido (Abrir)
- Llega la puerta abierta a FCA (activo) se para y espera 20sg
- Despues de 20 sg se activa el relé R2 y gira el motor en el otro sentido (cerrar)
- Llega la puerta cerrada a FCC (activo) se para
Ejercicios a realizar con el “Entrenador” PICAXE 08
Tutorial para el Picaxe 08M
1- Out 0 - Infraout
2- 0V
3- In 1 – Out 1 – ADC 1
4- 0V
5- In 2 – Out 2 –ADC 2 /pwm2 /tune
6- 0V
7- In 3 / Infrain
8- +6V
9- In 4 – Out 4 – ADC 4
10- +6V
Para programar el PIC situar el Interruptor deslizante en modo programación (ver figura)
Para ejecutar el programa situar el interruptor en la posición inferior
0V
6V Programación
Kit 1 – Simulador con 2 Entradas Digitales, 1 analógica y 2 salidas
mediante LED
Entradas Digitales: 2 Pulsadores SW1 y SW2
1 Entrada Analógica
Salidas : 2 LED D1 y D2
1 = +6V 2 = ADC4 – LDR 3 = + 6V 4 = IN3 – SW2 5 = 0V 6 = IN2 – SW1 7 = 0V 8 = OUT1 – LED 1 (IZQ) 9 = 0V 10 = OUT0 – LED 2 (DCHA)
Ejercicio 1-1
Programa para encender LED 1 y LED2 a la vez parpadeando cada 0,5 sg
Ejercicio 1-2
Programa para encender alternativamente LED1 y LED2 parpadeando cada 0,5 sg
Ejercicio 1-3
Al pulsar SW1 debe de encenderse 10sg el LED1 parpadeando cada 0,5sg y al pulsar SW2 el LED2
Ejercicio 1-4
Si se pulsan SW1 y SW2 a la vez se pone en marcha el programa 1-2. Cuando se este ejecutando el
programa 1-2 si se pulsa SW1 o SW2 se apagan los 2 LED
Ejercicio 1-5
Noche: LDR tapada se acciona el programa 1-2. Si es de día se acciona el programa 1-1
Ejercicio 1-6
Noche: se acciona el programa 1-3
LED 1 – OUT1 LED 2 – OUT0
SW2 – IN3 SW1 – IN2
LDR – ADC4
Kit 2 – Simulador Semáforo [Coches, Peatones y pulsador]
Entrada Digital: 1 Pulsador SW1
Salidas: 5 LED Coches: (Rojo, Naranja, Verde), Peatones: (Rojo, Verde)
1 = +6V 2 = OUT 4 – Rojo coches 3 = + 6V 4 = IN3 – Pulsador SW1 5 = 0V 6 = OUT 2 – Verde Peatones 7 = 0V 8 = OUT1 – Verde COC. – Rojo PEA. 9 = 0V 10 = OUT0 – Naranja COC. – Rojo PEA.
Ejercicio 2-1
Encendido VC y RP =15 sg Apaga VC – Enciende NC = 3 sg Apaga NC –Enciende RC – Apaga – RP – Enciende VP = 12 sg Parpadea VP = 3sg Apaga VP – Apaga RC Vuelve al inicio
Ejercicio 2-2
Encendido VC y RP Si acciono el pulsador SW1 Apaga VC – Enciende NC = 3 sg Apaga NC –Enciende RC – Apaga – RP – Enciende VP = 12 sg Parpadea VP = 3sg Apaga VP – Apaga RC Vuelve al inicio
Ejercicio 2-3
Está parpadeando el NC
Si acciono el pulsador SW1 Apaga VC – Enciende NC = 3 sg Apaga NC –Enciende RC – Apaga – RP – Enciende VP = 12 sg Parpadea VP = 3sg Apaga VP – Apaga RC Vuelve al inicio
R C – OUT4
N C – OUT0
V C – OUT1
VP – OUT2
R P – OUT1 +OUT0
SW1 – IN3
Kit 3 – Simulador Salida Relés
Entrada Digital: 1 Pulsador SW1 (incluido en placa), y conexiones mediante bornas para
poder conectar finales de carrera u otro elemento conectada a IN3
Salidas: 2 LED y salida a 2 relés exteriores
SALIDAS:
Out 0 – A está salida está conectado el LED D1 (placa) y está amplificada mediante un par de
Darlington para poder conectar un Relé R2 – DC 5V externo o un motor
Out 1 – A está salida está conectado el LED D1 (placa) y está amplificada mediante un par de
Darlington para poder conectar un Relé R2 – DC 5V externo o un motor
Si los relés son de 12VDC conectaremos los 12V a +V y conectamos A1 del relé a +V
Ejercicio 3-1
Conectar 2 relés R1 y R2. Al pulsar SW1 se acciona el relé R1 despues de 10sg se debe de desactivar
el relé R1 y activar R2. Despues de 10 sg se desactiva R2. Volver al inicio
Ejercicio 3-2
Conectar 2 relés y los finales de carrera de una puerta de garaje a la placa. Diseñar el programa para
el accionamiento de la puerta de garaje con el pulsador
A
Activar o desactivar salidas, 10
B
Bascular salidas, 10
Bucle for…next, 14
C
Cable de Programación Serie, 6
Comentarios, 10
Contador, 14
D
Descripción del µcontrolador PICAXE 08 M, 6
Do …. Loop while (condición), 15
E
Ejercicios a realizar, 15
Ejercicios a realizar con el “Entrenador” PICAXE 08, 16
Elementos de un sistema de programación, 6
Entradas, 3
Entradas analógicas, 3
Entradas Digitales, 3
Esperar a que se accione un pulsador conectado a la
entrada 1, 12
Esperar a que se accionen dos pulsadores conectados a
las entradas 1 y 2, 12
Etiquetas, 10
G
Gosub (ir a sub), 11
Goto (ir a), 11
I
Instrucción if, 11
Instrucción if… else…end if, 11
Instrucciones Basic de programación, 10
Introducción, 3
K
Kit 1 – Simulador con 2 Entradas Digitales, 1 analógica y
2 salidas mediante LED, 17
Kit 2 – Simulador Semáforo [Coches, Peatones y
pulsador], 18
Kit 3 – Simulador Salida Relés, 19
S
Salidas, 4
Select case, 11
Software de Programación, 7
T
Tiempos de espera, 11
Tutorial para el Picaxe 08M, 16
U
Utizando etiquetas, 14
top related