Está en la página 1de 21

UNIDAD: ROBTICA

Contenido Unidad de Robtica





Introduccin ...........................................................................................................................................3
Entradas .............................................................................................................................................3
Entradas analgicas ........................................................................................................................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 programacin .......................................................................................6
Descripcin del controlador PICAXE 08 M ....................................................................................6
Cable de Programacin Serie ..........................................................................................................6
Software de Programacin .............................................................................................................7
Instrucciones Basic de programacin ...............................................................................................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
Instruccin if .................................................................................................................................11
Instruccin if elseend 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 fornext ......................................................................................................................14
b) Utilizando etiquetas..............................................................................................................14
c) Do . Loop while (condicin)................................................................................................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 analgica y 2 salidas mediante LED ...............................17
Kit 2 Simulador Semforo [Coches, Peatones y pulsador] .................................................................18
Kit 3 Simulador Salida Rels...............................................................................................................19





Introduccin
Cualquier sistema programable comprende los siguientes bloques: Entradas, cdigo de programa y
salidas. El controlador realiza la funcin asignada en el programa: evala el valor de las entradas y
acciona las salidas segn el cdigo de programa





Entradas
Entradas analgicas
Las entradas analgicas son aquellas que pueden tomar cualquier valor. En el ejemplo si conectamos
una LDR con un potencimetro, 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 sealizacin no enciende.
En la figura de la derecha la entrada vale
1 el LED de sealizacin 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 travs de la resistencia de 1K. Si accionamos el pulsador la tensin de salida de
V ser de 5V con lo que conseguimos la seal digital 1. En resumen pulsador sin accionar 0 y
pulsador accionado 1







Salidas
Las salidas de los sistemas digitales dan una intensidad pequea capaz de activar un LED. Si
deseamos activar un motor lo debemos hacer a travs de un Rel por lo que esta salida debemos
amplificarla a travs de un transistor
LED
El LED funciona con V
D
= 2 V y una intensidad de 10-20mA. Vamos a
calcular la resistencia a intercalar para conectarlo a 5V
V
R
= V
T
V
D
= 5 -2 = 3V . La resistencia debe de absorber estos 3V






Motor (giro en un solo sentido)
Lo podemos accionaremos a travs 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 segn la
intensidad del transistor (activa) ms o menos. Si
queremos que el motor gire(1) o no(0) lo que
hacemos es controlarlo a travs de un rel. Ver
ejemplo
Cuando reciba la seal la base del transistor este
se pone en conmutacin, el rel se activa y el
motor funciona.
Cuando no haya seal en la base, el transistor estar en corte, I
B
= I
C
= 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 seales de salida. Cada seal activar un rel amplificado por transistor y con ello
invertimos el sentido de giro del motor.

Al recibir la seal S
1
se satura el
Transistor Q
3
con lo que se acciona el
rel R
1
y el motor gira en un sentido
+ -> M
1
y - -> M
2

Al recibir la seal S
2
se satura el
Transistor Q
4
con lo que se acciona el
rel R
2
y el motor gira en un sentido
+ -> M
2
y - -> M
1









M1
M2
Elementos de un sistema de programacin

El controlador, usaremos el Picaxe 08M
El cable de Programacin del dispositivo, que conectado al puerto serie COM del ordenador
nos transfiere el programa del ordenador al PIC
El software de Programacin (Picaxe Programming Editor)

Descripcin 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: alimentacin +5V
Patilla 2: Serial In (entrada de
datos del puerto Serie)
Patilla 3: In4 /Out4 (puede
funcionar como entrada o sala)
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 funcin
Patilla 8: 0V
Cable de Programacin Serie
Es un cable como el de la imagen se conecta al
entrenador y al puerto serie del ordenador




Software de Programacin
Usaremos el Picaxe Programming Editor que se puede descargar desde la siguiente direccin
http://www.rev-ed.co.uk/picaxe/software.htm
Antes de empezar la programacin usaremos el Cocodrile para realizar un ejercicio sencillo
Disear 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
botn 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

