Automática 3: más reguladores

Hasta ahora hemos visto que todo es muy bonito, que el punto de diseño que queríamos nos ha coincidido con el lugar de las raíces y que con ésto hemos sacado un regulador P, que es suficiente para darnos por satisfechos.

Sin embargo, ¿qué ocurre cuando no coincide el lugar de las raíces? Forzamos a cambiar al LDR hasta que pasa por el punto que queremos, añadiendo un derivador (cero). Qué mejor manera de saber en qué punto poner el cero que con el criterio del argumento.

Regulador PD

Pongamos por ejemplo el último sistema que hemos tomado, su lugar de las raíces va a ser el que sigue y queremos que el tiempo sea menor a 1 segundo y su sobreoscilación menor al 5%.

bien

En ningún momento pasa el LDR por la zona válida de especificaciones (la blanca). Calculamos un punto de diseño que va a ser s = -4+4i (en realidad es +4.19i pero podemos aproximar con total tranquilidad de conciencia, ya que al añadir un cero aumentaremos la sobreoscilación).

A continuación, vamos a ver dónde colocar el cero, calculamos los ángulos con los polos que tenemos: a1=104.0362º, a2=126.8698º.

Hacemos la suma y resta: 104.0362 + 126.8698 – z = 180. Despejamos z y obtenemos: az = 50.906º. De la misma forma que hemos calculado el ángulo de los polos dada su posición, calculamos la posición del cero: tg(angulo) = 4/dz -> dz=3.25 (distancia al punto, se le suma la parte real del punto para saber la distancia al 0 del plano) -> dz=7.25. Colocamos el cero y cambia el LDR:

cero2

Ahora calculamos, mediante el criterio del módulo, la ganancia del regulador, que es aproximadamente 29.

Expresamos el cero del derivador como un tiempo de derivación: Td = 1/z = 1/7.25 = 0.138

Y expresamos la función de transferencia del regulador: Gr = 29*(1+0.138*z).

La respuesta que obtenemos con éste regulador es:

cero3

Como ya estaba predicho, la sobreoscilación es mayor a la que habíamos pensado porque hemos incluido un cero.

Otra de las cosas que nos preocupan de éste sistema es que, como se ve en la figura, se establece en 0.9. Ésto es el error de posición, que como ya expliqué anteriormente, se soluciona con un integrador, a riesgo de inestabilizar el sistema.

Regulador PI-PID

En caso de no necesitar cambiar el LDR pero sí hacer el error de posición 0, usaríamos un regulador PI, nos olvidamos de poner un derivador. En éste caso, hemos necesitado un PID para cambiar el LDR. Simplemente, una vez puesto el cero del derivador en su sitio, incluimos un polo en el punto 0.

inte

Como era de esperar, un integrador “tal cual” nos ha inestabilizado el sistema. Para volver a estabilizarlo, añadimos otro cero, que llamamos cero del integrador, cuya posición es parte real del punto de diseño dividido por 10:

inte2

El programa considera que la pareja polo-cero del integrador afectan al LDR y a la ganancia y cambia. Por lo general nos podemos quedar con la que nos da nada más calcular el derivador, ya que la pareja está “muy próxima” entre sí. Sin embargo, también se puede calcular la nueva ganancia, que daría aproximadamente 12.5. Entonces, expresamos el integrador como un tiempo de integración que es Ti = 1/zi = 1/0.4 = 2.5. Expresamos el regulador completo como:

Gr = 12.5*(1+0.138*s)*(1+1/(2.5*s))

Su respuesta en éste caso ha mejorado mucho en sobreoscilación, pero el tiempo de establecimiento se ha hecho mucho mayor, saliéndose de las especificaciones:

inte3

Para arreglar el “estropicio”, lo que haremos será un “ajuste fino” (vamos a ir probando) hasta obtener una relación de sobreoscilación-tiempo de establecimiento que nos convenza (más bien al comprador).

¿Cómo implemento un PID?

“Antiguamente” (hace 2 días porque ésto ha evolucionado mucho), se usaban métodos analógicos para hacer un regulador. Con métodos analógicos me refiero a un circuito (caso regulador electrónico) con amplificadores operacionales que hacen de amplificador (ganancia), integrador y derivador.

Hoy en día, usamos ordenadores con mucha capacidad que muestrean las señales y hacen salir otra de acuerdo a los parámetros que nosotros le configuremos. Además, hay varias formas de expresar éstos parámetros: la forma de cálculo, que es la que he puesto anteriormente, y la forma comercial, que se calcula mediante ésta tabla:

tabla

En industria se usan aparatos caros como éste:

Y ésto es todo lo básico de lo básico de automática de 2º. Ya sabemos diseñar un regulador, ahora queremos saber cómo implementarlo en un ordenador y que sea funcional y eficiente: lo llaman técnicas de control.

Cosas “chulas” que podemos llegar a hacer con un PID: control de posición de un helicóptero.

Automática 2: regulador P

Hasta aquí no habíamos hablado de cómo diseñar el regulador y en qué afecta al sistema. Pues bien, en primer lugar, hay algunos sistemas que al principio son estables pero que debido a sus características (por ejemplo que sea muy lento o muy rápido en responder) acaban inestabilizándose o simplemente a nosotros nos conviene cambiar su respuesta. Como visteis en el apartado de polos, éstos afectan al comportamiento del sistema, así como la ganancia que se le aplique. Nos aprovecharemos de ésto y algo más:

Ceros

Los ceros en bucle abierto son las raíces reales que tiene el numerador de la función de transferencia en bucle abierto. En bucle cerrado se van perdiendo por ahí, de forma que si un cero queda en el plano positivo, inestabiliza la respuesta. En cuanto a la respuesta  estable, un cero hace que el pico ocurra antes pero aumenta la sobreoscilación. Un ejemplo:

ceroEn éste caso, la acción del cero es tan fuerte que hace a la respuesta cambiar de sobreamortiguada a subamortiguada.

Nos aprovechamos de lo que aportan los ceros para incluirlos en el regulador en forma de derivador.

Lugar de las raíces

En bucle abierto tenemos polos y ceros, que podemos situar sobre un mapa. Entre ellos, podemos trazar lo que llamamos el lugar de las raíces, formado por todos los puntos del plano por el que los polos en bucle cerrado se van a pasear cuando variamos la ganancia. Por ejemplo, la siguiente función de transferencia en bucle abierto:

fdt6

Tiene un lugar de las raíces como sigue:

rlocusDicho lugar de las raíces (LDR) empareja a polos y ceros de forma que con una ganancia que tiende a 0 estaríamos en los polos (inicio) y con una ganancia que tiende a infinito estaríamos en el cero (final). Cuando no hay un mismo número de polos y ceros, el LDR restante tiende al infinito. Si analizamos éste, podemos predecir que cualquier respuesta debería ser sobreamortiguada, ya que no habría polos en bucle cerrado en puntos con imaginarios. Pero sabemos que es falso. ¿Qué es lo primero que aprendemos? Que el lugar de las raíces miente porque el cero aumenta la sobreoscilación.

Regulador P

Voy a aprovechar que ya tenemos éste ejemplo empezado para aprender a hacer un regulador P. Éste está compuesto simplemente por la ganancia que va a llevar al LDR el punto de diseño que nosotros queramos. Por ejemplo, si buscamos un tiempo de establecimiento (98%) de 2 segundos, diseñar el regulador P adecuado.

