Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
LEGANS, MADRID
JUNIO DE 2011
TTULO:
AUTOR:
DIRECTOR:
EL TRIBUNAL
Presidente:
Vocal:
Secretario:
VOCAL
SECRETARIO
PRESIDENTE
Resumen
En esta memoria se presenta el desarrollo y diseo de un sistema anticolisin
mediante sensores sin contacto que comunique con el software de control.
El proyecto es fruto de la necesidad de incrementar la autonoma de los sistemas
robotizados. Para ello, los robots, tanto industriales como asistenciales, incorporan
cada vez ms elementos de sensorizacin externa, para conseguir una mayor eficacia y
flexibilidad a la hora de realizar sus tareas.
Este sistema anticolisin se diseara para incorporarlo al proyecto ASIBOT. El robot
ASIBOT es un electrodomstico mvil, diferente a los robots mviles tradicionales,
que puede moverse a travs de conectores situados en cualquier punto de la casa,
desarrollando diferentes tareas cotidianas de asistencia a personas discapacitadas,
como ayuda a comer, beber, aseo personal, manipulacin de objetos, etc.
Para incorporarlo al proyecto ASIBOT el sistema anticolisin debe cumplir una serie de
requisitos en cuanto a diseo. Se ha ideado que el sistema anticolisin tenga forma
circular y que vaya localizado en cada extremo, a modo de pulsera. Debe ser ligera
para que no sea un lastre en el movimiento del brazo. Ocupar el menor volumen
posible para que no estorbe.
Los sensores que se han utilizado para la implementacin son sensores infrarrojos que
proporcionan una seal analgica en funcin de la distancia a la que se encuentra el
objeto. Esta seal analgica, enviada por cada sensor que conforma el anillo, es
multiplexado y tratado por el microcontrolador y transmitidos a travs de Bus CAN.
El diseo software se ha realizado partiendo de la implementacin del protocolo
CANopen de Microchip que proporciona un soporte en forma de libreras de
programacin que facilitan el desarrollo de estos sistemas. El proyecto incluye una gua
prctica de estas libreras para el uso y desarrollo de sistemas CANopen.
El sistema anticolisin CANopen realizado se ha puesto en marcha y validado el
funcionamiento en laboratorios del departamento de Ingeniera en Sistemas y
Automtica de la Universidad Carlos III de Madrid.
Agradecimientos
A mi familia y amigos
INDICE GENERAL
Captulo 1
Introduccin
1.1 Motivaciones
1.2 Objetivos
10
Captulo 2
11
11
15
41
49
Captulo 3
68
Diseo
3.1 Requisitos del sistema
68
69
82
94
107
Captulo 4
117
Ensayos y resultados
4.1 Pruebas y ensayos sobre el sensor infrarrojo
117
118
120
122
Captulo 5
125
125
127
129
Referencias
130
Anexos
131
131
Anexo 2 Presupuesto
132
133
135
Anexo 5 Microcontrolador
137
Anexo 6 Multiplexor.
138
Anexo 7 Transceiver
139
140
141
Anexo 10 Esquemticos
142
INDICE DE FIGURAS
Figura 1
Figura 2
Figura 3
Figura 4
Figura 5
Figura 6
Figura 7
Figura 8
Figura 9
Figura 10
Figura 11
Figura 12
Figura 13
Figura 14
Figura 15
Figura 16
Figura 17
Figura 18
Figura 19
Figura 20
Figura 21
Figura 22
Figura 23
Figura 24
Figura 25
Figura 26
Figura 27
Figura 28
Figura 29
Figura 30
Figura 31
Figura 32
Figura 33
Figura 34
Figura 35
Figura 36
Figura 37
Figura 38
Figura 39
Figura 40
Figura 41
Figura 42
Figura 43
Figura 44
Figura 45
Figura 46
Figura 47
Figura 48
Figura 49
Figura 50
Figura 51
Figura 52
Figura 53
Figura 54
Figura 55
Figura 56
Figura 57
Figura 58
Figura 59
Figura 60
Figura 61
Figura 62
Figura 63
Figura 64
Figura 65
Figura 66
Figura 67
Figura 68
Figura 69
Figura 70
Figura 71
Figura 72
INDICE DE TABLAS
Tabla 1
Tabla 2
Tabla 3
Tabla 4
Tabla 5
Tabla 6
Tabla 7
Tabla 8
Tabla 9
Tabla 10
Tabla 11
Tabla 12
Tabla 13
Tabla 14
Tabla 15
Tabla 16
Tabla 17
Tabla 18
Tabla 19
Tabla 20
Tabla 21
Tabla 22
Tabla 23
Tabla 24
Tabla 25
Tabla 26
Tabla 27
Captulo 1
Introduccin.
La robtica estudia el diseo y construccin de maquinas capaces de desempear
tareas repetitivas, tareas en las que se necesita una alta precisin, tareas peligrosas
para el ser humano o tareas irrealizables sin la intervencin de una maquina [1].
Podemos definir robot como maquina programable, capaz de manipular objetos y
realizar tareas y operaciones antes reservadas solo a las personas.
La idea de vida artificial viene desde muy atrs y el termino robot se utiliza casi
siempre para referirse a humanos mecnicos.
Se ha avanzado mucho en el campo de los robots con inteligencia artificial. Las
acciones de este tipo de robots son generalmente llevadas a cabo por motores o
actuadores que mueven extremidades o impulsan al robot. El termino robot se ha ido
utilizando como un trmino general que define una maquina o autmata que imita a
un animal, ya sea real o imaginario, pero se ha venido aplicando a muchas maquinas
que reemplazan directamente a un ser humano o animal en el trabajo.
Desde la generalizacin del uso de la tecnologa en procesos de produccin con la
revolucin industrial se intento la construccin de dispositivos automticos que
ayudasen o sustituyesen al hombre. Entre ellos destacaron los Jaquemarts, muecos
de dos o ms posiciones que golpean campanas accionados por mecanismos de
relojera china.
Robots equipados con una sola rueda fueron utilizados para llevar a cabo
investigaciones sobre conducta, navegacin y planeo de ruta. Cuando intentaron
construir robots caminantes, comenzaron con hexpodos y otros tipos de robots de
mltiples patas. Estos robots imitaban insectos y artrpodos en funciones y forma. La
tendencia se dirige hacia ese tipo de cuerpos que ofrecen gran flexibilidad y han
demostrado adaptabilidad a cualquier ambiente. Con ms de cuatro piernas, estos
robots son estticamente estables lo que hace que el trabajar con ellos sea ms
sencillo. Solo recientemente se han hecho progresos hacia los robots con locomocin
bpeda.
Recientemente se ha logrado un gran avance en los robots dedicados a la medicina,
que han recibido la aprobacin regulatoria en Amrica del Norte, Europa y Asia para
que este tipo de robots sean utilizados en procedimientos de ciruga invasiva mnima.
En la actualidad existen ms de 800 robots quirrgicos en el mundo, con aplicaciones
en urologa, ginecologa, ciruga general, ciruga peditrica, ciruga torcica, ciruga
Industriales
Robots
Mviles
Servicios
Bpedos
Telemanipuladores
Quizs estos, Robots Industriales y Robots de Servicio, son los dos grandes grupos
donde podemos englobar a toda clase de robots.
Los robots son usados hoy en da para llevar a cabo tareas sucias, peligrosas, difciles,
repetitivas o embotadas para los humanos. Esto usualmente toma la forma de un
robot industrial usado en las lneas de produccin. Otras aplicaciones incluyen la
limpieza de residuos txicos, exploracin espacial, minera, bsqueda y rescate de
personas y localizacin de minas terrestres. La manufactura continua siendo el
principal mercado donde los robots son utilizados. En particular, robots similares en
movimiento a un brazo humano (robots articulados) son los ms usados.
La industria del automvil ha tomado gran ventaja de esta nueva tecnologa donde los
robots han sido programados para reemplazar el trabajo de los humanos en muchas
tareas repetitivas.
Existen muchas definiciones de robot industrial y todas tienen una caracterstica en
comn, la aceptacin del robot industrial como un brazo mecnico con capacidad de
manipulacin y que incorpora un control ms o menos complejo.
La definicin de un robot industrial es un dispositivo de maniobra destinado a ser
utilizado en la industria y dotado de uno o vario brazos, fcilmente programable para
cumplir operaciones diversas con varios grados de libertad y destinado a sustituir la
actividad fsica del hombre en las tareas repetitivas, montonas, desagradables o
peligrosas.
El trabajo del robot normalmente se limita a pocos movimientos repetitivos de sus
ejes. Estos son casi siempre tres para el cuerpo y otros tres para la mano, su radio de
accin queda determinado por un sector circular en el espacio donde este alcanza a
actuar. Cuando las partes o piezas a manipular son idnticas entre si y se presentan en
la misma posicin, los movimientos destinados a reubicar o montar partes se efectan
mediante dispositivos articulados que a menudo finalizan con pinzas.
La sucesin de movimientos se ordena en funcin del fin que se persigue, siendo
fundamental la memorizacin de las secuencias correspondientes a los diversos
movimientos. Puede presentarse el caso en el que las piezas o partes a ser
manipuladas no se presenten en posiciones prefijadas, en este caso el robot deber
poder reconocer la posicin de la pieza y actuar u orientarse para operar sobre ella de
forma correcta, es decir se le deber proveer de un sistema de control adaptativo.
Entre las caractersticas que identifican a un robot se encuentran su volumen de
trabajo y su configuracin
El volumen de trabajo de un robot se refiere nicamente al espacio dentro del cual
puede desplazarse el extremo de su mueca.
En su aspecto fsico los robots dejan de ser un simple brazo, como lo son los
robots industriales, para formar una estructura ms compleja que puede tener
varios brazos y otros dispositivos.
suelo del recinto a aspirar, se desplazan siguiendo el lmite de las paredes y alrededor
de los muebles y son capaces de dirigirse al punto de alimentacin elctrica cuando
sienten que sus bateras estn bajas. Adems sus costes estn en lnea con cualquiera
de los electrodomsticos de funcionamiento manual.
Otras funciones susceptibles de ser robotizadas en un futuro son las de manipulacin
inteligente de objetos domsticos, como vajillas u otros utensilios, ordenacin de
armarios o estanteras, etc. Estos robots todava no existen, aunque en algunos centros
de investigacin se est trabajando en su desarrollo. Deben contar, adems de con
brazos manipuladores con sistemas de locomocin, as como con mtodos sencillos de
programacin de sus actividades. En este sentido, los mtodos de aprendizaje
automtico e imitacin son los que quizs tengan mayor futuro.
Una extensin de este tipo de robots, an en desarrollo en ciertos centros de
investigacin, es el robot de asistencia a ancianos o discapacitados. Se estima que en el
ao 2025 el 20% de la poblacin europea ser mayor de 65 aos, muchos de ellos con
necesidad de ayuda para desarrollar una vida normal.
Es claro que la solucin definitiva a este problema se tendr que realizar con la
introduccin masiva de robots que ayuden a personas dependientes en la realizacin
de sus tareas cotidianas como vestirse, baarse, realizar su aseo personal, comer, etc.
Lgicamente, el nivel de interaccin de estos robots con los humanos tiene que ser
muy fuerte y ello exige un levado sistema cognitivo cuyo desarrollo se encuentra en la
actualidad lejos de poderse considerar acabado.
Es importante, para completar esta visin de los robots personales, hablar de la
asistencia y cuidado a enfermos y, en general, de las oportunidades que los robots
ofrecen en el campo de la sanidad.
En asistencia a enfermos existen ya prototipos de robots que realizan rondas de
vigilancia en hospitales llevando los medicamentos que los enfermos deben ingerir en
cada momento. Igualmente pueden monitorizar y transmitir a un puesto remoto de
control las variables sobre el estado del paciente.
Pero en lo que vislumbra un futuro verdaderamente prometedor es en el campo de la
ciruga. Esta ha prosperado en los ltimos aos gracias a los medios tecnolgicos de la
que se ha dotado. Entre los principales figuran los que introducen elementos robticos
como los de laparoscopia y, en general, la denominado ciruga mnimamente invasiva.
Ya en la dcada de los 70 se deca que en el desarrollo de la robtica se iban a suceder
tres fases: el nacimiento e infancia, que reflejaba la situacin de la misma en aquellos
tiempos, un crecimiento progresivo hasta alcanzar una madurez, y la explosin. En esta
ltima fase, se deca, se iba a producir un uso masivo de los robots en todas las
actividades de la vida con la pretensin de que ellos hicieran todas las labores
productivas y de servicio.
Hay temas para hacer esto realidad que aun requieren un desarrollo tecnolgico
importante, aunque ya se han dado bastantes pasos en esa direccin. Se trata del
desarrollo de lo que podramos denominar los cerebros de los robots. Estos deben ser
procesadores con capacidad de realizar las mismas funciones que los cerebros
humanos. Pero aun hace falta ms, por ejemplo, el sistema emocional. La interaccin
con humanos exige dotar a los robots de un sistema de estas caractersticas.
La lnea de investigacin, quizs, ms prometedora, es aquella que configura estos
cerebros como redes de neuronas artificiales que interactan entre ellas y que pueden
aprender conductas de comportamiento en funcin de estmulos.
Tambin es importante, en un contexto de vaticinio del futuro de los robots, citar
alguna de las aportaciones que otras disciplinas, como la nanotecnologa o la
biotecnologa, pueden realizar a la robtica en las prximas dcadas. La
nanotecnologa permitir la construccin de sistemas del tamao de una molcula
dotados de movimientos y que, unidos entre s formaran colonias que operan
conjuntamente. Estos robots trabajando conjuntamente podrn ser usados como
infatigables trabajadores construyendo o montando todos los objetos que
necesitemos. De manera similar a las hormigas, se podr, realizar exploraciones de
zonas desconocidas.
Nano robots de caractersticas similares podrn ser utilizados en biotecnologa, se
podrn construir rganos artificiales para implantes o vehculos diminutos que se
introduzcan en los cuerpos para realizar cirugas o reconocimientos de determinados
rganos, o para depositar, o incluso ser, la medicacin microscpica para curar
determinadas clulas enfermas.
1.1 Motivacin
Basndose en las actuales lneas de investigacin de la robtica, que estn orientadas
a la robtica de servicio, Roboticslab del Departamento de Ingeniera de sistemas y
Automtica de la Universidad Carlos III de Madrid han creado ASIBOT, que es un robot
manipulador escalador porttil.
La motivacin final es la realizacin un proyecto que permita al ASIBOT desarrollar de
manera ms segura sus tareas, evitando colisiones indeseadas. Se trata de un sistema
multisensorial capaz de detectar objetos cercanos a la zona de actuacin y capaz de
actuar ante ellos.
1.2 Objetivos.
ASIBOT es un robot de asistencia personal a ancianos y discapacitados. Este robot lo
dirige el usuario y por tanto es necesario un sistema que permita al usuario controlar
el movimiento del extremo en un espacio reducido y rodeado de objetos.
Uno de los objetivos de este proyecto es realizar un estudio exhaustivo de los
diferentes tipos de sensores de proximidad sin contacto que se encuentran en el
mercado y que renen las caractersticas adecuadas para la aplicacin requerida.
Otro objetivo es el estudio de diferentes sistemas anticolisin ya existentes para
barajar diferentes alternativas de diseo para un sistema anticolisin que permita al
usuario manipular los objetos deseados sin daar otros que estn cerca o colisionar
con el entorno.
El sistema anticolisin debe detectar los objetos que se encuentra alrededor de la
pinza, con la que manipular los objetos, en un radio ajustable de 20cm y en caso de
peligro de colisin debe enviar a tiempo la informacin para poder detener el
movimiento del ASIBOT para evitarla. Se debe fijar una distancia de seguridad,
dependiendo de la velocidad de movimiento y cuando se traspase esta distancia de
seguridad tomar la decisin de STOP.
Para la implementacin del protocolo CANopen se usarn componentes de Microchip
por su gran variedad y disponibilidad en el mercado, adems de por la existencia de
herramientas de diseo muy potentes y entornos de desarrollo adecuados para
disear sistemas CAN.
La memoria del proyecto de fin de carrera tambin forma parte del proyecto de
ingeniera y debe estar estructurada.
La memoria de este proyecto de fin de carrera est estructurada en cinco captulos, la
bibliografa y anexos.
Captulo 2
2.1 Asibot
Actualmente la robtica de servicios es la lnea de investigacin prioritaria en el campo
de la robtica y automatizacin. Los robots mviles actuales no estn adaptados para
ser utilizados en entornos domsticos, debido a su volumen y falta de maniobrabilidad
en un entorno tan complejo como son estos escenarios por lo que se est trabajando
en nuevas lnea de diseo. La aplicacin de los robots a tareas de servicios (asistencia
personal, educacin, tareas sociales) hace que su diseo sea de suma importancia.
Existen muchos proyectos de desarrollo de robots humanoides adaptados a entornos
domsticos o de oficinas que trabajen como robots de servicio, puesto que pueden
llegar a tener mayor maniobrabilidad.
Los robots humanoides tiene el problema de que debido al alto nmero de grados de
libertad necesitan un actuador, motor o reductor para cada grado de libertad, lo que
los convierte en maquinas pesadas. Existen lneas de investigacin basadas en tcnicas
de control dinmica pasiva para reducir el nmero de actuadores y con ello el peso.
Una alternativa a los robots humanoides es el ASIBOT [2]. Es un robot diferente a los
robots mviles tradicionales ya que puede moverse a travs de conectores situados en
cualquier punto de la casa, desarrollando diferentes tareas cotidianas de asistencia a
personas discapacitadas, como ayuda a comer, beber, aseo personal, manipulacin de
objetos, etc.
Hasta la fecha la tecnologa utilizada en el hogar ha venido en los electrodomsticos
como lavavajillas, hornos, etc. Ms tarde se introdujeron sensores y actuadores,
permitiendo cierta automatizacin, el control de la temperatura, deteccin de intrusos
e incendios. Pero todos estos elementos son estticos, estn instalados en la casa y
permanecern en ella durante toda su vida til realizando siempre la misma tarea.
El siguiente paso en la introduccin de nuevas tecnologas en el entorno domestico es
introducir elementos inteligentes y mviles en la casa, es decir, robots. As mismo, otro
paso adelante consistira en extrapolarlo fuera del hogar, la oficina, el supermercado,
etc., de forma que el usuario disponga de las ayudas modulares tambin fuera de su
hogar adaptado.
Existen diversas propuestas para el desarrollo de sistemas de asistencia modulares, a
personas mayores y discapacitadas, para el trabajo y el hogar. Consisten
fundamentalmente en integrar bajo una red de comunicaciones demtica, tres tipos
de mdulos, compartiendo soporte fsico y protocolo:
La utilidad de cualquier ayuda, sea robtica o no, est estrechamente relacionada con
su facilidad de uso, que vendr determinada por la complejidad del sistema y la
interface de usuario.
La caracterstica fundamental que debe asegurar un robot asistencial, es la de
posibilidad de aumentar las capacidades del usuario, gracias a la utilizacin del sistema
sensorial y al sistema locomotor, que ejecutar las acciones deseada sobre el entorno,
cubriendo as tanto las deficiencias perceptivas, como las deficiencias motoras del
usuario. Si todo esto se puede desplazar a donde vaya el usuario, se puede considerar
que el sistema es porttil. Para que se pueda desplazar el robo tendr su propio
sistema locomotor o usar el medio de locomocin que el usuario, generalmente la
silla de ruedas.
ASIBOT presenta cinco grados de libertad y una configuracin cinemtica simtrica, lo
que le permite anclarse por ambos extremos. Tiene un mecanismo para conectarse a
la pared o a la silla de ruedas y una pinza. El robot tiene una estructura de aluminio en
sus diferentes articulaciones y los eslabones son de fibra de carbono. Estos dos
eslabones centrales contienen los equipos electrnicos y la unidad de control del
brazo. De esta forma, el robot con 12 Kg, es completamente autnomo salvo que
precisa de conexin exterior para su alimentacin. Los actuadores se han diseado de
forma que servomotor, freno y reductor quedan integrados formando cada eje motriz
extremadamente compacto y ligero. La energa se recoge del conector elctrico
ubicado en el centro del anclaje mecnico.
ASIBOT puede moverse con gran precisin y fiabilidad entre los conectores de anclaje.
Los conectores pueden ser alojados en la pared o bien se instalan sobre un ral en
determinadas localizaciones con el objetivo prolongar el rango de accin. Para que el
sistema ASIBOT sea totalmente operativo, se precisa cierta adaptacin en la instalacin
de conectores de anclaje en determinados lugares de paso y trabajo haciendo posible
la transicin de un lugar a otro de la casa o desde una pared a una silla de ruedas o
viceversa.
Este alto grado de flexibilidad tiene una gran implicacin en el cuidado de personas
discapacitadas o ancianos con problemas de movilidad en las extremidades superiores.
La modularidad del sistema robtico hace posible que este crezca tanto como sea el
nivel de discapacidad de la persona que lo vaya a utilizar. Los conectores permitirn al
robot desplazarse de un lugar de trabajo a otro de forma autnoma siguiendo
directivas de movimientos pre-programados segn las necesidades del usuario. Se
concibieron tres clases distintas de anclajes o DS:
Sensor analgico. Se trata de un sensor que convierte una magnitud fsica en una
seal elctrica de tensin o de intensidad.
Los sensores pueden tener varios tipos de salida: Interrupcin, trenes de pulsos o
salida analgica. En nuestro sistema utilizaremos sensores de proximidad con seal de
salida analgica ya que los sensores con este tipo de salida permiten una gestin muy
sencilla a travs de microcontroladores.
Utilizaremos sensores de proximidad sin contacto, ya que nuestro objetivo es evitar
colisiones indeseadas para prevenir daos a personas, maquinas y objetos. Estos
sensores permiten una deteccin precisa y automtica de objetos. Tiene unas
caractersticas de conmutacin rpidas y dado que la seal de salida se genera
electrnicamente los sensores estn libres de rebotes y no crean errores en las seales
de salida. Presentan una gran resistencia al desgaste porque no tienen partes mviles.
A continuacin podemos ver un esquema distintos tipos de sensores de proximidad:
Sensores de
posicin
magnticos
Analgicos
con contacto
Digitales
sin contacto
salida neumtica
Sensores de
proximidad
inductivos
Analgicos
Sensores de
proximidad
capacitivos
Analgicos
Digitales
Digitales
Barreras de luz
Con/sin CFO
Reflex c/s CFO
Sensores de
proximidad
pticos
Analgicos
Sensores de
proximidad
ultrasnicos
Analgicos
Sensores de
proximidad
neumticos
Analgicos
Digitales
Digitales
Sensores de reflexin
directa
Barrera ultrasnica
Sensores ultrasnicos
Obturacin fuga
Sensores reflex
Digitales
Barreras de aire
Con CFO
Sin CFO
Existen varios tipos de sensores de proximidad que se incluyen en este grupo, todos
ellos con el aspecto comn de que utilizan alguna caracterstica magntica para la
deteccin de proximidad o presencia.
SENSOR DE PROXIMIDAD REED.
SENSOR MAGNETO-INDUCTIVO.
Si fluye corriente por un sensor Hall y se aproxima a un campo magntico que fluye en
direccin vertical al sensor, entonces el sensor crea un voltaje saliente proporcional al
producto de la fuerza del campo magntico y de la corriente.
Los sensores basados en efecto Hall suelen constar de un elemento conductor o
semiconductor y un imn. Cuando un objeto ferromagntico se aproxima al sensor, el
campo que provoca el imn en el elemento se debilita. As se puede determinar la
proximidad de un objeto, siempre que sea ferromagntico.
Una de las aplicaciones de los sensores por efecto Hall que ms se ha instalado en la
industria, en especial en la automotriz, es como reemplazo del sensor inductivo
(basado en un imn permanente y una bobina). Dado que en este caso el sensor, por
estar implementado por un semiconductor, tiene la capacidad de poseer electrnica
integrada, la seal que sale de los sensores por efecto Hall para uso como detectores
de proximidad por lo general ya est amplificada y condicionada, de modo que su
utilizacin es mucho ms directa, fcil y econmica.
Otra aplicacin es la medicin de la corriente que circula por un conductor, con lo que
se pueden implementar medidores de seguridad sin necesidad de insertarlos en el
circuito elctrico de un sistema donde se maneja potencia. Los sensores pueden estar
construidos en una cpsula de tipo circuito integrado o una de transistor.
SENSOR MAGNETORRESISTIVO.
Este tipo de sensor vara el valor de una resistencia en presencia de un campo
magntico externo, como se puede observar en la figura 7.
Son un excelente medio para medir tanto desplazamiento angulares como lineales en
condicin ambientales extrema debido a su alta sensibilidad, ya que un pequeo
movimiento en equipos de ruedas, engranajes, levas, barras metlicas, etc, provocan
cambios significativos del campo magntico. Otras aplicaciones son la medicin de
velocidad de rotacin y de intensidad de corriente.
Tambin se utilizan en automocin para medir la posicin del chasis, del acelerador,
posicin de los pedales, en la rueda como sensor de velocidad para el ABS. Otros
ejemplos lo incluyen en instrumentacin y equipos de control que requieren sensores
de posicin capaces de detectar desplazamientos de decimas de milmetro y en
sistemas de encendido electrnico donde es necesario detectar con gran precisin la
posicin de motores internos.
Por ltimo, y debido a su capacidad para reaccionar ante campos magnticos muy
dbiles, por su gran sensibilidad, su utiliza en brjulas electrnicas.
SENSOR WIEGAND.
y lleva un hilo Wiegand incrustado. El cabezal detector incorpora una bobina y dos
imanes y pueden situarse fuera de la tubera.
Los sensores de proximidad magnticos no son los ms adecuados para nuestra
aplicacin ya que solo reaccionan ante campos magnticos y por tanto deberamos
dotar de un imn a cada objeto que deseemos detectar, algo impensable si deseamos
detectar objetos de diversos tipos y tanto en entorno cerrados como abiertos. A parte
de dotar cada objeto con imn existe la posibilidad de que el objeto no sea detectado
debido a que el rango de conmutacin depende de la orientacin del imn. Adems un
sistema multisensor, como tenemos pensado para nuestro sistema anticolisin, es
difcil de conseguir con este tipo de sensores ya que debe haber una distancia mnima
entre ellos para que no se produzcan conmutaciones indeseadas. Tambin existe el
problema de que al trabajar con materiales ferromagnticos hay una histresis que no
podemos despreciar y que en ocasiones podran generar ms conmutaciones errneas.
SENSORES DE PROXIMIDAD INDUCTIVOS.
Figura 15. Partes de un sensor capacitivo Figura 16. Tipos de sensores capacitivos M12,etc
Los objetos de goma, cuero, plstico y otros materiales, son difciles de detectar por
sensores pticos de reflexin directa y, en segn qu aplicaciones, la utilizacin de
sensores ultrasnicos puede resultar excesivamente costosa.
Este tipo de sensores son muy utilizados para detectar niveles de lquidos, como
podemos observar en la figura 17, a travs de paredes finas de recipientes de plstico,
tubos de vidrio de inspeccin, etc. El grueso de la pared debe limitarse de tal forma
que permita al sensor de proximidad capacitivo reaccionar solo con el propio
contenido del recipiente.
Pero no solo son utilizados para detectar niveles de lquidos, si no que debido a su gran
capacidad para detectar diferentes materiales, tambin son adecuados para la
deteccin de materiales pulverulentos o granulados en contenedores o silos
Con los sensores de proximidad capacitivo es posible, por ejemplo, verificar el volumen
de llenado de contenedores de productos alimentados a travs de cajas selladas, como
se puede observar en la figura 18
Los sensores de proximidad capacitivos reaccionan al cobre que contienen los hilos o
cables elctricos de dimetro relativamente pequeo, donde los sensores de
proximidad inductivos no reaccionan o lo hacen a distancias inferiores, y por tanto se
pueden emplear para la supervisin del bobinado de cables e hilos elctricos.
Parece que este tipo de sensores podran utilizarse en nuestra aplicacin, sin embargo
existe el problema del tamao ya que estos sensores son sensores de unos 30mm de
dimetro que impiden que sean montados en un brazo robot debido a la superficie de
la que disponemos para colocar un sistema multisensor.
SENSORES DE PROXIMIDAD ULTRASONICOS.
Figura 21. Aplicaciones sensor de ultrasonido. Deteccin de bucle, clasificacin por alturas y
deteccin de grueso
Con este tipo de sensores se pueden crear sistemas anticolisin para asistencia en la
conduccin en la que se requiere en esencia detectar objetos cercanos alrededor del
vehculo y no una descripcin del entorno.
La utilizacin de ultrasonido se considera como la tcnica ms adecuada en este tipo
de sonorizacin, sus caractersticas de operacin son superiores frente a otros
mtodos, presentan haces amplios que reducen las necesidades de barridos y buena
sensibilidad en distancias dentro del rango de 20 a 100 cm.
Los sensores de ultrasonido son colocados en la periferia del vehculo para ayudar a la
navegacin de la silla e impedir colisiones bruscas con obstculos.
El objeto a detectar debe tener un tamao mnimo, ya que si las ondas de ultrasonido
se dirigen a un objeto demasiado pequeo, cualquier objeto que se halle al lado o de
tras puede interferir.
Para la deteccin de objetos con este tipo de sensor se requiere una distancia mnima
de deteccin, ya que requiere un mnimo tiempo de proceso para detectar el eco del
ultrasonido, no pueden funcionar si una cierta zona muerta. En distancias cortas los
lbulos secundarios del cono ultrasnico pueden producir pulsos de error.
SENSORES DE PROXIMIDAD OPTICOS.
Las funciones de conmutacin de los sensores de reflexin directa son como sigue:
El emisor aloja la fuente de emisin de luz roja o infrarroja, la cual, y segn las leyes de
la ptica, se propaga en lnea recta y puede ser desviada, enfocada, interrumpida,
reflejada y dirigida. Esta luz es aceptada por el receptor, separada de la luz externa, y
evaluada electrnicamente.
El sensor de proximidad se monta con un apantallamiento interno, que es aislado del
cuerpo. Los componentes electrnicos son encapsulados y se dispone un
potencimetro externo en el lado de la salida del cable, para ajustar la sensibilidad.
Los sensores de proximidad pticos a menudo estn expuestos a la contaminacin por
polvo, virutas o lubricantes durante su funcionamiento. Esta contaminacin puede ser
causa de interferencias en los sensores de proximidad pticos. Tanto el ensuciamiento
de las lentes que forman parte de la ptica del sensor de proximidad como el de los
reflectores en los de retrorreflexin, puede ser causa de fallos en el funcionamiento.
Para conseguir un funcionamiento fiable, deberan tomarse las siguientes medidas:
Utilizando sensores
ensuciamiento.
de
proximidad
con
indicacin
automtica
de
Figura 24
Figura 25
Figura 26
A parte de la contaminacin, pueden ser la causa de que el sensor quede fuera del
margen de funcionamiento:
Montaje incorrecto
Sensores de
barrera
Ejecucin con
cable de fibra
ptica
Sensores de
proximidad
pticos
Sensores de
reflexin
directa
Sensores de
reflexin
directa
Ejecucin con
cable de fibra
ptica
Sin embargo de todas estas variantes es evidente que solo una nos sirve para nuestra
aplicacin. Los sensores de proximidad pticos de reflexin directa.
Debido a que el sensor estar montado en un brazo robot y no sabemos donde se
encontrara el objeto a detectar debemos eliminar como posibles sensores los sensores
pticos de barrera y los de retrorreflexin, ya que no podemos tener en cuerpos
separados a emisor y receptor, ni utilizar reflectores.
SENSORES DE REFLEXION DIRECTA.
1030Vdc
Alcance
Intensidad de ruptura
100.500mA
Frecuencia de conmutacin
102000Hz.
Existen unos factores de correccin definidos para este tipo de sensores, que se
muestran en la tabla1:
Factor
1.0
1.0.1.2
1.2.2.0
0.4.0.8
0.5.0.8
0.1
0.3
0.4.0.8
Objetos con baja reflexin, como por ejemplo, plsticos negro mate, goma
negra, materiales obscuros con superficies rugosas, tejidos obscuros, acero
pulido.
Otra ventaja obvia, adems de que las funciones pueden ser repartidas entre distintas
unidades de mando, es que incrementar las funciones de las mismas no presupone un
coste adicional excesivo.
Capa fsica: define los aspectos del medio fsico para la transmisin de datos
entre nodos de una red CAN, los ms importantes son niveles de seal,
representacin, sincronizacin y tiempos en los que los bits se transfieren al
bus. La especificacin del protocolo CAN no define una capa fsica, sin embargo,
los estndares ISO 11898 establecen las caractersticas que deben cumplir las
aplicaciones para la transferencia en alta y baja velocidad.
Capa de enlace de datos: define las tareas independientes del mtodo de
acceso al medio, adems debido a que una red CAN brinda soporte para
procesamiento en tiempo real a todos los sistemas que la integran, el
intercambio de mensajes que demanda dicho procesamiento requiere de un
sistema de transmisin a frecuencias altas y retrasos mnimos. En redes
multimaestro, la tcnica de acceso al medio es muy importante ya que todo
nodo activo tiene los derechos para controlar la red y acaparar los recursos. Por
lo tanto la capa de enlace de datos define el mtodo de acceso al medio as
como los tipos de tramas para el envo de mensajes.
Cuando un nodo necesita enviar informacin a travs de una red CAN, puede ocurrir
que varios nodos intenten transmitir simultneamente. CAN resuelve lo anterior al
asignar prioridades mediante el identificador de cada mensaje, donde dicha asignacin
se realiza durante el diseo del sistema en forma de nmeros binarios y no puede
modificarse dinmicamente. El identificador con el menor nmero binario es el que
tiene mayor prioridad.
El mtodo de acceso al medio utilizado es el de Acceso Mltiple por Deteccin de
Portadora, con Deteccin de Colisiones y Arbitraje por Prioridad de Mensaje
(CSMA/CD+AMP, Carrier Sense Multiple Access with Collision Detection and
Arbitration Message Priority). De acuerdo con este mtodo, los nodos en la red que
necesitan transmitir informacin deben esperar a que el bus est libre (deteccin de
portadora); cuando se cumple esta condicin, dichos nodos transmiten un bit de inicio
(acceso mltiple). Cada nodo lee el bus bit a bit durante la transmisin de la trama y
comparan el valor transmitido con el valor recibido; mientras los valores sean
idnticos, el nodo contina con la transmisin; si se detecta una diferencia en los
valores de los bits, se lleva a cabo el mecanismo de arbitraje (espera de tiempo
aleatorio).
CAN establece dos formatos de tramas de datos (data frame) que difieren en la
longitud del campo del identificador, las tramas estndares (standard frame) con un
identificador de 11 bits definidas en la especificacin CAN 2.0A, y las tramas
extendidas (extended frame) con un identificador de 29 bits definidas en la
especificacin CAN 2.0B.
Para la transmisin y control de mensajes CAN, se definen cuatro tipos de tramas de
datos: remota (remote frame), de error (error frame) y de sobrecarga (overload
frame). Las tramas remotas tambin se establecen en ambos formatos, estndar y
extendido, y tanto las tramas de datos como las remotas se separan de tramas
precedentes mediante espacios entre tramas (interframe space).
En cuanto a la deteccin y manejo de errores, un controlador CAN cuenta con la
capacidad de detectar y manejar los errores que surjan en una red. Todo error
detectado por un nodo se notifica inmediatamente al resto.
La informacin circula por dos cables trenzados que unen todas las unidades de
control que forman el sistema. Esta informacin se trasmite por diferencia de tensin
entre los dos cables, de forma que un valor alto de tensin representa un 1 y un valor
bajo de tensin representa un 0. La combinacin adecuada de unos y ceros
conforman el mensaje a trasmitir.
Como se puede observar en la figura 31, en un cable de CANbus los valores de tensin
oscilan entre 0V y 2.25V, por lo que se denomina cable L (Low) y en el otro, el cable H
(High) lo hacen entre 2.75V y 5V. En caso de que se interrumpa la lnea H o que se
derive a masa, el sistema trabajar con la seal de Low con respecto a masa, en el caso
de que se interrumpa la lnea L, ocurrir lo contrario. Esta situacin permite que el
sistema siga trabajando con uno de los cables cortados o comunicados a masa, incluso
con ambos comunicados tambin sera posible el funcionamiento, quedando fuera de
servicio solamente cuando ambos cables se cortan. Es importante tener en cuenta que
el trenzado entre ambas lneas sirve para anular los campos magnticos, por lo que no
se debe modificar en ningn caso ni el paso ni la longitud de dichos cables.
Son resistencias conectadas a los extremos de los cables H y L. Sus valores se obtienen
de forma emprica y permiten adecuar el funcionamiento del sistema a diferentes
longitudes de cables y nmero de unidades de control abonadas, ya que impiden
fenmenos de reflexin que pueden perturbar el mensaje. Estas resistencias estn
alojadas en el interior de algunas de las unidades de control del sistema por cuestiones
de economa y seguridad de funcionamiento.
CONTROLADOR
Campo DLC: Los cuatro bit que lo componen indican el nmero de bytes contenido
en el campo de datos.
Campo de datos: En este campo aparece la informacin del mensaje con los datos
que la unidad de mando correspondiente introduce en la lnea CANbus. Puede
contener entre 0 y 8 bytes (de 0 a 64 bit).
Campo de chequeo (CRC): Este campo tiene un formato predefinido con una longitud
de 16 bits de los cuales los 15 primeros son utilizados para la deteccin de errores,
mientras que el ltimo siempre es un bit recesivo 1 que delimita el campo CRC.
Campo de confirmacin (ACK): El campo ACK est compuesto por dos bit que son
siempre trasmitidos como recesivos 1. Todos los nodos que reciben el mismo CRC
modifican el primer bit del campo ACK por uno dominante 0, de forma que la unidad
de mando que est todava trasmitiendo reconoce que al menos uno de los Nodo
conectados al sistema ha recibido el mensaje correctamente. De no ser as, el Nodo
transmisor interpreta que su mensaje presenta un error.
Campo de final de mensaje (EOF): Este campo indica el final del mensaje con una
cadena de 7 bits recesivos.
Interframe space (IFS): Est compuesto de al menos tres bits recesivos llamados
intermission, y su funcin es la de separar dos tramas consecutivas. Esto permite el
procesado interno de los mensajes antes de recibir una nueva trama. Despus del IFS
el bus permanece en un estado recesivo indicando que est libre para una nueva
transmisin.
Puede ocurrir que en determinados mensajes se produzcan largas cadenas de ceros o
unos, y que esto provoque una prdida de sincronizacin entre los distintos Nodos. El
protocolo CAN resuelve esta situacin insertando un bit de diferente polaridad cada
cinco bits iguales: cada cinco 0 se inserta un 1 y viceversa. El Nodo que utiliza el
mensaje, descarta un bit posterior a cinco bits iguales. Estos bits reciben el nombre de
bit stuffing.
INDICE
OBJETO
DESCRIPCION
0x0000
No usado
0x0001-0x001F
0x0020-0x003F
0x0040-0x005F
0x0060-0x007F
0x00A0-0x0FFF
Reservado
0x1000-0x1FFF
0x2000-0x5FFF
0x6000-0x9FFF
0xA000-0xFFFF
Reservado
El rango relevante de objetos va desde el ndice 1000 al 9FFF. Para cada nodo de la red
existe un OD, diccionario de objetos, que contiene todo los parmetros que describen
el dispositivo y su comportamiento en la red.
En CANopen hay documentos que describen perfiles. Hay un perfil de comunicaciones
(communication profile) donde estn descritos todos los parmetros relacionados con
las comunicaciones. Adems hay varios perfiles de dispositivos (device profiles) donde
se definen los objetos de un dispositivo en particular.
Un perfil define para cada objeto del diccionario su funcin, nombre, ndice, subndice,
tipos de datos, si es obligatorio u opcional, si es de slo lectura, slo escritura o
lectura-escritura, etc.
Al ser Multiplexed Domains desde el punto de vista de CMS, los SDOs pueden
transferir datos de cualquier longitud. Sin embargo CANopen define dos tipos de
transferencia para los SDOs basndose en el tamao de los datos a transferir:
Los mensajes tanto del cliente como del servidor siempre tienen una longitud de 8
bytes aunque no todos contengan informacin significativa. Es importante tener en
cuenta que en CANopen los parmetros de ms de un byte se envan siempre en la
forma little endian, es decir, primero el byte menos significativo (LSB).
TRANSFERENCIA EXPDITA
Usada para transmitir mensajes con longitud de datos menor o igual a 4 bytes, para lo
cual se usan los protocolos Initiate Domain Download o Initiate Domain Upload.
No se aplica fragmentacin, se enva un nico mensaje CAN y se recibe la confirmacin
del servidor.
Un SDO que se transmite del cliente al servidor bajo este protocolo tiene el siguiente
formato:
TRANSFERENCIA EN SEGMENTOS
Usada para transmitir mensajes con longitud de datos mayor de 4 bytes. Se aplica
fragmentacin en segmentos partiendo los datos en mltiples mensajes CAN. El cliente
espera confirmacin del servidor por cada segmento.
Para el primer mensaje tanto del cliente como del servidor, se usan los protocolos
Initiate Domain Download o Initiate Domain Upload segn corresponda, con el bit
Transfer Expedited a 0 (para transferencia en segmentos). Si ese bit est a 0 y el
siguiente (Block Size Indicated) est a 1, significa que el campo de datos contiene el
nmero de bytes que se van a transmitir (al ser little endian el byte 4 del mensaje
contiene el LSB y el 7 el MSB).
Para los mensajes siguientes se usan los protocolos Download Domain Segment o
Upload Domain Segment, segn se quiera leer o escribir una entrada en el diccionario.
Los mensajes CAN bajo estos dos protocolos tienen el siguiente formato:
Existe la posibilidad que al acceder a las entradas del diccionario de objetos del
servidor se produzca un error. Este protocolo es usado en esos casos para notificar
tanto a clientes como a servidores.
El formato de los mensajes de este protocolo es el siguiente:
Abort code
0503 0000
0504 0000
0504 0001
0504 0002
0504 0003
0503 0004
0503 0005
0601 0000
0601 0001
0601 0002
0602 0000
0604 0041
0604 0042
0604 0043
0604 0047
0606 0000
0606 0010
Description
Toggle bit no alternated
SDO protocol timed out
Client/Server command specifier not valid or unknown
Invalid clock size (Block Transfer mode only)
Invalid sequence number (Block Transfer mode only)
CRC error (Block Transfer mode only)
Out of memory
Unsupported Access to an object
Attempt to read a read-only object
Attempt to write a read-only object
Objects does not exist in the Object Dictionary
Object can not be mapped to the PDO
The number and lengh of the objects to be mapped would exceed PDO lengh
General parameter incompatibility reason
General internal incompatibility in the device
Object Access failed due to a hardware error
Data type does not match, lengh of service parameter does not match
0606 0012
0606 0013
0609 0011
0609 0030
0609 0031
0609 0032
0609 0036
0800 0000
0800 0020
0800 0021
0800 0022
0800 0023
Data type does not match, lengh of service parameter is too big
Data type does not match, lengh of service parameter is too low
Sub-index does not exist
Value range of parameter exceeded (only for write access)
Value of parameter is too high
Value of parameter is too low
Maximum value is less tan mnimum value
General error
Data can not be tranferred or stored to the application
Data can not be tranferred or stored to the application because of local
control
Data can not be tranferred or stored to the application because of the
present device state
Object Dictionaty dynamic generation fails or no Object Dictionary is present
(eg. OD is generate from file and generation fails because of a file error)
Los SDOs requieren ser definidos en el diccionario de objetos mediante una estructura
que contiene parmetros relacionados con la transmisin de los mismos. La estructura
para el primer SDO para servidores tiene un ndice de 0x1200 mientras que el primer
SDO para clientes, se ubica en la entrada 0x1280. En total, en una red CANopen, se
pueden definir hasta 128 SDOs para clientes y 128 SDOs para servidores.
Transmission
Type
0
1-240
241-251
252
253
254
255
B
O
O
O
B
O
O
Sync acyclic
Sync cyclic
reserved
Sync after RTR
Async after RTR
Async manufacture specific event
Async, device profile specific
event
En una red CANopen, hay un dispositivo que es el productor de objetos SYNC y una
serie de dispositivos consumidores de objetos SYNC. Cuando los consumidores reciben
el mensaje del productor, abren su ventana de sincronismo y pueden ejecutar sus
tareas sincrnicas. Este mecanismo permite coherencia temporal y coordinacin entre
los dispositivos. Por ejemplo, un conjunto de sensores pueden leer las variables del
proceso controlado en forma coordinada y obtener as una imagen consistente del
mismo.
El COB-ID usado por este objeto de comunicacin puede encontrarse en la entrada
0x1005 del diccionario. Para garantizar el acceso de estos objetos al bus, debera
asignrseles un COBID bajo. El conjunto predefinido de conexiones de CANopen
sugiere usar un valor de 128. El campo de datos del mensaje CAN de este objeto se
enva vaco.
Como se puede observar en la figura 39 el comportamiento de estos mensajes viene
determinado por dos parmetros (longitud de ventana y perodo de transmisin).
Byte 0-1
Emergency error
code
Byte 2
Error register
(Object 0x1001)
Byte 3
Manufacturer
specific error field
Emergency Error Code (2 bytes): cdigo del error que caus la generacin del
mensaje de emergencia. Se trata de fallos internos de los dispositivos por lo
cual, los errores se relacionan con fallos de tensin, de corriente, del software
del dispositivo, del adaptador del bus CAN, etc. En la tabla 7 se muestran los
cdigos correspondientes en hexadecimal.
Meaning
Error reset or NO error
Generic error
Current
Current, device input side
Current inside the device
Current device output side
Voltage
Mains voltaje
Voltaje inside the device
Out put voltage
Temperature
Ambient temperatura
Device temperature
Device hardware
Devoce software
Internal software
User software
Data set
Aditional modules
Monitoring
Communication
CAN overrun
Error passive
Life guard error or heart beat error
Recovered from Bus off
Protocol erro
PDO no processed due to length error
Length exceeded
External error
Aditional funtions
Device specific
Error Register (1 byte): entrada con ndice 0x1001 del diccionario de objetos.
Cada bit de este registro indica una condicin de error distinta cuando est a
1. En la tabla 8 se observa el significado de cada bit.
Significado
Error genrico
Problema de corriente
Problema de tensin
Problema de temperatura
Error de comunicacin
Especifico del perfil de dispositivo
Reservado
Especifico del fabricante del dispositivo
El maestro va preguntando a los esclavos si estn vivos cada cierto tiempo. Si alguno
no contesta en un tiempo determinado significa que est cado y se informa de ello. Si
los esclavos tambin monitorean al maestro deben informar de que el maestro est
cado si no reciben mensajes de Node Guarding de l durante un determinado
intervalo. El maestro interroga a los esclavos mediante una trama remota (RTR) con la
estructura mostrada en la tabla 9.
Tabla 9. Trama RTR que el NMT maestro enva a los NMT esclavos
En la tabla 10 se puede ver el mensaje con el que los NMT esclavos responden a ste.
Tabla 10. Mensaje que los NMT esclavos envan al NMT maestro
El toggle bit (bit 7) es un bit que va alternando su valor en cada mensaje de Node
Guarding. La primera vez vale 0. Los bits del 0 al 6 indican el estado del nodo. En la
tabla 11 se describen sus valores correspondientes.
Tabla 11. Valor del campo state en un NMT Node Guarding Heartbeat
Cada nodo manda un mensaje de Hearbeat cada cierto tiempo para informar de que
est operativo. En este caso el mensaje de Boot-up se considera que es el primer
mensaje de Heartbeat. Si el NMT maestro deja de recibir estos mensajes durante un
tiempo determinado significar que el nodo est cado.
En la tabla 12 se muestra la estructura de este tipo de mensaje, y en la tabla 13 se
describe el estado (state) en que se encuentra el nodo.
Tabla 12. Estructura de un mensaje de Heartbeat
Este estado es donde el nodo entra despus de activar el dispositivo resetearlo por
hardware y es donde los valores de reas del perfil de fabricacin, los valores de rea
de dispositivo estandarizado y los parmetros del rea de comunicaciones recuperan
sus valores predefinidos. Tras la inicializacin se enva el mensaje de Bootup para pasar
al estado siguiente.
PRE-OPERATIONAL:
Captulo 3
Diseo
En este captulo se explicara con detalle los pasos seguidos para el diseo e
implementacin del sistema anticolisin con sensores de proximidad sin contacto. Se
tratarn en detalle todas las especificaciones del sensor que se va a utilizar, la
seleccin de componentes y los pasos seguidos para crear el diseo del sistema
encargado del tratamiento y transmisin de datos.
que ofrecen prestaciones similares. Dentro de las opciones que Microchip pone a
disposicin del diseador a travs de su lnea de productos CAN, para este diseo
concreto se ha optado seleccionar un microcontrolador que integre un mdulo CAN y
unos controladores de comunicaciones. Con esto se simplifica la parte hardware ya
que no es necesario integrar en la placa del diseo un controlador CAN, ya que este
viene incorporado en el microcontrolador. Se simplifica la parte software ya que no es
necesario programar el puerto serie que comunica el microcontrolador con el
controlador CAN. Se reducen posibles problemas derivados de la inclusin de otro
componente en la placa (conexiones, ruidos, etc.), y se reduce el coste total de los
componentes.
Teniendo en cuenta que entre las caractersticas del microcontrolador han de estar
presentes al menos 8 puertos ADC para poder tratar la seal analgica de los 16
sensores, que formaran el anillo anticolisin, previo multiplexado, e incorporar un
mdulo CAN se ha seleccionado el modelo PIC18F2580. Que adems incorpora una
memoria de programa de 32K, un TIMER de 8 bits y 3 de 16 bits. Caractersticas ms
que suficientes para afrontar el diseo del Nodo CAN.
3.2.1 El Sensor
El sensor seleccionado es el HDSL-9100, un sensor infrarrojo de reflexin directa,
constituido por un emisor, que consiste en un led infrarrojo y un fotodiodo que acta
como receptor. El emisor emite pulsos de luz infrarroja que viaja a travs del medio, en
este caso el aire. Si el fotodiodo no recibe el reflejo de la luz infrarroja implica que no
se ha detectado ningn objeto. Por el contrario el receptor recibir el reflejo de la luz
infrarroja en caso de que un objeto se interponga en la direccin de desplazamiento de
la misma.
El pin 1 (LED_A) es el nodo del led infrarrojo (emisor) y estar conectado a una seal
PWM producida por un circuito externo que polariza el led para que emita pulsos de
luz infrarroja que permitan la deteccin del objeto.
El pin 2 (LED_K) es el ctodo del emisor y se conecta a GND para hacer posible la
polarizacin del emisor mediante la seal PWM.
El pin 3 (DET_K) es el ctodo del receptor y debido a que un fotodiodo se polariza en
inversa es el pin que respecto de tierra nos proporcionara la seal analgica de salida
del sensor para que sea tratada y procesada posteriormente.
El pin 4 (DET_A) es el nodo del fotodiodo y, como se ha dado a entender
anteriormente, est conectado a GND para permitir la polarizacin inversa del mismo.
En la siguiente tabla 14 se presentan las principales caractersticas elctricas del HDSL9100 seleccionado, destacando especialmente su bajo consumo y intensidad de
polarizacin del led infrarrojo emisor.
Tabla 14. Caractersticas elctricas del HDSL-9100
Las caractersticas principales por las que se ha seleccionado este sensor son:
Este acondicionador de seal presenta diversas entradas y salidas a travs de sus pines
y mediante los cuales se puede configurar el dispositivo. En la figura 45 se puede ver el
pinout del componente.
Pin 1 (LED ON): Pin de entrada digital por el que introducimos la seal PWM
que genera los pulsos de luz infrarroja emitidos por el emisor.
Pin 2 (ENB): Pin de entrada digital Enable. Con un bit controlaremos la
activacin o desactivacin del APDS-9700. Puede ser desactivado para
maximizar el ahorro de energa, y por tanto el consumo de batera en caso de
que sea utilizado en una aplicacin porttil.
ENB = 0 Normal mode operation / ENB = 1 Shut down mode
Pin 3 (DOUT): Pin de salida digital. Proporciona un pulso a nivel alto si se
detectase un objeto. Da flexibilidad al usuario dndole la posibilidad de obtener
3.2.3 El microcontrolador
Las principales caractersticas del microcontrolador PIC18F2580 seleccionado estn
resumidas en la tabla 16 en el que cabe destacar el mdulo ECAN , el modulo CCP y el
convertidor ADC de 10 bits de resolucin con 8 canales de entrada, que a continuacin
se describirn ms detalladamente. Adems este microcontrolador incluye 4 TIMER, de
los cules uno ser utilizado para controlar ciertas caractersticas temporales de los
Nodos CANopen. Posee una memoria de programa de 32K, que permite hasta un
mximo de 16384 instrucciones simples de programa.
Tabla 16. Principales caractersticas del microcontrolador
CARACTERISTICAS
PIC18F2580
I/O Ports
Ports A, B, C, (E) Ports
Timers
4
Capture/Compare/PWM Modules
1
ECAN Module
1
10-bit Analog-to-Digital Module
8 Input Channels
3.2.4 El transmisor-receptor
Este transceiver seleccionado ha sido el MCP2551, que tiene como principales
caractersticas soportar la tasa de transferencia mxima de 1 Mbps que se especifica
Pin 1: TxD: Entrada digital que recibe los datos que van a ser enviados por el
Bus.
Pin 2: VSS: Referencia de tierra.
Pin 3: VDD: Tensin de alimentacin (+5V).
Pin 4: RxD: Seal digital que transmite los datos recibidos por el bus.
Pin 5: Vref: Tensin de referencia a la salida definida como Vdd/2.
Pin 6: CANL: Parte baja de la seal diferencial del Bus.
Pin 7: CANH: Parte alta de la seal diferencial del Bus.
Pin 8: RS: Este pin permite seleccionar distintos modos de operacin (High
Speed, Slope Control, Standby) mediante una resistencia externa.
3.2.5 El Multiplexor
El multiplexor seleccionado para el control de entrada de las seales analgicas al
microcontrolador es el MC14551B, cuyo pinout podemos observar en la figura 48. Es
un switch analgico controlado digitalmente que permite seales analgicas
comprendidas en su rango de tensin de alimentacin. Se trata de cuatro
multiplexores 2 a 1 integrados en un mismo chip y que funcionan bajo el mismo bit de
control. A continuacin se define el patillaje y funcionalidad de los mismos.
V0
V1
V2
SEAL
CAN_L
CAN_H
Circuito Sensor:
HDSL 9100
El circuito sensor recibe la seal PWM, generada por el microcontrolador, a travs del
acondicionador de seal, que realiza un filtrado tanto de la luz artificial como de la
natural. Los sensores se encargan de detectar al objeto y proporciona una seal
analgica, en funcin de la distancia, que el acondicionador se encarga de amplificar y
dar salida.
Circuito de Control:
Circuito sensor:
La placa de circuito impreso del circuito sensor tiene unas dimensiones de 14mm x
14mm. Este circuito se alimenta a 3.3V recibidos desde el circuito de control y tiene un
consumo aproximado de 0.1A
14mm
14mm
Circuito de control:
La placa de circuito impreso del circuito sensor tiene unas dimensiones de 29,8mm x
44,6 mm. Este circuito se alimenta a 5V recibidos desde cualquiera de las
articulaciones de ASIBOT.
44,6mm
29,98mm
CONFIG.
TIMER 0
ALMACEN
A COB-ID
DE SINC
ASIGNA EL
NODE ID
ESTABLECE
TASA DE
TRANSFERENCI
A
CONFIG.
HEART
BEAT
LIFEFACT
OR
IRINIT
IRPROCE
SSEVENT
CONFIG.
TIMER 2
DEF.
VARIABLE
S CAMBIO
DISTANCIA
CONFIG.
PARAME
TROS DE
PIC
CONFIG.
PWM
CONFIG.
MODULO
CONV.
A/D
BARRIDO DE
DETECCION DE
OBJETOS
CONFIG.
MODO
SINC.
TPDOs
CONVERSION
A/D
INICIALIZA
BUFFERS
TRANSMISION
DE TPDOs
NO
CAMBIO
DISTANCIA?
SI
IRINIT
GUARDA
DISTANCIA
EN
BUFFER
TRANSM.
INICIALIZA EL
NODO
INITALL
MODO
SINCRONO?
MENSAJES
DE SINC?
SI
NO
PROCESADO
EVENTOS CAN
PDO, SDO, SYNC
IRPROCE
SSEVENT
TIMER0>1ms
NO
SI
TRATAMIENTO
EVENTOS
TEMPORALES.
NODEGUARD...
SI
NO
A travs de estas lneas se llevan a cabo las instrucciones necesarias para una correcta
configuracin del microcontrolador 18F2580, en las que se resalta como ms
importante:
..
RC1 y RC3 se han utilizado para encender leds y por tanto como pines de salida, que
nos indicaran el estado en el que se encuentra el modulo CAN y si existe peligro de
colisin respectivamente. RC5 se ha configurado como pin de salida para realizar el
control de los dos multiplexores que gestionan las seales analgicas de entrada en el
puerto ADC de 8 canales que tiene el microcontrolador. RC2 se configura como pin de
salida para la seal PWM necesaria para el diodo led infrarrojo emisor. Todos los pines
correspondientes a los 8 canales analgicos del convetidor A/D se configuran como
entrada, ya que ser por estos pines por los que se llevara a cabo la comunicacin
entre nuestros sensores y el microcontrolador.
FUNCION
ClosePWMx
OpenPWMx
SetDCPWMx
SetOutputPWMx
CloseEPWMx
OpenEPWMx
SetDCEPWMx
SetOutputEPWMx
Con base a los diferentes registros de control, los bits de configuracin y sus posiciones
en el registro de control hay que saber la versin del dispositivo a configurar, en
nuestro caso PIC18F2580, para llamar a la funcin apropiada con el nmero correcto
de argumentos.
A continuacin se muestra la tabla 22 en la que aparece la versin PWM para nuestro
dispositivo:
Tabla 22. Versin de pwm compatible con el microcontrolador
VERSION
PWM_V1
DISPOSITIVOS COMPATIBLES
18F2580,
De la tabla anterior las funciones ms importantes para nuestro diseo y por tanto las
que se usaran para la configuracin de la seal PWM son las siguientes:
ClosePWMx
OpenPWMx
SetDCPWMx
Close PWM1
PROTOTIPO:
void ClosePWM1 (void);
Se trata de una funcin que nos permite deshabilitar el canal especfico de PWM, si es
necesario. Est contenida en la librera pwm.h que debemos aadir en la cabecera de
nuestro programa.
Es una funcin tipo void sin argumento. La sentencia en nuestro programa con la que
deshabilitaramos el canal PWM es la siguiente:
ClosePWM1;
OpenPWM1
PROTOTIPO:
void OpenPWM1( char period );
Es una funcin que tambin est incluida en la misma librera que la funcin
ClosePWM1. Mediante esta funcin podemos configurar el canal PWM. Nos permitir
establecer el periodo de la seal.
El periodo puede ser cualquier valor entre 0x00 y 0xFF. Este valor determina la
frecuencia de la PWM utilizando la siguiente frmula:
PWM periodo = [(perodo) + 1] x 4 x TOSC x TMR2 prescaler
Esta funcin configura el canal de PWM para un periodo especificado y como base de
tiempos de la PWM utiliza solo el Timer2 del microcontrolador. Esto significa que
adems de abrir el canal de PWM el Timer2 tambin debe abrirse, antes de que la
PWM este operativa.
Para configurar la PWM debemos realizar la llamada a la funcin e inicializar el
argumento del periodo. Al tratarse de una funcin tipo void, y una vez calculado el
periodo de la seal PWM la sentencia ser la siguiente:
OpenPWM1 (0xFF);
100
void OpenTimer2( unsigned char config ); es el prototipo de la funcin que nos permite
configurar el timer2. Se encuentra dentro de la librera timer.h, que debemos incluir en
la cabecera del programa.
El argumento config de la funcin, es una mscara de bits que se crea mediante la
realizacin, bit a bit, de cualquiera de las operaciones AND(&) o OR(|), configurable
por el usuario, el valor de cada una de las categoras se muestran a continuacin.
Enable Timer2 Interrupt:
TIMER_INT_OFF
Interrupt disabled
Prescale Value:
T2_PS_1_16
1:16 prescale
Postscale Value:
T2_POST_1_1
1:1 postscale
SetDCPWM1
PROTOTIPO:
void SetDCPWM1( unsigned int dutycycle );
Utilizamos esta funcin para establecer el valor del ciclo de trabajo de la seal PWM. El
valor del ciclo de trabajo puede ser cualquier nmero de 10bits. Solo los 10 bits de
menor peso se escribirn en el registro del ciclo de trabajo. El ciclo de trabajo o ms
especficamente la forma de onda de la PWM se calcula mediante la siguiente frmula:
PWM x Duty cycle = (DCx<9:0>) x TOSC
Donde DCx<9:0> es el valor de 10 bits que se especifica en la llamada a la funcin.
La mxima resolucin de la forma de onda de la PWM puede ser calculada mediante la
siguiente frmula:
Resolution (bits) = log(FOSC/Fpwm) / log(2)
Para realizar la configuracin debemos realizar la llamada a la funcin e inicializar el
argumento del ciclo de trabajo. Al tratarse de una funcin tipo void y una vez calculado
el ciclo de trabajo de la seal PWM la sentencia ser la siguiente:
SetDCPWM1(0);
Los pasos a seguir para realizar la configuracin de una seal PWM son los siguientes:
1. Incluir en la cabecera del programa las libreras que contienen las funciones
2. Establecer como pin de salida el puerto CCP
3. Abrir el Timer2
101
1.
2.
3.
4.
5.
FUNCION
BusyADC
CloseADC
ConvertADC
OpenADC
ReadADC
SetChanADC
SelChanConvADC
Con base a los diferentes registros de control, los bits de configuracin y sus posiciones
en el registro de control hay que saber la versin del dispositivo a configurar, en
nuestro caso PIC18F2580, para llamar a la funcin apropiada con el nmero correcto
de argumentos.
A continuacin, en la tabla 34, se muestra la versin ADC para nuestro dispositivo:
102
DISPOSITIVOS COMPATIBLES
18F2580,
De la tabla 23, las funciones ms importantes para nuestro diseo y por tanto las que
se usaran para la configuracin el convertidor A/D son las siguientes:
OpenADC
SetChanADC
ConvertADC
BusyADC
ReadADC
OpenADC
PROTOTIPO:
void OpenADC(unsigned char config, unsigned char config2, unsigned char portconfig);
Esta funcin nos permite resetear el perifrico A/D a un estado inicial y configura los
registros relativos al convertidor A/D mediante los argumentos config y config2.
Tanto el argumento config, como el argumento config2, de la funcin, son una mscara
de bits que se crea mediante la realizacin, bit a bit, de cualquiera de las operaciones
AND(&) o OR(|), configurable por el usuario. El valor de cada una de las categoras
definen la frecuencia del reloj utilizado por el convertido, la resolucin del resultado de
la conversin, tiempo de adquisicin del seal a convertir, habilitacin o
deshabilitacin de interrupciones, voltajes de referencia y tipo de seal que se van a
recibir.
Config
A/D clock source: Define la frecuencia del reloj utilizado por el convertidor
ADC_FOSC_2 FOSC / 2
define
el
nmero
de
103
Config2
Channel:
ADC_V5 and ADC_V6:
ADC_CH0
Channel 0
A/D Vref+ and Vref- configuration: Define los voltajes de referencia para el resultado
digital de la conversin
ADC_REF_VDD_VSS
Portconfig
ADC_V5 and ADC_V6: Define el tipo de entrada que se recibirn por los puertos ANx
ADC_15ANA
All analog
SetChanADC
PROTOTIPO:
void SetChanADC( unsigned char channel );
Channel 0
Channel 1
Channel 2
Channel 3
Channel 4
Channel 8
Channel 9
Channel 10
ConvertADC
PROTOTIPO:
void ConvertADC( void );
104
Esta funcin nos permite, mediante su llamada, dar orden para que comience la
conversin.
BusyADC
PROTOTIPO:
char BusyADC( void );
ReadADC
PROTOTIPO:
int ReadADC( void );
#include <adc.h>
..
unsigned int conversion (unsigned char canal);
..
1. TRISAbits.TRISA0 = 1; // pin AN0 como entrada al ADC
TRISAbits.TRISA1 = 1; // pin AN1 como entrada al ADC
TRISAbits.TRISA2 = 1; // pin AN2 como entrada al ADC
105
Para digitalizar la seal entregada por cada sensor, es necesario realizar una
conversin A/D. Esta se realiza mediante la llamada a la funcin conversin, que tiene
como argumento el canal por el que entrara la seal analgica a convertir. Para la
eleccin de canales, se ha definido un array de 8 posiciones, una para cada canal, y se
106
Se utiliza el pin 5 del puerto C para gestionar el control sobre los multiplexores. En la
primera parte de la rutina de adquisicin este pin se configura con un 1 lgico para
leer los sensores impares. En la segunda parte se configura con un 0 lgico para leer
los sensores pares.
107
Se utiliza dos sentencias repetitivas anidadas, como es el for, que recorren los array
definidos para el almacenamiento de las distancias y la eleccin de los canales en la
llamada a la funcin. En la primera parte se almacenan en las primeras 8 posiciones de
array distancia los resultados de las conversiones analgico-digital que se han
realizado a travs de los canales del conversor A/D. En la segunda parte los resultados
se almacenan en las ultimas 8 posiciones del array.
Cada vez que se almacena un dato se compara con la distancia de peligro, configurable
por el usuario, para que en caso de que exista peligro de colisin emita una seal
luminosa indicativa a travs de un led y transmita dicha distancia a la CPU de control
de ASIBOT, por CANbus, para que este acte en consecuencia a la situacin que se
plantea.
108
109
110
Descripcin
CO_CANDRV.c
CO_CANDRV.h
CO_COMM.c
CO_COMM.h
CO_DEV.c
CO_DEV.h
CO_DICT.c
CO_DICT.h
CO_DICT.def
Driver de configuracin del modulo ECAN. Pueden ser sustituidos por los de
otros dispositivos si es necesario
Servicios de gestin de las comunicaciones. Requerido para todas las
aplicaciones
Archivos especficos de cada dispositivo. Deben ser editados por el usuario
CO_MAIN.c
CO_MAIN.h
CO_MEMIO.c
CO_MEMIO.h
CO_NMT.c
CO_NMT.h
CO_NMTE.c
CO_NMTE.h
CO_PDO.c
CO_PDO.h
CO_PDO1.c
CO_PDO1.h
CO_PDO2.c
CO_PDO2.h
CO_PDO3.c
CO_PDO3.h
CO_PDO4.c
CO_PDO4.h
CO_SDO1.c
CO_SDO1.h
CO_SYNC.c
CO_SYNC.h
CO_TOOLS.c
CO_TOOLS.h
CO_ABERR.h
111
112
113
El siguiente paso que realiza la funcin es configurar los modos de sincronismo de los
TPDOs segn el perfil del dispositivo. Se han de habilitar dos PDOs, uno en modo
asncrono (TPDO_1) y el otro en modo sncrono (TPDO_2). Es decir, el PDO_1
transmitir un mensaje cada vez que detecte un cambio de posicin y el PDO_2
enviara el mensaje de posicin de forma sincronizada con el SYNC Object.
Esta configuracin se logra a travs de las variables uIRSyncSet_1, uIRSyncCount_2 y
uIRSyncSet_2. uIRSyncSet_1 configurara el TPDO_1 y las otras dos variables el TPDO_2
adoptando los siguientes valores. uIRSyncSet_1 = 254, configura el TPDO_1 para
transmisin asncrona. uIRSyncCount_2 = uIRSyncSet_2 = 1, configura el TPDO_2 para
transmisin acclica sncrona.
El siguiente paso es inicializar los buffers de transmisin de ambos TPDOs
(uLocalTPDO2Buffer y uLocalTPDO1Buffer). En estos buffers se almacenaran los datos
de posicin que sern enviados segn el modo de sincronizacin de cada TPDO.
Por ltimo, en esta funcin se han de crear los COBID de los PDOs, asociarlos al buffer
de transmisin e indicar el tamao de dicho buffer. A continuacin se muestra el
proceso para el PDO_1 ya que para los siguientes PDOs el cdigo no vara.
..
114
Existe en el programa una variable global (uIRState) que nos indica el estado de los
TPDOs segn se explica a continuacin:
b0, indica que el TPDO_1 ha de ser enviado.
b1, indica al TPDO_1 que la lectura del encoder a variado.
b2, cuando la variable uIRSyncSet_1 = 0 indica al TPDO_1 que la lectura esta lista
para ser enviada cuando se reciba un SYNC Object.
b3, indica que el TPDO_2 ha de ser enviado.
b4, indica al TPDO_2 que la lectura del encoder a variado.
b5, cuando la variable uIRSyncSet_2 = 0 indica al TPDO_2 que la lectura esta lista
para ser enviada cuando se reciba un SYNC Object.
b6 y b7, no se utilizan.
Una vez que se ha detectado un cambio de distancia en la lectura de alguno de los
sensores, el siguiente paso es chequear el modo de sincronismo y enviar la lectura. Si
estamos en modo asncrono (uIRSyncSet igual a 254 255) enva la lectura
inmediatamente y en el modo sncrono (uIRSyncSet en el rango [1253]) espera la
recepcin de tantos mensajes de sincronismo como indique el valor de uIRSyncSet.
Existe la posibilidad de que se le asigne a la variable uIRSyncSet el valor 0 en cuyo
caso cumple la misma funcionalidad que cuando se le asigna el valor 1 pero slo
transmitir el mensaje si se ha producido un cambio de posicin antes de recibir el
SYNC Object.
115
..
case 254:
// Asynchronous transmit
case 255:
// Reset the asynchronous transmit flag
uIRState.bits.b0 = 1;
break;
El ltimo paso es la activacin de un flag para que el dato sea enviado por el NMT y el
reset de los flag indicadores de envo de datos pendientes.
.
// If ready to send
if (mTPDOIsPutRdy(1) && uIRState.bits.b0)
{
// Tell the stack data is loaded for transmit
mTPDOWritten(1);
116
void CO_COMMSyncEvent(void)
Es la funcin encargada del tratamiento de sincronismos de la comunicacin. En este
caso se editar, para el caso del TPDO_1, de la forma que muestra el cdigo siguiente:
// TPDO1
// Procesar slo en modo sncrono
if ((uIRSyncSet_1 == 0) && (uIRState.bits.b2))
{
// Activar flag para envo de mensaje.
uIRState.bits.b2 = 0;
u IRState.bits.b0 = 1;
}
else
{
if ((uIRSyncSet_1 >= 1) && (uIRSyncSet_1 <= 240))
{
// Cuenta de mensajes de sincronismo para el modo sncrono.
uIRSyncCount_1;
// Habilitar envo de mensaje.
if (uIRSyncCount_1 == 0)
{
// Reset del contador de mensajes de sincronismo.
uIRSyncCount_1 = uIRSyncSet_1;
// Activar flag de transmisin.
uIRState.bits.b0 = 1;
}
}
}
void AppLED(void)
Esta funcin controlara el LED con el fin de indicar el estado del Nodo. En estado
STOPPED el LED permanecer apagado, parpadeara en PREOPERATIONAL y
permanecer encendido mientras este en OPERATIONAL.
void AppLED(void)
{
if (COMM_STATE_STOP)
{
LATCbits.LATC1 = 0;
}else if (COMM_STATE_OPER)
{
LATCbits.LATC1 = 1;
}else
{
if ( ContLED <= 0)
{
ContLED += LED_PERIOD_MS;
LATCbits.LATC1 = ~LATCbits.LATC1;
}else
ContLED -= CO_TICK_PERIOD;
}
117
Donde:
LED_PERIOD_MS: Indica la frecuencia con la que el LED parpadea.
CO_TICK_PERIOD: Indica con qu frecuencia en milisegundos es llamada la
funcin.
118
Captulo 4
Ensayos y resultados
En este captulo se explican los distintos ensayos que se han realizado para conseguir
la implementacin de un sistema anticolisin lo ms cercano posible a las necesidades
que se planteaban.
Se han realizado pruebas a los distintos circuitos que componen el sistema anticolisin
y pruebas de comunicacin por CANbus.
R1
16
D1
LED
D3
PHOTODIODE
119
120
121
La seal de respuesta que obtenemos a esta distancia es una seal dbil pero
demuestra que mediante el acondicionador de seal podemos realizar detecciones de
objetos a mayor distancia.
122
..
for (i=0;i<4;i++)
for (j=0;j<4;j++)
{
distanciaIR[i]=conversion(channel[j]);
if (distanciaIR[i]>61)
{
PORTCbits.RC3 = 1;//enciende led
uIRDistance.word=distanciaIR[i];
}
else
PORTCbits.RC3 = 0;//led apagado
}
..
.
Para realizar el ensayo se aproximaba al anillo sensor objetos para que este realizara la
deteccin y encendiera el led. Un ejemplo del ensayo se muestra en la figura 71.
123
124
125
254 y 255, modo asncrono. Enva un TPDO cada vez que se detecta un
cambio de posicin.
COMANDO
L_INDEX
H_INDEX
0x600+NodeID
0x23
0x00
0x18
SUBINDEX
0x01
D1
D2
D3
D4
0x80+NodeID
0x01
0x00
0x40
D1
D2
D3
D4
0x80+NodeID
0x02
0x00
0x40
COMANDO
L_INDEX
H_INDEX
0x600+NodeID
0x23
0x01
0x18
SUBINDEX
0x01
Donde:
126
Capitulo 5
Conclusiones y futuros desarrollos
A lo largo de este captulo se realiza una evaluacin de los resultados obtenidos y se
detallaran las conclusiones finales sobre el sistema anticolisin implementado. Se
propondrn futuras ampliaciones y se realizara un anlisis crtico.
5.1 Conclusiones
Para cumplir el objetivo del diseo, descrito en el apartado 1.2 de este documento, ha
sido necesario seguir una serie de pasos, que podramos llamar, objetivos intermedios
que se detallan a continuacin:
1. Estudio de diferentes tipos de sensores de proximidad sin contacto y estudio
de otros proyectos que utilizan un sistema anticolisin o de deteccin de
objetos.
En el apartado 2.2 de este documento se puede observar un exhaustivo estudio de
diferentes sensores de proximidad sin contacto lo que demuestra que la eleccin del
sensor no ha sido una decisin tomada a la ligera. Se han tenido en cuenta diferentes
factores como la distancia de deteccin, zonas muertas y requisitos elctricos que
cumplieran las condiciones para poder incorporarlos a ASIBOT.
El diseo del sistema anticolisin ha sido posible gracias al estudio de otros proyectos
que incorporan sistemas anticolisin. De los proyectos estudiados se ha llegado a la
conclusin de que un sistema en anillo era lo ms eficiente, adems en este caso la
solucin de un anillo enseguida encajo con la estructura fsica de ASIBOT, ya se poda
crear un sistema con forma de pulsera al tratarse de un brazo robot.
2. Seleccin del tipo de sensor ms adecuado y su posterior estudio e
interpretacin de las seales que nos proporciona.
Tras el estudio de los diferentes tipos de sensores se llego a la conclusin de que un
sensor infrarrojo de reflexin directa era el ms adecuado para nuestro sistema. El
sensor seleccionado es un sensor que permite la deteccin a distancias cortas, adems
es de un tamao muy reducido y de un haz de deteccin de una apertura que permite
crear un anillo alrededor de la pinza de ASIBOT con un menor nmero de sensores y no
pone en peligro la integridad del robot.
3. Implementacin de un circuito sensor que cumpla las caractersticas necesarias
de deteccin.
127
El sensor por si solo proporciona una seal analgica en funcin de la distancia a la que
se encuentra el objeto. Sin embargo es sensible a la luz artificial y a la luz solar, lo que
provoca que el sistema sea de dudosa fiabilidad tanto en espacios cerrados como en
espacios al aire libre. Para solucionarlo se utiliza un acondicionador de seal que
realiza la funcin de filtrado de luz artificial y solar, adems tambin realiza una
amplificacin de la seal recibida por el sensor, lo que aumenta la distancia de
deteccin del sensor.
4. Eleccin de un microcontrolador adecuado para las necesidades de nuestro
sistema.
Para el correcto funcionamiento del sistema anticolisin es necesario establecer un
control sobre los circuitos sensores. Para ello se ha seleccionado el microcontrolador
18F2580 ya que rene los requisitos necesarios. Tiene modulo convertidor A/D con
una resolucin de 10 bits por canal, modulo de comunicacin CAN y puerto CCP para
generacin de seales PWM.
5. Implementar un circuito de control que permita el control y la comunicacin
con los circuitos sensores, y adems comunicacin con ASIBOT mediante
protocolo CANopen.
El circuito de control estar formado por el microcontrolador y los componentes
necesarios para el control del sistema. El microcontrolador seleccionado tiene 8
canales de conversin A/D, sin embargo el anillo est formado por 16 circuitos de
deteccin de objetos, lo que hace necesario la colocacin de multiplexores para la
gestin de la entrada de las seales.
En el circuito de control hay un convertido de tensin para hacer llegar alimentacin a
los circuitos sensores.
Tienen un cristal de 20 MHz utilizado para la generacin de la PWM que excitan a los
diodos de luz infrarroja de los sensores.
Por ltimo tambin se ha colocado un transceiver para hacer posible la emisin y
recepcin de datos entre el sistema anticolisin y ASIBOT.
6. Adquirir los conocimientos necesarios sobre el entorno de desarrollo MPLAB
de Microchip, y su herramienta compiladora para microcontroladores de la
familia PIC18.
Par llevar el desarrollo software del sistema anticolisin fue necesario el estudio de
una gua de utilizacin de MPLAB as como guas de programacin en C18.
7. Desarrollo hardware de un sistema anticolisin de prueba en una placa de
puntos.
128
129
Por espacio no podra utilizarse sensores ultrasnicos cuyo emisor y receptor estn en
cuerpos separados y los que se componen de emisor y receptor en un solo cuerpo han
sido descartados debidos a la gran zona muerta que se genera debido al
funcionamiento de este tipo de sensores. Realizan la emisin de una onda a una
frecuencia imperceptible para el odo humano, pasa de estado emisor a estado
receptor y recibe el eco de la onda emitida.
Sin embargo esta zona muerta podra solucionarse mediante los sensores infrarrojos
que componen el anillo anticolisin implementado en este proyecto. Eliminando dicha
zona muerta y utilizando sensores ultrasnicos tendramos un mayor control sobre el
entorno detectando objetos a distancia mucho ms largas que no habra por que
tomar como peligro. Esto permitira a ASIBOT realizar variaciones de velocidad para
aproximaciones a objetos. Este cambio de diseo supondra un aumento en el
consumo del dispositivo, sin embargo es posible realizar un control sobre los barridos
de deteccin de manera que definiendo el alcance y zona de deteccin de cada uno de
los tipos de sensores estos estuvieran coordinados para que unos funcionen hasta que
comience la zona de deteccin de los otros, es decir, los sensores infrarrojo podran
funcionar desde los 5 mm hasta los 100 mm, debido a que el circuito sensor
implementado en este proyecto lo hace posible, y los sensores ultrasnicos entraran
en funcionamiento aproximadamente a los 90mm hasta su lmite de alcance, pasando
los sensores infrarrojos a modo de stanby , lo cual es posible mediante el pin 3 del
acondicionador de seal del circuito sensor. Alternando el funcionamiento
reduciramos el consumo del nuevo dispositivo.
Para conseguir una mayor funcionalidad al sistema desarrollado, y que fuera posible su
utilizacin en otros robots, podramos dotarlo de una batera, ya que su bajo consumo
lo hace totalmente posible. Con una batera podramos incorporar este sistema a
cualquier robot que permita conexin mediante CANbus. Esta mejora permitira
convertir un sistema anticolisin diseado para un robot en concreto en un sistema
anticolisin til para cualquier robot con comunicacin CANbus.
Otra futura mejora o ampliacin a nivel hardware seria el diseo del sistema en un
circuito impreso flexible. Se ha establecido un primer contacto con empresas que se
dedican a la fabricacin de este tipo de placas y seria una solucin bastante
interesante para un futuro cuando se obtenga un diseo con una validacin mas
exhaustiva en un entorno real con ASIBOT. Los componentes debern estar soldados
en partes de placa rgida pero tanto las conexiones para llevar tanto las seales de
alimentacin, masa y la seal PWM entre ellas, como las seales de respuesta de cada
uno de los circuitos sensores con el circuito de control podran realizarse en circuito
impreso flexible para que se adapte adecuadamente a cualquier posicin necesaria en
ASIBOT u otros lugares.
130
131
Referencias
[1] Martnez Alberto, David. Anlisis cinemtico y dinmico del robot PASIBOT;
PFC Universidad Carlos III de Madrid, 2008
[2] A. Jardn, R. Correal, S. Martnez, A. Gimnez, C. Balaguer. Robots personales y
asistenciales; RoboticsLab; Universidad Carlos III de Madrid, 2006
[3] F. Ebel, S. Nestel. Sensores para la tcnica de procesos y manipulacin, 1993
[4] J.Urea, M.Mazo, J.Garcia, J.Lozano, P.Revenga, J.C.Garcia, F.J.Rodriguez,
E.Santiso. Sensores de ultrasonidos e infrarrojos usados en la deteccin de obstculos
e irregularidades del suelo para aplicaciones de robots mviles. Departamento de
Electrnica. Universidad de Alcal, 1995.
[5] A. Herrera Velsquez; R. Jaramillo Morales. Diseo y construccin de un
dispositivo para alerta de obstculos. Escuela de Ingeniera de AntioquiaUniversidad
CES, Medelln, Colombia, 2007
[6] Kaijen Hsiao, Paul Nangeroni, Manfred Huber, Ashutosh Saxena, Andrew
Y. Reactive Grasping using Optical Proximity Sensors, Robotics and Automation,
2009. ICRA '09. IEEE International Conference.
[7] Fortes Monteiro, J.; Diseo e implementacin encoder absoluto CANopen.; PFC
Universidad Carlos III de Madrid, 2009.
[8] Robert Bosch GmbH. BOSCH Controller Area Network protocol specification.
Revision 2.0, Stuttgart, 1991.
[9] H. Boterenbrood. NIKHEF, Amsterdam. CANopen: high level protocol for CAN-bus,
March20, 2000. [Consulta: Agosto 2010].
http://www.nikhef.nl/pub/departments/ct/po/doc/CANopen30.pdf
132
Anexos
Anexo1. Listado de componentes
COMPONENTE
UNIDADES
DESCRIPCION
CIRCUITO SENSOR
HDSL-9100
APDS-9700
RESISTENCIA 10R
CONDENSADOR 100nF
CONDENSADOR 6,8uF
POTENCIOMETRO 500K
CONDENSADOR 3,3nF
16
16
16
16
16
16
16
SENSOR INFRARROJO
ACONDICIONADOR DE SEAL
RESISTENCIA
CONDENSADOR
CONDENSADOR
RESISTENCIA VARIABLE
CONDENSADOR
CIRCUITO DE CONTROL
PIC18F2580
MC14551B
MCP2551
MCP1825
LED
CRISTAL 20MHz
CONDENSADOR 22Pf
RESISTENCIA 150R
RESISTENCIA 100R
RESISTENCIA 10KR
RESISTENCIA 1KR
RESISTENCIA 2KR2
BU3-1000P
1
2
1
1
2
1
2
2
1
1
1
1
1
MICROCONTROLADOR
MULTIPLEXOR
TRANSCEIVER
REGULADOR DE TENSION
LED INDICADOR ROJO
CRISTAL 20MHz
CONDENSADOR
RESISTENCIA
RESISTENCIA
RESISTENCIA
RESISTENCIA
RESISTENCIA
SWITCH
133
Anexo 2. Presupuesto.
COMPONENTE
HDSL-9100
APDS-9700
RESISTENCIA 10R
RVAR 500KR
CONDENSADOR 100nF
CONDENSADOR 3,3nF
CONDENSADOR 6,8 uF
PIC18F2580
MC14551B
MCP2551
MCP1825
LED
CRISTAL 20MHz
CONDENSADOR 22pF
CONDENSADOR 100nf
RESISTENCIA 150R
RESISTENCIA 100R
RESISTENCIA 10KR
RESISTENCIA 1KR
RESISTENCIA 2KR2
BU3-1000P
CIRCUITO SENSOR
CIRCUITO DE CONTROL
CIRCUITO SENSOR
UND
PVP ()
1
1
1
1
1
1
1
2,15
0,96
0,03
2,12
0,07
0,04
0,17
TOTAL
CIRCUITO DE CONTROL
5,54
1
2
1
1
2
1
2
1
2
1
1
1
1
1
6,37
2,01
1,08
1,33
0,10
1,15
0,06
0,07
0,38
0,02
0,02
0,13
0,13
1,00
TOTAL
SISTEMA ANTICOLISION
16,4
16
1
5,54
16,4
TOTAL
FABRICACION PCB FLEXIBLE
105,04
1
1
16
5
1000
200
100
80
TOTAL
3200
DISEO CONCEPTUAL
DISEO DETALLE CTO SENSOR
DISEO DETALLE CTO CONTROL
PROGRAMACION PIC
PUESTA EN MARCHA
PRUEBAS FUNCIONALES
MANO DE OBRA
h
120
75
80
250
5
20
TOTAL
PVP ()
30,63
30,63
30,63
30,63
30,63
30,63
19900
134
135
136
137
138
Anexo 5. Microcontrolador
139
Anexo 6. Multiplexor.
140
Anexo 7. Transceiver
141
142
SENSOR1
GND
+3.3V
BLOQUE2
SENSOR2
GND
+3.3V
BLOQUE3
SENSOR3
GND
+3.3V
BLOQUE4
SENSOR4
GND
+3.3V
BLOQUE5
SENSOR5
GND
+3.3V
BLOQUE6
SENSOR6
GND
+3.3V
BLOQUE7
SENSOR7
GND
+3.3V
BLOQUE8
SENSOR8
GND
+3.3V
BLOQUE9
SENSOR9
GND
+3.3V
BLOQUE10
GND
+3.3V
BLOQUE11
GND
+3.3V
BLOQUE12
GND
+3.3V
BLOQUE13
GND
+3.3V
BLOQUE14
GND
+3.3V
BLOQUE15
GND
+3.3V
BLOQUE16
GND
+3.3V
BLOQUE17
BLOQUE0
PW
S9M
+3.3V
CONTROL_1
SENSOR10
PW
S10
M
PWM
GN D
+5V
CAN_L
CAN_H
RJ 11.5
RJ 11.4
RJ 11.3
RJ 11.2
RJ 11.1
PW
S1M
PW
S8M
S1
S2
S3
S4
S5
S6
S7
S8
S9
S10
S11
S12
S13
S14
S15
S16
BR1
MSV9
1
2
3
4
5
6
7
8
9
143
PW
S2M
PW
S3M
PW
S4M
PW
S5M
PW
S6M
PW
S7M
SENSOR11
PW
S11
M
SENSOR12
PW
S12
M
SENSOR13
PW
S13
M
SENSOR14
PW
S14
M
SENSOR15
PW
S15
M
SENSOR16
PW
S16
M
+3.3V
S1
GND
C25
PWM
100nf
C26
+
U17
6,8uf
DOUTPFLIP
GND
PD
10R9
2
R1
6
5
R3_VAR9
500R
APDS_9700
C27
LED_K 1
2
ENB LEDA
3.3nf
DET_K
LED_A
HSDL_9100
L_ON VCC
DET_A
4
3
144
U18
145
+5V
GND
+3.3V
S1
S2
S3
S4
S5
S6
S7
S8
S9
S10
S11
S12
S13
S14
S15
S16
RJ11.1
RJ11.2
RJ11.3
RJ11.4
RJ11.5
1
2
3
4
5
6
7
8
16
15
14
13
12
11
10
9
16
15
14
13
12
11
10
9
RESISTOR C3
SW1
SW_PB_SPSTCAP NP
R2
RESISTOR
R1
U3
W1VDD
X0 W0
X1 W
X
Z
Y Z1
Y 0 Z0
VEEY 1
VSS C
U2
W1VDD
X0 W0
X1 W
X
Z
Y Z1
Y0 Z0
VEEY 1
VSS C
MC14551B
1
2
3
4
5
6
7
8
MC14551B
C1
C2
CAP NP
CAP NP
U4
Y1
ZTA
1 +5V +3.3V 3
2
GND
REGULADOR DC/DC
1
9
10
7
6
5
4
3
2
28
27
26
25
24
23
22
21
20
PVN1
MCLR/VPP/RE3
OSC1
OSC2
RA5
RA4
RA3
RA2
RA1
RA0
RB7/PGD
RB6/PGC
RB5/PGM
RB4
RB3
RB2
RB1
RB0
VDD
PIC18F2580 - S
RC7
RC6
RC5
RC4
RC3
RC2
RC1
RC0
VSS
VSS
18
17
16
15
14
13
12
11
19
8
R3
RESISTOR
1
2
3
4
U1
TXD
D1
LED
RS
VSS CANH
VDD CANL
RXD VREF
MCP2551
PWM
CAN_H
CAN_L