ESTE BLOG COMENZÓ A PUBLICARSE EN 2008, POR LO TANTO MUCHOS DE LOS TEMAS HAN QUEDADO DESACTUALIZADOS U OBSOLETOS. LOS LECTORES QUE DESEEN UTILIZAR ALGUNO DE LOS ELEMENTOS AQUI DESCRITOS DEBERÏAN ASEGURARSE DE BUSCAR LAS REFERENCIAS MAS MODERNAS DE LOS TEMAS DE SU INTERÉS. EL BUSCADOR INCLUIDO SERÄ UNA AYUDA PARA ESA BÚSQUEDA

sábado, 6 de diciembre de 2008

Control digital de los cantones

En el último artículo describía el funcionamiento de un control analógico de un sistema de cantones.

En resumen el sistema de control tiene que ser capaz de realizar al menos las dos siguientes funciones:

Detectar el paso de los trenes por unos lugares determinados.

Hacer parar o arrancar los trenes en determinados momentos, en función de la situación de los demás trenes.

Adicionalmente es conveniente que se puedan manejar señales mecánicas o luminosas que coincidan con las funciones de parar o arrancar los trenes.

La detección de los trenes puede realizarse por uno de estos procedimientos:

a)Vía de contacto. Es el sistema propuesto por Märklin y según mi experiencia es fácil y fiable. Como ventaja adicional discrimina si el paso de un tren se hace en un sentido o en otro. Como desventaja sólo detecta las locomotoras y sólo produce un contacto momentáneo cuando pasan por un punto determinado

b)Relé reed. Es muy utilizado en escalas mayores pero en Z tiene algunos inconvenientes. De entrada hay que colocar un imán en las locomotoras, y eso, según me indica Angel en un comentario al artículo anterior, afecta gravemente su funcionamiento. En principio no discrimina el sentido de paso (podría hacerse con una situación asimétrica del relé en la vía, pero en Z, empieza a ser ciencia ficción). Al igual que la vía de contacto produce un contacto momentáneo. Puede localizar cualquier vagón o locomotora siempre que se equipe con el correspondiente imán.

c) Sensor infrarojo, Detecta el paso de un tren por la interrupción de un haz de luz infraroja. En su comentario Angel dice que no conocía ninguno comercializado, pero yo si he localizado uno de la marca Busch Evidentemente detecta cualquier vehículo que interrumpa el haz, lo cual seguramente puede producir muchas falsas señales.

Los tres sistemas anteriores detectan "el paso" de un vehículo por un punto. Otros sistemas detectan la existencia de un vehículo en un tramo más o menos largo de vía. Evidentemente si el tramo es muy corto ambos sistemas son equivalentes en la práctica.

d) Detección de cortocircuito. Empleado universalmente en el sistema Marklin H0 con carril central. En este sistema ambos carriles están normalmente unidos eléctricamente. Si en una sección de vía, deshacemos esa unión, dejando aislado uno de los carriles, cuando un vehículo se sitúe en ella, como los ejes no son aislados, provocan una unión eléctrica o "cortocircuito" entre ambos carriles, que puede actuar como interruptor de un sistema de detección. Es prácticamente inaplicable en sistemas de dos carriles como el de la escala Z

e) Detección de consumo. La presencia de una locomotora en marcha sobre una sección de vía, implica que se está produciendo un consumo de corriente, es decir que circula una intensidad por la vía. Un sistema electrónico puede detectar esa circunstancia y determinar que en ese tramo hay una locomotora, activando un relé que implica la ocupación del cantón. Dependiendo de lo sofisticado del sistema electrónico se puede también determinar también la presencia de una locomotora parada o la presencia de vagones. Para esto último, los ejes aislados de los vagones de los sistemas de dos carriles se pueden hacer "un poco conductores" con algunos trucos, como el colocarles una pequeña resistencia, pintura conductora, etc.

Evidentemente, los sistemas basados en la ocupación son más perfectos, ya que detectan la presencia de un tren en cualquier parte del cantón, y si éste sale del cantón, por ejemplo por un desvío cualquiera, el cantón queda automáticamente libre.

