entradas salidas paralelo en el pic16f87x - server...

14
Entradas salidas paralelo en el PIC16F87X Introducción: La tarea más básica que podemos hacer con un microprocesador es sustituir a un circuito combinacional o secuencial. Podemos encender una luz para cierta combinación de entradas, conectar un bomba cuando el nivel de un depósito sea menor de cierto umbral y pararla cuando supere otro umbral, activar una alarma cuando se active algún sensor y la alarma esté armada, etc. Para poder hacer estas cosas, el microprocesador necesitará tener entradas y salidas digitales, igual que las de cualquier puerta lógica. El microprocesador PIC16F877 tiene 33 patillas que pueden ser, a voluntad nuestra, entradas o salidas, de forma que podemos hacer, por ejemplo, 10 funciones con 15 entradas. De todos modos, el tiempo de respuesta de esas funciones es mucho mayor que el de las funciones realizadas con puertas lógicas, aunque en la mayoría de los casos ese tiempo no es demasiado importante; que la alarma suene 1 milisegundo después de abrir la puerta no parece grave. Ahora bien, estas entradas y salidas digitales tienen niveles TTL, por lo que su tensión de entrada y salida tendrá que estar comprendida entre 0 y 5. Necesitaremos unos circuitos que harán de interface entre estos niveles TTL y los niveles con los que estemos trabajando, 220 VAC, 24 VDC o cualquier otra tensión. Entradas/salidas digitales en el PIC16F8XX Vamos a ver los puertos de que dispone este microprocesador. PORTA 6 patillas que pueden ser de entradas y salidas. RA0 a RA5 PORTB 8 patillas. RB0 a RB7 PORTC 8 patillas. RC0 a RC7 PORTD 8 patillas. RD0 a RD7 PORTE 3 patillas. RE0 a RE2 En resumen tenemos 33 patillas de entrada y salida. Cada una de ellas puede ser entrada o salida independientemente de las otras, aunque algunas tienen alguna peculiaridad. La principal precaución que hay que tener a la hora de usar estas patillas es que RA4 como salida, es en colector abierto. Además de los puertos paralelo, el microprocesador dispone de entradas analógicas, puertos de comunicación serie, contadores, ... los cuales utilizan algunas de las 33 patillas que tienen doble o triple función. Por ejemplo, la patilla RA0 puede ser una entrada analógica, pasándose a llamar AN0. En el esquema de las patillas del microprocesador PIC16F877/874 podemos ver las 2 o 3 funciones, normalmente excluyentes, que tienen la mayoría de las patillas. 1

Upload: phunganh

Post on 20-Sep-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

Entradas salidas paralelo en el PIC16F87XIntroducción:

La tarea más básica que podemos hacer con un microprocesador es sustituir a un circuito combinacional osecuencial. Podemos encender una luz para cierta combinación de entradas, conectar un bomba cuando elnivel de un depósito sea menor de cierto umbral y pararla cuando supere otro umbral, activar una alarmacuando se active algún sensor y la alarma esté armada, etc.Para poder hacer estas cosas, el microprocesador necesitará tener entradas y salidas digitales, igual que las decualquier puerta lógica. El microprocesador PIC16F877 tiene 33 patillas que pueden ser, a voluntad nuestra,entradas o salidas, de forma que podemos hacer, por ejemplo, 10 funciones con 15 entradas. De todosmodos, el tiempo de respuesta de esas funciones es mucho mayor que el de las funciones realizadas conpuertas lógicas, aunque en la mayoría de los casos ese tiempo no es demasiado importante; que la alarmasuene 1 milisegundo después de abrir la puerta no parece grave.

Ahora bien, estas entradas y salidas digitales tienen niveles TTL, por lo que su tensión de entrada y salidatendrá que estar comprendida entre 0 y 5. Necesitaremos unos circuitos que harán de interface entre estosniveles TTL y los niveles con los que estemos trabajando, 220 VAC, 24 VDC o cualquier otra tensión.

Entradas/salidas digitales en el PIC16F8XX

Vamos a ver los puertos de que dispone estemicroprocesador.

PORTA 6 patillas que pueden ser deentradas y salidas. RA0 a RA5PORTB 8 patillas. RB0 a RB7PORTC 8 patillas. RC0 a RC7PORTD 8 patillas. RD0 a RD7PORTE 3 patillas. RE0 a RE2

