jueves, 24 de noviembre de 2011

PWM (II)


Acababa el artículo anterior exponiendo las dificultades que presenta el regulador de System Jörger y preguntándome si no habrá una solución que solvente esos problemas. Tengo que decir antes de nada que estos problemas aparecen cuando se pretende utilizarlo para situaciones para las que no está diseñado, es decir para grandes maquetas en las que hay más de un circuito, para manejar varias locomotoras a la vez, etc. Como elemento para manejar una pequeña maqueta con una circulación sencilla, el regulador de Jöerger es ideal.

Pero yo me pregunté: ¿no se podría hacer un regulador con mando por PWM, pero sin pretender hacer los automatismos para arranque suave, que cuando se utilizan en más de un circuito resultan perjudiciales, y dotarle de más potencia, de modo que pueda mover cómodamente dos o tres locomotoras?  Y puestos a pensar, me di cuenta de que tenía todos los mimbres, puesto que en el circuito COLA1 tenía el diseño de un generador de pulsos de ancho variable, y en el diseño del Etapa de Potencia, tenía el diseño de una salida con una potencia más que suficiente. Así que como sólo faltaba hacer el cesto, me puse a ello, aprovechando que estaba liado con la realización de circuitos para el manejo de servos.

El diseño electrónico se ha materializado en este circuito:



Es un circuito muy sencillo, derivado del utilizado en COLA1, pero con una diferencia fundamental, ya que el pequeño transistor MPSA13, ha sido sustituído por el TIP110, montado además con un disipador. Esto hace que la corriente de salida pueda alcanzar tranquilamente los 2 Amperios. Naturalmente le he puesto una protección contra sobrecargas que en teoría corta a 1,85 Amperios.



Me plantee también la forma de alimentar este circuito. Podía haber pensado en una fuente de alimentación completa que se conectase a la red, pero he preferido seguir la tendencia actual de utilizar un "adaptador de red" que se conecta en un enchufe, y proporciona ya una corriente de tensión reducida y rectificada. En la tienda de electrónica me vendieron el adaptador que vemos en la imagen capaz de dar 2 Amperios a 12 Voltios.

¿Doce voltios? Si, en efecto parece excesivo toda vez que los trenes de Z no deberían pasar de 9 Voltios. El motivo de esto, es que no me fío de la calidad del adaptador de red, y he preferido complementar el circuito con un filtro y un estabilizador de tensión. El circuito de estabilización es el que vemos a continuación:



Aunque en esta fotografía no se ve, porque está situado debajo del disipador, el corazón de este circuito es un estabilizador L78S09 que también resiste 2 amperios Así que este circuito proporciona una corriente estabilizada de 9 Voltios con un limite de 2 Amperios. No lleva protección, porque el propio L78S09 incorpora sus propias protecciones contra sobrecarga y sobrecalentamiento.



En un principio hice un único circuito incluyendo el controlador y el estabilizador en una única placa, pero al probarlo me di cuenta que los disipadores que había usado resultaban pequeños y tanto el estabilizador como el regulador se calentaban en exceso. Tuve que buscar unos disipadores mucho más grandes, y me decidí entonces a hacer dos placas de circuito separadas. Una de las ventajas de hacer esto, es que puedo hacer por ejemplo un controlador dual con dos reguladores y un solo estabilizador. En teoría un estabilizador no puede alimentar dos reguladores ya que solo da 2 A que es el limite del estabilizador, pero ¿cuando iban a funcionar los dos reguladores a su máxima potencia simultáneamente?

Y podía decir que eso es todo, porque con esto ya funciona, pero he querido darme el capricho de hacer un montaje de aspecto profesional. No hay más que ver la fotografía de portada para darse cuenta de que efecto, he conseguido un acabado muy digno.

El montaje está hecho sobre una caja de la marca Retex, con forma de pupitre, cuerpo de plástico y tapa de aluminio. Sobre la tapa he pegado una lámina impresa con el ordenador y posteriormente barnizada, lo cual le da un aspecto muy profesional. La carátula es muy sencilla ya que contamos solamente con el mando del potenciómetro que regula la velocidad, un conmutador para el cambio de dirección, y dos pilotos para indicar el funcionamiento y la posible sobrecarga del circuito.

He bautizado este montaje como PWM09V lo cual no es muy original sabiendo que su misión es generar una corriente de tipo PWM con  9 Voltios de tensión.

Y ya en plan "chulo" le he puesto como marca, el logotipo del programa ControlZ.

Un pequeño comentario: los controladores PWM no llegan nunca a cerrar completamente la corriente. Con el mando al mínimo aún llegan a la locomotora unos pulsos muy cortos, con los cuales no se mueve, pero que tienen dos efectos curiosos: Por un lado se puede oír un ligero zumbido en la locomotora que a mucha gente le parece peligroso. Por otro lado, si las luces de la locomotora son de leds, en función de como esté hecho el circuito de luces, puede ocurrir que estos pequeños picos de tensión sean suficientes para encender las luces. Así que llevando el mando a cero, la locomotora se queda ronroneando y con las luces encendidas. La solución a esto es poner un interruptor para cortar la corriente que llega a las vías. Los reguladores de Jöeger llevan el clásico interruptor asociado al mando de velocidad, de manera que llevando el mando al mínimo y haciendo el click al final de  movimiento la corriente se corta. Bueno es una solución, pero a mi no me gusta demasiado.

Lo que yo he hecho es utilizar un conmutador de tres posiciones para el cambio de marchas hacia delante y hacia atrás. Dejando el comutador en la posición central, cortamos la corriente. Por eso el mando está marcado con tres opciones "adelante" "paro" "atrás". Dejando el mando en esta posición central, la corriente está cortada. Pero lo curioso es que estando el regulador al mínimo, si movemos el conmutador a la posición "adelante" la locomotora no se moverá, pero se encienden las luces de marcha adelante. Por el contrario, si ponemos el pulsador en la posición de "atrás" se encienden las luces correspondientes a la marcha atrás. Todo esto naturalmente suponiendo que la locomotora cuente con luces de leds. Asi que de una forma muy simple se simula el efecto que todo el mundo asocia al mando digital: La locomotora es capaz de permanecer parada con las luces encendidas y cambiar el sentido de las luces según si va a moverse en uno u otro sentido, antes de empezar a moverse.

