Está en la página 1de 104

Sensores - Conceptos generales

Descripción y funcionamiento
Material Gratis perteneciente al curso de robótica para la
creatividad.
Introducción

Un robot es, por definición, una máquina capaz de


interactuar con su entorno. Si es móvil, a menos que
se mueva en un espacio absolutamente acotado y
preparado para él, deberá ser capaz de adaptar sus
movimientos y sus acciones de interacción en base a
las características físicas de los ambientes con los que
se encuentre y los objetos que hay en ellos.

Para lograr esta capacidad de adaptación, lo primero


que necesitan los robots es tener conocimiento del
entorno. Esto es absolutamente clave. Para conocer el
entorno, los seres vivos disponemos de un sistema
sensorial. Los robots no pueden ser menos: deben
poseer sensores que les permitan saber dónde están,
cómo es el lugar en el que están, a qué condiciones
físicas se enfrentan, dónde están los objetos con los
que deben interactuar, sus parámetros físicos, etc.

Para esto se utilizan diversos tipos de sensores (o


captadores), con un rango de complejidad y
sofisticación que varía desde algunos bastante simples
a otros con altos niveles de sofisticación de hardware
y más aún de complejidad de programación.

Detalles sobre los sensores para robots

Existe una amplia variedad de dispositivos diseñados


para percibir la información externa de una magnitud
física y transformarla en un valor electrónico que sea
posible introducir al circuito de control, de modo que el robot sea capaz de
cuantificarla y reaccionar en consecuencia.

Un sensor consta de algún elemento sensible a una magnitud física —como


por ejemplo la intensidad o color de la luz, temperatura, presión,
magnetismo, humedad— y debe ser capaz, por su propias características, o
por medio de dispositivos intermedios, de transformar esa magnitud física en
un cambio eléctrico que se pueda alimentar en un circuito que la utilice
directamente, o sino en una etapa previa que la condicione (amplificando,
filtrando, etc.), para que finalmente se la pueda utilizar para el control del
robot.

Magnitudes físicas que es necesario medir para que un robot tenga


algún conocimiento del entorno:

 Luz (con su gama de espectro: visible, infrarroja, ultravioleta)


Contactos de mercurio

También para medir inclinación, aunque en este


caso sin obtener valores intermedios, sino
simplemente un contacto abierto o cerrado, existen
las llaves o contactos de mercurio, que consisten en
un cilindro (por lo general de vidrio) en el que
existen dos contactos a cerrar y una cantidad
suficiente de mercurio que se puede deslizar a un
extremo u otro del cilindro y cerrar el contacto.

Giróscopos

El giróscopo o giroscopio está basado en un


fenómeno físico conocido hace mucho, mucho
tiempo: una rueda girando se resiste a que se
le cambie el plano de giro (o lo que es lo
mismo, la dirección del eje de rotación). Esto
se debe a lo que en física se llama "principio
de conservación del momento angular".
En robots experimentales no se suelen ver
volantes giratorios. Lo que es de uso común
son unos sensores de pequeño tamaño, como
los que se utilizan en modelos de helicópteros y robots, basados en
integrados cuya "alma" son pequeñísmas lenguetas vibratorias,
construidas directamente sobre el chip de silicio. Su detección se
basa en que las piezas cerámicas en vibración son sujetas a una
distorsión que se produce por el efecto Coriolis.

Información detallada -> Sensores - Giróscopos

Termistores

Un termistor es un resistor cuyo valor varía


en función de la temperatura. Existen dos
clases de termistores: NTC (Negative
Temperature Coefficient, Coeficiente de
Temperatura Negativo), que es una
resistencia variable cuyo valor se decrementa a medida que aumenta
la temperatura; y PTC (Positive Temperature Coefficient, Coeficiente
de Temperatura Positivo), cuyo valor de resistencia eléctrica
aumenta cuando aumenta la temperatura.
La lectura de temperaturas en un robot, tanto en su interior como en
el exterior, puede ser algo extremadamente importante para
proteger los circuitos, motores y estructura de la posibilidad de que,
por fricción, esfuerzo, trabas o excesos mecánicos de cualquier tipo
se alcancen niveles peligrosos de calentamiento.

RTD (Termorresistencias)

Los sensores RTD (Resistance Temperature


Detector), basados en un conductor de platino y
otros metales, se utilizan para medir
temperaturas por contacto o inmersión, y en
especial para un rango de temperaturas
elevadas, donde no se pueden utilizar
semiconductores u otros materiales sensibles.
Su funcionamiento está basados en el hecho de
que en un metal, cuando sube la temperatura,
aumenta la resistencia eléctrica.

Termocuplas

El sensor de una termocupla está formado


por la unión de dos piezas de metales
diferentes. La unión de los metales genera
un voltaje muy pequeño, que varía con la
temperatura. Su valor está en el orden de
los milivolts, y aumenta en proporción con
la temperatura. Este tipo de sensores cubre
un amplio rango de temperaturas: -180 a
1370 °C.

Diodos para medir temperatura

Se puede usar un diodo semiconductor ordinario


como sensor de temperatura. Un diodo es el sensor
de temperatura de menor costo que se puede hallar,
y a pesar de ser tan barato es capaz de producir
resultados más que satisfactorios. Sólo es necesario
hacer una buena calibración y mantener una
corriente de excitación bien estable. El voltaje sobre
un diodo conduciendo corriente en directo tiene un
coeficiente de temperatura de alrededor de 2,3 mV/°C y la variación,
dentro de un rango, es razonablemente lineal. Se debe establecer
una corriente básica de excitación, y lo mejor es utilizar una fuente
de corriente constante, o sino un resistor conectado a una fuente
estable de voltaje.

Circuitos integrados para medir temperatura

Existe una amplia variedad de circuitos


integrados sensores de temperatura (se puede
encontrar una lista en el link de abajo con la
información detallada). Estos sensores se
agrupan en cuatro categorías principales: salida
de voltaje, salida de corriente, salida de
resistencia y salida digital. Con salida de voltaje
podemos encontrar los muy comunes LM35 (°C)
y LM34 (°K) de National Semiconductor. Con salida de corriente uno
de los más conocidos es el AD590, de Analog Devices. Con salida
digital son conocidos el LM56 y LM75 (también de National). Los de
salida de resistencia son menos comunes, fabricados por Phillips y
Siemens.

Información detallada -> Sensores - Integrados para medir


temperatura

Pirosensores (sensores de llama a distancia)

Existen sensores que, basados en la detección de


una gama muy angosta de ultravioletas, permiten
determinar la presencia de un fuego a buena
distancia. Con los circuitos que provee el fabricante,
un sensor de estos (construido con el bulbo
UVTron) puede detectar a 5 metros de distancia un
fósforo (cerilla) encendido dentro de una habitación
soleada. En el mercado de sensores industriales se
puede encontrar una variedad amplia de sensores
de llama a distancia, algunos que detectan también ultravioleta y
otros que se basan en los infrarrojos, aunque por lo que pude ver, la
mayoría son de tamaño bastante grande. Otro sensor que se utiliza
en robótica, en este caso sensible a los infrarrojos, es el módulo
TPA81.

Información detallada -> Sensores - Pirosensores a distancia

Sensores de humedad
La detección de humedad es importante en un
sistema si éste debe desenvolverse en entornos
que no se conocen de antemano. Una humedad
excesiva puede afectar los circuitos, y también la
mecánica de un robot. Por esta razón se deben
tener en cuenta una variedad de sensores de
humedad disponibles, entre ellos los capacitivos y
resistivos, más simples, y algunos integrados con
diferentes niveles de complejidad y prestaciones.

Para el uso en robótica, por suerte, se puede contar con módulos


pequeños, versátiles y de costo accesible, como el SHT11 de
Sensirion.

Información detallada -> Sensores - Humedad

Sensores magnéticos

En robótica, algunas situaciones de


medición del entorno pueden requerir del
uso de elementos de detección sensibles a
los campos magnéticos. En principio, si
nuestro robot debe moverse en ambientes
externos a un laboratorio, una aplicación
importante es una brújula que forme parte
de un sistema de orientación para nuestro
robot. Otra aplicación es la medición directa
de campos magnéticos presentes en las inmediaciones, que podrían
volverse peligrosos para el "cerebro" de nuestro robot si su
intensidad es importante. Una tercera aplicación es la medición de
sobrecorrientes en la parte motriz (detectando la intensidad del
campo magnético que genera un conductor en la fuente de
alimentación). También se podrán encontrar sensores magnéticos en
la medición de movimientos, como el uso de detectores de "cero
movimiento" y tacómetros basados en sensores por efecto Hall o
pickups magnéticos.

Información detallada -> Sensores - Magnetismo

Sistema de posicionamiento global

Si bien nos puede parecer demasiado lujo


para nuestros experimentos, lo cierto es que
un sistema de posicionamiento global (GPS,
Global Positioning System) aporta una serie
de datos que pueden ser muy útiles para un
robot avanzado. Un ejemplo de este servicio
es el módulo DS-GPM, fabricado por Total
Robots, que entrega datos de latitud,
longitud, altitud, velocidad, hora y fecha y posición satelital. Estos
datos se comunican desde los registros del módulo a través de
interfaces I2C y RS232. Si bien no es barato, en realidad no es tan
inaccesible: un dispositivo de estas características se vende en el
mercado de EEUU a un valor cercano a los us$ 400.

Receptores de radiobalizas

Por medio de un grupo de emisores de


radiofrecuencia codificados, ubicados en
lugares conocidos por el sistema, es posible
establecer con precisión la posición de un
robot, con sólo hacer una triangulación. Al
efecto el robot debe poseer una antena de
recepción direccional (con reflector
parabólico, o similar) que pueda girar 360°,
y así determine la posición de las
radiobalizas. En el robot es posible usar
receptores integrados muy pequeños y de bajo costo, como el RWS-
433, o el RXLC-434, y otros similares, que trabajan en frecuencias
de entre 303 y 433 Mhz. La elección de los transmisores dependerán
de la distancia a que se ubiquen las radiobalizas, pero si se trata de
áreas acotadas es posible utilizar los módulos transmisores
hermanados con los anteriores, como el TWS-433 y el TXLC-434.

Información detallada -> Sensores - Receptores (y transmisores) de


RF

Sensores de proximidad

Los sensores de proximidad que se obtienen en la


industria son resultado de la necesidad de contar
con indicadores de posición en los que no existe
contacto mecánico entre el actuador y el detector.
Pueden ser de tipo lineal (detectores de
desplazamiento) o de tipo conmutador (la
conmutación entre dos estados indica una posición
particular). Hay dos tipos de detectores de
proximidad muy utilizados en la industria: inductivos y capacitivos.
Los detectores de proximidad inductivos se basan en el fenómeno de
amortiguamiento que se produce en un campo magnético a causa de
las corrientes inducidas (corrientes de Foucault) en materiales
situados en las cercanías. El material debe ser metálico. Los
capacitivos funcionan detectando las variaciones de la capacidad
parásita que se origina entre el detector propiamente dicho y el
objeto cuya distancia se desea medir. Se emplean para medir
distancias a objetos metálicos y no metálicos, como la madera, los
líquidos y los materiales plásticos.
Fotoceldas o celdas fotovoltaicas

La conversión directa de luz en electricidad a nivel atómico se llama


generación fotovoltaica. Algunos materiales presentan una
propiedad conocida como efecto fotoeléctrico, que hace que
absorban fotones de luz y emitan electrones. Cuando se captura a estos
electrones libres emitidos, el resultado es una corriente eléctrica que
puede ser utilizada como energía para alimentar circuitos.

Conjunto de cuatro celdas solares Algunos sensores fotovoltaicos

Las celdas fotovoltaicas, llamadas también celdas solares, están


compuestas de la misma clase de materiales semiconductores que se
usan en la industria microelectrónica, como por ejemplo el silicio.
Una delgada lámina semiconductora, especialmente tratada, forma
un campo eléctrico, positivo en un lado y negativo en el otro. Cuando
incide energía luminosa sobre ella, los electrones son golpeados y
extraídos de los átomos del material semiconductor. Como se han
dispuesto conductores eléctricos en forma de una rejilla que cubre
ambas caras del semiconductor, los electrones circulan para formar
una corriente eléctrica que aporta energía.
Si bien en la actualidad las celdas fotovoltaicas se utilizan más bien
para tomar energía solar y cargar baterías (como lo hacen las sondas
espaciales y los robots que se mueven en Marte), un sensor basado
en una celda de éstas tiene la ventaja de poder activar un circuito
con su propia energía ante la presencia de suficiente luz. En otros
sentidos, más que nada por tamaño, fragilidad y precio, no son la
opción más conveniente para usarlas en la detección de una señal
luminosa.

Fotodiodos

El fotodiodo es un diodo semiconductor, construido con una unión


PN, como muchos otros diodos que se utilizan en diversas
aplicaciones, pero en este caso el semiconductor está expuesto a la
luz a través de una cobertura cristalina y a veces en forma de lente,
y por su diseño y construcción será especialmente sensible a la
incidencia de la luz visible o infrarroja. Todos los semiconductores
tienen esta sensibilidad a la luz, aunque en el caso de los fotodiodos,
diseñados específicamente para esto, la construcción está orientada
a lograr que esta sensibilidad sea máxima.
Diversos tipos de fotodiodo

Los diodos tienen un sentido normal de circulación de corriente, que


se llama polarización directa. En ese sentido el diodo deja pasar la
corriente eléctrica y prácticamente no lo permite en el inverso: es la
base del funcionamiento de un diodo. Pero en el fotodiodo la
corriente que está en juego (y que varía con los cambios de la luz) es
la que circula en sentido inverso al permitido por la juntura del diodo.
Es decir, para su funcionamiento el fotodiodo es polarizado de
manera inversa. Se producirá un aumento de la circulación de
corriente cuando el diodo es excitado por la luz.

Lo que define las propiedades de sensibilidad al espectro de un


fotodiodo es el material semiconductor que se emplea en la
construcción. Los fotodiodos están construidos de silicio, sensible a la
luz visible (longitud de onda de hasta 1,1 µm), de germanio para luz
infrarroja (longitud de onda hasta aproximadamente 1,8 µm), y los
hay de otros materiales semiconductores. El rango de espectro es:

Silicio: 190–1100 nm
Germanio: 800–1700 nm
Indio galio arsénico (InGaAs): 800–2600 nm
Sulfuro de plomo: 1000-3500 nm

CCD y cámaras de vídeo

La abreviatura CCD viene del inglés Charge-Coupled Device,


Dispositivo Acoplado por Carga.
El CCD es un circuito integrado. La
característica principal de este
circuito es que posee una matriz de
celdas con sensibilidad a la luz
alineadas en una disposición físico-
eléctrica que permite "empaquetar"
en una superficie pequeña un
enorme número de elementos
sensibles y manejar esa gran
cantidad de información de imagen
(para llevarla al exterior del
microcircuito) de una manera
relativamente sencilla, sin necesidad de grandes recursos de
conexiones y de circuitos de control. Estas características
convirtieron a los CCD en un elemento clave para el desarrollo de las
actuales cámaras de vídeo y fotográficas, extremadamente
miniaturizadas y de gran calidad de imagen, así como una serie de
sensores de otro tipo (en general compuestos de una sola línea de
elementos sensibles) que leen información visual, como los lectores
de los escáners, faxs, clasificadores de cartas, clasificadores de
documentos, etc.

El circuito integrado posee unos extensos conjuntos de capacitores


alineados uno junto a otro que, como lo dice el nombre, están
acoplados eléctricamente entre sí, y pueden transferir su carga al
siguiente usando un ingenioso método basado en campos eléctricos.
Los elementos sensibles a la luz son los propios capacitores, que se
cargan o descargan en base a cómo ésta incide sobre ellos, y
además funcionan, cada uno de ellos, como uno de los bits de un
registro de desplazamiento. Gracias a esta capacidad, la información
se extrae del circuito integrado CCD en serie, línea por línea, algo
muy conveniente cuando se trata de una imagen de vídeo.

Cámaras de vídeo convencionales

Hoy en día en robótica (y en los artefactos de uso hogareño en


general) ya no se utilizan cámaras de vídeo con los antiguos
sistemas de toma de imagen. Las cámaras actuales contienen, en
casi todos los casos (si no en todos), un CCD en sus sistemas de
captación de imagen. De modo que, en el mercado de los robots, es
prácticamente la misma cosa hablar de CCD y de cámara de vídeo.

Sensores de presión

En la industria hay un amplísimo rango de sensores


de presión, la mayoría orientados a medir la
presión de un fluido sobre una membrana. En
robótica puede ser necesario realizar mediciones
sobre fluidos hidráulicos (por dar un ejemplo),
aunque es más probable que los medidores de
presión disponibles resulten útiles como sensores
de fuerza (el esfuerzo que realiza una parte
mecánica, como por ejemplo un brazo robótico),
con la debida adaptación. Se puede mencionar un
sensor integrado de silicio como el MPX2100 de Motorola, de
pequeño tamaño y precio accesible.

Los dispositivos de la serie MPX2100 son piezorresistencias de silicio


sensibles a la presión. Proporcionan una variación de tensión exacta
y directamente proporcional a la presión que se les aplica. El sensor
consta de un diafragma monolítico de silicio para medir el esfuerzo y
una fina película con una red de resistencias integradas en un chip.
El chips se ajusta, calibra y compensa en temperatura por láser.

En los sensores electrónicos en general, la presión actúa sobre una


membrana elástica, midiéndose la flexión. Para detectarla pueden
aprovecharse diversos principios físicos, tales como inductivos,
capacitivos, piezorresistivos, ópticos, monolíticos (con módulos
electrónicos extremadamente pequeños, totalmente unidos) u
óhmicos (mediante cintas extensométricas).

