ESTE BLOG COMENZÓ A PUBLICARSE EN 2008, POR LO TANTO MUCHOS DE LOS TEMAS HAN QUEDADO DESACTUALIZADOS U OBSOLETOS. LOS LECTORES QUE DESEEN UTILIZAR ALGUNO DE LOS ELEMENTOS AQUI DESCRITOS DEBERÏAN ASEGURARSE DE BUSCAR LAS REFERENCIAS MAS MODERNAS DE LOS TEMAS DE SU INTERÉS. EL BUSCADOR INCLUIDO SERÄ UNA AYUDA PARA ESA BÚSQUEDA

sábado, 27 de noviembre de 2010

Al revés te lo digo...


La foto de la cabecera, muestra las placas DEMU01 y DEMU03 de mi proyecto conectadas entre si, y conectadas a la placa K8055 de Velleman. Como ya he comentado, la placa DEMU01 lleva un circuito demultiplexor 74HC154 que decodifica los cuatro bits más altos de la señal recibida.

Hasta ahora esa señal, provenía de la placa de Micropick, pero con esta prueba se ve que funciona igual con la señal producida por la placa de Velleman, o sea que puedo sustituir una placa por la otra cuando quiera. Se puede ver que está marcando una determinada dirección, ya que hay unos leds encendidos y otros no ("leyendo" los leds verdes se ve que la dirección es 9A)

Todo muy bonito, pero...

Ya he comentado que mis conocimientos de electrónica son nulos, aunque poco a poco me voy peleando con los problemas y voy aprendiendo algo. Una cosa que me desconcierta mucho, es la utilización de lo que que llaman lógica negativa, es decir aquellos elementos cuya señal se compone de ceros y unos, o sea valores bajos y altos (Low y Hight) pero cuyo sentido está "al revés" (por lo menos para mi cuadriculado cerebro) de modo que los datos altos significan los "ceros" y los datos bajos significan los "unos".

En las hojas de datos de los dispositivos están siempre indicado "Active Low" o "Active Hight" para cada conjunto de datos, y me da la sensación de que es más habitual la forma Active Low. De hecho, en la fotografía de cabecera, se ven los Leds amarillos de la salida del 74HC154 y como vemos están todos encendidos (hight) excepto uno, precisamente el que corresponde al bit activo.

Algo parecido ocurre con las salidas de los datos, desde la placa de Welleman. Las salidas de los bits de la señal están hechas en la forma que llaman colector abierto. Esto significa que en vez de lo que parece "normal", es decir que haya una conexión común a tierra y cada bit se manifieste por una tensión positiva o nula respecto de esa tierra. Bueno pues no: Lo que hace el sistema es conectar la salida a masa cuando se activa, y cuando no se activa queda abierta.

La disposición habitual entonces es llevar un positivo común a todos los dispositivos que van a recibir la señal, y un negativo a cada uno, que estará abierto si está inactivo o conectado a tierra cuando se active. Cuando el dispositivo que recibe la señal es un relé, esto funciona bien, porque un extremo de la bobina se conecta al positivo común y al conectarse a masa el otro extremo de la bobina, la corriente circula y el relé se activa.  Este tipo de salidas a "colector abierto" se hacen normalmente con transistores Darlington, bien aislados o encapsulados en un chip como el ULN2803 que consiste en un conjunto de 8 transistores.

Yo he empleado este sistema en las salidas de impulsos que produce mi circuito DEMU02 y efectivamente va muy bien, ya que se independiza la alimentación del dispositivo a controlar. Por ejemplo en mi caso los 12 V que alimentan las bobinas de los relés se llevan de forma permanente al común de las bobinas de los desvíos (cable amarillo según el código de Märklin) y al activarse una de las dos salidas, el otro extremo, (cable azul) se pone a masa, con lo que la bobina se activa.

Esto es tan habitual, que tanto la placa de Micropick como la de Velleman llevan esta forma de salida, pensada para activar directamente conjuntos de ocho relés. Mi problema es que en mi caso, este paso ya lo haré yo más adelante con los ULN2803 que van en las placas DEMU03. Sin embargo yo necesito quedarme un "paso antes" es decir en la señal que entra al ULN2803 que una señal "Active Hight", tal como yo la necesito para entrar al demultiplexor.

Como ya digo, este problema se me presentaba igual en la placa de Micropick que en la de Velleman, y la solución adoptada ha sido la misma: He construido un falso ULN2803 que consiste en un zócalo con cablecillos que unen cada pin de entrada con la correspondiente salida. Es decir 9 cablecitos entre pin y pin del zócalo. Par "dar el pego", le pongo una cartulina negra pegada encima  y queda tan aparente. Seguro que si no lo señalo, nadie lo notaría. Así que he quitando el ULN2803 y he colocando este falso, y las salidas recogen exactamente las entradas (¡¡ Active Hight!!) de cada bit.