En resumen tenemos 33 patillas de entrada ysalida. Cada una de ellas puede ser entrada osalida independientemente de las otras, aunquealgunas tienen alguna peculiaridad. La principalprecaución que hay que tener a la hora de usarestas patillas es que RA4 como salida, es encolector abierto.

Además de los puertos paralelo, elmicroprocesador dispone de entradas analógicas,puertos de comunicación serie, contadores, ... loscuales utilizan algunas de las 33 patillas quetienen doble o triple función. Por ejemplo, lapatilla RA0 puede ser una entrada analógica, pasándose a llamar AN0. En el esquema de las patillas delmicroprocesador PIC16F877/874 podemos ver las 2 o 3 funciones, normalmente excluyentes, que tienen lamayoría de las patillas.

1

Programación de los puertos de entrada/salida paralelos

En general, los puertos de entrada/salida tienen un funcionamiento similar. Para cada puerto existen dosregistros, el TRISX y el PORTX. La X indica cualquiera de los puertos que tiene el microprocesador, A, B,C, D o E.

TRISX Este registro sirve para indicar si la patilla va a ser salida o no. Un 0 en un bit de este registroindica que la patilla correspondiente es una salida. Un 1 indica que la patilla es entrada. Siendo más precisono es exactamente así, los pines siempre funcionan como entrada, y cuando ponemos el bit TRIScorrespondiente a 1 indicamos que ponemos la salida en alta impedancia, y por lo tanto no funciona comosalida. Cuando TRISX está a 1 activamos la salida en alta impedancia, y por lo tanto solo funciona comoentrada, pero cuando ponemos TRISX a 0 la salida impone su nivel, pero al mismo tiempo funciona comoentrada, aunque salvo algún problema en el circuito (una salida conectada a masa), deberemos leer lo quehemos escrito en la salida. Además, podemos también leer la palabra TRISX, conociendo lo que previamentehabíamos escrito en TRISX.

PORTX Con este registro nos comunicamos con el exterior. Al leer el registro leemos un 0 si la tensiónen la entrada está a nivel bajo y un 1 si la tensión está a nivel alto, al escribir el registro hacemos que fueraaparezcan 0 V. o 5 V. dependiendo de si hemos escrito un 0 o un 1. El nivel alto y el bajo no son valoresfijos, sino que hay un margen de valores posibles.

Ejemplo: TRISA = 0b00001111; // Los pines RA0, RA1, RA2 y RA3 son entradas

// Los pines RA4, RA5, RA6 y RA7 son entradas y salidas PORTA = 0b10101010;// Los pines RA7 y RA5 se pondrán a 1 (5 voltios)

// Los pines RA6 y RA4 se pondrán a 0 (0 voltios) entrada = PORTA; // Cada bit de la variable entrada tomará un valor dependiendo

// de la tensión que haya en el pin correspondiente.// En este caso los bits 7 y 5 de entrada estarán a 1// los bits 6 y 4 de entrada estarán a 0// el resto de bits dependen del circuito exterior.

Registros utilizados en el puerto A

Dirección Nombreregistro

Bit 7 Bit 6 Bit 5 Bit4 Bit 3 Bit 2 Bit 1 Bit 0 Valor en:

POR yBOR

Valor en:

OtrosResets

05h PORTA - - RA5 RA4 RA3 RA2 RA1 RA0 --0x 0000 --0u 0000

85h TRISA - - PORTA Data Direction Register --11 1111 --11 1111

1Fh ADCON0 ADCS1 ADCS0 CHS2 CHS1 CHS0 GO/DONE - ADON --0- 0000 --0- 0000

9Fh ADCON1 ADFM - - - PCFG3 PCFG2 PCFG1 PCFG0 --0- 0000 --0- 0000

Los bits sombreados no se utilizan.

Los bits PCFG3 a PCFG0 sirven para utilizar las patillas del puerto A como entradas analógicas o entradasdigitales. En el capítulo sobre el conversor A/D se verá su significado. El bit ADON pone en marcha elconversor A/D, y por defecto, en todos los resets, está desconectado (valor 0), por lo que todas las patillasdel puerto A se comportan por defecto como entradas o salidas digitales.

Esquema eléctrico de los pines del puerto A

En el esquema siguiente se muestra el circuito eléctrico del puerto A, bits RA0, RA1, RA2, RA3 y RA5 enel que podemos ver todo lo explicado anteriormente y además vemos que estos pines también pueden serentradas analógicas.

2