Por la parte trasera, la caja lleva la conexión para el adaptador de red, un interruptor general, para encender y apagar el equipo y las conexiones para conectar a la vía. Inspirado en los reguladores de Märklin que llevan unas pinzas para conectar los cables, he utilizado aquí algo muy parecido, Se trata de un conector del tipo utilizado para conectar altavoces en muchos aparatos, ya que también son unas pinzas que atrapan directamente el cable pelado.

En definitiva, que ha quedado muy bonito y muy profesional, pero claro la pregunta del millón es: ¿Y funciona?

¡Naturalmente! ¿Alguien lo había dudado? (aparte de mi naturalmente).  Bueno el caso es que funciona perfectamente, tal como puede verse en el siguiente vídeo, en el que hago hincapié en las dos características más sobresalientes: La capacidad de controlar las locomotoras a velocidades muy lentas, y la posibilidad de manejar varias locomotoras de forma simultánea.




Yo creo que este regulador es una alternativa muy buena a las otras soluciones existentes para controlar nuestros trenes de escala Z, asi que como es habitual, próximamente se encontrará en la página de descargas de este blog, todo lo necesario para construir de forma artesanal uno de estos reguladores.

Y a todo esto, nos faltaba hablar de los problemas que surgen cuando alimentamos circuitos de vía contiguos, con reguladores de tipo PWM. Como el tema requiere algunas explicaciones un poco largas, lo dejaremos para un próximo capítulo.





miércoles, 23 de noviembre de 2011

PWM (I)

A lo mejor algún lector se ha sorprendido de que el artículo anterior dijese que los circuitos utilizados para mover los servos y el control de velocidad que desarrollé en su momento (COLA01) fuesen tan semejantes, que incluso me había llevado al error de utilizar para el primero el mismo transistor utilizado para el segundo, lo cual no resulta muy adecuado, aunque desde luego funcionaba perfectamente.

Pero efectivamente sorprende la semejanza de ambos circuitos, ya que ambos se basan en el circuito integrado NE555. Es curioso que este integrado, que suele denominarse como "timer" tiene un montón de aplicaciones, todas ellas relativas a la generación de impulsos.

En nuestro caso, en ambos casos, se utiliza para crear lo que se denomina una señal PWM (Pulse Width Modulation) que es una onda cuadrada de ancho de pulso variable



Las imágenes muestran el aspecto de la onda generada. Como vemos es una onda cuadrada en la cual el valor de "ancho de pulso" puede hacerse variar respecto del periodo, desde un mínimo prácticamente nulo, hasta un máximo casi igual al periodo, lo que llega a convertir la onda prácticamente en corriente continua. En la imagen siguiente vemos tres ejemplos de ondas PWM en las cuales el periodo es siempre el mismo, pero el ancho de pulso adopta distintos valores equivalentes al 25, 50 y 75 por ciento del periodo.



En un motor de corriente continua, para regular la velocidad, lo que hacemos normalmente es ir aumentando la tensión desde cero hasta un máximo que en el caso de los motores de la escala Z es de 9 voltios. El problema de esto es que estando el motor parado, si vamos aumentando lentamente la tensión, hasta que no se llega a una tensión capaz de vencer el rozamiento (de las escobillas, los cojinetes del motor, el tren de engranajes, etc) el motor no se mueve. Cuando se alcanza esta tensión, que puede ser con tres o cuatro voltios, el motor arranca, pero ocurre que el rozamiento una vez en marcha es menor que con el motor parado, de manera que una vez que la locomotora arranca, lo hace ya con una cierta velocidad, y si entonces disminuimos un poco la tensión, provocamos una situación inestable que produce la parada de la locomotora en muy poco tiempo.

Supongamos ahora que alimentamos el motor con una onda cuadrada en lugar de corriente continua, de forma que el pulso pase de 0 a 9 voltios y viceversa cada cierto tiempo.

Cuando a la locomotora le llega el pulso de 9 Voltios, como esta tensión es muy superior a la que le hace arrancar, la locomotora arrancará con intención de salir corriendo a toda velocidad, puesto que le llegan 9 voltios, su máxima tensión. Sin embargo, antes de que se alcance esa velocidad máxima, por ejemplo un milisegundo después, la corriente pasa otra vez a cero, con lo que la locomotora tiende a pararse. De nuevo antes de que se pare llega otro pulso de 9 voltios, etc. En principio la locomotora iría a tirones, pero la inercia, principalmente la inercia de giro del rotor del motor, que actúa como un volante, estabiliza el giro, alcanzando una velocidad que viene a corresponder aproximadamente a un porcentaje de la velocidad máxima, equivalente al porcentaje del ancho del pulso respecto al periodo de la onda. O sea: si el pulso dura la mitad del periodo, la locomotora se moverá como si la alimentásemos con corriente continua de 4,5 Voltios, que es la mitad de la tensión máxima.

¿Cuál es entonces la ventaja? Pues que en el momento en que la locomotora recibe un pulso de 9 Voltios, supera todos los rozamientos y arranca (digamos que no sabe si el pulso va a ser muy largo o muy corto: arranca en cualquier caso) De modo que con pulsos extrordinariamente cortos que correspondan por ejemplo a un 10% del periodo, la locomotora se moverá como si la estuviésemos alimentando con 0,9 voltios, ¡pero se moverá! De hecho la velocidad es muy lenta, pero la locomotora no deja de moverse porque los pulsos de 9 Voltios vencen los rozamientos en cada periodo.

Hay otra ligera ventaja adicional: si queremos que una locomotora se mueva despacio con corriente continua , la tendremos que mantener alimentada con corriente continua de tensión reducida, por ejemplo 4 voltios. Por el contrario con una onda cuadrada, hay momentos en que la tensión es cero, pero cuando hay tensión, hay 9 voltios. Por lo tanto es menos sensible a las caidas de tensión que se pueden producir por un contacto deficiente entre las ruedas y las vías. Lo cual es un tema extraordinariamente importante en nuestra escala.

