lunes, 31 de agosto de 2015

Un momento, por favor

"Philosophiae naturalis principia matematica" de Isaac Newton

Hace ya bastantes años, que aprovecho la temporada veraniega de descanso para leer. Mis lecturas veraniegas suelen ser variadas y comprenden tanto novela como otros contenidos que podríamos llamar más instructivos. Hace tiempo uno de mis autores favoritos era Isaac Asimov, sobre todo en su vertiente de divulgación científica, mucho más que como autor de ciencia ficción. Desgraciadamente Isaac falleció hace ya unos cuantos años y sus libros, sobre todo los de divulgación científica, se van quedando obsoletos.

Asi que este año, he querido ponerme un poco al día en un tema tan ignoto como la física cuántica, y he leído un libro titulado “50 cosas que hay que saber sobre Física Cuántica”. Evidentemente por el título ya se ve que no se trata de un texto académico, sino un libro de divulgación científica. Bueno, no resiste la comparación con las exposiciones siempre diáfanas de Asimov, pero evidentemente llena el hueco de los últimos años.

Desafortunadamente, el libro queda en parte bastante desvirtuado por una traducción muy mala. El traductor se empeña por ejemplo en traducir el inglés pattern por patrón lo cual es un error, aunque muy extendido sobre todo al otro lado del atlántico, de donde parece que procede el traductor. Y es una palabra que aparece constantemente en el texto.

Hay otras traducciones pintorescas, como cuando se refiere a la agitación térmica de los átomos en un cristal, diciendo que los átomos zangolotean, lo cual para un español, resulta un insulto para los átomos por calificarlos de zangolotinos.

Pero, y vamos al objeto de este artículo, hay algo más grave. Cuando se trata de mecánica (clásica o cuántica) hay que tener algunas ideas claras acerca de la traducción de determinadas palabras que resultan claves. El traductor sin embargo se lía totalmente con la traducción de la palabra en inglés momentum, que traduce invariablemente por momento. 

El resultado es muchas veces una traducción caótica y hay que andar intuyendo cuál era la frase original en inglés para deducir el sentido.

Curiosamente, coincide que estos días están emitiendo por alguna cadena de televisión, un serie titulada en España “Ciencia para torpes” que consiste en reproducir algunos de los miles de videos que se ven en Internet con caídas, choques, accidentes, etc cuando alguien intenta hacer algo que pretende ser arriesgado y le sale mal. El programa reproduce el vídeo, y un presentador explica, desde un punto de vista científico, con una cierta sorna, qué principios físicos no se han tenido en cuenta (rozamiento, inercia, fuerza centrífuga, etc) y han causado el desastre. Evidentemente la explicación está doblada al español, y de nuevo aparece sistemáticamente el error de denominar momento al momentum inglés.

No pasaría de ser una anécdota si no fuese porque la palabra momento en física existe en español pero con otro significado. Muchas palabras, sobre todo técnicas, se han importado del Inglés, y no hay nada que oponer, pero lo que no puede hacerse es importar una palabra con un sentido cuando esa palabra ya existe en español, dentro de la misma área con significado distinto.

Es un caso parecido a la palabra billón, En español, billón es un millón de millones, mientras que en inglés billion son mil millones. Afortunadamente parece que esta trampa del lenguaje es bastante conocida y no suelen caer en ella los que traducen inglés a español, pero la trampa del momentum parece menos conocida, y los traductores incluso de un texto especializado como el libro que he leído, caen en ella.

Para aclarar el tema, en español, momento, a secas, o momento de una fuerza respecto de un punto es el producto de una fuerza, por la distancia de la misma al punto. Se mide por tanto en unidades de fuerza multiplicadas por unidades de longitud. En el sistema SI serían Newtons por metro.

Existe en Física otra magnitud, llamada cantidad de movimiento, que se define para un cuerpo en movimiento, y que es el producto de la masa por la velocidad. Por lo tanto se mide en unidades de masa multiplicadas por velocidad, o sea en el sistema SI en Kilogramos por metros divididos por segundo.

Queda claro que son magnitudes físicas muy distintas. De hecho la primera corresponde a la parte de la Mecánica llamada Estática y la segunda a la Dinámica.