Es algo parecido al problema que comentaba en el último artículo acerca de la forma en que se controlan los motores. También aquí, la alimentación de los motores, 9V queda aislada de la placa, y solamente el transistor se encarga de controlar la corriente que llega al motor, mediante los impulsos que recibe por la base. Pero estos impulsos, lo que hacen es poner alternativamente el transistor en corte y en conducción, de manera que el motor recibe corriente tanto más tiempo por ciclo, cuanto más tiempo está el transistor en conducción  y por lo tanto cuanto más estrechos sean los pulsos. Lo malo es que si no le llega ninguna tensión al transistor,  la corriente en el motor es máxima. Así que esto tiene dos consecuencias negativas: La primera, fácil de solucionar, implica cambiar la señal que se envía a la placa, de forma que vaya desde 0 para la máxima velocidad hasta 255 para la mínima. La segunda, que ya veremos lo que me complica la vida, es que un cantón que "se queda sin alimentación" según lo explicado en "AcantonamientoElectrónico" se quedará en principio alimentado a tope, de manera que si ponemos ahí una locomotora, saldrá a toda velocidad.

Así que hay que tener mucho cuidado con todo esto, porque en general los circuitos electrónicos aplican aquello de "al revés te lo digo para que me entiendas"

jueves, 25 de noviembre de 2010

COLA.2


Hace ya bastantes meses (Nuevo Oficio), hice unos experimentos para poder comprobar si era factible hacer un control PWM para alimentar las locomotoras, regulado desde un programa de ordenador. Este elemento recibió el nombre de COLA y la verdad es que funcionó bien, aunque yo no estaba absolutamente conforme con el diseño, ya que me basé en un elemento, el potenciómetro digital DS1669-100 que resultó un tanto caprichoso. También hubo un problema al interaccionar un canal con otro, lo cual me obligó a hacer un complicado diseño con fuentes de alimentación distintas para cada cantón. Por esta razón cuando me di cuenta de que las placas de Velleman tenían dos salidas de tipo PWM, pensé que podría repensar el control de las locomotoras en base a estas salidas.

Tenía que probar si esto era factible, antes de tomar la decisión de cambiar a este nuevo sistema de control, ya que. al menos en una pequeña parte afecta al sistema de control de desvíos y demás aparatos de vía que estoy a punto de terminar. Ya comenté que la forma de conseguir controlar varias placas simultáneamente pasaba por tener abiertas varias instancias de un programa de comunicaciones cuyo funcionamiento es diferente al de las placas Micropick, así que tenía que decidir si efectivamente iba a necesitar tener activas más de una placa, y eso sólo era necesario si iba a usar el control PWM de estas placas.

Una dificultad que he encontrado es que Velleman, que explica bastante bien otros temas, no dice prácticamente nada acerca de las salidas PWM en sus manuales. Afortunadamente, en la web de Velleman hay un foro, y buscando las preguntas acerca de la placa K8055 encontré varias preguntas acerca de cómo conectar las salidas PWM para controlar motores. Tal como yo intuía , se trata de llevar la salida producida por la placa a la base de un transistor, cuya corriente de colector regula la intensidad que pasa por el motor. Sin embargo nunca está de más ver un esquema con la forma práctica de hacerlo, y en efecto, en este foro aparece este esquema varias veces.

El transistor queda un poco en el aire, pero he recordado que en el diseño del primer COLA utilicé un transistor MPSA13 que es un transistor Darlington, por tanto con una gran ganancia de corriente, así que parece que ese tipo es el apropiado. Recuerdo que hice algunas pruebas con dos locomotoras y se calentaba bastante, por lo que este transistor parecía estar muy justito. Algún lector del blog se lamentó de que si tenía algún tren con dos motores, o que si quería hacer una doble tracción, esa alimentación iba muy justa. Por este motivo he seleccionado un transistor más potente y he escogido el TIP110. Es un transistor también tipo Darlington,  con 2 Amperios de corriente de colector.

Había que probar todo esto, así que esta mañana he hecho un montaje con la placa de prototipos. Lo primero que he hecho ha sido preparar una tabla con cuatro vías independientes para poder probar cuatro circuitos de mando simultáneamente. Unos tacos de gomaespuma, "contienen" a las locomotoras para que funcionen patinando.  Luego, en la placa de prototipos he montado los dos transistores TIP110, alimentando desde una única fuente de alimentación de 9 V. Después de colocar el resto de elementos del circuito (un diodo de protección, y una resistencia de polarización, según el esquema del blog de Velleman) he conectado este doble circuito a las dos salidas de PWM de la placa de Velleman. Y...¡funcionando!