En los sensores de presión con elemento por efecto Hall, un imán


permanente pequeño (que está unido a una membrana) provoca un
cambio del potencial Hall. El sensor de presión piezorresistivo tiene un
elemento de medición en forma de placa con resistencias obtenidas por
difusión o implantación de iones. Si estas placas se someten a una carga,
cambia su resistencia eléctrica. Lo mismo se aplica en el caso de los
sensores de presión monolíticos, obtenidos mediante la cauterización
gradual de silicio.
Esquema del
interior de
algunos
sensores de
presión

a) Sensor Hall
1 Generador
Hall
2 Imán
permanente
3 Cuerpo
del sensor
4
Membrana
b) Sensor de
presión
piezorresistivo
3 Cuerpo
del sensor
5 Capa de
unión
6 Contacto
de aluminio
7 Pasivación
8
Piezorresisten
cia
9 Capa
epitaxiada
10 Sustrato
de silicio
11 Soporte
de vidrio
12 Capa de
unión
metálica
c) Sensor de
presión
capacitivo
10 Sustrato
de silicio
11 Soporte
de vidrio
13 Placa
d) Sensor de
presión
monolítico
10 Sustrato
de silicio
14
Resistencias
incorporadas
mediante
difusión
15 Carril de
silicio
16 Vacío
17 Capa de
soldadura
En todos:
p Presión

Sensores de contacto
Para detectar contacto físico del robot con un obstáculo se suelen
utilizar interruptores que se accionan por medio de actuadores
físicos. Un ejemplo muy clásico serían unos alambres elásticos que
cumplen una función similar a la de las antenas de los insectos,
trasladando hasta el interruptor, para accionarlo, el desplazamiento
mecánico que se produce por el choque o contacto. En inglés les
llaman "whiskers" (bigotes), relacionándolos con los bigotes sensibles
de los animales como, por ejemplo, los perros y gatos.

Soluciones con antenas, bigotes o "actuadores"

Se pueden encontrar también bandas metálicas que rodean al robot,


o sólo su frente (e incluso en la parte trasera, en algunos diseños),
con una distribución similar a la de los paragolpes de los autos
("bumper", en inglés). También se utilizan contactos que se accionan
al presionar sobre la "carrocería" del robot, es decir, sobre la
cobertura que protege los mecanismos internos y le da el acabado
exterior.

El lector podrá oír hablar alguna vez de sensores "sandwich". Éstos


son construidos básicamente con dos láminas de material metálico
más o menos flexible, puestas en paralelo y separadas por un
espacio libre con algún tipo de material elástico en los bordes y en
ciertas áreas interiores. El aislante es ubicado de tal modo que se
pueda aplastar fácilmente para hacer que las membranas metálicas
se toquen. Al presionar este sandwich, las placas metálicas hacen
contacto y se produce la detección. (En cierto modo, es igual al
sistema que usan hoy muchos teclados de computadora.)

Con estos métodos se reconoce la presencia de un objeto ubicado en


la línea de recorrido de un dispositivo. Su simplicidad de construcción
los hace muy empleados en robótica.

Micrófonos y sensores de sonido


El uso de micrófonos en un
robot se puede hallar en dos
aplicaciones: primero, dentro
de un sistema de medición de
distancia, en el que el
micrófono recibe sonidos
emitidos desde el mismo
robot, luego de que éstos
rebotan en los obstáculos que
tiene enfrente, es decir, un
sistema de sonar; y segundo,
un micrófono para captar el
sonido ambiente y utilizarlo
en algún sentido.

En este segundo caso, hay dos razones básicas para que un robot
esté provisto de un micrófono u otro sensor de sonido (como los
piezoeléctricos): recibir órdenes a través de sonidos (palabra o
tonos) y, un poco más avanzado, determinar la dirección de estos
sonidos. Ambas opciones le dan al robot la posibilidad de interactuar
de una manera muy interesante con una persona que le hable.

En sentido técnico, la implementación más básica serían aquella en la


que se coloca el micrófono dentro de una bocina direccional, algo así
como un concentrador parabólico de radar, de modo que haga de
pantalla en todos los sentidos excepto en una dirección bien definida.
Si el robot detecta un sonido (con otro sensor o con el mismo) hace
girar la bocina como un radar y busca la dirección del sonido por una
simple medición del máximo volumen. Es obvio que un sistema así
está demasiado sujeto a errores, ya que el robot puede resultar
engañado con sonidos de intensidad variable, y también puede
ocurrir que el sonido no dure lo suficiente como para determinar la
dirección.

La otra implementación es la más conocida en la naturaleza: el oído


biaural. Básicamente, se trata de dos sensores separados por una
distancia adecuada que reciben y procesan las diferencias de tiempo
entre las dos señales sonoras percibidas.

Los sonidos recibidos por dos micrófonos capacitivos se amplifican en


sendos circuitos. Estas señales se procesan en un microcontrolador,
donde se detecta la longitud, frecuencia y diferencia de fase de las
señales llegadas a los micrófonos. Se puede determinar así la
dirección del sonido que ha llegado al robot.

Por otra parte, y cumpliendo una función


más específica de detección y medición de
tipo sonar, se encuentran, incorporados en
los medidores de distancia por ultrasonidos,
los receptores especializados en el rango de los ultrasonidos, que en
algunos casos pueden ser —como en los medidores ultrasónicos de
distancia que utilizan las cámaras Polaroid con autoranging
("autorango") para ajustar la distancia a la que se toma la fotografía
— de doble uso: emisores y sensores a la vez. Su funcionamiento no
es simultáneo: las dos funciones se conmutan por circuito, ya que se
emite un tren de sonidos y luego se conmuta el emisor/receptor a
modo de recepción, a la espera del retorno del sonido que ha
rebotado en los objetos que circundan al medidor.

Rangers (medidores de distancia) ultrasónicos

Los medidores ultrasónicos de


distancia y sensores de
ultrasonidos que se utilizan en
los robots son, básicamente,
un sistema de sonar.

En el módulo de medición, un
emisor lanza un tren de pulsos
ultrasónicos —con una
frecuencia en el orden de los
38 a 50 Khz— y el receptor
espera el rebote. Se mide el
tiempo entre la emisión y el
retorno, lo que da como
resultado la distancia entre el
emisor y el objeto donde se
produjo el rebote. Esta medición se calcula teniendo en cuenta la
velocidad del sonido en el aire, que si bien varía según algunos
parámetros ambientales, como la presión atmósférica, igualmente
permite una medición bastante precisa.

Se pueden señalar dos clases de medidores, los que tienen un emisor


y un receptor separados, y los que alternan la función, por medio de
un circuito de conmutación, sobre un mismo emisor/receptor
piezoeléctrico. Este último es el caso de los medidores de distancia
que venían incluidos en las cámaras Polaroid "autofocus", que se
utilizan (despiece mediante) en la experimentación personal de
robótica.

Ejemplos característicos de sensores que se utilizan en robots:

 1. Los módulos de ultrasonido contenidos en las viejas


cámaras Polaroid con autofoco, que se pueden obtener en el
mercado de usados por poco dinero.
 2. Los módulos SRF de Devantech (SRF04, SRF05, SRF08,
SRF10, etc.), que son capaces de detectar objetos a una
distancia de hasta 6 metros, además de conectarse al
microcontrolador mediante un bus I2C. El SRF08, por
ejemplo, permite programar la dirección del dispositivo sobre
el I2C, por lo que se pueden instalar varios sensores sobre el
mismo bus.

Medidor de distancia ultrasónico SRF08

El SRF08, que posee una alimentación única de 5V, sólo requiere un


consumo de 15 mA en el momento de funcionamiento y 3 mA
mientras está en reposo. Este nivel de consumo representa una gran
ventaja para robots alimentados por pilas. El módulo SRF08 incluye,
además, un sensor de luz, que permite conocer el nivel de
luminosidad. La medición de este sensor luminoso también se
transmite usando el bus I2C, sin necesidad de recursos adicionales.

El control del módulo SRF08

La comunicación con
el sensor ultrasónico
SRF08 se realiza a
través de un bus I2C.
Este bus está
disponible en la
mayoría de los
controladores del
mercado, como
BasicX-24, OOPic y
Basic Stamp 2P, así
como en una amplia
gama de
microcontroladores.

Para el programador,
el sensor SRF08 se
comporta de la misma
manera que las EEPROM de las series 24xx, con la excepción de que
la dirección I2C es diferente.

La dirección por defecto de fábrica del SRF08 es 0xE0. El usuario


puede cambiar esta dirección y asignar 16 valores diferentes: E0, E2,
E4, E6, E8, EA, EC, EE, F0, F2, F4, F6, F8, FA, FC o FE, por lo que es
posible utilizar hasta 16 sensores sobre un mismo bus I2C.

Además de las direcciones anteriores, todos los sonares conectados


al bus I2C responderán a la dirección 0, que es la dirección de
atención general. Esto significa que escribir un comando de medición
de la distancia para la dirección 0 de I2C (0x00) dará inicio a la
medición en todos los sensores al mismo tiempo. Los resultados
deben leerse de manera individual desde cada una de las direcciones
reales de los sensores.

Otros sensores de esta familia son: SRF02, SRF04, SRF05, SRF10


y SRF235.

Módulo PING)))™ de medición de distancia de Parallax

El sensor de distancia por ultrasonidos PING)))™ de Parallax puede


detectar objetos hasta tres metros de distancia. El módulo posee tres
pines de conexión, dos para la alimentación de 5V y uno de E/S
(entrada y salida digital), que se ultiliza para activar el senseo
cuando es entrada y luego, cuando es salida, para emitir un pulso
que indica que se ha recibido un rebote de la señal de ultrasonido.

La señal E/S (inicio/dato) se conecta a una línea en un puerto de


microcontrolador que debe ser reconfigurada como salida para
activar el sensor por medio de un pulso de medición, y luego como
entrada para esperar el retorno de señal. El pulso de activación hará
que el sensor emita un tren de ultrasonido. El sensor emite un pulso
en la misma línea cuando recibe el rebote. Durante este lapso entre
la activación y el retorno se mide el tiempo transcurrido, que será
proporcional a la distancia existente hasta el primer obstáculo sobre
el que ha rebotado el ultrasonido.

Vea también el artículo -> Prueba del sensor PING))) de distancia por
ultrasonidos de Parallax con un PIC

Módulos ultrasónicos de medición de distancia de las cámaras


Polaroid
Estos módulos de las
cámaras con autofoco
de Polaroid
Corporation se han
utilizado bastante en
robótica, por lo menos
hasta que aparecieron
otros productos más o
menos accesibles y
más prácticos para
conectar a los
microcontroladores.
Aunque se los
encuentra en varios
modelos diferentes de
cámara, en las
diversas
implementaciones se
utiliza más o menos el
mismo diseño básico. Todos los módulos funcionan emitiendo 16
pulsos de 50 kHz poco después de la inicialización y usan un
amplificador de ganancia variable y un umbral de nivel para recibir el
pulso reflejado. Un pulso de salida da el tiempo promedio que tardó
el sonido en ser reflejado desde el objeto más cercano.

Los módulos que se obtienen de las cámaras en general siempre


funcionan, y se los puede conseguir por precios bastante accesibles.

En las ventas de usados (por Internet, en Argentina, ver


MercadoLibre y DeRemate) se consiguen tres tipos básicos de
cámara. En diversos sitios de la web se describen las modificaciones
que se pueden realizar para aprovechar los módulos de la cámara
Pronto OneStep y similares, y en otros lugares se pueden encontrar
las adaptaciones necesarias para los modelos Sun Autofocus 660 e
Impulse AF.

Los módulos de la cámara más antigua (Pronto OneStep) tienen una


limitación electrónica, que es que se debe quitar la alimentación de la
plaqueta para que se repita el ciclo de medición de distancia. Y
también, en lo físico, la forma rara de la plaqueta y el hecho de que
contiene circuitos para el control de obturador y el motor de arrastre.
Otra limitación técnica en el circuito es que las señales de salida no
son compatibles con la lógica
TTL, ya que varían de 0 a 2V.

Durante algunos años


Polaroid ofreció un módulo de
medición de distancia de uso
general, con la marca
comercial "Series 6500", y una variedad de transductores para
conectar en ellos. Eran bastante caros y ahora ya no los fabrican.
Pero en las cámaras más recientes, como la "Sun Autofocus 660" o la
menos común "Impulse AF", algunas de las funciones electrónicas de
la cámara pasaron a estar en chips o en circuitos flexibles ubicados
en varios sitios de la cámara, de modo que los módulos de medición
de distancia quedaron más
despejados, lo que hizo sus
plaquetas muy similares a las
del módulo Series 6500. Sin
embargo, el circuito interno no
es idéntico, de manera que se
deben realizar algunas
adaptaciones.

Acelerómetros, sensores de
vibración

Un acelerómetro es un
dispositivo que permite medir
el movimiento y las vibraciones
a las que está sometido un
robot (o una parte de él), en
su modo de medición
dinámico, y la inclinación (con respecto a la gravedad), en su modo
estático.

De los antiguos acelerómetros mecánicos, de tamaño grande y


dificultosos de construir, porque incluían imanes, resortes y bobinas
(en algunos modelos), se ha pasado en esta época a dispositivos
integrados, con los elementos sensibles creados sobre los propios
microcircuitos.

Estos sensores, disponibles en forma de circuito integrado, son los


que se utilizan normalmente en robótica experimental. Uno de los
acelerómetros integrados más conocidos es el ADXL202, muy
pequeño, versátil y de costo accesible.

El acelerómetro de dos ejes ADXL202

El ADXL202 es un acelerómetro de dos ejes de bajo consumo y


salida digital, integrado en un chip monolítico. Mide aceleraciones
hasta una escala máxima de + 2 g. Soporta golpes de hasta 1000 g.
Puede medir aceleración dinámica (como por ejemplo una vibración)
y también aceleración estática, como por ejemplo la atracción de la
gravedad.

Este circuito integrado tiene salidas digitales, en forma de pulsos


repetidos cuyo ancho varía en relación con la medición. Estas salidas
en forma de pulsos se pueden medir con microcontroladores sin
necesidad de contar con una entrada para la conversión
Analógica/Digital. El ritmo de repetición del pulso es ajustable de 0,5
a 10 ms por medio de un resistor. Un ciclo de relación 50% significa
una aceleración de 9 g.

El ruido de la señal es muy bajo, lo que permite realizar mediciones


menores a 2 mg (mili g) a una frecuencia de 60 hertz. El ancho de
banda de respuesta se puede determinar por medio de capacitores
de filtro conectables en ambos circuitos, X e Y.

Giróscopos

El giróscopo o giroscopio está basado en un


fenómeno físico conocido hace mucho,
mucho tiempo: una rueda girando se resiste
a que se le cambie el plano de giro (o lo que
es lo mismo, la dirección del eje de
rotación). Esto se debe a lo que en física se
llama "principio de conservación del
momento angular".

Este tipo de giróscopos con un volante giratorio se utilizan en aviones


y satélites, y además de voluminosos son muy caros. Pero aquí
hablamos de robots, donde el tamaño y peso de un elemento de
medición interna es muy importante, porque el robot debe tener
muchos.

Si bien existe al menos


un sensor giroscópico
integrado cuyo
funcionamiento continúa
basado en un elemento
circular (un anillo, en el
caso que conocemos), la
realidad es que la
mayoría de los sensores
actuales de pequeño
tamaño, como los que se
utilizan en modelos de
helicópteros y robots,
están basados en
integrados cuya "alma"
son pequeñísmas
lenguetas vibratorias, construidas directamente sobre el chip de
silicio. Su detección se basa en que las piezas cerámicas en vibración
son sujetas a una distorsión que se produce por el efecto Coriolis
(son cambios en la velocidad angular).
Estos sensores son pequeños, del tamaño de un chip de montaje
superficial, y un ejemplo es el Gyrostar (ENC-03J), fabricado por
Murata, con una cápsula que mide 12,2 x 7 x 2,6 mm y que funciona
con un voltaje entre 2,7 y 5,5 volts y consume apenas 5 mA. Otro
ejemplo es el ADXRS150 de Analog Devices, con un tamaño de 7 x
7 x 3,2 mm, y 5V de alimentación con un consumo de 6 mA.

En Argentina he visto módulos con la electrónica ya implementada


(pensados para modelos, especialmente los de helicópteros; son los
que se ven en la imagen) con un precio de entre u$ 60 y u$ 300 (el
más barato es de un tamaño
de 26 x 26 x 27 mm, pero
también hay más pequeños).

Integrados para medir


temperatura

Existe una amplia variedad


de integrados sensores de
temperatura. Estos sensores
se pueden agrupar en cinco
categorías principales: salida
de voltaje, salida de
corriente, salida de
resistencia, salida digital y
diodos simples (aunque en
este caso, obviamente, se trata de diodos diseñados especialmente
para medición de temperatura).

Con salida de voltaje podemos encontrar los muy comunes LM34


(grados Fahrenheit), LM35 (grados Centígrados), de National
Semiconductor.

Con salida de corriente uno de los más conocidos es el AD590, de


Analog Devices.

Con salida digital son conocidos el LM56 y LM75 (también de


National).

Los de salida de resistencia son menos comunes, fabricados por


Phillips y Siemens.

Integrados medidores de temperatura con salida de voltaje