Se podrá pensar si esta forma de mover el motor puede representar algún problema para la locomotora, por ejemplo un mayor calentamiento. No hay ningún problema puesto que el calentamiento es siempre producido por la disipación de la energía electrica consumida en la locomotora y no transformada en movimiento. La onda cuadrada transporta una energía que es proporcional al ancho del pulso, llegando a ser igual a la tensión continua cuando el ancho del pulso iguala al periodo. O sea que si el periodo es del 50% la locomotora se calentará lo mismo que si la alimentamos con 4,5 voltios de continua, que es el 50% de los 9 Voltios que puede soportar. De hecho, a velocidades muy bajas, como la locomotora alimentada con onda cuadrada, se sigue moviendo, algo de energía se emplea en ese movimiento, mientras que con la continua equivalente la locomotora no se mueve, toda la energía se transforma en calor, luego el calentamiento será incluso mayor.

Todos los decoders digitales generan corriente PWM para alimentar los motores de las locomotoras a las que se conectan. Esto ha contribuido a la buena fama de los sistemas digitales, ya que la gente asocia este buen comportamiento al sistema digital, e incluso hablan de corriente digital, cuando en realidad, los motores conectados a los decoders digitales son alimentados por corriente PWM, que no es en absoluto digital ni podría serlo, ya que un motor es un dispositivo analógico, no digital.
Todo este sistema puede funcionar en principio con cualquier frecuencia, pero parece que para la escala Z resultan especialmente apropiadas las frecuencias por debajo de los 100 Hz. Esto corresponde a un periodo de 0,01 segundos, de manera que un pulso del 10% del periodo tendrá una duración de 0,001 segundos. Obsérvese que para frecuencias mucho más altas, del orden de Kilohercios, el sistema funciona exactamente igual, pero los efectos de la inductancia de las bobinas del rotor o el efecto del condensador antiparasitario ya no pueden ignorarse, así que es mejor quedarse en estas frecuencias bajas. En los sistemas que yo he diseñado procuro quedarme en frecuencias del orden de 40 Hz, ya que ir a frecuencias más altas, estaremos dentro del espectro de frecuencias audibles, y puede ocurrir que algunos elementos del motor entren en resonancia con esa frecuencia de modo que las locomotoras produzcan un sonido, lo cual puede resultar chocante (Y hasta alarmante). En algo tan pequeño como una locomotora de Z es imposible encontrar algo que pueda entrar en resonancia a 40 Hz

La consecuencia de todo esto, es que alimentando las locomotoras con una corriente pulsante de ancho de pulso variable (que es lo que conocemos como PWM) se obtiene una regulación superprecisa de la velocidad, y en particular a velocidades lentas y muy lentas, que no se pueden alcanzar con reguladores de tensión continua variable.

Con respecto a los servos, la situación es parecida, porque el driver genera también una señal de tipo PWM, pero en este caso, esta señal NO alimenta el motor, que recibe corriente continua constante de 5 V por dos hilos (normalmente rojo y negro) La señal PWM se hace llegar al servo por un tercer cable (normalmente blanco) y no llega al motor, sino a un circuito electrónico situado en el interior del servo. Variando el ancho de pulso de esta señal, el circuito del servo hace que el servo se mueva justo a la posición determinada por la anchura del pulso. Así que si el pulso se hace más ancho, el servo se mueve a la nueva posición que corresponde a ese nuevo ancho de pulso. Normalmente los servos están construidos de forma que con pulsos de 0,001 segundos se sitúan en la primera posición extrema de su recorrido, y con 0,002 segundos se sitúan en el otro extremo. Valores intermedios hacen que el servo se pare en una situación intermedia. El periodo de la señal es poco relevante, pero suele estar alrededor de los 0,02 segundos, o sea que se trata de señales PWM con un porcentaje de pulso respecto al periodo bastante bajo.

Explicado todo esto, cuesta trabajo entender la razón por la cual es tan difícil encontrar alimentaciones de tipo PWM para la escala Z. (no hablo de otras escalas, porque desconozco su mercado, pero en ellas la tendencia clara es ir a sistemas digitales, por lo que no se necesitan alimentaciones analógicas PWM). Ciñéndonos a la escala Z, yo conozco solamente tres productos que utilicen este sistema:

System Jörger Fabrica el más conocido de los reguladores PWM, al menos para Europa. En realidad fabrica dos modelos, uno más sencillo, que vende a 22 € y el modelo de luxe que vende a 39 €. En ambos caso se trata sólo del circuito, sin caja, alimentación, y ni siquiera conmutador de inversión.


Ztrack Snail Speed Controller Es curioso el nombre de este dispositivo ya que su traducción viene a ser "Controlador de velocidad de caracol" Es un modelo bastante sencillo pero al menos tiene caja y conmutador de inversión. Su precio: 35,75 $ Está pensado para ser alimentado con una pila, pero naturalmente podemos conectarlo a una alimentación portátil.

Gaugemaster Aunque Gaugemaster no lo aclara bien, parece ser que entre sus reguladores, los tipos denominados "UF" y "UDF" y que Gaugemaster identifica como Feedback producen corriente pulsada. Al menos eso se deduce de esta frase copiada de sus especificaciones;  "FEEDBACK controllers feature a pulsed design, with excellent low speed running and Constant Speed over points, around curves and up and down gradients." El precio: 35 libras No incluye alimentación, pero si un panel para situar en un cuadro.

Y yo no conozco más oferta de controladores por corriente pulsada.

-------------------------
Edito en 12/2012:

Ha aparecido un nuevo controlador PWM en el mercado americano: Medvend AN-1-C






-----------------------------------
Lo primero que llama la atención, es la poca oferta que hay, pero sobre todo el hecho de que provenga de fabricante marginales ¿porqué no tenemos un regulador PWM fabricado por Märklin para la escala Z? ¿porqué los más conocidos fabricantes americanos o japoneses de esta escala no fabrican este tipo de alimentaciones? Como vemos por los precios, son productos algo caros pero no prohibitivos.

La explicación que se me ocurre es que estos productos tienen algunas limitaciones. Por lo que yo se, no funcionan bien con motores que no sean de escobillas, por lo cual esta podría ser la causa de su nula utilización en el mercado americano y japonnés que tienden a utilizar motores coreless.

