martes, 8 de noviembre de 2022
Un caro capricho
lunes, 24 de mayo de 2021
Nuevos avances
La imagen superior muestra el estado actual de mi maqueta en construcción. Realmente si comparamos esta imagen con las últimas publicadas a finales del pasado febrero, no parece que se aprecie un adelanto sustancioso, y en efecto, ha habido un parón cuando me he dedicado a crear los elementos electrónicos para el movimiento de los servos. Hacer un diseño de este tipo, y que al final han sido dos, y no solamente para usarlos en mi maqueta sino para ponerlos a la venta, ha supuesto mucho tiempo no solamente de diseño y pruebas, sino también de generar la correspondiente documentación, crear los videos demostrativos y actualizar las webs para hacer referencia los nuevos dispositivos.
Pero también hay una impresión engañosa, porque si lo que se veía en Febrero era parecido a la imagen actual, es sobre todo porque el mayor avance queda oculto en esta imagen. Me refiero ha que he dedicado un cerro de horas a realizar todo el cableado que lleva la estación, Cosa que en aquella época no estaba más que iniciado.
Como ya comenté la parte de la estación está construida de modo que pueda ser desmontable y separarse del resto de la maqueta. Esto por dos razones: la primera para poder trabajar en esa zona fuera de la maqueta, y por lo tanto de una forma cómoda, y la segunda para tener acceso desde arriba a la zona de la estación oculta, que queda debajo de ésta.
El problema es que aquí es donde están la gran mayoría de los elementos eléctricos y mecánicos, y eso da lugar a un cableado muy voluminoso, y si queremos que este conjunto se pueda separar de la maqueta y llevar a otro sitio, hay que ver la forma de conectar los numerosos cables que lleva esta parte con el resto de la maqueta, de forma que se puedan conectar y desconectar de forma fácil y sin dar posibilidad de errores.
Cuando digo muy voluminoso me refiero a lo que recoge la imagen siguiente. No es más que una imagen tomada desde el mismo punto de vista que la anterior, pero con la parte de la estación, levantada y puesta vertical. (y sujeta con un listón y unos sargentos)
Por cierto, que en esta imagen se ve que al hacer esto, es decir al levantar esta zona, incluso sin necesidad de separar los circuitos, queda perfectamente accesible la estación oculta, así que se puede trabajar en ella sin problema.
Como se puede ver, todo el cableado está hecho a base de pasar cables por los taladros de los listones que refuerzan la chapa de contrachapado que forma la base de las vias de esta zona, y que vimos construir en Tomando forma.
Y en efecto, el número de circuitos que lleva es del orden de cien, entre desvíos, señales, tramos de parada, sensores de paso, luces, etc.
Por lo tanto tenía que hacer un sistema que permita conectar todos esos circuitos al cuadro de mandos de la maqueta, de una forma que sea fácil de conectar y desconectar y sin dar opción a que se pueda confundir alguna conexión.
La forma en que lo he hecho es mediante diez conectores Molex de 10 vias cada uno que van sodados a unas tiras de placa de circuito impreso de tiras perforadas y que lleva en paralelo con cada terminal del conector Molex un conector de 10 clemas.
En estas imagenes ampliadaa vemos los diez conectores soldados a la placa de tiras y detrás de cada uno las clemas a las que llegan los cables que van a los distintos dispositivos y una ampliación de uno de estos conectores.
Por lo tanto si queremos quitar de la maqueta toda esta zona de la estación no hay más que soltar estos diez conectores y queda libre para ser trasladada. Los conectores están numerados con unas etiquetas verdes, que llevan la referencia de cada conector y también la numeración de cada uno de los cables.
Como decía, estos 10 mazos de 10 cables cada uno acaban en el cajón donde se sitúa el cuadro de mandos. Como ya comenté, para permitir el movimiento del cajón, los cables hacen un recorrido en Z entre dos rodillos que se juntan o se separan cuando se mueve el cajón, de forma que los cables no se enreden
La imagen anterior muestra el final de esos cables, en el borde posterior de cajón móvil donde van los cuadros de mandos. De nuevo se repite el esquema de usar un conector Molex en el cable que llega, que se une a una placa de tiras perforadas donde van soldadas tiras de clemas de 10 vias (si, son 9 placas. Falta una por poner)
A partir de aquí queda por cablear el cuadro y poner en esa zona vacía que vemos, los automatismos que necesitemos.
Como se puede ver, he puesto literalmente cientos de terminales de varios tipos, clemas, Molex, también unos cuantos Dupont, tiras de pines etc etc.. Asi que he cogido mucha práctica, y he podido comprobar las ventajas e inconvenientes de cada uno de los tipos. Tengo la intención de hacer un nuevo artículo dedicado a este tema de los tipos de conectores y la forma de montarlos. Espero que pueda ser útil a algún compañero de afición.
miércoles, 14 de abril de 2021
Más sobre servos (y II)
En el artículo anterior, hemos llegado a un circuito que puede controlar un servo, llevándolo de un extremo a otro, mediante un conmutador de dos posiciones, y pudiéndose ajustar el ángulo de recorrido y la velocidad del giro mediante dos potenciómetros de ajuste.
Pero tenemos dos temas más, que corresponden más bien a la tecnología del modelismo ferroviario que al del movimiento del servo en si: el primero es sencillamente que todo este circuito funciona a 5 V porque los servos funcionan a esta tensión. Sin embargo 5 V es una tensión no habitual en sistemas de trenes, que según las escalas Z, N o H0 usan tensiones de 10 V 12 V o 16 V para mover los accesorios, como los desvíos. Bueno, la solución a esto es incluir en el controlador de servos un circuito regulador de tensión , un 7805 que nos da una salida a 5 V para que funcione todo nuestro circuito, a partir de cualquiera de esas tensiones usuales en las maquetas de trenes.
La segunda cuestión es un poco más rebuscada. Hemos creado un sistema que maneja los servos, y por lo tanto los desvíos con un conmutador de dos posiciones, de manera que moviéndolo a una u otra posición manejamos el correspondiente desvío, y la propia posición del conmutador nos informa de la posición del desvío en todo momento. Esto está muy bien y de hecho muchos aficionados desean algo así de sencillo incluso para desvíos manejados por los habituales motores de desvío de dos bobinas.
Pero el problema es que no es lo standard en la tecnología del modelismo ferroviario. Lo que se usa en cambio, cuando tenemos desvíos con motores de bobinas, es que para moverlos se envía a estas bobinas un único pulso, que mueve el desvío en una u otra dirección, según el pulso se haga llegar a una u otra bobina. Estos pulsos se producen mediante pulsadores momentáneos en las habituales botoneras que proporcionan las marcas, o con pulsadores de electrónica, o también mediante conmutadores, pero que este caso son de tres posiciones y quedan en posición central cuando han movido el desvío, por lo que no queda una indicación de cómo está el desvío. El problema de salirse del standard estriba en que los desvíos no solamente pueden ser manejados manualmente sino mediante sensores de paso, por ejemplo sensores Reed o Hall, vías de contacto, etc, y todos estos elementos producen un pulso de corta duración cuando una locomotora pasa sobre ellos.
Y ,¿no podemos convertir esos pulsos en una conmutación que quede permanentemente en una u otra posición? Si podemos, y por ejemplo se usa este sistema cuando queremos poner leds de señalización a un desvío de bobinas. Si con el pulso actuamos sobre un circuito de los llamados de enclavamiento, el circuito se "enclava " en una posición y permanece así hasta que recibe otro impulso que lo enclava en la posición contraria. Es exactamente lo mismo que un relé de enclavamiento (o biestable) pero funcionando electrónicamente. Los chips que hacen esto se denominan "latch" (cerrojo en ingles) y fueron discutidos aquí largamente en el artículo Circuitos sencillos y siguientes
Entonces lo que he hecho es poner un circuito integrado adicional de tipo latch, concretamente un CD4044 y conectar las entradas de las señales (que vienen de los pulsadores o de los sensores Reed, etc) a las entradas de este circuito y a la salida de este circuito se conecta el terminal U/D del integrado. Realmente un circuito 4044 tiene cuatro canales y aquí solo necesitamos uno para conseguir controlar el servo, así que este circuito queda bastante desaprovechado. Lo que he hecho, por no dejarlo así es utilizar las salidas sobrantes para poner salidas que enciendan leds de señalización.
En el esquema adjunto vemos este circuito 4044 conectado a las entradas J6 y J7 y produciendo en sus salidas la señal I/O que es la que activa el potenciómetro digital, y las señales SIGNAL y BEAM. La primera va a las bornas de salida para conectar los leds de señalización, que irán en el cuadro de control
La señal BEAM es una salida adicional que lleva un chip de intermitencia M34-2L para conectar uno o más leds que sirven para iluminar las balizas de aviso en los pasos a nivel. Realmente hay leds que ya de por si son intermitentes, pero son difíciles de encontrar y creo que no los hay en SMD. Si este fuera el caso este circuito proporcionaría la señal intermitente.
Con todo esto, construí el prototipo del circuito DRVSERVO que se veía en el correspondiente artículo de este blog.
Como suelo hacer con los últimos desarrollos, ofrecí a mi "socio" la posibilidad de distribuir este producto para que él decidiera si le resultaba interesante ponerlo a la venta. Después de una "investigación de mercado" me confirmó que efectivamente los potenciales clientes los veían interesantes, como alternativa a la "solución Arduino" pero casi todos preguntaban que cuántos servos podía manejar el circuito. Seguramente esto es una reminiscencia de Arduino, al que efectivamente se pueden conectar varios servos, pero en este caso, no tiene mucho sentido, porque para manejar otro servo lo que habría que hacer es reproducir otro circuito igual y así cuántos queramos poner en una sola placa. pero no hay ninguna ventaja respecto de tener tantos cuántos de estos drivers para un solo servo como se quiera.
Pero aquí entran dos temas que llamaríamos "comerciales": Por un lado, si los clientes lo comparan con Arduino y éste ofrece la posibilidad de conectar varios servos, hay que hacer algo para ofrecer esa misma posibilidad. Por otra parte, uno de los elementos de coste más importantes de estos productos son las placas de circuito impreso, que son fabricadas bajo pedido. Y lo que ocurre es que una placa por ejemplo donde quepan cuatro circuitos, es solo ligeramente mas cara que una donde cabe uno, de manera que comparando con cuatro placas para un circuito cada una, casi se cuadruplica el coste.
Otro tema de índole "comercial", es el tema de las bornas de conexión. Yo siempre pongo en mis circuitos bornas de tipo clema, es decir bornas en las que simplemente se introduce el cable pelado, y se sujeta apretando un tornillo que lleva cada borna. Utilizo este tipo, porque entiendo que es un sistema que no necesita usar soldadura ni crimpadora, ni ningún otro sistema o herramienta más que un destornillador, de manera que cualquier aficionado con poca experiencia los puede conectar. Sin embargo este tipo de bornes son francamente caros, sobre todo si se utilizan de buena calidad y no los típicos chinos.
Sin embargo Arduino utiliza conectores de tipo "Tira de pines" también llamados "Conectores Dupont". Estos conectores son mucho más simples y desde luego mucho más baratos, pero obligan al usuario a colocar en el cable que quiere conectar, un terminal del mismo tipo y que necesita una herramienta especial, la llamada crimpadora para unir cada cable a cada pin. Como decía antes, las clemas las pone cualquiera, pero los conectores de pines requieren una cierta experiencia. Sin embargo aquí hay que suponer que este producto es ya para un aficionado de un cierto nivel, que además lo compara con Arduino, y que además va a conectar un servo que lleva ya conectores de este tipo. Aunque realmente el conector de lo servos es hembra, así que se necesitarían conectores macho en el circuito, pero he preferido usar conectores hembra en la placa, y dejar que para conectar el servo se use un cable macho-macho. Esto es lo que se hace con Arduino, y parece que nadie se queja. También se ve muchas veces que se utilizan estos conectores hembra para recibir los terminales de los cables que se usan para crear circuitos en las protoboards.
Otro cambio respecto del prototipo ha sido suprimir los leds que se encendían y apagaban en la propia placa del circuito para indicar la posición. El motivo es que los servos y en consecuencia los drivers están normalmente en lugares ocultos, de manera que esos leds no se verían, Lo que si se mantiene evidentemente, es la conexión para conectar unos leds mediante cables que se llevarían normalmente a un tablero de control
La conclusión de todas estas consideraciones ha sido: Crear dos versiones del driver: Una para un servo y otra pasa cuatro servos. En la de cuatro servos se mantiene la independencia de los cuatro circuitos de cada servo, excepto por el control de la velocidad que es común para los cuatro. De esta forma, contando con este control común, aprovechando las cuatro vías de un único circuito 4044 y por supuesto una única alimentación se obtiene un driver para cuatro servos solo un poco más grande y solo algo más caro que la versión para un servo. Todas las conexiones serán mediante conectores de pines hembra, excepto la alimentación.
En la imagen de portada de este artículo se pueden ver las dos versiones del controlador, para uno y para cuatro servos.
La versión para un solo servo DRVSERVO, parece más apropiada para quien quiera motorizar un paso a nivel (no es habitual encontrar varios pasos a nivel motorizados en una maqueta) y por eso se ha mantenido con el chip de intermitencia para las balizas.
En cambio la versión de cuatro servos MULTISERVO, parece más apropiada para el manejo de desvíos, ya que lo habitual es que haya varios desvíos a mover en cada maqueta, y no lleva salidas para intermitentes
Estas diferencias no son esenciales: se puede utilizar perfectamente un DRVSERVO para mover desvíos y uno de los cuatro servos de un MULTISERVO para un paso a nivel.
A continuación se puede ver el siguiente video, que muestra el funcionamiento de ambos controladores. Realmente se parece mucho al video DRVSERVO que incluía en el artículo DRVSERVO. Sin embargo en este nuevo vídeo aparece ya la versión definitiva del DRVSERVO y también aparece el nuevo sesarrollo MULTISERVO.
Observarán los habituales de este blog, que he roto mi costumbre de titular los videos en YouTube con la simple referencia del dispositivo que se está describiendo, lo que en este caso hubiera llevado a titularlo sencillamente "DRVSERVO".
Sin embargo, el orto día me puse a repasar YouTube para ver si encontraba algún dispositivo similar para mover los desvíos, pero lo único que obtuve fué una larga lista de videos en los cuales se empleaba casi de forma unánime Arduino. Sin embargo, esa búsqueda me dio la idea de que si yo subía un video titulado DRVSERVO nadie lo iba a encontrar, y de hecho, todos los que me aparecían, llevaban títulos descriptivos bastante largos, y, cómo no, incluían la palabra Arduino.
Curiosamente encontré uno que se anunciaba como "sin Arduino" asi que pensé que había encontrado un competidor (o un aliado, porque esto ya parece una guerra). La verdad es que lo que ví en ese video estaba muy verde, y no me convenció en absoluto, pero si me dio la idea de que debería nombrar mis vídeos con títulos más descriptivos, para que aparezcan con más facilidad en las búsquedas de YouTube.
Y dicho y hecho: este vídeo se llama: CONTROLADOR DE SERVOS PARA DESVIOS SIN ARDUINO
Asi que por mi que no quede: Titulo largo, descriptivo y con la inclusión de la palabra Arduino como clickbait
lunes, 15 de marzo de 2021
Más sobre servos (I)
Pulsar dos veces para arrancar el video
En dos artículos recientes (Motorizacion del paso a nivel fe FALLER 282730) y (DRSERVO), comentaba que, con motivo de la necesidad de aplicar un servo para mover las barreras del paso a nivel, había retomado un tema que ya traté hace unos cuantos años (2014) y me puse a trastear con los servos y sobre todo con los circuitos que sirven para controlarlos, los llamados drivers de servo, y al final diseñé un nuevo circuito capaz de manejar uno de estos servos, y lo apliqué en el paso a nivel de FALLER.
En los citados artículos, mencionaba que aunque la mayoría de los aficionados recurren a un Arduino como driver, a mi me parecía excesivo utilizar estos elementos que en definitiva actúan como un pequeño ordenador.
Parece que algún lector no está de acuerdo con mi opinión y me dice que para qué meterse a diseñar y montar un circuito especial, cuando el Arduino ya nos lo da resuelto.
Esa frase me ha recordado inmediatamente un artículo (Y.D.I.Y?) donde comentaba un artículo leído en un foro americano, donde su autor explicaba que cuando él hacía uno de sus desarrollos y funcionaba, siempre salía el compañero de turno con el comentario de porqué hacerlo cuando lo puedes comprar hecho. En su artículo este compañero de afición, comentaba la satisfacción nunca antes conocida que le proporcionaba diseñar y construir un dispositivo que funcionaba igual o mejor que el sistema comercial equivalente y que probablemente es incluso más barato.
Pero además en este caso, si he podido diseñar algo que permite manejar servos de un modo más sencillo, lo más probable es que acabe por poder ser adquirido, (aunque yo ya no vendo mis diseños, hay un compañero que los comercializa) por cualquier aficionado que no quiera verse en la necesidad de emplear un Arduino. No olvidemos que Arduino es un microordenador, que por lo tanto necesita ser programado, y aunque se diga que los programas para manejar servos están accesibles en Internet no se evita tener que bajarlos, cargarlos, etc. Y si se quiere modificar algo, vuelta a tocar el programa (el que sepa hacerlo) a cargarlo, etc. Mi propuesta es un circuito analógico, que no hay más que conectarlo y empieza a funcionar. "Plug and Play" que se dice.
Supongo que se puede pensar que un circuito analógico que sustituye a un Arduino, debe ser algo muy complicado, porque no olvidemos que un ordenador, por sencillo y compacto que sea, es algo muy complejo. La respuesta a eso es que naturalmente depende de lo que queramos hacer con el servo, y que desde luego para una utilización sencilla el circuito es elemental, pero incluso para hacer algo que maneje todas las posibilidades de un servo solo se requiere añadir un poco más de electrónica. El que quiera convencerse no tiene más que seguir leyendo.
La imagen anterior muestra todo lo que se necesita para manejar un servo. Hay un circuito integrado, posiblemente el circuito integrado más popular, el NE555, cuatro resistencias, tres condensadores y dos diodos. Para controlar el servo añadimos el potenciómetro RV1 de 100K y vemos a la derecha el servo representado como un círculo que lleva en la parte inferior el indicador de su posición. Con este sencillo montaje alimentado por Vcc 5 Voltios, ya podemos hacer funcionar el servo de forma semejante a como lo haría un aeromodelo o un barco de radiocontrol. Según la posición del cursor del potenciómetro el servo se pone en el ángulo que corresponde a esa posición. De hecho este circuito le vale perfectamente a todo aquél que quiera un "probador de servos".
Por si a algún incrédulo le parece inverosímil, que solamente con ese circuito tan sencillo se pueda manejar eficazmente un servo, he incluido un vídeo que recoge la imagen de pantalla del programa Proteus mientras se hace funcionar en simulación el circuito anterior. La imagen incluye un osciloscopio virtual donde podemos ver la señal que llega al servo. Al funcionar vemos que según se mueve el cursor del potenciómetro arriba y abajo, el servo gira en un sentido o en otro, e incluso que si dejamos el cursor en puntos intermedios el servo se queda también en un giro intermedio. También vemos que la acción sobre el servo consiste en una señal de 27 o 28 Hz (se ve en el frecuencímetro bajo el osciloscopio) compuesta por pulsos cuya anchura varía de 1 ms a 2 ms y según sea esa anchura, así se ajusta la posición del servo.
Y en nuestra afición, ¿nos vale esto tan sencillo? Lo habitual en modelismo ferroviario es utilizar los servos para mover los desvíos, y también se usan para mover las barreras de los pasos a nivel, las puertas de cocheras, para hacer girar grúas de carbón o grúas de agua, etc. Lo malo de este montaje es que para mover el servo tenemos que girar a mano el potenciómetro, y esto hará girar el servo, pero eso va muy bien por ejemplo para hacer girar una grúa , o incluso para cerrar o abrir puertas, pero no es práctico para mover desvíos o barreras. En estos casos se requiere que el servo adopte dos posiciones determinadas (desvio recto o desviado, barreras levantadas o bajadas etc) pero sin detenerse nunca en posiciones intermedias.
Bueno, si aceptamos que esas dos posiciones extremas deben coincidir con el equivalente a llevar el mando del potenciómetro a un extremo o a otro, podemos sustituir el potenciómetro por un conmutador de dos posiciones. Poniendo en lugar del potenciómetro una resistencia del mismo valor 100K el conmutador hace lo mismo que el giro del mando a un extremo y al otro.
En realidad, es casi más sencillo así, y en principio es lo que necesitamos. Sólo con esto ya podemos utilizar este circuito para controlar un desvío, o las barreras de un paso a nivel. Con el conmutador SW1 en una posición, el servo estará completamente en un extremo y cambiando el conmutador a la otra posición, el servo se moverá hasta la posición opuesta. Nadie podrá decir que no es ésta una solución sencilla y barata.
Pero una cuestión interesante es esta: Con el mando del potenciómetro, cuando lo giramos más o menos deprisa, el servo sigue ese movimiento a la misma velocidad y si dejamos el mando en cualquier punto, el servo se quedará también en la correspondiente posición intermedia. Pero con el conmutador esto no ocurre, sino que estando en una posición, al accionar el conmutador el servo se encuentra con que la señal que le llega corresponde al extremo opuesto, sin pasos intermedios. En teoría debería cambiar instantáneamente. Sin embargo un servo tiene una velocidad limitada y lo que hace es moverse a esa velocidad, que es la mayor que puede alcanzar, hasta llegar al extremo opuesto. De hecho se considera que un servo es tanto mejor cuanto más deprisa es capaz de moverse, pero en todo caso es la velocidad de que es capaz el servo la que marca la velocidad a la que se mueve, y por lo tanto si estamos moviendo un desvío, poco podemos hacer para conseguir que se mueva más deprisa o más despacio.
En realidad los aficionados al modelismo ferroviario prefieren que sus desvíos se muevan con lentitud, y también las barreras y los demás elementos. Así que preferirían un movimiento lento de los servos, más lento que lo que se consigue con el montaje anterior.
Lo que realmente sería perfecto, es que el sistema permitiera hacer que el movimiento se pueda regular en dos aspectos: por un lado que se puedan marcar los extremos de desplazamiento del servo, de manera que no gire siempre 180º completos sino que podamos graduar el alcance del giro, y por otro lado que pudiéramos variar la velocidad de giro, para conseguir movimientos verdaderamente lentos de los desvíos.
Afortunadamente esto es perfectamente posible complicando un poco el circuito de control. El cambio más sencillo es el del alcance del ángulo de giro, ya que basta para conseguirlo modificar el valor de la resistencia R1 El valor de 71K que aparece en el esquema es un valor extraño, pero es el que produce exactamente el giro de 180º justos Un valor inferior haría que el servo tendiese a girar más, pero como no puede hacerlo, no pasa nunca de su tope. Sin embargo un valor superior, si que limita el giro, de modo que con 150K el servo no llega a moverse. Así que una solución facilísima es añadir un potenciómetro de 100K de ajuste, en serie con esa resistencia, y con ello la resistencia de esa rama se podrá ajustar entre los 71 K y los 171K lo que consigue desde un giro máximo, de 180 grados, hasta un mínimo prácticamente nulo. Conseguir tener este ajuste es muy importante porque cuando se ponen las bielas y transmisiones que mueven los desvíos, hay que conseguir que el movimiento se ajuste al recorrido que tengan que hacer los espadines, y si el servo se intenta mover más, se forzarán estas transmisiones.
Y ¿podemos hacer algo con respecto a la velocidad? Realmente en el primer esquema, cuando mandábamos el giro con un potenciómetro, la velocidad de giro podía ser la que quisiéramos, pues basta girar más o menos lentamente el mando. Pero claro, no es cosa de estar moviendo un montón de potenciómetros lentamente para conseguir un movimiento lento de los desvíos. Necesitamos unos deditos mágicos que muevan lentamente ese potenciómetro por nosotros, a la velocidad que queramos. Curiosamente esto es posible, y la verdad es que yo ya he usado esos deditos mágicos en todos los controladores que he desarrollado que llevan control de inercia. Y es que el problema es el mismo: en un controlador normal, sin inercia, nosotros movemos el regulador de velocidad más o menos lentamente para acelerar o frenar más o menos rápido, pero en un controlador con inercia, la velocidad aumenta o disminuye lentamente, y con mayor o menos rapidez según ajustemos el mando a una inercia menor o mayor. De nuevo es como si esos deditos mágicos se encargasen de mover más o menos rápidamente el control de velocidad.
Bueno el secreto está en lo que se llama un potenciómetro digital, como el DS1804-100 que se ve en todos mis controladores con simulación de inercia. El nombre puede ser un poco confuso, pero que quede claro que esto no tiene nada que ver con los sistemas digitales para el manejo de trenes.
En la imagen precedente vemos que toda la parte derecha, sigue igual, y se ha incluido el potenciómetro de ajuste de 100 K, identificado como RANGE para permitir modificar el alcance del giro, tal como decíamos anteriormente.
Pero, donde antes hubo un potenciómetro manual de 100K ahora hay un potenciómetro digital también de 100k marcado como U1. Si nos fijamos la parte derecha de este chip lleva tres terminales marcados como H W y L (Hight, Wipper y Low) que corresponden exactamente a las tres patillas de un potenciómetro, siendo la W la del cursor, y las otras dos las de los extremos de la pista.
Para "mover" ese potenciómetro tenemos los tres terminales de la izquierda de los cuales el central CS está unido a tierra y es simplemente para activar o desactivar el dispositivo. Por el terminal superior INC tiene que recibir un tren de pulsos de la frecuencia que queramos. Cada vez que recibe un pulso el "cursor" de este potenciómetro sube o baja una centésima parte de la resistencia total, así que como en este caso es de 100 ohmios subirá o bajará un ohmio. Es como si en un potenciómetro manual moviéramos el mando una centésima parte de su recorrido.
Y el tercer terminal U/D (Upper / Down) hace que esos saltos sean hacia arriba o hacia abajo. De manera que si el terminal U/D es positivo por cada impulso que llegue por INC el cursor se mueve un ohmio hacia arriba, y si es U/D es negativo se mueve un ohmio hacia abajo. Con eso, el conmutador SW1 actúa como en el segundo esquema. es decir, en una posición conecta U/D al positivo y por lo tanto con cada pulso que llegue el cursor irá subiendo, y si ponemos el conmutador hacia abajo con cada pulso que llegue el cursor baja hasta llegar abajo.
Lo fundamental de esto es que el cursor sube o baja al ritmo que le marcan la llegada de pulsos por el terminal INC, de manera que si llegan muy rápido enseguida subirá o bajará el cursor y por lo tanto el giro del servo será rápido, Por el contrario si el ritmo es más lento, el servo se moverá más despacio. En definitiva que de la frecuencia del tren de impulsos que llega por INC depende la velocidad a la que se mueve el servo. Por ejemplo si la frecuencia es 20 llegarán 20 pulsos por segundo, así que en 5 segundos, el servo se moverá de extremo a extremo, y si llegan por ejemplo 10 pulsos por segundo, el servo se moverá de extremo a extremo en 10 segundos. Etc
Nótese que los pulsos no dejan nunca de llegar, así que el cursor llega siempre al extremo superior o al inferior y nunca se para en posiciones intermedias. Cuando llega a uno de los extremos los pulsos que siguen llegando se ignoran, hasta que U/D cambie de signo.
O sea, es lo mismo que el segundo esquema, en cuanto a que tenemos un conmutador y moviéndolo a uno y otro lado el servo pasa de un extremo a otro, pero ya no lo hace a la máxima velocidad que permite el servo, sino al ritmo impuesto por la frecuencia de los pulsos que llegan a INC. También, al decir de extremo a extremo, ya no es obligatorio que estos extremos estén separados 180º, sino que podemos ajustar el ángulo deseado con potenciómetro RANGE.
Necesitamos por lo tanto añadir a este circuito, algo que genere unos pulsos con una frecuencia que podamos ajustar. Afortunadamente esto es también muy sencillo y se basa también en un NE555. Además como ya teníamos un N555, podemos usar un integrado NE556 que es como dos NE555 en la misma cápsula. Se ahorra espacio, pero ambos son independientes y de hecho en los esquemas aparecen como dos chips independientes.
La imagen adjunta, recoge el circuito que puede generar un tren de impulsos de una frecuencia variable. El potenciómetro de 100k identificado como SPEED permite ajustar esa frecuencia en límites amplios. Como comentaba, este circuito es un viejo conocido para mi, porque es el que hace aumentar o disminuir la velocidad a un ritmo mayor o menor en los controladores con simulación de inercia. De hecho en ellos las frecuencias utilizadas son más bajas, ya que se puede llegar a que el potenciómetro digital tarde más de un minuto en pasar de extremo a extremo. Aumentando el valor del condensador C1 se puede llegar a frecuencias muy bajas. Nótese que la salida de este circuito se identifica como "CLOCK" que es efectivamente la señal que recibe el potenciómetro digital por la entrada INC en el esquema anterior.
Pues con esto ya tenemos todo: Un circuito que es capaz de manejar un servo moviéndolo de un extremo a otro al accionar un conmutador, y con la posibilidad de ajustar el ángulo de giro y la velocidad del giro. Respecto de lo que podemos conseguir de un servo ya no hay más posibilidades, y supongo que esto lo máximo a lo que se suele llegar con Arduino.
El diseño del circuito DRVSERVO que vemos funcionando en el video de la cabecera de este artículo y también en un video más extenso en el artículo anterior tiene alguna cosa más , así que para no alargar mas éste, vamos a dejar el resto para una segunda parte donde además comentaré algunas modificaciones hechas sobe el prototipo inicial, con vistas a su comercialización.
viernes, 5 de marzo de 2021
DRVSERVO
Así que llegue a la conclusión de que yo, hoy, lo haría de otra forma, y como esto no es más que un hobby me puse a hacer un diseño actualizado para un nuevo "diver" de servos.
El resultado, que podemos ver en la cabecera, es más pequeño, y tiene bastantes menos componentes, y entre otras cosas no lleva ningún relé, como el antiguo, así que resulta bastante más barato.
Iba a decir, "y funciona mejor", pero no es cierto, funciona exactamente igual, porque el principio de funcionamiento es el mismo.
La diferencia mayor estriba en que el antiguo proyecto pretendía funcionar "como un desvío", mientras que este, funciona más bien como un controlador de desvíos, como el DDESVIO3 o el KDESVIO3 que he diseñado posteriormente, es decir se activa mediante entradas que se conectan a elementos tales como pulsadores, sensores hall, conmutadores, etc, que no envían corriente al driver sino que establecen una tensión nula en una entrada. De esta forma la conexión es común a todos los demás dispositivos que he hecho y que estoy utilizando en mi maqueta.
En el siguiente video puede verse el nuevo driver, bautizado como DRVSERVO y una demostración bastante completa de sus características y funcionamiento.
Como se puede comprobar, el video acaba con unos ejemplos de aplicación, que comprenden, en primer lugar el manejo de un desvío PECO y después el paso a nivel 282730 de Faller que vimos montar en el artículo Motorizacion del paso a nivel FALLER 282730. En ese artículo se veía como al final se colocaba el antiguo controlador de servos en la base del paso a nivel, y se hacía funcionar con él. Lo que he hecho, es montar uno de los nuevos DRVSERVO, es sustituir el antiguo por este, dejando todo lo demás igual, incluyendo el mismo servo, y grabar unas escenas más de vídeo con el nuevo driver. Por cierto, que este este nuevo video se utilizan sensores Hall para accionar el paso a nivel, cosa que ahora es fácil porque como decía el nuevo está preparado para ser accionado con sensores Hall, cosa que el viejo no tenía, y habría que haber hecho un poco de bricolaje para conseguirlo.
Llamo la atención a los lectores que se hayan interesado por estos temas, sobre el buen resultado que se obtiene con el ejemplo del movimiento del desvío PECO, ya que se obtiene un movimiento excepcionalmente lento, y uniforme, y todo ello con unos elementos muy sencillos. He estado curioseando por YouTube, donde hay muchos vídeos que demuestran diferentes formas de mover este tipo de desvíos, y entre el abundante material que aparece al respecto, no he encontrado nada que funcione tan bien y de forma tan simple.
Y es que se juntan dos factores: por un lado el DRVSERVO permite un control muy preciso del servo, ya que se puede ajustar la velocidad de giro del servo, y la amplitud del giro, para ajustar el movimiento a lo deseado. La inmensa mayoría de los ejemplos que se ven en YouTube utilizan un Arduino para controlar el servo. A mi me parece un despropósito utilizar un Arduino para eso, porque al fin y al cabo un Arduino es un microprocesador que necesita un programa, mientras que mi sistema es un simple circuito analógico. Por ejemplo si queremos que un servo manejado por Arduino se mueva más rápido o mas lento, o que el movimiento sea más o menos amplio, hay que actuar sobre el programa de Arduino, modificarlo y volverlo a cargar, mientras que con mi circuito hay dos potenciómetros que se mueven con un destornillador, y modifican esos valores incluso mientras el driver está funcionando, de manera que se puede comprobar el efecto conseguido mientras se modifican los ajustes.
Y eso no es todo: Arduino necesita una alimentación de 5V que no es normal en el ámbito del modelismo ferroviario. En lugar de eso, el mío funciona con tensiones entre 9 y 15 V que son las habituales en las escalas Z, N y H0. y por otra parte el sistema de mando del Arduino probablemente no admite con facilidad la conexión por ejemplo de sensores Hall, (que necesitan una alimentación que DRVSERVO les proporciona).
En definitiva este driver es un sistema creado especialmente para manejar servos en el entorno del modelismo ferroviario, mientras que Arduino es un sistema con una amplísima gama de posibilidades, que en la mayoría de los casos quedan infrautilizadas. Un amigo mío decía que utilizar un Arduino para esto, es como utilizar un Ferrari para ir a comprar el pan a 100 metros de casa.
Y el otro factor que contribuye al buen funcionamiento del desvío que se ve en el vídeo, es el sistema que mueve el desvío a partir del giro del servo. En la generalidad de los casos se conecta la traviesa móvil del desvío con la leva del servo mediante un alambre o varilla rígido, que tira o empuja la traviesa móvil del desvío. Incluso muchas veces se ve que han hecho un zigzag en esa varilla, lo cual es una técnica copiada del aeromodelismo, para absorber el movimiento excesivo del servo cuando las agujas ya se han movido hasta sus topes. En primer lugar contando con un ajuste del ángulo de giro como tiene mi sistema ese zigzag sería innecesario, aunque sería delicado ajustar exactamente el desplazamiento requerido. Pero lo peor es que con un sistema de leva y varilla, que hacia un lado tira y hacia el otro empuja la traviesa, se producen muchas holguras difíciles de evitar, lo que da lugar a movimientos un tanto imprecisos.
Lo que yo he hecho es, en primer lugar cambiar la varilla que tira y empuja, por un hilo, que naturalmente solo puede tirar. El movimiento hacia el lado contrario lo garantiza un resorte que tira hacia el lado contrario. Este resorte, puede ser una sencilla goma elástica, como veíamos en el vídeo del paso a nivel, o también, y es una idea mejor, un resorte metálico formado a partir de un imperdible, al que se han cortado los extremos y se han doblado hacia arriba (hacia abajo, en la imagen anterior, que está "cabeza abajo") , para hacer que uno de ellos mueva directamente la traviesa y el otro se fije a un punto que proporcione siempre una tensión que desplace la traviesa móvil hacia el lado contrario al que tira el hilo.
El hilo se enrolla sobre un carrete formado en la cabeza del eje del servo, y que se hace sencillamente con dos arandelas y una sección de macarrón.
El hilo además hace un reenvío alrededor de la varilla que actúa sobre la traviesa móvil. Este reenvío hace que el movimiento sea la mitad de lento de lo que sería con tiro directo, pero además proporciona una forma muy cómoda de ajustar la longitud del hilo. Aquí se ha sujetado a un tornillo con una arandela que pisa el hilo, pero puede haber otras formas menos aparatosas.
Creo sinceramente que este sistema, es con mucho, el más sencillo de los que se pueden encontrar por Internet, y los resultados son tan buenos o mejores como la mayoría de los mostrados. Todos aquellos que quieran hacer que sus desvíos se muevan de forma espectacularmente lenta, lo tienen a su disposición. Por cierto, los desvíos reales modernos, no se mueven tan lentamente, gracias a los motores eléctricos que llevan. Lo del movimiento lento es una reminiscencia de cuando los desvíos se movían a mano con las célebres "marmitas" o incluso desde un puesto centralizado ("enclavamientos", se llamaban) con palancas manuales.
domingo, 21 de febrero de 2021
Motorizacón del Paso a nivel FALLER 282730
Paso a nivel FALLER 282730 motorizado y con señalización
Como siempre, con la escala Z tenemos pocas opciones, así que creo que solo existen 2, la de Märklin (8992) y la de Faller (282730).
![]() |
Märklin 8992 |
La otra opción es la de Faller, y en imagen siguiente vemos como queda el mismo una vez instalado. El realismo es infinitamente mejor que el de Marklin peeeeeero....¡no tiene movimiento! Claro, Faller es un fabricante de artículos de decoración para las maquetas, así que este paso a nivel es puramente decorativo.
![]() |
Faller 282730 |
Curiosamente Faller fabrica un paso a nivel para la escala N con la referencia 222174 que es prácticamente idéntico a este y otro incluso más sencillo con la referencia 222173, ambos sin motorización, pero también tiene el modelo 222170 que si está motorizado. Por cierto, que mirando el manual de éste último modelo, me parece que han hecho un sistema muy complicado.
Así que si quería un paso a nivel bonito y motorizado para escala Z, tenía que resolver el tema por mi cuenta. La solución que he pensado es utilizar un servo de los usados en maquetas de barcos y aviones radiocontrolados que es una solución muy buena porque ya incluye un motor con su tren de engranajes y su sistema de control del motor. Ya he usado estos elementos para mover desvíos con un movimiento lento más realista que el clásico motor de bobinas.
En el artículo Llegan los servos describía un sencillo sistema para accionar un servo que realmente solo requiere un único circuito NE555 para producir la señal que activa el servo. Esto llevó a un circuito un poco más elaborado que aparecía en el el artículo Llegan los servos (y III) (de 20011) con un relé y el mismo NE555
Sin embargo estos circuitos adolecen del defecto de no poder controlar la velocidad a la que se mueve el servo. De hecho el servo se mueve siempre a la máxima velocidad que es capaz de adquirir, y como realmente lo que andamos buscando al utilizar un servo es tener un movimiento lento, no resulta una solución muy satisfactoria.
Así que seguí dándole vueltas al coco y en 2014 publiqué aquí otro artículo titulado Otro driver de servo en el cual aparecía ya un circuito capaz de controlar un servo permitiendo además controlar tanto la velocidad como la amplitud de movimiento. En el siguiente video, grabado entonces, podemos ver su funcionamiento y su aplicación al movimiento de un desvío: SERV01B .
Tuve durante meses este servo a la venta en mi tienda, y lo comenté en los foros en que participo, pero parece que no tuve mucho éxito convenciendo a los compañeros de afición, ya que nadie pidió uno, así que acabé por descatalogarlo. (luego si me han pedido alguno, pero ya no he podido atender esas peticiones)
Curiosamente, el tema de mover desvíos con servos aparece con cierta frecuencia en los foros y hasta existen decodificadores para digital que manejan servos, pero en el campo analógico no hay nada que yo sepa. Las soluciones artesanales que se proponen para sistemas analógicos pasan por utilizar un Arduino para generar la señal que maneja el servo, lo cual a mi me parece matar pulgas a cañonazos, y además para modificar los valores de amplitud de movimiento y velocidad del servo hay que actuar sobre el programa del Arduino, mientras que con mi sistema, basta un simple destornillador para ajustar uno y otro parámetro, y por supuesto se puede hacer incluso mientras está funcionando. En fin... 😳
Bueno, pues me puse a buscar en la chatarra electrónica y encontré una placa de circuito del controlador de servos de 2014. No es exactamente la que aparece en el artículo anterior y en el video, sino un modelo ligeramente distinto que tenía un defecto, pero que para lo que yo yo quería, me resultó válida. Así que monté esa placa de circuito, y la probé con un servo que conservaba de la época, y funcionó todo perfectamente.
Pero ahora viene lo malo. Hay que conseguir que mediante el movimiento de un servo se muevan las barreras, y desde luego el modelo de FALLER no está en absoluto preparado para nada parecido. Lo malo es que como hablamos de escala Z , todo lo que hagamos es a tamaño minúsculo así que había que buscar una solución simple y muy fácil de hacer, sin requerir una precisión de relojero.
Por si alguno de los lectores se anima. he grabado un vídeo con todo el proceso de montaje, que como se puede ver es bastante sencillo. De hecho, yo diría que para la escala N se puede hacer lo mismo en el FALLER 222174 y probablemente es más sencillo que adquirir el 222170 y montarlo con el sistema de FALLER.
Dicho en pocas palabras, el sistema consiste en ponerle a cada barrera, dos hilos (he utilizado un hilo de costura de los llamados "invisibles") uno que tira de la barrera hacia abajo, y el otro que está enganchado al contrapeso, que hace que la barrera se levante. Ambos hilos pasan a la parte inferior de la pieza de madera que sirve de base a todo el montaje, a través de dos finísimos agujeros.
Los hilos que tiran hacia abajo, se atan a unas gomas elásticas que por el otro extremo se enganchan a un alfiler clavado en la base. De este modo, las gomas, están ligeramente tensadas y hacen que las barreras tiendan siempre a estar bajadas.
El otro extremos de los hilos, se acaban uniendo en uno solo, y éste está unido a un "cabrestante" que enrolla el hilo cuando gira el servo. De esta forma, cuando el servo gira enrollando el hilo las barreras suben y tensan las gomas. Cuando el servo gira desenrollando el hilo, las gomas tiran de las barreras hacia abajo.
Un inciso: Podría haber movido directamente ese hilo con la excéntrica original del servo. Lo probé, pero eso tiene un inconveniente: Si conecto el hilo a la excéntrica, el movimiento no es uniforme, ya que cuando la posición del hilo es perpendicular a la de la excéntrica el movimiento es mucho más rápido que cuando excéntrica e hilo están en línea. En cambio si el hilo se enrolla sobre un carrete que gira, el movimiento es uniforme.
Como se ve, he buscado un mecanismo simple y la única dificultad es trabajar a la pequeñísima escala que tenemos entre manos.
Sin embargo, me he liado la manta a la cabeza, y después de comprobar el buen funcionamiento del mecanismo que mueve las barreras, he querido añadir un plus de realismo. Es sabido que en los pasos a nivel, cuando las barreras están bajadas, existe además una señalización visual, que, aunque no es igual en todos los países, suele consistir al menos en una o dos luces rojas intermitentes, y en muchos casos también algún timbre o campana. El paso a nivel de Marklin lleva unas luces rojas intermitentes que se encienden cuando las barreras están cerradas, y he querido hacer algo similar.
Pero claro, si quería poner unas luces en las señales del paso a nivel (las llamadas "cruces de San Andres") teniendo en cuenta el tamaño de las mismas tenía que poner leds SMD, y con el problema de llevar hasta ellos un finísimo cableado. Nunca he soldado un componente SMD, así que me daba bastante miedo hacer un estropicio.
Sin embargo, justamente cuando estaba buscando leds SMD en la web donde suelo pedir leds, porque tienen de todo en ese campo, (Shoptronica) encontré por casualidad que tenían a la venta filamentos de fibra óptica, lo cual me dio la idea de que podía usar un led de tamaño normal, y llevar uno de estos filamentos hasta cada señal, donde se vería la luz conducida por la fibra. Y no es más que un filamento flexible de unos 0,5 mm de diámetro, de manera que haciendo en cada señal un taladro de ese diámetro, si metía el filamento desde atrás, asomando la punta por delante, se vería la luz desde el frente.
Quedaba una duda: como "meter" la luz desde un led normal al filamento. Bueno, se me ocurrió que si hacía un pequeño taladro en la propia cápsula del led (como de 0,5 mm de de diámetro y otro tanto de profundidad) y metía en él la punta del filamento, pegada con cianoacrilato, quedaría suficientemente bien, pero una cosa es hacer un taladro para un filamento y otra hacer dos para los dos filamentos que quería. Afortunadamente conservo todavía unos leds que usaba bastante hace años que tienen la cápsula rectangular, con la parte de arriba plana. En ese tipo de cápsula es bastante fácil hacer este apaño, y en el video se ve como lo hice.
Pero faltaba una cosa: esas luces deberían ser intermitentes, y yo se cómo hacerlo, pero requiere un NE555 con su alimentación y toda la historia. Pero justamente, también encontré en la misma Shoptronica que vendían un dispositivo diminuto (de aspecto muy parecido a los sensores Hall) que puede hacer que un led funcione de forma intermitente, así que pedí, unos cuantos para probar.
El resultado es excelente, y al final del video se ve como hice el montaje y como queda el resultado final.
Bueno, pues aunque un poco largo, creo que ha quedado bien explicado. Cuando esté colocado en la maqueta, funcionando con trenes y con la decoración terminada, espèro poder poner una imagen del resultado final.
sábado, 8 de noviembre de 2014
¿Y porqué no, todo?
La cosa sería como sigue: Supongamos que se hacen una serie de circuitos electrónicos, a los que voy a llamar drivers, adatados a los distintos elementos que puede haber en una maqueta. Asi habría un driver para desviós (para cualquier clase de desvíos) un driver para señales luminosas, un driver para señales mecánicas, un driver para bloqueos, y no se si alguno más. (¿Quizá un driver para servos?) Como se puede ver, el papel de estos drivers es semejante a los decoders de accesorios de los sistemas digitales.
La cosa es que estos drivers tienen siempre entradas por dos o cuatro puertas lógicas. Esto quiere decir dos cosas muy importantes: La primera que todos los circuitos se manejan igual, es decir, para decirlo corto, con pulsadores, como se ve en la imagen de la cabecera, donde hay dos pulsadores P1 y P2 con los que manejamos tanto el driver de desvios marcado como LGS1 como el driver de señal luminosa LGS2 como el driver de semáforo mecánico LGS4 y cualquier otro. Observese que un solo pulsador actúa simultáneamente sobre varios drivers, y podrían ser muchos más.
Ya se que una señal luminosa no se puede manejar con pulsadores pero ahí está la gracia: El driver de señal luminosa se encargará de hacer lo que sea necesario para interpretar las pulsaciones de P1 y P2 para que la señal cambie las luces, y las mantenga encendidas,
Otra particularidad es que todos los drivers, de cualquier tipo, tienen bornas para conectar leds de señalización para cuadros de control. En la figura los he representado como L1 y L2
Otra idea es que todos los drivers llevan alimentación, que además es mediante corriente de accesorios, es decir 10, 12 o 16 Voltios en alterna (hilos negro y azul e el esquema). Esta alimentación como se ve es independiente del circuito de mando constituido por los pulsadores y los hilos de masa (gris) y de señal (violeta)
Las señales, es decir el circuito de pulsadores, y las puertas lógicas funciona con señales de corriente continua de 5 voltios y las intensidades son de miliamperios. Cuando hablo de señales, no estoy hablando de nada especial: la señal es simplemente que el cable de la entrada correspondiente se ha unido a masa, es decir exactamente lo que hace un pulsador de los que venimos utilizando para manejar desvíos. El llamarles señal es porque se se trata de un circuito que usa una tensión continua baja (5V) y que cuando se activa y cae a cero voltios solo consume miliamperios, No tiene por tanto ni la tensión ni la capacidad de corriente que requiere mover por ejemplo un desvío así que sólo sirve para indicar al driver que se ha pulsado el botón, y entonces es el driver el que suministrará al desvío, o al aparato que sea, la corriente con la potencia suficiente para accionar el accesorio. Por eso todos los drivers llevan alimentación independiente, porque de ahí sacan la energía para actuar sobre los accesorios que manejan. Pero esta alimentación es constante y no interviene en activar o no el driver
Otra consecuencia importante de esto: En el caso de los desvíos, si utilizamos el sistema clásico, durante todo el tiempo el circuito está abierto sin consumo alguno, y sólo cuando pulsamos el botón, durante décimas de segundo, se cierra el circuito y se mueve el desvío. Pero esto significa que, durante esas décimas de segundo la fuente de alimentación debe ser capaz de suministrar toda la energía que requiere el desvío para moverse, lo cual implica intensidades de corriente muy altas y por lo tanto alimentaciones potentes que están la mayor parte del tiempo infrautilizadas, No digamos si pretendemos mover varios desvíos en paralelo con un único pulsador. La energía requerida para mover todos los desvíos implica potencias muy elevadas.
Sin embargo, con este sistema, como la alimentación está conectada siempre al driver, éste puede almacenar energía a un ritmo más lento, y cuando recibe la señal, descargar esa energía almacenada hacia el desvío sin necesidad de que la alimentación proporcione esa potencia en un tiempo cortísimo. Es más, como cada driver almacela la energía para su desvío, si conectamos varios en paralelo, cuando la señal ordene activar los desvíos cada driver descargará su energía sobre su desvío con independencia de los demás. Asi que con este sistema, con una alimentación no demasiado potente podemos manejar desvíos muy potentes y sobre todo podemos poner en paralelo todos los desvíos que queramos, Por eso el driver de desvios es exactamente el circuito descrito en el artículo anterior, que lleva condensadores para accionar los desvíos por el método de descarga.
El hecho de que las señales se adapten a la estandarización de los elementos electrónicos tiene otra consecuencia fundamental, y es que estos "pulsadores" en realidad pueden ser una gran variedad de elementos distintos.
Por ejemplo los pulsadores, en realidad pueden ser por lo menos cualquiera de estos elementos :
Ahí vemos elementos manuales como los pulsadores y los conmutadores, elementos que se activan al paso de los trenes como las vías de contacto, los sensores Reed y los sensores Hall, y también elementos tales como un Arduino o una placa de comunicaciones como la Velleman K8055 que podrían conectarse directamente a los drivers porque producen exactamente ese tipo de salidas. Todos estos elementos son equivalentes en el sentido de que, con cualquiera de ellos podemos manejar cualquiera de los drivers y por consiguiente cualquiera de los elementos de la maqueta.
Por otro lado, teniendo la posibilidad de jugar con varias puertas en cada driver, podemos hacer con toda facilidad automatismos que de otro modo serían bastante complicados.Por ejemplo en la figura adjunta vemos tres desvios A B y C y queremos tener el siguiente funcionamiento: Un "pulsador" P1 (que puede ser cualquiera de los dispositivos equivalentes) que ponga los tres desvíos en posición recta. Otro pulsador P2 que ponga los tres desvíos en posición desviada, un pulsador P3 que ponga el desvío A en posición recta, el desvío B en posición desviada, y el desvío C en posición recta, y un cuarto pulsador P4 que ponga el desvío C en posición desviada y no altere la posición de los otros dos desvíos.
Hacer esto a base del método clásico es un bonito rompecabezas que requiere un complicado circuito a base de diodos, pero con los driver de desvío la cosa es tan simple como la mostrada en la figura: Por ejemplo el pulsador P1 queremos que ponga los tres desvíos en recto, pues lo unimos a las tres puertas S. ¿Que el pulsador 3 tiene que poner rectos A y C y desviado el desvío B? pues lo unimos a las puertas S de A y C y a la perta R de B. Y asi de claro para cualquier combinación, sin olvidar que para los drivers de desvío tendríamos cuatro parejas de puertas y aquí sólo hemos usado dos.
Puede parecer un tanto artificioso querer hacer algo como lo que he descrito, pero cosas de ese estilo son las que se necesitan para definir itinerarios, para automatizar estaciones ocultas, etc.
Por supuesto, un bloqueo automático lo hacemos con toda facilidad con los driver de bloques:
Es tan sencillo como poner los sensores en la vía que serían los P1, P2 y P3 de la figura (en este caso no serían pulsadores sino sensores hall o reed) poner un driver de bloque en cada cantón y unir cada pulsador a la puerta S del diver del propio cantón y a la puerta R del driver del cantón anterior. ¡Y nada más! Con eso ya nos funcionará el bloqueo y además tendremos señalización en cuadro proporcionada directamente por los drivers de bloque,
Si además queremos semáforos, luminosos o mecánicos, no hay más que poner los drivers correspondientes y conectar las puertas S y R de los semáforos a los mismos puntos,
En este otro circuito vemos como resolver el típico caso de un bloqueo automático en el que en un cantón hay un desvío por el que un tren puede salir del circuito acantonado. Resolver esto a la forma clásica es bastante complicado, pero aquí, como manejamos con las mismas señales tanto los bloques como los desvíos, el sistema queda así de simple:

miércoles, 15 de octubre de 2014
Otro driver de servo
Hace ya unos meses, publiqué aquí (algo más que un inventillo) un circuito que permitía manejar servomotores de aeromodelismo. El circuito estaba hecho para manejar cuatro servos, con objeto de aprovechar mejor algunos de los circuitos integrados, que eran de tipo cuádruple.
Sin embargo, algunas personas que lo probaron me sugirieron que debería ser posible ajustar la velocidad de giro. Es curioso que los que me lo decían pensaban que debía ser fácil modificar el circuito para conseguirlo. Sin embargo, en cuanto se explica cómo funcionaba ese circuito, queda claro que conseguir una velocidad variable no era posible.
El circuito generaba dos señales, la correspondiente al ángulo inicial y al ángulo final, alternativamente, según recibía la orden de situarse en un extremo o en el otro. Por lo tanto estando el servo en un extremo, al recibir la orden de cambio el circuito cambiaba instantáneamente la señal a la correspondiente al otro extremo. En respuesta a ese cambio de orden el servo giraba hacia la nueva posición, pero lo hacía todo lo rápido de que era capaz, puesto que la orden de cambio había sido instantánea. Por lo tanto la velocidad de movimiento dependía exclusivamente de lo rápido que fuera capaz de girar el servo, y no del circuito. De hecho un servo se considera que es de mejor calidad cuanto más rápido se mueva.
Por el contrario, si queremos que un servo se mueva más despacio, lo que hay que hacer es ir generando sucesivamente la señal correspondiente a una serie de posiciones intermedias, de manera que el servo se vaya moviendo al ritmo que va cambiando la señal. Queda claro que hacer esto, es decir, generar una serie de señales para por ejemplo 100 posiciones intermedias, y hacerlo a un ritmo determinado, que se pueda ajustar, para que la velocidad de movimiento se pueda variar, es algo totalmente distinto que generar solo dos señales y cambiar de forma instantánea de una a otra, y parece que es mucho más difícil.
Yo estaba convencido que la única forma práctica de hacer eso era mediante un microcontrolador. De hecho, los driver de servo con velocidad ajustable que yo conozco están basados en microcontroladores,
Sin embargo, cuando hice un controlador con simulación de inercia (PWM05I) expliqué que se podía utilizar un potenciómetro digital como el DS1804 para automatizar un sistema que normalmente manejamos con un potenciómetro manual. En aquél proyecto, se utilizaba para controlar la velocidad de los trenes con un controlador PWM, y he pensado que el caso de los servos es análogo, porque si podemos hacer un driver para mover un servo con un potenciómetro manual, también podemos automatizar el movimiento con un potenciómetro digital.
Efectivamente, el sistema funciona, y no solo permite variar la velocidad de giro y la amplitud de giro del servo, sino que el circuito resulta sorprendentemente sencillo. Sólamente dos chips resuelven todo el tema.
He hecho un primer prototipo para probar el concepto y el resultado es el que vemos en la imagen de cabecera. La verdad es que me arriesgué demasiado encargando la fabricación de una placa de PCB, y luego he tenido que chapucear un poco en ella, como se ve en la imagen, pero ya tengo el diseño terminado, asi que me tocará encargar alguna nueva placa con las modificaciones derivadas de esta prueba.
Pero lo interesante, lo tenemos en el vídeo siguiente:
Como se puede ver, el circuito funciona perfectamente, y eso que la prueba está hecha con un servo bastante malo. Voy a ver si me hago con uno más decente.
Como se ve en el vídeo, el circuito se maneja mediante pulsadores, es decir exactamente el método estándar para manejar desvíos. La alimentación es por corriente "de accesorios" y podría ser alterna o continua de entre 12 y 16 voltios.
Además se ven unos conectores no usados en la placa, de los cuales uno es para señalización por leds en un cuadro de control y el otro es un conmutador que puede usarse por ejemplo para la polarizacion del corazón de los desvíos.
Hay dos controles de ajuste, uno para la velocidad del giro, y el otro para ajustar la amplitud del movimiento.
Como decía antes, el circuito se basa en el potenciómetro digital DS1804 que es desplazado en un sentido u otro mediante pulsos generados por un circuito NE555. A su vez. la resistencia variable del potenciómetro sirve para cambiar la anchura de pulsos de un segundo NE555 que es el que genera los pulsos que controlan el servo. Los dos NE555 en realidad comparten un único chip NE556, asi que solo hay dos integrados, el potenciómetro y este temporizador doble.
Asi que la parte esencial del circuito es esta:
Espero que algún lector le pueda sacar utilidad a este circuito, ya que al conseguir un movimiento tan lento se pueden manejar por ejemplo barreras de pasos a nivel, portones de cocherones, etc. Por supuesto también desvíos, que se moverán con una "elegante lentitud" aunque posiblemente esto no sea muy realista, porque en realidad los desvíos motorizados del tren real, se mueven bastante rápidamente.
jueves, 20 de marzo de 2014
Detectando trenes ( y II )
Terminaba el capítulo anterior, exponiendo los resultados del estudio realizado sobre el tema de la detección de trenes, y llegando a la conclusión de que debe haber al menos dos fuentes de alimentación, una para proporcionar la corriente normal que regulamos para ajustar la velocidad de los trenes, y otra cosa que genere una señal análoga a la que produce un regulador puesto al mínimo, de forma que las locomotoras que circulan se alimentan del primer controlador y las que están paradas pero son todavía detectables se alimentan del segundo.
Como ya decía este sistema basado en en la detección de consumo es mucho más perfecto, pero mucho más complicado de implementar. El esquema que puse en el artículo anterior para un control con relés biestables y detectores de paso no tiene ninguna exigencia respecto de la corriente con que alimentamos el trazado de vías. Ya decía que puede ser alterna , continua, PWM o digital, y tampoco hay ninguna exigencia respecto de si la alimentación es única para todo el circuito, o hay un controlador para cantón o es un sistema mixto en el que hay varios controladores pero no necesariamente uno por cantón. Es decir, libertad absoluta en cuanto al sistema de tracción.
Sin embargo aquí, con un sistema de detectores de consumo, no puede haber ninguna libertad en ese aspecto, porque como hemos visto, la detección o no de una locomotora, depende de cómo se comporte el controlador a velocidades muy bajas e incluso cuando la locomotora llega a pararse. En resumidas cuentas que no puede diseñarse, ni mucho menos, un sistema de control por consumo que valga para cualquier controlador, sino que más bien, lo que hay que diseñar, es un controlador que tenga incorporado un sistema de control por consumo, y cuyas características, tanto en marcha normal como en marcha lenta y en situación de parada estén perfectamente controladas y estén diseñadas para este tipo de control. Asi que a partir de ahora, todo va a referirse exclusivamente a sistemas analógicos y los controladores van a ser de tipo PWM.
En resumidas cuentas, mi propuesta es un sistema que se compondría de un número de dispositivos que son a la vez controladores y sistemas de bloqueo. En un circuito de vía en el que queramos incorporarlo, se pondría uno de estos elementos para cada cantón, (estarían todos ellos en un cuadro centralizado) y cada uno de ellos tendría un mando para regulación de la velocidad en un cantón y todo el sistema de bloqueo incorporado, en el cual, en principio, no habría que manejar nada, ya que sería completamente automático.
A mi siempre me ha parecido que manejar más de un tren en analógico con un mismo controlador, es un error, porque naturalmente no podemos evitar que las dos locomotoras funcionen al unísono. Desde mi punto de vista es siempre mucho mejor hacer un sistema en el que cada cantón tenga un controlador distinto, de manera que nunca haya dos trenes manejados por el mismo controlador, en definitiva lo que los americanos bautizaron como "Block Control" o control por bloques indicando que cada controlador maneja un bloque o cantón . Ya sabemos que lo perfecto es que cada controlador maneje siempre la misma locomotora, y vaya pasando a controlar el bloque según la locomotora avanza de uno a otro,(el famoso Cab Control) pero eso es mucho más complicado, porque se requiere inteligencia (léase microntroladores u ordenadores).
Naturalmente cuando hablo de un controlador para cada cantón me refiero exclusivamente al elemento de control de velocidad. La fuente de alimentación con la que alimentamos los controladores puede ser única.
Puede parecer un poco exagerado poner un controlador para cada bloque, pero hay que tener en cuenta que al hacer esto, garantizamos que nunca hay más de un tren alimentado por cada controlador, de manera que éste no necesita más potencia que la que requiere un único tren, y por lo tanto puede ser sencillo y barato. Además así aseguramos la total independencia del movimiento de cada tren, de manera que se evita el típico efecto que se da en los bloqueos automáticos que mueven varios trenes con el mismo controlador, que aparece cuando un tren se para ante un semáforo, y que hace que los demás aceleren la marcha al haberse reducido la carga del controlador.
Y por supuesto nos permite en cualquier momento intervenir sobre cualquiera de los trenes, sin más que actuar sobre el controlador del cantón en que está. Si suponemos por ejemplo que en uno de los cantones tenemos una estación, podemos hacer que cuando un tren esté entrando a ese bloque, tomemos el mando del mismo y le hagamos hacer, por ejemplo, una parada lenta, detenerlo por el tiempo que queramos y volver a arrancar suavemente, todo ello manejando manualmente ese tren y sin que los demás dejen de seguir su marcha por los demás cantones y sin que deje de funcionar el sistema de bloqueo, que por ejemplo impedirá que un segundo tren entre en el cantón de la estación hasta que quede liberado, bien porque hayamos hecho de nuevo una arrancada para seguir circulando, o incluso porque lo hayamos conducido a un apartadero y hayamos desconectado la vía del sistema de detección.
Con esta idea me he dedicado a diseñar un sistema basado en mi controlador PWM04, pero incorporando los elementos necesarios para el bloqueo. Si vemos el esquema que aparece en la imagen de cabecera, se puede apreciar que hay dos Temporizadores NE555, uno de los cuales genera la señal PWM cuando la locomotora circula, y el otro para cuando está parada. Realmente he usado he usado un chip NE556 que es como dos NE555 juntos.
Arriba hacia la derecha se ve el controlador de motor L293D que junto con el NE555 son los componentes básicos del controlador
Mas a la derecha se ven dos motores. Debo aclarar que este esquema no es constructivo sino está hecho para simular el funcionamiento. Por eso aparecen en el esquema unos motores que representan los motores de las locomotoras, formando parte del esquema. Hay dos motores porque el sistema puede emular dos estados distintos: cuando la locomotora está situada en la parte general del cantón y cuando está situada en el tramo de parada. En ambos casos hay que detectar la locomotora, pero ésta solo debe detenerse en el tramo de parada, y no en el general, aunque el cantón siguiente esté ocupado. Debajo de los motores se ven también los optoacopladores y el resto del circuito, que ya comenté en el artículo anterior.También en este caso se usa un único chip que tiene dos optoacopladores.
Toda la parte central está ocupada por unos controladores de buffer 74HC125 y 74HC126 que me han funcionado muy bien en el circuito controlador de servos. La cuestión es que en los PWM04 el cambio de dirección de las locomotoras se hacía mecánicamente con un comnutador, pero aquí hay más cosas que hacer y que tienen que ser automáticas, como el cambio de uno a otro de los generadores de pulsos, la anulación del control cuando los trenes circulan al revés, etc. En consecuencia, en este diseño todo el control del L293D es digital y se hace en función de las peticiones que hace el usuario y de las detecciones de las locomotoras. La lógica de este control, está cableada en la zona central del esquema.
Abajo, en el centro tenemos tres botones con los que el usuario ordena las funciones de marcha adelante, marcha atrás y parada. El Latch 4043 mantiene la situación de las órdenes dadas por estos pulsadores.
Por último, abajo a la derecha, está la zona de señalización. Una serie de leds indican la situación del cantón siguiente (rojo / verde) la detección de una locomotora en el cantón actual con leds amarillos (según sea en la zona general o la de parada) y la activación de la parada (led rojo). Estos leds podrán repetirse en el cuadro de mandos
Y curiosamente, después de tanta tecnología, hay un relé: RL1. Lo he puesto sencillamente para tener la posibilidad de conectar un semáforo de luces y que éste pueda ser de cualquier tipo.
Y una cosa curiosa, que no había hecho nunca: necesitaba una puerta AND para sumar dos señales (El tren se para si está en el tramo de parada AND el semáforo está en rojo). Naturalmente hay chips con puertas AND pero lo mínimo que tienen son cuatro puertas. Me parecía poco elegante poner un chip de cuatro puertas para usar sólo una, así que he investigado cómo se puede hacer una puerta AND con transistores y en efecto puede hacerse, y son los dos transistores BC547 que se ven en el esquema. No se si tiene cuenta poner dos transistores y tres resistencias en lugar de un chip con cuatro puertas, aunque sólo se use una, pero no cabe duda de que la solución es más elegante.
Bien, pues según la simulación de Proteus este circuito funciona perfectamente, asi que ahora faltaría hacer un diseño constructivo, diseñar el PCB, encargar la fabricación de placas..... y que funcione realmente!
Si esto funciona como espero, será un sistema de bloqueo con detección por consumo, con las correspondientes ventajas que esto aporta, con controlador de velocidad independiente para cada cantón, con un número ilimitado de cantones, con manejo incluído de un semáforo para cada cantón, con señalización en cuadro de control, y utilizando corriente PWM para la tracción de las locomotoras.