La cantidad de movimiento es muy importante en física porque existe la “ley de la conservación de la cantidad de movimiento” que establece que en un sistema aislado la cantidad de movimiento se mantiene invariable. Algo fundamental, desde la estructura atómica hasta el movimiento de las galaxias.

Bueno, pues el problema está en que en Inglés se llama momentum a lo que en español es la cantidad de movimiento. Por lo tanto si yo traduzco momentum por momento estoy organizando un galimatías. Por cierto, lo que nosotros llamamos momento, en inglés se llama torque. También es admisible moment pero con buen criterio prefieren usar torque para evitar la confusión con momentum.

Si a alguien le puede parecer esto una chaladura mía, no tiene más que ver el artículo dedicado a la palabra “Moment” de la Wikipedia en inglés, que empieza con una advertencia  sobre la trampa en que se puede caer al confundir Momentum con Moment:


Si los traductores del libro o de la serie de televisión hubiesen visto este artículo a lo mejor se habrían ahorrado la metedura de pata.

Supongo que lo de momentum que evidentemente está tomado del  latín, procede de tomar directamente la palabra del  “Principia Mathematica” (en la imagen de portada) , el texto de Isaac Newton donde se establecieron las leyes del movimiento en mecánica clásica.

Y ya sé que más de un lector, si ha conseguido llegar hasta aquí se estará preguntando, qué tiene esto que ver con los trenes. Pues aunque parezca mentira, si que tiene que ver. Veamos:

En mis controladores para trenes PWM05 digo que tienen “simulación de inercia” Esto quiere decir que el controlador por si solo hace que los trenes aceleren de forma progresiva y también frenen de forma progresiva. Por ejemplo con el PWM05 la orden de “parada” con el ajuste de inercia al máximo hace que el tren decelere poco a poco hasta detenerse al cabo de unos 100 segundos.

Otros controladores analógicos y casi todos los decoders tienen también ajustes similares y como no, en inglés se les llama ajuste de “momentum” y por supuesto si se traducen las instrucciones se le llama invariablemente ajuste de momento.

Esto es realmente error sobre error. Con ese ajuste no ajustamos ni el momentum ni la cantidad de movimiento de nuestras locomotoras (ni por supuesto el torque ni el momento)

En Fisica se denomina Inercia a la resistencia de un cuerpo a modificar su estado de movimiento. 

Pero la inercia es una cualidad de los cuerpos que tienen masa, pero no es una magnitud física, Prueba de ello es que no se mide en ninguna unidad física.

Lo que la palabra Inercia quiere decir es que para que un cuerpo de masa M alcance una velocidad V hay que comunicarle una fuerza durante un cierto tiempo Esta magnitud se denomina impulso y es igual al producto de la fuerza por el tiempo (Newtons por segundos) . La Segunda Ley de Newton postula que el impulso es igual al aumento dela cantidad de movimiento
.
O sea, si aplicamos por ejemplo una fuerza de 1 Newton durante 10 segundos a un cuerpo de masa 5 Kg el producto de la fuerza por el tiempo será 1 x 10 = 10 Si la masa es 5 Kg al cabo de esos 10 segundos la velocidad será de 2 m/seg porque 2 x 5 = 10 O sea la cantidad de movimiento ha aumentado de cero a 10 kg x m / seg que es numéricamete igual al impulso recibido.

Un cuerpo que se comporta así decimos que tiene inercia, e incluso que tiene más inercia que otro que acaba con una velocidad mayor, lo que a igualdad de otros factores indica que la masa es mayor.

En un tren real, la velocidad aumenta progresivamente precisamente por esta ley física. La fuerza la dá la locomotora (y está limitada por la potencia del motor y por la adherencia de los carriles) y la masa es la total del tren. Por lo tanto al cabo un cierto tiempo, la velocidad que ha alcanzado el tren, multiplicada por la masa del mismo es igual a la fuerza de tiro de la locomotora multiplicada por el tiempo transcurrido. Es claro entonces que para una misma locomotora, el tren tardará más tiempo en alcanzar una velocidad determinada, cuanto mayor sea la masa del tren. Y esto responde exactamente a esta ley. Como decíamos los cuerpos que se comportan así decimos que tienen inercia. Un tren real, por tanto es un elemento que tiene inercia, tanto mayor cuanto mayor sea su masa, y por eso aceleran (y frenan) lentamente.