Pero ¿y Märklin? sus antiguos motores de escobillas funcionan de maravilla con las alimentaciones PWM así que no hay motivo para que Märklin no oferte una alimentación de este tipo para su escala Z. Vista la enorme mejora en el comportamiento de sus locomotoras no se entiende que Märklin no lance un regulador PWM, obligando a sus clientes a sufrir con sus primitivas alimentaciones de corriente continua, o a recurrir a Herr Jörger.

Solo se me ocurre una explicación: Las alimentaciones por PWM tienen un problema cuando pretendemos utilizar mas de una en una maqueta con varios sectores de vía. En primer lugar los aislamientos entre los sectores contiguos de vías que vayan a reguladores distintos tienen que se totales (los dos carriles aislados) y además cuando un tren pasa por una zona de cambio de regulador, puede hacer "cosas raras" que luego explicaremos.

Ya hemos comentado que Märklin tiene la filosofía de que sus productos deben poder ser manejados por cualquier persona sin ninguna idea de electricidad y sin ninguna complicación. Así que un sistema que hace que en determinadas circunstancias un locomotora de "un tirón" o un "parón" al pasar de un sector a otro le parece inadmisible a Märklin. Bueno: es la filosofía de la marca.

Muchos aficionados utilizan los reguladores de System Jörger, y yo mismo, a la espera de resolver completamente el control de tracción por ordenador, tengo instalado en mi maqueta un control de System Jörger. Todos los videos de mi maqueta en los que vemos trenes circulando, están manejados por este control. Como se puede comprobar, en ningún caso circula más de un tren a la vez, porque efectivamente tengo un solo control instalado.

Esto me lleva a una cuestión: El control de System Jörger sólo permite manejar una locomotora. La causa es que tiene un limitador de corriente que interrumpe la alimentación cuando pasamos de 500 mA. Bueno, esa es la teoría, porque en realidad corta bastante antes, quizá con 300 0 350 mA. Es decir, que sólo puede manejar UNA locomotora. Jörger lo advierte en sus especificaciones.Esto tiene varias consecuencias negativas: En primer lugar, hay que olvidarse de trenes con dos cabezas motrices, como pueden ser el Senator o el VT11. Eso ya es francamente invalidante para muchas personas, aunque no es mi caso, ya que no tengo ese tipo de trenes.

Sin embargo, tampoco se puede hacer una doble tracción, con dos locomotoras, cosa que era bastante habitual en la época del vapor, así que eso si que me afecta. Y por último, en algunos casos, se puede dar el caso de que una locomotora, no llegue a arrancar con el regulador de Jörger. Posiblemente la locomotora necesita un limpieza, pero a mi, me ha pasado.

Por otra parte, este regulador tiene un sistema de "simulador de inercia". Es decir que si tenemos una locomotora parada y le damos marcha con el regulador de System Jörger, la locomotora se mueve inicialmente despacio y va ganando velocidad poco a poco. Se trata de un efecto de arranque suave más que de un simulador de inercia, porque la velocidad final se alcanza en unos segundos. Esto está muy bien, por ejemplo para un circuito con bloqueo por cantones en analógico, ya que los arranques en los semáforos serán suaves. Muy bien, peeeeeeero:

Supongamos que tenemos un trazado en que un tramo está alimentado con un regulador de System Jörger, y después de un corte aislado entramos en un segundo circuito alimentado por un segundo alimentador de Jörger. Ponemos los dos reguladores en la misma dirección y lo más exactamente posible a la misma velocidad. Si viene un tren a velocidad de crucero manejado por el primer regulador y llega al empalme, al pasar al segundo regulador, para este segundo se trata de un tren nuevo que no existía, de modo que al hacerse cargo del tren pretende hacerle un arranque suave. Como el tren no estaba parado, el resultado es un frenazo seguido de una nueva aceleración hasta la velocidad de régimen. No es de recibo.

Nótese que este problema no se debe a que el Jörger sea un PWM sino al efecto de arranque suave. En esa misma situación, es decir cuando pasamos de un circuito a otro, ambos regulados por controles PWM, hay otro efecto que con el Jörger se superpone al explicado, produciendo un comportamiento poco predecible y que veremos en el próximo artículo.

Así que aunque son batante buenos los System Jörger tienen sus problemas. En algunos foros en los que participo se han señalado estos problemas y los aficionados se quejan de que no encuentran una solución buena.

Bueno pues la solución,,,, en el próximo capitulo.

Editado 02/07/2013

Incluyo esta edición. porque me han llegado algunas comunicaciones acerca de que la corriente pulsada o PWM produce un mayor calentamiento que la equivalente continua, porque la corriente PWM tiene un valor eficaz igual al valor de pico, mientras que el valor eficaz de la continua es igual al valor de pico dividido por la raíz cuadrada de 2 (aprox. 1,41). He visto también algún artículo en el que se cae en el mismo error.

El origen del error está en que cuando se habla de valor eficaz o valor RMS  (root mean square) se suele decir que para una onda cuadrada el valor de la intensidad eficaz coincide con el valor máximo de la intensidad, o sea lo que hemos llamado aquí intensidad de pico. Véase por ejemplo el artículo de Wikipedia http://es.wikipedia.org/wiki/Valor_eficaz.

El error está en que eso se refiere a una onda cuadrada alterna, es decir la que pasa de un valor positivo de la tensión a un valor negativo, (normalmente simétrico, aunque no necesariamente) de manera que la tensión o tiene el valor positivo o tiene el valor negativo, pero nunca tiene el valor cero. Es el caso de la señal que producen las centrales digitales.

Por el contrario, una onda PWM, pasa de un valor positivo a un valor cero, y permanece en cero una determinada fracción del periodo, hasta que vuelve a tomar el valor positivo.  Es por tanto una cosa bien distinta, porque por ejemplo para una anchura de pulso muy pequeña la mayoría del tiempo la tensión es cero mientras que en una onda cuadrada alterna la tensión nunca es cero. La primera consecuencia de esto, es que en la señal cuadrada alterna, la intensidad eficaz es constante e igual al valor de pico con independencia del periodo y de la anchura de los pulsos. En cambio el valor eficaz de la corriente PWM es proporcional a la anchura de pulso y por lo tanto varía en función de la relación entre la anchura de pulso y el periodo, llegando a ser nula si los pulsos se estrechan hasta desaparecer.

