miércoles, 22 de diciembre de 2010

Open-source hardware



El hardware libre o hardware abierto (OSHW)  es una forma de poner a disposición pública los diseños de hardware realizados por una persona u organización, de forma que no se impide que sean reproducidos por otras personas, aunque se mantiene la propiedad intelectual en posesión del autor, que puede restringir determinados usos de sus diseños. En general, se trata de desarrollos no comerciales sino debidos a investigaciones académicas o relacionadas con hobbys, aficiones o experimentos sin ánimo de lucro.

Como ya comenté en mi anterior artículo, ha sido siempre mi intención, publicar los diseños de los sistemas electrónicos que voy diseñando, pero sólo cuando estos están ya probados y funcionando. Por este motivo no lo he hecho hasta ahora, porque realmente hasta hace muy pocos días, mi sistema de control de aparatos de vía por ordenador, no había demostrado su funcionamiento correcto en una prueba real. Como esto ya es así, (tengo la intención de publicar pronto un vídeo demostrativo) he decidido "liberar" bajo la forma de Hardware libre, lo que sería la primera entrega de mi sistema, con la cual se puede ya controlar todos los aparatos de vía (Desvíos, desenganchadores, señales luminosas y mecánicas y puente giratorio y los sectores aislados de vía) Así que a partir de hoy, en mi página Web se pueden descargar todos los elementos necesarios para reproducir los elementos de control que he desarrollado.

Como se habrá podido ver a lo largo de los meses en que lo he estado describiendo, el diseño es modular, de modo que puede construirse del tamaño necesario. Cada placa Velleman puede manejar 256 direcciones.

Cada placa Welleman se conecta a un conjunto formado por una placa DEMU01, una o más DEMU02 y una DEMU03. La conexión se realiza con una placa base que es simplemente una placa perforada de tiras de cobre, con conectores de pines soldados (véanse fotografías en la página Web)

Para cada elemento a controlar se necesitan dos direcciones de manera que se pueden manejar hasta 128 elementos. Para cada 8 elementos se necesita una placa del tipo DEMU02 de manera que puede haber tantas como sean necesarias hasta un total de 16.

Si los elementos a manejar funcionan por impulsos, como es el caso de los desvíos de Märklin, o las señales mecánicas, no hace falta nada más, ya que se conectan directamente a las placas DEMU02. Para aquellos elementos que necesitan un interruptor o conmutador, como es el caso de los sectores aislados de vía, las señales luminosas, y los desenganchadores, se necesitan relés biestables que mantengan la posición indefinidamente. En ese caso hay que utilizar adicionalmente placas de tipo DEMU4, las cuales llevan, cada una, cuatro de estos relés, de modo que pueden manejar cuatro de estos elementos.

El hecho de no considerar a los desenganchadores como elementos movidos por impulsos, se debe a que en este sistema, los impulsos son siempre de una duración muy corta (típicamente 200 milisegundos) de modo que no son válidos para mantener el desenganchador activado durante el tiempo necesario, que puede ser de unos cuantos segundos. Por este motivo los desenganchadores funcionan activados por uno de los relés biestables, que se activan con un impulso y se desactivan por un segundo impulso una vez transcurrido el tiempo necesario para el desenganche.

El sistema necesita dos fuentes de alimentación de corriente continua, una de 5V y otra de de la tensión que haga funcionar los aparatos de vía movidos por impulsos (12, 14 o 16 V) Pueden ser sencillos transformadores enchufables ya que el consumo es mínimo.

Naturalmente, para que esto funcione se necesita además al menos una placa K8055 de Velleman, que el usuario deberá adquirir por su cuenta (En la "Lista de Material" se podrán ver referencias al fabricante y al distribuidor)

Esta placa viene acompañada de un CD con dos importantes elementos de software: Por un lado una librería de rutinas y por otro lado un programa en fuente de Visual Basic que permite manejar la placa. Naturalmente ambas cosas yo no las puedo distribuir desde mi página, porque están sujetas al Copyright de Velleman.

Estos dos elementos de software permiten un manejo sencillo del sistema, por lo que puede utilizarse para hacer pruebas o como base para un desarrollo propio de un programa de control.

Respecto de mi propio programa de control, también tengo la intención de publicarlo cuando esté terminado, y dejarlo en forma libre al menos en una versión "lite". Sin embargo, todavía falta bastante para que pueda llegar ese momento.

Adviértase que esta primera entrega, permite realizar un sistema de control, que permite manejar desde un programa de ordenador todos los elementos de la maqueta, excepto el control de los trenes.