Tolerancia
Sensor Fabricante Salida Cápsula Comentarios
(rango)
Salida
proporcional
a la
22,5mV/°C a 5V ±2°C y ±4°C TO-92
AD22100 Analog Devices alimentación
250mV offset (-50 a +150°C) SO-8
- ideal para
ADC del
mismo estilo
Salida
28mV/°C (a
±2,5°C TO-92 proporcional
AD22103 Analog Devices 3,3V),
(0°C a +100°C) SO-8 a la
250mV offset
alimentación
Opera como
un Zener con
LM135 ±2,7°C a ±9°C
National Semi, Linear 10mV/°K o TO-92 entrada para
LM235 (-55°C a 150°C
Tech 10mV/°C TO-46 ajuste de
LM335 -40°C a 100°C)
escala,
400µA
Necesita una
±3°F y ±4°F TO-46 fuente
LM34 National Semi 10mV/°F (-20°C a TO-92 negativa para
120°C) SO-8 temperaturas
< -5°C
Necesita una
±1°C y ±1,5°C TO-46 fuente
LM35 National Semi 10mV/°C (-20°C a TO-92 negativa para
120°C) SO-8 temperaturas
< 10°C
LM35 con
±1°C y ±1,5°C TO-46
10mV/°C corrimiento
LM45 National Semi (-20°C a TO-9
500mV offset de salida
120°C) SO-8
500mV
Bajo costo,
±3°C y ±4°C TO-46
10mV/°C corrimiento
LM50 National Semi (-40°C a TO-92
500mV offset 500mV, fácil
125°C) SO-8
de usar
Acepta
±3°C y ±4°C
alimentación
LM60 National Semi 6,24 mV offset (-40°C a SOT-23
inferior a
125°C)
2,7V
S-8110 Seiko Instruments -8,5 mV/°C ±2,5°C y ±5°C SOT-23 Corriente de
operación
(-40°C a SC-
S-8120 (nota neg. TC) muy baja:
100°C) 82AB
10µA
TC102
±8°C
TC103 SOT-23
Telcom Semi 10 mV/°C (-20°C a .
TC1132 TO-92
125°C)
TC1133
Similar al
LM35 con
TO-92
±3°C ±4°C apagado aut.
TMP35 Analog Devices 10 mV/°C SO-8
(10°C a 125°C) para ahorrar
SOT-23
consumo (no
en TO-92)
Similar a
±3°C ±4°C TO-92 LM50 con
10 mV/°C
TMP36 Analog Devices (-40°C a SO-8 apagado aut.
500 mV offset
125°C) SOT-23 (no en TO-
92)
TO-92
±3°C ±4°C Alta
TMP37 Analog Devices 20 mV/°C SO-8
(5°C a 100°C) sensibilidad
SOT-23
±2,5°C Bajo
LM94021
National Semi programable (-50°C a SC80 consumo,
LM94022
150°C) fácil de usar
±5°C Bajo
FM20 Fairchild -11,77 mV/°C SOT23
-55°C a 130°C consumo
±3°C Similar al
FM50 Fairchild 10 mV/°C SOT23
-40°C a 125°C LM50

Integrados medidores de temperatura con salida de corriente


Tolerancia
Sensor Fabricante Salida Cápsula Comentarios
(rango)
Viejo favorito, se
±5,5°C y ±10°C deben considerar las
AD590 Analog Devices 1µA/°K TO-52
(-55°C a +150°C) corrientes de
pérdida del cable
±1°C y ±3,5°C Un AD590 más
AD592 Analog Devices 1µA/°K TO-92
(-25°C a +105°C) preciso
TMP17 Analog Devices 1µA/°K ±4°C SO-8 Un AD590
térmicamente más
(-40°C a +105°C)
rápido
LM134
Programable ±3°C y ±20°C TO-46 Con calibración
LM234 National Semi
0,1µA/°K a 4µA/°K (-25°C a +100°C) TO-92 puede ser efectivo
LM334

Integrados medidores de temperatura con salida digital


Tolerancia
Sensor Fabricante Salida Cápsula Comentarios
(rango)
Alta
±2°C resolución
National
LM95071 Semi
14 bit SPI (-45°C a SOT-5 (0,03°C)
150°C) opera con 2,4-
5,5V
Termostato
±3°C y ±4°C
National 2 comparadores con SOP-8 con dos
LM56 Semi
(-40°C a
umbral definible MSOP-8 salidas con
125°C)
histéresis
Conexión
direccionable
±3°C
National I2C Serie, SOP-8 múltiple.
LM75 Semi
(-55°C a
Resolución 9 bit o 0,5°C MSOP-8 Especial para
+125°C)
sistemas
embebidos
Salida nominal
±4°C TO-92 35 Hz con
TMP03 Analog Modulación de ancho de
Devices
(-25°C a SO-8 relación 1:1
TMP04 pulso
100°C) TSSOP-8 mark-space a
25°C
Además tiene
salidas de
±0.5°C
termostado
(0°C a 70°C)
DS1620 National serie 2 o 3 cables, SOP-8 programadas
Semi
±5°C
DS1621 resolución 0,5°C DIP-8 digitalmente.
(-55°C a
Resolución
125°C)
posible
±0,03°C
DS1624 Dallas Serie de 2 cables ±5°C SOP-8 Direccionable,
Resolución 0,3°C (-55°C a DIP-8 conexión
125°C) múltiple.
Tiene 256 bits
de EEPROM
±0,5°C Buena
(0°C a 70°C) TO-92 tolerancia sin
Serie de 1 cable
DS1820 Dallas ±5°C modificada calibrar, rango
Resolución 0,5°C
(-55°C a SSOP-16 mayor a 0-
125°C) 70°C.
±1°C
TO-92
(0°C a 70°C)
Serie de 1 cable modificada Tiene un modo
DS1821 Dallas ±2°C
Resolution 1°C TO-220 de termostato
(-55°C a
SO-8
125°C)
±4°C Incluye un
Serie de 1 cable (0°C a TO-92 histograma
DS2435 Dallas
Resolución 0,5°C o 1°C 127.5°C modificada temperatura /
-40°C a 85°C) tiempo
±3°C DIP-8
Telcom Serie I2C, Reemplazo del
TCN75 Semi
(-55°C a SOP-8
Resolución 9 bit o 0,5°C LM75
+125°C) TSSOP-8
Resolución
SMBus ±4°C
variable,
FM75 Fairchild Resolución 12 bit / -40°C a MSOP8
salida con
0,07°C 125°C
umbral

Integrados medidores de temperatura con salida de


resistencia
Tolerancia
Sensor Fabricante Salida Cápsula Comentarios
(rango)
Resistencia
principal de
KTY81
SOD-70, silicio.
KTY82 ±1°C a ±12°C
1K o 2K a 25°C, SOT-23 Mantener la
KTY83 Phillips (-55°C a +150°C
+0,8%/°C SOD-68 corriente de
KTY84 algunos hasta 300°C)
SOD-80 excitación
KTY85
>0,1mA y <
1mA
KYY10 Resistencia
1K o 2K a 25°C, ±1°C y ±3,5°C TO-92
KTY11 Siemens principal de
+0,8%/°C (-50°C a +150°C) modificada
KTY13 silicio
Pirosensores (sensores de
llama a distancia)

Existen sensores que,


basados en la detección de
una gama muy angosta de
ultravioletas, permiten
determinar la presencia de
un fuego a buena distancia.
Con los circuitos que provee
el fabricante, un sensor de
estos (construido con el
bulbo UVTron) puede
detectar a 5 metros de
distancia un fósforo (cerilla) encendido dentro de una habitación
soleada. En el mercado de sensores industriales se puede encontrar
una variedad amplia de sensores de llama a distancia, algunos que
detectan también ultravioleta y otros que se basan en los infrarrojos,
aunque por lo que pude ver, la mayoría son de tamaño bastante
mayor que el que utiliza la tecnología UVTRon.

Sensor de llama UVTron

El bulbo UVTron, fabricado por Hamamatsu, es un sensor que


detecta llama a distancia con muy buena sensibilidad. Se ofrece con
un circuito de manejo que mide los fotones del espectro ultravioleta
que están asociados con las llamas y el fuego en general.

Las aplicaciones típicas de este sensor son:

 Detector de llama en encendedores de gas y de combustibles


líquidos
 Alarmas de fuego
 Monitores de combustión en quemadores
 Detección de descargas
 Conmutación ultravioleta

Este detector es muy sensible en el rango de las longitudes de onda


de 185-260nm. Es ideal para la detección de llams y otras fuentes de
radiación UV que están en este rango de frecuencias.
El detector es omnidireccional, debido a que la energía UV que
emiten las llamas se refleja en las paredes. Por esta razón no es
necesario que se dispongan varios sensores dirigidos a distintas
áreas de un ambiente.

Sensor térmico TPA81 (infrarrojo)

El TPA81 es un sensor térmico de 8 pixeles capaz de medir la


temperatura de un objeto a distancia. Este detector está formado por
un conjunto de 8 sensores colocados linealmente, de manera que
puede medir al mismo tiempo 8 puntos adyacentes. A diferencia de
los sensores utilizados en sistemas de alarmas y detectores para
encender luces (conocidos como detectores "pir"), el TPA81 no
requiere que el objeto detectado esté en movimiento. Esta
característica lo hace interesante para su utilización en robótica.

El TPA81 es capaz de detectar infrarrojos en el rango de 2µm a


22µm, la longitud de onda del calor radiante. Por esta razón es capaz
de detectar la llama de una vela a 2 metros de distancia sin que le
afecte la luz ambiental.

El módulo electrónico incorporado al sensor TPA81 también es capaz


de controlar un servo para realizar un barrido circular y generar así
una imagen térmica. Se conecta a un microcontrolador por vía de un
bus I2C.

Sensores - Humedad
Descripción y funcionamientoSensores -

Introducción

La detección de humedad puede ser


muy importante en un sistema si éste
debe desenvolverse en entornos que no
se conocen de antemano. Una
humedad excesiva puede afectar los
circuitos, y también la mecánica de un
robot. Por esta razón se deben tener en
cuenta una variedad de sensores de
humedad disponibles, entre ellos los
capacitivos y resistivos, más simples, y
algunos integrados con diferentes niveles de complejidad y
prestaciones.
Para el uso en robótica, por suerte, se puede contar con un módulo
integrado pequeño, versátil y de costo accesible, como el SHT11 de
Sensirion.

Sensores resistivos

Los sensores de humedad resistivos están hechos


sobre una delgada tableta de un polímero capaz de
absorber agua, sobre la cual se han impreso dos
contactos entrelazados de material conductor metálico
o de carbón.

En la imagen se ve un ejemplo, fabricado por General


Eastern. Tiene una longitud de unos 10 mm. Es un
componente que se vende independientemente, sin la
electrónica necesaria para procesar la medición.

El parámetro que se mide es la resistencia eléctrica a través del


polímero, que cambia con el contenido de agua.

Sensor capacitivo HC201

El HC201 es un sensor capacitivo pensado para


uso en aplicaciones de gran escala y efectividad de
costo en el control climático de interiores.

En el rango de humedad relativa de 20–90% es


posible realizar una aproximación lineal,
manteniendo el error en valores menores a ± 2%
de la humedad relativa medida.

La versión con encapsulado plástico, HC201/H, facilita su montaje en


placas de circuito impreso.

Datos técnicos del HC201:

 Capacidad nominal (a 20 °C): 200 +/-20 pF


 Sensibilidad: 0,6pF / %RH
 Humedad, Rango de trabajo:10 .. 95% RH
 Temperatura, Rango de trabajo: -40 .. 110 °C
 Error de linealidad (20 .. 90% RH): < +/- 2% RH

Hoja de datos: HC201.


El módulo SHT11

El SHT11 de Sensirion es un sensor


integrado de humedad, calibrado en fábrica y
con salida digital. La comunicación se
establece a través de un bus serie sincrónico,
usando un protocolo propio. El dispositivo
posee además en su interior un sensor de
temperatura para compensar la medición de
humedad con respecto a la temperatura, de
ser necesario. Cuenta también con un
calefactor interno que evita la condensación en el interior de la
cápsula de medición en condiciones de niebla o cuando existe
condensación.

Las características del integrado SHT11 son:


 Dos sensores: humedad relativa y temperatura
 Rango de medición: Humedad relativa 0-100%
 Precisión en humedad relativa: +/- 3%
 Precisión en temperatura: +/- 0,5 °C a 25 °C
 Salida calibra y salida digital (interfaz de dos líneas)
 Respuesta rápida: < 4 segundos
 Bajo consumo: (típico 30 µW)
 Bajo costo
 Diseñado para aplicaciones de gran volumen de costo sensible
 Tecnología de avanzada CMOSens® para estabilidad superior
a largo plazo
 Facilidad de uso debido a la calibración y a la interfaz digital
de dos líneas

El SHT11 se puede alimentar con un rango de tensión comprendido


entre 2,4 a 5V. El sensor se presenta en forma de un encapsulado
para montaje superficial LCC (Lead Chip Carrier).

Como puede verse en la hoja de datos del SHT11, físicamente el


chip dispone de 10 contactos, aunque sólo se usan cuatro de ellos.
Los demás sólo se sueldan para sujetar correctamente el integrado.

Hoja de datos: SHT11.


Sensores - Magnetismo
Descripción y funcionamiento

Información completa sobre -> Sensores para Robots

Sensores de Magnetismo - Introducción

En robótica, algunas situaciones de medición del entorno pueden


requerir del uso de elementos de detección sensibles a los campos
magnéticos. En principio, si nuestro robot debe moverse en
ambientes externos a un laboratorio, una aplicación importante es
una brújula que forme parte de un
sistema de orientación para nuestro
robot. Otra aplicación es la medición
directa de campos magnéticos
presentes en las inmediaciones, que
podrían volverse peligrosos para el
"cerebro" de nuestro robot si su intensidad es importante. Una
tercera aplicación es la medición de sobrecorrientes en la parte
motriz (detectando la intensidad del campo magnético que genera un
conductor en la fuente de alimentación). También se podrán
encontrar sensores magnéticos en la medición de movimientos, como
el uso de detectores de "cero movimiento" y tacómetros basados en
sensores por efecto Hall o pickups magnéticos.

Pickups magnéticos (sensores inductivos)

Entre los sensores de proximidad industriales de uso frecuente se


encuentran los sensores basados en un cambio de inductancia debido
a la cercanía de un objeto metálico.

La figura muestra el esquema de un sensor inductivo o "pickup


magnético", que consiste en una bobina devanada sobre un imán
permanente, ambos insertos en un receptáculo o cápsula de soporte.
Si se coloca el núcleo del sensor en
proximidad de un material
ferromagnético, se produce un
cambio en la posición de las líneas de
flujo del imán permanente. En
condiciones estáticas, no hay
movimiento en las líneas de flujo y,
por consiguiente, no se induce
corriente en la bobina. Sin embargo,
cuando un objeto ferromagnético
ingresa en el campo del imán y/o lo abandona, el cambio que resulta
en las líneas de flujo induce un impulso de corriente, cuya amplitud y
forma son proporcionales a la velocidad de cambio del flujo.

La tensión que se mide sobre la bobina varía como función de la


velocidad a la que se introduce el material ferromagnético en el
campo del imán. La polaridad de la tensión depende de que el objeto
esté ingresando en el campo o abandonándolo.

También existe una relación entre la amplitud de la tensión y la


distancia sensor-objeto. La sensibilidad cae rápidamente al aumentar
la distancia. El sensor es eficaz a un milímetro o menos.

Sensores por "Efecto Hall"

En el mercado existe gran cantidad de sensores industriales para


diversos usos, basados en el efecto que descubrió el científico Edwin
Herbert Hall. El nombre de Hall, físico norteamericano, ha pasado a
la posteridad debido a una singularidad electromagnética que
descubrió por causalidad en el curso de un montaje eléctrico: el
"Efecto Hall".

Cuando por una placa metálica circula una corriente eléctrica y ésta
se halla situada en un campo magnético perpendicular a la dirección
de la corriente, se desarrolla en la placa un campo eléctrico
transversal, es decir, perpendicular al sentido de la corriente. Este
campo, denominado Campo de Hall, es la resultante de fuerzas
ejercidas por el campo magnético sobre las partículas de la corriente
eléctrica, sean positivas o negativas.
Este fenómeno tiene dos consecuencias principales. La primera es
que la acumulación de cargas en un lado de la placa, en el campo así
creado, implica que el otro lado tiene una carga opuesta, creándose
entonces una diferencia de potencial; la segunda es que la carga
positiva posee un potencial superior al de la carga negativa. La
medida del potencial permite, por tanto, determinar si se trata de un
campo positivo o negativo.

En la mayor parte de los metales, la carga es negativa, pero en


algunos metales como el hierro, el zinc, el berilio y el cadmio es
positiva, y en los semiconductores es positiva y negativa al mismo
tiempo. Hay una desigualdad entre los intercambios negativos y los
positivos; también en este caso, la medida del potencial permite
saber cuál domina, el positivo o el negativo.

Los sensores basados en efecto Hall suelen constar de un elemento


conductor o semiconductor y un imán. Cuando un objeto
ferromagnético se aproxima al sensor, el campo que provoca el imán
en el elemento se debilita. Así se puede determinar la proximidad de
un objeto, siempre que sea ferromagnético.

Aplicaciones de sensores por efecto


Hall

Una de las aplicaciones de los sensores


por efecto Hall que más se ha instalado
en la industria, en especial en la
automotriz, es como reemplazo del sensor inductivo o pickup
magnético que describimos más arriba (basado en un imán
permanente y una bobina). Dado que en este caso el sensor, por
estar implementado por un semiconductor, tiene la capacidad de
poseer electrónica integrada, la señal 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 utilización es
mucho más directa, fácil y económica.

Otra aplicación es la medición de la corriente que circula por un


conductor, con lo que se pueden implementar medidores de
seguridad sin necesidad de insertarlos en el circuito eléctrico de un
sistema donde se maneja potencia. Los sensores pueden estar
construidos en una cápsula de tipo circuito integrado o una de
transistor