Aclaremos en primer lugar, que el programa que maneja la placa ya no es el que proporciona Velleman, como en artículos anteriores sino  una primera versión del programa "autónomo" de comunicaciones, de manera que lo que vemos en la pantalla del ordenador es justamente la ventana de este programa que ya tengo desarrollado (la verdad es que es muy sencillo). Aunque en la práctica el usuario no tiene que ver este programa cuando esté funcionando conjuntamente con ControlZ, para que se pueda utilizar de forma autónoma como en este caso, tiene una ventana que permite monitorizar la comunicación con la placa, e incluso emitir desde aquí cualquier orden (que luego vendrá de ControlZ). Así puedo manejar la placa cómodamente sin tener que arrancar Control Z, que además todavía no está preparado para controlar locomotoras.

En la parte superior de esta imagen, de la pantalla del programa, vemos las indicaciones PWM1 y PWM2 y dos barras cuya longitud indica la amplitud actual de cada una de las salidas PWM. La conexión USB del ordenador con la placa, lleva esas instrucciones a la placa de comunicaciones que genera la corriente pulsada con el ancho de pulso correspondiente. La siguiente imagen, de la pantalla del osciloscopio, muestra las dos salidas PWM1 en rojo y PWM2 en amarillo. Como se ve, son formas de ondas cuadradas, de anchura de pulso variable, y se puede ver que esta anchura de pulso es proporcional a la orden transmitida desde mi programa. Por cierto, hay una curiosidad, y es que en la pantalla del ordenador vemos que la barra de PWM1 es mayor que la de PWM2, que es muy corta. Sin embargo en el osciloscopio la traza roja, de PWM1 es de pulsos mas cortos que la amarilla de PWM2, que tiene los pulsos casi en el límite de su anchura. Y es que este circuito funciona al revés. Cuando la salida tiene el valor 0 la corriente es máxima, y según aumenta hasta 255, los pulsos van acortándose hasta que con el valor 255 la corriente se anula. Esto se debe a que en realidad la corriente llega al motor cuando el transistor está en corte, por lo tanto, tanto más tiempo cuanto menos tiempo esté el transistor en conducción. Bueno, no me cuesta nada cambiar el programa para que en vez de un valor N transmita 255-N. Si esto me hubiera pasado a mi, creería que estaba haciendo algo mal, pero ya lo advertían en el foro.

Todas las fotografías están tomadas en pleno funcionamiento, como se puede ver fijándose en las ruedas de las locomotoras. Precisamente para esta prueba he puesto dos locomotoras en cada vía, de manera que se trataba de hacer una prueba del comportamiento del sistema con dos locomotoras durante un tiempo bastante largo. He podido notar que el transistor se calienta ligeramente, lo cual me indica que está muy bien dimensionado, ya que esta prueba representa la peor situación respecto del calentamiento que va a soportar. Seguramente acabaré por poner un refrigerador a cada transistor, pero por puro preciosismo.
Así que esta prueba, ha resultado todo un éxito, y ya no tengo duda de que voy a usar las placas Velleman, en principio dos placas, para tener el sistema de Control por Ordenador de Locomotoras Analógicas (COLA), que como se trata de una nueva versión habrá que llamar COLA.2

No he mencionado la misión del polímetro que se ve en las pruebas. Está controlando la intensidad que absorbe el circuito. La intención es poner algún sistema de protección para evitar que se destruya el transistor por sobrecargas o cortocircuitos, que pueden ocurrir fácilmente en las vías por caída de objetos, descarrilamientos etc.

Voy a colocar en cada circuito de alimentación un fusible térmico, para que en caso de que la intensidad supere 500 mA se abra el circuito. Como el TIP110 aguanta 2 A, espero que esta protección sea eficaz. El termofusible que he pedido es este: RKEF050 

Y por cierto, he pedido también unos sensores de efecto hall......

jueves, 18 de noviembre de 2010

Ya tengo Osciloscopio


Bueno, estaba claro que con los "dibujos" en los que me estoy metiendo, necesitaba hacerme con un osciloscopio. La verdad es que ya el año pasado, cuando comencé a hacer diseños de alimentaciones electrónicas, pude contar con un osciloscopio, antiguo pero muy bueno, que me habían regalado "por si a ti te sirve para algo" Agradecí mucho el obsequio, pero desafortunadamente al cabo de poco tiempo dejó de funcionar, seguramente debido a un fallo en su alimentación a base de baterías recargables (baterías que debían tener más de treinta años)

Así que, ahora que estoy de nuevo en esta fase de diseño electrónico, necesitaba un osciloscopio y decidí hacerme con uno. Dado que tampoco voy a utilizarlo  mucho, y siempre para temas muy elementales, la verdad es que me vale cualquier osciloscopio, por sencillo que sea. Se presentaban varias alternativas.