Un tiempo de establecimiento de 2 segundos nos indica que el punto de diseño está en s=-2+0i. A la vista del gráfico del LDR, sabemos que es posible hacer pasar por ése punto los polos sin más que variar la ganancia, ya que éste punto pertenece al LDR. ¿Y si no tenemos el gráfico? Entonces recurrimos al criterio del argumento: un cálculo que nos indica si el LDR pasa por el punto que deseamos sin tener que hacer gráfico (cosa imposible de hacer a mano en ocasiones).

¿De qué trata el criterio del argumento? Calculamos todos los ángulos que forman los polos y ceros en bucle abierto con el polo deseado (dominante) en bucle cerrado, y sumamos los ángulos de los polos y restamos los ángulos de los ceros. Si el resultado da 180º (o múltiplos enteros impares de éste), entonces el LDR pasa por el punto deseado. El ángulo que buscamos es, pongamos un mapa cualquiera, éste:

argumento

Con dos polos en -3 y -4 y un cero en -7, buscamos los ángulos marcados con el punto de diseño s = -1+1i. El resultado de éstos es alfa1=26.565º, alfa2=18.434, alfa3=9.462º, suma y resta = 35.537º. En éste caso, el LDR no pasa por el punto deseado, por lo que para forzarlo usaremos un derivador, que veremos más adelante. Si volvemos a nuestro ejemplo anterior, veremos que alfa1=0º, alfa2=0º y alfa3=180º, por lo que el LDR sí que pasa por el punto que buscamos.

Una vez sabemos, y no antes, que el LDR pasa por nuestro punto de diseño, falta saber qué ganancia tenemos que aplicar para llegar hasta él. Para ello usamos el criterio del módulo. Ésto es: calculamos todas las distancias de polos y ceros hasta el punto de diseño, y multiplicamos las distancias de los polos y dividimos la distancia de los ceros. En el ejemplo: d1 = 1, d2 = 2, d3 (cero) = 1. Resultado: 1*2/1 = 2. Sin embargo, ésta no es la ganancia final, ésta la llamamos Kldr, cuando nosotros buscamos Kr. Kr es la ganancia de la fdt en bucle abierto, en éste caso 1.

Si tuviésemos una Gba= 4*ceros/polos, la Kr sería 2/4 = 0.5. Kr = Kldr/Kba.

Volviendo a nuestro ejemplo, necesitamos una ganancia de 2 para que se cumpla la especificacion:

polo

(Los puntos rosas son el punto de diseño, polo en bucle cerrado que va desde -3 hasta -1, y el otro polo en bc que sale del polo en -4 y se iría hasta menos infinito, que también afecta a la respuesta pero no lo tenemos en cuenta al no ser dominante)

polo2

(el tiempo no es exacto debido a la precisión, al usar otro método, del programa)

En éste caso no nos hemos preocupado para nada de la sobreoscilación, pero ésta, que relaciona la parte real con la imaginaria, se traza como un ángulo en el lugar de las raíces para ver en qué puntos nos estamos pasando de sobreoscilación. El ángulo se calcula:

sobreos

Pongamos otro ejemplo: tenemos él siguiente lugar de las raíces y queremos que haya una sobreoscilación máxima del 15% y un tiempo de establecimiento de 2 segundos.

rlocus2Hallamos que es un ángulo máximo de 58.873º y que el tiempo nos obliga a poner el polo sobre la parte real -2. Aprovechando que sabemos la parte real, calculamos la parte imaginaria: tg(angulo)*parte real = 3.312. Ya tenemos el punto de diseño, s=-2+3.312i. Pero, ¿no he dicho que es un ángulo máximo? Efectivamente, cualquier ganancia que haga estar al punto por debajo de él es válida, pero podemos buscar la máxima y quedar bien.

sobreosc2

Con un rápido cálculo del criterio del módulo hallamos una ganancia de 11.96 y su respuesta es:

respuesta3

Otras cosas a tener en cuenta: si un polo o un cero están muy alejados (10 veces) del polo dominante, éstos no se toman en cuenta. Si un polo y un cero están muy cercanos (criterio de cada cual), se pueden despreciar para el cálculo (aunque la respuesta será algo diferente).

Automática 1: Entrada y respuesta

Ya introduje que dada una entrada, a la salida del sistema obtendremos una respuesta que se puede predecir con la función de transferencia.

Entradas típicas

Cada tipo de entrada de las que se vio en la tabla induce al sistema a responder de una manera distinta, ahora veréis la forma que tienen las entradas impulso, escalón y rampa:

ent

En ésta gráfica sólo se observan el escalón y la rampa. El impulso no se ve por algo lógico: sólo dura un diferencial de tiempo, un espacio tan corto que no se molesta en dibujarlo, pero os aseguro que está ahí y llega hasta 1. Lo mismo ocurre con la subida del escalón, ya que ésta se hace en forma de impulso.

Pongamos ahora que nuestro sistema tiene ésta fdt:

fdt5Las respuestas con éstos tres tipos de entrada son distintas:

respuesta

Como veis, cada respuesta sigue a su referencia. El impulso actúa un momento y vuelve a 0, por lo que siempre va a alcanzarse. El escalón no, y la rampa tampoco, debido a que tienen una ganancia estática y un error que veremos más adelante.

¿Qué es la ganancia estática? Ésto:

estatica

Por ejemplo, como tenemos la función de transferencia, si ponemos 0 donde hay s, se queda una Kest=1/3=0.3333

Y si os fijáis, 0.3333 (1 que vale el escalón por Kest) es donde se para la gráfica. Si ahora pongo escalones de distintos tamaños (1, 10 y 20):respuesta2La respuesta termina exactamente en 1/3, 10/3 y 20/3.

Otra característica importante: ¿cuándo alcanza ésta referencia? Se suele usar la aproximación:

tiempo

¿Veis que no cuadra la función de transferencia del tiempo que he dado con la del ejemplo? Éso es porque estamos usando una fdt de segundo o mayor grado, en éste caso sobreamortiguada, ya que no oscila. Sin embargo, si utilizásemos una  función tal como G=1/(4s+1) veríamos que ésta deja de ascender aproximadamente en 1 segundo.

Otro tipo de funciones de segundo grado son las subamortiguadas, supongamos que tenemos un proceso con una función de transferencia que está a continuación, una ganancia de 10 y un sensor de ganancia 1:

proceso

Calculamos la función de transferencia en bucle cerrado tal como decíamos arriba:

transfer

Si aplicamos un step (escalón) a ésto:

sobre

Que sea sobreamortiguado o subamortiguado se debe a los parámetros de la función coeficiente de amortiguamiento y pulsación natural.

¿Qué nos interesa medir aquí? Vamos a introducir los mapas de polos. ¿Qué es un polo? Si escribimos la función en bucle abierto, vemos que en la parte de debajo queda una ecuación que se puede simplificar y extraer sus raíces, que en éste caso son s=-0.8455 +- 1.7316i y s=-4.3089. Podemos dibujar éstos puntos en un plano real-imaginario:

pzmap

A los polos más cercanos (que son los imaginarios en éste caso), los llamamos los polos dominantes. Son los que mandan. Además, cuanto más cerca del 0, más lenta es la respuesta. Si  los polos dominantes están en el eje negativo, la respuesta es estable. Si por casualidad se encuentran sobre el 0, la respuesta es oscilatoria (no va a seguir la referencia jamás, va a ir y venir, como una onda senoidal). Por último, si cualquier polo se encuentra en el eje positivo, la respuesta es inestable.