Transistor: Dispositivo electrónico de material semiconductor (germanio,


silicio) capaz de controlar una corriente eléctrica, amplificándola y/o
conmutándola. Posee tres conexiones: Colector, Emisor y Base.

, o también pueden tener una carcaza con un orificio por el que


pasará el cable cuya corriente se va a medir.

Se utilizan también chips por efecto Hall como interruptores


accionados por el campo magnético de un imán. Un caso concreto es
en los sensores de los sistemas de alarma (aquellos que se colocan
en puertas y ventanas, para detectar su apertura). Estos
interruptores tienen la ventaja de no sufrir fricción al ser accionados,
ya que el único elemento que toma contacto es el campo magnético.
Son utilizados en teclados de alta eficiencia, y estos mismos
interruptores se pueden usar como sensores de choque (contacto
físico), posición de un mecanismo, cuentavueltas, límite de carrera y
otras detecciones mecánicas dentro y en el exterior de un robot.
UGN3503 - Sensor de Efecto Hall lineal,
Radiométrico

El UGN3503, disponible en varias cápsulas de tipo


transistor

Transistor: Dispositivo electrónico de material semiconductor (germanio,


silicio) capaz de controlar una corriente eléctrica, amplificándola y/o
conmutándola. Posee tres conexiones: Colector, Emisor y Base.

, puede detectar con precisión pequeños cambios en la densidad de


un flujo magnético, incluso aquellos demasiado débiles como para
actuar sobre interruptores de efecto Hall. Tiene sólo tres conexiones,
que son la alimentación (4,5 a 6 V), el común o tierra, y la salida.
Si no hay campo magnético aplicado, la tensión en la salida es de la
mitad del voltaje de alimentación. Si se acerca al sensor el polo sur
de un elemento magnetizado, la tensión de salida sube. Si se acerca
el polo norte, en cambio, el voltaje de salida de disminuye. En
Buenos Aires, Argentina, está disponible en Electrocomponentes a
un precio de us$ 1,40.

Hoja de datos UGN3503

UGN3113 - UGN3119 Interruptores de Efecto Hall

En GM Electrónica (Buenos Aires, Argentina) se obtiene el


UGN3113, un interruptor con salida de colector abierto, que posee
un regulador de voltaje incorporado, de modo que el componente se
puede alimentar con tensiones entre 4,5 a 24 volts. La salida es
compatible con lógica TTL y CMOS. Este interruptor magnético está
disponible en cápsulas SOT89 (de montaje superficial) y en cápsulas
de tres patas, tipo transistor

Transistor: Dispositivo electrónico de material semiconductor (germanio,


silicio) capaz de controlar una corriente eléctrica, amplificándola y/o
conmutándola. Posee tres conexiones: Colector, Emisor y Base.

. Tiene una sensibilidad de 50 a 450 G. El UGN3119 tiene las


mismas características excepto que su sensibilidad es de 125 a 500
G.

Hoja de datos UGN3113 - UGN3119

Módulo CMPS03 de brújula


Para agregar orientación geográfica a
nuestro robot, podemos utilizar el módulo
CMPS03 de Devantech, que determina un
ángulo respecto al campo magnético de la
Tierra. Este módulo es una plaqueta de 26 x
28 mm que utiliza dos sensores de campo
magnético KMZ51 de Philips,
suficientemente sensibles como para
detectar el campo magnético terrestre.
Tiene una resolución de 0,1 grados y una precisión de 3 a 4 grados.
Se puede conectar con facilidad a un microcontrolador, utilizando una
interfaz I2C. También tiene una salida en la que indica el ángulo con
un pulso de ancho modulado.

Hoja de datos CMPS03

Sensores - Radiofrecuencia
Descripción y funcionamiento

Receptores de radiobalizas

Por medio de un grupo de emisores de radiofrecuencia codificados,


ubicados en lugares conocidos por el
sistema, es posible establecer con precisión
la posición de un robot, con sólo hacer una
triangulación. Al efecto el robot debe poseer
una antena de recepción direccional (con
reflector parabólico, o similar) que pueda
girar 360°, y así determine la posición de
las radiobalizas. En el robot es posible usar
receptores integrados muy pequeños y de
bajo costo, como el RWS-433, o el RXLC-
434, y otros similares, que trabajan en
frecuencias de entre 303 y 433 Mhz. La elección de los transmisores
dependerán de la distancia a que se ubiquen las radiobalizas, pero si
se trata de áreas acotadas es posible utilizar los módulos
transmisores hermanados con los anteriores, como el TWS-433 y el
TXLC-434.
Transmisor y Receptor TWS-# y RWS-#

El módulo transmisor viene ya ajustado en


una frecuencia, que puede ser de 303,875
MHz (TWS-303), 315 MHz (TWS-315),
418 MHz (TWS-418) y 433,92 MHz (TWS-
433). Está listo para su uso. Sólo se debe
colocar una antena, conectarle la
alimentación y comenzar a enviarle datos.
Para facilitar la transmisión de datos
codificados, existe un codificador que hace
juego, que es el Holtek HT12E.

Pin 1: Vcc
Pin 2: Vcc
Pin 3: GND
Pin 4: GND
Pin 5: Salida de RF
Pin 6: Entrada de datos
Potencia de salida de RF: 8 mW
Pines con componente
metálico hacia adelante
ESPECIFICACIONES
Símbolo Características Condiciones Mín. Tip. Máx. Unidad
Vcc Voltaje de alimentación 1,5 - 12 V
Icc Corriente máxima - 5 9 mA
Vih Voltaje máximo entrada Idato=100µA (alto) Vcc-0,5 - Vcc V
Vil Voltaje mínimo entrada Idato=0µA (bajo) - - 0,3 V
Pout Potencia RF sobre 50 ohm -3 0 +2 dBm
Tbw Ancho banda modulación - 5 - kHz
Codificación
Tr Flanco subida modulación - - 100 µS
externa
Tf Flanco bajada modulación - - 100 µS
Alcance 20 m

Los transmisores listados


hacen juego con receptores
de la misma frecuencia, que
también vienen en un valor
predeterminado entre 300
MHz a 434 MHz. Puede ser
de 303,875 MHz (RWS-303), 315 MHz (RWS-315), 418 MHz
(RWS-418) y 433,92 MHz (RWS-433). Posee en diseño pasivo de
alta sensibilidad, que no requiere componentes externos. Para
decodificar las señales que llegan a este receptor se puede utilizar el
decodificador asociado Holtek HT12D.

Pin 1: GND
Pin 2: Salida digital
Pin 3: Salida lineal
Pin 4: Vcc
Pin 5: Vcc
Pin 6: GND
Pin 7: GND
Pin 8: Antena (aprox 30-
Pines con el ajuste de sintonía hacia adelante 35cm)
(color naranja en la foto) Sensibilidad: 3uVrms
ESPECIFICACIONES
Símbolo Características Condiciones Mín. Tip. Máx. Unidad
Vcc Voltaje de alimentación 4,9 5 5,1 V
Itot Corriente de operación 4,5 mA
Idata=+200µA (alto) Vcc-0,5 - Vcc V
Vdato Salida datos
Idato=-10µA (bajo) - - 0,3 V
Fc Frecuencia operación 300 434 MHz
Pref Sensibilidad -106 dBm
Ancho de canal ±500 kHz
NEB Ancho banda equival. ruido - 5 4 kHz
Velocidad transferencia datos 3 kb/s
Tiempo de encendido - - 5 mS

Codificadores de posición angular


Descripción y funcionamiento
Introducción
Los transductores de la posición angular de un eje son componentes
fundamentales en la tecnología de control. Es difícil encontrar
sistemas mecánicos industriales automatizados que no tengan varios
ejes de movimiento angular o lineal. Utilizando un acoplamiento
directo o algún tipo de acoplamiento mecánico que realice la
adaptación, un codificador de la posición angular se puede utilizar en
el monitoreo de cualquier tipo de desplazamiento.

Métodos de codificación
Listamos los tipos de transductores de posición angular de eje que
son comunes en control industrial:

1.

Diagrama de un potenciómetro.
En verde, el anillo de resistor

Potenciómetros
2. Codificadores incrementales
3. Codificadores absolutos
4. Resolvers

Potenciómetros
Dentro de un potenciómetro normal encontraremos un anillo circular
de material resistivo (resistor). Sobre el eje del potenciómetro hay
un contacto que gira, deslizándose sobre este material resistivo. La
resistencia eléctrica entre un extremo del anillo y el contacto es
proporcional a la posición angular del eje.
Si se aplica un voltaje entre los extremos del resistor del
potenciómetro, el voltaje en el contacto varía en relación directa con
la posición angular del eje. Este voltaje se puede ingresar a un
convertidor analógico-digital (A/D) para obtener el valor digital de la
posición angular.

Codificadores incrementales

Un codificador incremental de rotación está formado por un disco con


ranuras radiales ubicadas por lo general muy juntas en toda su
circunferencia, o sino con líneas alternadas en color claro y oscuro, que
giran frente a un fotosensor (o un conjunto de éstos, para más precisión),
generando un pulso por cada ranura o cambio de color.

Discos de codificador incremental

Un ejemplo típico de este tipo de codificadores se puede ver dentro


de los mouses (ratones) de computadora: pequeños discos con
ranuras en cada eje de movimiento. Un circuito lleva la cuenta de los
pulsos, con lo que se puede conocer tanto el ángulo que se ha
avanzado como la velocidad de giro (midiendo el tiempo entre
pulsos). Estos codificadores son baratos pero no ofrecen una posición
absoluta (como el potenciómetro), ya que el disco es igual en toda su
circunferencia y no hay manera de saber dónde está ubicado (en qué
ángulo absoluto) el eje. Habitualmente, se debe proveer al sistema
de una manera de ubicarse en una posición cero, y de ahí en
adelante contar pulsos hacia adelante o hacia atrás.
Codificadores absolutos

Los codificadores absolutos ópticos funcionan con un concepto similar


al de los tipos incrementales, sólo que poseen un disco con un dibujo
complejo, distribuido en anillos concéntricos que representan los bits de
una palabra binaria. Deben tener un detector óptico por cada uno de
estos anillos. Por ejemplo un disco con 8 anillos (como el de la figura),
tendrá una resolución de 8 bits, o sea que podrá dividir su circunferencia
en 256 porciones (más de 1 grado, si hablamos de ángulo). Un disco con
más anillos concéntricos ofrecerá más bits de resolución y dará un dato
de posición angular más preciso.

Disco de codificador absoluto

Por razones de precisión óptica, la codificación se suele hacer en una


codificación llamada código Gray, que luego se traduce en el código
binario estándar que utiliza una computadora para sus cuentas.

Resolvers
Sinceramente, no he encontrado el nombre en español de este
codificador, así que los llamaré con su nombre en inglés: "resolver".
Los resolvers parecen pequeños motores pero son, esencialmente,
transformadores rotativos diseñados de tal modo que su coeficiente
de acoplamiento entre el rotor y el estator varía según sea la
posición angular del eje.
En su dideño más simple, el resolver consta de dos bobinados en el
estator, que detectan una señal senoidal de inducción, emitida por un
tercer bobinado desde el rotor; una de las bobinas detectoras corresponde
al seno y la otra al coseno (están ubicadas en posiciones separadas,
obviamente, por un ángulo de 90°). La bobina excitadora del rotor es
alimentada por una señal de corriente alterna senoidal que le llega a
través de anillos de metal (contactos) ubicados sobre el eje, y escobillas.
Este diseño tiene el inconveniente de que el mecanismo de escobillas
sufre un desgaste continuo, lo que hace posible, pasado cierto tiempo de
uso, que desde ahí se ingrese ruido en la señal. Tanto el rotor como el
estator están construidos con un núcleo de hierro laminado.

Existe una solución de resolver sin escobillas, que está implementada


por un transformador rotativo, con el primario sobre el estator y el
secundario en el rotor. Aquí tambien el rotor y el estator son núcleos de
hierro laminado. Igual que en el caso anterior, el resolver tiene dos
bobinados en el estator, que detectan la señal senoidal que se induce
desde el rotor. Están unicados en posiciones separadas por un ángulo de
90°. En el rotor existen otros dos bobinados: uno es el excitador, que
induce una señal alterna senoidal, generalmente con una frecuencia del
orden de los 400-500 hz, y el otro es el secundario de un transformador
por el que llega al rotor la señal de alimentación de la bobina excitadora.
Esta configuración logra que el rotor no tenga escobillas, con lo que se
evita un elemento que sufre desgaste, que es sensible a los impactos y
vibraciones, y que sin duda introduciría ruidos que pueden causar
errores. En una parte aislada del estator está el primario del
transformador de alimentación de señal.
En ambos modelos, cuando la bobina excitadora del rotor recibe una
alimentación de señal senoidal, cada una de las bobinas detectoras
del estator es inducida con una señal cuyo voltaje de salida varía de
acuerdo al seno de la posición del eje para una de ellas y el coseno
de la posición del eje para la otra.

Las señales de las bobinas detectoras del estator se llevan a un tipo


especial de convertidor analógico digital, conocido como conversor
resolver a digital (R/D converter).

Sincros (syncro)
Según he entendido, este tipo de resolver, llamado sincro-resolver o
simplemente sincro, no tiene bobinas en el rotor. El rotor es sólido y
tiene un dibujo mecanizado sobre él. El sincro tiene dos bobinas
detectoras, igual que en el caso anterior separadas por un ángulo de
90°, y una bobina excitadora, todas ubicadas en el estator. Al girar,
el acople magnético varía a causa del dibujo que se ha realizado
sobre el rotor. La electrónica necesaria para convertir a digital es
similar a la de los conversores R/D.
Comparando técnicas
Los potenciómetros son útiles para aplicaciones con precisiones
entre 0,5 a 5 %. Son los dispositivos más baratos que existen para
este uso. Debido a que están sujetos a desgaste mecánico, su
aplicación se limita a productos hogareños y en industrias donde no
es importante la seguridad y duración.

Los codificadores incrementales son razonablemente baratos. Se


los usa extensamente en la industria, aunque su rendimiento es casi
marginal en entornos críticos. Los discos se pueden quebrar si
reciben impactos y se pueden producir errores por condensación. La
volatilidad de su salida puede hacerlos no aceptables en algunas
aplicaciones.

Los codificadores absolutos cubren un rango que va desde los


medianamente costosos a los de alto costo, dependiendo de la
resolución necesaria. Como sus similares incrementales, en algunas
aplicaciones extremas pueden tener algunas limitaciones de
performance.

Los sincros son relativamente caros pero ofrecen alta precisión.


Debido a que virtualmente no tienen partes móviles sujetas a
desgaste, son muy seguros. Se necesita una electrónica costosa para
convertir la señal a digital y para proveer la excitación.

Sensores mecánicos de choque


(parachoques)
Información completa sobre -> Sensores para Robots

Uno de los detectores que más comúnmente se instalan en un robot


es algún tipo de parachoques (en Argentina "paragolpes"). Aún así,
no es común encontrar información sobre la implementación y
comportamiento de los sensores de este tipo. Poner en funciones la
programación adecuada puede, entonces, exigir muchas pruebas y
producir una buena serie de frustraciones.

Como la mayoría de los libros parecen evitar el tema, limitándose a


soluciones tales como "giro a la derecha en caso de choque
izquierdo" y "giro a la izquierda en caso de choque derecho",
procuramos hacer aquí un análisis de la información relacionada con
esta lógica de parachoques, simple sólo en apariencia.
Navegar a ciegas

Navegar con parachoques es como moverse palpando en la


oscuridad: alcanzar un destino puede llevarle al robot un tiempo
excesivamente largo, si es que alguna vez llega. Se entiende que es
el método más básico para implementar la detección de obstáculos
en un robot. Hoy día —teniendo en cuenta que la electrónica
necesaria es mucho más accesible— se debería pensar en la
colocación de algunos detectores infrarrojos, además de los
parachoques. Pero este es tema para otro artículo.

El parachoques de un robot puede ser la única capacidad sensorial.


Pero resultan necesarios aún teniendo otros métodos de detección,
pues constituyen algo así como una última línea de defensa. Cuando
los demás sistemas no han detectado un obstáculo, para que el robot
no reciba golpes en partes delicadas de su estructura, o se quede
haciendo fuerza con sus motores y gastando sus baterías en una
trampa mecánica, es bueno que posea el más primitivo pero seguro
y eficaz sistema de detección.

Funcionamiento básico

El contacto en un parachoques le indica al robot que hay un objeto


en su recorrido, con forma y tamaño sin determinar. Ante el suceso,
la lógica de control puede ordenar una maniobra que le permita salir
de la situación.

Aunque muchos robots experimentales básicos se construyen con


una cantidad mínima de parachoques —dos en la parte delantera, y a
veces uno en la parte trasera, lo que permite una navegación
primitiva—, una disposición así no será suficiente para lograr que un
robot se mueva por los ambientes de una casa sin quedar atrapado
en algún sitio.
Lógica convencional de parachoques

En una implementación básica, lo más típico es que la lógica funcione


con las siguientes reacciones:

 si toca el tope izquierdo, detener la marcha y girar un poco a


la derecha, luego continuar;
 si toca el tope derecho, detener la marcha y girar un poco a la
izquierda, luego continuar.

Esto funciona, pero lamentablemente también es una buen fórmula


para garantizar que un robot quede atrapado muy pronto en un
rincón de una casa, o incluso en el recorrido más controlado de una
zona de pruebas.

Primeras dificultades con los parachoques


En primer lugar, tan pronto como el robot encuentre una esquina con
paredes en ángulo podrá quedar atrapado en un movimiento sin fin
de ida y vuelta, hasta que se le acaben las baterías. A esto se le
llama "encajonarse", y hay ciertas soluciones que se pueden utilizar
para corregir la condición.