La señal WR TRIS es un pulso que se produce cuando escribimos en la dirección TRISA. Esta señal seobtiene a partir del decodificador de direcciones cuando se escribe en la dirección 0x85 RD TRIS se activa cuando leemos en TRISA y WRPORT y RD PORT es el pulso que se producecuando se escribe o lee en la dirección PORTA.Todos los puertos tienen una estructura parecida,aunque veremos las diferencias de cada uno de ellos.

Hay instrucciones de bit, por lo que WR Port, WRTRIS, RD TRIS y RD Port tiene que ser distintaspara cada bit.

Funcionamiento como salida:

Al escribir un 0 en TRIS, este pasa de D a +Q como0 y a -Q como 1. El cero de -Q permite que la puertaOR deje pasar lo que haya en la salida -Q de “Datalatch”, y el 1 de Q permite que la puerta AND dejepasar el valor de -Q a la puerta del FET tipo P,mientras que el 0 de -Q permite que la puerta ORdeje pasar el valor de -Q de “Data latch”. En estasituación si escribimos un 1 en D de “Data Latch”,pasa a 0 en -Q, y como las puertas AND y ORreproducen la entrada, se pone en conducción eltransistor P y se bloquea N, resultando un nivel alto.Si escribimos un 0 se abre el canal N y se bloquea P,resultando un nivel bajo.Si en TRIS escribimos un 1, en la puerta OR apareceun 1 y en la AND un 0, dejando los 2 canalescerrados y por lo tanto la salida en alta impedancia. Funcionamiento como entrada:

Cuando hacemos una lectura de algún bit (o todos) dePORTA se activan las RD de los bits leidos, pasandoel valor de la salida del buffer TTL de entrada a Q yde ahí al bus.Si tenemos seleccioando el pin como entradaanalógica, siempre aparecerá un 0 a la salida debuffer TTL de entrada , leyendo siempre un 0.

El pin RA4 no es igual que los otros, pues solo tieneel transistor de tipo N, por lo que como salidafunciona como salida en colector abierto. (No puededar corriente a nivel alto, la tendría que dar unaresistencia externa) y la entrada es del tipo SchmittTrigger, debido a que también puede utilizarse comoentrada de reloj, y en ese caso, este tipo de entradaevita que un flanco sea contado como varios flancos,debido a las oscilaciones de la subida o bajada de laseñal.

3

Figura 2. Diagrama de bloques de los pines RA0, RA1,RA2, RA3 y RA5

Figura 3. Diagrama de bloques del pin RA4

Características eléctricas del puerto A

En cuanto al comportamiento de las entradas y salidas, el pin RA4 como entrada es una puerta SchimtTrigger y como salida es un transistor NMOS en drenador abierto. El resto de pines son entradas TTL ysalidas tipo CMOS. En las siguientes gráficas veremos los niveles de entrada y salida para una tensión dealimentación de 5 VCC. En el manual del fabricante hay gráficas para otras tensiones.

Enesta gráfica podemos observar que al aumentar la corriente de salida baja la tensión de salida.Además debemos tener en cuenta que el fabricante indica que la máxima corriente que una salida puedesuministrar (nivel alto) o admitir (nivel bajo) es de 25 mA y que la corriente total entre todos los puertos nodebe superar los 200 mA. (Por ejemplo, no podemos ilumminar 15 leds a 20 mA cada uno). En la siguientegráfica vemos lo que ocurre cuando la salida está a nivel bajo. Para el pin RA4 solo vale esta segundagráfica, dependiendo su comportamiento a nivel alto, del circuito exterior.

4

Típica, máxima y mínima Voh VS Ioh para VDD=5VDC

Típica, máxima y mínima VOL VS IOL para VDD=5VDC

Puertos B, C, D y E

El comportamiento de todos los puertos es muy similar, por lo que no se va a profundizar en cada uno deellos, pero hay que tener las distintas particularidades de cada uno de ellos.En el puerto B podemos habilitar los pull-up, (muy útiles para poner pulsadores o interruptores)El puerto D se puede utilizar para hacer comunicaciones tipo centronics.

Interface de las entradas digitales.

El microprocesador trabaja con niveles de tensión que normalmente están comprendidos entre 0 y 5 VDC,aunque también puede funcionar con tensiones más pequeñas. Si queremos leer el estado de un contacto, lohabitual es que de tensiones de 0 o 24 VDC o de 0 o 220 VAC. Por lo tanto necesitaremos unos circuitos quehagan de interface entre los niveles de tensión del microprocesador y los niveles de tensión o corriente quehaya en el exterior. Además, cada elemento externo puede tener una alimentación distinta, por lo queconectar varios elementos al microprocesador puede ser peligroso.