¿De qué nos sirve saber el polo dominante? Pues para saber por ejemplo:

  • tiempo de establecimiento: 4/[Parte real] = 4.73 s en el ejemplo
  • sobreoscilación: cuando tiene un pico al principio, se pasa del valor final, a la diferencia entre el valor máximo de dicho pico y el valor estable (no el de referencia) la llamamos sobreoscilación, y se suele expresar en porcentaje:

parte

Sería aproximadamente un 21.56%

  • tiempo de pico: en qué momento se produce el pico que hemos mencionado antes: tp = pi/[parte imaginaria], en éste caso 1.81 s.
  • error: se puede observar que dada una referencia de 1, ha acabado entre 0.6 y 0.7, dicho error se puede calcular mediante ésta tabla:

error

¿Qué significa el tipo de sistema? Es la cantidad de integradores que tiene. Un integrador se añade en el regulador, pero suele hacer el sistema inestable. Se expresa como 1/s. Es decir, es tipo es el número de raíces s=0 que tiene el denominador bucle abierto. En éste caso, ninguno, por lo que el error es de 0.375. Si teníamos una referencia de 1-0.375 = 0.625 que coincide con el punto en el que entra en régimen permanente.

Puedo comprobar ésto gráficamente, aunque los resultados que da el software son mucho más precisos y siguen otros métodos:

valores

Automática 0: introducción

Automática es la parte de la ingeniería de los procesos que se basa en controlar la respuesta de éstos teniendo en cuenta sus características y el estado en el que se encuentra.

Por ejemplo: cuando te metes en la ducha y abres el agua caliente (entrada de referencia), ésta se calienta (salida, respuesta). Si se calienta demasiado (sobreoscilación por subamortiguamiento), regulas la posición del grifo hasta que está a tu gusto (alcanza la referencia). Tú conoces las características de tu calentador, así que sabes controlarlo bien.

¿Por qué es tan importante el verbo “regular”? Porque de lo que se trata ésto es de diseñar un regulador automático que haga la misma función que alguien a mano. Más adelante.

Ahora hablemos de funciones de transferencia. La función de transferencia de un sistema es una expresión matemática que relaciona la entrada con la salida. Es decir, dada dicha función, si ponemos una entrada (por ejemplo una función escalón, abrimos a tope el grifo y lo dejamos ahí), obtendremos la expresión matemática de la salida. En la vida real las cosas trabajan en el dominio del tiempo: cuando se consigue la expresión de la salida, queda una variable t que da los puntos en cada instante del tiempo. Pero para ello necesitábamos ecuaciones diferenciales de tamaños y complejidades mortales. Para evitarlo, usamos la transformada de Laplace, que nos lleva al dominio de s.

Ésto de la transformada es algo que no me ocupa en éste blog, digamos simplemente que es una forma de resolver ecuaciones diferenciales complejas en unos pocos pasos. Para que veáis cómo es ésto, tenemos una tabla de expresiones que se usan normalmente:

laplace

Volviendo al tema de las funciones de transferencia. Resulta que en un mismo sistema hay varias fdt, por ejemplo: el regulador (tu en la ducha), la función posición del grifo – paso del agua, la función tiempo de calentador activo – temperatura, la función del sensor de temperatura que es tu piel…

Dichas fdt las ponemos en varios bloques, lo que da lugar a un sistema que tiene ésta forma:

fdt

Para interpretarlo: tu cerebro pone una referencia, la temperatura que te apetece. Ésta referencia es interpretada junto a la temperatura que notas que hay (sensor), lo cuál envía la diferencia (error) al control, que es también tu cerebro, tu mano y el grifo. Actúas sobre el grifo y la planta cambia su estado, pasa más agua fría, o más caliente, el calentador va más fuerte o menos, dando al final una temperatura de salida. Ésto hará que varíe la lectura del sensor y vuelta a empezar.

Pongamos etiquetas a cada bloque:

fdt2

La función de transferencia (en bucle cerrado) entre la entrada y salida, conociendo las de cada bloque es:

fdt3

Para acordarse: parte de arriba dividido por uno más todo.

Y la función de transferencia en bucle abierto:

fdt4

¿Qué diferencia hay entre bucle abierto y bucle cerrado? En el bucle abierto, la realimentación (línea que pasa por el sensor) no está conectada, por lo tanto, el regulador no sabe qué diferencia hay entre lo que quiere y lo que ha salido, y es 99.999% probable que el sistema se inestabilice. Sería algo así como si no tuviéramos sensación de temperatura en la piel. No sabemos si el agua está fría o caliente, y podríamos acabar helados o quemados.

Digital 3: Contadores y máquinas de estado

Para facilitarnos la vida, mediante flip-flops cuyo reloj está conectado en serie con la salida Q del anterior, logramos hacer contadores asíncronos, que ya van integrados todo en uno y además añaden algunas funciones. Por ejemplo un contador de 3 bits estaría formado así:

Digcont

Con ésta combinación, los contadores, cuyos integrados tienen varias salidas, ponen una secuencia de conteo en dichas salidas. Hay contadores de 4 bits que hacen toda la tabla posible, de 0000 (0) a 1111(F), otros también de 4 bits cuya única función es contar en BCD de 0 a 9, y otros con 9 salidas que cuentan en decimal, poniendo en estado bajo una salida cada vez (pero el resto siempre en alto).

74LS93

Es un contador asíncrono de 3 bits con posibilidad de aumentar a 4 bits si se une la salida Q0 con la entrada CLKB. Si no se hace, entre CLKA y Q0 hay un simple flip-flop JK con J y K puestos a 1. Incluye un reset que se activa poniendo a 1 las patillas R0(1) y R0(2).

Dig93

Para hacer contadores síncronos, todos los relojes de los flip-flops se conectan a un mismo reloj, y la cuenta se hace mediante circuito lógico, lo que hace que el tiempo de propagación sea mayor.

Para convertir un contador en BCD, se le añade internamente (o externamente) un circuito que resetea la cuenta cuando llega a 9 (1001)

74LS190

Es un contador de décadas con posibilidad de contar hacia arriba o hacia abajo (U/D) y precargar un número cuando la entrada de precarga se activa. Añade un RCO (ripple count output, reseteo del conteo, se activa cuando vuelve a empezar), un TC (Terminal count, se activa cuando el conteo llega al número máximo), y un CE (Count enable, si no se activa mantiene la cuenta parada, mostrando a la salida el mismo número).

Con éste contador de 0 a 9 podemos hacer secuencias desde el número que queramos hasta el número que queramos, hacia delante o atrás. Si por ejemplo queremos contar de 2 a 6, ponemos en precarga un 2 (0010), y a la salida hacemos que un circuito lógico detecte un 7 (0111, servirá con un NAND), de forma que cuando pase de 6 a 7, por muy poco tiempo, activará la señal de Precarga (se activa a nivel bajo) y volverá al 2.

Máquinas de estado: Máquinas de Moore

