domingo, 31 de octubre de 2010

Sigo sin tener arreglo!


Ayer tuvo lugar, por fin, una comida organizada por el grupo LCTM, en sustitución de la cena que no se pudo celebrar en la reunión de Alicante, a causa de la tremenda tormenta que nos cayó encima justo en el momento que nos dirigíamos al restaurante. Al final, nos reunimos en un restaurante de Madrid, con tarta y velitas incluidas para celebrar el décimo aniversario del grupo.

Sin embargo yo estuve un poco distraído en esta comida, porque me bullían en la cabeza una serie de ideas que me había sugerido la lectura de los manuales de la placa K8055 de Welleman. Así que en cuanto llegué a casa, me puse a hacer pruebas. (Aunque ya la había montado,todavía no sabía siquiera si funcionaba)

Bueno, en la imagen de la cabecera podemos ver esta placa, ya montada y conectada al ordenador. Detrás se ve el programa de prueba que proporciona Welleman en Visual Basic, donde por cierto se ve la pantallita de control que han reproducido en la carátula de la caja de kit.

En la foto ya se ve que los leds están encendidos, lo cual indica que está funcionando.

Este "está funcionando" implica muchas más cosas de las que puede parecer: En primer lugar indica que la placa en si, está bien montada, lo cual es importante porque se trata de un kit y siempre se puede cometer algún error de montaje o soldadura. En segundo lugar indica que la placa funciona, lo cual en este caso es también importante porque lleva un microcontrolador que se supone que tiene que venir programado. En efecto, debe estar bien el programa, porque todo responde como debiera.

Luego está la unión de la placa con el ordenador, mediante el puerto USB. También funciona, y esto es asimismo importante porque recuerdo que cuando probé la placa de Micropik tuve que instalar un driver, y al instalarlo, daba una serie de mensajes poco tranquilizadores (véase ¡¡AHJJJ qué fallo!!). Aquí no ha habido que cargar ningún driver, lo cual, es sin duda una ventaja. Para ser justos hay que decir que en este caso hay que copiar una DLL al directorio System del ordenador, pero eso, no da ningún problema, y por lo menos para mi, no me supone ni mucho menos tanto trauma como instalar un driver de USB, sobre todo cuando el sistema operativo se queja de su procedencia desconocida.

Y aunque parezca poco transcendente, lo más importante que se comprueba, es que el programa en fuente de VisualBasic que se suministra con el kit, lo he podido cargar sin ningún problema en mi entorno de programación de Visual Basic, y hacerlo funcionar a la primera. Contrasta esto con todos los problemas que tuve con Micropik. lo que dio lugar a un agrio intercambio de correos electrónicos y que acabó sin que contestasen al último de ellos. Afortunadamente pude apañarme y resolver el problema, pero no precisamente gracias a un buen servicio de asistencia de Micropik.

Así que en este momento, no tengo ninguna duda de que cuando quiera, puedo sustituir la placa de Micropick por la de Welleman. Tengo que hacer unos cambios en el programa, porque esta placa se maneja de forma distinta, y quizá alguna adaptación en el circuito DEMU01 pero son cosas mínimas.



Sin embargo lo que me ha dejado fascinado, son las dos salidas PWM que trae esta placa. Actuando sobre los controles de la ventana del programa, los dos LEDS que sirven para monitorizar estas salidas suben y bajan suavemente de intensidad luminosa, (¡en 256 pasos!). Desafortunadamente no tengo un osciloscopio para ver la forma de onda, pero no dudo que basta llevar esta señal a la base de un transistor Darlington alimentado con 9 V para tener un regulador de corriente de tracción por PWM perfecto.

El problema es que solo hay dos salidas, PWM en la placa. Sin embargo cada placa trae unos jumper para asignarle una dirección de 0 a 3, de modo que puedo llegara a tener hasta cuatro placas y conseguir así los ocho reguladores que necesito. (Tengo que comprobar si el mismo programa puede actuar en paralelo con las cuatro placas o solo puede actuar con una, e ir cambiando de una a otra). Parece un poco exagerado poner cuatro placas de éstas, pero cada una me da dos salidas y valen a 35 € mientras que un regulador System Jeorger vale 39 € y sólo es para un circuito. Además si pongo cuatro placas tendré una enorme cantidad de entradas y salidas digitales adicionales.

Y... (ahora viene la justificación del título: sigo sin tener arreglo!).. ¿porqué tengo que tener justamente ocho reguladores PWM?

