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.

3 comentarios:

  1. Hola Ingacio, no estoy seguro, pero creo que el controlador de Rokuhan si que es PWM.

    Saludos.

    ResponderEliminar
  2. Hola Raul.

    Puede que tengas razón, pero yo no veo que digan nada al respecto en su manual de instrucciones:

    http://www.rokuhan.com/english/products/Instruction%20for%20C001%20Train%20controller%20RC-01.pdf

    ResponderEliminar
  3. Es verdad, en ninguna información en inglés habla de PWM, siempre hablan de "DC Controller". Pero acabo de ver la página en japonés y he visto que pone "PWM". No se por que no lo habrán traducido correctamente.

    http://www.rokuhan.com/products/index.php

    ResponderEliminar

Gracias por expresar tus opiniones.

Los comentarios aparecerán en el blog normalmente en unos pocos segundos