A continuación vamos a ver distintos interfaces:

El interface más sencillo será para leer pulsadores o interruptoressituados en la misma placa, o muy cerca, y que alimentaremos a 5 Vcon la misma tensión que el microprocesador.

Cuando el interruptor o pulsador está abierto, la patilla IN1 estaráprácticamente a 5 voltios, salvo la pequeña caída de tensión que puedahaber en la resistencia.

Cuando se cierre el interruptor, la patilla IN1 estará a 0.

Aunque parezca que el valor de R2 no importa, hay que tener algunasprecauciones. Por el pin IN1 del microprocesador puede que haya unapequeña corriente a nivel alto, supongamos que es de 10 µA y que R2valga 10 MΩ. En ese caso en al resistencia caerían

10 µA x 1 MΩ = 10 Voltios. La corriente tendría que ser menor pero no habría un nivel alto. Por ello la resistencia debe ser bastante másbaja, aunque sin pasarnos, pues al cerrar el interruptor la corriente sería grande. Un valor de 10 KΩ es eltípico.

El circuito anterior no se puede utilizar con tensiones mayores que 5 voltios y la distancia del interruptor almicro debe ser muy poca. Con el siguiente circuito podemos utilizar tensiones y distancias mayores.

5

R2

12

5Vcc

SW1

12

Tensión de alimentacióndel microprocesador

IN1

El funcionamiento del circuito es el siguiente: Cuando no hay tensión entre las patillas 1 y 2 del conector no hay corriente por el diodo del optoaislador.Entonces el transistor estará cortado, por lo que en IN1 tendremos un nivel de aproximadamente 5 VCuando apliquemos diferencia de tensión entre las patillas 1 y 2 del conector, circulará corriente por eldiodo. Esta corriente será suficiente para que el transistor se sature, por lo que en IN1 habrá una tensión de0.2 V aproximadamente.

A este tipo de entrada se le denomina inversora, porque cuando hay tensión leemos un cero y cuando no hayleemos un 1.

En el caso de poner un interruptor el circuito extreno sería el siguiente:

Al cerrar el interruptor permitiremos que la diferencia de tensiónentre los pines 1 y 2 sea de 24 Vcc. La masa que vemos en elcircuito es la de 24 V , y lo normal es que esté aislada de la masaque tiene el micro.

Cálculo de R1. EL valor de la resistencia R1 depende del optoaislador y de la tensión que queramos aplicar ala entrada. Con el valor de corriente que debe circular por el transistor de salida y con ayuda del manual deloptoaislador obtendremos la corriente que debe pasar por el LED y la tensión que produce en el LED esacorriente. Esta corriente debe ser suficiente para saturar al transistor y no ser excesivamente grande para noquemar el LED, ni tener un consumo absurdo. Si no tenemos las hojas características podemos poner unvalor de 5 mA, y una tensión en el LED de 1.5 V, que suelen ser adecuados para la mayoría de losoptoaisladores.

Supongamos que las entradas van a ser de 24VDC y según el manual deben pasar 5 mA por la entrada paraque la salida esté saturada con la corriente que queremos que maneje esa salida. Además el manual dirá quecon esa corriente de 5 mA la tensión en el LED es de 1..5 V.

V ent= I∗RV LED 24V =5mA∗R1.5V R=24−1.5

5= 4.5K ≃ 4K7

Pondremos la resistencia estándar que más se parezca, y mejor que sea más pequeña que la calculada paraque el transistor esté bien saturado.

También podemos hacer una entrada que acepte un rango de valores bastante alto. Supongamos que el LEDanterior soporta sin problemas los 30 mA. Diseñamos el circuito para que con 24 V circulen los 30 mA. Contensiones más pequeñas circulará menos corriente, pero aún será suficiente.Calcularemos la R adecuada

V ent= I∗RV LED 24V =30mA∗R1.5V R=24−1.5

30=0.75K ≃680Ω

Ahora veremos con la resistencia de 680 Ω que tensión hay que aplicar para que circulen 5 mA.

V ent= I∗RV LED V ENT =5mA∗680Ω1.5V =0.005∗6891.5= 4.9V

Por lo tanto, con 680 Ω si la tensión de entrada está comprendida entre 5V y 24V funcionará correctamente.

