¿Cuál es un buen enfoque para detectar la distancia y la velocidad en modelos de ferrocarriles?

Por adelantado, debo admitir que tengo poco conocimiento práctico de los microcontroladores modernos y su software: conozco mucho mejor la ingeniería eléctrica y los grandes motores (45 años).

Ahora, mi pregunta: tratando de entusiasmar a los nietos con la electrónica. Les encantan las maquetas de trenes, por lo que estamos construyendo un sistema de monitoreo de trenes poco a poco.

Problema actual: para detectar la distancia (opcionalmente la velocidad) de una locomotora desde una ubicación de vía específica, sin alterar la potencia de la vía.

Plataforma de control: Stellaris Launchpad

Opciones consideradas:
* TSOPxxxx con oscilador de frecuencia fija "tonto" y LED de RF en la locomotora - ¿Cómo obtengo información de velocidad?
* TSOPxxxx y emisor al costado de la vía, reflejo de la locomotora: puede obtener velocidad por tiempo de vuelo, tal vez
* Láseres rojos de 5 voltios y detección de rotura por LED rojo como sensor (a los niños les encantan los láseres, así que...) - sin velocidad detección sin múltiples dispositivos por ubicación de detección
* Etiquetas RFID y una bobina en la vía (identificarán la locomotora específica, lo cual es una ventaja) - sin información de velocidad
* Sensores de distancia ultrasónicos - Ubicuos y bien respaldados por los internautas, pero sospecho que un ángulo de cobertura demasiado amplio
* Uno de los muchos productos de maquetas ferroviarias listas para usar: contrario al propósito de este ejercicio

Entonces, ¿cuál de estos enfoques, o cualquier otro, me causará la menor molestia en el extremo del software y, sin embargo, brindará la oportunidad suficiente para involucrar a niños de 8 a 12 años en el diseño electrónico con resultados que puedan experimentar? ¿Cuáles son las trampas a tener en cuenta (además de la cola derramada)?

Los trenes son de escala N (escala 1:160).

Solo periférico a la pregunta, pero ¿a qué escala están sus trenes? El tamaño puede eliminar algunas opciones y agregar otras. (Entusiasta de MRR aquí).
escala N. Buen punto, no había pensado en eso. Actualizada la pregunta.
También puedes probar el radar, hay algunos módulos de radar no muy caros. conrad.de/ce/de/product/502370

Respuestas (3)

Otras respuestas han proporcionado excelentes aportes a su requerimiento; Mi respuesta se concentra puramente en la detección de proximidad (y presencia) de modelos de trenes, sin identificación, en las escalas que me interesan, las diminutas escalas N y T.

Teniendo en cuenta su necesidad de simplicidad de software, una combinación de transmisor / sensor de infrarrojos cortados será más fácil. Su mención de los dispositivos TSOP indica que ya está evaluando ese camino. Considere en su lugar el TSSP4P38, que está diseñado específicamente para la detección de proximidad utilizando IR cortado de 38 KHz:
TSSP4P38

Indicando lo que ya puede ser obvio para usted: la detección de distancia a través del tiempo de vuelo de las ondas electromagnéticas (IR, radar, etc.) no es práctica para sus propósitos: Dada la velocidad de la luz, se necesita una resolución en femtosegundos o menos para el 0 a 10 distancias objetivo en centímetros con las que probablemente esté trabajando (escala N 1:160). En las rutas de tránsito del "mundo real" que menciona en un comentario, las distancias pueden ser mayores, supongo.

Un mecanismo de sensor reflectante de IR utilizado en maquetas de ferrocarriles suele implicar, en cambio, la intensidad de la señal de IR reflejada, que aumentaría según la ley del inverso del cuadrado con la aproximación de la locomotora.

Su dispositivo necesitaría tener un LED IR como el TSAL6200 y el TSSP4P38, alojado en algo como el diagrama en la página 5 de la hoja de datos del TSSP. La combinación se montaría entre lazos en su pista, uno mirando hacia cada lado. Si lo monta lo suficientemente bajo y apuntando casi paralelo a las pistas, los reflejos de objetos externos se minimizarán y las pistas funcionarán como luces intermitentes.

La salida del TSSP es un pulso de nivel lógico de duración proporcional al IR reflejado. A medida que se acerca una locomotora, los pulsos sucesivos se alargan, por lo que las lecturas de al menos 2 pulsos consecutivos, preferiblemente varios más, proporcionarán un conjunto de duraciones de pulso y, por lo tanto, una indicación de la velocidad. De la hoja de datos:

El ancho de pulso de salida del TSSP4P38 tiene una relación casi lineal con la distancia del emisor o la distancia de un objeto reflectante. El TSSP4P38 está optimizado para suprimir casi todos los pulsos espurios de las lámparas fluorescentes de bajo consumo.

Si cumple con los requisitos de precisión practicables para su dispositivo, "rápido" versus "lento", "acercamiento" versus "retroceso" y, por supuesto, la presencia de una locomotora dentro del rango del sensor, son factibles.

