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"

No hay comentarios:

Publicar un comentario en la entrada

Gracias por expresar tus opiniones.

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