viernes, 8 de junio de 2012

Un brindis


Hoy es uno de esos días en los que hay que brindar con los amigos, y yo lo hago también con los muchos amigos que siguen este blog. Así que.. ¡servíos una cervecita y brindemos por otro hito cumplido en el proyecto de mi maqueta!.

Como saben los seguidores de este blog, recientemente he puesto en funcionamiento el sistema de detección de trenes, y he quedado muy satisfecho del resultado obtenido, en particular del buen funcionamiento de los sensores de efecto Hall, sin embargo, al ir colocando los sensores en la vía he tropezado con una dificultad: En muchos casos el paso de un tren sobre un sensor, implica que el tren debe detenerse, por ejemplo cuando delante del sensor hay una señal en rojo o cuando el sensor está en la vía de una estación visible u oculta, y se desea que el tren se detenga en la estación. En el caso de señales o estaciones visibles, he colocado un sensor previo que inicia una parada progresiva del tren. Ya veré cómo consigo ajustar la curva de frenado para que los trenes se detengan con precisión en el lugar oportuno.

Pero en otros casos, por ejemplo en las estaciones ocultas o en cambios de cantón que no están a la vista he decidido poner un solo sensor, que ordene la parada inmediata del tren. La idea es que la parada sea rápida y precisa para aprovechar al máximo la vía de estacionamiento, y de paso simplificar el software y no poner tantos sensores. Pero claro, ¿qué es una parada inmediata? En las maquetas analógicas dejábamos un tramo sin alimentación y aún así la locomotora penetra unos cuantos centímetros en el tramo aislado debido la inercia. En mi caso, mientras no tenga resuelto el tema del control de tracción, la única manera de parar un tren es que al pasar sobre la baliza, actúe sobre el relé que alimenta el tramo desconectándolo. Eso es lo que he estado haciendo y desde luego funciona, pero he notado que las locomotoras se paran bastantes centímetros después de las balizas Lo inmediato es pensar que tengo que poner antes los sensores, para que la locomotora se pare donde debe.

Pero claro, si hago esto, tengo un peligro: Cuando funcione el sistema electrónico de tracción los trenes no se van a parar por este mecanismo, es decir, porque se queden en un sector sin alimentación, sino porque el control de tracción ordenará una parada inmediata o en su caso diferida. Esto es un mecanismo totalmente distinto, por lo que me puede ocurrir que ahora deje cuidadosamente situados los sensores contando con la parada por apertura de relé, y luego cuando la parada sea por bajar la velocidad a cero, las distancias de parada sean muy distintas.

Puede parecer que la parada por corte de alimentación con un relé sea la más rápida de todas, pero no es exactamente así. A lo mejor algún lector recuerda que hace tiempo expliqué (Véase: ¡Qué complicado!) que para proteger los relés del peligro que podía suponer para ellos la chispa que introducen los limpiavías Gaugemaster, cuando detectan una interrupción en el circuito, tenía un sistema que obligaba a que antes de cortar la alimentación de la tracción se cortaba la alimentación de los limpiavías Gaugemaster. Así que esta operación tiene un cierto retaso derivado de esta acción previa de desconectar los limpiavías. Esto no es necesario cuando el regulador lleva la velocidad a cero, porque en realidad no hay ningún corte en el circuito. Al final, la forma correcta de actuar será que el tren se pare por el control de tracción, ya sea de forma inmediata o progresiva, y si luego el sector donde está el tren debe quedar sin corriente para dejar el tren estacionado, se abrirá el relé, pero ya con el tren parado.

La consecuencia de todo este preámbulo es que no puedo situar correctamente los sensores para las estaciones ocultas mientras no tenga el sistema  de tracción manejado por ordenador.

A lo largo del tiempo que llevo ya con este blog, he hecho muchas alusiones al sistema de control de tracción, y de hecho el año pasado avancé mucho por ese camino, llegando incluso a diseñar y construir una etapa de potencia que sería la encargada de alimentar con corriente de tracción los ocho cantones, pero había un problema previo sin resolver, y que era la forma en que el sistema de control debía ocuparse de asignar a cada cantón el controlador oportuno. Me refiero a la misteriosa caja denominada Conmutador en este esquema, que pertenece al artículo La etapa de potencia