Por eso es totalmente distinto colocar una locomotora analógica de corriente continua en una vía alimentada por corriente digital o por corriente PWM. En el primer caso la locomotora se puede mover o no, pero en todo caso su motor está sufriendo un calentamiento equivalente a una corriente del valor de pico de la señal digital, o sea muy por encima de lo que ocurre con corriente continua, así que se puede calentar y estropearse en muy poco tiempo. Por el contrario con PWM, el calentamiento corresponde a la intensidad eficaz de la corriente PWM. Como la intensidad eficaz de la corriente PWM es siempre mucho menor que la corriente de pico, la locomotora no se recalienta. De hecho solo cuando la anchura de pulso llega a igualar el periodo ( o sea a tope de velocidad) la intensidad eficaz de la corriente PWM llega a igualar a la continua equivalente, de manera que en ese momento, a máxima velocidad, el calentamiento del motor sería el mismo que con corriente continua, pero no más.

Una buena imagen, es que cuando representamos la gráfica de la intensidad de una corriente en función del tiempo, la potencia entregada por esa corriente es proporcional al área encerrada entre la gráfica de la señal y el eje horizontal. En una señal cuadrada alterna simétrica ese área está formada por rectángulos de altura igual al valor de pico, y situados unos por encima y otros por debajo del eje. Si los sumamos todos obtenemos siempre un área igual a la de un rectángulo de altura igual al valor de pico, con independencia del periodo y de la frecuencia.

Por el contrario con la corriente PWM el área está formada sólo por rectángulos situados sobre el eje y su área es mucho menor que la de un rectángulo de altura equivalente al valor de pico, y además ese área depende de la anchura de los pulsos, llegando solo a alcanzar el área del rectángulo de altura igual al valor de pico cuando los pulsos han llegado a su máxima anchura.

lunes, 21 de noviembre de 2011

Llegan los servos (y III)


Una de las cosas buenas que tiene el publicar en un blog las ideas que voy llevando a la práctica, es el hecho de que recibo comentarios y sugerencias de los lectores, bien directamente en el mismo blog, o bien en foros donde se comentan estos artículos.

Este es el caso del último artículo, donde comenté que había construido un circuito para manejar servos con un sistema compatible con los habituales para el manejo de los motores de bobinas.

Efectivamente, este circuito ha sido comentado en varios foros, y se me han hecho un par de sugerencias importantes: La primera es una crítica por haber utilizado un transistor Darlington en la etapa de salida del circuito. Ya comenté que había utilizado este transistor, porque me había fijado en el circuito que hice hace tiempo para el manejo de trenes (COLA01). Pero claro, en ese caso, a pesar de ser un circuito muy parecido, por el transistor de salida circula toda la intensidad que alimenta la vía, luego se necesita un transistor con una ganancia de corriente elevada. Por el contrario en el driver para servos, por la etapa de salida sólo circula una débil señal de control, por lo que no se justifica utilizar un transistor tan especializado como el MPSA13.

Pero la sugerencia más interesante que me hicieron era la posibilidad de ajustar el recorrido del servo. Esta posibilidad es interesante, puesto que permite, por ejemplo en el caso ser el servo que mueve el desvío, ajustar el ángulo que se mueve la leva exactamente a lo necesario, de manera que la varilla de acero que mueve los espadines del desvío se deforme lo justo para mantener la posición de las agujas, pero no más, ya que esto no hace más que endurecer el desvío frente al talonamiento.

Curiosamente, el circuito original en que me basé, tenía un potenciómetro, pero este potenciómetro tiene la misión de mover el servo al actuar sobre él. Como ya comenté yo lo sustituí por una resistencia fija y un conmutador, de manera que se tienen dos posiciones extremas fijas para la posición del servo.


En la figura vemos la situación de partida (A), la opción que yo empleé, con un conmutador (B) y la solución que he adoptado al final. De nuevo se utiliza un potenciómetro de ajuste, pero con la misión de preestablecer el ángulo de giro. Como se puede ver en la opción C, con el cursor completamente arriba estamos exactamente en el caso B. Si movemos el cursor hacia abajo, el movimiento es cada vez menor, hasta que situado en el punto inferior, el servo no se mueve nada. El potenciómetro se deja ajustado a la posición que proporciona el ángulo de giro requerido para cada caso.

Me convencí que con esta pequeña modificación, el circuito ganaba bastante en funcionalidad, así que merecía hacer el cambio. Lo malo es que esto supone rehacer el PCB, en definitiva rediseñar todo el dispositivo. La imagen de la cabecera muestra el resultado final, y se puede ver claramente en el centro el potenciómetro de ajuste (marcado como 10K 825 M). Si nos fijamos, abajo a la derecha, el transistor de salida también tiene un aspecto distinto del de la versión anterior. Se trata de un BC 107.

Pero si eso fuera todo, quizá no hubiese merecido la pena este nuevo artículo referido a los servos. Y es que gracias a que tuve que rehacer el diseño del circuito impreso, que ya es muy pequeño, me plantee que tenía que tener mucho cuidado con el nuevo circuito para que me cupiesen todos los componentes, incluyendo el nuevo potenciómetro, en el mismo tamaño de placa que tenía anteriormente.

Como ya he comentado, yo utilizo un programa de dibujo muy semejante a PhotoShop para diseñar los circuitos impresos, por lo que no tengo ninguna de las ayudas con que cuentan los programas especializados. Así que cuando diseño un circuito tengo que tener cuidado, no solo del espacio requerido para alojar los pines de los componentes por el lado del cobre, sino que tengo que cuidar de las partes superiores de los componentes no interfieran entre si. La parte de los pines es relativamente fácil de diseñar porque en general todos estos elementos tienen un "paso" de 2,54 mm (1/10 pulgadas). En cambio para la parte superior, hasta ahora,  lo que hacía era medirlos con un calibre y además imprimir de vez en cuando el diseño del circuito y situar sobre el papel impreso los propios componentes para ver si cabían perfectamente o si chocaban unos con otros. Muchos elementos tienen una "huella" mucho mayor que la que corresponde a los pines, como es el caso de conectores, disipadores, condensadores, etc.