Por el contrario los sistemas basados en el paso por un punto, asumen que el cantón sigue ocupado hasta tanto no se produce el paso por la salida prevista. De modo que si el tren sale por otro sitio, o sufre un percance y lo quitamos manualmente de la vía, el sistema deja ese cantón permanentemente ocupado. Por eso estos sistemas deben tener una forma de hacer manualmente un "reset" que deje todos, o algunos de los cantones como libres.

En resumen todos los sistemas producen el cierre de un contacto, bien momentáneo o permanente que indica la ocupación de un cantón. Con un relé biestable, el contacto momentáneo se convierte en un contacto permanente.

Todo lo dicho hasta ahora es perfectamente válido tanto para un sistema digital como para uno analógico

La segunda función de un sistema de acantonamiento es controlar la marcha de los trenes. Aquí hay una clara distinción entre un sistema analógico y un sistema digital.

En un sistema analógico lo que se hace es establecer a la entrada de cada cantón, junto a la señal de entrada (si hay señal), una zona de vía aislada de forma que sólo llega alimentación cuando el relé biestable asociado a ese cantón está en la posición correspondiente a "no ocupado". Por lo tanto si un tren va a entrar en un cantón ocupado, al llegar a la zona aislada no tiene alimentación y se para. Cuando el cantón queda libre, vuelve a recibir alimentación, y arranca. El problema de esto, es que tanto la parada como el arranque son bruscos, ya que no hay una subida progresiva de la tensión de alimentación, sino un corte brusco de la misma. Existen dispositivos electrónicos que consiguen suavizar tanto la parada como el arranque.

Por supuesto esto también puede usarse en un sistema digital, ya que evidentemente si dejamos una locomotora en un tramo de vía aislado, se para. Sin embargo esto va absolutamente en contra de la teoría de un sistema digital, por lo que no resulta muy operativo.

Lo suyo es que cuando una locomotora digital va a entrar en un cantón cerrado, el sistema de control envíe a esa locomotora la orden de detenerse. Esto que parece simple implica tres cosas: Que se sepa que el cantón está libre u ocupado, lo cual se podrá hacer por alguno de los sistemas anteriores. Que se detecte que una locomotora se acerca a la entrada del cantón, lo cual implica un segundo sistema de detección. Y que se sepa qué locomotora es la que va a entrar, para mandarle la orden de detención suave precisamente a esa locomotora y no a otra.

Esto último es una complicación importante. Se puede detectar el paso de una locomotora por un punto, pero saber qué locomotora es, es decir que la locomotora se identifique y envíe un código a la central digital, no está plenamente conseguido. Por lo tanto, para saber qué locomotora pasa por un punto dado, el sistema tiene que llevar la cuenta de dónde está cada locomotora. Evidentemente esto requiere toda la potencia de un ordenador para controlarlo.

Por esto, entre otras razones, las maquetas de cierta importancia están manejadas por ordenadores, mediante programas de control. Casi todo el mundo cree que esto solo puede conseguirse mediante el mando digital, y por eso se concluye que la escala Z no es apropiada para esto, o bien se hacen todos los esfuerzos posibles para digitalizar la escala Z

En realidad esto no es así. Un sistema manejado por un ordenador puede también efectuar este control sobre un circuito analógico, entendiendo por tal aquél en el cual el control de velocidad de una locomotora depende de la alimentación de la zona de vía sobre la que está rodando. Si el ordenador detecta que una locomotora va a entrar en un cantón ocupado, puede enviar la "orden de detención suave", esto es disminuir progresivamente la tensión de alimentación, a la zona de vía donde se ha detectado la locomotora. Adviértase que esto evita la complicación de saber cuál es la locomotora que hay que detener, porque la parada suave afectará a cualquier locomotora que esté en la zona de parada. Estoy pensando evidentemente en fuentes de alimentación manejadas por ordenador de acuerdo con lo que ya comenté al hablar de las alimentaciones de "System Jörger" y mi intención de controlarlas con un potenciómetro digital.

