lunes, 19 de enero de 2015

Obras son amores..




Como algunos seguidores de este blog podrán decir, obras son amores que no buenas razones, o sea que menos contar cómo quiero hacer algo, y más enseñar lo que he hecho.

Bueno, pues los interesados tienen ya un buen montón de razones, casi veinte minutos de razones, para comprobar que todo lo que he venido contando acerca del controlador, que primero fué PWM05I y luego se ha convertido en PWM05.3G, es rigurosamente cierto. Tan cierto que ni yo mismo acabo de creerme lo perfecto que ha salido todo, en esa exhaustiva prueba, de más de dos días de duración, a que he sometido al PWM05.3G. y en la que por cierto, he grabado varias horas de vídeo, de las que al final han salido los veinte minutos del vídeo que encabeza este artículo.

Como ya he comentado, el PWM05.3G es un controlador de tracción con simulación de inercia, es decir que los trenes bajo su control, no aceleran y frenan bruscamente, sino de una forma progresiva, emulando a los trenes reales, que debido a su enorme masa, no pueden variar su velocidad de forma brusca. Esto se consigue mediante un circuito electrónico que se encarga de controlar en cada momento la velocidad según unas curvas de aceleración y frenado cuya pendiente se puede ajustar por el usuario entre límites bastante amplios, de modo que en el ajuste máximo, la frenada de un tren puede llevarle más de 100 segundos, recorriendo un espacio que a escala serían varios cientos de metros.

Como también he comentado ("Palancas y botones") un control de estas características no es adecuado para ser manejado mediante el clásico mando giratorio y en cambio resulta mucho más práctico manejarlo mediante un sistema que reproduzca las funciones de "acelerador" y "freno"

He preferido hacer varias versiones del sistema de mando, y en el video se pueden ver cuatro elementos de mando, que pueden intercambiarse, simplemente desenchufando el conector de uno y enchufando el del otro,

El vídeo comienza demostrando el funcionamiento del mando por teclado. Este teclado es herencia directa del mostrado en el artículo "Split" y es el elemento más sencillo para manejar este controlador. Lleva seis botones con las funciones de Acelerar, Frenar, Parada, Stop, Adelante y Atrás

Como decía los dos primeros botones simulan las actuaciones de un acelerador y de un freno, y con eso se controla la velocidad del tren de una forma distinta a la habitual, pero muy eficiente. Los botones de Adelante y Atrás son evidentemente para cambiar el sentido de la marcha.

El botón de Stop tiene en realidad dos funciones: por un lado sirve como parada de emergencia, es decir que, pulsándolo con el tren en marcha, el tren se detiene de forma instantánea. Además no se pierde la memoria de la velocidad, de modo que pulsando a continuación el botón de Adelante, el tren reanuda la marcha a la velocidad que llevaba antes de la parada. La otra función de Stop es desconectar una locomotora que se ha detenido por haber disminuido su velocidad hasta cero. Aún con la locomotora parada, sigue recibiendo señal PWM que mantiene las luces encendidas. Al pulsar Stop se corta totalmente la alimentación de la locomotora.

Y la tecla de Parada, lo que provoca es la detención progresiva del tren disminuyendo su velocidad hasta cero. Es equivalente a mantener pulsada la tecla de Frenar hasta que el tren se detiene, pero con la tecla de Parada basta un toque moméntáneo para producir este efecto.

También se ve en esta primera parte del vídeo, cómo se puede variar de forma independiente la inercia de aceleración y la inercia de frenado, actuando sobre los potenciómetros de ajuste presentes en la placa del circuito. No se si se aprecia bien en el vídeo pero con los valores de inercia ajustados al máximo, el tren tarda unas dos vueltas completas al circuito antes de alcanzar la velocidad máxima, y también otras dos vueltas completas antes de detenerse mediante la tecla de Frenado. Si alguien quiere realismo en el comportamiento de los trenes, aquí lo tiene.

Este mando por teclado está previsto para ser manejado teniendo el mando en la mano, y lleva un cable de unos dos metros que lo une al circuito del controlador. El circuito en si se colocaría oculto, por ejemplo bajo el tablero.

En una segunda parte, se muestra el mando de consola. Este mando, que está previsto para ser situado cerca de la maqueta, de forma estable en modo "sobremesa", se une también al circuito controlador mediante un cable corto (unos 30 cm). Lo característico de este mando es que las funciones de Acelerador y Frenado se realizan por un único mando que es un joystick (y que ahora se llama regulador, nombre muy ferroviario).