Como se ve, es un tema bastante entretenido, y además requiere tener encima de la mesa todos los componentes que se van a usar, cuando se diseña el circuito. Pero el otro día se me ocurrió una idea que me parece muy interesante, para todos aquellos que hacen sus propios diseños. Consiste en colocar en el scanner todos los componentes y sacar una imagen de cada uno de ellos. Teniendo la precaución de utilizar al escanear la misma escala que la utilizada al diseñar el circuito (yo uso 600 ppp) las imágenes que se obtienen son rigurosamente exactas en cuanto a su tamaño, por lo que pueden situarse en una capa del dibujo y usarlas como referencia super precisa del tamaño que ocupa cada componente.

Tampoco hay que obtener demasiadas imágenes. Por ejemplo no se trata de escanear una resistencia de cada uno de los valores posibles, sino una sola, o en todo caso una de cada uno de los dos o tres tamaños existentes. Ya sabemos que los colores de la imagen no corresponderán con los valores que deberían tener según el valor de la resistencia, pero aquí se busca exclusivamente el tamaño. Tengo así tres ventajas: El sistema es mucho más preciso, voy mucho más rápido, y no necesito disponer a la hora de diseñar el circuito, una muestra de cada componente, si es que ya lo había usado anteriormente y conservo la imagen. Puedo llegar a crear así una "librería" de imágenes de componentes.

Y una ventaja adicional: Durante la fase de diseño obtengo una imagen muy realista del circuito que estoy diseñando. Esto aparte de "ser bonito" puede servir como referencia para el montaje.

La imagen siguente es un ejemplo de la dicho: A la izquierda tengo una fotografía del circuito terminado (la misma de la cabecera) y a la derecha la imagen de componentes obtenida durante la fase de diseño.



Como se ve, la coincidencia es perfecta, pero lo bueno del caso es que la imagen de la derecha está obtenida durante la fase de diseño, es decir, antes de grabar el PCB y de montar el circuito. Sin esta herramienta, no hubiese sido posible saber con certeza si el relé que vemos a la izquierda, cabría entre el potenciómetro de ajuste y el conector de la izquierda. La imagen dijo que si cabía, y la realidad confirmó que así era.

Pensé que mi idea era original, pero al ver las imágenes obtenidas, las encontré "familiares". Yo ya había visto en alguna ocasión imágenes de este tipo. Por ejemplo recordé que en el artículo en que me basé para hacer mi primer controlador de velocidad, aparecía la imagen que se reproduce a la izquierda:

Al verla ahora, me doy cuenta que es una imagen tremendamente parecida, pero que las imágenes de componentes en ella son dibujos, no imágenes reales.

No tengo ni idea de cómo obtuvo esa imagen el autor del artículo, pero supongo que algunos programas de diseño son capaces de generarla. Lo bueno es que yo lo he hecho sin ninguna herramienta especializada.

Bueno, pues he quedado muy contento de esta idea que me facilita el diseño de circuitos impresos, y seguramente la emplearé en lo sucesivo. También incluiré estas imágenes en los documentos de descarga que pongo a disposición de mis lectores.

Por cierto, me comentan que para conseguir descargar los documentos que sitúo en la página de descargas, se exige que el usuario esté dado de alta como usuario de Google. No es mi intención limitar de ninguna forma el acceso a cualquier lector a estas descargas, pero parece que Google impone esa condición, y yo no tengo posibilidad de soslayarla. En todo caso abrir una cuenta en Google no supone ningún problema y pocas organizaciones habrá en Internet con más seriedad que ésta.

En todo caso, pongo a continuación el esquema eléctrico de este circuito con las reformas incluidas (pulsando en él se obtendrá la imagen a tamaño original)



Espero que sea de utilidad.

domingo, 13 de noviembre de 2011

Llegan los servos II


En el artículo anterior, quedé emplazado a construir un driver de servo, es decir un dispositivo capaz de manejar un servomotor de radiocontrol, haciéndole tomar dos posiciones extremas mediante un conmutador manual o un relé biestable.

Bueno, pues ya está: La foto de la cabecera muestra este dispositivo ya terminado y conectado a un servo de los que probé en el artículo anterior. Ha sido un bonito diseño puesto que al final el circuito mide solamente 39 x 36 mm y además tiene las dos posibilidades de utilización, la manual, por conmutador, y la automática, por relé.

Aunque el objetivo sigue siendo el manejo de las puertas de las cocheras, he querido probar a hacer el clásico sistema de mover los desvíos mediante un servo situado debajo del tablero, y eso es exactamente lo que muestra la imagen de la cabecera, que por este motivo parece estar cabeza abajo, y es que lo que vemos es la parte inferior del tablero y el servo con su circuito de control, colgados debajo mediante una pieza de aluminio atornillada al tablero.

Las conexiones que vemos son las siguientes. En la parte inferior vemos el cable tricolor que conecta el circuito al servo. A la derecha, los cables rojo y negro son la alimentación de 5 voltios que necesita el circuito. Y los tres cables rojo gris y verde que vemos en el centro van al conmutador, ya que esta imagen corresponde a la configuración para mando por conmutador manual.

En la siguente imagen vemos lo que hay encima del tablero:


Evidentemente he utilizado un desvío que estaba roto (los experimentos se hacen con gaseosa) el cual he modificado para esta prueba. Como se ve, lo primero que he hecho ha sido eliminar el motor de bobinas, incluyendo la parte de la base de plástico que soporta el motor. Es bastante fácil, yo lo he hecho cortando el plástico con varias pasadas de cutter. Sólo hay que tener una precaución: respetar la piececita de plástico blanco que une los espadines y sobre la que actúa el fino alambre de acero que está unido a la armadura del motor de bobinas. Además hay que preservar este alambre de acero porque lo vamos a volver a usar.

Después hay que taladrar un agujero alargado justo bajo el extremo de la citada pieza que une los espadines, y situar el montaje del servo de manera que la leva del servo quede precisamente bajo este taladro.