En segundo lugar, en áreas estrechas o cerradas, el robot puede


quedar atrapado entre dos paredes muy juntas, rebotando entre las
paredes por horas, sin ir a ningún lado. Éste es el "problema del
túnel".
Si no se ha implementado una manera de saber si la parte posterior
ha chocado con algo, el robot hará fuerza con sus motores para
intentar retroceder. Finalmente, existiendo sensores traseros, cuando
luego de una detección el robot retrocede una distancia apreciable,
también puede quedar atrapado, rebotando sin cesar.

Una lógica de parachoques más completa

Colocando algunos interruptores adicionales y con una programación


algo más sofisticada podemos evitar muchas de estas trampas. Se
agrega así una cierta "inteligencia artificial" que resolverá mejor las
situaciones de choque con obstáculos.

Veamos cada condición, y algunas soluciones potenciales.

¿Cuántos parachoques?

Es obvio que agregar un anillo continuo de interruptores de


parachoques alrededor de la periferia del robot puede ser algo
excesivo, un desperdicio de recursos. Los experimentos en
ambientes caseros normales han determinado que cinco parachoques
en el frente y uno en la parte posterior ofrecen un funcionamiento
óptimo dentro de lo que es una red sensorial algo limitada.

La disposición consiste en un tope central, flanqueado a cada lado


por dos topes laterales. Además, se ubica un tope en la parte
posterior del robot.
El conjunto delantero debe cubrir la totalidad del ancho del robot,
incluyendo cualquier parte que sobresalga, como por ejemplo las
ruedas. Lo mismo vale para el parachoques trasero único.

El funcionamiento de estos topes cubrirá las siguientes detecciones:

 1. Frente izquierdo izquierdo


 2. Frente izquierdo
 3. Centro
 4. Frente derecho
 5. Frente derecho derecho
 6. Parte posterior

Antes de que definamos qué comportamiento se debe producir


cuando se activa cada tope, recordemos que hay tres tipos de
situaciones que debemos considerar.

Primero, un comportamiento simplemente reactivo o de reflejos. Se


trata de una lógica simple de parachoques que activa un sistema
preestablecido de maniobras de escape, que dependerán de cual
interruptor de parachoques se haya activado.

A estas maniobras se les llama "balísticas", porque una vez que


comienzan, continúan hasta el final, por lo general sin admitir nuevas
entradas sensoriales. Un ejemplo sería: "Si se activa el tope derecho,
primero retrocedemos medio segundo, damos vuelta a la izquierda
un segundo, y luego continuamos avanzando". Es decir, el
comportamiento es totalmente reactivo, con cantidades realmente
insignificantes de inteligencia implicadas.<12>
<0>En segundo lugar, y un poco más avanzado, se pueden analizar
una serie de choques que se repiten y están relacionados de manera
cronológica. Esta secuencia se presenta, por ejemplo, cuando el
robot queda atrapado en una situación de "encajonado", y también
cuando el robot queda en una reiteración hacia adelante y hacia
atrás de la que no puede escapar.

Si empleamos cierto nivel de inteligencia de supervisión,


detectaríamos estos sucesos que se repiten en el tiempo y
reaccionaríamos en consecuencia. Por ejemplo, si descubrimos que
se producen media docena de choques sucesivos y repetitivos en
unos segundos, esto puede indicarnos que estamos en una trampa
del tipo "encajonado".

En tercer lugar, agregamos un factor de variación. En "inteligencia"


robótica, agregar variación es, simplemente, introducir una pequeña
cantidad de valores azarosos a la inteligencia estándar de reflejos de
la máquina.

Esto tiene peso cuando se toma una decisión lógica con el procesador
de un robot o, de manera similar, en la estructura neural de un
insecto. Una pequeña cantidad de "variación al azar" puede aportar
nuevas soluciones a los problemas que se presentan, e incluso puede
producir comportamientos inesperados.

Para lograr esto, se debe agregar aleatoriedad matemática a


nuestras reacciones.

Respuestas balísticas y por reflejo

1. Impacto frontal central

En un impacto en el parachoques central, si sólo tenemos como


elemento de detección el sensor del parachoques, la opción de girar
a la derecha o a la izquierda será arbitraria, puesto que, a diferencia
de los infrarrojos, no nos es posible mirar a cada lado para ver si
está despejado: con los parachoques, para saber si allí hay algo hay
que chocar con eso.

La solución entonces es retroceder un poco para que el interruptor


del parachoques ya no esté activado, y entonces el robot gira a la
derecha o a la izquierda, en un movimiento seleccionado al azar con
una posibilidad de 50% para cada lado. El ángulo de giro será el
mayor en el grupo de parachoques delanteros, típicamente de unos
90 grados.
Es muy bueno agregar un valor al azar para no caer dos veces en la
misma situación. Se define una rotación de 45 grados sumada a una
cantidad seleccionada al azar, que va desde 0 hasta 45 grados. Esto,
en conjunto, da un giro máximo de 90 grados.

2. Contacto en los parachoques adyacentes al centro

En cada lado del parachoques central tenemos parachoques


adyacentes. Éstos, debido a la curvatura del cuerpo, están en un
ángulo de unos 30 a 40 grados respecto al eje de la dirección de
avance del robot, de modo que el ajuste de dirección del robot, en
caso de producirse este tipo de contacto, debe estar en un valor de
ángulo similar al de esta posición.

A un movimiento de este tipo se la llama "reacción proporcional".

Cuando uno de estos parachoques hace contacto con un obstáculo,


se retrocede hasta que quede liberado el interruptor del parachoques
y después se gira unos 45 grados en dirección opuesta a la del
impacto.

Una vez más, un valor de azar agregado al giro nos asegurará que el
robot no se quede en una repetición hacia adelante y hacia atrás en
situaciones en las que el espacio para el movimiento es ajustado. El
giro, entonces, es de 22 grados, y se le agrega una cantidad al azar
de entre 0 y 23 grados para sumar un total de 45 grados de rotación.
3. Contacto en los parachoques apartados del central, o
laterales

Un contacto en estos topes indica un choque casi lateral en el robot.


La reacción debe ser mínima, de modo que, cuando sea necesario, el
robot pueda atravesar pasillos estrechos.

El robot debe retroceder en este caso algo así como la mitad de la


distancia que se mueve en un impacto del parachoques central. Esto
es porque el ángulo de los topes laterales está a más o menos 60
grados respecto a la dirección de avance, por lo que se necesitará
menos giro para superar el obstáculo.

Luego de este retroceso, el robot gira a la derecha o a la izquierda,


según en qué flanco haya sido el contacto, un total de 22 grados.
Como en los otros casos, la mitad de este ángulo es fijo y la otra
mitad es un valor azaroso entre 0 y 11 grados.

En estos parachoques será bueno ir experimentando el valor de giro


y tiempo de retroceso hasta que el robot pueda avanzar con fluidez
al recorrer un pasillo.

4. Impacto trasero

El parachoques trasero, si se coloca una extensión mecánica tal como


una antena de alambre o una banda de metal que cubra por entero
la parte trasera, puede tener un único interruptor. Esto es porque la
mayoría de los robots sólo se mueven hacia atrás pequeñas
distancias, y solamente cuando están realizando una maniobra
evasiva, o una de estacionamiento bajo control.

La clave es, en este caso, mientras se avanza hacia atrás, leer una y
otra vez el interruptor para ver si hay contacto. Si éste se produce,
se interrumpe el retroceso.
Los pocos centímetros que retrocedemos debido a un impacto en la
parte delantera pueden ser truncados de inmediato en situaciones de
poco espacio para los movimientos.

Ya que sólo atendemos al estado de este interruptor cuando


movemos al robot en dirección hacia atrás, un impacto trasero en
otras circunstancias no causará ninguna reacción.

Respuesta en base al tiempo entre los sucesos

Además de estas respuestas puramente reflejas, hay posibilidad de


establecer respuestas a secuencias de sucesos que se producen
dentro de un plazo determinado. Por ejemplo, si se detectan media
docena de choques dentro de una cantidad limitada de segundos,
podríamos asegurar que el robot está atrapado en un espacio
confinado. Observando el tiempo que transcurre entre choques, es
posible detectar estos episodios y realizar maniobras evasivas.

Impactos múltiples muy seguidos

Hay por lo menos dos tipos de secuencias de impactos por encierro o


entrampado del robot, y será necesario analizarlas para obtener
información de lo que está sucediendo. Las dos producen impactos
múltiples en poco tiempo y no siempre es fácil determinar cuál es
cual. La respuesta a cada una de estas situaciones es algo diferente.

"Encajonamiento" (entrampado en una esquina)

Esta clase de sucesión de choques es la más común que se presenta


al probar un nuevo robot. En este caso, el robot quedará atrapado en
una esquina de una habitación, o en partes de un mobiliario,
rebotando una y otra vez entre paredes adyacentes. Por ejemplo,
cuando un robot toca en la esquina con su parachoques izquierdo,
retrocede un poco y gira hacia la derecha para evitarla. Pero ahora
avanza y un segundo después toca con la pared adyacente con su
parachoques derecho, retrocede nuevamente un poco y gira hacia la
izquierda, en un movimiento evasivo reflejo. Esto puede seguir para
siempre, o hasta que el robot se quede sin baterías.
La detección y corrección de esta condición es de gran importancia si
se desea que el robot se mueva en un entorno casero.

Para solucionar esta situación, primero debemos detectarla. Esto se


hace registrando en la memoria cuáles fueron los últimos cuatro
toques y el tiempo que transcurrió entre ellos. Luego se examina
esta información para determinar si se está produciendo un
encajonamiento.

Para poner en marcha este sistema, programaremos el robot para


que recuerde. Esto no es difícil, y además nos introduce en el
concepto de matrices de aprendizaje. La idea básica es definir un
grupo de variables, cuatro o más, en las que guardaremos los datos
de tiempo. Mientras el robot está avanzando sin chocar con nada,
arrancamos con una variable en cero y la vamos incrementando cada
10 milisegundos, por poner un valor típico. Diez milisegundos es un
tiempo suficientemente corto como para manejar la respuesta más
rápida que se necesita ante un obstáculo.

Cuando detectamos un contacto en un parachoques, respondemos


con una acción usual, pero guardamos el valor que alcanzó el
contador, y luego ponemos el contador en cero. Luego, en cada
impacto sucesivo vamos guardando los tiempos entre cada contacto
en distintas variables, hasta haber registrado los últimos cuatro
choques.
Cuando tenemos los cuatro valores, los sumamos, y si la suma de los
tiempos que transcurrieron nos da un valor menor a 5 segundos,
esto significa que hemos detectado una secuencia de choques que se
han producido en un corto tiempo. En la mayoría de los casos, para
escapar de esta condición se hace que el robot gire un ángulo de
180°.

Pero existe un caso en el que un robot que esté equipado


únicamente con parachoques detectará (falsamente) que está
atrapado en una esquina, pero no podrá escapar usando las
soluciones que hemos visto hasta ahora: la trampa en una situación
de túnel.

El problema del túnel

Sin la ayuda de un sistema de detección de obstáculos por infrarrojos


o por ultrasonidos (sonar) que nos permita "ver" por qué lado
podemos escapar, la situación de encierro en un túnel o estrecho
pasillo sólo se puede solucionar probando reiteradas veces.
Imagínese que su robot ingresa a un pasillo angosto o en el espacio
entre el respaldo de un sofá y la pared. En algún lugar, si la dirección
de marcha del robot no es totalmente paralela a las paredes, éste
comenzará a chocar con ellas. Lo que ocurra a partir de aquí
depende mucho de la forma del robot, además de del espacio que
tiene, pero lo más probable es que el robot empiece a rebotar de
pared a pared, muy rápido, en una maniobra de evasión tras otra, y
quede atrapado.

Dado que sólo puede detectar objetos cuando toca con ellos, no es
fácil encontrar qué debe hacer el robot para liberarse de este
problema y salir del túnel. Muchos robots caseros pueden moverse
horas dentro de una casa, y cuando se produce el ingreso a un túnel,
el robot queda atrapado allí hasta que se le agotan las baterías.
Parece un situación muy parecida a la del encajonamiento en una
esquina, pero hay diferencias a estudiar y una solución muy
diferente.
Para detectar la situación de entrampado en un túnel, debemos
registrar, además del tiempo transcurrido entre los toques, la
cantidad de veces que hemos debido pasar a la reacción de escape
de una esquina, y el tiempo total en que se produjeron. Después de
dos o tres acciones de evasión de esquina que han ocurrido muy
seguidas, es muy probable que en realidad estemos atrapados entre
dos paredes cercanas, y debamos entrar en nuestra rutina de escape
del túnel.

Si bien no hay ningún método absolutamente seguro, el que vamos a


describir puede sacar al robot de esta situación de trampa sin salida.
La respuesta es entrar en una rutina de seguimiento de pared, una
condición que, bien instrumentada, debería llevarnos a alguna salida.

En esta rutina de seguimiento de pared, cada impacto debe ser


seguido de un movimiento de evasión minimizado. Es decir, se
ejecuta la serie de movimientos habituales ante un contacto de los
parachoques, pero se retrocede muy poco y sólo se gira un pequeño
ángulo. Esto debería hacer que el robot siga las paredes del corredor
en un movimiento de pequeños arcos, pegado a ellas, sin llegar
hasta la pared opuesta. Se sale del modo de seguimiento de pared
cuando el o los parachoques vinculados (los del lado de esa pared)
dejan de detectar contactos por un tiempo, lo que indicaría que
hemos alcanzado el final del túnel.

El truco principal para seguir una pared es que los parachoques


laterales sobresalgan lo suficiente del conjunto como para que un
contacto del robot en dirección casi paralela a una pared seguro los
actúe. El tamaño de los arcos recorridos se determina en base al
ángulo de regreso al contacto con la pared. Si el arco es muy amplio,
habrá problemas en una pared curvada; si es muy pequeño, se
perderá mucha energía rebotando contra las paredes. La amplitud
del arco depende mucho del tamaño del robot, por supuesto. Para un
robot pequeño (de unos 20 centímetros de longitud, por ejemplo),
será apropiado un arco de unos 20 a 30 centímetros.

Y aquí es cuando descubrimos que es necesario otro control: hay que


limitar el tiempo en que el robot estará en el modo de seguimiento
de pared —una cantidad determinada de segundos— y luego salir de
él, porque sino podría ocurrir que el robot se quede girando para
siempre alrededor de algún mueble redondeado.
Atascos de todo tipo

Otro problema es que el robot quede atascado en algún objeto que


no ha detectado, o en el cable de un electrodoméstico, o en un
desnivel del piso, con sus ruedas girando, y ante la falta de
detecciones de choque suponga que se está moviendo libremente por
una enorme habitación.

Hemos desarrollado las ideas para solucionar este tema en otro


artículo, Lógica de detección de atascos.

Falsas detecciones

Si queremos un robot independiente, hay que tener en cuenta las


fallas que se pueden producir en los detectores.

Un problema común cuando se trabaja con parachoques caseros es


que a veces el diseñador utiliza la pequeña leva del interruptor (del
tipo que conocemos como microswitch) directamente como actuador,
o para fijar en ella —usándola como soporte— la pieza de material
que hará las veces de parachoques. Debido a que la leva es una
pequeña tira de metal que no está pensada para esto, la solución
casera no habrá de durar mucho y resultará, finalmente, en una leva
rota y un interruptor insensible, o en un interruptor presionado todo
el tiempo.

Agreguemos también que los interruptores también pueden fallar por


sí mismos, internamente.

Sea como sea, si un contacto de parachoques queda cerrado, el


robot va a responder constantemente, moviéndose en un baile en
círculos para tratar de escapar de un obstáculo fantasma.
Detección falsa por contacto cerrado

Si se monitorea el tiempo que cada interruptor de parachoques está


cerrado, se puede alertar al programa principal si este lapso es
excesivo, por ejemplo, si es de 5 segundos o más.

Algo más complicado sería observar las últimas 10 acciones de


evasión tomadas y, si todas fueron iguales, será una buena
indicación de una falla. Otra solución es observar el estado del
contacto del parachoques después de retroceder por un impacto en
la parte delantera. No debería haber indicación de persiste la presión
sobre el interruptor, y lo más probable si esto ocurre es que el
contacto esté cerrado por una falla.

Falta de detección por contacto abierto

Esto es difícil de detectar. Se podría observar a lo largo de un buen


tiempo si algún parachoques jamás ha detectado un obstáculo.

Si el afectado es el parachoques central, lo más probable es que el


robot se detenga contra el obstáculo y quede con las ruedas girando
sin cesar. Esta situación se detecta usando la lógica de detección de
atascos que describimos en otro artículo.

Pero un parachoques lateral es más problemático.

Una posible solución es crear una rutina que pruebe todos los
parachoques contra un obstáculo, girando la cantidad precisa de
grados como para ir afectándolos uno a uno. Esta rutina se puede
disparar al azar en una situación de vagabundeo (en alguno de los
momentos en que se detecta un obstáculo), o se puede efectuar en
la base del robot, cuando se lo pone en marcha.

Una lógica con variantes

Chris y Dawn Schurs, del sitio Robotics and Artificial Lifeforms,


cuyo artículo en ese sitio nos ha servido como ejemplo y guía para
este trabajo, usan el término "Creatividad" para referirse al recurso
de agregar una pequeña cantidad de valores azarosos en las
respuestas reflejas. Este concepto se utiliza en los sistemas
biológicos para generar soluciones nuevas a los problemas
habituales.

Un ejemplo en el mundo biológico se presenta cuando un ciervo


camina por un bosque.
Cuando el ciervo llega a un gran árbol, debe rodearlo. ¿Por qué lado?
Después de unos momentos de observación, el ciervo elige una
dirección al azar y continúa.