Tendrá que establecer una línea de base del sistema para tener en cuenta los reflejos estáticos, por ejemplo, del paisaje. Además, la calibración de la velocidad real frente a las longitudes de pulso consecutivas proporcionará los mapeos de rango "rápido"/"lento".

La duración del pulso se puede medir utilizando una entrada de temporizador/contador en el microcontrolador de su elección. Hay varios ejemplos en la web para hacer esto en el Arduino, pero como ha mencionado usando un Stellaris Launchpad en su lugar, es posible que se necesite algo de investigación para ello.

Esta es una descripción general de alto nivel de una solución, no dude en preguntar si los aspectos específicos necesitan aclaración. Supongo que, dados sus antecedentes declarados, este no será un proyecto de la noche a la mañana, sino que se puede lograr dentro de una temporada de vacaciones. Algunos de los modelos de ferrocarriles listos para usar que mencionaste usan este mecanismo.


Para una discusión más general sobre la detección de distancia, consulte esta respuesta de una pregunta anterior.

Gracias por señalar lo que debería haber sido obvio para mí pero no lo fue, que el tiempo de vuelo de EMF es demasiado corto para mi distancia de interés. +1 por ser el mejor y más simple ajuste hasta ahora para mis propósitos, aceptaré si no surge nada mejor.

Si estuviera automatizando un modelo de ferrocarril , pondría etiquetas de código de barras en la parte inferior de los vagones del tren. Luego repartidos por toda la vía colocaría lectores de códigos de barras, boca arriba entre los raíles.

Con esto puedes detectar la posición, velocidad e identidad de los autos. Cada vagón tendría su propio código de barras único, no solo la locomotora.

La detección de posición de este método es muy obvia, ya que se basa en cuando un tren pasa por encima de un sensor. Pero debería funcionar bien para la mayoría de las cosas. Siempre puedes poner más sensores en puntos importantes de la pista y menos sensores donde no importa tanto.

Una gran ventaja de este método es que el precio por vagón de tren es muy bajo, solo una etiqueta que puede imprimir en su impresora láser o de inyección de tinta. La complejidad por vagón de tren es muy baja. Y el peso agregado a cada automóvil también es súper bajo.

Implementaría esto usando un LED IR y un fototransistor como sensor (hay componentes con ambos incorporados) y los conectaría a un microcontrolador. Cada sensor tiene su propio microcontrolador. Luego, los diferentes sensores se pueden conectar entre sí usando una red simple (como un bus RS-485). Con los LED IR, el sensor sería difícil de ver a simple vista. El costo total por sensor+MCU podría ser inferior a US$3, sin incluir un PCB pequeño.

Esa es la misma idea que pensé inmediatamente cuando leí la pregunta. El único problema un poco complicado que veo sería que tener los códigos de barras colgando a la altura del eje probablemente se vería un poco feo, pero si son más altos que eso, se necesitarían sensores diseñados para enfocarse en objetos más allá de la distancia de contacto. , que puede ser más difícil de encontrar. Para obtener los mejores resultados, sería casi seguro que sería deseable decidir sobre una cierta altura fija por encima de la pista para las etiquetas, y hacer que todas las etiquetas se montaran a esa altura.
Dado que estoy buscando una detección de ubicación única (aproximación a la estación), esta podría ser una idea. Sin embargo, estoy un poco confundido acerca de los aspectos de detección de velocidad y distancia: ¿cómo funcionan? Identificación, sí, ¡perfecto! Además, de ninguna manera puedo mantener la atención de los niños el tiempo suficiente para hacer media docena de dispositivos: tendrán que ser 2 dispositivos, 1 que fabrique para ellos y 1 que ellos mismos fabriquen. Uno para acercarse y otro para salir de trenes. Esto no es un control de diseño serio, es una "puerta de entrada" para llevarlos a la electrónica.
Si tiene diferentes anchos para las franjas en cualquier extremo del código de barras, puede determinar la dirección. La velocidad se puede calcular usando la distancia entre las rayas.
@tcrosley Hay muchas formas de codificar los datos para poder determinar la dirección y la velocidad, junto con alguna detección de errores.
@supercat La altura de la etiqueta puede ser complicada. El uso de un láser en lugar de un LED podría hacer que la distancia utilizable fuera bastante agradable, pero tendría que ser un láser de muy baja potencia y el enfoque sería difícil.
@DavidKessner: Para determinar la dirección, habría que colocar el sensor más cerca de un riel en particular (por ejemplo, al norte) y hacer que cada pieza de material rodante tenga dos códigos de barras, uno más cerca de cada riel, y cada código de barras tiene un extremo este y otro oeste identificables (el el extremo este de cada código de barras estaría cerca del extremo oeste del otro).
@tcrosley: se debe suponer que las transiciones de blanco a negro pueden retrasarse en relación con las transiciones de blanco a negro, o viceversa. Uno no debe hacer suposiciones sobre el ancho de una barra a menos que tenga una barra más ancha o más estrecha para compararla; lo mismo ocurre con las suposiciones sobre los anchos de los espacios. Un buen patrón puede ser definir el formato de modo que nunca haya más de cuatro barras del mismo ancho seguidas, ni más de cuatro espacios del mismo ancho. Leyendo desde un extremo, tenga ocho pares de barras/espacios de igual ancho seguidos de una barra ancha; del otro, ocho pares de igual ancho, barra estrecha, espacio amplio.
Los códigos de barras @supercat a menudo tienen un patrón de tira fijo al principio y al final, y este patrón fijo es diferente en cada extremo. El propósito de este patrón es darle al software de decodificación algo que pueda reconocer fácilmente como un código y determinar la "tasa de bits" para realizar la decodificación. Detecta la dirección según el preámbulo/postámbulo que obtiene primero. Obtiene una tasa de bits basada en la "velocidad" del preámbulo/postámbulo. También obtiene la velocidad del tren en función de la tasa de bits.
@DavidKessner: El patrón que describí era diferente en cada extremo, ya que un extremo tenía una barra como primer elemento "ancho" y el otro tenía un espacio. Es útil tener secuencias de inicio (lectura en cualquier dirección) que difieran de cualquier secuencia de barras y espacios que pueda aparecer dentro del código.