Utilizando el alambre desmontado del motor del desvío.lo he sujetado a la leva del servo con una gota de cola termofusible. Adviértase que he situado el servo en posición vertical con objeto de que el eje quede bastante hacia abajo ( y de paso ocupando el mínimo espacio lateral) y el alambre se conecta a la parte inferior de la leva. Así el alambre de acero conserva toda su longitud, y por lo tanto toda su elasticidad, de manera que el desvío resulta talonable, como el original de Märklin. Si no se desea que el desvío sea talonable se podría sujetar la varilla de acero más sólidamente a la leva del servo. La punta del alambre atraviesa el pequeño taladro que tiene la pieza que une los espadines ("traviesa móvil"), una vez que se ha eliminado la parte de esta pieza que cubre el taladro.

Respecto del circuito, está sujeto a la misma pieza de aluminio que soporta el servo mediante una cinta adhesiva de doble cara.

Y ya está! Basta conectar la alimentación de cinco voltios y estamos en disposición de mover el desvío actuando sobre un conmutador que podemos situar en un cuadro de mandos. El siguiente vídeo es una bonita demostración de como funciona.

video

En el vídeo se puede ver que se está manejando por medio de un conmutador. Como ya comenté esa es la forma más fácil (y por lo tanto la más barata) de mover los desvíos, pero tiene el inconveniente de que es incompatible con cualquiera de los sistemas empleados para mover los desvíos tanto en sistemas analógicos como digitales, (salvo los sistemas digitales especialmente preparados para mover servomotores) ya que éstos actúan por impulsos de tensión.

Así que hice el diseño del circuito incluyendo la posibilidad de manejarlo mediante impulsos de 12 voltios. Para ello hay que situar un relé en el zócalo que se ve vacío en las imágenes anteriores. En realidad el circuito completo tiene el siguiente aspecto:


El colector Molex de tres vías que se ve en primer término sirve para conectar los tres hilos clásicos, dos azules y uno amarillo, que llevan los desvíos con motor de bobina. Haciendo este cambio de conexión, este circuito se conecta y responde exactamente como  un motor de bobinas clásico, así que puede manejarse con botoneras, con cuadros de mando, con pulsadores, con decodificadores K83, o en definitiva con cualquier sistema previsto para los motores que se mueven por impulsos de tensión.

En el siguiente vídeo vemos ya el circuito funcionando en esta segunda forma. Por cierto que para este segundo vídeo hice un cambio en la forma de sujetar el alambre de acero que mueve los espadines a la leva del servo se una forma distinta. Queda mucho más sólido y el movimiento es más potente, pero la fuerza que hay que hacer para forzar los espadines por un tren que entrase talonando el desvío, es excesiva, y por lo tanto haría descarrilar el tren.  Naturalmente Märklin no vendería nunca un desvío que hiciese descarrilar los trenes si el operador comete un error, pero a mi me gusta mucho que los desvíos no sean talonables, de modo que nos ocurra en la maqueta lo mismo que ocurre con el tren real: si no situamos correctamente todas las agujas del itinerario provocaremos un descarrilamiento. Este es el vídeo, que puede localizarse también en YouTube y en la pestaña de vídeos de este blog:


En la última parte del vídeo se ve como se aprovecha el segundo conmutador del relé para sincronizar el cambio de luces de un semáforo con el movimiento del desvío. Por cierto que esto es una petición que he visto repetida en varios foros últimamente, aunque en mi opinión no tiene mucho sentido que un semáforo cambie sus luces sincronizadamente con la posición de un desvío. Yo la única situación en que le encuentro sentido a esto, sería la que que representa en el vídeo, en la cual el semáforo evitaría que un tren talonase el desvío, pero esto no se hace nunca en la realidad con un semáforo situado junto al desvío.

Me ha gustado mucho este experimento, aunque naturalmente no tengo la intención de cambiar los motores de los desvíos de mi maqueta por servos. La ventaja más clara que se obtiene es estética, al hacer desaparecer de la parte superior los atiestéticos motores de bobina. Por otra parte el movimiento es más "franco" aunque no precisamente más lento. Algunos desvíos con motores de bobinas fallan porque el motor parece estar muy justo de fuerzas, de manera que ante cualquier problema de suciedad o similar, el desvío funciona mal. Me cuesta mucho trabajo imaginar un desvío movido por un servo fallando por esta causa. El ruido es desde luego diferente, pero francamente no es más silencioso. También es cierto que los motores situados junto a las vías pueden interferir en algunos trazados con otras vías, aunque Märklin ha cuidado mucho la geometría para que esto no ocurra. Con los desvíos situados bajo el tablero no puede haber interferencia con las vías y cada servo puede colocarse en dos posiciones distintas por si en algún caso hubiese interferencia entre ellos. Como inconveniente hay que señalar que la colocación de los motores debe ser muy precisa para que las varillas de acero se sitúen adecuadamente respecto de la traviesa móvil. Esto implica que los desvíos deben estar colocados "muy definitivamente" antes de situar los motores.

Para mi, este sistema es ideal para una instalación de alto nivel modelístico donde se busque la máxima perfección en el trazado de la vía. Estoy hablando prácticamente de trazados realizados con vía artesanal, o al menos con desvíos artesanales como los que vimos en "Vía artesanal 1".

Como ya comenté en aquél artículo, uno de los problemas de los desvíos artesanales es que se necesita  algún sistema para polarizar el corazón del desvío según cual sea la posición de los espadines. Como ya he comentado, este circuito tiene un conmutador sincronizado con el movimiento del desvío que resulta ideal para esta misión.

Así que lo tengo claro: si alguna vez hago algún diorama, módulo, u otra pequeña maqueta con gran precisión y realismo en el trazado emplearé este sistema de motorizar los desvíos, y sobre todo si son artesanales. De momento me voy a limitar a lo que tenía pensado: mover las puertas del depósito y del taller de locomotoras.

En la pestaña de Descargas de este blog, están accesibles los esquemas, palantillas para PCB, listas de materiales y demás elementos que permitirán a quién lo desee fabricar estos drivers para servo.

Edito el 9/02/2014

Se ha publicado en este Blog un nuevo artículo sobre un circuito para manejar servos que resulta interesante como complemento a éste.

El enlace es: Algo más que un inventillo