Ahora que controlamos el funcionamiento de los flip-flops, podemos hacer una secuencia con ellos. Éstas máquinas se basan en detectar en qué punto del proceso se encuentra la máquina (guardado por los flip-flops actuando como memorias), mediante un circuito saber si dada una entrada (o varias) debe cambiar al siguiente punto, y mediante otro circuito activar o desactivar las salidas dependiendo del punto en el que se encuentre. Éstos circuitos nos lo va a dar un programa llamado Boole-Deusto, gratuito creado por profesores y alumnos de la universidad de Deusto. Para decirle al programa que nos transforme una máquina de estado en un circuito, hacemos una representación mediante círculos (estado, dentro del cual hay una salida) y flechas (posibles entradas, cambio de estados). Por ejemplo:

Quiero que un sistema ponga a 1 una salida cuando reciba la secuencia 0-1, y que ponga la salida a 0 cuando reciba la secuencia 0-1-0. El diseño es así:

DigBoole

Os lo explico: el sistema arranca con la salida a 0, en el estado Q0. Cuando reciba un 0, se seguirá quedando en Q0, no habrá cambios. Cuando reciba un 1, cambiará al estado Q1, en el cuál, si recibe un 1 volverá a Q0 (se ha roto la secuencia), y si recibe un 0 (secuencia correcta), pasará a Q2. Una vez en Q2, se activa la salida. Si lo próximo en recibirse es un 1, se queda en el estado Q2, si es un 0, pasa al estado Q3. En Q3, si recibe un 0 (secuencia rota), vuelve a Q2, si recibe un 1, pasa a Q3. Una vez en Q3, si recibe un 1, volverá a Q2 (secuencia rota), mientras que si recibe un 0 (secuencia correcta), pasará a Q0, apagando la salida.

Una vez hecho ésto, sólo hay que elegir “ver circuito”, entre JK o D, y sale el resultado:

DigCirc

Dicho programa es un .exe, y no necesita instalación. Además de sistemas secuenciales, también puede hacer circuitos combinacionales simplificados, dandoos la ecuación y el circuito gráfico, así que aprovechadlo. Podréis descargarlo aquí:

https://mega.co.nz/#!0kEnDaaa!spqDT8kDxTVYFKMz36yIRWXrs0-YpudfF5YfL5t4ZFI

Potencia 1: Introducción

“Introducción” se llama el tema, e introducción le pongo como título. Más bien es una presentación extensa de 107 diapositivas, pero aquí estoy yo, otra vez, para resumirlo. Así que sin miedo, vamos a ponernos a ello:

¿Por qué electrónica de potencia? Otra vez más, nos surge la necesidad de transformar la energía eléctrica de la red de suministro eléctrico a otra de sus formas, AC o DC, que sea útil para el consumidor. De ésto ya hemos visto un poco en analógica, fuentes de alimentación, sin embargo, las fuentes lineales pueden no ser lo suficientemente potentes para la aplicación que buscamos, además de que queremos transformar la energía de distintas formas:

  • AC a AC: regulador de alterna.
  • DC a AC: Inversor.
  • AC a DC: Rectificador, controlado o no.
  • DC a DC: Troceador.

Por ahora lo que nos va a ocupar, ya que es la base del resto, es el troceador. Éste se basa en un “simple” circuito compuesto por un semiconductor de potencia trabajando en conmutación, cuya función es, precisamente, trocear la señal continua de entrada; y un filtro antes de la carga, que se encargue de dejar la señal cuadrada que queda tras el semiconductor lo más continua posible. El semiconductor está controlado por un circuito de disparo, que no se va a ver todavía, que muestrea la salida, la referencia y cambia o bien el periodo o bien el ancho de pulso de la señal.

Análisis de los circuitos

Pero ésto que me cuentas ¿será verdad?¿Cómo puede funcionar así? Pues hay gente que antes que nadie se preocupó de estudiar ésto y sacar fórmulas que nos ayudan a calcular lo que ocurre en los circuitos. Vamos a empezar por los componentes del filtro, los pasivos:

  • La bobina

Es un componente que se crea mediante un conductor enrollado sobre sí mismo. Normalmente, en potencia tendrán un núcleo de algún material ferromagnético que le otorga unas propiedades distintas al campo magnético que la bobina crea con el paso de corriente.

La corriente, es lo que le importa a las bobinas. Éstas van a intentar por todos sus medios posibles que la variación de corriente en un circuito sea la menor posible. Si tu intentas variar la corriente que pasa por una bobina, ésta va a responder mediante un aumento de tensión en el sentido contrario. Las fórmulas que expresan ésto son:

Potbob

Donde L es la inductancia, propiedad de cada bobina, y se mide en Henrios. La que más se utiliza es la fórmula de la tensión, y lo que nos indica, a simple vista, es que si se aplica un aumento de corriente muy grande, en muy poco tiempo, la tensión en la bobina aumenta. Por ésta razón, no podemos usar (aunque en la vida real no existan) pulsos 100% cuadrados, ya que la variación en t=0 hace la tensión infinita.

Otra propiedad de las bobinas es que si su L es muy grande, tiene mayor capacidad de evitar los cambios de corriente, por lo tanto podemos considerar, a efectos teóricos, que es una fuente de corriente constante.

Y otra cosa que nos interesa es sabe que, en régimen estacionario (la señal se ha estabilizado, las tensiones y corrientes empiezan y terminan en el mismo punto cada periodo) el valor medio de la tensión en extremos de la inductancia es nulo, VL(av)=0.

  • El condensador

Ya escribí sobre él en 2 ocasiones: condensadores I y condensadores II.

Sus fórmulas (ésta vez con diferenciales) son:

Potcon

Y la más utilizada es la segunda, que indica lo mismo pero al contrario: si aplicamos una variación de tensión, se produce una corriente en el condensador. Ésto va a hacer, igualmente, que no podamos tener señales puramente cuadradas, por la razón de que la corriente se haría infinita, cosa que no puede ser.

También de la misma forma, si la capacidad del condensador es muy grande, podemos considerar que las variaciones de tensión son muy pequeñas, y por lo tanto sería una fuente de tensión. Ésto hace que consideremos una tensión de salida constante a la hora de analizar algunos circuitos.

Por último, es el valor medio de la corriente por el condensador el que toma valor 0 en régimen estacionario.

  • Magnitudes periódicas

Son valores de magnitudes que ya hemos mencionado antes:

Potmag

No os asustéis con las integrales, porque luego son funciones periódicas totalmente que se pueden trocear en 2 partes y hacer la integral sin tablas ni historias.

  • Balance energético

Ahora vamos a hablar de potencias, igual que se hizo en electricidad, pero con unas fórmulas que sirven para todo tipo de corriente, no sólo AC.

Potene

  • Circuito R en conmutación

Basado sólo en una fuente, un semiconductor en conmutación y una resistencia como carga,  lo que obtendremos son formas puramente cuadradas de todas las magnitudes (excepto la de entrada, claro). En realidad no necesitaríamos éste apartado, ya que aplicando las fórmulas anteriores sale lo mismo.

PotR

Y ahí os presento a delta, el símbolo ése extraño. Es el ciclo de trabajo, en porcentaje. Más bien es la relación de tiempo activo (el semiconductor está en ON) con el tiempo total. Así, por ejemplo delta*T es el tiempo total que pasa corriente por el semiconductor.

  • Circuito R y L (muy alta) en conmutación

Aquí la cosa cambia porque la bobina tiene un transitorio, un tiempo de carga y descarga. Lo más destacable es que se considera que la corriente es constante.

PotRL

Semiconductores de potencia