Despus 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 lneas, escojo la opcin draw lines y dibujo la lnea de
conexin 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 diseado. Veremos la salida 0 (encenderse y
apagarse cada sg)





8) Para pasar el diagrama de flujo a cdigo
de programacin Basic. Desde el Men
PICAXE -> Convertir Flowchart to BASIC



Cdigo de Programacin Basic

Desde el Editor de programacin 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 continuacin presionamos el botn Program



Instrucciones Basic de programacin

Etiquetas
Las etiquetas pueden ser cualquier palabra pero deben de comenzar por una letra y terminar en el
smbolo ( :) y no debe de contener espacios en blanco
Main:
Label_11:
Comentarios
A la hora de disear un programa es muy importante introducir comentarios en el programa.
Se aaden inicindolo con una comilla sencilla y despus el comentario. El programa lo
interpreta como un comentario y no dar error
esto es un comentario
autor: Jos A. Prez

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 instruccin
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 Enva el programa al sub-procedimiento label_10

Label_10:
High 0
Wait 5
Return retorna al sub-procedimiento

Instruccin if
If (condicin) then (accin)
Si se cumple la condicin se ejecuta la accin
Instruccin if elseend if
Si se cumple la condicin se ejecuta la accin1 en caso contrario se ejecuta la accin2
If (condicin) then
Accin1
Else
Accin2
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
Accin1
Case 1
Accin2
Else
Accin3
Endselect



Esperar a que se accione un pulsador conectado a la entrada 1

Cdigo de Programacin 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

Funcin OR : A OR B

Cdigo de Programacin
Mtodo 1






Mtodo 2








Diagrama de Flujo


Funcin AND: A AND B

Cdigo de Programacin
Mtodo 1







Mtodo 2






Diagrama de Flujo














Contador

Podemos realizarlo con varias instrucciones
Las variables que se debern de utiliza sern 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 instruccin inc (incrementa en 1) inc contador

Ejemplo: programa que encienda y apague un led conectado a la salida 0 10 veces
a) Bucle fornext

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 (condicin)

El bucle se realiza mientras se cumpla la condicin

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 sealizador 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 semforo 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 simulacin de una puerta de garaje
- Puerta Cerrada: FCC (activo)
- Si FCC (activo) y pulso P se acciona R
1
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 R
2
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 programacin (ver figura)
Para ejecutar el programa situar el interruptor en la posicin inferior


0V
6V
Programacin
Kit 1 Simulador con 2 Entradas Digitales, 1 analgica y 2 salidas
mediante LED

Entradas Digitales: 2 Pulsadores SW1 y SW2
1 Entrada Analgica
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 da 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 Semforo [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 Rels

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 rels 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 rels son de 12VDC conectaremos los 12V a +V y conectamos A1 del rel a +V
Ejercicio 3-1
Conectar 2 rels 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 rels y los finales de carrera de una puerta de garaje a la placa. Disear el programa para
el accionamiento de la puerta de garaje con el pulsador

A
Activar o desactivar salidas, 10
B
Bascular salidas, 10
Bucle fornext, 14
C
Cable de Programacin Serie, 6
Comentarios, 10
Contador, 14
D
Descripcin del controlador PICAXE 08 M, 6
Do . Loop while (condicin), 15
E
Ejercicios a realizar, 15
Ejercicios a realizar con el Entrenador PICAXE 08, 16
Elementos de un sistema de programacin, 6
Entradas, 3
Entradas analgicas, 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
Instruccin if, 11
Instruccin if elseend if, 11
Instrucciones Basic de programacin, 10
Introduccin, 3
K
Kit 1 Simulador con 2 Entradas Digitales, 1 analgica y
2 salidas mediante LED, 17
Kit 2 Simulador Semforo [Coches, Peatones y
pulsador], 18
Kit 3 Simulador Salida Rels, 19
S
Salidas, 4
Select case, 11
Software de Programacin, 7
T
Tiempos de espera, 11
Tutorial para el Picaxe 08M, 16
U
Utizando etiquetas, 14

También podría gustarte