Quizá cuando hice ese dibujo no tenía todavía muy claras la ideas sobre cómo debería funcionar ese dispositivo, pero mis ideas quedaron completamente nítidas cuando descubrí que lo que realmente estaba queriendo hacer era lo que los americanos habían hecho toda la vida con sus maquetas analógicas mediante el sistema denominado Cab Control. En el artículo que se llamó precisamente Cab Control (y que por cierto, ha sido de los más leídos de este blog) estaba la siguiente imagen donde ya se dibuja un esquema para conectar varios controladores a varios cantones, sin que la asociación de cada control a cada cantón sea rígida, sino de forma que se permita que un único controlador acompañe al tren según va cambiando de cantón.
La clave de todo, son esos conmutadores que se ven en el dibujo, que permiten que cada cantón se conecte a cualquiera de los controladores existentes. Claro que lo habitual era que esos conmutadores fuesen manuales, lo cual introduce una complicación importante en el manejo de la maqueta, y en la práctica exige que haya una persona controlando cada tren. Como se decía en ese artículo, eso casa muy bien con el estilo americano de entender el manejo de una maqueta de trenes, pero no se ajusta demasiado a los deseos de los aficionados europeos.

Desde luego, en mi caso esos conmutadores no pueden manejarse de forma manual, sino que debe ser el programa de control el que se encargue de esta labor. La idea, como ya he explicado muchas veces, es que el usuario debe tener la impresión de que está manejando un tren con cada controlador, y manejará siempre el mismo tren, esté donde esté el tren dentro del trazado, (es decir lo mismo que con un sistema digital) así que el sistema debe ir conmutando cantones y controladores de forma automática y transparente para el usuario (que es una frase muy informática). Desde luego esto requiere un sistema de sensores por toda la maqueta que detecte el paso de los trenes y sea capaz de saber donde está cada tren en cada momento. Como ya se ha visto, en algún vídeo (Pionero) esto está ya prácticamente conseguido.

Así que esos conmutadores no pueden ser manuales. Por lo que yo sé, los que han hecho antes que yo sistemas de CabControl automátizados han empleado circuitos lógicos que acaban manejando relés. Los relés parecen imprescindibles en este caso puesto que la corriente de tracción de los trenes es de una intensidad relativamente alta, y además los motores producen muchos parásitos que se llevan mal con la electrónica. Además, para cambiar el sentido de movimiento del tren hay que invertir la polaridad de la tensión de la salida, otra cosa complicada de hacer con la electrónica, y no digamos ya si como es mi caso, la corriente de tracción lleva superpuesta la tensión alta y de alta frecuencia de los limpiavías de Gaugemaster. Todas estas consideraciones son justamente las que me han llevado a utilizar relés en la alimentación de los sectores aislados