Para trocear  la señal de entrada se utilizan semiconductores de potencia, cuyas características difieren un poco de los semiconductores normales. Para empezar, ya no vamos a considerar que la conmutación se produce instantáneamente, que no hay pérdidas de potencia o que la temperatura no nos importa, cada semiconductor va a tener unas características que irá demostrando conforme vaya desempeñando sus funciones:

  • Conmutación a ON

Cuando el semiconductor recibe la señal de activarse por su terminal correspondiente, éste tarda un poco en reaccionar, éste es el tiempo de retardo (delay, td), y las magnitudes no empiezan a cambiar hasta que éste se acaba. Una vez pasado éste pequeño tiempo, hay un tiempo de subida (rise, tr), tiempo que tarda la corriente que pasa por el semiconductor en alcanzar su máximo. Cuando hay una bobina en el circuito con un valor de inductancia muy grande, éste tiempo se distribuye en 2:

  1. tri: cuando pasa el tiempo de delay, la corriente empieza a aumentar, pero la tensión se mantiene
  2. tfv: una vez la corriente llega a su máximo, la tensión que cae en el semiconductor empieza a disminuir (voltage fall)
  • Conmutación a OFF

De la misma forma, cuando llega la señal de desactivar el semiconductor, tarda un tiempo en reaccionar que llamamos tiempo de almacenamiento (storage, ts, tdoff), y después hay un tiempo de bajada (fall, tf), tiempo que tarda la corriente en llegar a su mínimo. Con inductancia también se distribuye en 2:

  1. trv: al pasar el delay, la caída de tensión en el semiconductor empieza a aumentar, manteniendo la corriente constante.
  2. tfi: una vez la caída de tensión llega al máximo, la corriente empieza a caer hasta el mínimo.

Son éstos tiempos de subida y bajada los que hacen que la potencia en el momento de la conmutación aumente (porque se encuentran la corriente y la tensión máximas en un punto). Para evitar excesos de disipación se deben tener en cuenta éstas propiedades y ajustar un periodo y ciclo de trabajo adecuados:

PotT

 

Tipos de semiconductores de potencia

Sí, hay semiconductores más allá de los transistores, y es necesario saber cuál usar en su aplicación. Por ejemplo, un tiristor soportaría una potencia enorme (es el dispositivo con más capacidad de potencia), pero trabaja a frecuencias bajas, y un MOSFET trabajaría a frecuencias muy altas, pero la potencia que soporta no es ni parecida.

  • Diodo de potencia

Ya conocido, es un dispositivo unidireccional, sin control. Los de potencia son capaces de soportar mayor corriente por tener una sección más grande, y una tensión más elevada debido a la región de deriva añadida en su estructura interna. Lógicamente no tienen la misma forma:

  • Tiristores: SCR

Éste va a ser nuevo para nosotros: se trata de un diodo con una entrada de disparo, que se activa de una forma bastante sencilla aplicando tensión en la puerta, pero su bloqueo no lo es tanto, ya que es necesario el paso por 0 de la tensión en ánodo. En AC el bloqueo es natural en cada semiciclo, pero en DC es necesario un circuito para forzarlo.

Se recomienda retirar el pulso una vez disparado el dispositivo para evitar que disipe potencia por su terminal de activación, así como hacer el pulso compuesto por un tren de pulsos. Ésto ayudará a aumentar su vida útil.

  • Tiristores: TRIAC

Es igual que el SCR, pero como si hubieran puesto dos en antiparalelo, de forma que conduce bidireccionalmente.

  • BJT de potencia

Es igual que el BJT normal, sólo que soporta más corriente y tensión, aunque menos que un SCR. Se controla mediante corriente por la puerta. Al ser de potencia, se añaden dos nuevos conceptos:

  1. Área de trabajo seguro (SOA): es una gráfica que relaciona Ic y Vce, y mediante unas líneas delimita el área de trabajo en la que el transistor no se destruye. Los límites vienen dados por la corriente máxima de colector, la tensión Vce máxima, la potencia disipable, y la segunda ruptura, que es un efecto producido por haber puntos de mayor conducción en la estructura interna, y por lo tanto de mayor potencia y temperatura, que puede alcanzar su máximo valor y fundir el componente.
  2. Embalamiento térmico: es un efecto producido por el aumento de temperatura en el componente. Al aumentar la temperatura, es capaz de aumentar la corriente que pasa a través de él, y ésto hace que aumente la temperatura, aumente la corriente, aumente… Y así hasta que se destruye. Se puede evitar controlando la temperatura o mediante circuitos externos, como se hace en amplificadores de audio.
  • MOSFET de potencia

No es igual que el MOSFET normal, ya se verá después por qué. Lo que sí es igual es su alta impedancia de puerta. Los MOSFET de potencia tienen, en su mayoría, un diodo de protección entre drenador y surtidor, y son muy fáciles de poner en paralelo, ya que no necesitan resistencias para trabajar a la vez.

Tiene un SOA delimitado únicamente por la tensión Vds máxima, la corriente Id máxima y la temperatura máxima, Tjmax. Al contrario que el BJT, cuando aumenta la temperatura se reduce la corriente máxima que es capaz de conducir.

  • IGBT

Es un híbrido entre MOSFET y BJT. Tiene puerta a la entrada, con impedancia muy elevada (se dispara igual que el MOSFET de potencia), un SOA sin segunda ruptura, y unas características de tensión y corriente de conducción similares a las de un BJT. También es fácil ponerlos en paralelo.

Disparo de los semiconductores

Uno de los inconvenientes que se van a encontrar a la hora de diseñar el circuito de potencia, es que los semiconductores necesitan ser disparados aplicando el disparo entre puerta  y surtidor o puerta y cátodo, depende de cómo se llame. Para ello se deberán utilizar:

  • Transformadores de impulsos: transforman un impulso del primario al secundario, siguiendo también una relación dependiente de su número de espiras. El inconveniente es que no transmite continua. Lo bueno, elimina interferencias debidas a las altas frecuencias.
  • Optoacopladores: éstos sí que pueden transmitir continua, pero necesitan una fuente de alimentación auxiliar que esté aislada del circuito principal.

Además, los MOSFET de potencia tienen una forma distinta de dispararse, siguiendo una secuencia:

  1. Conmutación a ON: se aplica una corriente (sí, corriente) mayor que 0 en la puerta
  2. Mientras conduce, la corriente tiene que ser igual a 0
  3. Para conmutar a OFF se aplica una corriente menor que 0 (básicamente, se va a descargar el condensador parásito).

Caracterísiticas térmicas

Éstas van a depender de la serie de semiconductor, el tipo de encapsulado (TO92, TO126, TO220 y TO3 son los más comunes) e incluso afecta el fabricante, aunque intenten que las características sean aproximadamente las mismas.

Para hacer un cálculo aproximado de la temperatura, la potencia máxima, o la resistencia térmica del disipador que necesitamos, hacemos una analogía con la ley de ohm: la temperatura es la tensión (hay una diferencia, temperatura interna y externa), la potencia es la corriente y la resistencia térmica es la resistencia. Tj-Ta = P*Rt

¿Qué es la resistencia térmica? Es la proporción en la que va a aumentar la temperatura cuando se aplica una potencia. En las hojas de datos podemos encontrar varias resistencias térmicas que vienen con nuestro semiconductor:

  • Rjc: Resistencia junction-case, la junction es la estructura interna del semiconductor, a veces llamadas pastillas por su forma cuadrada, y case es lo que vemos, lo que cubre la pastilla.
  • Rca: Resistencia case-ambient, la resistencia térmica que hay entre la “cáscara” y el ambiente.

