La posición de los trenes
Los ojos de la red
1. El principio
Detectar la posición de los trenes en una red es un paso necesario hacia su automatización. Se puede distinguir entre dos tipos de detección:
-
El detector de paso está situado en un punto concreto y se activa en el momento que un elemento detectable pasa a su nivel. Se trata de una detección puntual.
-
El detector de presencia vigila todo un tramo de la vía y se activa en cuanto un elemento detectable se encuentra en cualquier lugar de ese tramo de vía. Así pues, no se trata de una detección puntual.
Los detectores de paso permiten saber el momento en que un tren sale de un cantón para poder poner una señal en rojo y la anterior en verde. Por lo tanto, deben colocarse en el límite entre dos cantones. Sin embargo, la locomotora debe haber salido del cantón antes de detectarse; de lo contrario, se detendrá sola. Así, el detector de paso debe colocarse unos 20 cm más allá del límite entre los dos cantones. Si se quiere que los trenes circulen en ambos sentidos, se debe colocar uno a cada lado del límite del cantón. Esto da lugar a que haya dos detectores por cantón. Incluso se podría considerar la instalación de un tercero hacia el centro si se quiere gestionar la parada de los trenes con más delicadeza.
Pero los detectores no solo sirven para eso, sino que también pueden utilizarse para calcular la velocidad del convoy. Basta con medir el tiempo transcurrido entre dos detectores separados por unas decenas de centímetros.
2. Los métodos de detección
Son variados y todos tienen ventajas (indicadas con un +) y desventajas (indicadas con un -). Algunos de estos sistemas pueden incluso utilizarse...
Un detector de proximidad
1. Presentación del circuito
Se consideró confiar este trabajo de modulación y demodulación a un Arduino. Esto es perfectamente posible, pero sería necesario limitar el número de entradas analógicas presentes en el circuito a solo seis de las ocho disponibles en un Arduino Nano porque dos entradas analógicas están reservadas para el bus I²C. Es una pena que no se puedan conectar más (podría ser posible multiplexando las señales, pero sería a costa de la fiabilidad de la lectura), sobre todo porque utilizar una sola dirección I²C para leer únicamente seis detectores de presencia se convertirá con rapidez en un problema si la red es importante.
Es esta constatación la que llevó a la conclusión siguiente: el circuito detector debe encargarse tanto de la modulación como de la demodulación. De esta forma el Arduino podrá leer los detectores directamente en forma digital, lo que es mucho más rápido, y la multiplexación podrá realizarse fácilmente.
2. El LM324
Este circuito es un amplificador operacional cuádruple. Sus principales características son las siguientes:
-
Alimentación: 3 a 32 V (simétrica o asimétrica)
-
Bajo consumo de energía
-
Frecuencia máxima: 1 MHz
-
Rango de entrada de GND a V+
-
Corriente de salida: 40 mA (como fuente de corriente)
Se eligió porque puede funcionar con tensiones de alimentación bajas y no requiere una alimentación simétrica. Puede utilizarse para accionar ledes o circuitos lógicos. Por último, cuenta con cuatro amplificadores operacionales, que es justo lo que se necesita para implementar el circuito de detección.
3. El TCRT5000
Se trata de un detector de proximidad por infrarrojos. Es especialmente sencillo, ya que solo contiene un led y un fototransistor encapsulados en una carcasa de plástico. La ventaja de un circuito de este tipo es que los dos elementos están diseñados para trabajar juntos y están correctamente posicionados gracias a la carcasa que los sujeta. La disposición de los pines se muestra aquí vista desde la parte superior del encapsulado.
El circuito existe en dos versiones, denominadas TCRT5000 y TCRT5000L. La «L»...
El taquímetro
1. Presentación
Así es como funcionan los radares de tramo en las autopistas.
Se utilizará el circuito AT-NANO (presentado en el capítulo El panel de control). Sería perfectamente posible cablearlo en el «aire» (dead bug), pero este circuito impreso proporciona conexiones fiables. No es necesario soldar todos los componentes del circuito AT-NANO si solo se desea utilizarlo para medir la velocidad de los trenes. Los componentes necesarios son los siguientes:
XA1 |
Arduino Nano |
J6 o J7 |
Conector HE13 macho de 6 contactos |
J8, J9 |
Conector HE13 macho de 4 contactos |
Se puede utilizar tanto con pantallas I²C como con pantallas SPI. El ejemplo presentado aquí se basa en una pantalla matricial de ledes controlada por un circuito MAX7219. Dado que este circuito es direccionable por un protocolo cercano al SPI, se tendrá que conectar al bus SPI, por lo tanto, al conector J7. También se puede controlar una pantalla gráfica OLED o LCD de 128 x 64 píxeles con interfaz I²C o SPI. El programa completo también permite el uso de este tipo de pantalla, pero no se detallará aquí porque el uso de una pantalla OLED ya se efectuó en el capítulo Controladores independientes.
Como este circuito no está conectado a los demás elementos de la red, puede alimentarse directamente desde el puerto USB. Solo hay dos sensores que se han de direccionar, por lo que se activan permanentemente conectando su pin 4 a +5 V. El circuito impreso AT-NANO incluye esta conexión eléctrica, por lo que todo lo que hay que hacer es conectar los cables al circuito.
2. El MAX7219
Este circuito permite accionar directamente 8 visualizadores (displays) de 7 segmentos (más el punto decimal) o una matriz de 8 x 8 ledes, lo que representa 64 ledes en ambos casos. Su uso es sencillo, ya que solo se necesitan tres líneas de señal para controlarlo desde un microprocesador...
Una central de detección
1. Presentación
Este circuito está diseñado para centralizar un gran número de captores en un solo Arduino. Esta optimización es posible gracias a su organización en forma de matriz de entradas y salidas.
Se puede descargar desde la página Información: at-matriz.
Los 4 pines de A0 a A3 manejan dos circuitos 74HC238 que generan 16 señales de selección. Los pines A4 y A5 están reservados para el bus I²C, por lo que se dispone de D2 a D13, que representan 12 entradas a las que los detectores se pueden conectar. Gracias a la multiplexación y al uso de matrices, podemos leer 16 x 12 = 192 detectores con un solo Arduino Nano. Sin embargo, para poder utilizar la entrada D13 en INPUT_PULLUP, es necesario eliminar el led «D» presente en el circuito del Arduino Nano; de lo contrario, debemos limitarnos a 176 detectores. En esta fase, el problema esyá más bien del lado del circuito de alimentación necesario para suministrar suficiente energía a todos estos circuitos, ya que cada detector lleva un led que consume 20 mA.
Los conectores proporcionan la alimentación y la señal de activación para cada grupo de detectores. La señal de retorno vuelve a otro conector, ya que los detectores están dispuestos en una matriz.
Con el fin de distinguir fácilmente entre las entradas y las salidas, las salidas están marcadas con las letras de la A a la P, y las entradas, con los números del 1 al 12. Por tanto, cada detector puede identificarse con una letra y un número, como en el juego Hundir la flota o Batalla naval.
Un conector de alimentación está previsto para suministrar suficiente energía a los circuitos del detector, ya que el Arduino no puede proporcionar suficiente corriente. Hay que conectarle una fuente de alimentación regulada de 5 V. En el comercio se encuentran fuentes de alimentación adecuadas para este fin; basta con buscar «fuente de alimentación de 5 V» (5v power supply) en Internet. Suelen ser fuentes de alimentación para tiras de ledes. Pueden suministrar entre 10 y 15 A o más, lo que es más que suficiente para alimentar 192 detectores.
El circuito no es muy difícil de soldar: todos los componentes son «a...