Sólo había un inconveniente: para manejar seis controladores y ocho cantones necesitaría como mínimo 48 relés. No es que me asuste, porque mi maqueta tiene ya más de cuarenta relés biestables que manejan los sectores aislados, pero, dejando la solución de los relés en la reserva me`pregunté si no habría una solución mas elegante. (y todo hay que decirlo: más barata).

Y si; existe una solución:  Se llama Multiplexor Analógico. Bueno exactamente: " 8-chanel analog multiplexer / demultiplexer"  74HC4051  . ¿Su precio?: ¡  32 centimos !, Pues este chip tiene internamente un conmutador de ocho posiciones, es decir uno de sus pines puede quedar conectado a uno cualquiera de otros ocho pines, como si fuera un conmutador rotatorio de ocho posiciones. Dicho de otro modo sustituye a ocho relés

La forma de decirle qué posición debe adoptar el conmutador es una entrada digital de tres dígitos, que por lo tanto puede recibir un dato binario entre 0 y 7 que ordena la posición que adopta el conmutador en cada momento. Naturalmente lo de posición es una forma de hablar. Se trata de un dispositivo de "estado sólido" en el cual no se mueve nada. La expresión análogico de su nombre hace referencia a que la señal que atraviesa el conmutador puede ser positiva o negativa, fija o variable, y circular del polo único a uno de los ocho o en sentido contrario. Hago la salvedad de que para manejar señales con parte positiva y negativa como puede ser una señal de audio, hay que alimentarlo de una forma especial. Se utilizan precisamente en mesas de mezcla de audio y video para manejar señales analógicas.

Naturalmente, con todo lo que antes comentaba, no se puede soñar con emplear directamente este conmutador con la corriente de tracción. La conmutación tiene que hacerse antes de la etapa de potencia y antes del dispositivo de inversión. Por eso todos estos elementos quedan asociados al cantón, y por lo tato hay ocho de cada, tantos como cantones. Justamente ese era el diseño previsto para la etapa de potencia que construí el año pasado.

Pero surge un problema adicional. He dicho que el multiplexor debe recibir en tres entradas digitales un código binario que indica la puerta que está conectada en cada momento. Pero eso significa que esta señal digital debe mantenerse en la entrada durante todo el tiempo que deseemos que la puerta indicada esté conectada, es decir durante un tiempo indefinido. Este tema introduce una diferencia fundamental con todos los elementos digitales que he diseñado y construido hasta ahora. Todo lo anterior se basa en "impulsos", es decir en la salida de los dispositivos aparece una determinada señal en función de lo que en ese momento envía el ordenador, y dura solo el tiempo que lo mantiene el ordenador. Este es el caso de los desvíos, semáforos, etc. Cuando este impulso debía dejar una situación permanente (hasta nueva orden) se utilizada en todos los casos un relé biestable, que con un impulso pasaba a una posición y con otro impulso pasaba a la situación contraria.

No se puede pensar que el ordenador "reserve" tres salidas para mantener indefinidamente los datos para cada multiplexor. Como voy a tener ocho multiplexores, mecesitaría 24 bits de salida permanentemente condenados para esta función. (o sea tres placas Velleman sólo para ésto). Ya me enfrenté con este problema cuando probé la placa de la etapa de potencia. Utilizaba las ocho salidas de una placa sólo para controlar los relés de inversión de sentido de marcha.

La solución, claro, pasa por los circuitos llamados enclavamientos o latch Un circuito latch recibe un dato durante un tiempo mínimo (un impulso) y lo mantiene en sus pins de salida indefinidamente hasta tanto no reciba la orden de olvidarlo En realidad son la forma más simple de un circuito de memoria. Hablé hace poco de los latch (ver Software de detección) como una posible forma de mantener la dirección de un sensor hasta que el programa la leyera, pero parece que la solución que adopté ha resultado satisfactoria. Ahora sin embargo no había otra alternativa así que he tenido que chaparme el tema de los latches. Necesito un latch de tres vías para cada multiplexor, de forma que el latch reciba el dato como un impulso, y lo mantenga indefinidamente. Por cierto: ya que tengo un latch y que los que se fabrican son de cuatro o de ocho vías, puedo utilizar la vía sobrante de uno de cuatro, para manejar el relé para inversión de sentido.

El problema de todo esto es que todo ello está asociado al multiplexor, de modo que necesito un latch por cada multiplexor y por cada relé de inversión, Al final no queda nada que no se repita ocho veces, salvo la alimentación y la generación de los impulsos PWM. Pero estos impulsos los generan las placas Velleman, y respecto de la alimentación, se me ha ocurrido que no sería ninguna mala idea poner un circuito de estabilización por cantón, para garantizar que el consumo de los trenes en un cantón no influya sobre los trenes que circulan por otro cantón.

La conclusión de todo esto es que no fue una buena idea hacer la etapa de potencia octal que construí el año pasado, por dos razones: Por un lado faltan elementos que deberían ir incorporados en ella porque también son octales como los multiplexores o los latches. Por otro lado hacer placas para ocho cantones precisamente, es un caso muy particular para mi maqueta actual. Es mucho mejor hacer una placa para cada cantón con todo lo necesario para el control del mismo. Así habrá tantas placas como se necesiten y serán cada una de ellas más simple. De esta forma el diseño es mucho más flexible y puede servir en el futuro para otras maquetas.

¿Y todo esto nos lleva a algo? Pues efectivamente: Nos lleva a esto:


Ya se que no es precisamente una belleza, pero lo asombroso de todo este asunto, es que ese monstruo de cables, chips y leds, adosado a la placa Velleman hace exactamente lo que se pretende: Permite conmutar entre seis entradas PWM generadas por las placas Velleman (cada placa tiene dos salidas PWM, así que finalmente voy a usar tres placas Velleman) y ocho salidas para ocho cantones generando para cantón una onda pulsada de 9 V de tensión de pico y ancho variable entre 0 y 100% con una salida admisible de 500 mA por canal, y conmutación entre las señales PWM y las de salida y con inversión de polaridad en las salidas. Todo ello comandado digitalmente desde el programa de control.

Naturalmente he estado dos o tres días montando todo ese circuito paso a paso con gran cuidado, estudiando las hojas de datos de los componentes, y controlando el funcionamiento con el programa, hasta que finalmente he llegado a verlo funcionar satisfactoriamente.

Por eso, cuando lo he conseguido, me he servido esa cerveza que aparece en la foto de portada, ¡Creo que me la he ganado!

En próximos artículos concretaré más el diseño y funcionamiento de este sistema.

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