Queda por calcular la resistencia R2. Esta resistencia no debe ser muy baja, pues el transistor no entraría ensaturación, ni demasiado alta, pues si a nivel alto la entrada del micro acepta algo de corriente, esta podríaprovocar una caida de tensión en la resistencia que bajaría la tensión para el nivel alto. Un valor adecuado deesa resistencia suele ser 4K7 o 10K.

El circuito se puede modificar si no queremos que invierta la entrada, quedando como sigue.

6

J1

CON2

12

+24Vcc SW11 2

Ahora, cuando no hay tensión en la entrada leeremos un 0 y cuando hay tensión leeremos un 1. Los valoresde las resistencias se calculan como antes.

Se podría eliminar el optoaislador y con un divisor de tensión y un zener también podría funcionar, pero elaislamiento soluciona problemas de tensiones no referidas a la misma masa y se evita que la masa y laalimentación del microprocesador se “paseen por el exterior”, eliminando problemas de ruido, tantogenerado por el micro como el que le puede llegar a ál desde el exterior.

Si quisiéramos saber si por un cable pasa corriente, (corrientes entre 5 a 50 mA) podemos eliminar laresistencia de entrada, quedando un circuito por el que pasa la corriente a detectar. Tiene el problema de queelimina 1.5 V, pero puede ser útil en muchos casos. Toda la corriente pasa por el optoacoplador por lo queéste debe soportar la corriente. Para poder detectar corrientes mayores habría que hacer un divisor decorriente.

También se podría utilizar un optoaislador con dos diodos, con lo que podría detectar tensiones o corrientesindependientemente del sentido de la tensión o corriente.

7

Colocando un condensador del valor adecuado podemos hacer que incluso el microprocesador detecte quehay una señal alterna. En los casos anteriores, si ponemos una señal alterna el microprocesador leería a vecesseñal, a veces no, con lo que el software tendría que complicarse para saber si eso es una señal alterna. Conel condensador evitamos este problema.

8

Interface de las salidas digitales.

Al igual que con las entradas, las tensiones que maneja el microprocesador y las que del exterior no soniguales. Con una tensión de 5 V. podremos activar un led y poco más. Si queremos conectar un motornecesitaremos algún relé o contactor. A continuación veremos varias formas de conectar las salidas:

Activar un LEDActivar un relé con bobina de 5VccActivar un relé con bobina de más de 5 VccSalidas en colector abierto

Activar un LED

Activar un LED es lo más fácil que podemos hacer con una salida. Siqueremos que el LED se encienda cuando a la salida ponemos un 1montaremos la configuración de la izquierda. Si queremos que el LEDse encienda cuando ponemos un 0 pondremos la configuración de laderecha. Aparentemente son iguales, salvo que se activan por 0 o por1, pero hay alguna cosa más que hay que tener en cuenta. En lassalidas de este micro el nivel bajo para 10 mA es 0.3 V mientras que elnivel alto para la misma corriente es 4.2 V. Además, aunque el micropuede suministrar por una salida la misma corriente que puede entrar,el microprocesador es capaz de suministrar menos corriente que la quepuede aceptar, por lo que la configuración de la derecha es máshabitual.

Para calcular la resistencia tendremos que saber que corriente queremos que pase por el LED. Para cada LEDhabrá que ver su curva característica y ver para la iluminación que pretendemos que corriente necesita y quetensión cae en sus bornas, además saber que tensión proporciona el microprocesador para esa corriente. Unacorriente típica puede ser de 10 a 20 mA y la tensión en el LED suele ser de 1.5V. Si no conocemos latensión que proporciona el microprocesaor para determinada coriiente podemos suponer 0 o 5 V, cometiendoun error sin demasiada importancia. Para el caso del circuito de la derecha el cálculo de la resistencia se harácomo sigue.

Supongamos que queremos que pasen 20 mA.

5= I∗RV LED 5V = 20mA∗R1.5V R=5−1.5

20=175Ω≃180Ω

Conviene mirar las características del LED, pue shay LEDS que con esa corriente tienen un brillo fortísimo yotros tienen poco brillo.

El consumo de este LED (20 mA) es mucho mayor que el consumo del propio microprocesador, por lo quees conveniente utilizar algún modo de disminuir su consumo, sobretodo si hay varios LEDS. Un métodoconsiste en no iluminar el LED contínuamente y por la persistencia del ojo parece que está siempreencendido. Por ejemplo podemos activarlo 1 ms cada 5 ms, con lo que el consumo disminuye a la quintaparte y el efecto es una iluminación constante aunque algo más débil. Otro método mucho mejor de bajar elconsumo es hacer que los LEDS parpadeen y que el ojo vea un parpadeo. Puede iluminarse por ejemplo 5 mscada segundo. Esos 5 ms son suficientes para que veamos un destello y el consumo se ha reducio en 200veces.

