Anda di halaman 1dari 56

RESUMEN

El siguiente trabajo est orientado a la explicacin del desarrollo de un seguidor de intrusos a travs de una web-cam con ayuda de programacin para anlisis de imgenes desde el software Matlab, as como para el control de los mecanismos de seguimiento y movimiento de un intruso previamente definido dentro de un rea de trabajo de igual manera previamente ya establecida por los desarrolladores del proyecto. Con dicho proyecto se pretende lograr la implementacin conjunta de distintas asignaturas y conocimientos para crear un sistema capaz de operar en tiempo real que puede ser de gran utilidad en sistemas de seguridad.

ABSTRACT
The following work is oriented to the explanation about the development of a follower of intrudes through a web-cam with help of programming for image analysis from software Matlab, as well as for the control of the mechanism of pursuit and movement of the intruder previously defined within a work previously established by de developers of the project. With this project it pretends to get the joint implementation of different subjects and knowledge to create a system able to operate in real time that can be very useful in security systems.

INTRODUCCION
La interdisciplinariedad de las ciencias y tecnologas en la actualidad se ha convertido en un aspecto que se debe tener muy en cuenta para cualquier carrera sea cual sea el rea de especialidad, ya que es importante conocer el principio de funcionamiento de todo lo que nos rodea y la manera en la que este puede llegar a afectar nuestras vidas. En el desarrollo de este proyecto podremos observar sin duda como es que el manejo de la informacin en la actualidad tiende a la digitalizacin, tal y como sucede con todos los dispositivos, seales, electrnica e imgenes, lo cual observramos a lo largo de la descripcin de nuestro seguidor de intrusos. Podremos darnos cuenta la manera en la que se pueden manejar dispositivos, en este caso motores de CD, de manera digital, el tratamiento de imagen a travs de la digitalizacin o binarizacion para su fcil y rpido anlisis, adems de poder observar de manera sencilla un control ON-OFF que se implementara a travs de un controlador difuso programado en una PC que mandara

seales digitales a los dispositivos utilizados, y todo esto para lograr un rpido y eficaz sistema que sea capaz de trabajar en tiempo real. Sin embargo, en todo proyecto desarrollado a nivel escolar se llegan a tener limitaciones debido a los elementos y dispositivos utilizados, por ejemplo en el hardware de la PC para el tratamiento de las seales, lo que podra implicar que el sistema reaccione un poco lento al seguimiento del intruso.

JUSTIFICACIN
Como se menciono anteriormente, en la actualidad la interdisciplinariedad de las ciencias es un aspecto muy importante, y en gran parte esa fue la razn por la que se eligi este proyecto, ya que en comparacin con los otros dos proyectos propuestos, el equipo cree que en este seguidor de intrusos se aplica un poco de las dos especialidades de mecatronica y telemtica. Razn por la cual y debido a que el equipo est compuesto por estudiantes que estarn en la especialidad de mecatronica y otros en la de telemtica, se opto por el desarrollo de este proyecto, pudiendo lograr as que los compaeros de mecatronica aprendan un poco sobre tratamiento de seales lo cual puede ser ms til para los de telemtica y al mismo tiempo los compaeros de telemtica aprendan un poco sobre control mecnico o sensores que en su momento sern ms usados por los mecatronicos. Por otra parte y sobre la misma base, la industria en la actualidad exige un amplio conocimiento general de ingeniera, por lo que este proyecto servir a ambas especialidades mencionadas anteriormente para algn proyecto dirigido a la industria, por ejemplo para la automatizacin de seguridad de un empresa.

ANTECEDENTES
Sin duda la seguridad en cualquier parte es muy importante, ya sea en el hogar, en un pequeo establecimiento, en alguna empresa o incluso en un gran complejo como podra ser un aeropuerto, por lo que se podra pensar en distintas maneras de solucionar este que puede resultar un gran problema en muchas ocasiones.

Por ejemplo uno podra pensar en poner mucha gente de seguridad para mantener todo a salvo, sin embargo esto no siempre puede resultar eficaz ni constante, para el reconocimiento de algn rostro, los seres humanos no cuentan con la suficiente memoria o atencin para recordar a alguien de entre millones de personas. Otro ejemplo puede ser la localizacin de personas en un lugar donde existe amontonamiento de masas, el ojo humano no podra procesar tanta informacin o caractersticas con tantos distractores. Por estas razones y como es costumbre del ser humano, siempre se busca una solucin a sus problemas para hacer la vida ms fcil y gracias a la tecnologa y su creatividad se pens en algn momento en un sistema de seguridad. Con el desarrollo de las cmaras, la ingeniera de control, la automatizacin y la digitalizacin estos sistemas de seguridad han mejorado, logrando cada vez una mejor aplicacin, resolucin y procesamiento. Algunas de las tcnicas desarrolladas y usadas en la actualidad para tratamiento de imgenes o video implican utilizar grandes bases de datos, redes neuronales, trackeo por contorno o por centroide, procesamiento binarizado, filtros digitales, etc. Todas estas tcnicas necesitan de un potente hardware para ser controlado, el cual dependiendo de la aplicacin, presupuesto y necesidades se elige. En desarrollo de nuestro seguidor de intrusos se utiliza el tratamiento de seales por binarizacion debido a que es ms fcil manejar solo 1 y 0, se utiliza un trackeo por centroide, esto con el fin de dar solo un punto exacto de localizacin del intruso y el control de motores y dispositivos se hace a travs de un puerto USB y no serial o paralelo, esto debido a la tendencia que surge con el uso del USB y la rapidez con la que se puede mandar una seal. Un ejemplo a gran escala del alcance que puede llegar a tener este tipo de tecnologas es la nueva red de seguridad que se est implementando en el DF, la cual utiliza cmaras en postes de cruces principales para el reconocimiento y seguimiento de placas y rostros que en su momento pueden llegar a ser de gran importancia para resolver algn problema. O sin ir tan lejos y en una escala menor, podramos ver el sistema de seguridad que se implementa en las empresas, con las cuales se puede grabar, seguir algn elemento ajeno a la unidad en la que se trabaja.

DESARROLLO 1.- Sistema mecnico de la web-cam


Durante el desarrollo del proyecto decidimos enfocarnos en encontrar un mecanismo que fuera fcil de controlar pero a su vez nos brindara un movimiento total que cubriera el rea de trabajo que se deseaba que cubriera el enfoque de la cmara.

1.1 Anlisis del control de la web-cam


Para la parte de control analizamos la posibilidad de usar motores de CD, motores a pasos o servomotores. Manteniendo la idea de usar algo que fue ms fcil de controlar llegamos a las siguientes conclusiones: El usar un motor a pasos no implica un grado alto de control pero requiere de 4 seales de control, lo cual podra ser un problema dependiendo del tipo comunicacin que deseemos usar con la computadora, ya que puede que no dispongamos de tantos pines de comunicacin en el puerto para enviar dichas seales. El uso de un servomotor no requiere ms que una seal de control, lo cual parece hasta cierto punto favorable. Investigamos que un servomotor requiere de una seal PWM y dependiendo el tiempo en alto de la misma mantendr una posicin angular indicada, pero si esta seal se deja de mandar, el servomotor pierde su torque. Analizamos el hecho de que al ser un sistema que trabaja en tiempo real podra generar conflicto en la programacin, ya que el programa debera estar analizando las imgenes capturadas pero al mismo tiempo debera estar modificando la seal PWM y hacer que permanezca constante para que no pierda el torque. Llegamos a la conclusin de que esto requerira un control con software ms laborioso. Por ltimo analizamos la posibilidad de usar motores de CD y fue la opcin por la que optamos porque solo requeriremos dos seales de control para moverlo en sentido directo y en sentido inverso de acuerdo a como se polarice. Tampoco requerimos tantos pines en los puertos de comunicacin en comparacin de un motor pasos. Por estas razones optamos en el uso de motores de CD.

1.2 Anlisis del mecanismo de la web-cam