Encontraremos también la Tjmax, la temperatura máxima que puede alcanzar la pastilla, será la temperatura inicial. Para tener un estándar aproximado, la temperatura al otro extremo del “circuito”, la temperatura ambiente, se suele considerar de 40ºC, pero se debe aumentar si se va a trabajar en un ambiente industrial especialmente cálido.

Así pues, ya hemos calculado la potencia que tiene que disipar el semiconductor, y necesitamos saber qué disipador le vamos a añadir para que no se queme. Lo que hacemos es poner las resistencias Rjc, Rcr (case-radiator) y Rra (radiator-ambient) en serie, las temperaturas a los extremos y que las atraviese la potencia. Calculamos entonces la Rra, y con éste dato consultamos las hojas de datos de los fabricantes de disipadores.

(Ésta imagen no incluye la Rcr, ésto puede ser debido al uso de pasta térmica [prácticamente obligatorio en todos los casos], cuya resistencia térmica es despreciable)

Y éste es el final de la “introducción”. Si queréis más, lo próximo son fuentes conmutadas, y empezaremos a hablar de circuitos e integrados para el control, pero habrá que esperar a que yo termine el tema. ¡Buena suerte!.

Digital 2: -estables

-Estables, sí, es por ponerle un título corto al tema. Lo que vamos a ver, exactamente, es la combinación de puertas lógicas, que nos van a llevar a latches, flip-flops, monoestables, biestables y astables.

En primer lugar, el latch. ¿Qué es un latch? Es un pequeño dispositivo formado por dos puertas NAND (también los hay con NOR), que actúa como una memoria de 1 bit, cuyas entradas son Set y Reset, y sus salidas Q, el bit, y Q negada, el mismo bit, negado. El circuito es el siguiente:

Dlatch

Vamos a ver qué ocurriría en la salida dada una sucesión de entradas:

  • Estado inicial, S es 0, R es 0, Q es 0.
  • Ponemos S a 1, la salida Q cambia a 1.
  • Ponemos S a 0, la salida Q se mantiene en 1.
  • Ponemos S a 1, sin cambios, Q sigue siendo 1.
  • Ponemos S a 0 y poco después aplicamos un pulso en R, la salida Q cambia a 0.
  • Si ponemos S a 1 y R a 1 a la vez, no se sabe exactamente qué es lo que hay en la salida.

A un latch lo llamamos un dispositivo asíncrono, que no espera a una señal de reloj (normalmente externa) para realizar el cambio en la salida, lo hace inmediatamente en cuanto se aplica la entrada.

Hay otra variante de latch llamada latch D, cuyas entradas son D y E. Cuando se aplica una entrada en D, simplemente, no ocurre nada, hay que activar a la vez E (Enable), para que la salida cambie. Así sería:

  • Ponemos D en 1. No ocurre nada.
  • D sigue siendo 1 y ponemos E en 1. Q cambia a 1.
  • D está a 0 y E baja a 0. Q sigue en 1.
  • D pasa a 1 pero E sigue en 0. Q sigue en 1

Más o menos espero que se pille, la cuestión es que poner E a uno momentáneamente copia la entrada a la salida.

Flip-flop

Desarrollando lo visto anteriormente, llegamos a un sistema síncrono. Ésto quiere decir que hasta que no llega un pulso de reloj, el sistema no realiza ningún cambio sea cual sea la condición.

Tampoco nos sirve un pulso de reloj cualquiera, sino que tendremos 2 tipos de entrada de reloj:

  • Por flanco de subida: actúa cuando el pulso de reloj pasa de bajo a alto.
  • Por flanco de bajada: actúa cuando el pulso de reloj pasa de alto a bajo.

Se distinguen por lo siguiente, la bolita de negación en la entrada:

Dclock

Ése que veis ahí es el flip-flop tipo D, se basa en que cada vez que llega el pulso de reloj, simplemente, copia el estado de D en la salida Q.

Para liar un poco más la cosa, tenemos el flip-flop tipo JK. Éste actúa igual que el latch SR (S=J, R=K), sólo que incluye la entrada de reloj como una especie de Enable (hasta que no llegue la señal de reloj, pase lo que pase, no actúa).

Djk

Si seguimos combinando éstos circuitos, y mediante una red RC simple e ingeniosa, llegamos a los monoestables. ¿Qué es un monoestable? Es un dispositivo que es capaz de mantenerse estable en un estado, y cuando llega un pulso de disparo (casualmente se usa la entrada de reloj), se mantiene en el estado contrario al estable durante un tiempo definido por la red RC, hasta que vuelve a su estado estable.

Dmono

En otra combinación de los flip-flops, siéndoos sinceros, simplemente con un par de cables, obtenemos el biestable. Por la definición anterior ya se intuye que éstos son capaces de mantenerse estables en un estado o en otro. En un principio se mantiene en un estado estable hasta que llega un pulso de disparo, entonces el estado cambia y se mantiene estable, hasta el próximo pulso, en el que el estado vuelve a cambiar…

Dbi

Éste es con un tipo D, pero también los hay con JK. Como veis, éste integrado incorpora 2 flip-flops tipo D con entradas R y S. En éste caso R es un Reset asíncrono, que pone a 0 la salida Q sin esperar al reloj. Y S es Set, pero asíncrono, pone a 1 la salida sin esperar al reloj. Es como si tuvieras todas las salidas posibles desarrollando desde el mismísimo latch.

Astable

Es un dispositivo que no se mantiene estable en ninguno de los estados. Pero para ello introducimos al…

555

Viejo como la misma electrónica digital, pero todavía en uso por las características de precisión, precio y posibilidades. Es capaz de actuar como monoestable, astable y dicen (aunque no he conseguido que funcione), biestable, según la configuración de su circuito externo, que es una red RC. Modo astable:

D5a

Calculadora: http://www.ohmslawcalculator.com/555_astable.php

Modo monoestable:

D5m

Lo bueno de éste integrado es que se puede encontrar en prácticamente cualquier parte a buen precio, puede que tanto en versión TTL como CMOS, siendo ésta última la más barata. Por supuesto, si se compra por internet al mayorista una cantidad “grande”, hablemos de 10, sale mucho más barato.

Un contra que tiene, es que en su configuración normal como biestable no consigue un ciclo de trabajo menor al 50%. Para lograrlo, se añaden uno o dos diodos. Con dos diodos conseguimos un control por PWM como el que ya publiqué aquí.

Digital 1: Familias lógicas

Si habéis decidido saltaros la introducción y habéis llegado hasta aquí, supongo que ya sabréis de qué va la cosa. Para el resto, como dije en dicho apartado, una vez tenemos el circuito, cuando lo vamos a montar, es decir, a la hora de utilizarlos en la realidad, utilizamos un circuito integrado que tiene unas características propias. Dichas características son otra excusa para darnos dolor de cabeza e introducir éste tema.

En primer lugar veremos que hay dos familias muy fácilmente distinguibles de integrados: TTL y CMOS. Como su nombre indica, la CMOS utiliza transistores tecnología MOS (MOSFET), y la TTL utiliza transistores BJT. Y ésto las hace diferentes.