9

Activar un relé con bobina de 5 Vcc

Uno de los casos más usuales de una salida de unmicroprocesador es para activar un relé. Si tenemos unrelé cuya bobina sea de 5 VDC podemos conectardirectamente el relé a la salida, de forma que se active anivel alto o a nivel bajo. Si leemos las características deun relé normal, veremos que la potencia que consume labobina está en torno a los 500 mW y en un relé de bajoconsumo en torno a los 100 mW. El problema es que lacorriente necesaria para activar el relé sale o entra todaen el micro. Si utilizamos un relé de 5 VDC y consume500 mW, la corriente que pasa por él, y por elmicroprocesador es de 100 mA, mucho mayor que los 25mA que dice el fabricante que soporta la entrada/salida.Con un relé de bajo consumo podría conectarsedirectamente. Pero existe una forma mucho mejor, que es

utilizar la siguiente configuración. La ventaja de esta configuración es que la corriente que atraviesa el relé no pasa por el micro. Elfuncionamiento es el siguiente. Cuando la salida está a 0, no hay corriente de base, por lo que el transistorestá cortado y no circula corriente por el relé. Cuando ponemos un 1 a la salida, existe una corriente de baseque hace que el relé se ponga en saturación, cayendo 0.2 V en el la unión CE y el resto en el relé,activándolo.Para calcular R3 hay que tener en cuenta que el transistor deberá estar en saturación. La corriente quenecesita el relé es de 100 mA, que será la corriente Ic. Para que el transistor esté en saturación se debecumplir que IC>β*IB. La βla buscamos en un las hojas de características del transistor y cogeremos la menorposible. Supongamos que β vale 100 y la corriente que necesita el relé es de 100 mA.

100 mA > 100 IB. Por lo que la corriente mínima que debe salir del micro es de 1 mA. Para asegurarnos queestá saturado ponemos 3 mA. Ahora calcularemos R3. La tensión en las salida del micro habría que verla enla gráfica, pero podemos suponer que es 5 V y la VBE de 0.8 V.

5=I*R+VBE 5= I∗RV BE 5=3mA∗R0.8 R=5−0.8

3=1K4≃1K2

El diodo D3 debe ponerse siempre en paralelo con la bobina del relé (para bobinas alimentadas con corrientecontínua). Este diodo se utiliza porque al pasar el transistor de saturación a corte hay un cambio muy bruscode la corriente que pasa por el colector y por la bobina, el cual genera una tensión muy elevada en susbornas. El diodo permite que al cortar el transistor, la corriente que pasa por la bobina sigue circulando por eldiodo, atenuándose de una forma no tan brusca.

10

Activar un relé con bobina de más de 5 Vcc

Los relés con bobina de 5 V son muy cómodosde poner, pues la alimentación es la misma quela del microprocesador. Esa aparente ventajatiene un problema, la bobina de los relésnormales consume aproximadamente 500mW,y a 5 V la corriente es de 100 mA. Si hay 10relés consumiríamos 1 A, que ya es unacorriente respetable. Si los relés fuesen de 12V, la corriente sería de 42 mA, menos de lamitad; y si los relés son de 24, la corriente quepasa por cada una es de 21 mA. En este casopara 10 relés el consumo con los 10 relésactivados es de 210 mA. Los reguladores detensión baratos no suelen pasar de 1 A. Comoconclusión diremos que si hay varios reléspuede ser más práctico tener una alimentación

de 24 V para los relés y otra de 5 para el microprocesador. Esta tensión de 5 V puede obtenerse a partir de lade 24V, por medio de un regulador, pues la corriente que consume el microprocesador y los circuitosadyacentes suele ser muy pequeña. La colocación de los relés de mayor tensión no tiene ningún problema,simplemente las fuentes deben tener la misma masa. Con la diferencia que hay que rehacer los cálculos parala resistencia que hay en la base del transitor. Para 24 V la corriente necesaria es de 21 mA, si la β es de 100.La corriente de base deberá ser, al menos de 0.21 mA. Pongamos 0.5 mA. Ahora calcularemos R3. Latensión en las salida del micro habría que verla en la gráfica, pero podemos suponer que es 5 V y la VBE de0.8 V.