Por lo tanto es completamente compatible con cualquier sistema de control de los trenes ya sea analógico o digital. En realidad esta primera fase del sistema sustituye con el ordenador a los clásicos paneles de control utilizados en las maquetas para el control de los aparatos de vía.

También es compatible con cualquier escala, sin más que utilizar un transformador de alimentación de la tensión adecuada a los aparatos de vía.

domingo, 19 de diciembre de 2010

La etapa de potencia II


Decían de Lope de Vega, que era tan rápido escribiendo obras de teatro que, "En horas veinticuatro, pasaba de las musas al teatro". Bueno, sin querer compararme con Lope, yo he pasado en cuatro o cinco días, de escribir acerca de la necesidad de hacer una etapa de potencia "octal" incluyendo los relés de conmutación para la inversión del sentido de la marcha, a poder encabezar este artículo con la fotografía de esta etapa de potencia terminada.

Tal como se describía en el anterior artículo, este circuito recibe por un lado las posibles 8 señales PWM provenientes del "conmutador" (habrá que buscarle un nombre: Se admiten sugerencias) y que en la imagen corresponden al conector situado en la parte inferior, y produce la corriente de tracción para cada uno de los ocho cantones. Las salidas hacia los cantones están en el conector de la parte superior, y como vemos hay ocho parejas de cables, que van respectivamente al carril derecho y al carril izquierdo de cada cantón.

El esquema eléctrico de este circuito lo tenemos en esta imagen:


Como podemos ver, se trata de ocho repeticiones de un mismo esquema, que incluye el amplificador de señal, propiamente dicho, constituido por el transistor TIP110, un circuito de protección contra sobrecargas, basado en un fusible térmico RKEF050, y el relé para inversión de marcha que es el V23079 A 1003B301

Para activar los relés, lleva la ya habitual matriz de transistores darlington ULN2803A que alimenta con corriente de 12 voltios las bobinas de los relés.

Por la derecha llegan los cables de alimentación de 9 y 12 voltios, y las ocho señales digitales que manejan la activación de los relés inversores.

Al final, como se puede ver, he montado los transistores sin refrigeradores, simplemente por falta de espacio, ya que quería hacer los ocho módulos en una sola placa, y sin pasarme de la medida estándar de placas que siempre utilizo (100 x 160 mm). Por cierto que la placa mantiene la longitud de 160 mm pero está recortada en anchura para que tenga exactamente el mismo ancho que las placas de Velleman. Además he puesto los taladros para los tornillos de montaje coincidentes con los de esas placas, con lo cual esta placa puede apilarse encima de las de Velleman.

El esquema eléctrico es como se ve bastante simple porque es muy repetitivo, pero el diseño de la placa es algo más complicado, porque aún cuando hay una parte que se repite igual a si misma ocho veces, a cada una de esas ocho zonas hay que llevar por un lado la señal PWM, por otro la señal de activación del relé, por otro la alimentación de 9 y de 12 voltios, y luego extraer una doble salida con la corriente de tracción, y todo esto debe ir a los correspondientes conectores.

Bueno, el resultado final, es el que se puede ver en la imagen siguiente:


Es una lástima no tener un sistema para transferir este diseño a la cara superior de la placa de circuito impreso, porque ésto les daría un aspecto muy profesional, y la mayoría del trabajo está hecho, ya que es necesario este diseño de componentes para ver la posición de éstos en la placa final y las interferencias que podrían darse

Al final como siempre, obtuve el fotolito, para hacer la exposición de la placa en la insoladora:


Aunque si se pulsa en estas imágenes, aparecen en su tamaño original, no se si el resultado es válido para imprimirlas y tener las plantillas para reproducirlas. En todo caso, tal como me comprometi, voy a ir subiendo a mi Web todos estos diseños en un formato que se pueda descargar y obtener una impresión exacta para todo aquél que quiera reproducir estos circuitos. De momento, si alguien está interesado en esto, le pido un poco de paciencia, porque no voy a subir ningún esquema que no esté perfectamente comprobado en su correcto funcionamiento.

A lo mejor algún lector se ha percatado de una cosa: En todos los casos anteriores, los relés que venía utilizando eran relés biestables, y así son todos los de las placas DEMU04. Sin embargo el relé que he usado aquí es un relé monoestable, de modo que en posición de reposo el tren marcha hacia delante y si el relé se activa, cambia a marcha atrás. O sea que mientras que queramos que el tren vaya en sentido contrario al del cantón, hay que mantener el relé activado y por lo tanto la señal que lo activa en "Hight". Todo esto viene a cuento de que esta segunda parte del sistema de control, ya no funciona por impulsos, como la parte ya hecha, sino que debe funcionar por "situaciones" es decir, la velocidad de movimiento de un tren o el sentido de su desplazamiento se deben mantener hasta tanto no haya ninguna variación, así que tengo que aplicar una filosofía distinta.