Queda todavía una cuestión: Sabemos detectar la ocupación de un cantón, y sabemos hacer que una locomotora se pare o arranque en un lugar determinado. Evidentemente cuando un cantón se ocupa, porque un tren entra en él, hay que poner roja la señal de entrada y hacer que se detenga cualquier tren que pretenda entrar antes que haya salido el que lo ocupó. Pero cuando un tren entra en un cantón, se asume que sale del cantón anterior, y por tanto hay que poner en verde la señal de entrada del cantón anterior. Cuando hay una única vía no hay duda de cuál es el cantón anterior, y esta acción de abrir la señal al tiempo que se cierra la siguiente se hace simplemente por cableado.

Sin embargo, cuando como es mi caso, se quiere tener la posibilidad de configurar los cantones en dos formas al menos, una con un circuito principal largo y otra con dos circuitos más cortos, la cosa se complica. La solución de manejar el cambio de señales por ordenador simplifica este caso, ya que el programa puede tener previstas cuantas configuraciones se desee y en cada caso abrir y cerrar las señales que correspondan a cada detección de paso de un tren. En resumen: se sustituye la lógica "cableada" en la maqueta, por la lógica de un programa que puede tpmar múltiples configuraciones

Hace un año, empecé a interesarme por estos temas y entonces adquirí una placa de control por ordenador a una empresa valenciana. Tenía este tema un poco olvidado cuando me he dado cuenta de que es exactamente lo que necesito. La placa en cuestión PS6E8S, de MICROPIK contiene exactamente seis detectores on/of que puedo conectar a las vías de detección de cada cantón y ocho salidas que son relés conmutadores, que puedo utilizar para manejar semáforos mecánicos con sus conmutadores biestables. En una primera etapa me propongo simplemente abrir y cerrar los semáforos que sean oportunos según la configuración (circuito largo / circuitos cortos) mediante un sencillo programa de ordenador. Si más adelante puedo manejar también por ordenador la corriente de tracción, podré conseguir paradas y arranques suaves.

Creo que va quedando claro por dónde pretendo progresar en cuanto al mando de la maqueta: aplicar sucesivamente un control por ordenador, en primer lugar al control de cantones, luego al control de tracción de las locomotoras y por último a los aparatos de vía. Al final tener una maqueta analógica controlada por ordenador.

Curiosamente va a ser un camino opuesto al habitual, ya que informatizar la detección de los trrenes suele ser el último paso. Sin embargo yo voy a empezar por ahí, sobre todo porque la electrónica para conseguirlo la tengo ya disponible.