El azar también se puede utilizar para hacer descubrimientos.


Considere una hormiga que se dirige hacia una fuente conocida de
comida. Cuando las hormigas avanzan, su trayecto no es
absolutamente rectilíneo: se mueven hacia un lado y otro en base a
algún tipo de generación azarosa en el control de sus patas.
Acercándose a su destino, la hormiga descubre una segunda fuente
de alimento, que estaba a un lado del camino.

Su movimiento "azaroso" le resultó útil.

Nosotros también podemos emplear valores azarosos en las


respuestas de nuestros sentidos biomiméticos para mejorar las
rutinas de escape y búsqueda de los robots caseros.

Definiendo los valores azarosos

Hay varios métodos para generar valores azarosos con un programa.


Los programas Pbasic y PICbasic tienen la función RANDOM(X), que
entrega un valor al azar a partir de un generador de números seudo
aleatorios. Estos programas de generación de números utilizan
distintas técnicas que no discutiremos aquí.

Un método para obtener números aleatorios reales en un


microcontrolador es conectar su convertidor A/D a un semiconductor
que normalmente genera ruido electrónico, como un diodo o un
transistor. Aquí se puede ver un circuito de ejemplo:
http://www.robseward.com/itp/adv_tech/random_generato
r/.

Generación de "respuestas creativas" azarosas

Ya hemos visto una buena aplicación de una respuesta con variantes


al azar en los algoritmos de giro de cada parachoques. Agregando un
pequeño valor de azar, limitado a un rango minúsculo, a los
movimientos reactivos, se logra evitar situaciones de
entrampamiento por una repetición continua del estímulo y de los
movimientos de respuesta.

Aplicaciones para la "creatividad"

Hay muchos usos para este útil concepto, pero aquí cubriremos lo
referido a la lógica de parachoques. La clave, como ya hemos visto,
es que después de decidir la rotación que vamos a efectuar ante un
impacto específico, dividimos el valor por dos, tomamos una mitad
como valor fijo y hacemos que la segunda mitad del valor sea elegido
al azar dentro de un rango que varía entre cero y la mitad del giro
total. En el caso de un impacto derecho, por ejemplo, giraremos un
ángulo de entre 45 y 90 grados, que surgen de sumarle a un valor
fijo de 45 grados otro que varía, al azar, entre 0 y 45 grados.

En este caso hablamos de robots que pretendemos que se dirijan a


un destino determinado, y no juguetes que deambulan al azar. No es
recomendable que siempre giremos al azar un rango que va entre 0
y 360°, porque esto llevará al robot muy fuera de camino la mayoría
de las veces.

También se puede utilizar el concepto de "creatividad" en situaciones


donde tratamos con tiempos, sumando un pequeño valor azaroso a
los tiempos que se consideran.

Arquitectura electromecánica de los parachoques

Discutiremos ahora la implementación mecánica del conjunto de


parachoques. Primero, y más importante, pongámonos en mente que
el concepto apropiado para lo que deseamos hacer no es sólo un
conjunto de interruptores provistos con una leva de extensión que
impacta los obstáculos. Lo que estamos haciendo es un grupo de
parachoques, con una instrumentación. Hay una gran diferencia en la
filosofía de diseño. La manera incorrecta de diseñar este sistema de
detección de impactos es montar los interruptores en el frente y
parte trasera del robot y sujetar algún tipo de alambre, barra o
planchuela a las levas del interruptor. Aunque esto funcionará bien
por un tiempo, no será durable y antes o después los mecanismos de
los interruptores resultarán destrozados. La manera correcta de
implementar los sensores de impacto es como sigue:

 Diseñe primero un sistema de parachoques con una sólida


mecánica en el frente y parte trasera del robot, que resista
por sí sola los impactos.
 Y recién aquí, agregue los interruptores al parachoques.

La idea es construir un conjunto fuerte de parachoques, con un


desplazamiento limitado, que puedan absorber los esfuerzos
mecánicos que se habrán de presentar en la realidad. Limitando con
recursos mecánicos el rango de desplazamiento del conjunto,
prevenimos posibles daños a los interruptores de detección.

Veamos algunos ejemplos de parachoques buenos y malos.

Hay montones de diseños de robots que tienen interruptores con leva


que fueron atornillados o ¡pegados! en el frente, a los que se les fija
alambres de acero, tales como el de cuerda de piano, a las levas del
interruptor, por medio de una manguerita plástica termocontraíble.
Luego de chocar unas docenas de veces con las paredes y muebles,
las levas se deforman, y los pulsadores se hunden demasiado, algo
que, antes o después, los daña. Aún peor, debido a que la leva no
tiene limitación en su movimiento hacia fuera, si se jala de ella en
lugar de pulsarla, cuando los alambres o extensiones se enganchan
en los obstáculos, al girar, las levas se doblan más de lo que
soportan y nunca vuelven a su forma normal. Este es un MAL diseño.

Vamos a considerar otro tipo. El robot está totalmente rodeado de


una banda cilíndrica metálica o plástica, suspendida, para darle
movilidad, sobre resortes o alambres de acero, y algo mayor que la
circunferencia del cuerpo del robot (con que quede 0,5 a 1 cm todo
alrededor está perfecto). En este espacio entre el cuerpo y el interior
del cilindro se montan varios interruptores de leva, alrededor de la
periferia, en cantidad necesaria. Cuando el cilindro choca contra un
obstáculo, se desplaza y empuja sobre la leva de alguno de los
interruptores, aportando información que indica en qué dirección está
el obstáculo.
Montamos además topes todo alrededor, como para que el cilindro
no supere el desplazamiento mínimo necesario para mover las levas
y presionar los interruptores, lo que protege a los interruptores y a
sus levas de cualquier presión excesiva o exceso de límite. Otra
opción es que los interruptores estén ubicados por dentro del borde
del cuerpo, con sólo las levas sobresaliendo, lo que ya de por sí evita
cualquier esfuerzo aplicado sobre el cuerpo del interruptor. De esta
manera hemos limitado el desplazamiento usando un recurso
mecánico, que protege a los interruptores. Los robots del tipo
conocido como "Rug Warrior" están construidos según este diseño.
Este es un diseño MUY BUENO.

Hay otros detalles menores de la construcción de parachoques que


harán que éstos sean óptimos para detectar obstáculos, tales como
agregar unos rectángulos de goma que suavicen los impactos y
dividir el cilindro del parachoques en secciones para aportar una
información sensorial más precisa.

Ya hemos discutido sobre la distribución de los detectores de choque,


pero esto no quiere decir que sea la única configuración posible. La
mayoría de los desarrolladores de robots coinciden en que un cuerpo
circular con un motor en cada rueda es el mejor diseño para un robot
con un tamaño de menos de 30 centímetros de diámetro que se
mueve en interiores. Esto habilita al robot a girar sobre sí mismo
cuando se está moviendo hacia algún lugar o está evadiendo
obstáculos, y no ofrece ángulos ni proyecciones que se enganchen en
los muebles u otras cosas que haya en la casa. En realidad el robot
puede ser cuadrado o rectangular, siempre que su límite externo
esté definido por el anillo de los parachoques. Es algo que se hace
comúnmente y que aporta lo mejor de ambas opciones.

Como se lee en la primera parte de este trabajo, en nuestros robots


hemos decidido colocar cinco parachoques en la parte delantera y
uno en la parte posterior. No es una elección arbitraria; la tomamos
luego de probar docenas de robots que han operado por años en
entornos internos y externos. Se pueden elegir otras opciones, pero
es bueno tener presente siempre que uno o dos únicos parachoques
frontales no son suficientes para evitar problemas.

Basado en el artículo Bumper Logic de Chris y Dawn Schurs.

Sensores - Lógica de atascos


Basado en el artículo "Stasis Logic" de Chris y Dawn Schur

Información completa sobre -> Sensores para Robots

Introducción

En el entorno normal de una casa, un robot se encontrará con


muchos obstáculos que puede detectar con sensores infrarrojos de
proximidad comunes, o con un sistema de parachoques de detección
de choque. Sin embargo, hay numerosas situaciones en las que el
robot se quedará atascado, enredado o encajonado sin que esos
detectores sean capaces de definir la situación. Los detectores de
atascos cubren este importante hueco en los datos sensoriales.
Permitirán que el robot intente liberarse y continúe con la tarea que
se le asignó. En este reporte, discutiremos los métodos de detección
de atascos y los comportamientos programados que se deben utilizar
en un robot hogareño.

Aplicación

Nuestra experiencia es que aquellos robots que hemos construido sin


detectores de atascos al rato de operar quedan atrapados en una
esquina, desnivel o en un saliente de un mueble, o en una lámpara
de pie con una extensión de cable, aunque lo hayamos construido
con toda precisión y cuidado. La naturaleza del entorno de una casa,
no preparado, presenta complejidades que no se pueden prever caso
a caso.
Los robots hogareños tienen, en general, dos situaciones de
operación:

 1. Cumplir una tarea y


 2. Desplazarse para llegar al sitio donde se debe cumplir con
una tarea

Esto puede estar definido en "capas", en una arquitectura de


subsunción. El recorrido hacia y desde una meta se puede poner en
una capa, junto con el comportamiento ante un atasco, en el nivel
apropiado. Un ejemplo simplificado puede ser:

 Comportamiento de Deambular, en el nivel más bajo,


 Comportamiento de Impacto de Parachoques,
 Comportamiento de Atasco,
 y finalmente la tarea principal: Ir a buscar un objeto y
tomarlo.

Con este tipo de arquitectura, si el robot queda atrapado en camino a


buscar el objeto y los parachoques no detectan un contacto, se
activará el comportamiento de atasco, y éste tratará de liberar al
robot.

Técnicas de detección de atascos

Discutiremos aquí una variedad de técnicas para detectar atascos, y


los detalles asociados con cada método.

Rueda de detección de atascos

Este es uno de los métodos más directos para detectar un atasco.


Consiste en la colocación de una pequeña rueda de arrastre en la
parte inferior, o delante del robot, con un detector de rotación óptico
o mecánico. Cuando el robot rueda hacia su meta, el detector de la
ruedita mide la distancia recorrida y la dirección del avance.
Codificando la rueda con líneas negras o perforaciones podemos
determinar mecánicamente la distancia mínima que debe rodar el
detector para indicar un movimiento. Por ejemplo, si se ponen dos
agujeros a 180° uno de otro en una rueda de 2,5 centímetros de
diámetro, o sea unos 7,5 centímetros de circunferencia, la detección
mínima de distancia recorrida será de un poco más de 3,7 cm. Esta
táctica se hace importante luego en este análisis.
Sensor óptico de suelo

Un método obvio de detección es, simplemente, medir el brillo de un


haz de luz reflejado en el piso debajo del robot. Esto se puede
implementar con facilidad con un LED rojo que proyecte un círculo de
2,5 cm de diámetro en el piso, y el monitoreo de esa área con un
fototransistor. Cuando el robot se mueve sobre un piso con alguna
irregularidad, como por ejemplo un piso de madera como el parquet,
la reflexión cambia cuando el robot se mueve. Un gran defecto de
este método es que si el piso tiene muy pocas irregularidades, el
detector de atasco reportará, falsamente, una condición positiva.
Además, incluso en un piso irregular, se deberá integrar en el tiempo
los datos detectados, algo que es necesario para lograr una variación
pareja y suavizada, y sin picos bruscos. Muchas veces un robot
quedará enganchado en un cable de un electrodoméstico, y entonces
se moverá una y otra vez hacia adelante y hacia atrás, intentando
sobrepasar la situación. Esta condición engañará a un sensor óptico,
que no podrá darse cuenta de cuál es el movimiento que se está
produciendo.

Detector infrarrojo de distancia

Otro método interesante es monitorear las distancias de objetos


cercanos y de las paredes. Si la distancia cambia todo el tiempo,
significa que el robot debe estar en movimiento. Con estos
detectores, en el caso de que el robot se enganche con un cable en
una habitación con paredes alejadas, el robot podría no ser capaz de
detectar las paredes y entonces no trataría de escapar... en absoluto.

Detector de distancia por sonar

Su uso es similar a la medición descripta arriba con detectores IR,


pero con un rango mucho mayor. La mayoría de las habitaciones
serán fáciles de recorrer con un método de detección como éste, que
además aporta la capacidad de evitar choques. El problema aquí es
el costo.

Detectores visuales

Para detectar el atasco e inmovilización del robot, se puede utilizar


también una cámara CMU (el nombre viene de Carnegie Mellon
University, quienes la diseñaron), siempre que haya suficientes
contrastes en un cuarto como para proporcionar blancos en
movimiento. Cuando el robot se esté acercando a una pared o a un
obstáculo, el histograma cambiará continuamente. Esto también se
puede utilizar para la detección de un atasco. Sin embargo, en este
caso no queda para nada claro cómo se fijaría el umbral de escape.
Es probable que este sea el método más costoso y más complejo que
consideramos.

Fotoceldas de luz visible

Ponga un fototransistor en el extremo de un tubo y colóquelo


apuntado hacia delante. Cuando el robot se mueva, la salida del
detector variará. Sin embargo, la integración de esta señal puede ser
problemática. Pero con suficientes contrastes en la habitación, esta
puede ser una solución muy económica.

Detección del campo magnético

Una brújula electrónica puede funcionar especialmente bien en un


ambiente exterior. De un precio moderado, estos detectores
ofrecerán a su salida una medición variable de ángulo cuando el
robot se mueva. Naturalmente, en un curso en línea recta no se
obtendrá ninguna indicación de variación, por lo cual se detectaría
una falsa situación de atasco. De todos modos, el detector es tan
sensible que se pueden captar pequeñas variaciones si el robot se
mueve sobre rocas e irregularidades del terreno.

Detección de atasco programada

Se trata de la solución más económica, pero puede ocurrir que la


reacción del robot se produzca después de un tiempo excesivo. El
área de acción de un robot en una casa es de tamaño limitado, por lo
cual si el robot no toca con un objeto en cierto tiempo, es muy
probable que esté atrapado. Se puede usar aquí cualquier sensor
capaz de detectar un obstáculo. Aunque esto pueda parecer una
buena solución de costo, la realidad es que el robot puede quemar
sus motores en los minutos transcurridos hasta que este tipo de
detección se dé cuenta de que hay un atasco y tome alguna medida
para escapar de él. Las aspiradoras robóticas baratas utilizan este
método y, en realidad, pasan más tiempo trabadas que haciendo su
tarea.
Rueda de detección de atascos: diseño mecánico

Se puede observar a continuación la mecánica básica en un pequeño


robot:

Una vista de frente que muestra la rueda en contacto con el piso


entra las ruedas impulsoras

Vista lateral que muestra un soporte curvado en el que se han


colocado los interruptores ópticos. El soporte aplica una presión
constante para mantener esta rueda contra el suelo

El diseño mecánico es simple, y hay distintas maneras de implementarlo.


Una posibilidad es una leva con algún movimiento limitado de rotación,
que empuja una rueda de arrastre contra el suelo. En superficies
desparejas, gracias a la leva la rueda puede adaptarse a los desniveles. En
el brazo se ha instalado un fotosensor que detecta las secciones oscuras
que hay sobre la superficie de la rueda de arrastre, que es transparente.
En otro montaje, el concepto es mucho más simple y de pequeño
tamaño: como se ve en la ilustración, la rueda de arrastre está montada
en un eje y su soporte fue pegado directamente al optosensor. El
conjunto está montado sobre un tramo de planchuela plástica curvada,
que presiona la rueda contra el suelo. El sensor diseñado así resultó fácil
de instalar. El soporte curvado se construyó con un plástico llamado
Lexan y se dobló con una pinza de punta, ya que este plástico no se
quiebra al doblarlo, como el acrílico.

Vista frontal que muestra la rueda detectora de atascos en contacto


con el suelo
Presión sobre la rueda para mostrar su elasticidad

Vemos aquí otros dos tipos de soluciones mecánicas:

Aquí está la rueda de detección de atascos hecha con un disco


negro con perforaciones
Otro tipo de sensor de tipo reflectivo que utiliza un sensor de IR

Rueda de detección de atascos: diseño electrónico

La electrónica depende de cómo se detecte la rotación de la rueda. Con


la rueda con bandas negras, se utiliza un opto-reflector (como el CNY70,
por ejemplo) para "ver" el reflejo de IR de las bandas. Con este tipo de
detector, si bien se puede conectar en directo con un resistor a +5V en el
colector del transistor de salida del sensor, si la señal resulta débil sólo se
necesita un amplificador operacional LM324 para amplificar la señal,
seguido de un comparador con histéresis, cuya salida se lleva a la
entrada del microcontrolador.
En la mesa de pruebas, se hace girar la rueda a una velocidad
similar a la que operaría para probar la amplitud y frecuencia

Se observa la señal de 0 a 5 V que se obtiene del sensor, a 2v/div

Se puede seguir este camino o, si se hace la rueda suficientemente


delgada y transparente, utilizar un fotosensor de ranura. En este
caso, con un resistor apropiado a +5V (pull up), los sensores de
ranura que tienen un fototransistor a la salida podrán entregar una
señal TTL a la entrada del microcontrolador, sin necesidad de
amplificación. Lo bueno es que muchos PIC tienen entradas Schmidt
trigger que aceptan sin problemas la forma de onda casi cuadrada de
estos sensores. En otros procesadores que no tengan entradas así,
se puede agregar un integrado con entrada Schmidt trigger para dar
forma correcta a la señal.

Consideraciones de programa

La programación para la detección de atasco es bastante directa. En