Como primera prueba, puedo conectar las ocho señales digitales de entrada a esta placa a las ocho salidas digitales de la segunda placa Velleman, de manera que cada bit de la señal, se activará o desactivará independientemente, y activará y desactivará en consecuencia el relé de inversión. De hecho estas placas están pensadas para funcionar así. Pero claro, funcionando así, me he "comido" las ocho salidas sólo para manejar los ocho relés inversores. El próximo paso irá por el camino de solucionar esto.



martes, 14 de diciembre de 2010

La etapa de potencia


Hace unas semanas, en el artículo "Acantonamiento electrónico" puse unos esquemas describiendo la forma en que quería organizar la alimentación de tracción de mi maqueta, implantando un sistema
de acantonamiento manejado por el programa de ordenador y controlando la tracción de los trenes mediante las señales PWM producidas por dos o más placas Velleman K8055.

Posteriormente en el artículo "COLA.02" daba cuenta del experimento realizado con varias locomotoras alimentadas por un prototipo del sistema, que resultó muy satisfactorio. Falta ahora juntar ambas ideas y diseñar la forma práctica de llevarlo a la práctica.

La idea expuesta en el primero de los artículos, es que cada unidad de control "persiga" a una determinada locomotora, y vaya cambiando de un cantón a otro según la locomotora cambia de cantón, todo ello naturalmente en base a los detectores situados en la vía, y bajo el control del programa de ordenador. Este sistema tiene la ventaja de que aunque hay ocho cantones en la maqueta, las unidades de control pueden ser menos, de manera que es válido utilizar sólo dos placas K8055, lo daría un total de cuatro señales de control

Sin embargo hay una cuestión a dilucidar: ¿donde está la divisoria entre lo que es unidad de control y lo que es cantón? El último esquema del primer artículo parecía ir en la dirección de que de cada unidad de control, llamadas "A" y "B" en aquél esquema, salía ya una corriente de tracción que mediante un hipotético conmutador se distribuía a las vías del cantón que debía recibir esa corriente en cada momento. Sin embargo ya en el texto hacía la consideración de que si este conmutador era electrónico, no podría manejar directamente la corriente de tracción, por los problemas de polaridad, intensidad, y desde luego sin llegar a pensar en la "aportación" de los dispositivos Gaugemaster

Así que hay elementos que hay que poner "aguas abajo" del Conmutador, y por lo tanto no asociados a la unidad de control, sino al cantón.

En primer lugar, desde luego, por su peligrosa actuación, los Gaugemaster deben ser el último elemento de la cadena.

Para mantener la polaridad constante en todos los circuitos electrónicos, el inversor de polaridad, debería ser también asociado al cantón, y situarse en penúltimo lugar. También podría situarse tras el Gaugemaster, pero esto haría que tuviera que conmutar la corriente ya con la frecuencia de limpieza incorporada. Ya he comentado que esto seguramente es un peligro para el relé del inversor, así que la solución de ponerlo antes evita en este caso toda complicación.

Y el tercer, peligro, o sea la intensidad relativamente importante junto con la tensión de 9V también aconsejan que que la conversión de los impulsos de PWM en corriente pulsada de tracción se haga también del lado del cantón. Yo he llamado a este último elemento "etapa de potencia" ya que en realidad es lo hace. Es un elemento que produce la corriente que alimenta los motores a partir de una corriente de 9V con un "perfil" definido por la señal PWM que recibe de la placa Velleman.

En resumidas cuentas que tiene que haber ocho etapas de potencia, más ocho inversores más ocho limpiavias asociados de manera unívoca uno a cada cantón.

Y ahora seguramente se preguntará el lector: ¿pero no habíamos quedado que las unidades de control "persiguen" a las locomotoras de cantón a cantón? ¿cómo resulta ahora que prácticamente todos los elementos que generan la corriente de tracción están asociados de manera fija uno a cada cantón?

La clave está es que ese elemento llamado "Conmutador" en el esquema (he estado tentado de llamarlo "Router") es el que envía la señal de PWM a la etapa de potencia correspondiente de manera que cuando la locomotora pasa del cantón 1 al cantón 2, si esta locomotora estaba pilotada por la señal PWM1, esta señal pasa de enviarse a la unidad de potencia del cantón 1 a enviarse a la unidad de potencia del cantón 2. Obsérvese que las señales PWM1 PWM2... en realidad actúan "pilotando" ("modulando" sería el término exacto) la unidad de potencia, de manera que la corriente de tracción tome la forma de la señal que le llega en cada momento. Hay que contemplar las salidas PWM de las placas Welleman como puramente una señal de control.