Buscar en E-Bay un osciloscopio antiguo. Se venden habitualmente bastante baratos, pero la experiencia con el que me había dejado de funcionar no me animaba mucho por esa opción.

Comprar un osciloscopio "de PC". Estos aparatos están muy de moda y consisten en una misteriosa caja que se conecta a un PC por USB y que lleva conectores para las sondas. Se acompañan con un software que ejecutado en el PC presenta en la pantalla del ordenador un osciloscopio virtual . Los hay de muchos precios, pero digamos que para que sean un poco decentes estamos hablando de alrededor de 200€

Estaba casi decidido a ir a uno de estos elementos, pero hay una cosa que me frenaba: Mi uso más habitual va a ser comprobar  el funcionamiento de los elementos electrónicos manejados por el programa ControlZ. Esto implica que el ordenador tiene que tener este programa funcionando, de modo que si además está funcionando el programa que emula el osciloscopio el manejo se complica mucho.  (Ya he tenido problemas parecidos tratando de grabar con una WebCam conectada al ordenador el funcionamiento del programa de control)

Así que hace unos días, buscando por E-Bay alguna de las dos alternativas con un precio asequible, descubrí unos osciloscopios nuevos, de la marca OWON (rigurosamente china) que son osciloscopios "exentos" (no de PC) por un precio bastante económico. Tanto que el más bajo de la gama, el PDS5022S tiene un precio de alrededor de 200 €. Incluso los había por debajo de ese precio, pero usados y sin sondas. Así que me estiré un poco más, y pedí uno nuevo.

Y esta mañana, nueve días después del pedido, me ha llegado. La primera impresión es muy favorable. La verdad es que para ser el más barato que he encontrado, está bastante bien. Tiene una pantalla en color de 16 x 12 y un aspecto bastante serio. Es un osciloscopio digital, o sea que la pantalla no es un TRC  sino de cristal líquido, y todo el procesado se hace en forma digital (hoy en día esto es mucho más barato que los antiguos osciloscopios analógicos) . Precisamente por eso, aunque su cara frontal es bastante grande, 34 x 16 cm tiene muy poco fondo, sólo 10 cm, y muy poco peso. Por supuesto, trae sus dos sondas, con atenuadores 1x y 10x conmutables, además de un cable de conexión para el barrido externo. Se acompaña con un cable USB y un software de modo que se puede conectar al ordenador, con dos objetivos: El primero, grabar tablas de datos leídos, y el segundo, ¡Presentar un osciloscopio virtual en pantalla!. Bueno, de momento está claro que no voy a usar esa opción, aunque bien pensado, el caputurar la imagen de la pantalla del ordenador es una opción mucho mejor que tomar una fotografía de la pantalla del osciloscopio, para asi poder ilustrar alguno de estos comentarios.

Naturalmente, la primera prueba que he querido hacer, ha sido ver las salidas PWM de las placas de Velleman. En la imagen de cabecera vemos el osciloscopio conectado a las dos salidas, y la imagen en pantalla de la forma de onda producida. Se ve que producen una corriente pulsada de ancho de pulso variable, en función de la posición del control del programa. ¡perfecto!

Por cierto, que al ser digital, tiene algunas características muy particulares que hasta ahora sólo se podían tener en aparatos carísimos. Por ejemplo, basta pulsar una tecla y la imagen pasa a presentar lo que se llama FFT (Fast Fourier Transform) o sea, el espectro de frecuencias de la descomposición en serie de Fourier de la forma de onda *. También se puede visualizar la función suma, diferencia, producto y cociente de ambos canales.

Sin meterme en tantas profundidades una cosa agradable es que en la propia pantalla aparecen una serie de medidas y datos, que en osciloscopio clásico requerían primero un delicado ajuste, y luego buena vista y un cálculo para obtenerlos. Por ejemplo en la parte derecha de la pantalla leemos directamente que la frecuencia de la señal del canal 1 es de 23,44 kHZ,  la amplitud pico a pico es de 1,92 Voltios. y la tensión eficaz es 895 mV.

Bueno, lo malo es que me he quedado sin presupuesto para una larga temporada......


* Fourier demostró que una onda periódica de cualquier forma de onda se puede descomponer en una suma de ondas senoidales, la primera de las cuales es de la misma frecuencia que la original, y los siguientes sumandos de frecuencias doble, triple, cuádruple, etc. Cada una de estas ondas senoidales tienen una amplitud distinta cuyo cálculo es el meollo de esta cuestión, y esa serie de amplitudes o "Coeficientes de Fourier" correspondientes cada uno a una de esas frecuencias, forman el llamado espectro de frecuencias de la señal original. (todavía me acuerdo!)