sábado, 28 de diciembre de 2013

Robot Picaxe Control Remoto

2. ROBOT PICAXE CONTROL REMOTO

Esta práctica emplea un sensor de infrarrojos controlado mediante un mando a distancia compatible SONY. En función de la tecla pulsada, el programa nos muestra mediante el comando irin, un valor asociado a ese botón.
Por lo tanto podemos programar para que dependiendo de la pulsación, el programa realice una función u otra.

 


Programa "Contorl de motores de un vehículo"

inicio:
irin[200],C.1,b0 'Leemos el valor del sensor Control Remoto conectado a la entrada C.0
debug  bo   'Se lo asignamos a la variable b0 y mostramos en pantalla
'segun la tecla pulsada hace una funcion u otra
if b0 =0 then goto izquierda
if b0 =1 then goto derecha
if b0 =2 then goto avanza
if b0 =3 then goto retrocede
if b0 =4 then goto para
goto inicio

iquierda:
high B.4  'Motor 1 avanza
Low B.5
high B.6   'Motor 2 parado
high B.7
goto inicio

derecha:
high B.4  'Motor 1 parado
high B.5
high B.6   'Motor 2 avanza
low B.7
goto inicio

avanza:
high B.4  'Motor 1 avanza
Low B.5
high B.6   'Motor 2 avanza
low B.7
goto inicio

retrocede:
low B.4  'Motor 1 retrocede
high B.5
high B.6   'Motor 2 retrocede
low B.7
goto inicio

para:
low B.4  'Motor 1 parado
low B.5
high B.6   'Motor 2 parado
high B.7
goto inicio

Robot Picaxe Explorer

1.ROBOT SEGUIDOR DE RECINTO CERRADO POR EL INTERIOR

Esta práctica trata de realizar un código que permita a un coche guiarse a través de un recinto cerrado evitando las paredes del mismo.
Para ello lleva un sensor analógico de distancia que permite recoger los valores para saber la distancia de aproximación al objeto y en funcióna a esta poder tomar la decisión de seguir recto o girar.



2.ROBOT SEGUIDOR DE RECINTO CERRADO POR EL EXTERIOR

Esta práctica es similar a la 11, pero con la diferencia de que la programación se ha realizado para que el coche recorra el recinto por la parte exterior y esto hace que los motores tengan que actuar de forma diferente dependiendo de la existencia de objeto o no, lo que implica una curva a 90º o seguir recto.

 



CÓDIGO DEL PROGRAMA

'La siguiente calibración se ha realizado previamente de forma manual
  'b1 -> 165 -> 4cm
  'b1 -> 115 -> 8cm
  'b1 -> 74 -> 12cm
  'b1 -> 56 -> 16cm
  'b1 -> 44 -> 20cm
  'b1 -> 36 -> 24cm
  'b1 -> 32 -> 28cm
  'b1 -> 29 -> 32cm
  'b1 -> 25 -> +32cm