Así que como ya dije en "Acantonamiento electrónico" cuando la locomotora que venía por el cantón 1 pilotada por ejemplo por la señal PWM3, y por lo tanto estando el conmutador enviando la señal PWM3 al la etapa de potencia del cantón 1, al llegar al contacto 1, y estando libre el cantón 2, lo que ocurre es que la misma PWM3 empieza a enviarse la etapa de potencia del cantón 2. Por lo tanto aunque vengan de etapas de potencia distintas, las dos corrientes de alimentación, tanto del cantón 1 como del cantón 2 serán idénticas, incluso en fase, porque responden a la misma señal moduladora PWM3

Cuando la locomotora pasa por el  contacto2, la señal PWM3 deja de enviarse al cantón 1 y continúa enviándose al cantón 2, de modo que en efecto el la "señal" PWM3 es la que en realidad persigue a la locomotora.

En realidad lo que probé en "COLA.02" era una etapa de potencia (mejor dicho dos) y si nos fijamos la etapa de potencia es un elemento "tonto" ya que no recibe directamente control por parte del ordenador. De hecho toda esta parte asociada a los cantones solo recibe órdenes del programa de ordenador para cambiar la posición de los relés inversores de polaridad.

Bueno, en vista de esto, el paso siguiente va a ser construir la etapa de potencia "octal" con sus inversores asociados. Si construyo eso ya puedo manejar mis trenes con este sistema aunque el famoso conmutador no exista, simplemente conectando de forma fija las entradas de la etapa de potencia a señales PWM de las placas. Claro que no tendré mas que cuatro señales para ocho entradas pero puedo conectar cada señal a dos etapas y ya tendré mucho más que lo que tengo ahora con un solo System Joerger

Hay una cuestión que me ha traído un poco de cabeza con este esquema: En realidad yo voy a poder manejar cuatro locomotoras independientemente, si es que utilizo solo dos placas Velleman, es decir tendré cuatro "cabinas de mando virtuales" en el programa, desde cada una de las cuales controlo la velocidad de cada una de esas cuatro locomotoras, y que en realidad estará actuando sobre cada una de las cuatro señales PWM. Parece lógico que en esas cabinas virtuales haya un mando para ir adelante o atrás, con lo que la lógica dice que los inversores de polaridad deberían ser cuatro y por lo tanto asociados de alguna forma al numero de señales de control y no al número de cantones.

Sin embargo, las etapas de potencia no son "bidireccionales", De hecho su polaridad es bastante específica porque no solamente no puede invertirse sino que el polo común a todas las salidas es el positivo, así que el cambio de polaridad hay que hacerlo después, y por lo tanto cuando el sistema ya es de ocho vías.

Estaba un poco mosca con esto hasta que me di cuenta que, que no sólo era obligado por ese motivo, sino
por otra razón:


En algún punto de mi maqueta se forma uno de los famosos bucles de retorno.  En ellos, como en la figura, existe un punto en el que se encuentran enfrentados el carril derecho, alimentado normalmente con el polo positivo con el carril izquierdo del cantón siguiente, y viceversa. Esto quiere decir que en esos puntos puede darse la situación de que una locomotora vaya a pasar de un cantón con una polaridad a otro cantón con la polaridad inversa. En el momento en que el "Conmutador" se ponga a alimentar con la misma señal, en este caso indicada por PWMx a las dos etapas de potencia, la corriente producida va ser igual, pero para que la locomotora pueda pasar, hay que invertir la polaridad en el segundo cantón y no en el primero, de modo que la corriente en las vías tenga el mismo sentido en ambos cantones. Es decir, la misma señal pero con una polaridad en un cantón y la contraria en el siguiente. Así que es necesario tener un inversor en cada cantón.

lunes, 6 de diciembre de 2010

Orden Caótico


No se si he dicho antes que las fotografías de circuitos electrónicos tienen para mi un atractivo especial. Los colores variados, las formas diversas, y el orden que muchas veces reflejan, permiten bonitas fotografías, como alguna de las publicadas aquí, por ejemplo en la cabecera de este artículo: "Me lo estaba temiendo". Sin embargo la fotografía que encabeza el artículo de hoy, no refleja precisamente un modelo de orden.

