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

miércoles, 18 de marzo de 2009

Basta de programar! (de momento)


Como decía en el artículo anterior, tengo ya funcionando una parte del programa que controlará la maqueta. He preferido llegar hasta un punto en que este programa sea lo suficientemente operativo como para que las pruebas de circulación de los primeros trenes sean ya realizadas bajo control por ordenador, lo cual no era desde luego mi intención inicial.

En este artículo voy a explicar un poco la filosofía de éste programa de control de locomotoras ANALOGICAS por ordenador.

En primer lugar el programa no controla directamente las locomotoras, sino que controla secciones de vía, en las que hay una única locomotora, lo cual, por definición es un cantón. Sin embargo , el programa "lleva la cuenta" de dónde está cada locomotora, basándose en la situación previa y en la activación de los sensores reed. Por lo tanto, al usuario le parece que está manejando cada locomotora en concreto, porque el programa sabe llevar las instrucciones apropiadas al control del cantón sobre el que sabe que está la locomotora.

¿Que instrucciones son esas? Una locomotora analógica solo recibe dos instrucciones: la tensión de la vía e la que está, lo que la hace ir más o menos rápido, y la polaridad, que la hace ir en un sentido o en otro.

En este caso, más que la tensión, lo que hace variar la velocidad es el ancho de pulso de la corriente que alimenta la vía por el sistema PWM, pero para el caso es lo mismo. Hay sólo dos variables: velocidad y sentido de marcha.

El circuito electrónico que alimenta cada cantón es el encargado de hacer que la locomotora se mueva a la velocidad requerida en cada momento. Esta velocidad es calculada en cada instante por el programa de control de locomotoras.

Si miramos la imagen del controlador, podemos observar que abajo, a la izquierda, hay un mando con cuatro posiciones "AUTO" "PROFI" "EASY" y "OFF" . A la izquierda hay un control deslizante vertical, que representa el freno, y a la derecha otro mando vertical que representa el regulador.

En el modo "EASY" la locomotora responde directa e instantáneamente al mando del regulador, y el mando de freno no funciona. Es decir funciona como una locomotora analógica en respuesta al botón del "transformador". Es por lo tanto una forma fácil de manejarla.

En cambio, en el modo PROFI, se pretende que la locomotora responda como una locomotora real, de modo que abriendo el regulador se consigue una aceleración, pero no instantánea sino dependiente del peso de lo locomotora, del peso del tren y de las resistencias, tales como la inercia, el rozamiento y la resistencia aerodinámica. Asimismo, si cerramos el regulador, la locomotora no se para de forma inmediata, sino que se sigue moviendo de acuerdo con todos esos parámetros. Para pararla habrá que actuar sobre el freno, y entonces la reducción de velocidad será también progresiva.

Obsérvese que todos estos datos dan como resultado una velocidad que varía a lo largo del tiempo en función de la posición de los mandos, y de todos esos parámetros. El programa calcula entonces en cada instante una velocidad "a la que debería ir" la locomotora, y esa velocidad es la que indica la aguja que vemos en la ventana del control. Asimismo por integración de la velocidad a lo largo del tiempo se calcula el espacio recorrido y esto hace que el cuentakilómetros se vaya moviendo indicando los kilómetros que "debería haber recorrido" la locomotora. Adviértase que todo esto es un puro cálculo matemático, análogo al que realizan los programas de simulación, y no tiene nada que ver con que realmente haya una locomotora moviéndose en las vías.

El circuito electrónico lo que tiene que hacer entonces es ajustar la tensión de la vía para que, en cada momento, la locomotora se mueva a la velocidad que marca la aguja del velocímetro (a escala, naturalmente) Obsérvese que si no hay coincidencia, lo que hay que corregir es la velocidad de la locomotora, no la indicación del velocímetro.

Para conseguir este ajuste de la mejor forma posible, se define para cada locomotora una "función de transferencia" que ajusta la velocidad de la locomotora a la indicación del velócímetro. En la imagen de la cabecera se puede ver la gráfica de esta función de transferencia, que el usuario puede modificar para obtener el ajuste. Tengo previsto que este ajuste se pueda realizar de forma automática, a base de hacer rodar la locomotora, y medir los pasos por los sensores.

Naturalmente el modo "AUTO" es el que hace que sea el propio programa, el que maneje los mandos, en función de la ruta y la posición de las señales.

Por último, en el modo "OFF" lógicamente la locomotora queda parada, pero no sólo eso, sino que queda "aparcada", y si está por ejemplo en un apartadero, queda libre el resto del cantón para que circulen otras locomotoras.

Como decía he programado la parte que realiza el modo EASY, lo cual me va a permitir ya proceder a las pruebas con el control por ordenador.

El siguiente paso va a ser construir una primera versión del circuito de control PWM, ya sobre circuito impreso. Cuando tenga esto, funcionando, continuaré con el interrumpido montaje de la maqueta.



6 comentarios:

  1. Un trabajo excelente. Me gusta mucho es claro y muy intuitivo, me parece fácil de manejar.
    Solo una duda: Cuando dices que la locomotora queda aparcada,supongo que lo que hará el programa es cortar la corriente de ese sector de vía.

    ResponderEliminar
  2. Hola Mikel

    Si efectivamente.

    Normalmente en una maqueta analógica, tenemos una serie de vías de estacionamiento, a las que ponemos un interruptor, para dejarlas aisladas cuando queremos tener ahí parado un tren.

    En mi sistema, esto funciona igual, sólo que el interruptor es un relé manejado por el sistema.

    Cuando ponemos la locomotora em OFF, como el sistema sabe en qué sector está la locomotora, lo que hace es abrir el contacto de ese sector de vía.

    Se mantiene la filosofía de que el usuario cree que que ha actuado sobre la locomotora, cuando en realidad ha actuado sobre la vía.

    Hay que empezar a buscarle un nombre a ese circuito electronico de control, ya que me resulta muy pesado escribir todo eso cada vez.

    Se admiten ideas

    ResponderEliminar
  3. Pues siguiendo la moda actual ¿porque no llamarle CEC?
    Respecto a tu programa espero que lo "comercialices" porque cada vez me gusta más ...y claro con la electrónica me atrevo, pero crear un programa está totalmente al margen de mis posibilidades :-)

    ResponderEliminar
  4. ¿"CEC"? ¿"circuitio electrónico de control"? No me gusta mucho: no dice qué es lo que controla.

    Propongo "Control por Ordenador de Locomotoras Analógicas" O sea "COLA" Si añadimos el control de desvios y señales y le llamamamos "Control Analogico de Operaciones", ya tenemos completo el COLA-CAO :-)

    ResponderEliminar
  5. Ja,ja,ja...cuidado no se te eche encima la marca (y esta es sin K), que ahora andan muy quisquillosos con los derechos de autor... Además ese nombre te aseguro que iba a traer "cola".
    Habrá que seguir pensando...

    ResponderEliminar
  6. .... COLA-CAO ....
    :-DDDDDDDDDDDDDDDDD

    ResponderEliminar

Gracias por expresar tus opiniones.

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