Como ya he comentado anteriormente ("Conduciendo Locomotoras") el uso de un joystick para regular la velocidad de las locomotoras se ha impuesto en el tren real últimamente, y no sin motivo, ya que esta pequeña palanca parece ser la forma más intuitiva de manejar la velocidad. Aunque había defendido esta postura en este blog en alguna ocasión, apenas lo había probado más que con locomotoras moviéndose en un corto tramo de vía, con lo cual es muy difícil apreciar su utilidad. Ahora que, con esta prueba he podido comprobarlo extensamente debo decir que me ha encantado. El manejo con este elemento es mucho más intuitivo que con cualquier otro sistema que yo haya probado.

Otra característica de este mando es que incorpora los controles de ajuste de inercia en arrancada y frenada en el mismo mando. De esta forma se puede cambiar el ajuste de estos valores en cualquier momento ¡Incluso con el tren en marcha!

He hecho también una variante de este mando, prevista para ser situada en un cuadro de control. En el vídeo se puede ver cómo se coloca en un cuadro, con el circuito colocado dentro de la caja, y el mando encastrado en el tablero.

Por lo demás este mando es completamente idéntico al de consola, sólo que en lugar de ir montado en una caja de ABS se monta sobre una placa de metacrilato. Por cierto que he visto que que la luz del led azul que se enciende al funcionar se transmite por el metacrilato, lo cual hace un efecto bastante feo. Tengo que ver cómo lo resuelvo.

Y cuando ya parece que está agotado el tema, el vídeo nos presenta una sorpresa: Conectamos, en el mismo sitio que cualquiera de los mandos anteriores una placa Velleman K8055 que los seguidores de este blog conocerán porque era parte fundamental del sistema de control por software de mi maqueta, Demasiado fundamental, diría yo, porque parte de los motivos que me llevaron a renunciar a ese sistema de control se derivan de haber dependido demasiado de las posibilidades de esta placa para crear las señales PWM que controlan los trenes. En el sistema que vemos ahora, la placa se limita a hacer de interfase con el ordenador que vemos conectar a la misma, y las señales PWM son generadas en el propio circuito PWM05.3G. Lo mismo puede hacerse con una variedad de sistemas que puedan realizar esta labor de interfase, por ejemplo un Arduino.

Lo interesante de esto es que la placa, se conecta directamente al circuito del PWM05.3G sin ninguna clase de "traductor" o "adaptador" y esto es porque el PWM05.3G entiende y responde a las señales producidas por este tipo de elementos electrónicos.

En el ordenador tenemos un sencillísimo programa en VisualBasic (no me llevó más de media hora el hacerlo) en el cual intencionadamente he creado una imagen que es muy aproximada a la del mando por teclado.

Como se ve en el vídeo, el programa funciona correctamente y produce exactamente el mismo funcionamiento que el visto anteriormente con los otros mandos.

Evidentemente, hacer un programa de ordenador para tener lo mismo que con un teclado, no tiene mucho sentido. Simplemente he querido demostrar que la conexión es inmediata y el sistema funciona. A partir de aquí podríamos construir un programa todo lo complicado que quisiéramos en el ordenador, incluyendo la lectura de sensores y todo lo demás que necesitemos para controlar totalmente los trenes.

Por cierto que como digo, a diferencia de mi anterior sistema de control por software, con este nuevo sistema la generación de la señal PWM que maneja los trenes es realizada por el controlador, que recibe las órdenes de Frena o Acelera, exactamente como desde un teclado. Esto da lugar a una cierta indefinición, porque realmente la velocidad que llega a alcanzar un tren depende del tiempo que está recibiendo la orden de aceleración o frenada, y del ajuste de los valores de inercia que siguen estando en el controlador. Sin embargo y para prevenir este tema, el circuito PWM05.3G tiene unas salidas de feedback que si se hacen llegar al programa de ordenador, permiten que éste sepa a qué velocidad se mueve el tren en cada momento, Con esto el control de las locomotoras desde el ordenador puede ser absoluto. Debo decir que todavía no lo he probado, pero ahí está,

Queda claro entonces que el controlador PWM05,3G constituye en si mismo una interfase sencilla y potente para realizar el control por software de trenes analógicos.

Cuando anuncié en este blog mi intención de desmontar el sistema de control por software ("Sublime decisión") surgió un diálogo con algunos lectores que no entendían muy bien mi decisión. En una de las respuestas a esos comentarios expliqué que el haber basado el sistema en la generación de señales PWM de las placas Velleman había sido un error, al tener éstas una frecuencia fija con un resultado bastante pobre para el control de los trenes. Parece que no me expliqué muy bien porque algunos lectores entendieron que no sabía como conseguir las frecuencias bajas de 40 Hz con control por software. De hecho, un amable lector me animaba con esta frase:

"En cuanto a las Velleman, yo creo que podría hacerse algo tanto con Arduino como con PIC y conseguir los 40Hz de su sistema.. Ahí lo dejo"

Yo ya tenía en mente que eso era fácil de conseguir, precisamente con este sistema de control, por lo que no no me preocupaba el tema. Ahora lo he hecho funcionar en poco más de media hora. En definitiva es un sistema mucho más potente y también mucho más simple que el anterior. De hecho como digo, el software que consigue esto es elemental. Realmente lo que ocurre es que he pasado la "inteligencia" del sistema desde el software y la placa Velleman al PWM05.3G, con lo cual el software queda super simple y la placa se limita a hacer de interfase, sin aportar nada.

¿Y eso es todo? Realmente no cabe duda de que es mucho, pero podría añadir alguna cosa que no se recoge en el video,

Por ejemplo el hecho de que el PWM05.3G tenga tres entradas, no se ha justificado. De hecho siempre se ve que se conecta un mando en el mismo sitio donde estaba el anterior, Sin embargo podría haber conectado un mando en cada una de las entradas de manera que tendría dos o tres mandos simultáneamente. El tener más de un mando manual no parece que tenga mucho sentido, pero si hemos hablado de tener un programa de ordenador conectado a una de las entradas, nada impide tener al mismo tiempo, conectado un mando manual, y el controlador obedecería a ambos sistemas. Naturalmente podrían darse órdenes contradictorias como Acelera y Frena al mismo tiempo, lo cual seguramente haría que se obedeciese ninguna de las dos. De hecho la orden de acelera y frena al mismo tiempo la podemos dar también con el teclado.

Sin embargo, la presencia de tres entradas de señal, no está orientada a tener más de un mando, sino a la posibilidad de manejar el PWM05.3G mediante sensores. Es una lástima que no se vea en el vídeo (prometo que se verá en uno futuro) pero cuando tenemos un mando conectado en una de las entradas, podemos utilizar las otras para automatizar movimientos de los trenes mediante sensores. Basta situar un sensor en la vía (un sensor Hall o Reed) conectado a una de las entradas, concretamente a la señal de Stop, para que cuando se active el sensor el tren se detenga inmediatamente. Otro sensor conectado a la señal Adelante, provocará al activarse la reanudación del movimiento. Nótese que esto es exactamente lo que se necesita para hacer un sistema de bloqueo automático, y para ello no hay que dejar tramos aislados en las vías ni utilizar relés biestables.

Quería haber hecho una demostración de ésto, pero requería organizar todo el tema de sensores que ya existe en el circuito pero está preparado para el sistema de relés. Lo dejo para cuando el sistema lo monte en mi maqueta,

También funcionaria si ponemos un sensor conectado a la señal de Parada. Cuando se active este sensor momentáneamente por el paso de un tren, el controlador ordena al tren al que está conectado una parada progresiva. Esto haría que ante un semáforo se detuviera el tren con parada progresiva, lo cual es un efecto muy deseado y muy difícil de conseguir en analógico. Sin embargo no hay la función contraria, que sería una arrancada progresiva, y esto por la razón de que el PWM05.3G no guarda memoria de cuál era la velocidad a la que marchaba la locomotora cuando empezó a detenerse. Evidentemente si estamos utilizando un ordenador, o un Arduino o algo asi, el sistema de feedback que antes mencioné puede utilizarse para que el software guarde la velocidad y la utilice para la arrancada, pero el PWM05.3G no hace ésto por su cuenta. Se me ocurre que quizá pudiera hacerse un módulo auxiliar que conectado al PWM05.3G a los sensores y al feedback consiga una parada y arrancada progresivas solo por hardware. Lo tengo que probar.

Y como final, no quería dejar de mencionar a la pequeña protagonista de este vídeo. Mi locomotora BR 85 (Märklin 88887) que aparece siempre en el vídeo en segundo plano, arrastrando nueve vagones de dos ejes, y que ha estado durante muchas horas rodando, respondiendo fielmente a la señal PWM y sin producir ni el más mínimo incidente en los dos días de prueba, Lo digo también por si a alguien le queda alguna reticencia acerca de los controladores PWM.

Recuerdo a los lectores interesados que estoy preparando la comercialización de éste y otros dispositivos diseñados por mi. Pronto habrá noticias al respecto en este blog


No hay comentarios:

Publicar un comentario en la entrada

Gracias por expresar tus opiniones.

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