Vamos a ver la nomenclatura de dichos integrados:

  • 74: Estándar TTL
  • 40 o 140: Estándar CMOS
  • 74S: TTL Schottky
  • 74L: TTL baja potencia
  • 74LS: TTL baja potencia Schottky (Ésta es la más usada)
  • 74H: TTL alta velocidad
  • 74AS: TTL Schottky avanzada
  • 74C: CMOS compatible con el patillaje de las TTL
  • 74HC: CMOS alta velocidad (Más usada, actualmente más que la TTL)
  • 74HCT: CMOS alta velocidad compatible con patillaje y tensiones de TTL

La familia 74HCT es muy importante hoy en día para reemplazar antiguos TTL o como compatibilidad con otros integrados de ésta tecnología, ya que tienen la misma distribución de patillas y semejantes características.

Características de Entrada / Salida

Ahora vamos a ver cómo sería una puerta inversora de tecnología TTL por dentro:

Dnotttl

Como veis la entrada está conformada por un transistor puesto al revés, un transistor especial que se comporta como dos diodos, uno mirando hacia la base de Q2 y otro mirando hacia la entrada. Si ponemos la entrada a 0, la corriente va de VCC por la base hasta la entrada, drenando la corriente de la base de Q2 y poniéndolo en corte, de forma que a la salida tenemos un 1. Si ponemos la entrada a 1, la corriente no tiene otra que ir hacia la base de Q2 y polarizarlo en saturación, así que en la salida habrá un 0.

Por ésta cuestión es que si dejamos una patilla de entrada TTL al aire (no conectada a VCC, a tierra, a ningún sitio con referencia), se toma como si hubiese un 1, porque la corriente no puede fluir a través del diodo, que está ahí por protección.

Muy importante: patilla de entrada TTL al aire = 1. Si se recuerda ésta regla, se pueden simplificar bastante algunos diseños en el futuro.

Y ahora observemos una puerta inversora CMOS:

DnotcmosEs muy importante que la entrada de una puerta CMOS siempre esté conectada a algo, ya sea HIGH o LOW, si no, tendremos un estado indeterminado.

Aquí no es necesario resitencias ni nada… Bueno, ésto se debe al control por tensión de las puertas, supuestamente su impedancia de puerta es infinita, por lo tanto no habría corriente de entrada. Vale, ésto es falso, pero si comparamos la corriente de polarización entre una TTL y una CMOS (74LS04 y 74HC04):

DIttls

DIcmos

Vemos que la CMOS tiene una corriente enana en comparación a la TTL. De 0.1uA (25ºC) a entre 20 y 100uA, hay bastante.

Otra cosa que se puede ver en la datasheet es la corriente a entrada LOW, es decir, cuando pongamos la entrada a masa (0), va a salir una corriente desde dicha entrada que polariza al transistor, por éso se expresa en negativo:

DIttll

Vemos un máximo de 0.4 mA en la TTL ¿Y en la CMOS? La diferencia es tan poca que, si os fijáis, ya viene dada en la tabla de antes (la datasheet no especifica Input HIGH o Input LOW para CMOS, sólo Input Current).

También a la salida tenemos unas especificaciones diferentes de corriente:

DIottlDIocmos

Como veis la TTL es capaz de entregar más corriente, sin embargo, debido a la corriente que necesita de entrada, no se pueden poner tantas puertas TTL en paralelo detrás de otra como si se tratase de CMOS. A ésto lo llamamos cargabilidad y va en número de puertas. Dados éstos datos podríamos poner unas 50 TLL o unas 200 CMOS.

Como el diseño TTL que hemos visto al principio otorgaba todavía menos corriente, se inventaron la salida totem-pole, que se basa en otra configuración de transistores añadida para aumentar la corriente de salida. Ésta configuración, creo, viene dada ya en todos los integrados. Los CMOS no la necesitan, pero se usan si son HCT para adaptar mejor.

Dtotem

Pero ahora vamos a meternos en el tortuoso mundo de los niveles de entrada salida en tensión.

Éstos niveles también nos los da el fabricante y nos dicen a partir de qué tensión nos aseguran que tenemos un 1 o un 0 a la entrada o a la salida. Se pueden ver en forma de gráfico, para simplificarlo, empecemos con un 74LS04:

Dvttl

Dvttl2

Ésto nos indica que a la entrada, lo que nosotros controlamos, si ponemos un rango de tensión de 0 a 0.8 voltios, el integrado seguro que lo capta como un LOW. Y lo mismo ocurre si ponemos, una tensión entre 2 y 5 voltios, el integrado seguro lo capta como HIGH. ¿Y por qué lo remarco? Porque ésto en realidad es cosa de estadística ¿Habéis visto el rango entre 0.8 y 2 voltios, el inaceptable? Supongamos que hemos elegido un integrado cualquiera, ponemos un regulador de tensión variable a la entrada y observamos cómo lo capta el integrado. Llegamos hasta 0.8 y subimos, quizás hasta 1 voltio no pase nada, 1.2, 1.4 … Quién sabe, el caso es que en un punto desconocido entre 0.8 y 2 voltios el integrado dejará de captar un 0 y captará un 1, pero no nos vamos a poner a mirar integrado por integrado cuál es éste punto (que además cambia por temperatura, humedad, calidad de alimentación, etc.), sino que hacemos una estadística y sacamos los márgenes. Es más un caso de asegurarse.

Y a la salida, cosa que no controlamos, obtendremos un rango de tensión que va entre 0 y 0.4 para un OUTPUT LOW y entre 2.4 y 5 voltios para un OUTPUT HIGH. Nos interesa éste dato para saber el margen de ruido, es decir, cuánto se puede mover la señal arriba o abajo para que el siguiente integrado de la cola lo capte bien y no se meta en zona “inaceptable”. Es cosa de restar:

  • Margen de ruido HIGH: 2.4 – 2 V = 0.4V
  • Margen de ruido LOW 0.8-0.4 = 0.4V

Importante para líneas que cojan ruido del ambiente o aparatos cercanos.

Para la tecnología CMOS ocurre algo similar, pero los márgenes son bastante más amplios, además de incluir en las datasheet varios en condición de la alimentación, ya que un integrado CMOS puro (no HCT), puede ser alimentado en rangos muy distintos de tensión, límites recomendados por el fabricante que podrían llegar a estar entre 1.2 y 15 voltios.

Dvcmos

Así por ejemplo, con unos 5V de alimentación tendríamos HIGH con un input de 3.15 hasta Vcc y LOW entre 0 y 1.35V

En la salida tendríamos un HIGH con tensión mínima de 4.4V y un LOW con tensión máxima de 0.1V.

Otra cosa a tener en cuenta son los tiempos de retardo, es un pequeño tiempo que necesitan los transistores para polarizarse. Ésto hace que la reacción entre que se aplica una entrada y hay una salida no sea inmediata, sino que tarde un poco, aunque sean nanosegundos (del orden éste van las cosas). La tecnología TTL siempre ha sido más rápida que la CMOS, razón por la que se usa la familia HC (high speed CMOS), aunque hoy en día casi se podría decir lo contrario.

Control de entrada con botón y resistencia pull-up o pull-down

En muchos sistemas, sobre todo ya podéis haberlo visto en PICs y Arduinos, se utiliza un pequeño circuito de input con un botón y una resistencia, uno de ellos va a tierra y otro a alimentación. Si la resistencia va a masa, entonces la llamamos pull-down, y si va a alimentación es de pull-up. Entonces el circuito puede ir así:

Dsw1

Dsw2

Pero ojo, porque ésto nos trae otro dolor de cabeza. Tenemos que buscar el equilibrio entre resistencia-tensión LOW-corriente HIGH.

En el primer caso, hay que ponerle un valor a la resistencia de tal forma que cuando el interruptor esté abierto y queramos un LOW a la entrada, la corriente que se drena no aumente la tensión hasta V input HIGH y confunda al integrado. Por ejemplo en un TTL como el que ya hemos visto tendríamos un rango de resistencia con máximo de 0.8/0.0004 = 2k ohmios, pero no podemos ponerle el valor demasiado pequeño, porque entonces disiparía demasiada potencia, y el circuito consumiría muchísimo.

En el segundo caso, la resistencia debe ser lo suficientemente pequeña para dejar pasar la corriente mínima de polarización: 5/0.00002 = 250k ohmios máximo.

Entre otras maldades, podemos poner en la entrada un sensor de luz, basado en sólo una resistencia y un LDR, y calcular el divisor de tensión, dimensionando la resistencia para tener el margen necesario y que la puerta se active con cierto nivel de luz.

Existen puertas con histéresis que realmente, en la zona “inaceptable”, no cambian hasta llegar a los niveles máximos y mínimos. Éstas se usan para señales con mucho ruido, distorsionadas o que entran con defectos.

Digital 0: Introducción

Bienvenidos al nuevo curso. Éste año tendréis por aquí más cosas nuevas como electrónica digital y electrónica de potencia. Otra vez más me voy a permitir el lujo de saltarme la gran mayor parte de la introducción, es decir, el porqué de las cosas, y vamos directos a aprender.

En digital, ya sabéis, las cosas funcionan mediante un estado binario: alto (1, o voltaje alto Vh, o H) y bajo (0, o voltaje bajo Vl, o L).

Lo que hacemos es combinar éstos estados que nos traen los sensores, botones o actuadores que ponemos a las entradas mediante puertas AND, OR y NOT para al final obtener el resultado que queramos. Sí, mediante éstas puertas se puede conseguir cualquier función lógica. Aunque en realidad la puerta más básica es la NOT seguida de la NAND, la más usada para simplificar.

¿Cómo conseguimos sacar ésas funciones lógicas?

En primer lugar, construiremos una tabla con todos los estados de las entradas posibles y la salida que se le atribuye a cada combinación. La tabla siempre tiene un número de filas correspondiente a una base 2, es decir, si tenemos 3 entradas, 2^3=8 filas. Ahí va el ejemplo:

Dtabla

Como podéis ver, se muestran todas las combinaciones posibles de A, B y C. Y sabemos en cada combinación cuál va a ser la salida que queremos. ¿Y ésto para qué? Bien, podéis sacar de ahí mismo la función mediante sumas de productos o productos de sumas. Ojo:

  • Mediante sumas de productos: lo que hacemos es fijarnos en los 1 de la salida, y para cada 1 hacemos el producto del estado de las entradas (normal si es 1 y negado si es 0), luego sumamos todos esos productos. De ésta forma sale enseguida que:

Dsp

  • Mediante productos de sumas: ésta vez nos fijamos en los 0 de la salida, y para cada 0 hacemos la suma del estado de las entradas (normal si es 0 y negado si es 1), el mundo al revés. Y luego se multiplican todas ésas sumas. No lo voy a hacer porque, he aquí la desventaja del método, es largo, y ya os lo podéis imaginar.

Vaya, ésto se hace demasiado largo, ahora teníamos 8 combinaciones, pero con 4 entradas serían 16 y con 5, 32, y ya mejor ni pensarlo. ¿Qué podemos hacer? Un mapa de Karnaugh. Es un método que, además de hacer la cosa más corta y visual, ya sale la función simplificada al máximo, sin añadir álgebra ni cosas extrañas que no queremos aprender. Aunque, éstos mapas siguen el código Gray, una forma de secuencia del sistema binario en el que las diferencias entre uno y el siguiente ocurren sólo en 1 de los dígitos: 00 01 11 10. Y el mapa se monta así:

DKarn

En éste caso no nos ha salido un mapa muy agraciado, y tenemos un 1 suelto por ahí sin pareja. Sí, la cosa se trata de emparejar unos, de dos en dos, o de 4, o de 8… Siempre en base 2. Y lo bonito es que, tal como dijeron los griegos y ratificaron Magallanes y Elcano sobre nuestro planeta, el mapa es esférico. Vamos a emparejar primero la tabla tal como está y luego la modifico un poco para ver cómo funciona:

DKarn2

En éste caso tendríamos dos grupos, uno de 2 y otro de 1 (es válido porque 2^0=1). Y la función se escribe: cojo un grupo, miro a los lados ¿El número de la entrada A cambia? Sí, pues lo quito, no, pues lo dejo. En éste caso no, y es 0, así que se incluye y negado. Tampoco cambia C y es 1 así que no negado. La B no entra porque cambia. Con el 1 que está sólo no nos queda más remedio que escribir las 3 entradas.

DKarn3

Ahora quizás no lo apreciáis bastante, pero os aseguro que se ha acortado bastante la cosa, sobre todo si vas a dibujar el circuito. Y ya ni digamos si vas a montarlo. Porque habéis pasado de usar unas 11 puertas a 6. Y se nota.

Ahora voy a hacerle un pequeño cambio a la tabla:

DKarn4Como veis, he añadido un 1 abajo a la derecha y los colores han cambiado. En realidad es una chapuza porque, como todos sabemos, azul + amarillo = verde. Lo que he hecho ha sido mantener la pareja de unos que ya teníamos antes, y emparejar a la vez el de abajo a la izquierda con el de abajo a la derecha. Porque cada extremo del mapa se une. Perdón por el mareo, pero lo vamos a ver de otra forma:

DKarn5

Ahora vamos a volver a nuestra tabla de antes, sin modificar. Hemos sacado la función, muy bien simplificada, con el mapa. Pero ahora queremos implementarla en un sistema real y, oh, necesitamos 3 circuitos integrados: 1 NOT, 1 AND y 1 OR. Y éso ocupa espacio y dinero. ¿Podemos hacer que funcione todo el circuito con sólo una compuerta lógica? ¡Sí! Normalmente entre NAND y NOR usamos la NAND, que se hace de la siguiente forma: negamos dos veces la función y aplicamos algo “mágico”.

Dboole

De ésta forma, si aplicamos la doble negación:

DNand

Como veis, aún se quedarían las entradas A y C negadas en la entrada, al principio.¿Usaremos NOT igualmente? No, porque podéis usar una puerta NAND uniendo sus dos entradas, convirtiéndola en una y ahí enganchando la entrada para negarla.

¿Qué hemos hecho con ésto? Pues ahora necesitamos 5 puertas, pero sólo 2 integrados. En éste caso, debido al 1 que andaba solitario (sí, estaba para molestar) necesitaremos un circuito integrado que lleve 4 NAND 2-Input y otro que lleve 3 NAND 3-Input, para éste circuito:

Dcircuito

No es lo idóneo que haya una NAND de 3 entradas por ahí, pero bueno, nos ha salido rana el ejemplo, es lo que tiene no preparárselo antes de escribir.

Y ésto va a ser todo por hoy, es la base y el pan digital de cada día. Todos los días nos toca hacer alguno de éstos en clase.