Para la parte del mecanismo desebamos que la cmara tratara de enfocar todas las partes del rea del trabajo por igual. Nos propusimos algunas alternativas como: Fijar la cmara al centro del rea de trabajo y simplemente rotarla sobre sus propios ejes, tal vez esto podra abarcar toda el rea de trabajo pero las zonas de las orillas se veran ms alejadas a comparacin del centro. Decidimos optar por un mecanismo tipo X, Y ya que permitira mover a la cmara por toda el rea de trabajo y siempre enfocando a la misma distancia. Para poder mover la cmara simulando a los ejes X, Y se utilizaron dos carriles de impresora, deseamos poder reutilizar elementos de impresoras que no funcionaban y poder adaptarlo a nuestras necesidades. Cabe mencionar que estos carriles comnmente utilizan motores a pasos pero los cambiamos por motores de CD por lo que se explic anteriormente. El carril se compone por un motor de CD que tiene un engrane el cual mueve una banda, sobre la banda va montado un tren que contendr el objeto a mover. Se utiliza un carril de impresora para cada eje, dejamos un eje fijo y el otro lo montamos sobre el tren del primero y la cmara sobre el tren del segundo. De esta manera el primer eje mover horizontalmente al segundo eje y por ende a la cmara mientras que el segundo eje mover a la cmara de manera vertical. Por todo esto pensamos que la combinacin de motores de CD y un sistema de movimiento X, Y, permitir un control y visualizacin del intruso ms eficiente para este sistema en tiempo real. En el siguiente imagen podemos ver nuestro mecanismo, en la parte inferior tenemos el carril fijo, que mueve horizontalmente al carril que tiene mueve verticalmente la cmara.

Figura 1.1 Mecanismo de movimiento de la web-cam

2.- Sistema mecnico del intruso


Para el intruso decidimos crear un mecanismo que permitiera un control y movimiento favorable para nuestro sistema de deteccin del intruso. Decidimos utilizar motores de CD por las mismas razones descritas para el mecanismo de la cmara. Decidimos utilizar otro tipo de mecanismo para el movimiento ya que aqu tratamos de simular un movimiento angular. Para realizar esto hicimos uso de un carril de impresora y un motorreductor. El motorreductor se decidi utilizar debido a que es un motor de DC pero con una caja de engranajes necesarios para obtener un mayor torque. El mecanismo consisti en dejar fijo el motorreductor y sobre este montar por un lado el carril de la impresora de tal manera que al moverse el motorreductor se har un barrido angular por parte del carril. El carril se compone por un motor de CD con un engrane que mueve una banda en la cual est sujeto el tren. Este tren se mover de un extremo del carril a otro logrando un barrido total a lo largo del movimiento angular. Sobre el tren ira montado el intruso, pero el mecanismo en general seria captado por la cmara y pudiese que esto creara un conflicto en el programa al momento de solo querer capturar el intruso y ms no el carril que lo mueve. Para solucionar este problema decidimos mover de manera indirecta el intruso, haciendo uso de dos imanes y una tabla que ocultara el mecanismo. Primero colocamos un imn sobre el tren del carril, despus cubrimos todo el mecanismo con una tabla y aprovechamos esta tabla para obtener una rea de trabajo que se acondicionara a nuestras necesidades; por ultimo tenemos un segundo imn unido al intruso y por simple atraccin de los imanes el movimiento del imn colocado en el tren har que se mueva el intruso. En la siguiente foto podemos ver el mecanismo utilizado para mover el intruso. Del extremo derecho del carril tenemos sujeto el motorreductor el cual nos dar un movimiento angular. Sobre el carril tenemos el tren con el imn que mover nuestro intruso haciendo un barrido de extremo a extremo.

Figura 2.1 Mecanismo de movimiento del intruso

10

3.- CARACTERIZACION Y JUSTIFICACION DEL USO DE FUENTES DE ALIMENTACION Y DISPOSITIVOS ELECTRONICOS. 3.1Justificacin del uso de la fuente de alimentacin.
Debido a que la etapa de diseo de control y etapas de potencia y/o acoplamiento de seales no ha quedado completamente diseada y caracterizada tan solo podemos hacer una aproximacin del consumo total de potencia del sistema, as que se decidi seleccionar una fuente que cubriera de manera sobrada un requerimiento de potencia del sistema y que a su vez dispusiramos de las tensiones de alimentacin ms comunes para polarizar dispositivos que se utilizaran en las etapas electrnicas, estas alimentaciones seleccionadas son 3.3v para los dispositivos de ultra bajo consumo, 5v para los sistemas digitales ms comunes, +12v y -12v para alimentar dispositivos diversos como amplificadores operacionales o cierto tipo de motores. As entonces la fuente seleccionada fue la HPD2537F3R de la marca HIPRO, una fuente diseada para alimentar una computadora

personal, esta fuente ofrece las salidas de tensin dichas y potencias mximas de hasta 218 Watts lo cual nos ofrece una gran practicidad y potencia en un espacio muy reducido y a un costo equilibrado.

3.2 Caractersticas de la fuente


Dispositivo: Fuente de alimentacin HIPRO HP-D2537F3R Tipo de dispositivo: Fuente conmutada Descripcin de funcionamiento: Una fuente conmutada es un dispositivo electrnico que transforma energa elctrica mediante transistores en conmutacin. Mientras que un regulador de tensin utiliza transistores polarizados en su regin activa de amplificacin, las fuentes conmutadas utilizan los mismos conmutndolos activamente a altas frecuencias (20100 Kilociclos tpicamente) entre corte y saturacin. La forma de onda cuadrada resultante es aplicada a transformadores con ncleo de ferrita (Los ncleos de hierro no son adecuados para estas altas frecuencias) para obtener uno o varios voltajes de salida de corriente alterna que luego son rectificados y filtrados para obtener los voltajes de salida de corriente continua. Las ventajas de este mtodo incluyen menor tamao y peso del ncleo, mayor eficiencia por lo tanto menor calentamiento. Las desventajas comparndolas con fuentes lineales es que son ms complejas y generan ruido elctrico de alta frecuencia que debe ser

11

cuidadosamente minimizado para no causar interferencias a equipos prximos a estas fuentes. Caractersticas de entrada elctricas del fabricante Inputs AC Input 1 AC Input 2 Tensin 100-127 Vrms 200-240 Vrms Corriente 6A 4A Frecuencia 47Hz-63Hz 47Hz-63Hz

Tabla 3.1 Caractersticas de entrada elctricas de fuente conmutada dadas por el fabricante

Caractersticas de salida elctricas del fabricante Salida Tensin de salida 3.3v 5v 12v -12v Corriente de salida Mxima 18A 25A 14A 0.8A Potencia mxima 165W 218W 218W 218W

Sd1 Sd2 Sd3 Sd4

Tabla 3.2 Caractersticas de salida de fuente conmutada dadas por el fabricante

3.3 Esquema fsico de una fuente conmutada


Legend: A - bridge rectifier B - input filter capacitors between B and C - Heatsink of high-voltage transistors C - transformer between C and D - Heatsink of low-voltage, high-current rectifiers D - output filter coil E - output filter capacitors
Figura 3.1 Esquema fsico de una fuente conmutada

12

3.4 Pruebas fsicas y mediciones


Se realizaron mediciones para comprobar y restablecer en su caso las especificaciones dadas por el fabricante bajo diversas condiciones dadas de carga para determinar los rangos operables de nuestra fuente

3.4.1 Mediciones de tensin de salida sin carga


Salida Sd1 Sd2 Sd3 Sd4 Tensin ideal 3.3v 5v 12v -12v Tensin real 3.39v 5.17v 11.96v -12.01v

Tabla 3.3 Mediciones de tensin de salida sin carga

3.4.2 Mediciones de tensin con resistencia de carga mnima


Se implemento el circuito que se muestra en la siguiente figura utilizando resistencias de potencia capaces de disipar la energa que se le subministrase.

Figura 3.2 Esquema de mediciones con resistencia de carga mnima

Donde la fuente de tensin V1 tiene los valores de 3.3v, 5v, +12v, -12v midiendo la tensin en la resistencia y por ley de Ohm su corriente. Salida Sd1 Sd2 Sd3 Sd4 Tensin Ideal 3.3v 5v 12v -12v Tensin real 3.38V 5.12v 11.97v -11.88v Corriente real 59.9mA 89.8mA 210.35mA -208.42mA