Pero un tren modelo no tiene inercia. Realmente siempre hay un poco de inercia, pero en el caso de los trenes en miniatura, la fuerza ejercida por el motor es proporcionalmente mucho más grande respecto de la masa del tren que en un tren real, de modo que si aplicamos instantáneamente toda la fuerza que es capaz de dar el motor, la velocidad aumenta casi instantáneamente a su valor máximo. Como no queremos que esto ocurra porque este comportamiento no se parece al de un tren real, recurrimos a un truco:

Lo que hacemos es ir aumentando muy poco a poco la velocidad del motor, ya sea con el mando manual o con un controlador que haga de forma automática eso mismo. De esta forma la velocidad aumenta progresivamente como en un tren real, pero en este caso no se trata de un efecto de la inercia sino de un artificio (manual o automático) que simula el efecto de aceleración progresiva que en los trenes produce la inercia. En definitiva es un sistema que simula el efecto de la inercia, y por eso yo llamo a mis controladores PWM05 “con simulador de inercia”.

Asi que el efecto es simular el efecto de la inercia, en último término de la relación entre la potencia de la locomotora y la masa del tren. Por lo tanto poco que ver con la cantidad de movimiento que tanto en el tren real como en el modelo es cero cuando está parado y aumenta conforme aumenta la velocidad, sin que importe si ese aumento de velocidad es progresivo o instantáneo. Asi que ese ajuste nunca podría llamarse ni Momentum ni Cantidad de Movimiento ni siquiera masa. Tampoco es Inercia, sino propiamente “simulación de inercia”.


Vamos a tener que mandar también a los redactores de los manuales de los decoders a que se lean el artículo de la Wikipedia.

---------------------------------------------

*Se denominan "falsos amigos" a las palabras que siendo iguales o muy parecidas en dos idiomas, tienen distinto significado.

martes, 4 de agosto de 2015

Nuevas ideas

Hoy voy a referirme a los distintos modelos de controladores que tengo desarrollados y que se pueden adquirir en mi tienda, asi como a futuros desarrollos en esa línea.

Como saben los lectores de este blog, todo surge de una idea, que ya casi tengo olvidado cuando empezó *, de la posibilidad de hacer un controlador de velocidad para trenes analógicos, que genere corriente de tipo PWM (Pulse Width Modulation) que es la forma habitual de controlar la velocidad de los motores de corriente continua en la industria, incluyendo la industria ferroviaria, donde las locomotoras chopped, que son prácticamente todas las eléctricas actuales, se basan en el mismo principio.

No voy aquí a hablar del buen comportamiento de las locomotoras con esta clase de control, porque es un tema que ya se ha tratado extensamente (véase por ejemplo: Comparativa PWM ) pero si de la forma de generar esa forma de onda, y de los distintos desarrollos que he realizado.

Existen varias formas de generar una señal PWM, pero yo desde el principio me he decidido por usar el típico oscilador NE555  que es uno de los circuitos integrados más famosos, y que directamente, y con muy pocos eementos adicionales genera una señal PWM de anchura de pulso variable, prácticamente de 0 a 100%.

Una ligera desventaja del método es que el control de la anchura de pulso, que es lo que en definitiva establece la velocidad del tren, no depende de una tensión de control, sino de un equilibrio entre dos ramas de resistencia. Esto se materializa muy bien con un potenciómetro, pero es dificil hacer una interfase con otros sistemas.

La señal PWM generada por el NE555 se lleva como señal de control a un circuito en punte H para el control de motores, lo que proporciona directamente la corriente de tracción para la vía.

Este esquema básico lo he seguido en dos productos, bautizados como PWM04 y PWM06. la diferencia entre ambos estriba en que el circuito controlador de motores del primero (L293D), es más potente en el segundo (L298), con lo cual se pueden manejar varias locomotoras o incluso locomotoras de la escala H0 mientras que el primero sólo tiene potencia para una locomotora de las escalas Z o N.

Existe otra diferencia, y es que mientras el cambio de sentido de la marcha se hace mediante un conmutador inversor en el PWM04, en el PWM06 se hace mediante unos pulsadores que activan un circuito latch y que a su vez produce la inversión actuando sobre el circuito controlador de motores.