5=I*R+VBE 5= I∗RV BE 5=0.5mA∗R0.8 R=5−0.8

0.5=8K4≃8K2

Si el transistor se fundiese, podríallegar una tensión muy elevada almicroprocesador, aunque hay unaresistencia por medio. Para evitareste posible problema, y evitarproblemas de ruido, puede seradecuado aislar la salida por mediode un optoacoplador. En este casoestán totalmente aislados elmicroprocesador y el relé. Elcálculo de R1 se hace teniendo encuenta la corriente que necesita eldiodo. Habrá que mirar el catálogodel optoacoplador, pero como

norma general podemos hacer que circulen 5 mA por él. En este caso la tensión que cae en el diodo será de1.5 V. En este caso:

V ent= I∗RV LED 5V =5mA∗R1.5V R=5−1.5

5=0.7K ≃680Ω

Otro problema es la corriente máxima que puede soportar el optoaislador, dependiendo del optoaisladorpuede variar de 50 a 150 mA. En el caso de utilizar relés de 24 V no tendremos ningún problema.

Para disminuir el consumo del microprocesador, podemos utilizar optoacopladores con salida darlington. Enestos casos, la corriente necesaria en el diodo es menor, pero la tensión CE de saturación ya no vale 0.2 V

11

sino 0.9 V, lo que genera más potencia disipada en el transistor. Para cada caso habría que estudiar suconveniencia.

Salidas en colector abierto:

Los relés tienen la gran ventaja de un total aislamiento entre la carga y nuestro circuito, aparte de quevisualmente se puede comprobar su estado, pero tienen el problema de que no pueden funcionar afrecuencias muy elevadas. Además, el problema del aislamiento se puede solucionar con un optoacoplador.Para hacer salidas rápidas, e incluso para las normales, se suelen utilizar salidas en colector abierto. Estassalidas se basan en que el circuito que conmuta la salida no es un relé, sino un transistor. Por ello lavelocidad de conmutación puede ser rapidísima, aunque las tensiones y corrientes que se pueden conmutarno suelen ser muy elevadas. El microprocesador puede tener salidas en colector abierto, pero aguantan pocacorriente, añadiendo transistores externos podemos aumentar la capacidad de corriente de la salida. Para