Tabla 3.4 Mediciones de tensin y corriente con carga mnima

13

3.4.3 Mediciones de tensin con resistencia de carga mxima


Se implement el circuito que se muestra en la siguiente figura utilizando una resistencia variable de 1 Watt de aproximadamente 1x106 Ohm cuya medicin real mxima fue 825.5 x103 Ohm arrojando la siguiente tabla: Salida Sd1 Sd2 Sd3 Sd4 Tensin Ideal 3.3v 5v 12v -12v Tensin real 3.38V 5.17v 11.99v -12.01v Corriente real 2.88uA 6.26uA 14.5uA -14.5uA

Tabla 3.5 Mediciones de tension y corriente con carga maxima

Figura 3.2 Esquema de mediciones con resistencia de carga mnima

Con estos datos podemos realizar interpolaciones para encontrar aproximaciones lineales para el comportamiento de la fuente de diversas tensiones en un rango de corrientes dado los cuales se extiende de 0A 1A que fueron los rangos mximos que fue posible comprobar prcticamente aunque el fabricante de la fuente garantiza hasta 165 Watts de potencia.

Grafica 3.1 Tensin Sd1 vs corriente suministrada

14

Grafica 3.2 Tensin Sd2 vs corriente suministrada

Grafica 3.3 Tensin Sd3 vs corriente suministrada

15

Grafica 3.4 Tensin Sd4 vs corriente subministrada

3.5 Modelo de fuente no idealizada


Los modelos anteriores nos indican el efecto de carga que sufra las fuentes en sus condiciones de trabajo real donde el rectngulo amarillo representa la fuente real compuesta por un modelado de una fuente de tensin ideal en serie con una impedancia de salida que tiene a ser muy baja.

Figura 3.3 Modelo no idealizado de fuente de tensin

16

Para encontrar los valores de la resistencia de carga tomas la fuente ideal como el valor de la tensin de la fuente sin carga y posteriormente encontrar la cada de tensin en la resistencia de carga para obtener el valor de la impedancia de salida de cada salida de la fuente Para obtener los valores de la resistencia de carga tenemos la siguiente formula

Donde Vsq es la tensin de la fuente sin carga; Vcqm es la tensin medida en la resistencia de carga; e icq es la corriente que circula por la resistencia de carga. Con los datos medidos y mostrados en la tabla obtenemos los siguientes valores: Salida Sd1 Sd2 Sd3 Sd4 Impedancia de salida 0.168 Ohm 0.556 Ohm 0.142 Ohm 0.625 Ohm

Tabla 3.6 Medicin de impedancia de salida

4.- CARATERIZACION DE MOTORES 4.1 Motores de corriente contina


Esta mquina de corriente continua es una de las ms verstiles en la industria. Su fcil control de posicin, par y velocidad la han convertido en una de las mejores opciones en aplicaciones de control y automatizacin de procesos. Pero con la llegada de la electrnica su uso ha disminuido en gran medida, pues los motores de corriente alterna, del tipo asncrono, pueden ser controlados de igual forma a precios ms accesibles para el consumidor medio de la industria. A pesar de esto los motores de corriente continua se siguen utilizando en muchas aplicaciones de potencia (trenes y tranvas) o de precisin (mquinas, micro-motores, etc.)

17

4.2 Justificacin de los motores

Por su buena velocidad de respuesta y consumo de energa equilibrado el motor de corriente continua es el actuador seleccionado para dar fuerza motriz al proyecto, adems de sus caractersticas antes mencionadas tambin tiene mtodos de control electrnico fciles de implementar como lo son la modulacin por ancho de pulso, Puente H, relevadores etc. Dado que un motor de corriente continua no puede utilizarse solo para los requerimientos de nuestro proyecto en algunos casos especiales se utilizara moto-reductores los cuales se definirn en cada caso. Es importante mencionar que para la seleccin de motores entre la gran variedad disponible se realizo un estudio de la fuerza necesaria en cada uno para realizar su trabajo e manera aceptable y dado que estos motores estaban ya en nuestro poder se acudi a probar cada uno con un aproximado de la carga final siendo los

siguientes motores los que tuvieron el desempeo deseado para su propia funcin dentro del proyecto.

4.3 Motor angular de intruso

El motor angular del intruso e uno de los motores que mas torque y firmeza necesitan a su vez que los requerimientos de velocidad son realmente bajos por lo que se decidio sacrificar un poco ve velocidad para ganar el torque optimo para el sistema. El motor utilizado tiene su origen de venta en la comercializadora Robodacta la cual nos proporciona informacion sobre su comportamiento la cual se presenta a continuacion Caracterisitica Tension de alimentacion Consumo de corriente sin carga Velocidad angular Torque Valor 5Vcd 75 mA. 43rpm 3 KgF*cm

Tabla 4.1 Caracteristicas de motor angular del intruso

Dado que nos interesa saber el comportameitno del motor con la carga especifica del sistema y saber los tiempos de barrido del angulo que barrera el area de trabajo. Por lo que se decidio medir los siguientes parametros especificos del proyecto:

18

Caracteristica Tension de alimentacion Consumo de corriente con carga de intruso Tiempo de barrido de 90 grados

Ida 1.94s

Valor 5.17 Vcd 351.6mA Regreso 1.59s

Tabla 4.2 Caracteristicas de comportamiento del motor angular delintruso

Figura 4.1 Motoreductor utilizado para dar dezplazamientos angulares al intruso

Es importante pensar en que sucederia con el consumo de corriente de nuesto motor si aumentamos o disminuimos la carga asique tomando la carga medida actualmente n la estructura como el 100% de carga realisaremos una aproximacion lineal para variaciones de carga de hasta un aumento de 50% donde el eje x muestra el procentaje de carga y el y el porcetnaje en mA.

Grafica 4.1 Variaciones de corriente del motor para variaciones porcentuales de carga

19

4.4 Motor radial de intruso


Al utilizar un motor de reuso pero que a su vez esta en buenas condiciones y acoplado al mecanismod e engranaje y bandas propio de un sistema antiguo y utilizando dicho mecanismoa nuestro favor encontramos algunas caracteristicas investigacion en la red por medio de su origen similares en nuestra

Caracterisitica Valor Tension de alimentacion 4 a 8 Vcd Consumo de corriente sin carga 100 mA. Velocidad angular 8000 rpm Torque 10 gF*cm Tabla 4.3 Caracteristcas del motor radial del intruso

Dado que estos datos son aproximados y necesitamos saber el comportamietno real del motor en nuestro sistema en las condiciones de operacin es necesario medir algunos parametros que son de gran interes para esta etapa debido a que con ellos se diseara el control electronico y la interface computacional asi que se realizan las siguientes mediciones Caracteristica Tension de alimentacion Consumo de corriente con carga de intruso Tiempo de distancia (29cm) Valor 5.17 Vcd 314.6mA Ida 1.09 Regreso 1.22s

Tabla 4.4 Caracteristicas de comportamiento del motor radial del intruso

Figura 4.2 Motor de caracteristicas aproximadas al montado en proyecto

20

De nuevo incluimos las proyecciones de consumo de corriente para variaciones de carga para este motor en el mismo formato mencionado anteriormente

Grafica 4.2 Variaciones de corriente para variaciones porcentuales de carga

4.5 Motor de eje fijo de Seguidor

Estos motores debend e ser un poco mas grandes debido a que deberan mover inmersos en el campo graviatacional la masa de la camara y la estructura de soperte de esta asi como el motor y mecanismo de desplzamiento longitudinal por lo que se seleciono un motor mucho mas robusto utilizando un motor de 12 volts de alimentacion y aproximadamente 500Ma. Igualmente se encontraron datos aproximados y se seleccionaron los mas cercanos a los datos medidos siendo los datso investigados los siguientes: Caracterisitica Tension de alimentacion Consumo de corriente sin carga Velocidad angular Torque Valor 6 a 12 Vcd 200 mA. 1150rpm(12v) No encontrado

Tabla 4.5 Caracteristicas del motor del eje fijo del seguidor

21

De igual manera que en casos anteriores medimos los tiempos de respuestatay consumos de nuestro motor con la carga definitiva que iba a tener en su funcionameinto definitivo presentando la siguiente tabla:

Caracteristica Tension de alimentacion Consumo de corriente con carga de intruso Tiempo de distancia (29cm)

Ida 0.44s

Valor 11.99 Vcd 620 mA Regreso 1.68s

Tabla 4.6 Caracteristicas de comportamiento del motor del eje fijo del seguidor

Figura 4.3 Motor de caracteristicas similares al utilizado

Se muestra la proyeccion de consuo de corriente para variacion de carga en el mismo formato que las graficas anteriores

Grafica 4.3 Variaciones de corriente para variaciones porcentuales de carga

22

4.6 Motor longitudinal de seguidor


Es el motor que da dezplazamientos longitudinales a la camara sobre el eje dado por el riel fijo de intruso a continuacion se presenta una tabla de datos aproximados: Caracterisitica Tension de alimentacion Consumo de corriente sin carga Velocidad angular Torque Valor 6 a 12 Vcd 50 mA. No encontrado(Con mecanismo) No encontrado(Con mecanismo)

Tabla 4.7 Caracteristicas de motor longitudinal del seguidor

Denuevo presentamos los datos mas relevantes de su comportamiento dentro de nuestro sistema: Caracteristica Tension de alimentacion Consumo de corriente con carga de intruso Tiempo de distancia (29cm) Valor 11.99 Vcd 102.2 mA Regreso 11.14s

Ida 9.41 s

Tabla 4.8 Caracteristicas de comportamiento de motor longitudinal del seguidor

Figura 4.4 Motor de caracteristicas similares al utilizado

23

Grafica 4.4 Variaciones de corriente para variaciones porcentuales de carga

5.- ACONDICIONAMIENTO DE MOTORES 5.1 Etapa de potencia con uso del driver L298
Como habamos mencionado en la primera entrega decidimos hacer uso del integrado L298 debido a que ya trae integrados dos puentes H completos. Un puente H completo nos permitira conectar un motor de CD y poder moverlo en ambos sentidos. Adems de que el fabricante indica caractersticas del L298 siendo ms que suficientes para nuestras necesidades. Algunos de las caractersticas ms sobresalientes son: Suministro de voltaje a motores de hasta 46 volts. Nosotros trabajaremos a un mximo de 12 volts. Soporta hasta 4 amperes de corriente directa. Nosotros trabajaremos a un mximo de 1 ampere para los motores a utilizar. Proteccin contra sobretemperatura. Alta inmunidad al ruido Voltaje de entrada lgico 0 hasta 1.5 v.

Se opt por utilizar un puente H completo para cada motor ya que un puente H nos permite el cambio de sentido de giro de nuestros motores de CD .El hecho de utilizar el circuito integrado L298 y no construir nuestro propio puente H radica en cuestiones prcticas y econmicas. Adems el fabricante nos indica unos rangos de operacin que caen dentro de

24

las caracterizaciones de los motores de CD que utilizaran nuestros mecanismos de la cmara y del intruso. El fabricante nos indica que el voltaje de suministro puede ir de 0V a 46V. Y puede soportar una corriente de hasta 4 A. Estos rangos son aptos para nuestros mecanismos.

Figura 5.1 Modelos de driver L298

5.2 Reguladores de Tension


Debido a que deseamos elegir perfectamente la velocidad ms apropiada para los motores y dado que los drivers utilizados consumen en si mismos una cierta tensin decidimos realizar 3 reguladores ajustables de tensin los cuales nos permitieran ajustar con mayor precisin y optimizar el sistema, estos reguladores no pueden ser simplemente reguladores tpicos de alimentacin ya que estos soportan hasta 1 Ampere de corriente y ya que en algunos motores tenemos consumos de hasta 600mA mas el consumo del driver nos

estaramos ubicando en un lmite muy cercano a su lmite de corriente as que por seguridad y por eficiencia se diseo el siguiente arreglo en donde el regulador variable LM317 nos aporta la regulacin de tensin con muy poca corriente de aportacin y la mayora de la corriente de salida es aportada por el transistor PNP de TIP32C dando corrientes de salida de hasta 3 Amperes y tensin de 1.25v a 12v La configuracin y datos ms significativos se muestran a continuacin

25

5.3 Implementacion de los reguladores de tension

Figura 5.3 Circuito de implementacin de reguladores de tensin

Los componentes usados son los siguientes: *TIP32C .- Transistor PNP de propsito general y aplicaciones de switcheo a mediana potencia *LM317.- Regulador de Voltaje positivo ajustable. *R1.- Resistencia fija de 1 . *R2 .- Potencimetro de 20K para regular el voltaje de salida. *R3.- Resistencia de la cual el valor se calcula dependiendo el voltaje deseado.

El transistor TIP32C el cual esta polarizado en la regin de saturacin aporta la mayora de la corriente aportada por el regulador y la tensione es fijada por el regulador LM317 la resistencia entre base y colector del transistor es til para permanecer polarizada la unin Base colector en polarizacin directa y el divisor de tensin de entrada al ajuste del regulador sirve para fijar la tensin de referencia de regulacin lo que permite realizar la regulacin variable dependiendo del valor de potencimetro

26

Para aproximar el clculo ya que en la realidad siempre existen diferencias de los componentes utilizamos la siguiente frmula: ( )

Y aproximando a los voltajes que se pensaron en un primer instante obtenemos los siguientes resultados: *Para Vo=7V R1=330 R2= 1.5K

*Para Vo=9V R1=680 R2=100

Las curvas de salida obtenidas en cada caso son la siguiente:

Grafica 5.1 Salida de tensin regulada a 10V

Donde la salida nos da de 10V aproximadamente lo cual es correcto ya que debido a las etapas de potencia utilizadas y explicadas posteriormente, el driver utilizado consume 2V, lo que nos dejara aproximadamente 8V para la alimentacin del motor pudiendo por medio del potencimetro ajustar a mayor o menor voltaje.

27

Grafica 5.2 Salida de tensin regulada a 9V

En este caso vemos que la salida es de aproximadamente 9V, y tomando en cuenta los 2V consumidos por la etapa de potencia para el motor, nos quedan 7V lo cual es correcto segn nuestros clculos y brindndonos la posibilidad de realizar ajustes sobre este punto de operacin del regulador para sincronizar mejor los tiempos de respuesta de los motores y del controlador 5.4 Datos tcnicos de los componentes utilizados

Figura 5.4 TIP32C

28

Tabla 5.1 Datos tcnicos del TIP32C

Figura 5.5 LM317

29

Tabla 5.2 Datos tcnicos del LM317

6.- FRONTERAS DE MOVIMIENTO DE LA CAMARA E INTRUSO 6.1 Diseo y caractersticas del circuito lgico para limitar movimientos de los motores
Los motores utilizados tienen un movimiento en directo y otro en inverso para que permita moverse alrededor de toda el rea limitada. Se utilizan switches con lamina que al ser tocados por el actuador evitaran que estoy sigan movindose ms all del rea deseada aunque se le est indicando la orden de que siga avanzando. Generalizaremos la descripcin del circuito limitador de movimiento aplicado a un motor, ya que la limitacin de movimiento de los dems motores es anloga para todos. Se utilizan dos push botones para controlar el movimiento en sentido directo e inverso de cada motor, y dos limitadores para cada sentido hacia los que acta el mismo.Estos 4 push botones son las entradas para nuestro circuito lgico y actan de la siguiente manera: Push A (PA): o o o o 1=Mueve en sentido inverso el motor 0=Motor detenido

Push B (PB): 1=Mueve en sentido directo el motor 0=Motor detenido

30

Limitador A (LA): o o 1=Detiene el motor y evita que se siga moviendo en sentido inverso 0=Permite el movimiento del motor en sentido inverso

Limitador B (LB): o o 1= Detiene el motor y evita que se siga moviendo en sentido directo 0= Permite el movimiento del motor en sentido directo

Cabe hacer dos aclaraciones: Si presionamos PA y PB para que los dos estn activos en 1, el motor no se mover.

Si el limitador LA est activado, solo nos limitara el movimiento de PA mas no el de PB. De manera anloga LB limitara a PB y no a PA.