sábado, 5 de noviembre de 2011

Llegan los servos I


En un reciente artículo (Inventos del TBO) comenté que una de las formas de mover un desvío era mediante un servomotor de los usados en radiocontrol, para manejar aviones coches o barcos por control de radio. Incluso incluí un enlace a un vídeo de YouTube en el que se veía un desvío manejado de esta forma. También apunté que los servos podían utilizarse para más cosas, como pueden ser, por ejemplo, mover las puertas de las cocheras, mover las barreras de un paso a nivel.....

Y me quedé pensando: Yo tengo una cochera en rotonda  con tres puertas, y además un taller con otra puerta más. ¿Porqué no experimentar con estos servos y tratar de ponerles un sistema de apertura y cierre a estas puertas? Aclaro que la rotonda (Märklin 8983), que procede de mi anterior maqueta,  tenía de origen un sistema de apertura y cierre de puertas por un sistema de motor de bobinas análogo al de los desvíos, pero hace ya bastantes años que lo eliminé, porque no me funcionaba bien. En cuanto al taller (Faller 282733) no tiene previsto este sistema.

En principio, no me gusta distraerme con proyectos ajenos a la línea de trabajo que tengo pensada, porque a este paso no voy a tener nunca operativa la maqueta, y ahora que comienza una nueva temporada, tocaba volver a conectar todas las vías que se desmontaron por la mudanza. Sin embargo, he pensado que introducir un sistema de cierre de puertas en la rotonda al final del proyecto, sería mucho más complicado que hacerlo ahora que tengo la sección de la estación desmontada y por lo tanto puedo trabajar por encima y por debajo con toda comodidad. Así que éste puede ser el momento de probar esta nueva técnica.

Dicho y hecho; busqué por Internet unos servos baratos y los encontré en Inglaterra bajo el epigrafe: "Micro Mini Feather Nano 3.7g Servo 4 Park Fly Fox" Algo que se llama Micro Mini y Nano y además Feather no cabe duda que tiene que ser pequeño. Bueno pues esta mañana, mi BR89 los ha traído a mi taller, tal cono vemos en la foto de la cabecera. No cabe duda que son pequeños. Yo diría que son servos a escala Z.

Como ya adelanté en el artículo mencionado, los servos requieren una señal de control, que en su uso habitual es producida por el receptor del equipo de radiocontrol. Pero claro, aquí no hay radiocontrol ni receptor, ni nada parecido, así que hay que ingeniárselas para generar esa señal de control. También mencioné una página web denominada servomotores donde venía un esquema para hacer un circuito capaz de generar esa señal. El esquema en cuestión es el siguiente:


Así que había que construir ese circuito. Bueno, no es difícil, y además los elementos principales que son el circuito integrado NE 555 y el transistor de salida, los tenía de cuando hice mi primer control PWM de tracción ( véase "Cambio de oficio"). He utilizado incluso el mismo transistor de salida MPSA13.


Antes de diseñar un circuito impreso, he hecho un prototipo en la protoboard. La imagen siguiente muestra el circuito de prueba:



Y.... ¿funciona? Pues si;  funciona. Véase la muestra:

video



Observo sin embargo que de tope a tope del potenciómetro, el servo gira apenas un octavo de vuelta, lo cual es muy poco porque debería girar media vuelta. No se si la culpa es del servo o del circuito, pero con el osciloscopio veo que en efecto se produce una onda cuadrada de ancho de pulso variable, pero la variación del ancho es muy pequeña. Podría experimentar con otros valores para algunos componentes, pero la verdad es que este movimiento corto es muy apropiado por ejemplo para mover un desvío, y tampoco se necesita más para abrir o cerrar una puerta.

Otra cosa que quiero probar, es el sustituir el potenciómetro por un conmutador. Para accionar un desvío, el tener que girar un potenciómetro no es apropiado, y aunque podía serlo para mover una puerta, no ese mi objetivo, así que lo que hay que hacer es eliminar el potenciómetro y sustituirlo por una resistencia del mismo valor. Después con un conmutador de dos posiciones, conectando lo que sería el cursor del potenciómetro a uno u otro extremo de la resistencia, tendríamos el mismo efecto que con un potenciómetro que situásemos alternativamente en sus posiciones extremas:



Esto es muy sencillo de hacer y además tiene una ventaja: Si utilizamos este sistema para accionar desvíos, estamos utilizando como elemento de mando un conmutador biestable (SPST) con lo cual tendremos un elemento de señalización en el tablero. Como ya vimos al hablar de las distintas posibilidades de manejar los desvíos, los conmutadores biestables eran una muy buena opción porque cuando los situamos en un cuadro de mando, su posición nos indica la posición del desvío.

Una nueva prueba, nos demuestra que efectivamente funciona bien:
video



No cabe duda que esta es una solución muy buena para todo aquél que quiera hacerse una maqueta con los desvíos movidos por servos y manejarlos con conmutadores desde un cuadro de mando. He podido comprobar además que uno de estos circuitos puede manejar perfectamente dos servos conectados en paralelo al mismo circuito de control, así que con un único conmutador se puede actuar sobre dos desvíos, que se moverán al unísono, por ejemplo cuando se hace un escape entre dos vías paralelas. Sin embargo con tres no funciona. Seguramente esto se puede modificar para manejar más servos sincronizadamente pero tampoco lo veo necesario.
Como digo la solución me parece excelente, y si hago algún módulo o alguna otra maqueta en el futuro seguramente utilizaré este sistema.

Sin embargo para mi maqueta actual tengo un problema. Si quiero mantener el mando por ordenador en los elementos que quiera mover mediante servos, no puedo manejar un conmutador desde el programa. Bueno si puedo: Evidentemente lo que tengo que hacer es poner un relé biestable, por ejemplo el ya conocido V23079-B1203-B301 de Tyco. Este relé tiene realmente dos conmutadores y puede manejarse con impulsos de 12 voltios como cualquier motor de bobinas.
Así que voy a hacer unos cuantos de estos circuitos "driver de servos" complementados con el relé, y así tendré un elemento para producir cualquier tipo de movimiento mediante un servo y que puede ser manejado de la forma estándar mediante impulsos de 12 voltios.

Ya tengo tarea.