Salvando esas dos diferencias, ambos circuitos son muy semejantes y responden a un esquema general como el representado a la izquierda, donde vemos que hay un único bloque que representa el circuito y que recibe una "señal" de velocidad y dos señales de "adelante" y "atrás" para cambiar el sentido. También hay una señal de "stop" no representada que corta la corriente, parando el tren de forma inmediata.

Como ya he dicho, se necesita exactamente un potenciómetro para controlar este circuito, así que los PWM04 y PWM06 llevan un potenciómetro para el control de la velocidad, pero por eso mismo,   es dificil usar cualquier automatismo para su manejo. Afortunadamente existen los "potenciómetros digitales" como DS1804  que son unos circuitos integrados con ocho terminales, de los cuales tres emulan el comportamiento de un potenciómetro manual pero que son manejados mediante señales electrónicas (me resisto a emplear la expresión "señales digitales" para evitar que se confundan con los sistemas digitales de control de trenes con los que esto no tiene nada que ver)

La forma de mover este tipo de potenciómetros, es enviar impulsos a la entrada de control del circuito. Por cada impulso, el potenciómetro mueve su cursor como lo haría un potenciómetro manual, aumentando la resistencia en una rama y disminuyendo en la otra. Exactamente lo que se necesita para manejar el generador de PWM.

Pero aquí aparece una ventaja: según lo rápido que enviemos los impulsos que mueven el potenciómetro digital, la velocidad aumenta o disminuye con mayor o menor velocidad. De esta forma si enviamos impulsos lentamente la velocidad del tren aumenta muy lentamente simulando el efecto de la inercia del tren.

Por ejemplo, el DS1804 tiene 100 pasos, es decir, con cien pulsos pasa del menor valor al mayor. Si enviamos los impulsos con una frecuencia de 100 pulsos por minuto, el potencimetro tardará un minuto en moverse del mínimo al máximo y el tren tardará un minuto en alcanzar su velocidad máxima desde cero

Esto dió lugar a la aparición del controlador PWM05, cuyo diagrama de bloques tenemos en la imagen de cabecera. Este circuito lleva una etapa de salida análoga al PWM04 o PWM06, pero su mando, en vez de ser hecho con un potenciómetro manual se hace mediante el circuito denominado Calculador de Velocidad en el esquema, el cual maneja un potenciómetro digital mediante pulsos que lo mueven en un sentido u otro según las señales "Acelera" y "Frena" y que a su vez permite que esta aceleración sea más o menos rápida, a base de modificar la frecuencia de los impulsos, lo que se consigue con un ajuste de "Inercia".

Este circuito se maneja normalmente mediante un Joystick que manda las señales de acelerar y frenar, y mediante botones para el control de sentido de la marcha y para la parada.

Después de probar este circuito, descubrí que era muy fácil incluir un perfeccionamiento, que consiste en una orden de "Parada progresiva" un botón adicional actúa sobre el "Calculador de Velocidad" y simula el efecto de mantener presionado el botón de frenado indefinidamente,  Denominé PWM05.3G a esta variante del PWM05, haciendo alusión a que cada función se podía activar desde tres puertas (gates) lógicas.

Asi que conectando la señal de "Parada" de una cualquiera de las tres puertas lógicas a un sensor en la vía se podía conseguir una parada progresiva, por ejemplo en una estación o ante una señal. Quedaba así configurado el PWM05.3G cuyo esquema de bloques es el recogido en la imagen de la cabecera.

Sin embargo, a cualquiera se le ocurre esta cuestión: De acuerdo: con la función "Parada" podemos hacer que el tren se detenga lentamente. ¿no debería haber también una función "Arrancada" para que el tren volviese a ponerse en marcha hasta alcanzar la misma velocidad que tenía cuando se detuvo por la parada progresiva?  Parece algo muy simple y completamente análogo a la función de parada.