6.2 Tabla de verdad y Mapa de Karnaugh para el circuito lgico limitador de movimientos
De este circuito lgico tendremos 2 salidas MA (Motor A) y MB (Motor B) que cada una ser conectada a un terminal del motor y lo controlaran de la siguiente manera: MA 0 0 1 1 MB 0 1 0 1 Descripcin Motor detenido. No se est presionando ningn interruptor Motor en sentido directo. Se est presionando PB, es decir, esta en 1 Motor en sentido inverso. Se est presionando PA es decir, est en 1 Motor detenido. PA y PB estn en 1
Tabla 6.1 Descripcin de sentidos de giro de los motores

Para desarrollar nuestro circuito lgico analizamos el diseo mediante una tabla de verdad y mapas de Karnaugh. A continuacin se muestra la tabla de verdad: Posicin Decimal 0 1 2 3 4 Entradas PA 0 0 0 0 0 PB 0 0 0 0 1 LA 0 0 1 1 0 LB 0 1 0 1 0 MA 0 0 0 0 0 Salidas MB 0 0 0 0 1

31

5 6 7 8 9 10 11 12 13 14 15

0 0 0 1 1 1 1 1 1 1 1

1 1 1 0 0 0 0 1 1 1 1

0 1 1 0 0 1 1 0 0 1 1

1 0 1 0 1 0 1 0 1 0 1

0 0 0 1 1 0 0 0 0 0 0

0 1 0 0 0 0 0 0 0 0 0

Tabla 6.2 Tabla de verdad para el circuito limitador de movimientos

Los valores en MA y MB se obtienen a partir de nuestras entradas PA, PB, LA, y LB y de las condiciones establecidas anteriormente de acuerdo a los valores posibles. Obtenemos una funcin para cada salida a partir de mini-trminos y usando mapas de Karnaugh:

Motor A ( LA \PA LB\PB ) * +

------------------------------------

1
| | | |