Se trata del sistema de control de mi maqueta, que por fin está acabado y funcionando. Creo que he repetido varias veces anteriormente la frase "algo que tenga 256 cables para conectar a distintos aparatos tiene que ser necesariamente algo grande y complicado" No cabe duda de que tenía razón, y eso que este sistema en realidad no tiene 256 salidas, sino solamente 192 (12x16), y esto es porque no necesitaba más. Con esas 192 direcciones, puedo manejar los 42 desvíos, los seis desenganchadores los 48 sectores aislados, y... la rotonda. Incluso tengo todavía 32 direcciones libres, que utilizaré para accionar los semáforos cuando monte el sistema de acantonamiento.


El aparente caos que muestra la fotografía es en realidad un caos ordenado ( o si lo preferimos, un orden caótico). Por ejemplo los colores de los cables tienen su significado, aunque realmente este significado depende de la misión del cable: Los cables que llevan corriente de tracción son del color del cantón (el mismo color en que se visualiza cada cantón en la pantalla del programa. Cantón 1 marrón, cantón dos rojo, etc). Los cables que llevan datos digitales tienen un código de color asociado al bit correspondiente (A0=negro, A1=marrón, etc).

En general los cables está agrupados mediante lazadas para mantener unidos los que tienen el mismo origen y destino. En la parte izquierda hay sin embargo un gran número de cables que se cruzan, y esto es debido a que aquí llegan los cables planos desde la maqueta, y se conectan a las salidas del demultiplexor. No se pueden hacer uniones más ordenadas, porque los cable planos que vienen de la maqueta están agrupados "por proximidad" es decir que por un determinado cable pueden venir conexiones de varios desvíos, de algún desenganchador, y de algún sector aislado que en la maqueta estarán próximos, y por eso sus conexiones se agrupan en un cable. Cuando este cable llega a la unidad de control, cada cable debe conectarse a las correspondientes salidas que están agrupadas por sus direcciones digitales. Como ambas cosas no coinciden el cruce de cables es inevitable.

También se puede ver que hay etiquetas adhesivas en las placas y códigos escritos sobre determinados conectores, de forma que si hay que desmontar alguna parte, se pueda volver a montar con facilidad.

Y seguramente algún lector me diría: Bueno, pero tendrás un plano eléctrico con todos esos cables representados en un esquema para saber de dónde a dónde va cada cable. Sobre todo si dentro de un cierto tiempo, cuando ya se me hayan olvidado los detalles del montaje, necesito hacer alguna comprobación o modificación. Pues la respuesta es NO

Yo se que en la industria son habituales esos esquemas eléctricos, que son planos llenos de líneas que representan cada cable y los bornes de los aparatos a que se conecta. A mi siempre me ha parecido que esos planos son poco prácticos porque para seguir un cable hay que recorrer toda la línea que lo representa sin perderse ni desviarse. Además por supuesto, hacer un trabajo así para un equipo como el que he construido es un trabajo de chinos.

Así que lo que he hecho, es mucho más sencillo, y a mi me parece que mucho más práctico: Simplemente he creado un tabla en Excel  con una línea por cada cable, indicando para cada uno el origen y el destino, la señal que lleva, el color. etc.  Por supuesto voy a guardar cuidadosamente copia de ese Excel para el futuro, y además voy a imprimir una copia y pegarla en la parte interna de la tapa, para tener un referencia rápida en cualquier momento. He ido rellenando el Excel en paralelo con el montaje, de modo que es más bien una documentación "as built " en lugar de documento de proyecto.

La conexión a la maqueta se realiza mediante cables planos de 20 vías que van unidos a los conectores que vemos en fotografía adjunta. Hay 12 conectores, así que en total son 240 posibles conexiones. No están usadas todas, pero está previsto utilizar las que quedan en la señalización y detección de los trenes.

También vemos en las fotografías las placas Velleman. En efecto, he decidido sustituir definitivamente la placa de Micropik por la de Velleman. En las fotografías se ven dos placas, aunque la segunda está solo de adorno, ya que será la que usaré para el tema de la tracción de los trenes.

Bueno, pues realmente se puede decir que he concluido con éxito esta importante parte de la construcción de mi maqueta. Realmente esta fase comenzó a finales de Mayo (De nuevo con los voltios), así que la terminado en  6 meses, incluyendo todo el proyecto de la parte electrónica, el diseño y construcción de los circuitos impresos, y todo el montaje. Lo malo ha sido que en todo este tiempo, he tenido mis trenes cuidadosamente guardados, así que tengo muchas ganas de hacerlos rodar otra vez, bajo el mando del nuevo sistema.

En los próximos días modificaré el artículo de mi Web que describe el sistema, de manera que allí quedará de forma concisa y ordenada toda la descripción del mismo, incluyendo esquemas y demás documentación a disposición de los interesados