Comenzaría con el método del interruptor óptico o reflector a cada lado de los cruces de carreteras para señalar los trenes que se acercan y encender un LED ROJO parpadeante. El seguimiento remoto también se puede conectar a un mapa de trenes con indicadores de cruce de trenes y directos y de velocidad.

El escáner de código de barras es engañosamente simple hasta que tiene que lidiar con la seguridad del rayo láser, las tasas de seguimiento de la velocidad de las etiquetas y el cálculo del tiempo de intervalo de la brecha de la barra para calcular la velocidad y validar el contenido del código para determinar la dirección en el software.

Desglose el proyecto en;

  • diseño funcional del sistema
    • Entradas, procesos, salidas (incluye rechazo de disparador falso)
  • diseño electronico
    • esquemático, lista de materiales, diseño
  • diseño de camino óptico
    • rutas y rango de emisor y detector, respuesta de frecuencia, rechazo de ruido
  • construcción y pruebas
    • cableado con fuerza fuera de vía, filtrado de ruido y detalles mecánicos, eléctricos

IR puede detectar la interrupción de la señal en cualquier lado con mayor facilidad o el reflejo de la señal desde el mismo lado con un rango de detección más amplio. La secuencia a dos detectores adyacentes indica en qué dirección y el intervalo de tiempo indica la velocidad. Esto se puede medir con métodos analógicos o digitales.

Los escáneres de códigos de barras IR dependen de que el código pase por el detector a una velocidad constante o que el emisor se refleje más allá del código de barras para ser detectado por dispersión de luz o absorción de carbono negro. Los rayos láser fijos hacia arriba tendrían que cambiarse ópticamente para reducir la potencia a un nivel seguro o expandirse y luego enfocarse en una trayectoria corta para reducir la densidad de potencia de la luz parásita.

La detección de códigos de barras probablemente podría simplificarse si uno diseña el formato de código de barras alrededor de la aplicación. Si uno usa un par de sensores uno al lado del otro (uno más cerca de cada riel) y diseña el formato del código de barras de modo que un lado sea una secuencia de paso fijo de barras blancas y negras, mientras que el otro lado contiene los datos reales, debería ser fácil de identificar qué lado es el lado de paso fijo; si todos los códigos de barras usan el mismo tono, eso diría instantáneamente qué tan rápido iba el tren y en qué dirección estaba mirando el vagón. Además, permitiría la decodificación incluso si el tren cambia de velocidad.
buena idea reloj y datos
Probablemente se podría calcular la dirección y la velocidad utilizando un solo sensor si los sensores de código de barras estuvieran montados más cerca del riel norte, cada automóvil tuviera dos códigos de barras y hubiera suficiente redundancia en el formato del código de barras (por ejemplo, use la codificación Manchester y asegúrese de que los datos subyacentes tiene una buena combinación de "1" y "0". Entonces se podrían organizar las cosas para que cada código de barras tenga un extremo este y otro oeste (esas definiciones son correctas cuando el código de barras está más cerca del riel norte).
¡Oye, esto se está poniendo muy interesante! Gracias, información útil sobre el escáner de código de barras (en comentarios), y @Richman, me está empezando a gustar la idea de IR, es lo que hacemos mucho en la vida real: transmisor y receptor en un solo paquete, integrado en el tránsito camino, o en este caso, entre lazos de la vía. La solución del código de barras no se ve tan atractiva ahora porque el software se convertirá en mi problema, ¡y no hablo muy bien del software, por así decirlo!