corrientes o tensiones elevadasel precio del transistor haríapoco viable esta solución. Lasalida puede ser del tipo PNPo del tipo NPN. El esquemaadjunto muestra una salida deltipo NPN (la nomenclaturaviene dada por el tipo detransistor de salida. En estecaso, la carga se conecta entrealimentación, normalmente 24VDC y el colector del

transistor. La resistencia R3 debe ser tal que le transistor esté en saturación cuando conduzca, para que latensión VCE sea muy baja, aproximadamente 0.2 V. En este caso, y suponiendo que la corriente en la cargapueda llegar a ser de hasta 1 A, y la β del transisor sea de 100, Ic< β * IB. Por lo tanto IB>10 mA. Haremosque IB = 20 mA. Para ello R=(5-0.7)/20 = 0.215 KΩ. Pondremos 200 Ω y seguro que cumplimos.Con unaresistencia menor aseguraríamos que para más rango de corriente en la salida el circuito funcionaríacorrectamente, pero la corriente de salida del micro sería muy grande.

Salida colector abierto PNP. La salida en colector abierto tipo NPN es mucho más sencilla que la salida tipoPNP, pero activar una salida con un nivel bajo resulta, para muchos, más difícil de entender. Por ello, la

salida tipo PNP es más utilizada en la industria. Enesta salida cuando la tensión de salida es alta, lasalida se activa. Otra ventaja que tiene es que al haber2 transistores, la corriente de salida del micro se veamplificada 2 veces, por lo sale menos corriente delmicro. El circuito es bastante complejo, aquí vemosun ejemplo diseñado para que pueda suministrar 10 Acon una β de al menos 100 en cada transistor. Hayque tener en cuenta que el transistor de salida debesoportar la corriente exiguida, 10 A en este caso, y lapotencia disipada, 0.2 V x 10 A = 2 W. Concorrientes elevadas la tensión colector-emisor desaturación suele ser algo mayor.

12

Salidas en colector abierto aisladas:

La salida con relé tiene como principales virtudes que aisla la salida (puede haber tensiones dmuy elevadasen la salida mientras que la bobina es de 5 o 24 V) y permite grandes corrientes.

Las salidas en colector abierto pueden manejar grandes señales, depende del transistor, pero no estánaisladas. Para aislarlas sustituiremos el transistor en colector abierto por un optoacoplador.

Debido al uso del optoaislador, las tensiones a la salida no tienen porque tener nada que ver con las de laentrada, y como el transistor no tiene base, podemos poner la resistencia ala salida arriba o abajo. (La líneade puntos separa el interior del circuito del exterior. En estos casos lo normal es que tengamos el colector yel emisor del transistor en la salida, conectando la carga y la alimentación según convenga.

Muchas veces la salida del microcontrolador va conectada a la entrada de algún equipo y ese equipo dice queen la entrada hay que poner un contacto libre de tensión. Ese contacto libre de tensión puede ser un relé o unoptoacoplador.

El problema más importante de estos circuitos es que el transistor del optoacoplador no aguanta grandescorrientes. Para solucionar ese problema podemos hacer un transistor darlington con el transistor deloptoacoplador y uno de potencia.

Estos circuitos pueden aguantar muchos amperios si los aguanta el transistor. La corriente que circula por eltransistor del optoacoplador será del orden de β veces menor qeue la corriente que pase por el transistor depotencia.

En digital estamos acostumbrados a trabajar en corte y saturación, pero en los transistores darlington elprimer transistor se puede saturar, pero no el segundo. El segundo transistor no suele tener una tensiónCE menor que 0.9 V. Por poner un ejemplo supongamos que por un transistor pasan 20 A. Si latensión CE fuera de 0.2 V, la potencia disipada en el transistor sería de 4 W, pero si la tensión CEes de 1 V, la potencia disipada es de 20W. Además si la corriente es grande la tensión CE puede ser

13

Aislamiento

+24Vcc

U1A

PC847

1

2

16

15

R11 2OUT4

R8Carga

GND delmicroprocesador

R11 2

Aislamiento

GND delmicroprocesador

R9Carga

+24Vcc

U1A

PC847

1

2

16

15

OUT4

Aislamiento

Q3NPN

GND delmicroprocesador

Q3NPN

U1A

PC847

1

2

16

15

OUT4

GND delmicroprocesador

OUT4 Aislamiento

R8Carga

+24Vcc

R11 2

R9Carga

R11 2

+24Vcc

U1A

PC847

1

2

16

15

bastante grande, 2 o 3 V, y en esos casos la potencia disipada puede ser muy grande.

Una forma de solucionar este problema es con uno de los siguientes circuitos:

El de la izquierda es con salida activa a nivel bajo. Es más sencilla que la de la derecha debido aque los optoaisladores suelen tener un transistor NPN.

Salidas con triac:

Para conectar a la salida elementos alimentados a tensiones elevadas y en alterna (220 Vac),podemos utilizar los relés, pero son grandes y no podemos hacer conmutaciones demasiado rápidas.Para esto podemos utilizar los triacs y optotriacs.Para corrientes pequeñas podemos utilizar directamente un optotriac.Ek optotriac haría de interruptor,cortando o dejando pasar la corriente. Lasalida del optotriac está conectada a 2220Voltios, y el circuito puede alimentar unabombilla o un motor pequeño. Como eloptotriac aguanta poca corriente debemosutilizar este circuito solo en casos en quela corriente sea muy pequeña. Paracorrientes mayores podemos utilizar elsiguiente circuito:

Este circuito es una copia del manual del optotriac MOC3021 de Motorola. En él la corrientemáxima que soporta el circuito no es la del optotriac, sino la del triac Q4, por lo que este pued eserde las dimensione adecuadas.

Al conectar la carga a 220 V conviene saber cual es la fase y cual el neutro. En teoría da igual, peroes recomendable que en circuitos fijos (sin enchufe) el interruptor corte la fase, para que en ningúnpunto del motor haya tensión cuando está desconectado.

14

OUT2

GND delmicroprocesador

Aislamiento

R11 2

R6100K

GND delmicroprocesador

U1A

PC847

1

2

16

15

Q2

Aislamiento

R11 2 L

R7

230OUT4

24VDC

L

GND

24VDC

GND

Q3NPN

R10R?

U1A

PC847

1

2

16

15

OUT2

OUT4

220 fase

MG1

MOTOR AC - BOMBILLA

1 2

PORTU3MOC3021

1

2

64

R11

R

220 neutro

220 neutro

R13

470

MG1

MOTOR AC BOMBILLA

1 2

Q4TRIACU3

MOC3021

1

2

64

C250 nF

R12 360 R13 470

R11

R

C350 nF

220 fase

PORT