8 comentarios:

  1. un lector de este blog, me ha indicado la existencia de otra marca fabricante de detectores de infrarrojos.

    La dirección es la siguiente:

    http://www.fbsystems.com/page00010209.html

    Por lo que veo, en lugar de interrumpir un haz de luz infrrroja, lo que hacen es recibir el reflejo en la panza de la locomotora de una fuente de luz infrarroja dirigida hacia arriba, de manera que se colocan en un taladro entre los dos carriles. Este tipo de dispositivos se denominan induistrialmente "detectores de proximidad" Seguramente son una alternativa muy válida y mucho más fáciles de disimular que los de Bosch

    ResponderEliminar
  2. He encontrado este dispositivo:
    http://www.micropik.com/PDF/CNY70.pdf
    Detector a infrarrojos por reflexion.- Suficientemente pequeño para montarlo bajo la vía y que funcione entre las traviesas, o quizá suprimiendo una como máximo.- Evidentemente la salida soporta muy poca corriente, por lo que habrá que conectarla a la base de un transistor de potencia.- Intentaré hacer alguna prueba.

    Un abraZo

    ResponderEliminar
  3. Hola.
    ¿Conoce si existe algún componente electrónico que permitiera leer un código de barras colocado en la "panza" de la locomotora?.
    Saludos

    ResponderEliminar
    Respuestas
    1. Hola Pepe

      Veo que estás buceando en los primeros artículos. Sobre este tema de la detección de trenes hay mucho escrito en posteriores artículos, muy especialmente este:

      http://mimaquetaz.blogspot.com.es/2012/04/hall-versus-reed.html

      Que es uno de los artículos más leídos y el que tiene más comentarios de todo el blog

      Y respecto de tu pregunta, más que un componente lo que existen son lectores de código de barras. Casi todos tienen forma de pistola para utilizarlos en la mano, pero algunos tienen forma de bolígrafo y podrían llegar a situarse debajo de la vía frente a un taladro en el tablero y leer así un código de barras pegado bajo la locomotora.

      Hace tiempo, en un foro, tuve un intercambio de opiniones con un compañero que quería hacer la detección por radiofrecuencia, y yo le decía que era más fácil el sistema del lector de código de barras.

      Si entras en E-Bay (Todo el mundo) y buscar "barcode reader" te salen un montón de lectores. Yo lo acabo de hacer y me han salido 1500.

      El problema que yo le veo a esto es que luego hay que interpretar la señal del lector y saber qué queremos hacer con ella.

      Había también por la red un proyecto de alguien que había hecho la interpretación de la señal del lector utilizando un Arduino

      Un Saludo y gracias por tu interés.

      Ignacio de la Fuente

      Eliminar
    2. Gracias Ignacio.
      En algún sitio, leí sobre un sistema para leer el código pregrabado en una tarjeta, pero no recuerdo el sitio y no lo puedo localizar. Había dos sistemas uno con la tarjeta pregrabada, y otro sistema algo mas caro con el que podías grabar un número en dicha tarjeta.Ésta era leida.
      Por eso te preguntaba si conocías algún componente electronico que pudiera realizar dicha lectura.
      Lo del boligrafo puede ser una alteranativa; pero no funcionaría como cualquier periferico?.
      Un saludo.

      Eliminar
  4. Hola otra vez.

    Si estás hablando de códigos grabados en una tarjeta, creo que te refieres a un sistema de RFID. Como te decía mantuve hace tiempo un diálogo sobre ese tema en el foro de Railwaymanía. Este es el enlace:

    http://www.railwaymania.com/cs_forum_th.aspx?ch=4&th=296761&p=1

    Evidentemente los lectores de código de barras se conectan como un periférico, o sea que se conectan a un ordenador. Alguno con el que yo he trabajado, emulaba el teclado, de modo que cuando se leía un código, el ordenador lo interpretaba como que se hubieran tecleado los números del código. Así cualquier software previsto para que se le teclee un dato funciona con el lector de código de barras.

    Por eso te decía que el problema viene luego. De entrada estamos suponiendo que tenemos un ordenador, y que tenemos un programa, lo cual ya es una exigencia importante. Pero ¿Qué programa? de los programas que yo conozco para el control de maquetas ninguno espera recibir un código de locomotora al pasar por una baliza, sino simplemente una señal de que ha pasado una locomotora por determinada baliza. El código que se transmite es el de la baliza, no el de la locomotora

    Porque claro con un sistema de lectura de códigos, ya sean de barras o de radiofrecuencia, lo primero que ocurre es que con un solo detector no hacemos nada. Cualquier maqueta con sistema de detección de trenes tiene unos cuantos puntos de detección (por ejemplo en mi caso 32 balizas) así que lo primero que tiene que saber el programa de control , es qué baliza se ha activado, y eso ni los detectores de código de barras ni los de RF lo hacen. Por supuesto puede añadirse esa identificación pero eso complica aún más el tema.

    En resumen creo que tener un sistema, por ejemplo con 32 detectores de código de barras con el hardware añadido en cada uno para identificarlo resultaría muy complicado y muy caro.

    Por otra parte si estamos suponiendo que controlamos la maqueta con un programa de ordenador, lo realmente importante para el control de tráfico es saber que una baliza determinada se ha activado por el paso de un tren. Saber exactamente qué locomotora ha sido la que ha activado la baliza es mucho menos importante, pero es que además TODOS los programas de control de maquetas llevan el control de dónde está cada locomotora, porque necesitan saberlo para aplicar a cada una su perfil dinámico. Así que cuando detectan que una baliza se ha activado, saben qué locomotora ha sido porque saben qué locomotora está en el sector donde está la baliza.

    Si te miras este artículo del blog:

    http://mimaquetaz.blogspot.com.es/2013/05/nuevo-video.html

    Y en particular el video que en él aparece, verás mi sistema funcionando. En varios momentos se puede ver la pantalla del ordenador, y se pueden identificar en algunos momentos unas "etiquetas" blancas que aparecen junto a cada baliza cada vez que una de ellas se activa. Como puedes ver, la etiqueta indica el código de la locomotora que ha activado la baliza. Pero esto se hace sin que sea la baliza la que ha identificado la locomotora. La identificación se basa en que el programa sabe dónde está cada locomotora.

    Veras que el programa tiene una ventanas que se llaman "Cabinas" porque emulan la cabina de cada locomotora que está activa, y en ella además de la velocidad y otros datos, vemos en la parte superior unos recuadros que se iluminan y se apagan indicando en que cantón y en que sector está cada locomotora en cada momento.

    En resumen, un sistema como el que propones podría ser útil para un sistema automático (más o menos un PLC) pero en el momento en que ya tenemos que tener un ordenador y un programa de control, la necesidad de detectar cada locomotora individualmente deja de ser necesaria porque el programa ya lo hace por software.

    Un Saludo

    Ignacio de la Fuente


    ResponderEliminar
    Respuestas
    1. Hola Ignacio.
      Efectivamente no había tenido en cuenta estos dos aspectos importantes que señalas, es decir, si leemos el código de barras, tenemos eso, una lectura pero no sabemos que baliza la está leyendo, y por tanto su posición en la maqueta.
      Por otro lado también es cierto que los programas de ordenador para el control de las maquetas no están prepardos para recibir la lectura de un periferico como puede ser el procedente de un boligrafo lásser.
      Esto se complica.
      He visto el video del enlace que me has pasado de tu blog : http://mimaquetaz.blogspot.com.es/2013/05/nuevo-video.html, y la verdad que no lo había visto antes; lo que no acabo de hacerme una idea es como por el programa puedes conocer la posición de cada locomotora; supongo que estás llevando dicha información a alguna tabla y vas aumentando posiciones según avanza dentro de una ruta ya prefijada. En fin aunque mis conocimientos de informatica son bastante limitados, me voy a bajar tu soft a ver si voy comprendiendo la filosofía mejor del mismo.
      De todos modos me parece un trabajo muy arduo el que estás llevando a cabo.
      Un saludo.
      Pepe

      Eliminar
    2. Hola otra vez.

      El sistema es parecido a lo que tu dices. Se basa en efecto en una tabla a la que yo llamo Ruta, porque define la ruta que sigue la locomotora a lo largo de la maqueta.

      En este artículo se describía el sistema de Rutas:

      http://mimaquetaz.blogspot.com.es/2012/05/software-de-control-ii.html

      En resumidas cuentas, es una tabla que define qué balizas y en que orden se deben encontrar por una locomotora que recorra la ruta seleccionada.

      Además la tabla define una serie de acciones que pueden asociarse a la activación de una baliza como pueden ser mover una señal, mover un desvío, parar la locomotora, volver a arrancar al cabo de x segundos... etc

      El trazado está compartimentado en cantones, y en cada cantón solo puede haber una locomotora. Si conocemos inicialmente la posición de cada locomotora cuando se activa una baliza de un cantón sabemos que la locomotora que la ha activado no puede ser otra que la que estaba en ese cantón.

      Determinadas balizas son de "salida" o de "entrada" Cuando una locomotora activa una baliza de salida, el sistema determina si el cantón correspondiente a la siguiente baliza de la ruta está libre u ocupado. Si está ocupado detiene la locomotora antes de que llegue a salir y espera hasta que el cantón siguiente se desocupe.

      Si está libre, la locomotora continúa, y entonces encuentra la baliza siguiente, que es una baliza de entrada en el cantón siguiente, Como es una baliza de entrada el sistema sabe que la locomotora ha abandonado el cantón anterior y ahora está en el siguiente, así que sigue sabiendo en qué cantón está. Además señala como ocupado el cantón en el que ha entrado la locomotora y señala como libre el que ha abandonado

      Si ocurre que se activa una baliza que no es la siguiente a la que se había activado anteriormente en una ruta dada, se supone que algo ha fallado, por ejemplo un desvío que no ha cambiado correctamente. así que corta la tracción de todos los trenes.

      Como ves, todo ese proceso da lugar a un "log" de todo lo que va ocurriendo en la maqueta, y que se puede ver en el vídeo del artículo que te recomendé.

      Un Saludo.

      Ignacio

      Eliminar

Gracias por expresar tus opiniones.

Los comentarios aparecerán en el blog normalmente en unos pocos segundos