esencia, consiste en un autómata finito con dos estados primarios:
Exploración y escape. Durante el estado de exploración, el detector
de atasco se comprueba continuamente para determinar si hay una
condición de atasco. Esto se hace muy fácil: se cuentan las
transiciones de señal durante un intervalo pequeño, como por
ejemplo 5 segundos. Si durante ese tiempo la cuenta desciende por
debajo del valor previsto, o es cero, entonces se determina una
condición positiva y se dispara el estado de escape del atasco.

Para escapar de la condición de atasco, la idea general es invertir la


dirección del avance por un pequeño tiempo y girar a un lado. La
rutina más exitosa probada en un ambiente hogareño es hacer un
retroceso con una sola rueda y la otra quieta, y luego a la inversa, es
decir, moviendo ahora la rueda que antes quedó quieta (ver video).
La operación se repite dos o tres veces. Este tipo de movimiento
ayuda a liberar el robot de atascos complicadas, como en el cable de
un electrodoméstico.

Luego de efectuar de este modo unos centímetros de retroceso, se


hace rotar al robot a un lado o al otro un ángulo azaroso. Si el
detector de atasco detecta de nuevo la condición en un tiempo
mínimo, se puede decidir entre reintentar la liberación o detenerse y
solicitar ayuda. Además, se puede agregar una salida de detección
del atasco desde el procesador de atasco, de manera que otros
procesadores de mayor nivel en la arquitectura de subsunción
puedan utilizar esta información sensorial para tomar decisiones de
mayor nivel.

Prueba y evaluación

El robot se prueba primero en una mesa de pruebas preparada para


el caso y luego se lo coloca en el entorno de una casa, con pisos de
madera y también alfombras. Aquí se puede ver un vídeo de la
prueba en la mesa de pruebas. Allí se ve al robot avanzando hacia un
obstáculo angosto y bajo que traba su movimiento, y lo deja con sus
ruedas girando a velocidad normal, pero detenido. Después de tres
segundos, el robot decide que está en una situación de atasco,
detiene su marcha, emite un sonido y se retira del obstáculo,
retrocediendo y luego girando un ángulo azaroso.

En un entorno casero, el robot se desempeñó muy bien tanto en


suelos lisos, como de madera y con alfombra. Cuando las ruedas
resbalan con facilidad en una superficie lisa, se puede usar un tiempo
de espera de unos 3 segundos, pero se debe acortar este tiempo en
una alfombra, donde es más normal que las ruedas se queden
detenidas y haciendo fuerza.

Conclusión

Las pruebas han demostrado sin ninguna duda que los detectores de
atascos son absolutamente esenciales para evitar que los robots se
queden atrapados en una variedad de situaciones en las que ningún
otro tipo de sensor puede detectar el problema. Se trata de un
simple agregado que hará que nuestro robot pueda estar no sólo
horas, sino días enteros vagando por una casa sin quedarse
fatalmente atrapado en una alfombra, un cable o en el ángulo de
algún mueble.

Adaptación de Eduardo J. Carletti del artículo "Stasis Logic" de Chris y Dawn Schur,
con autorización de los autores. Fotos © 2007 Chris y Dawn Schur.

Visión en robots
Visión estereoscópica en tiempo real
por medio de una cámara única
Este escueto artículo, basado en un original en inglés de Nelson
Bridwell (Mirage Robotics, LLC), aporta, creo yo, algunos conceptos
interesantes, y nos muestra una idea aplicable a nuestros trabajos.

Una de las dificultades de la visión estereoscópica en tiempo real,


para nada trivial, es lograr la adquisición simultánea de imágenes
sincronizadas a partir de dos cámaras en dos posiciones separadas.

La posibilidad de lograr esto con una cámara única y un espejo,


ubicados en una disposición de geometría simple, es una solución
poco conocida.
Vista lateral de la distribución geométrica del espejo y la cámara

Estéreo cabeza abajo

Debido a que los obstáculos y objetos de interés por lo general no


están ubicados por encima de un robot móvil, puede ser una buena
idea montar la cámara en la parte superior, debajo de un espejo
cuya parte reflectora apunta hacia el piso. Esto nos aportará una
visión estéreo despejada del espacio de navegación.
Imagen de ejemplo

Esta disposición puede tener el beneficio adicional de aislar la cámara


del resplandor de la luz del ambiente, lo que resultará en un mayor
rango de intensidades en los objetos de alrededor.

También debería minimizar el oscurecimiento del espejo a causa de


la acumulación de polvo en su superficie.

Aplicación en un robot móvil

Vista lateral del montaje sobre un robot


Visión estereoscópica múltiple

Utilizando más de una cámara y un solo espejo se puede obtener


visión estereoscópica en varias direcciones de manera simultánea.

Visión múltiple

Sensor de fuerza
FlexiForce

Introducción

En este artículo voy a presentar las pruebas


básicas de laboratorio que realicé con un
sensor de fuerza FlexiForce de la empresa
Tekscan.

Como se puede observar en las fotos, se


trata de un sensor integrado dentro de una
membrana de circuito impreso flexible de escaso espesor. El sensor
es totalmente plano, lo cual permite colocarlo con facilidad entre dos
piezas de la mecánica de nuestro sistema y medir la fuerza que se
aplica sin perturbar la dinámica de las pruebas.

Como indica su hoja de datos, estos sensores se pueden utilizar para


medir tanto fuerzas estáticas como dinámicas. En esta línea hay
sensores que pueden soportar hasta 453 kgf (ó 1.000 lbf).

Los sensores FlexiForce utilizan una tecnología basada en la


variación de resistencia eléctrica del área sensora. La aplicación de
una fuerza al área activa de detección del sensor se traduce en un
cambio en la resistencia eléctrica del elemento sensor en función
inversamente proporcional a la fuerza aplicada.

Datos físicos

El modelo de sensor que pondré a prueba aquí es el A201-25, que


tiene un rango de sensibilidad de 0 a 11 kgf (0 a 25 lbf). La longitud
de los conductores de este sensor (integrados también como circuito
impreso flexible) es de 16 cm, incluyendo el círculo sensor y las
patitas de conexión. El ancho en la zona de los conductores es de 10
mm y en la zona sensible es de 15 mm. El espesor es de 0,127 mm.

La zona de detección activa es un círculo colocado en un extremo del


sensor que tiene 9,53 mm de diámetro.
El sensor completo

El sensor está sostenido entre dos capas de película de poliéster. En


la parte interna de cada una de estas capas hay una película de
material conductor (plata) y dentro éstas una capa de "tinta" —así
define el fabricante a este material— sensible a la presión. Todo el
conjunto está unido por medio de un adhesivo.

El sensor actúa como resistencia variable en un circuito eléctrico.


Cuando el sensor no tiene fuerza aplicada, su resistencia es muy alta
(superior a 5 megohm), y cuando se aplica una fuerza al sensor, la
resistencia disminuye.
Curva de resistencia (para 100 lb)

Pruebas básicas

Como se puede observar en la foto, la prueba se realizó por medio


de un multímetro. Probando escalas, se encontró que aún en la
escala máxima de resistencia (20 Megohms), el sensor, sin fuerza
aplicada, indica un circuito abierto.
El sistema, sin ninguna fuerza aplicada, indica resistencia
infinita

Aplicando presión con los dedos, se obtienen distintos valores de


resistencia, en disminución a medida que se va ejerciendo más y
más fuerza.
Medición de 5,86 Megomhs
Medición de 2,12 Megomhs

Estos sensores son perfectos para medir la presión de los dedos


sobre el objeto manipulado por una mano robótica, de modo que hice
las siguientes pruebas.
Levantando un frasco de mermelada que pesa 700 gs.
Con el sensor debajo del pulgar, indicó 5 Megohms.

Levantando un frasco de aceitunas que pesa 1200 gs.


Con el sensor debajo del pulgar, indicó 1,8 Megohms.

Por último, colocando el sensor entre dos chapas, con un peso


estático de 1,25 Kg se obtuvo una medición de 3 Megohms (aclaro
que depende mucho de que se pueda centrar bien el peso sobre el
lugar en que está el sensor, con poco desplazamiento, esta medición
puede variar bastante).
Enlaces:

 Empresa Tekscan
 Sensor FlexiForce en Parallax
 Sensor FlexiForce en Tekscan
 Ejemplo en un video

Sensores
Prueba del sensor PING))) de distancia
por ultrasonidos de Parallax manejado con
PIC
Ver también: Medidores de distancia
ultrasónicos - Sensores de ultrasonido

Presento aquí una prueba de laboratorio realizada con un sensor de


distancia PING))) de la empresa Parallax conectado a un
microcontrolador PIC16F628A.

Para obtener una visualización sencilla de los valores obtenidos, se


conectó el PIC16F628A al puerto serie de una PC, de modo que
se observan los valores en la PC utilizando un programa básico de
recepción de datos serie, tal como Hyperterminal (incluido en
algunos sistemas operativos Windows, pero no en Vista, donde
ofrecen una opción nueva llamada WinRS, que no he probado
porque no uso Vista).

Para minimizar componentes, el microcontrolador PIC16F628A lo


utilizo en el modo interno de generación de reloj
(_INTRC_OSC_NOCLKOUT), que nos aporta una frecuencia de
reloj de 4 MHz bastante estable y exacta con 5 Volts de alimentación
en VDD.

A continuación se puede observar el circuito que he utilizado para


estas pruebas.

Conexión del Sensor PING))) con el PIC16F628A y la PC


Programa en ASM
La sección que se ocupa de la lectura del sensor es muy simple: es la
subrutina llamada "distancia". Dentro de esta rutina también está, al
final, la parte que se ocupa de dar forma y enviar el resultado.

El resto de las líneas de programa son de inicialización y para


comunicarse con la PC por la línea serie.

Para obtener una lectura, se pulsa la letra "d" en la pantalla del


programa Hyperterminal (o en un utilitario similiar).

El resultado obtenido es un valor de 16 bits, la cuenta que se realizó


dentro del lazo de espera hasta que el sensor detectó el eco. Este es
un valor hexadecimal. Para verlo en centímetros, por ejemplo, se
deberían hacer una serie de operaciones sobre el resultado. Sin
embargo, para uso interno en un robot no es necesario: el número
logrado es más que suficiente para manejarnos.

El programa utilizado es el que sigue:

;
***********************************************************
************************
; MANEJO DEL SENSOR PING))) DE PARALLAX - Programa Básico 1
; PRUEBA QUE ENTREGA DATOS A UNA PC POR EL PUERTO SERIAL O
USB
; Por Eduardo J. Carletti, Robots Argentina, 2008
;
***********************************************************
************************

list p=16F628A ; definir procesador

#include <p16F628A.inc> ; definiciones de


variables específicas del procesador

ERRORLEVEL 1;-302 ; para evitar los mensajes


de cambio de
; banco en el resultado del
compilador

_CONFIG _CP_OFF & _WDT_OFF & _LVP_OFF & _PWRTE_ON


& _INTRC_OSC_NOCLKOUT & _MCLRE_OFF

;***** VARIABLES

CBLOCK 0x20
contador ; variable momentánea
comando ; byte recibido por serie
bajo ; byte bajo del resultado
alto ; byte alto del resultado
uni ; unidad
dec ; decena
cen ; centena
datopr ; momentáneo
ENDC

;
***********************************************************
************************

org 0x000
goto principal

;
***********************************************************
************************
; INICIALIZA
;
***********************************************************
************************

principal movlw b'00000111' ; deshabilita


comparadores. Esto es
movwf CMCON ; algo importante en
el PIC16F628A

clrf PORTA ; inicia valor en


puertos
clrf PORTB ; inicia valor en
puertos

bsf STATUS,RP0 ; apunta a banco 1

movlw b'11111110' ; PORTA


movwf TRISA ; todas entradas
excepto 0 que es salida

MOVLW b'11111011' ; PORTB


movwf TRISB ; entradas, menos
TB2 que es TX

;
***********************************************************
************************
; BAUD RATE para la comunicación serie y otras definiciones
para USART
;
***********************************************************
************************
; Baud Rate = 9600, No Parity, 1 Stop Bit

movlw 0x19 ; 0x19=9600 bps


(0x0C=19200 bps)
movwf SPBRG
movlw b'00100100' ; BRGH en alto (2)
movwf TXSTA ; habilita
transmisión asincrónica, BRGH a 1
bcf STATUS,RP0 ; apunta a banco 0
movlw b'10010000' ; habilita
recepción asincrónica
movwf RCSTA

;
***********************************************************
************************
; MENSAJE DE BIENVENIDA
;
***********************************************************
************************

call bienvenida ; envía


mensaje de bienvenida
clrf comando ; limpia el byte de
comando recibido

;
***********************************************************
************************
; LAZO PRINCIPAL
;
***********************************************************
************************

lazo clrf comando


btfsc PIR1,RCIF ; (5) se fija si
hay dato RS232
call recibeRS232 ; sí, hay

; chequeo del comando


movlw 'd' ; chequea comando
"d"
xorwf comando,w
btfsc STATUS,Z
call distancia ; mide la distancia

goto lazo

;
***********************************************************
************************
; TABLA DE DATOS PARA MENSAJE
;
***********************************************************
************************
msgbienv ADDWF PCL, F
DT "Sensor PING))), Robots Argentina,
2008", 0x0D, 0x0A, 0x00

;
***********************************************************
************************
; SUBRUTINA DISTANCIA
;
***********************************************************
************************

distancia clrf contador

; pulso de arranque
bsf PORTA,0 ; pulso de arranque
de unos uS
nop
nop
nop
bcf PORTA,0 ; apaga pulso de
arranque

; cambia el pin del sensor a entrada


bsf STATUS,RP0 ; apunta a banco 1
bsf TRISA,0 ; PORTA bit0 a
entrada
bcf STATUS,RP0 ; Apunta a banco 0

; espera unos 750 uS para dar tiempo a la


salida y regreso del pulso
clrf bajo
atras decf bajo,f
bnz atras

clrf alto ; prepara para el


conteo en alto y bajo

; espera contando el tiempo en alto y bajo,


; que serán los valores de salida
espera incf bajo,f ; lo hacemos con un
lazo simple
btfsc STATUS,Z ; aunque se puede
utilizar un timer
incf alto,f
btfsc PORTA,0
goto espera

; cambia el pin sensor a salida


bsf STATUS,RP0 ; apunta a banco 1
bcf TRISA,0 ; PORTA bit0 a
salida
bcf STATUS,RP0 ; apunta a banco 0
; muestra el valor en la PC
movlw '='
call enviaRS232
movlw ' '
call enviaRS232
movf alto,w ; envía el byte alto
call print_hexa
movf bajo,w ; envía el byte bajo
call print_hexa
goto msgCR ; envía salto de
línea y sale

;
***********************************************************
************************
; COMUNICACION RS232
;
***********************************************************
************************

recibeRS232 ;recibir de PC
movf RCREG,W ; guarda comando en
comando
movwf comando ; guarda
call enviaRS232 ; eco a la PC
return

enviaRS232 movwf TXREG ; enviar dato en W


TransWt bsf STATUS,RP0 ; apunta a banco 1
WtHere btfss TXSTA,TRMT ; (1) transmision
completa si es alto
goto WtHere
bcf STATUS,RP0 ; apunta a banco 0
return

;
***********************************************************
************************
; MENSAJES
;
***********************************************************
************************

bienvenida clrf contador ; limpia el puntero


de caracter
b1 movf contador, W
call msgbienv ; apunta el index
hacia un caracter
addlw 0 ; se hace para
chequear el flag Z
btfsc STATUS, Z
return ; el caracter fue
00, termina el mensaje
call enviaRS232 ; envía el caracter
al puerto serie
incf contador, F ; siguiente caracter
goto b1

msgCR movlw 0x0D ; caracter RETURN


call enviaRS232 ; envía el caracter
al puerto serie
movlw 0x0A ; caracter LINE FEED
goto enviaRS232 ; envía el caracter
al puerto serie

;
***********************************************************
************************
; SUBRUTINA PARA MOSTRAR DATOS POR LINEA SERIE
;
***********************************************************
************************

print_hexa movwf datopr


swapf datopr,w ; toma parte alta
call ph_pr ; imprime
movf datopr,w ; toma parte baja
call ph_pr ; imprime
return
ph_pr andlw 0x0F ; limpia lo que no
sirve
movwf uni ; la salva
momentaneamente
sublw 0x09 ; hace literal - w
btfsc STATUS,C
goto ph_0a9 ; es 0 a 9
movf uni,w ; es mayor que 9,
rescata valor
addlw 0x37 ;
goto enviaRS232
ph_0a9 movf uni,w ; es 0 a 9, rescata
valor
addlw 0x30
goto enviaRS232

END

Bajar el programa en formato ASM (puede usar el botón derecho de


su mouse)
Bajar el programa en formato HEX (puede usar el botón derecho de
su mouse)
Por las dudas, el archivo incluido P16f628a.inc (puede usar el botón
derecho de su mouse)

Algunas cosas que observé

 La distancia mínima de detección, con estas constantes, es de


unos 4 a 5 cm.
 El sensor, colocado a 10 cm de altura sobre una mesa y
apuntando en sentido horizontal, con los transductores uno al
lado del otro (plaquetita base en posición horizontal, con el
conector abajo), detecta la superficie de la mesa a unos 30
centímetros de distancia. Esto se debe a que la emisión del
sensor Ping))) se abre unos grados, incluso en sentido
vertical (aunque menos que en sentido horizontal).
 El sensor se debe apuntar, entonces, hacia arriba, o colocarlo
a un nivel más alto respecto al suelo.

Comunicación por infrarrojos


Prueba de un enlace de infrarrojos

Presento aquí una prueba de laboratorio de un circuito para la