La dificultad es que no es tan sencillo por una razón: Dicho corto, porque una parada acaba siempre en velocidad cero, así que lo opuesto es que una arrancada acabe siempre en la velocidad máxima. Pero claro, no queremos eso, queremos que el tren acelere pero solo hasta la misma velocidad que tenía antes de la parada, y, ¿cual es esa velocidad? ¿se guarda en algún sitio? la respuesta es no, así que el asunto se presenta complicado. De hecho, el PWM05 no sabe a que velocidad va el tren en cada momento, de modo que cuando recibe la orden de parada empieza a mandar pulsos de disminución de velocidad indefinidamente. En algún momento el tren se para, pero de hecho el circuito de control sigue mandando pulsos de frenado, Afortunadamente el potenciómetro digital ignora los pulsos que le indican seguir bajando una vez que ya ha llegado a mínimo. Por eso, se podría hacer que la arrancada acelerase hasta el máximo y pasaría lo mismo, una vez que el potenciómetro alcanzase el máximo ignoraría los pulsos que le indiquen seguir subiendo, pero no hay forma de parar la subida en una velocidad inferior.

Ya se ve por lo tanto que conseguir la "Arrancada progresiva" es algo bastante más complicado que la "Parada progresiva" Aparentemente se necesitan dos cosas: saber de alguna manera hasta que velocidad debe volver a acelerar el tren lo cual implica guardar en algún tipo de memoria ese dato, y además conseguir que el sistema sepa en cada momento la velocidad del tren, de manera que pueda saber cuándo ha alcanzado la velocidad prevista, y entonces dejar de acelerar.

Hace poco publiqué un artículo denominado Off-Topic    al cual pertenece este párrafo:

Bueno, pues como resultado de todo esto, he aprendido un montón sobre todos estos temas de contadores y análisis de frecuencias. Antes decía que esto no tenía mucho que ver con el tema de trenes, pero ya me rondan por la cabeza algunos temas en los que puede tener aplicación. Por ejemplo es elemental poner un velocímetro en mi controlador PWM05 

Efectivamente, un contador es la forma de que el controlador sepa a qué velocidad marcha el tren porque como hemos dicho la velocidad aumenta o disminuye cuando llegan los pulsos al potenciómetro digital, de manera que si contamos los pulsos, tendremos conocida la velocidad.

Efectivamente el potenciómetro digital DS1804 tiene cien pasos, o sea que partiendo de la posición inicial de cero, si le llegan 50 pulsos hacia arriba, estará en la posición del 50% de resistencia, si a continuación llegan 5 pulsos hacia abajo estará en el 45%, y si luego llegan 55 pulsos más hacia arriba estará en el 100%. Basta pues contar los pulsos hacia arriba o hacia abajo para saber en que posición está el cursor del potenciómetro, y como esta posición marca directamente la anchura de pulso del PWM sabremos con toda exactitud la velocidad en cada momento.

Aclaremos una cosa: al decir velocidad me refiero solamente a una cifra que es realmente el porcentaje de la velocidad respecto de la velocidad máxima de la locomotora.

Más exactamente: Una cifra de 45 en la cuenta de impulsos indica que el ancho de pulsos del PWM es el 45% del periodo (Duty =45%) y por lo tanto la tensión eficaz de la señal PWM es el 45% de la tensión de pico, o sea que por ejemplo para 12 Voltios de alimentación la tensión eficaz de la corriente de tracción será 5,4 Voltios. Así que la locomotora se moverá como si la alimentamos con corriente continua plana de 5,4 voltios. Naturalmente cada locomotora responde de una forma distinta a esta tensión, y ni siquiera proporcionalmente, así que no se puede saber la velocidad real de cada locomotora en particular, pero decir que si tenemos una cuenta de pulsos de 45, la locomotora se mueve al 45% de su velocidad máxima es una buena aproximación.

Los contadores dan el resultado de su cuenta en código binario, así que para contar cualquier valor entre 0 y 99 se necesita encadenar dos contadores de décadas como el 74HC190 y el resultado se obtiene en ocho bits, en BCD (Binary Coded Decimal)

La primera ventaja colateral de esta forma de actuar es que puedo llevar este conteo a un display y mostrar la cifra de la velocidad (insisto: del porcentaje respecto de la máxima) en cada momento. Al estar en BCD los cuatro bits altos dan la cifra decimal alta y los cuatro bits bajos dan la cifra decimal baja, asi que el 45% de anchura de pulso se mostraría como 45 en el display. En resumidas cuentas puedo poner un velocímetro en el controlador sin hacer prácticamente nada.