| | | | (

Figura 6.1 Mapa de Karnaugh para motor A

32

Motor B ( LA \PA LB\PB ) * +

------------------------------------

1
| | | |

| | | |

Figura 6.2 Mapa de Karnaugh para motor B

6.4 Implementacin y simulacin del circuito limitador de movimientos


Teniendo las funciones correspondientes se implement el circuito lgico con compuertas TTL. A continuacin se muestra el diseo:

Figura 6.3 Circuito lgico limitar de movimientos de motores

33

Se utilizan compuertas TTL 74LS04 (NOT) y 74LS11 (AND de 3 entradas) A continuacin se muestra el circuito implementado con los push botones, limitadores y actuador.

Figura 6.4 Simulacin del circuito limitador de movimiento de motores

Para controlar los niveles lgicos de las entradas se usaron resistencias en pull-on y el circuito L298.

6.5 Implementacin de circuitos lgicos a travs de una GAL22V10 para la limitacin de movimiento de los motores.
Para esta parte del proyecto se mantuvo la lgica y las condiciones establecidas en la primera entrega del proyecto, es decir, hicimos uso de la misma tabla de verdad con las mismas entradas y salidas que propusimos. Simplemente en esta segunda entrega decidimos hacer uso de la GAL22V10D para sustituir todos los circuitos TTL con los que habamos hecho la implementacin de las funciones obtenidas de los mapas de Karnaugh. Optamos por la GAL22V10D para simplificar la circuitera y poder ahorrar espacio. Adems de que el programa que se tiene que realizar el VHDL tambin es muy prctico y sencillo. Como habamos mencionado en la primera entrega tenemos deseamos limitar el

movimiento de dos motores para el intruso y otros dos motores para la cmara, as que el diseo propuesto a continuacin, es el mismo que se utilizara para los cuatro motores.

34

La tabla de verdad contina tal como se propuso en la primera entrega y es anloga para los 4 motores utilizados en el proyecto. El algoritmo diseado en VHDL fue diseado para cumplir con la tabla de verdad mostrada, solo que consideramos que se controlaran 2 motores con la misma GAL, por esto tendremos 8 entradas, 4 por cada motor, y 4 salidas, 2 por cada motor. A continuacin el cdigo:
---Circuito proyecto 5 library ieee; use ieee.std_logic_1164.all; entity decod is port( e: in std_logic_vector(3 downto 0);--4 entradas para el motor 1 f: in std_logic_vector(3 downto 0);--4 entradas para el motor 2 s: out std_logic_vector(1 downto 0);--2 salidas para el motor 1 r: out std_logic_vector(1 downto 0)); --2 salidas para el motor 2 end decod; architecture logica of decod is begin process(e,f)---se ejecuta cada vez que cambie el valor del vector e begin --En este primer case se muestras los casos que se esperan para el vector de entradas e y lo que deseamos que exista a la salida s case e is when "0000" => s <="00";-para0when "0001" => s <="00";--para 1-when "0010" => s <="00";--para 2-when "0011" => s <="00";--para 3-when "0100" => s <="01";--para 4-when "0101" => s <="00";--para 5-when "0110" => s <="01";--para 6-when "0111" => s <="00";--para 7-when "1000" => s <="10";--para 8-when "1001" => s <="10";--para 9-when "1010" => s <="00";--para 10-when "1011" => s <="00";--para 11-when "1100" => s <="00";--para 12 when "1101" => s <="00";--para 13-when "1110" => s <="00";--para 14-when "1111" => s <="00";--para 15-when others => s <= "00"; ---casos sin considerar end case;

35

--En este primer case se muestras los casos que se esperan para el vector de entradas f y lo que deseamos que exista a la salida r case f is when "0000" => r <="00"; when "0001" => r <="00";--para 1-when "0010" => r <="00";--para 2-when "0011" => r <="00";--para 3-when "0100" => r <="01";--para 4-when "0101" => r <="00";--para 5-when "0110" => r <="01";--para 6-when "0111" => r <="00";--para 7-when "1000" => r <="10";--para 8-when "1001" => r <="10";--para 9-when "1010" => r <="00";--para 10-when "1011" => r <="00";--para 11-when "1100" => r <="00";--para 12-when "1101" => r <="00";--para 13 when "1110" => r <="00";--para 14-when "1111" => r <="00";--para 15-when others => r <= "00"; ---casos sin considerar end case; end process; end logica;

Para el desarrollo del cdigo se planteo hacer el algoritmo, mediante un decodificador, el cual a determinada entrada nos entrega determinada salida. Se eligi este algoritmo debido a la facilidad de programar y comprender. El cdigo implementado contiene el algoritmo para realizar una misma accin pero en dos motores diferentes, es decir, En la primera parte del programa se declaran dos vectores de entrada y dos vectores de salida. Posteriormente en la arquitectura del bloque, se establece que se realicen los casos cada vez que el vector e o f cambia, ya que estos son las entradas. Para la siguiente parte solo se meti toda la tabla de verdad con su respectivas entradas y salidas. Repitindose lo mismo para el vector f.

36

La distribucin de los pines se acomoda de la siguiente forma, para realizar ms fcilmente el circuito:

Figura 6.5 Esquema de entradas y salidas de una GAL22V10

Antes de llevarlo a la prctica decidimos simular el algoritmo para verificar que el programa corre perfectamente.

Figure 6.6 Simulacin del circuito limitador de movimientos

37

Para comprobar si el programa realizaba lo deseado, en el vector e se introdujo un pulso en e(2) obteniendo la siguiente combinacin 0100 la cual observando en s la salida es 01, que corresponde al valor asignado en la tabla de verdad. Se introduce una combinacin mas 1000 y en la salida se tiene 10. En la entrada f tambin se prueba para la siguiente combinacin 0100 y nos da por salida 01. Con esto podemos concluir que la programacin de la GAL22V10 para este algoritmo resuelve nuestra tabla de verdad. Ya teniendo la parte de programacin de la GAL se procedi a conectar los push botones con las cuales se activaran las diferentes combinaciones para las entradas. Y la parte de las salidas van hacia un driver L298 el cual es nuestra etapa de potencia para los motores. El circuito quedo de la siguiente manera:

Figura6.7 Circuito fsico de limitadores de movimiento mediante una GAL22V10

7.- SENSORES 7.1 Descripcin de los sensores


El modulo TSOP1738 es un complejo sistema de recepcin infrarroja codificada similar al que se utiliza en los controles remotos de las televisiones comunes por lo que el emisor

38

infrarrojo se genera con una frecuencia pulsante de 38Khz y cuando este es continuamente recibido por el modulo TSOP1738 este entrega a su salida una tensin aproximada de 0 v y cuando se interrumpe la transmisin entrega aproximadamente 1 volts. A continuacin se muestra un diagrama a bloque interno del modulo utilizado donde se observa el receptor infrarrojo que es la entrada al sistema donde a un control automtico de ganancia se encarga del reacondicionamiento de la seal entregada al filtro paso bandas centrado en 38Khz por un sistema maestro entregando la seal un demodulador para entregar la informacin a la red transistorizada de salida que despliega los valores antes mencionados.

Figura 7.1 Diagrama fsico del TSOP

La curva de respuesta en frecuencia de el filtro paso bandas para los haces de infrarrojo modulados es la que se muestra en la figura.

Figura 7.2 Curva de respuesta en frecuencia del TSOP

39

Algunos datos interesantes para el proyecto son la direccin de receptor y la distancia mxima de transmisin siendo esta ultima de hasta 35m dependiendo de las

configuraciones y potencias de emisin, os patrones de recepcin del modulo TSOP1738 se muestran en la siguiente grafica

Figura 7.3 Patrones de recepcin del TSOP

7.2 Justificacin de sensores pticos Dado que las caractersticas de iluminacin son por razones obvias muy importantes para nuestro proyecto se decidi utilizar sensores de barrera pticos que no interfirieran con la captura de imgenes de la cmara por lo que se decidi utilizar sensores de tipo infrarrojo y de entre esta gran gama de posibilidades se selecciono el dispositivo TSOP1738 el cual es un modulo de recepcin infrarrojo codificado el cual solo capta las seales de infrarrojo en trenes de pulso con de frecuencia de 38Khz.

Tabla 7.1 Seales de frecuencia de los TSOP

40

Figura 7.4 Sensor IR y modulo TSOP

Usamos dos sensores IR y dos mdulos TSOP1738, cada par detectara si es que pasa por algunas de las dos posibles entradas establecidas.

8.- ACONDICIONAMIENTO DE SENSORES 8.1 Circuito implementado para acondicionamiento de los sensores
En la hoja de datos oficial de Vishay se proporciona una propuesta general de circuito de aplicacin el cual se implementa a continuacin con sus debidas modificaciones para la correcta adaptacin a nuestro proyecto. Usamos dos sensores IR y dos mdulos TSOP1738, cada par detectara si es que pasa por algunas de las dos posibles entradas establecidas. Solo necesitamos generar una seal cuadrada de 38 kHz que ser emitida por el LED IR hacia el modulo TSOP1738. Esta seal es generada por un microcontrolador AVR ATMEGA8. El cdigo creado en lenguaje BASIC en el compilador BASCOM es el siguiente:

$regfile = "m8def.dat" $crystal = 1000000 Config Portd = Output

Definimos el AVR a utilizar Establecemos la frecuencia del reloj Configuramos el Puerto D como salida

Do En este ciclo infinito ponemos en un nivel alto y un nivel bajo durante cierto tiempo la salida del pin 0 del puerto D, de esta manera se generara la seal cuadrada a la frecuencia de 38 kHz

41

Portd.0 = 1 Waitus 9.2 Portd.0 = 0 Waitus 9.2 Loop End Fin del programa

Ambos sensores trabajan con 5 volts esto nos favorece ya que la mayora de los circuitos que estamos utilizando trabajan a esos niveles. Cuando el modulo TSOP1738 est recibiendo la seal a 38 kHz tendremos a su salida un nivel de voltaje en bajo, un 0 lgico. Cuando la seal sea interrumpida a la salida del TSOP1738 tendremos un nivel en alto, un 1 lgico. Como esta salida debemos mandarla hacia nuestra interfaz USB para que sea analizada por el programa del controlador difuso, es necesario que la acondicionemos de tal manera que realmente nos aseguremos que se encuentre a un voltaje de 0 v para un nivel bajo que corresponde a un 0 lgico, corresponde a un 1 lgico. Para asegurar estos voltajes empleamos un circuito con histresis de tal modo que de acuerdo a los niveles lgicos TTL el circuito determine si el voltaje de entrada correspondera a un 0 o 1 lgico. El circuito empleado fue el 74LS14, que es un circuito inversor con histresis. El diagrama de este circuito es el que se muestra a continuacin y que este a un voltaje de 5 v para un nivel alto que

Figura 8.1 Circuito 74LS14

42

No importa si el dato utiliza una lgica negativa o positiva ya que ese dato ledo ser utilizado por el programa y esto hace que sea fcilmente manipulable. Al conectar la salida del TSOP1738 al 74LS14 aseguraremos una salida de 0 v para un 0 lgico, y 5 v para un 1 lgico. Pero al tener inversores cambia las ideas establecidas anteriormente: Cuando el TSOP1738 este detectando la seal a 38 kHz obtendremos un 1 lgico. Caso contrario cuando el TSOP1738 no detecte dicha seal obtendremos un 0 lgico.

Estos datos al ser enviados directamente a la computadora a travs de la interfaz USB nos permitir saber cuando el intruso ha entrado o salido a la zona de deteccin de la cmara. A continuacin se muestra el circuito donde vemos involucrados todos los elementos para esta etapa:

Figura 8.2 Circuito de implementacin del TSOP

43

9.- ADQUISICION DE LA IMAGEN Y SU POSICION ENMATLAB 9.1 Versin de Matlab y Caractersticas de la Webcam
Para la adquisicin de imgenes a travs de Matlab se requiere contar con la versin 2009 o 2010, debido a que las funciones utilizadas no se encuentran disponibles en versiones anteriores. Las especificaciones de la cmara utilizada son: 1.3 mega pixeles de resolucin Enfoque manual Interface USB 2.0 Tipo de formato JPEG/WMV Resolucin soportada: 1280x1024, 1024x960, 800x600, 640x480, 352x288, 320x240, 176x144, 160x120 pixeles. Resolucin en video CIF/30fps, VGA/30fps, 1.3/15fps.

Figura 9.1 WebCam iSlim 1320

44

9.2 Codigo de Adquisicin de Imagen y Localizacion del Objeto


El siguiente cdigo permite capturar una imagen procesarla y encontrar su posicin en la foto.
clc clear all Camara=imaqhwinfo('winvideo',1); Formatos=Camara.SupportedFormats;%despliega los formatos soportados Video=videoinput('winvideo',1,'YUY2_160x120'); Video.ReturnedColorspace = 'grayscale'; for i=1:10 Snapshot=getsnapshot(Video) figure(1) imshow(Snapshot); Foto=im2bw(Snapshot) figure(2) imshow(Foto) hold on imageR=bwlabel(Foto,8); s=imfeature(imageR,'Centroid'); posicion=s(1).Centroid x=posicion(1,1) y=posicion(1,2) plot(x,y,'+') end

Las primeras dos instrucciones nos permiten limpiar el workspace y limpiar todas las variables que se hubiese antes de ejecutar el programa. Esto para no tener ningn conflicto en cuanto a que se llegaran a sobre escribir valores en una variable usada y esto pueda causar algn conflicto. La primera parte se crea una variable con el nombre Cmara la cual nos permite conocer las caractersticas de los dispositivos de entrada de video con que se cuenta , el 1 se refiere al nmero que tiene asignada nuestra cmara como hardware. Dependiendo de la cmara que se utilice nos permite trabajar con diferentes resoluciones.

45

Con la instruccin Camara.SupportedFormats despliega en el workspace los diferentes formatos que soporta la cmara usada. En este caso se utilizara la resolucin ms pequea de la cmara de 160x120, aunque es la resolucin ms baja nos permite detectar el objeto a seguir del entorno de trabajo adems de que al ser ms pequea la resolucin permite al programa realizar los clculos con un tiempo de procesamiento ms corto. Se le asigna la variable Video a la adquisicin de video con la cmara 1 y con la resolucin antes mencionada. Para la adquisicin de video se utiliza el formato grayscale, debido a que facilita la binarizacin de la imagen. El ciclo for solo es para darse una idea de cmo se estara haciendo la adquisicin de imgenes en tiempo real. La captura de una foto se hace con la instruccin getsnapshot(Video), en su argumento se introduce la literal a la cual se asign la cmara que se utiliz. Para graficar imgenes se utiliza la instruccin imshow, ya que es especial para graficar imgenes en Matlab. Para la localizacin del centro de la figura se debe binarizar la imagen. Esto se realiza con la instruccin im2bw, esto es como un filtro ya que lee la imagen y establece 0 o 1 dependiendo del nmero de intensidad de cada pixel arrojndonos asi una matriz con 0 y 1.La posicin de los 1 en la matriz permite diferenciar donde se encuentra el objeto que se desea encontrar su posicin. Utilizando bwlabel se permite crear la imagen en regiones, esto le permite a la funcin eficientar el tiempo de localizacin del objeto. La instruccin imfeature que permite calcular ciertas caractersticas del objeto que se est visualizando como es rea, permetro, centro. En este caso nos importa el centro, por lo tanto se especifica introduciendo el texto Centroid. Este nos regresa una vector con la posicin de su centro en (x,y) , este valor se le asignan a dos variables y se grafica en la imagen binarizada con el smbolo + comprobando que el punto obtenido es el centro del objeto. Se realizaron pruebas y se puedo concluir que la iluminacin debe ser constante para eliminar las sombras, debido a que se presenta como ruido en la imagen, impidiendo la localizacin del centro del objeto. En el siguiente ejemplo se muestran las imgenes que se desarrollan al correr el programa.

46

Ejemplo: La primera imagen es la foto que se adquiere con una escala de grises.

Figura 9.2 Adquisicin de imagen por Webcam

La matriz que se obtiene con esta foto se pasa por un filtro para obtener 0 y 1, y as localizar el centro del crculo como se mencion.

Figura 9.3 Binarizacion de imagen y localizacin del objeto

Los 1 en la matriz representa al blanco, mientras que los 0 representas segmentos negros de la imagen. Por ltimo se utiliza imfeature con la instruccin Centroid. Lo que hace esta funcin principalmente es leer la matriz y obtener la posicin donde se encuentran 1;la instruccin realiza una aproximacin sobre la forma de la figura. En este caso se trata de un circulo por lo tanto al conocer su permetro se puede aproximar su radio. La coordenadas se grafican, el punto coincide visualmente con el centro de la figura, por lo tanto se concluye que el programa realiza su objetivo.

47

10.- CONTROLADOR DIFUSO 10.1 Definicin del universo de discurso


Para el diseo del controlador difuso se tom en cuenta la resolucin que se manejara con la web-cam, en este caso y por cuestiones del hardware que se utilizara para el desarrollo del proyecto se tomo la resolucin mnima, la cual es de [120x160]. Acto seguido a esto, es necesario definir el universo de discurso sobre el cual trabajar nuestro controlador difuso, es decir; todos los posibles valores o posiciones en las cuales se mover nuestro intruso, por lo que es necesario definir dos universos de discurso ya que se trabajara la posicin en un plano XY y bajo la resolucin en pixeles, por lo que al observar la resolucin de la cmara, los universos de discurso quedan establecidos de la siguiente manera: X = [0,120] Y = [0,160]

10.2 Definicin de las variables lingsticas


Una vez definidos los universos de discurso, es necesario definir variables lingsticas as como las caractersticas o parmetros bajo los que operaran dichas variables, definiremos entonces dos variables lingsticas: x = posicin del intruso en el eje de las ordenadas y = posicin del intruso en el eje de las abscisas

10..3 Definicin de los valores o trminos lingsticos


En esta parte decidimos realizar algunos cambios ya que se llego a la conclusin de en vez de usar 7 terminos linguisticos usaramos solo 3 debido a que nuestra accin de control tiene solo tres acciones, motor en inversa, motor parao o motor en directa, teniendo finalmente los siguientes trminos:

48

Para nuestra variable x, los valores lingsticos que asignamos son: T(x) = Izquierda Centra Derecha

Para nuestra variable y, los valores lingsticos que asignamos son: T(y) = Abajo Centro Arriba

10.5 Programacin de las funciones de membreca


Ya que hemos encontrado una idea clara de la forma que tomaran nuestras funciones de membreca, podemos comenzar a programarlas en un M-file para modificar los parmetros correspondientes. Para las formas de las funciones utilizaremos formas triangulares y trapezoidales por simplicidad para definir parmetros en comparacin con las formas sigmoidales, o gaussianas. Funcin triangulo:
function [membresia]= trian(x,parametros) a = parametros(1); parametro del primer punto de cruce con el eje x b = parametros(2); parmetro del punto mximo c = parametros(3); parmetro del segundo punto de cruce con el eje x [n k]=size(x); for i=1:k; if x(i)<=a && a==b membresia(i)=1; elseif x(i)<=a && a~=b membresia(i)=0; elseif x(i)>a && x(i)<=b membresia(i)=(x(i)-a)/(b-a); elseif x(i)>b && x(i)<=c membresia(i)=(c-x(i))/(c-b); elseif x(i)>c membresia(i)=0; end end

49

Funcion trapezoidal:
function [membresia]= trap(x,parametros) a = parametros(1); parmetro del primer punto de cruce con el eje x b = parametros(2); parmetro del primer punto maximo c = parametros(3); parmetro del segundo punto maximo d = parametros(4); parmetro del segundo punto de cruce con el eje x [n k]=size(x); for i=1:k; if x(i)<=a && a==b membresia(i)=1; elseif x(i)<=a && a~=b membresia(i)=0; elseif x(i)>a && x(i)<=b membresia(i)=(x(i)-a)/(b-a); elseif x(i)>b && x(i)<=c membresia(i)=1; elseif x(i)>c && x(i)<=d membresia(i)=(d-x(i))/(d-c); elseif x(i)>d membresia(i)=0; end end

10.6 Programacin dl controlador difuso


Se decide utilizar solo 3 trminos lingsticos ya que solo tenemos tres trminos para la accion de control.
paso=1; %Este es el universo de discurso debido a que es la cantidad de pixeles en %el eje X x=1:paso:120;

Los valores de membreca se otorgan de acuerdo a lo que se espera si el error cae en algun valor como se describi desde un principio.
izquierda=trap(x,[1 1 40 59]); centra=trian(x,[58 60 62]); derecha=trap(x,[61 80 120 120]); figure(1) plot(x,izquierda,x,centra, x,derecha) axis([0 120 0 1.1])

50

Solo se decidi poner tres trminos de control debido a que se espera que los motores solo realicen tres acciones diferentes (Sentido inverso, Detenido y Sentido Directo). El universo de discurso est definido de 0 a 2, porque estos valores son los necesarios para mover el motor como se menciono en la descripcin general.
%Semantica de los terminos lingisticos para la accion de control a=0:0.1:2; izquierdo=trian(a,[1.9 2 2]); centro=trian(a,[0 0 0.1]); derecho=trian(a,[.8 1 1.2]); figure(2) plot(a,izquierdo,a,centro,a,derecho) axis([0 2 0 1.1])

En esta parte se realiza la inferencia y defusificacion para cada valor posible del error y as obtener la curva de control que veramos.
%for eo=1:paso:120 eo=60 b1= min (izquierda(eo),izquierdo); b2= min (centra(eo),centro); b3= min (derecha(eo),derecho); b=max(b3,max(b1,b2)); ao(eo)= defuzz (a,b,'centroid'); %end ao figure(3) plot (ao) axis([0 120 0 2.5])

Grafica 10.1 Semntica de los trminos lingsticos del eje X

51

Grafica 10.2 Semntica de los trminos lingsticos para la accin de control

Grafica 10.3 Curva de control

En esta curva podemos observar las direcciones y sentidos que tomara el motor dependiendo del error que arroje la posicin del intruso, esto mismo se realizara con el eje Y, tomando solo en cuenta que el universo de discurso cambiara de [0 160]

52

11.-DISEO DEL PCB 11.1 PCB


Los siguientes diagramas muestras el diseo de circuito impreso realizado en el programa PCB Wizard. Las lneas rojas representan un voltaje positivo, las lneas azules tierras y las lneas verdes lneas de control. Este primer diseo se muestra el circuito correspondiente a la etapa de control, sensado y potencia. Estn incluidas las partes correspondientes a al control de la cmara y al control de intruso.

Figura 11.1 Circuito de etapa de control

53

En este otro circuito montamos los push botones que son ocupados para manipular al intruso, esto por comodidad.

Figura 11.2 Circuito de manipulacin de control

12.-PROGRAMA FINAL 12.1 Cdigo


El programa fue realizado en MatlabTM , y para mandar y recibir datos de la computadora a los actuadores y viceversa se utilizo una interfaz con convertidor de puerto USB a serial, esto fue debido a que la PC utilizada cuenta solo con puertos USB. El cdigo del programa final es el siguiente:

close all clear all clc %%%INICIAMOS LA CAMARA%%% %%%Iniciando camara Video=videoinput('winvideo',1,'YUY2_160x120');%definimos la resolucion Video.ReturnedColorspace = 'grayscale';%definimos el formato de captura en escala de grises %%%fin del inicio de la camara

54

%%%INICIAMOS EL CONTROLADOR DIFUSO%%%%% paso=1; %***********Eje x******************* %%%universo de discurso%%%% x=1:paso:160; %%%definimos los terminos linguisticos%%% izquierda=trap(x,[1 1 60 80]); centrax=trian(x,[72 80 88]); derecha=trap(x,[80 100 160 160]); %%%definimos las acciones de control%%% a=0:0.1:2; izquierdo=trian(a,[1.9 2 2]); centrox=trian(a,[0 0 0.1]); derecho=trian(a,[.8 1 1.2]); %*************Eje y********************* %%%universo de discurso%%% y=1:paso:120; %%%definimos los terminos linguisticos%%% abaja=trap(y,[1 1 50 60]); centray=trian(y,[52 60 68]); arriba=trap(y,[60 70 120 120]); %%%definimos las acciones de control%%% aa=0:0.1:2; arribo=trian(aa,[1.9 2 2]); centroy=trian(aa,[0 0 0.1]); abajo=trian(aa,[.8 1 1.2]); %*************************************** %%%Iniciamos el programa principal lol=1; for i=0:30 %Camara Snapshot=getsnapshot(Video); %figure(1) %imshow(Snapshot); Foto=im2bw(Snapshot); %hold on imageR=bwlabel(Foto,8); s=imfeature(imageR,'Centroid');%%%realizamos la captura de posicion por centroide posicion=s(1).Centroid; ex=round(posicion(1,1));%%%asignamos la posicion en el eje x ey=round(posicion(1,2));%%%asignamos la posicion en el eje y

55

%%%COMENZAMOS LA DEFUSIFICACION%%%% %***********Defuzz X******************* b1= min (izquierda(ex),izquierdo); b2= min (centrax(ex),centrox); b3= min (derecha(ex),derecho); b= max(b3,max(b1,b2)); ax= defuzz (a,b,'centroid'); ax=round(ax); %***********Defuzz Y******************* b1= min (arriba(ey),arribo); b2= min (centray(ey),centroy); b3= min (abaja(ey),abajo); b= max(b3,max(b1,b2)); ay= defuzz (aa,b,'centroid'); ay=round(ay); %%%INICIAMOS LA ESCRITURA Y ENVIO DE DATOS A LOS ACTUADORES%%% motor=0;%%%iniciamos el motor en 0 pp=serial('COM1');%%%asignamos el puerto de la PC pp.Baudrate=115200; fopen(pp);%%%abrimos el puerto fwrite(pp,motor,'uchar');%%%escribimos en el puerto dato=fread(pp,1,'uchar');%%%leemos dato del puerto fclose(pp);%%%cerramos puerto clear pp;%%%limpiamos puerto if ax==0%%condicion de la defusificacion de posicion del eje x if ay==0%%condicion de defusificacion de posicion del eje y motor=0;%%dato enviado de accion de control elseif ay==1%%condicion de defusificacion de posicion del eje y motor=2;%%dato enviado de accion de control elseif ay==2%%condicion de defusificacion de posicion del eje y motor=1;%%dato enviado de accion de control else motor=0;%%dato enviado de accion de control end elseif ax==1%%condicion de la defusificacion de posicion del eje x if ay==0%%condicion de defusificacion de posicion del eje y motor=8;%%dato enviado de accion de control elseif ay==1%%condicion de defusificacion de posicion del eje y motor=10;%%dato enviado de accion de control elseif ay==2%%condicion de defusificacion de posicion del eje y motor=9;%%dato enviado de accion de control else motor=0;%%dato enviado de accion de control end

56

elseif ax==2%%condicion de la defusificacion de posicion del eje x if ay==0%%condicion de defusificacion de posicion del eje y motor=4;%%dato enviado de accion de control elseif ay==1%%condicion de defusificacion de posicion del eje y motor=6;%%dato enviado de accion de control elseif ay==2%%condicion de defusificacion de posicion del eje y motor=5;%%dato enviado de accion de control else motor=0;%%dato enviado de accion de control end else motor=0;%%dato enviado de accion de control end motor; pp=serial('COM1');%%asignamos el puerto de la PC pp.Baudrate=115200; fopen(pp);%%abrimos puerto fwrite(pp,motor,'uchar');%%escribimos en el puerto dato=fread(pp,1,'uchar');%%leemos el dato del puerto fclose(pp);%%cerramos puerto clear pp;%%limpiamos puerto end motor=0; pp=serial('COM1');%%asignamos puerto de la PC pp.Baudrate=115200; fopen(pp);%%abrimos puerto fwrite(pp,motor,'uchar');%%escribimos en el puerto dato=fread(pp,1,'uchar')%%leemos dato del puerto fclose(pp);%%cerramos puerto clear pp;%%limpiamos puerto fprinf('Fin')

57

CONCLUSIONES PERSONALES

En esta segunda entrega consideramos que hemos cumplido con los requerimientos solicitados y en el reporte se mencionan todos los datos, caractersticas e informacin necesaria de todo lo usado as como programada con el fin de tener una buena base para continuar con la ltima etapa en el siguiente parcial. En el desarrollo de esta segunda etapa tratamos de ser lo ms especficos y prcticos en cuanto se refiera a la implementacin de todo lo aprendido en clase con el fin de lograr una completa formacin de cada asignatura involucrada en el desarrollo del proyecto. Nos percatamos de que esta segunda etapa fue mucho ms prctica que la primera y que si en la etapa anterior los clculos o ideas que se tenan hubieran sido errneas, el funcionamiento del proyecto para esta segunda etapa podra haberse visto afectado en gran manera, lo cual nos deja como aprendizaje la importancia de realizar siempre una correcta planeacin antes de comenzar con la prctica. Por otra parte creemos que esta etapa resulto un poco ms fcil ya que los clculos concordaron con la mayora de lo que se esperaba en la prctica, y adems todos los circuitos y/o algoritmos usados fueron vistos de manera eficaz y profunda en clase lo que nso permiti realizar un mejor entendimiento de cada parte desarrollada. Sin embargo estamos conscientes de que durante el desarrollo del proyecto se pueden presentar nuevos enfoques que nos lleven a cambiar algunos aspectos del mismo con la finalidad de obtener un mejor resultado al final, y que incluso la siguiente etapa tal vez sea la ms difcil, ya que acoplar todo puede tener varias dificultadas, por ahora cumplimos con el objetivo.

58

CONCLUSION GRUPAL

59

BIBLIOGRAFIA Y REFERENCIAS

1.- Mano, M. Morris. Diseo Digital, Prentice Hall, (2003), 3 Edicin, 521 paginas. 2.- Floyd, Thomas L. Principios de Circuitos Elctricos, Pearson, (2007), 8 Edicin, 947 paginas. 3.- Ross, Timothy J. Fuzzy Logic with Engineering Aplications, Wiley 2010, (2010), 3 Edicin 585 paginas. 4.- Ramn Pallas, Sensores y Acondicionadores de Seal, Alfa-Omega, Mexico 2007, 4 Edicion, 480 paginas. 5.- http://www.mathworks.com/products/matlab/ 6.- http://www.datasheetcatalog.net/es/datasheets_pdf

60

Anda mungkin juga menyukai