'''''''' ROBOT EXPLORADOR DE RECINTO'''''''''
parado: 'se inicia con el coche parado
low B.4 'MI detenido
low B.5
low B.6 'MD detenido
low B.7
 
inicio:
readadc C.1, b1 'se toma el valor de distancia en b1
debug b1        'leemos en pantalla
pause 50       'se espera 0,050 segundos entre lecturas

if b1>110 then goto Giro_dcha
if b1>50 AND b1<110 then goto Avanza
if b1<50 then goto Giro_Izq
goto inicio
 
Avanza:
low B.4 'MI avanza
high B.5
low B.6 'MD avanza
high B.7
goto inicio
 
Giro_Izq:
low B.4 'MI detenido
low B.5
low B.6 'MD avanza
high B.7
pause 300 'giro de 0'2 seg
goto inicio
 
Giro_dcha:
low B.4 'MI avanza
high B.5
low B.6 'MD detenido
low B.7
pause 200 'giro de 0'2 seg
goto inicio
 

martes, 17 de diciembre de 2013

Proyecto integrado de alimentación, clasificación y elevación de piezas según color y tamaño

Proyecto realizado y programado por alumnos de 1º y 2º de Bachillerato del I.E.S Valle de Leiva.

Este proyecto trata sobre la automatizar un proceso industrial como puede ser la clasificación de 2 tamaños de piezas según su longitud y color.
Consta de 3 grandes sistemas:
- Alimentador o dispensador de piezas.
- Cinta transportadora con expulsor neumático y clasificador con servo.
- Elevador de paletas y visualizador en pantalla LCD de color de cajas.


Placa picaxe CHI 035. Chip 18M2+

1. Alimentador o dispensador electroneumático.

Comienza con una primera parte que consiste en alimentar las piezas al sistema. Para ello se ha construido un dispensador de piezas que consiste en una plataforma con forma de sección cuadrada similar a la de las cajas que tiene la longitud suficiente como para albergar bastantes piezas en su interior.


Mediante un cilindro neumático de doble efecto gobernado por una electroválvula al que se ha acoplado una pieza para poder golpear a las cajas,empujamos las cajas hacia una cinta transportadora.

Alimentador de piezascilindro neumatico 


 Este primer sistema está automatizado a través de una primera placa picaxe que será la encargada de activar la señal de salida correspondiente para accionar la electroválvula (a través de un relé). Este sistema repetirá la misma secuencia según cuando vuelva a recibir de nuevo la señal (esto dependerá de cuando termina la clasificación de la caja anterior).
Electrovalvulas neumaticas

2. Cinta transportadora con expulsor neumático y clasificador con servo.  

Esta segunda parte consiste en recibir la pieza a través de la cinta transportadora acoplada al anterior sistema. Una vez subida en la banda, pasa por un sistema de reconocimiento de tamaño y color.



 cinta transportadora
 
El sistema consiste en 2 sensores de distancia SHARP (uno analógico y otro digital) separados una distancia algo inferior a la longitud de la caja grande, pero algo mayor que la de la caja pequeña y que funcionan del siguiente modo:
- El primer sensor (digital) recibe la señal de presencia de caja.
- Éste envía la señal para que el segundo sensor (analógico) lea la presencia del objeto. Si no recibe la señal es porque la caja es pequeña. Si la recibe será porque la caja es grande.


Sensor SHARP

Sensor SHARP

 Por otro lado, entre ambos sensores, hay dispuesto un sensor de reflectancia (muy pegado a la caja ya que el alcance es de unos 3mm) que nos servirá para determinar el color de la caja.

sensor analogico de distancia

Este sensor solo lo programaremos para recibir señal cuando la caja sea grande (ya que serán las que clasifiquemos en primer lugar). Por lo tanto, si la caja es grande, el sensor, previamente calibrado, nos deteminará según el valor arrojado por la variable, el color de la caja (según la luz recibida por el fototransistor).

De este modo, ahora se plantean 2 posibilidades:
 - Si la caja es grande y ya conocemos el color, ésta prosigue su camino por la cinta transportadora hasta llegar a la zona de expulsión.
- Si la caja es pequeña, simplemente continuará por la cinta y la abandonará por el otro extremo, donde la recibirá el tercer sistema (elevador)

Una vez determinado el tamaño, cuando la caja es grande, entra en funcionamiento un tercer sensor de distancia que espera el paso de la caja. Este sensor está situado junto al cilindro neumático expulsor.

Sensor SHARP analogico

Cuando detecte la presncia de la pieza, mandará la orden para parar la cinta.

 Motor reductor con poleas
 
 Una vez situada la pieza en su posición de expulsión, el servo debe clasificarlas:

El servo se prepara para girar hacia el lado que corresponda (derecha o izquierda), de tal modo que si está situado en la izquierda y la caja debe ser expulsado al lado izquierdo, previamente girará al lado derecho para poder efectuar posteriormente su giro a la izquierda, y viceversa en el otro caso.

servo


servo

Una vez preparado en su posición, entra en funcionamiento el cilindro neumático. Éste será gobernado por una electroválvula que será la encargada de accionarlo y permitir la salida del vástago y posteriormente su recogida. La electroválvula funciona a 12v, por lo que será necesario realizarlo a través de un relé a 5v porque las salidas funcionan a ese voltaje.

modulo 2 relés para picaxe

Así se acciona dicho cilindro, evidentemente con otra fuente de alimentación, en este caso a 12v.

Cilindro neumatico de 2 vastagos


cilindro neumatico doble vastago













Cuando la caja se encuentra fuera de la cinta, ahora el servo realiza su giro correspondiente para que caiga en una bandeja u otra según su color.

Por último este paso será el que determine que vuelva a iniciarse el ciclo y por lo tento se vuelva a alimentar con otra nueva pieza.

 3. Elevador de paletas y visualizador en pantalla LCD de color de cajas.

Este tercer sistema se encuentra junto a la salida de la cinta transportadora y sólo recogerá las cajas que no se han clasificado en primer lugar, es decir, las cajas pequeñas.
Este sistema está programado con una segunda placa picaxe independiente a la anterior.

Elevador de cangilones

Su función será estar siempre en funcionamiento el motor-reductor con engranajes.

 Tambor conducido Motor reductor con engranajes










 También incorpora una pantalla LCD que permanece con un mensaje de "espera", mientras no hay pieza.
Al mismo tiempo en la parte superior lleva incorporado un sensor de distancia digital que siempre está determinando la presencia de objeto.



sensor digital SHARP


Cuando este llega, junto al sensor hay otro de reflectancia que determina el color de dicha pieza.

sensor de reflectancia Pololu

Inmediatamente despúes aparece un mensaje en la pantalla LCD un nuevo mensaje indicando el color de dicha caja "caja blanca" o  "caja negra".

Pantalla LCD 16x2 Picaxe


RESULTADO FINAL DEL PROYECTO

Vista en perspectiva

Automatizacion de proceso industrial con Picaxe 18M2+

Vista de detalle frontal

Proyecto automatizado con Picaxe

 Vista de detalle trasero

Proyecto automatizado con Picaxe

Vídeo del funcionamiento en clase


lunes, 16 de diciembre de 2013

Proyecto de Alimentador de piezas electroneumático


2.ALIMENTADOR DE PIEZAS MEDIANTE CILINDRO NEUMÁTICO

Este proyecto de tecnologia consiste en un sistema de Alimentación de Cajas de 2 tamaños distintos.


Se ha adaptado para ser programado mediante la controladora Picaxe.

Proyecto Alimentador de piezas PicaxeProyecto Alimentador de piezas Picaxe

Así podemos lograr de una forma muy sencilla, accionar un cilindro de doble efecto a través de una electroválvula conectada a una salida de dicha placa.

Cilindro de doble efectoCilindro de doble efecto

 Además hemos experimentado variando la frecuencia de alimentación simplemente cambiando los tiempos de conexión y desconexión.


Proyecto Alimentador de piezas Picaxe

La válvula empleada es una 5/2 neumática-resorte.


válvula 5/2 neumática-resorte

Para controlarla, se emplea una válvula 3/2 monoestable, es decir, pilotada eléctricamete y retorno por muelle.

Electroválvula neumatica 3/2 monoestable



Para programar el cilindro neumático a través de la electroválvula, solamente necesitamos una placa picaxe con el regulador 78L05 incorporado o bien un relé para poder conectar la salida del mismo a través de otra fuente de alimentación a un voltaje de 12v que es el que necesitan las electroválvulas.

Este es el módulo del relé empleado que se conecta a la placa a positivo, negativo y la salida que empleemos.

Módulo de relés de Picaxe

Funcionamiento del proyecto:

Para realizar el programa solamente se emlea una salida cualquiera, por ejemplo la B.1.
Código del programa:
 
inicio:
 
velocidad_lenta:
for b1=1 to 4
high B.1
pause 4000
low B.1
pause 4000
next b1
velocidad_media:
for b1=1 to 4
high B.1
pause 2000
low B.1
pause 2000
next b1
velocidad_rapida:
for b1=1 to 4
high B.1
pause 500
low B.1
pause 500
next b1

goto inicio

domingo, 15 de diciembre de 2013

Proyecto Elevador de Paletas

1.ELEVADOR DE CAJAS Y DISTINCIÓN DE COLOR MOSTRADO EN PANTALLA LCD
Este proyecto de tecnología consiste en automatizar un elevador de paletas para que suba una serie de cajas y nos indique el color de las mismas.

Ganador del concurso mensual de la página oficial Picaxe. Diciembre 2013. www.picaxe.com

Enlace a la página del concurso: Elevador de paletas

Elevador de Paletas con Picaxe
 
Para ello dispone de un sensor de distancia digital que nos permitirá averiguar cuando está llegando la caja.


Al mismo tiempo hay otro sensor de reflectancia analógico que mediante una variable b0 que hemos programado, cambia su valor según el color de la caja.







Con esta valor podemos programar el mensaje que aparecerá en la pantalla LCD.



Todo esto va acompañado de un motorreductor con engranajes que podemos regular su velocidad gracias a la placa Picaxe


Todo ello programado mediante una placa picaxe y el chip 18M2.

Vídeo del funcionmiento del elevador
 
 

Algunos detalles constructivos del elevador:

 

 
Rodillos inferiores







 Código del programa:

'C.0  Detector de color
'pin5  Interruptor general
'pin6  sensor distancia (presencia)
'B.6 Motor directo porque da problemas LCD al conectar motor
'B.7 Pantalla LCD

inicio:
if pin5=1 then goto encendermotor
if pin5=0 then goto inicio

apagarmotor:
low B.6
serout B.7,n2400,(254,1)
pwmout B.6, off 'apagar motor
goto inicio

encendermotor:
high B.6
pwmout B.6,99,280; regular motor 70

pantalla:
serout B.7,n2400,(254,128);                   
pause 30
serout B.7,n2400,(254,1)
serout B.7,n2400,( "Esperando...")

deteccion:
if pin5=0 then goto apagarmotor
if pin6=1 then goto deteccion  'No hay nada
if pin6=0 then goto color  'Detecta pieza

color:
 readadc 0, b0
 debug b0                                 
 if b0<38 then goto cajablanca
 if b0>38 then goto cajanegra

cajablanca:
serout B.7,n2400,(254,128);                    Borrar pantalla
pause 30
serout B.7,n2400,(254,1)                    'limpiar pantalla
serout B.7,n2400,( "Caja Blanca")
pause 3000
if pin5=0 then goto apagarmotor
goto pantalla

cajanegra:
serout B.7,n2400,(254,128);                 limpiar pantalla
pause 30
serout B.7,n2400,(254,1)
serout B.7,n2400,( "Caja Negra")
pause 3000
if pin5=0 then goto apagarmotor
goto pantalla