Este porcentaje en BCD lo puedo comparar con la velocidad a la que debería ir la locomotora en un comparador formado por dos 74HC85  que me dan una salida si la velocidad es mayor menor o igual que la referencia.

Pero al final, decidí que una vez claro que había que montar todo este tinglado inevitablemente, podía sacarle más provecho cambiando un poco la filosofía del controlador. El esquema finalmente queda así:


El control de velocidad, por medio de su joystick funciona como siempre, es decir generando pulsos hacia arriba o hacia abajo que son contados en un contador incluido en el "Calculador de velocidad objetivo" La salida de este contador es un valor de 8 bits que puede mostrarse en decimal en un visualizador como el mostrado, Es decir el Joystick no hace otra cosa que mover este valor de "Velocidad Objetivo" hacia arriba o hacia abajo, en el rango 00 a 99. La actuación del Joystick puede ser más o menos rápida según la frecuencia a la que se generen los pulsos, ajustable con el mando de Sensibilidad, que ya no es exactamente la inercia del tren.

Por otro lado, en la parte inferior tenemos el circuito análogo al del PWM06, en el cual el "Calculador de velocidad actual" crea los pulsos que van al Generador de PWM con una mayor o menor frecuencia según el ajuste del mando de inercia. Simultáneamente el contador incluido en este segundo calculador muestra exactamente la cuenta de pulsos enviada al generador de PWM y por lo tanto la velocidad actual de la locomotora.

El comparador, compara continuamente la cifra presente en ambos contadores, en definitiva la velocidad actual con la velocidad objetivo, de modo que si la velocidad actual es menor, se envía la señal de "Acelera", y si es mayor la de "Frena" De esta forma con el Joystick marcamos una velocidad objetivo, y el controlador seguirá ese objetivo de velocidad con mayor o menor retardo según el ajuste de inercia. Por supuesto cuando la velocidad actual se iguala con la velocidad objetivo no se produce ninguna de las dos señales y dejan de enviarse pulsos al generador de PWM, que por lo tanto mantiene indefinidamente esa velocidad. Cualquier cambio que hagamos en la velocidad objetivo mediante la actuación sobre el joystick, provoca que de nuevo se generen pulsos de aceleración o frenado hasta conseguir igualar la velocidad real con el nuevo objetivo.

Y ¿qué pasó con la parada y arrancada progresivas? Pues muy fácil: cuando el comparador recibe la señal de "Parada", lo que hace es comparar la velocidad actual con cero. Evidentemente esto provoca la parada progresiva al ritmo marcado por el ajuste de inercia hasta tener la locomotora parada. Observese que la velocidad objetivo que tuviéramos en el contador de velocidad objetivo no ha cambiado, así que al recibir la señal de "Arrancada" se vuelve a comparar la velocidad actual con la que teníamos como objetivo, con lo cual, el tren vuelve a arrancar progresivamente según el ajuste de la inercia hasta alcanzar la velocidad objetivo.

He llamado "sensibilidad de control" al mando que actúa como inercia en el joystick. Evidentemente si este mando está ajustado a muy poca inercia la velocidad objetivo subirá y bajará muy deprisa y será difícil ajustar un valor.  Si en esas condiciones el control de velocidad actual tiene una inercia muy grande, parecerá que el tren no obedece al mando. Por el contrario si la inercia del control de velocidad es muy baja, los trenes aceleran y y frenan muy rápidamente en las paradas automáticas, pero si el mando del control es lento, en las aceleraciones manuales predominará la inercia del control. Es difícil hacerse una idea muy clara de como es más cómodo manejar esto, así que habrá que hacer pruebas con un prototipo,

Ya tengo tarea para cuando acabe el verano.

Una idea que me ha surgido al ver los diagramas de bloques que se ven en este artículo, es la posibilidad de hacer también un sistema modular de controladores, de manera que se compartan módulos: Por ejemplo el módulo Generador de PWM es claramente el mismo en todos los casos, de modo que se puede hacer un circuito que sirva tanto para hacer un controlador básico al estilo del PWM06, como para usarlo como parte de un controlador con inercia como el PWM05 o de un controlador con parada y arrancada progresivas como sería este nuevo diseño (¿quizá PWM07?)



* Bueno si, Empezó en Marzo del 2009