1. Sensores y actuadores Lego

Anuncio
1.
Sensores y actuadores Lego
Los sistemas Lego poseen una serie de sensores y actuadores estándar cuyo
uso puede resultar de interés.
Por otra lado, existe un número aún mayor de sensores fabricados por
terceros. La variedad es tal que se dispone desde sencillos interruptores de
presión hasta sofisticados giróscopos.
Por lo tanto, en lo que se sigue se analizan las caracterı́sticas de estos
dispositivos y de qué modo se implementará la compatibilidad con nuestro
sistema.
Existen amplias diferencias entre los sistemas Lego RCX y su sucesor, el
NXT. Ambos sistemas se analizarán por separado.
1.1.
1.1.1.
Sistema RCX
Sensores
Concebido como un sistema de bajo costo y adecuado para el público infantil,
el RCX cumple estos requisitos mediante sensores especialmente diseñados considerando
la sencillez de uso y la robustez.
Los sistemas RCX solamente pueden manejar tres sensores.
Cada sensor tiene únicamente dos hilos, y no son polarizados. Esto significa
que los conectores (que tienen el mismo encastre que todos los ladrillos Lego)
pueden ser conectados en cuatro posiciones posibles y funcionar de la misma
manera.
La forma de implementar sensores activos únicamente con dos hilos es haciendo
que durante un cierto perı́odo de tiempo el controlador energize el sensor. Una
vez retirada la alimentación, la conexión se convierte en una entrada y se procede
entonces a leer la información proporcionada por el sensor. Este procedimiento
se repite de manera periódica.
Naturalmente, esta metodologı́a presenta algunos inconvenientes.
Uno de ellos es el tiempo muerto que insume la alimentación del sensor,
donde no es posible hacer lecturas.
Otro es la escasa sofisticación de la lectura, que con tan sólo dos hilos se
reduce a una señal analógica de 0 a 9V.
1
Figura 1: gráfico de tensión y tiempo de sensor Lego
Figura 2: Circuito de un sensor Lego RCX generalizado
Todo el trabajo de interpretación de la lectura, conversión AD, acondicionamiento
de señal, etc. recae sobre el controlador RCX.
En la Figura 1 puede apreciarse la tensión presente en un conector RCX
donde se observa el estado alto correspondiente a la alimentación y el bajo
correspondiente a la adquisición.
El tiempo mı́nimo de polarización es del orden de 3ms.
1.1.2.
Implementación
La Figura 2 señala la implementación eléctrica de un sensor RCX generalizado.
La tensión aplicada en los terminales carga el condensador C1 para alimentar
2
Figura 3: Interface con el controlador RCX
el circuito. Los cuatro diodos D1 a D4 forman un rectificados de onda completa
que aseguran la independencia de cómo sea conectado el dispositivo.
El transistor Q1 actúa como una fuente de corriente capaz de proporcionar
de 0 a 400 uA. Mientras el dispositivo está polarizado solamente circula una
fracción de miliampere.
En cuanto se retira la polarización el dispositivo se alimenta mediante el
condensador C1. La cantidad de corriente circulante causa una caı́da de tensión
que puede medirse entre los terminales de la resistencia de carga de 10K.
Observar que los diodos D5 y D6 también permiten la independencia de la
posición de los conectores.
En la Figura 3 se muestra cómo se realiza la conexión con el controlador
RCX.
Si la corriente de salida varı́a en el rango de 0 a 400uA entonces la tensión
presente a la entrada del conversor AD irá de 5 a 1V. Suponiendo un conversor
AD de 10 bits, el rango de valores de salida se ubica aproximadamente entre
200 y 1000.
A continuación se comentan los detalles de algunos de los sensores RCX mas
comunes.
1.1.3.
Interruptores
El interruptor es el mas sencillo de todos los sensores Lego. El uso tı́pico es
como detector de colisiones o como detector de fin de carrera. Con el auxilio de
algunos accesorios mecánicos incluso puede usarse para detectar la ausencia de
suelo bajo el robot.
La Figura 4 muestra la constitución de uno de estos sensores. Observar la
presencia de la resistencia en serie de 500 destinada a evitar la puesta a tierra
3
Figura 4: Interruptor LEGO
directa del terminal del controlador.
No existe ninguna clase de acondicionamiento de señal para prevenir el
problema del rebote de los contactos en del interruptor, ni siquiera un condensador
en paralelo. Por lo tanto la responsabilidad queda enteramente en manos del
controlador para que lo resuelva mediante hardware o bien por software.
1.1.4.
Sensor de luz
El sensor de luz estándar que se incluye en todos los kits RIS de la lı́nea
RCX consiste en un par emisor-receptor. Con esta disposición el dispositivo
puede usarse para guiar a un robot por sobre una lı́nea en el suelo iluminada
por el propio sensor.
El pico de sensibilidad del fototransistor incluido en el dispositivo se encuentra
en el infrarrojo cercano (800nm)
El conjunto está encapsulado de modo que la captación de luz abarca un
ángulo bastante amplio por lo que la directividad es pobre. Para alguna aplicación
puede ser conveniente dotar al sensor de aditamentos mecánicos que la incrementen.
La Figura 5 y Figura 6 representan el circuito eléctrico del sensor de luz y su
respuesta relativa. Observar que también puede verse la respuesta que se obtiene
al eliminar el led emisor, lo que a veces se hace para mejorar la sensibilidad en
condiciones de poca luz ambiental.
1.1.5.
Sensor de rotación
Los sensores de rotación se implementan en base a un encoder de baja
resolución, constituido por dos fototransistores y un rotor de cuatro dientes.
Con estos elementos se tienen 16 pasos por vuelta, es decir que la precisión es
de solamente 22.5 grados.
La salida del sensor es multinivel, con tensiones establecidas en 1.3, 3.3, 2.0
y 4.5V de manera de proporcionar también información sobre el sentido de giro.
4
Figura 5: Esquema del sensor de luz estándar
Figura 6: Respuesta relativa con y sin led emisor
5
Figura 7: Salida multinivel del sensor de rotación
Si bien estos sensores son ampliamente difundidos entre los usuarios de los
kits RIS RCX no son estándar de LEGO.
La Figura 7 muestra la salida del sensor de rotación. Se entiende que la
sucesión de los distintos niveles será diferente ya sea que la rotación sea en un
sentido o en otro.
En la Figura 8 se aprecia el esquema eléctrico del sensor de rotación.
1.2.
Sistema NXT
Con los nuevos controladores NXT la situación es algo diferente porque se
elimina la restricción de los 2 hilos.
El nuevo sistema dispone de cuatro puertos con terminales de 6 hilos cada
uno. Los sensores pueden ser analógicos o digitales y es importante destacar que
se mantiene la retrocompatibilidad con los sensores RCX.
En la Figura 9 se muestra la distribución de los terminales de los nuevos
puertos NXT.
El pin de entrada 1 está directamente conectado a un conversor AD de 10
bits. A los efectos de mantener la retrocompatibilidad, el uso de estos terminales
es idéntico a los de los sistemas anteriores, donde como se recordará existe un
suministro de tensión durante un tiempo de 3ms seguido de un intervalo de
lectura de 0.1 ms
6
Figura 8: Esquema eléctrico del sensor de rotación
Figura 9: Pines de los puertos NXT
7
Los pines 5 y 6 son responsables de la comunicación digital. El protocolo
establecido para la interfaz digital el I2 C de Philips Semiconductors.
La posibilidad de interactuar con sensores digitales ofrece varias ventajas
frente a sus contrapartes analógicos:
Los dispositivos pueden direccionarse
Varios sensores pueden compartir un mismo puerto sin necesidad de multiplexado.
Se puede acceder a registros individuales de los dispositivos con lo que es
posible el control refinado de parámetros tales como calibración, retardos,
etc.
Los sensores pueden tener tanta inteligencia como sea necesaria de modo
de entregar lecturas autónomas que no requieran el uso del procesador
central del NXT
Observar que los puertos equipados con el protocolo I2 C permiten el control
no solamente de sensores sino también de actuadores. Existen dispositivos comerciales
que permiten la conexión de hasta 7 motores o 7 sensores en un mismo puerto.
Actualmente el único dispositivo digital fabricado por LEGO es el medidor
de distancia por ultrasonido. Sin embargo existe una amplia gama de sensores
de terceros que hacen uso de la tecnologı́a digital como por ejemplo el compás
magnético CMPS03 de HiTechnic o el medidor de distancia óptico DISTNX de
Mindsensors.
Finalmente, el sistema NXT descarta el uso de los conectores tipo ladrillo
LEGO en favor de una variante de los conectores RJ12. Existen adaptadores
para interconectar ambos sistemas.
1.2.1.
El protocolo I2 C
En este apartado se pretende dar una descripción somera del protocolo I2 C
destacando los aspectos esenciales. Se ofrecerá una información mas detallada
mas adelante, en la sección dedicada a la implementación del mismo.
El I2 C es un protocolo que provee comunicación serie y sincrónica. Aunque
admite velocidades de hasta 3.4MHz, el estándar de LEGO fija la transmisión
en 9600 bit/seg. El direccionamiento es de 8 bits por lo que la cantidad máxima
de dispositivos conectados es de 128.
Hace uso de únicamente dos lı́neas y una tierra común:
SCL (System Clock) lı́nea de pulsos de reloj para sincronismo
SDA (System Data) lı́nea por la que circulan los datos entre los dispositivos
8
En reposo ambas lı́neas deben polarizarse en estado alto mediante resistencias
((pull up)).
Se distingue entre dispositivos maestros y esclavos. Si bien el protocolo
admite configuraciones con varios maestros, en el entorno de la aplicación LEGO
se prevé que únicamente el controlador NXT es el dispositivo maestro.
Con ambas lı́neas en reposo, el maestro inicia la acción solicitando la atención
de uno de los dispositivos emitiendo su dirección única de 7 bits, más un octavo
bit que indica la acción que pretende el maestro: o bien leer o bien escribir sobre
el esclavo.
Los datos también se transfieren en secuencias de 8 bits. Por cada bloque de 8
bits correctamente recibidos el dispositivo receptor emite un bit de reconocimiento
(ACK)
En resumen, la secuencia normal de escritura hacia un dispositivo es la
siguiente:
El maestro envı́a una secuencia de arranque (START)
Envı́a la dirección del esclavo requerido mas un bit que indica la intención
de escribir.
Envı́a la dirección del registro interno del dispositivo.
Se escribe el o los bytes de datos.
El maestro envı́a la secuencia de STOP.
Para leer desde un dispositivo, la secuencia de acciones es parecida, con la
variante de que primero se escribe sobre el esclavo para informarle cuál es el
registro requerido y en un segundo paso (con una nueva secuencia de START
por parte del maestro) se hace efectiva la lectura.
2.
Actuadores
Si bien la lı́nea LEGO cuenta con una amplia variedad de actuadores, incluso
con fuerza motriz de origen neumático no hay duda de que los mas usados son
los clásicos motores. Por eso en este trabajo nos concentraremos en los motores
eléctricos disponibles para los sistemas LEGO.
9
2.0.2.
Motores
Todos los motores LEGO son de corriente continua e imán permanente. Las
variaciones vienen por el lado de la potencia disponible y de la transmisión.
El torque y la velocidad de rotación de cada motor está determinado por
la existencia y el tipo de engranajes reductores que contenga, además de su
potencia nominal.
Todos los motores de la lı́nea RCX disponen de un encapsulado compatible
con los ladrillos LEGO. Los motores NXT en cambio adoptan el nuevo sistema
de encastre de piezas largas, igual que el que tiene el propio controlador. Se
destaca que tanto los sistemas RCX como los NXT disponen de un gran surtido
de accesorios para el mejor uso de estos motores. Entre otras piezas se tienen
trenes de engranajes, juntas cardan, diferenciales, poleas, cremalleras, etc.
Con esto se puede dotar a los sistemas con caracterı́sticas especiales como
por ejemplo bloquear totalmente el motor en ausencia de tensión usando una
combinación de piñón y tornillo sin fin.
Normalmente, el control de estos motores se hace mediante la técnica de
modulación de ancho de pulso (PWM) Algunos motores cuentan con protección
interna contra sobrecargas (termistores) y también contra sobretensiones. Esto
implica que no siempre es posible sostener velocidades máximas por tiempo
indefinido.
A continuación se describen los distintos modelos de motores LEGO de 9V
con sus principales caracterı́sticas.
Lugnet-Peeron 2838, LEGO 74569 Es el mas antiguo de los motores LEGO
(1991) No posee reducción interna por lo que si bien presenta una buena
velocidad de rotación por el contrario su torque es extremadamente pobre.
Figura 10: Motor 2838
Lugnet-Peeron 2986, LEGO 70823 Se trata de un micromotor pequeño y
liviano. Tanto el torque como la velocidad son bajos pero respetables para
su tamaño.
10
Figura 11: Motor 2986
Lugnet-Peeron 71427c01, LEGO 71427 Este motor es el reemplazo del 2838.
Posee reducción interna y buena eficiencia.
Figura 12: Motor 71427
Lego 43362 En el 2002, LEGO reemplazó el motor 71427 con el nuevo 43362.
Si bien el aspecto exterior es idéntico al de su predecesor (ver Figura 12)
este motor posee una estructura interna diferente con la que se obtiene
casi la misma performance pero con una reducción del peso sustancial.
Peeron 5292 También introducido en el año 2002 este potente motor está diseñado
para la construcción de mecanismos que necesitan desplazarse a gran
velocidad. Es un motor de alto consumo y no se recomienda su uso con
los sistemas RCX. Tiene dos ejes de salida, uno de ellos con un factor de
reducción de 23/17.
Figura 13: Motor 5292
Peeron 47154 Este motor posee un eje con fricción y un diseño con caras
planas que facilita el montaje.
11
Figura 14: Motor 47154
Motor LEGO NXT Este es el motor especı́fico de la lı́nea NXT introducida
en el año 2006. Incorpora un sensor de rotación que es capaz de retornar
la posición del eje con una precisión de 1 grado. No se recomienda su uso
con los sistemas RCX debido a su alto consumo de corriente.
Figura 15: Motor NXT
Las caracterı́sticas mecánicas y eléctricas de estos 7 motores se resumen en
la siguiente tabla:
motor
peso (gr)
velocidad libre(RPM)
consumo libre(mA)
torque (N/cm)
consumo frenado(mA)
2238
48
4100
35
0.85
700
2986
10
35
6
1.6
80
12
71427
42
360
3.5
6
360
43362
28
340
9
5.5
340
5292
55
1600
160
12
3200
47154
40
460
31
6
580
NXT
80
170
60
50
2000
Descargar