comunicación de datos a través de un enlace infrarrojo, utilizando un
receptor de infrarrojo IRM8601S, que ya he descripto, y un led
emisor de infrarrojos SFH 480-3 con cápsula metálica y de muy
buena potencia de emisión, al que elegí por tener un ángulo angosto
de emisión (12°) y una corriente de excitación de hasta 200 mA, una
disipación de potencia de hasta 470 mW y una intensidad de
radiación, a 100 mA, de 63 mW/sr (es algo caro: vale unos us$ 2,40
en GM Electrónica).

Esta primera prueba la realicé utilizando, como siempre, un par de


chips para codificación y decodificación de los que se utilizan para
control remoto en sistemas de seguridad, HT12E y HT12D,
respectivamente. Este juego de integrados codifica y decodifica una
palabra de 12 bits, compuesta por una dirección de 8 bits y una
sección de datos —o comando— de 4 bits. Con esta cantidad de bits
se pueden manejar 256 dispositivos diferentes, enviándoles hasta 16
comandos distintos a cada uno.

A continuación se pueden observar los circuitos utilizados.


Circuito del emisor para el enlace de IR

Montaje del circuito emisor para el enlace de IR


Detalle del montaje del emisor para el enlace de IR,
donde se observa el integrado 555 y el LED emisor

Circuito del receptor para el enlace de IR


Montaje del receptor para el enlace de IR

Ajuste del circuito para la máxima sensibilidad

Este circuito se puede utilizar para establecer un enlace a distancia


que controle un equipo y/o interconecte dos sistemas entre sí, y
también puede servir como un sensor para detectar obstáculos a
distancia durante la navegación de un robot. Esta es la función
principal para la que lo he probado, un tanto básicamente aún, y por
esto la elección del diodo emisor estuvo condicionada por el ángulo
estrecho de emisión del LED infrarrojo, el SFH 480-3.

Con estos valores de circuito, en realidad, se utiliza al diodo emisor a


baja potencia. Esto es porque la sensibilidad lograda fue suficiente, y
un circuito trabajando con mayor potencia de emisión consumiría
más corriente, lo cual significa menos vida para las baterías del
robot, más aún si se instalan en el robot varios sensores de este tipo.
Así, el circuito tiene un alcance de rebote de por lo menos unos 30
cm (ida y vuelta del haz, 60 cm), valor que me resulta suficiente.

Utilicemos entonces este rebote para ajustar al valor ideal la


frecuencia del oscilador (integrado 555), que debe ser de 38 KHz.
Esta es la frecuencia a la que el receptor IRM8601S será más
eficiente.

Para lograr esto, se hace la siguiente prueba. Observemos la disposición


de la imagen:

Como se ve en la foto, coloqué ambas placas de experimentación


juntas, separándolas con una barrera de cartón que impide que el
haz del diodo emisor de infrarrojo pueda llegar directamente al
receptor, y alineando las direcciones de los haces de modo que
formen un ángulo de unos 30-40 grados. A continuación se pone en
funcionamiento el sistema, y se acerca un obstáculo (en este caso
una caja de cartón) hasta que se enciende el led que indica detección
válida. Se aleja entonces un poco este obstáculo, unos dos
centímetros, y se ajusta el potenciómetro de 25K del oscilador para
ver si se logra que detecte de nuevo.
Si hay una parte más o menos amplia (más de 10 a 15 grados) del
recorrido del potenciómetro en la que, aunque se lo gire, la detección
continúa, quiere decir que el circuito se puede ajustar más. Se aleja
de nuevo el obstáculo y se continúa repitiendo los pasos hasta que
un mínimo movimiento del potenciómetro haga que se apague el
LED. Esta es la posición correcta para la máxima sensibilidad de este
circuito.

Funcionamiento como enlace a distancia

Luego de este ajuste, y con los valores exhibidos hasta ahora en los
circuitos, probé a colocar el emisor y el receptor frente a frente y
separados por una distancia en línea recta. Por el tamaño del lugar
donde estaba, pude probar hasta una separación de 5 m. La señal
llegó perfectamente. A esta distancia ya se hace difícil acertar el haz
en el receptor, ya que, recordemos, el diodo emisor cubre un ángulo
de emisión de sólo 12°.

Aumentando la potencia de emisión

Bueno, a esta altura de las cosas, es el momento de


sacarle el jugo al led emisor de infrarrojo aumentando
la potencia de emisión. Para esto, sin ganas de hacer
cuentas, medí la corriente en el LED con unos
resistores en serie, y fui bajando escalonadamente su
valor desde 100 ohms hasta 27 ohms, mientras medía
la corriente por el LED.

A la derecha se ve el circuito de prueba.

El valor de 27 ohmns aportó una corriente de 117 mA,


aproximadamente, con los 5 V. Con un transistor
conduciendo a saturación como amplificador, que
produce una caída de 0,4 a 0,7 V entre colector y
emisor, la corriente estará en alrededor de los 100
mA. La mitad de lo que admite el LED como corriente máxima.

Esta prueba se puede hacer con cualquier otro LED, siempre que no
se supere la corriente máxima que éste soporta.

El nuevo circuito emisor, entonces, quedó así:

Circuito del emisor con 100 mA en el LED


Funcionamiento como enlace a distancia con mayor potencia
de emisión

Con esta nueva potencia de 100 mA en el LED, y con el emisor y el


receptor frente a frente, se comunican perfecto a una distancia de 10
metros. No pude probar distancias mayores por falta de espacio para
hacerlo y porque aquí sí que se hace extremadamente difícil acertar
el haz en el receptor.

Y ahora... ¡la prueba más importante!: detección de un


obstáculo

Con esta potencia aumentada, el sistema detecta en firme un


obstáculo plano (una tabla lisa de 60 x 40 cms) a 1,10 m de
distancia. El cuerpo de una persona (más blando, y seguramente
menos reflectivo del IR) lo detecta en firme a 80 centímetros,
aunque comienza a percibirlo (parpadeando el led de recepción) a
unos 90 cms, más menos.

Algunas cosas que observé

 El circuito original, con 150 ohms en serie con el diodo


emisor, trabaja muy aliviado. No hay calentamiento, luego de
una hora de emisión, ni del diodo ni del integrado 555, que es
el que provee la corriente para el LED emisor.
 Con este mismo diagrama, probé a reducir el valor del
resistor en serie con el LED emisor a 100 ohms, sin ninguna
mejora a la vista. La distancia de sensibilidad sigue siendo de
30 cm, aproximadamente.
 Por supuesto que además de detectar los obstáculos, el
enlace transmite los datos programados en el emisor, en las
cuatro líneas de entrada del HT12E, a las que conecté un
switch rotativo de pulgar que codifica de 0 a 15 (no se ve en
las fotos, pero son los cables marrón, rojo, naranja y amarillo
—codificación de resistor— que se ven entrar al integrado
HT12D).
 La llave que se ve en las fotos era para conmutar el envío de
los datos a través del HT12E. La mayoría de las pruebas,
finalmente, las hice con esta llave siempre activada. De este
modo transmite constantemente y los valores se pueden
cambiar de manera dinámica. Las salidas del decodificador
HT12D responden casi de inmediato.

Datos adicionales:

Receptor de infrarrojos IRM8601S

Utilizamos el IRM8601S, que se puede comprar en


Electrocomponentes y en Cika, donde cuesta alrededor de us$ 1.

Circuito codificador y decodificador

Se puede utilizar, por ejemplo, el integrado codificador HT12E (en


Cika cuesta us$ 0,72), que codifica 12 entradas —8 de dirección y 4
de datos, o comandos— en una señal en serie (para decodificarlas se
utilizaría su hermanito, el HT12D; en Cika cuesta us$ 0,81).

Baterías para alimentación de


robots
Generalidades
Introducción
No pretendo hacer un informe
exhaustivo sobre todas las clases de
baterías que se podrían utilizar en un
sistema móvil con alto consumo como
un robot. Me dedico más bien a delinear
un panorama de las que, a mi entender,
me resultan las más útiles en la
actualidad (convengamos que, en algún
caso, hay tipos de batería que están en
este trabajo por razones comparativas).
En todos los casos son del tipo
recargable.

Una batería es un elemento eléctrico que transforma energía química


en energía eléctrica, y viceversa. A esta transformación se la
denomina proceso electroquímico.

Se componen de un conjunto de elementos individuales (o celdas)


conectados en serie, cada uno de los cuales tiene, si está cargado,
un voltaje nominal, que oscila entre 1,2 y 3,6 V.

En el mercado se comercializan elementos con diversas capacidades,


que se expresan en el cuerpo de la batería como 500 mAh, 1700
mAh, 3300 mAh, etc. Una batería de 1000 mAh es capaz de entregar
una corriente de 1000 mA (1A) durante una hora, ó 10 A durante la
décima parte de una hora (en teoría, porque muchas baterías no
soportan un régimen tan alto de descarga), etc.

Baterías de Plomo-ácido

Las baterías plomo-ácido, como las que se


utilizan en los autos, poseen seis celdas con
un voltaje nominal de 2,1 V cada una. Cuando
están cargadas, las celdas están formadas por
electrodos de plomo metálico (Pb) y óxido de
plomo (PbO2) sumergidos en un electrolito de
alrededor de 37 % de ácido sulfúrico (H2SO4)
disuelto en agua.

Cuando la batería está descargada, los dos electrodos se convierten


en sulfato de plomo y el electrolito se convierte en agua (por esta
razón las baterías de plomo descargadas se pueden congelar más
fácil). Los diseños modernos tienen un electrolito gelificado.

Baterías de gel
Una batería de gel es una batería de plomo-
ácido con un electrolito gelificado. Las celdas
de una batería de gel están selladas, lo que
hace que la batería no tenga problemas con
su orientación física, como pasa con las
baterías normales de plomo-ácido, que deben
colocarse en una única posición para que no
se vuelque el líquido del electrolito. Se debe
tener un cuidado especial al cargar baterías
selladas, porque el proceso de carga puede desprender gases. Esto
quiere decir que en lugar de cargarla con un voltaje constante (de
13,6 V para una batería de 12 V) uno debe comenzar con una
corriente constante si la batería está descargada, y sólo en la última
parte de la carga, cuando la resistencia interna alcanza un
determinado valor, se pasa al método de voltaje constante, hasta
que la batería alcanza su voltaje definitivo de 13,6 V.

Baterías de Niquel-Cadmio (Ni-Cd)

Una batería recargable de Ni-CD (o NiCd) está formada por una placa
positiva de hidróxido de níquel y una placa negativa de hidróxido de
cadmio. Ambas placas están separadas por un electrolito, compuesto
por una solución acuosa de potasio cáustico, contenida dentro de un
tejido poroso.

La tensión de una batería medida en


voltios (V), sin circulación de
corriente, es diferente a la que se
obtiene cuando ésta es sometida a
un consumo, es decir, cuando se
toma la medición en una situación de
trabajo. Para el caso de un elemento
recargable de Ni-Cd la tensión entre
los bornes sin carga conectada tiene
un valor de alrededor de 1,45 V. Pero
con una carga que consume energía
esta tensión disminuye a un valor de
aproximadamente 1,25 V.

Efecto inversión de polaridad: Una batería de Ni-Cd no debe ser


descargada por debajo de su tensión mínima, que es de 1,1 V por
elemento, ya que se corre el peligro de que se produzca una
inversión de polaridad en uno o varios de sus elementos. Esto ocurre
con frecuencia cuando las baterías se descargan por debajo de su
valor mínimo. La inversión de polaridad se produce a causa de un
cambio químico, que causa daño en el interior de los elementos y
que en general no es reversible.
Efecto memoria: El efecto memoria de una batería de Ni-Cd se
produce como consecuencia de sobrecargas repetidas y/o descargas
parciales. El fenómeno reduce la capacidad de las baterías con cargas
incompletas. Se produce porque se crean unos cristales en el
interior, a causa de una reacción química indebida. Para prevenirlo
basta con que cada tanto se haga una carga completa.

Hay cargadores en el mercado que efectúan una ecualización en las


baterías, haciendo una carga muy lenta, para cargar la batería hasta
su máxima carga real.

Las baterías que tienen efecto memoria son las de Ni-Cd y las de
Ni/MH (aunque menos que en la anterior). Las baterías que no tienen
efecto memoria son las de plomo y ácido (las de los coches) y las
baterías de iones de litio.

Batería de níquel e hidruro metálico (Ni/MH)

Una batería de níquel


e hidruro metálico (o
Ni/MH) es un tipo de
batería recargable
similar a una de
níquel-cadmio (Ni-Cd)
pero que no contiene
cadmio, un metal caro
y dañino para el
medioambiente.

Las baterías de níquel


e hidruro metálico
tienden a tener una mayor capacidad que las Ni-Cd y sufren bastante
menos el efecto memoria.

Las baterías de níquel e hidruro metálico son más amigables con el


medio ambiente. Pueden almacenar un 30% más de energía que una
de Ni-Cd equivalente, y por tanto, la carga dura más tiempo.

Resultan prácticas cuando se realizan pruebas porque sus electrodos


se pueden soldar sin problemas.

Se requieren cargadores específicos para Ni/MH, ya que los de Ni-Cd


no sirven. En la actualidad existen modelos que cargan los dos tipos.

El término correcto que se debería utilizar en castellano para las


baterías de Ni/MH es "níquel e hidruro metálico".

Baterías de Ni-Cd frente a Ni/MH


Como ventajas fundamentales, las baterías de Ni/MH tienen una
mayor densidad de carga (capacidad/peso superior,
aproximadamente 40%-70% más capacidad); no contienen cadmio
(tóxico) y aparentemente no tienen efectos de pérdida de capacidad
por mal uso o de formación de dendritas (que se forman en las
baterías de Ni-Cd al producirse la inversión de la polaridad de la
celda).

Las baterías de Ni/MH tienen una resistencia interna superior que


limita su uso en aplicaciones de alta potencia, si bien la industria ha
ido solucionando esto al ofrecer nuevos tipos que igualan en
capacidad de descarga a las celdas del mismo tamaño de Ni-Cd.

Otro inconveniente es que las Ni/MH no admiten una carga tan


rápida como las de Ni-Cd, bajo riesgo de deteriorarlas.

Los elementos de Ni/MH son sensibles al calor, aún más que los de
Ni-Cd: un sobrecalentamiento puede producir gases internos y
sobrepresiones que dan lugar a escapes de electrolito y pérdidas de
estanqueidad, reduciendo la vida útil de las celdas.

También más difícil de detectar el estado de carga total en las Ni/MH,


por lo que se recomienda el uso de cargadores que especifiquen su
aptitud para cargar baterías de Ni/MH, evitando así
sobrecalentamientos indeseados.

Las baterías de Ni-Cd poseen al menos una ventaja sobre las de


Ni/MH: la cantidad de ciclos de carga y descarga, que oscilan entre
los 1.000 y 1.500, contra 500 en las de Ni/MH.

Batería de iones de litio (Li-Ion)

Las baterías Li-Ion poseen una


elevada densidad de energía,
acumulando un carga mayor por
unidad de volumen. Por esta razón
tienen menor peso en relación a
baterías de otro tipo de la misma
capacidad. Se presentan en placas
rectangulares, de poco espesor, de
menos de 0,5 cm, los que las hace
especialmente interesantes para
integrarlas en dispositivos portátiles
con poco espacio.

Presentan un alto voltaje por celda; cada unidad proporciona 3,6


voltios, lo mismo que tres celdas de Ni-Cd (1,2 V cada una). Carecen
de efecto memoria. Su descarga es lineal, es decir, que durante toda
la descarga el voltaje de la batería apenas varía, lo que evita la
necesidad de circuitos reguladores. (Se debe tener en cuenta que
esto puede ser una desventaja en algunos casos, ya que hace difícil
averiguar el estado de carga de la batería.)

Tienen una baja tasa de autodescarga. Cuando guardamos una


batería, ésta se descarga progresivamente aunque no se la use. En el
caso de las baterías de Ni/Mh, esta autodescarga puede ser de un
20% mensual. En el caso de Li-Ion es de sólo un 6% (±0.01%
diario)

Es recomendable que estas baterías se mantengan en un sitio fresco


(15° C) y evitar el calor. No se deben descargar del todo
habitualmente. Es mejor no cargarlas cuando tienen más de un 50%
de carga (según el cargador que tengamos). Cuando se vayan a
almacenar mucho tiempo, se recomienda dejarlas con una carga
intermedia. Si el aparato que utiliza estas baterías se puede usar
enchufado a la red, y mientras funciona así carga las baterías, se
debe evitar que este proceso continúe cuando la batería ya está con
la carga completa, porque esa situación disminuye su capacidad. Es
preciso cargarlas con un cargador específico para esta tecnología.
Usar un cargador inadecuado daña la batería y puede hacer que se
incendie.

La primera carga es la más importante para la duración de la batería.


Debe hacerse hasta el máximo, después hay que descargarla del
todo. Luego de esto, al ir realizando sucesivas cargas normales, la
batería va adquiriendo más capacidad de carga hasta llegar a su
maximo amperaje (aproximadamente en la décima carga).

Cuando indicamos "carga normal" nos referimos a la carga lograda


cuando el cargador avisa que la ha completado. Lo normal es que se
encienda un LED, deje de parpadear. Hay quienes recomiendan hacer
las primeros ciclos de carga/descarga completos.

Las desventajas de estas baterías de litio son: Independientemente


del uso, sólo tienen una vida útil de 3 años. Se pueden cargar entre
300 y 600 veces, menos que una batería de Ni-Cd o Ni/MH. Son más
caras, pero el precio se ha ido acercando rápidamente al de las otras
tecnologías. Están fabricadas con materiales inflamables (pueden
explotar o incendiarse). Necesitan de un sistema electrónico para
controlar en todo momento la batería y evitar los inconvenientes
citados. Rendimiento muy inferior a las demás baterías de Ni-Cd o
Ni/MH en bajas temperaturas, reduciéndose su duración hasta a un
25%.

También podría gustarte