Desde el principio, he tenido en mente, que si tenía en mi maqueta ocho cantones, tendría ocho reguladores, alimentando uno a cada cantón. Hace apenas unos días, terminaba el artículo Qué complicado! diciendo que iba a construir ocho reguladores COLA, aunque de momento iba a conectar un solo Joerger para poder hacer circular los trenes.

Efectivamente con un solo regulador puedo alimentar los ocho cantones, y un único tren puede circular por todos ellos, porque mando la corriente de ese regulador a los ocho cantones. Sin embargo si tengo ocho reguladores, el tren va pasando de un cantón a otro, y por tanto de un regulador a otro. Manejar esto así, es imposible, porque nunca sabes qué mando le toca a cada tren, así que de ahí la necesidad de que el mando sea electrónico. Si el programa sabe en que cantón esta cada tren, puede ir cambiando el regulador asignado a cada locomotora, según esta pasa de un cantón a otro, de manera que el el usuario, con un único mando maneja siempre la misma locomotora esté el cantón que esté. Dicho así, y ese era mi razonamiento hasta hoy, es evidente que necesito ocho reguladores, uno por cantón.

Pero esta mañana me he dado cuenta de que ese sistema es mejorable: Es mucho mejor que cada regulador sea asignado a una locomotora, y el sistema le haga actuar precisamente sobre el cantón en el que está esa locomotora. Cuando una locomotora pasa de un cantón a otro, el regulador asignado a esa locomotora pasa a alimentar el nuevo cantón, y deja de alimentar el anterior que queda libre para otra locomotora que venga detrás. Incluso cuando una locomotora va a pasar de un cantón a otro, su regulador alimentará tanto al cantón entrante como al saliente, de modo que la locomotora nunca está sin alimentación y siempre es alimentada por el mismo regulador. La dificultad de saber cuando una locomotora pasa de un cantón a otro también existía en el caso anterior y desde luego siempre he pensado basarme en detectores reed. Me parece un sistema mucho más claro y mucho más perfecto. y evita de raíz los problemas de las locomotoras cuando pasan de un control por PWM a otro, que mi amigo Angel ya hizo notar en su blog ( Transiciones )

Y desde luego contesta la pregunta: ¿porqué ocho reguladores?. En realidad el número de reguladores lo que implica es el número de trenes que pueden circular simultáneamente. Con un regulador (situación actual) funciona un sólo tren, pero con cuatro, por ejemplo pueden circular cuatro trenes y en un momento dado, habrá cuatro cantones cada uno alimentado por uno de los reguladores, sobre los que circula un tren por cada uno, y otros cuatro que están vacíos y que además ¡no tienen alimentación!

Así que no necesito ocho reguladores, y por tanto tampoco necesito cuatro placas K8055. De hecho con los ocho cantones de la maqueta sólo pueden llegar a circular simultáneamente siete trenes, así que el octavo regulador siempre sobra. Es más creo que con seis es más que suficiente, y hasta con cuatro, estaría ya muy bien. Lo bueno es que puedo hacer un sistema para cuatro trenes con sólo dos placas, y si en el futuro veo la conveniencia de pasar a seis, compro una tercera placa y paso a un sistema de seis trenes.

Pero ¡un momento! Con este sistema cada regulador debe poder ser dirigido a ocho posibles cantones con un sistema manejado digitalmente. Habría que poner ocho relés en la salida de cada regulador para que se pudieran conectar al cantón correspondiente en cada momento. Sólo para cuatro reguladores eso son ya 32 relés. Bueno, no es para asustarse demasiado, pero además es que posiblemente no sea necesario llegar a esa solución.

Hay un tipo de circuito integrado, llamado multiplexor, y que curiosamente no es exactamente lo contrario que un demultiplexor como los que ya he usado, y que tiene esa función. De hecho, lo que hace es exactamente es dirigir una "señal" a una de varias salidas en función de un dato que le llega en forma digital. Lo bueno es que esa señal puede ser analógica, de modo que vale perfectamente para distribuir la señal procedente del PWM (antes de ser amplificada a 9 voltios) hacia las salidas que necesitemos. Por ejemplo este circuito: 74HC4052 hace exactamente eso.

Naturalmente hay que organizar todo el sistema de control de los multiplexores que necesite, pero como voy a tener al menos dos placas de comunicaciones, no tengo peligro de que se me acaben las direcciones libres.

Bueno, ya tengo para entreterme unos cuantos meses!!

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