You are on page 1of 21

Entradas salidas digitales de propsito general en el dsPIC30 Marzo 2010

Entradas y salidas digitales de propsito


general en los microcontroladores dsPIC30
Ejemplos con el dsPIC30F4013
Autor: Juan Ramn Rufino alor
1
Entradas salidas digitales de propsito general en el dsPIC30 Marzo 2010
Introduccin:
!a tarea m"s #"si$a %ue podemos &a$er $on un mi$ropro$esador es sustituir a un $ir$uito $om#ina$ional o
se$uen$ial' Podemos en$ender una luz para $ierta $om#ina$in de entradas( $one$tar un #om#a $uando el
ni)el de un depsito sea menor de $ierto um#ral * pararla $uando supere otro um#ral( a$ti)ar una alarma
$uando se a$ti)e alg+n sensor * la alarma est, armada( et$'
Para poder &a$er estas $osas( el mi$ropro$esador ne$esitar" tener entradas * salidas digitales( igual %ue las
de $ual%uier puerta lgi$a' El mi$ropro$esador dsPIC30-.013 tiene 30 patillas %ue pueden ser( a )oluntad
nuestra( entradas o salidas( de forma %ue podemos &a$er( por e/emplo( un $ir$uito se$uen$ial $on 10
fun$iones *10 entradas' 1e todos modos( el tiempo de respuesta de esas fun$iones es mu$&o ma*or %ue el
de las fun$iones realizadas $on puertas lgi$as( aun%ue en la ma*or2a de los $asos ese tiempo no es
demasiado importante3 %ue la alarma suene 1 milisegundo despu,s de a#rir la puerta no pare$e gra)e'
A&ora #ien( estas entradas * salidas digitales tienen ni)eles pe%ue4os( t2pi$amente de 0 a 3(3 o de 0 a 0 (
por lo %ue ne$esitaremos unos $ir$uitos %ue &ar"n de interfa$e entre estos ni)eles 50 a 3(3 6 * los ni)eles
$on los %ue estemos tra#a/ando( 220 AC( 2. 1C o $ual%uier otra tensin'
Entradas/salidas digitales en el dsPIC30F4013
A partir de la $onfigura$in de pines )amos a )er los puertos de %ue dispone este mi$ro$ontrolador'
P7R8A 1 pin' RA11
P7R89 13 pines' R90 a R912
P7R8C 3 pines' RC13( RC1. * RC10
P7R81 : pines' R10( R11( R12( R13( R1;( R1<
P7R8E =ing+n pin'
P7R8- > pines' R-0 aR-:
En resumen tenemos 30 pines de entrada * salida' Cada una de ellas puede ser entrada o salida
independientemente de las otras( aun%ue algunas tienen alguna pe$uliaridad' !a $onfigura$in de pines
puede pare$er a#surda( *a %ue por e/emplo( el puerto A solo tiene el pin RA113 esto se de#e a %ue e?isten
mi$ros $on m"s pines %ue tendr"n los puertos $ompletos * al tener %ue sele$$ionar solamente 30 pines nos
&emos %uedado $on los m"s importantes 5el pin RA11 tam#i,n es el pin de interrup$in e?terna( RC13(
RC1. * RC10 tienen otras fun$iones $omo $omuni$a$in serie6' En el diagrama de pines del mi$ro se
o#ser)a %ue la ma*or2a de pines tienen )arios nom#res( $ada nom#re se refiere a una de sus fun$iones'
2
Entradas salidas digitales de propsito general en el dsPIC30 Marzo 2010
Programacin de los puertos de entrada/salida paralelos
En general( los puertos de entrada@salida tienen un fun$ionamiento similar' Para $ada puerto e?isten tres
registros( el 8RIAB( el P7R8B * el !A8B' !a B indi$a $ual%uiera de los puertos %ue tiene el
mi$ropro$esador( A( 9( C( 1( E o -'
TI!" Este registro sir)e para indi$ar si un pin )a a ser salida o no' Cn 0 en un #it de este registro
indi$a %ue el pin $orrespondiente es una salida' Cn 1 indi$a %ue el pin es entrada' Aiendo m"s pre$iso no es
e?a$tamente as2( los pines siempre fun$ionan $omo entrada( * $uando ponemos el #it 8RIA $orrespondiente
a 1 indi$amos %ue ponemos la salida en alta impedan$ia( * por lo tanto no fun$iona $omo salida( pero
$uando ponemos 8RIA a 0 la salida impone su ni)el( pero al mismo tiempo siempre fun$iona $omo entrada(
aun%ue sal)o alg+n pro#lema en el $ir$uito 5por e/emplo una salida $orto$ir$uitada a masa6( de#eremos leer
lo %ue &emos es$rito en la salida' Adem"s( podemos tam#i,n leer la pala#ra 8RIAB( $ono$iendo lo %ue
pre)iamente &a#2amos es$rito en 8RIAB'
P#T" Con este registro nos $omuni$amos $on el e?terior' Al leer el registro leemos un 0 si la
tensin en la entrada est" a ni)el #a/o * un 1 si la tensin est" a ni)el alto( al es$ri#ir el registro &a$emos %ue
fuera aparez$an 0 ' o 0 53(3'6' dependiendo de si &emos es$rito un 0 o un 1' El ni)el alto * el #a/o no
son )alores fi/os( sino %ue &a* un margen de )alores posi#les' 5D6
$%T" Este es un registro %ue no e?ist2a en otros mi$ros( * podemos realizar programas sin utilizarlo'
Este registro es el !A8CE de salida' Cna es$ritura en P7R8B * en !A8B &a$en e?a$tamente lo mismo(
es$ri#en en el !A8CE * si est" $onfigurado $omo salida( el )alor apare$e en el pin de salida' En la le$tura
es donde se diferen$ian' En los pines %ue solo son entradas no $oin$idir" !A8B * P7R8B' En las %ue
adem"s son salidas( normalmente leeremos lo mismo de las dos formas( pero si fuera &a* un $orto$ir$uito *
en P7R8B o !A8B &emos es$rito un 1( al leer !A8B o#tendremos el 1( pero al leer P7R8B leeremos un 0(
*a %ue es la tensin %ue realmente &a* en el pin' Al leer !A8B leemos el +ltimo )alor es$rito por medio de
P7R8B o !A8B * al leer P7R89 leemos dire$tamente el )alor de tensin del pin 51 o 06' 5D6
D Aun%ue podr2amos utilizar indistintamente P7R8 * !A8 para es$ri#ir datos( en el puerto 9 o$urren $osas
e?tra4as' Para e)itar ese pro#lema de#emos usar siempre !A8 para es$ri#ir datos * P7R8 para leer' 1e este
modo todos los puertos fun$ionan $omo se espera'
E/emplo:
8RIA9 F 0#11110000111101013
@@ !os pines R910( R91. * R913 no e?isten en este mi$ro' !os $onfiguramos
@@ $omo entradas( pero podemos tam#i,n $onfigurarlos $omo salidas
@@ !os pines R911( 10( <( ;( 3 * 1 son entradas * salidas
@@ !os pines R912( >( :( 0( .( 2 * 0 son entradas
!A89 F 0#10101010001111003
@@ A los pines %ue son entradas o %ue no e?isten no les pasa nada
@@ !os pines salidas si %ue ser"n afe$tados:
@@ R911F1 R910F0 R9<F1 R9;F0 R93F1 R91F0
entrada F P7R893 @@ Cada #it de la )aria#le entrada tomar" un )alor dependiendo
@@ de la tensin %ue &a*a en el pin $orrespondiente' En los pines %ue no e?isten se lee 0
@@ !os #its %ue son salidas leer"n el )alor %ue se &a#2a es$rito
@@ sal)o alg+n pro#lema en el $ir$uito e?terno( un $orto$ir$uito(
@@ )arias salidas en paralelo( et$
@@ !os #its %ue son e?$lusi)amente entradas leer"n un 0 o 1 dependiendo de la
@@ tensin e?terna'

3
Entradas salidas digitales de propsito general en el dsPIC30 Marzo 2010
egistros utili&ados en las entradas salidas paralelo
Por defe$to todos los pines est"n $onfigurados en su fun$in de E@A digital * adem"s siempre $omo entrada'
E?iste una e?$ep$in( %ue m"s #ien pare$e un fallo en el dise4o del mi$ro$ontrolador' Para poder utilizar los
pines del Puerto 9 $omo entradas@salidas digitales &a* %ue indi$ar en el registro A1PC-G %ue no se )a a
utilizar la entrada analgi$a $orrespondiente a ese pin'
!os pines del R90 al R912 pueden ser tam#i,n entradas analgi$as'
Ai no )amos a utilizar ninguna entrada analgi$a diremos %ue los 13 pines son digitales:
A1PC-GF0#BB111111111111113 @@ B indi$a %ue da igual lo %ue pongamos 0 o 1'
7#)iando este pro#lema podemos de$ir %ue por defe$to todos los pines del mi$ro fun$ionan $omo
entrada@salida paralelo' Ai se utilizan para alguna otra fun$in de/ar"n de tener esta fun$in ini$ial'
.
Entradas salidas digitales de propsito general en el dsPIC30 Marzo 2010
Es'uema el(ctrico de los pines de un puerto sin do)le *uncin
En el es%uema siguiente se muestra el $ir$uito el,$tri$o de un puerto %ue no tiene m"s fun$iones' En este
mi$ro no &a* ning+n pin %ue solo tenga una fun$in( pero el es%uema sir)e par e?pli$ar el fun$ionamiento
de todos los pines'
!a se4al HR 8RIA es un pulso %ue se produ$e $uando es$ri#imos en la dire$$in 8RIAB'
Read 8RIA se a$ti)a $uando leemos en 8RIAB
HR Port( * HR !A8 es el pulso %ue se produ$e $uando se es$ri#e en P7R8B o !A8B
Read P7R8 es el pulso %ue se produ$e $uando se lee en la dire$$in P7R8B'
Read !A8 es el pulso %ue se produ$e $uando se lee en la dire$$in !A8B'
Funcionamiento como salida:
Al es$ri#ir un 0 en 8RIA( este pasa de 1 a IJ $omo 0 * ese 0 &a#ilita el #uffer de salida %ue permite pasar
lo %ue &a*a en la salida J de K1ata lat$&L al pin de salida'
Ai es$ri#imos un 1 en 8RIA las es$rituras en P7R8 o en !A8 no se )er"n refle/adas en la salida'

Funcionamiento como entrada:
Cuando &a$emos una le$tura de alg+n #it 5o todos6 de P7R8B se a$ti)an las R1 de los #its leidos( pasando
el )alor de la salida del #uffer A$&mittM8rigger al #us' Al leer !A8 pasa al #us el )alor del 1ata !at$& * al
leer 8RIA pasa al #us el )alor del 8RIA !at$&'
Caracter+sticas el(ctricas de los pines
En primer lugar desta$ar %ue $ada pin puede suministrar o a#sor#er &asta 20 mA( pero entre todos los pines
no pueden suministrar o a#sor#er m"s de 200 mA'
!a $orriente m"?ima %ue puede entrar por los pines
11
es de 200 mA mientras %ue por el
AA
pueden salir
&asta 300 mA'
0
Entradas salidas digitales de propsito general en el dsPIC30 Marzo 2010
El fa#ri$ante no aporta ninguna gr"fi$a tensin@$orriente en los pines de salida( pero al ser CM7A es de
suponer %ue la tensin de salida a ni)el alto estar" $er$a de la de alimenta$in( aun%ue #a/ar" ligeramente si
aumenta la $orriente de salida * a ni)el #a/o estar" pr?ima a 0( aun%ue aumentar" ligeramente si aumenta
la $orriente de salida'
En el manual solo podemos en$ontrar los siguientes datos:
Aalidas:
Alimentado a 0 $on I
7E
F M3 mA
7E
F.'3
Alimentado a 0 $on I
7!
F ;(0 mA
7E
F0(:
Alimentado a 3 $on I
7E
F M2 mA
7E
F2(;
Alimentado a 3 $on I
7!
F 2 mA
7E
F0(10
Entradas:
I
tip
F 0(01 A
I
ma?
F 1 A

I!min
F0
I!ma?
F0(2 ?
11

IEma?
F
11

IEmin
F0(; ?
11
Entradas tipo !c,mitt-Trigger.
En una entrada $on)en$ional $on un um#ral ni)el #a/o ni)el alto en los 3 )oltios( al su#ier de 0 a 1 una se4al
ruidosa puede &a$er el efe$to %ue se )e en la figura' Ao#re el ms' 3(0 la se4al pasa a ni)el alto( pasando
nue)amente a ni)el #a/o * )ol)iendo a ni)el alto' Ai leemos esta entrada leeremos 000000101111 en lugar
de 000000111111' Al pasar la se4al de ni)el alto a ni)el #a/o tam#i,n &a* un momento e?tra4o so#re los ;
ms'
:
Entradas salidas digitales de propsito general en el dsPIC30 Marzo 2010
Con las entradas tipo Schmitt-Trigger el umbral de cambio no es constante. Cuando la entrada est a nivel
bajo, el umbral est bastante alto, en este ejemplo a 3,5 V. En el momento ue la se!al supera dicho valor,
el umbral baja a ",5 V, con lo cual el circuito es mucho ms inmune al ruido de la se!al. Cuando la se!al
baja tenemos el e#ecto contrario obteniendo las mismas ventajas. En este caso leeriamos
$$$$$$""""""""""$$$$$$$$$. %o ha aparecido ning&n valor e'tra!o.
Inter*ace de las entradas digitales.
El mi$ropro$esador tra#a/a $on ni)eles de tensin %ue normalmente est"n $omprendidos entre 0 * 0 1C(
aun%ue tam#i,n puede fun$ionar( * $ada )ez m"s( $on tensiones m"s pe%ue4as ' Ai %ueremos leer el estado
de un $onta$to( lo &a#itual es %ue de tensiones de 0 o 2. 1C o de 0 o 230 AC' Por lo tanto ne$esitaremos
unos $ir$uitos %ue &agan de interfa$e entre los ni)eles de tensin del mi$ropro$esador * los ni)eles de
tensin o $orriente %ue &a*a en el e?terior' Adem"s( $ada elemento e?terno puede tener una alimenta$in
distinta( por lo %ue $one$tar )arios elementos al mi$ropro$esador puede ser peligroso'
A $ontinua$in )amos a )er distintos interfa$es:
!e$tura de un pulsador o interruptor'
!e$tura de una entrada de $ual%uier ni)el de tensin $on aislamiento'
!e$tura de una entrada $on tensin alterna o sin polaridad.
$ectura de un pulsador o interruptor
El interfa$e m"s sen$illo ser" para leer pulsadores o interruptores
situados en la misma pla$a( o mu* $er$a( * %ue alimentaremos a 3(3
o a 0 $on la misma tensin %ue el mi$ropro$esador'
Cuando el interruptor o pulsador est" a#ierto( la patilla I=1 estar"
pr"$ti$amente a 3(3 o 0 )oltios( sal)o la pe%ue4a $a2da de tensin
%ue pueda &a#er en la resisten$ia pro)o$ada por la $orriente de
fugas' 5ma? 1 A6
Cuando se $ierre el interruptor( la patilla I=1 estar" a 0'
Aun%ue parez$a %ue el )alor de R2 no importa( &a* %ue tener
algunas pre$au$iones' Por el pin I=1 del mi$ropro$esador puede
%ue &a*a una pe%ue4a $orriente a ni)el alto( supongamos %ue es de
10 NA * %ue R2 )alga 10 MO' En ese $aso en al resisten$ia $aer2an
10 NA ? 1 MO F 10 oltios'
Esta $orriente no puede ser tan grande( )aldr2a menos * la tensin no ser2an 10 )oltios( posi#lemente 1
>
Entradas salidas digitales de propsito general en el dsPIC30 Marzo 2010
)oltio( * por lo tanto el ni)el alto no estar2a tan $laro' Por ello la resisten$ia de#e ser #astante m"s #a/a(
aun%ue sin pasarnos( pues al $errar el interruptor la $orriente ser2a grande' Cn )alor de 10 PO es el t2pi$o'
En este mi$ro tenemos la )enta/a de %ue esa resisten$ia podemos eliminarla en 10 de los pines di$i,ndole al
mi$ro %ue ponga la resisten$ia interna de PC!!MCP' Para ello &a* %ue usar los pines %ue en su
nomen$latura tienen la fun$in C=B * usar el registro C=PC1 * C=PC2'
$ectura de una entrada de cual'uier ni/el de tensin con aislamiento.
El $ir$uito anterior no se puede utilizar $on tensiones ma*ores %ue la de alimenta$in * la distan$ia del
interruptor al mi$ro$ontrolador de#e ser mu* po$a' Con el siguiente $ir$uito podemos utilizar tensiones *
distan$ias ma*ores'
El fun$ionamiento del $ir$uito es el siguiente:
Cuando no &a* tensin entre las patillas 1 * 2 del $one$tor no &a* $orriente por el diodo del optoaislador'
Enton$es el transistor estar" $ortado( por lo %ue en I=1 tendremos un ni)el de apro?imadamente 0 5la de
alimenta$in del mi$ro$ontrolador6'
Cuando apli%uemos diferen$ia de tensin entre las patillas 1 * 2 del $one$tor( $ir$ular" $orriente por el
diodo' Esta $orriente de#er" ser sufi$iente para %ue el transistor se sature( por lo %ue en I=1 &a#r" una
tensin de 0'2 apro?imadamente'
A este tipo de entrada se le denomina in)ersora( por%ue $uando &a* tensin leemos un $ero * $uando no &a*
leemos un 1'
En el $aso de poner un interruptor el $ir$uito e?terno ser2a el
siguiente:
Al $errar el interruptor permitiremos %ue la diferen$ia de tensin
entre los pines 1 * 2 del $one$tor sea de 2. $$' !a masa %ue
)emos en el $ir$uito es la de 2. ( * lo normal es %ue est,
aislada de la masa %ue tiene el mi$ro'

;
Entradas salidas digitales de propsito general en el dsPIC30 Marzo 2010
C"l$ulo de R1: El )alor de la resisten$ia R1 depende del optoaislador * de la tensin %ue %ueramos apli$ar a
la entrada' Con el )alor de $orriente %ue de#e $ir$ular por el transistor de salida * $on a*uda del manual del
optoaislador o#tendremos la $orriente %ue de#e pasar por el !E1 * la tensin %ue produ$e en el !E1 esa
$orriente' Esta $orriente de#e ser sufi$iente para saturar al transistor * no ser e?$esi)amente grande para no
%uemar el !E1( ni tener un $onsumo a#surdo' Ai no tenemos las &o/as $ara$ter2sti$as podemos suponer en
el !E1 una $orriente de 10 mA * una tensin de 1'0 ( %ue suelen ser ade$uados para la ma*or2a de los
optoaisladores'
Aupongamos %ue las entradas )an a ser de 2.1C * seg+n el manual de#en pasar 10 mA por la entrada para
%ue el optoa$oplador fun$ione $orre$amente' Adem"s el manual dir" %ue $on esa $orriente de 10 mA la
tensin en el !E1 es de 1'0 '
V
ent
=I RV
LED
2.=10mAR1'0 R=
2.1'0
10
=2(20 K2P2
Pondremos la resisten$ia est"ndar %ue m"s se parez$a( * me/or %ue sea m"s pe%ue4a %ue la $al$ulada para
%ue el transistor est, #ien saturado'
8am#i,n podemos &a$er una entrada %ue a$epte un rango de )alores #astante alto' Aupongamos %ue el !E1
anterior fun$iona desde los 0 mA * soporta &asta los 30 mA' 1ise4amos el $ir$uito para %ue $on 2.
$ir$ulen los 30 mA' Con tensiones m"s pe%ue4as $ir$ular" menos $orriente( pero a+n ser" sufi$iente'
Cal$ularemos la R ade$uada
V
ent
=I RV
LED
2.=30mAR1'0 R=
2.1'0
30
=0'>0P:;0
A&ora )eremos $on la resisten$ia de :;0 O %ue tensin &a* %ue apli$ar para %ue $ir$ulen 0 mA'
V
ent
=I RV
LED
V
ENT
=0mA:;01'0 =0'000:;<1'0=.'<
Por lo tanto( $on :;0 O si la tensin de entrada est" $omprendida entre 0 * 2. fun$ionar" $orre$tamente'
Jueda por $al$ular la resisten$ia R2' Esta resisten$ia no de#e ser mu* #a/a( pues el transistor no entrar2a en
satura$in( ni demasiado alta( pues si a ni)el alto la entrada del mi$ro a$epta algo de $orriente( esta podr2a
pro)o$ar una $aida de tensin en la resisten$ia %ue #a/ar2a la tensin para el ni)el alto' Como la rela$in
entrrada@salida en la ma*or2a de optoa$opladores est" $er$ana a 1 supondremos ese )alor( por lo %ue la
$orriente de salida de#er2a ser la misma %ue la entrada 510 mA6 para %ue estu)iese en a$ti)a' Ai la $orriente
de salida no pudiese llegar a ese )alor el transistor estar2a saturado' Para %ue est, saturado( la tensin en la
resisten$ia ser2a de 0M0(2 F .(; ' Para %ue pasasen 10 mA RF .(;P@10mAF0(.; PO F .;0O( por lo %ue si
es ma*or estar" saturado' Cn )alor ade$uado de esa resisten$ia suele ser .P> o 10P' Ai la entrada del
mi$ro$ontrolador tiene la fun$in C=B podemos usar la resisten$ia de pullMup interna'
El $ir$uito se puede modifi$ar si no %ueremos %ue in)ierta la entrada( %uedando $omo sigue'
<
Entradas salidas digitales de propsito general en el dsPIC30 Marzo 2010
A&ora( $uando no &a* tensin en la entrada leeremos un 0 * $uando &a* tensin leeremos un 1' !os )alores
de las resisten$ias se $al$ulan $omo antes( pero a&ora *a no podemos usar las resisten$ias internas de pullM
up'
Para poder medir tensiones ele)adas se podr2a simplifi$ar el $ir$uito eliminando el optoaislador * $on un
di)isor de tensin * un zener se podr2a tra#a/ar( pero el aislamiento solu$iona pro#lemas de tensiones no
referidas a la misma masa * se e)ita %ue la masa * la alimenta$in del mi$ropro$esador se Kpaseen por el
e?teriorL( eliminando pro#lemas de ruido( tanto generado por el mi$ro $omo el %ue le puede llegar a "l
desde el e?terior'
0onitori&acin de corriente en un circuito 1!i o no2.
Ai %uisi,ramos sa#er si por un $a#le pasa $orriente( 5$orrientes %ue soporte el !E1( normalmente entre 0 a
00 mA6 podemos eliminar la resisten$ia de entrada( %uedando un $ir$uito por el %ue pasa la $orriente a
dete$tar' 8iene el pro#lema de %ue elimina 1'0 ( pero puede ser +til en mu$&os $asos' 8oda la $orriente
pasa por el optoa$oplador por lo %ue ,ste de#e soportar la $orriente' Para poder dete$tar $orrientes ma*ores
&a#r2a %ue &a$er un di)isor de $orriente'
$ectura de una entrada con tensin alterna o sin polaridad.
8am#i,n se podr2a utilizar un optoaislador $on dos diodos( $on lo %ue podr2a dete$tar tensiones o $orrientes
independientemente del sentido de la tensin o $orriente'
Colo$ando un $ondensador del )alor ade$uado podemos &a$er %ue in$luso el mi$ropro$esador dete$te %ue
&a* una se4al alterna' En los $asos anteriores( si ponemos una se4al alterna el mi$ropro$esador leer2a a
)e$es se4al( a )e$es no( $on lo %ue el softQare tendr2a %ue $ompli$arse para sa#er si eso es una se4al alterna'
Con el $ondensador e)itamos este pro#lema'
8al $omo est" $olo$ado el $ondensador( $uando no &a* entrada el mi$ro leer" un ni)el alto' En $uanto &a*a
$orriente por el !E1 el transistor se saturar" * apare$er" un ni)el #a/o en la entrada del mi$ro' Cando la
se4al de entrada #a/e( el transistor de/ar" de estar saturado( pero el $ondensador tardar" $ierto tiempo a
ad%uirir la tensin de alimenta$in' Ai antes de %ue su#a 1 )oltio )ol)emos a pasar $orriente por alguno de
los dos !E1A( )ol)er" a #a/ar la tensin'
10
Entradas salidas digitales de propsito general en el dsPIC30 Marzo 2010
!os )alores de R2 * C1 de#er"n $al$ularse de a$uerso $on la fre$uen$ia de la se4al de entrada' En realidad
se $al$ular" teniendo en $uenta la tensin m"?ima permitida en un tiempo determinado de ausen$ia de
tensin de entrada'
Como la tensin en un $ondensador es: V =
1
C

idt * suponiendo %ue la $orriente es $onstante( aun%ue


solo ser" $ierto si no de/emos su#ir $asi la tensin' Por e/emplo de 0(2 a 0'0 )oltios * de/aremos %ue esa
tensin se al$an$e en un periodo de 00 Ez 520 ms'6 !a tensin de alimenta$in supondremos %ue es 0 * la
apro?ima$in %ue &a$emos es %ue su#e tan po$o %ue puede mantenerse $onstante'
V
C

1
C
It
00(2
CR
T 0(3=
.(;
CR
2010
3
CR=
.(;
0(3
2010
3
=0(32
Podemos poner R F 10 P * C resultar" 0(32@10000F32 u-' Ponemos un )alor est"ndar ma*or( .> u- *
aseguramos %ue fun$iona $orre$tamente'
11
Entradas salidas digitales de propsito general en el dsPIC30 Marzo 2010
Inter*ace de las salidas digitales.
Al igual %ue $on las entradas( las tensiones %ue mane/a el mi$ropro$esador * las %ue del e?terior no son
iguales' Con una tensin de 3(3 o 0 ' podremos a$ti)ar un led * po$o m"s' Ai %ueremos $one$tar un motor
ne$esitaremos alg+n rel, o $onta$tor' A $ontinua$in )eremos )arias formas de $one$tar las salidas:
A$ti)ar un !E1
A$ti)ar un rel, $on #o#ina de 0$$
A$ti)ar un rel, $on #o#ina de m"s de 0 $$
Aalidas en $ole$tor a#ierto
%cti/ar un $E3
A$ti)ar un !E1 es lo m"s f"$il %ue podemos &a$er $on una salida' Ai %ueremos %ue el !E1 se en$ienda
$uando a la salida ponemos un 1 montaremos la $onfigura$in de la iz%uierda' Ai %ueremos %ue el !E1 se
en$ienda $uando ponemos un 0 pondremos la $onfigura$in de la dere$&a' Aparentemente son iguales( sal)o
%ue se a$ti)an por 0 o por 1( pero &a* alguna $osa m"s %ue &a* %ue tener en $uenta' En la ma*or2a de
mi$ro$ontroladores( so#re todo antiguos( la tensin de salida a ni)el #a/o est" m"s $er$a del 0 %ue la salida a
ni)el alto de la alimenta$in( por lo %ue suele ser me/or a$ti)ar las salidas a ni)el #a/o'
Para $al$ular la resisten$ia tendremos %ue sa#er %ue $orriente %ueremos %ue pase por el !E1' Para $ada
!E1 &a#r" %ue )er su $ur)a $ara$ter2sti$a * )er para la ilumina$in %ue pretendemos %ue $orriente ne$esita
* %ue tensin $ae en sus #ornas( adem"s sa#er %ue tensin propor$iona el mi$ropro$esador para esa
$orriente' Cna $orriente t2pi$a puede ser de 10 a 20 mA * la tensin en el !E1 suele ser de 1'0' Ai no
$ono$emos la tensin %ue propor$iona el mi$ropro$esaor para determinada $orriente podemos suponer 0 o

11
( $ometiendo un error sin demasiada importan$ia' Para el $aso del $ir$uito de la dere$&a el $"l$ulo de la
resisten$ia se &ar" $omo sigue' 5El mismo $"l$ulo sir)e para el otro $ir$uito6'
Aupongamos %ue %ueremos %ue pasen 20 mA' R el mi$ro$ontrolador est" alimentado a 0 1C
0=I RV
LED
0=20mAR1'0 R=
01'0
20
=1>01;0
Con)iene mirar las $ara$ter2sti$as del !E1( pues &a* !E1A %ue $on esa $orriente tienen un #rillo fort2simo
* otros tienen po$o #rillo'
El $onsumo de este !E1 520 mA6 es mu$&o ma*or %ue el $onsumo del propio mi$ropro$esador( por lo %ue
es $on)eniente utilizar alg+n modo de disminuir su $onsumo( so#retodo si &a* )arios !E1A' Cn m,todo
$onsiste en no iluminar el !E1 $ont2nuamente * de#ido a la persisten$ia del o/o pare$e %ue est" siempre
en$endido' Por e/emplo podemos a$ti)arlo 1 ms $ada 0 ms( $on lo %ue el $onsumo disminu*e a la %uinta
parte * el efe$to es una ilumina$in $onstante aun%ue algo m"s d,#il' 7tro m,todo mu$&o me/or de #a/ar el
$onsumo es &a$er %ue los !E1A parpadeen * %ue el o/o )ea un parpadeo' Puede iluminarse por e/emplo 0
ms $ada segundo' Esos 0 ms son sufi$ientes para %ue )eamos un destello * el $onsumo se &a redu$io en 200
)e$es'
12
Entradas salidas digitales de propsito general en el dsPIC30 Marzo 2010
%cti/ar un $E3 con corriente ele/ada:
El mi$ro$ontrolador no puede dar por una de sus salidas m"s
de 20 mA( por ello si tenemos %ue alimentar alg+n dispositi)o
%ue ne$esite m"s de los 20 mA de#eremos utilizar un $ir$uito
algo m"s $omple/o' En este $aso )amos a a$ti)ar un led %ue
$onsuma 000 mA'
!os datos de los $omponentes utilizados son:
Corriente del led 000 mA
8ensin en el led a 000 mA F 2 '
S del transistor T 100
El transistor de#er" estar saturado'
Como por el !E1 de#en $ir$ular 000 mA( $aen en ,l 2 * el
transistor en satura$in tiene una tensin $ole$torMemisor de
0(2 tenemos:
0=I
2
R
2
V
LED
V
CEsat
0=000mAR
2
20'2 R
2
=
020'2
0'0
=0(:
Ojo, potencia enla resistencia=I
2
R
2
=0(0U0':=1'.W
El !E1 ne$esita 000 mA' Como la S del transistor es por lo menos 100( ne$esitamos al menos 000@100F 0
mA
0=I
1
R
1
V
BEsat
R
1
=
00';
I
2
/
=
.'2
000/ 100
=
.(2
0
=0';. K
Con esa resisten$ia estar" /usto para la satura$in' Ponemos R
1
F .>0 O para asegurar la satura$in
Aun%ue &a*amos &e$&o los $"l$ulos $on un !E1( el pro$eso ser2a similar para otros $omponentes'
13
Entradas salidas digitales de propsito general en el dsPIC30 Marzo 2010
%cti/ar un rel( con )o)ina de 4 5cc
Cno de los $asos m"s &a#ituales de uso de una salida de un
mi$ropro$esador es para a$ti)ar un rel,' Ai tenemos un
rel, $u*a #o#ina sea de 0 1C( * el mi$ro$ontrolador lo
alimentamos a 0 1C( podemos $one$tar dire$tamente el
rel, a la salida( de forma %ue se a$ti)e a ni)el alto o a ni)el
#a/o' Ai leemos las $ara$ter2sti$as de un rel, normal(
)eremos %ue la poten$ia %ue $onsume la #o#ina est" en
torno a los 000 mH * en un rel, de #a/o $onsumo en torno
a los 100 mH' El pro#lema es %ue la $orriente ne$esaria
para a$ti)ar el rel, sale o entra toda en el mi$ro' Ai
utilizamos un rel, de 0 1C * $onsume 000 mH( la
$orriente %ue pasa por ,l( * por el mi$ropro$esador es de
100 mA( mu$&o ma*or %ue los 20 mA %ue di$e el
fa#ri$ante %ue soporta la entrada@salida' Con un rel, de
#a/o $onsumo podr2a $one$tarse dire$tamente' Pero e?iste
una forma mu$&o me/or( %ue es utilizar un transistor entre
el mi$ro * el rel,'
!a )enta/a de esta $onfigura$in es %ue la $orriente %ue atra)iesa el rel, no pasa por el mi$ro' El
fun$ionamiento es el siguiente' Cuando la salida est" a 0( no &a* $orriente de #ase( por lo %ue el transistor
est" $ortado * no $ir$ula $orriente por el rel,' Cuando ponemos un 1 a la salida( e?iste una $orriente de #ase
%ue &a$e %ue el rel, se ponga en satura$in( $a*endo 0'2 en el la unin CE * el resto en el rel,(
a$ti)"ndolo'
Para $al$ular R3 &a* %ue tener en $uenta %ue el transistor de#er" estar en satura$in' Ai la $orriente %ue
ne$esita el rel, es de 100 mA( %ue ser" la $orriente I$( para %ue el transistor est, en satura$in se de#e
$umplir %ue I
C
TSDI
9
' !a S la #us$amos en un las &o/as de $ara$ter2sti$as del transistor * $ogeremos la menor
posi#le' Aupongamos %ue S )ale 100 * la $orriente %ue ne$esita el rel, es de 100 mA'
100 mA T 100 I
9
' Por lo %ue la $orriente m2nima %ue de#e salir del mi$ro es de 1 mA' Para asegurarnos %ue
est" saturado ponemos algo m"s( por e/emplo 2 mA' A&ora $al$ularemos R3' !a tensin en las salida del
mi$ro &a#r2a %ue )erla en la gr"fi$a( pero podemos suponer %ue es 0 * la
9E
de 0'; '
0FIDRI9E 0=I RV
BE
0=2mAR0'; R=
00';
2
=2P12P2
El diodo 11 de#e ponerse siempre en paralelo $on la #o#ina del rel, 5para #o#inas alimentadas $on
$orriente $ont2nua6' Este diodo se utiliza por%ue al pasar el transistor de satura$in a $orte &a* un $am#io
mu* #rus$o de la $orriente %ue pasa por el $ole$tor * por la #o#ina( el $ual genera una tensin mu* ele)ada
en sus #ornas' El diodo permite %ue al $ortar el transistor( la $orriente %ue pasa por la #o#ina siga $ir$ulando
por el diodo( atenu"ndose de una forma no tan #rus$a'
1.
Entradas salidas digitales de propsito general en el dsPIC30 Marzo 2010
%cti/ar un rel( con )o)ina de m6s de 4 5cc
!os rel,s $on #o#ina de 0 son mu* $modos de poner( pues la
alimenta$in es la misma %ue la del mi$ropro$esador' Esa
aparente )enta/a tiene un pro#lema( la #o#ina de los rel,s
normales $onsume apro?imadamente 000mH( * a 0 la
$orriente es de 100 mA' Ai &a* 10 rel,s $onsumir2amos 1 A( %ue
*a es una $orriente respeta#le' Ai los rel,s fuesen de 12 ( la
$orriente ser2a de .2 mA( menos de la mitad3 * si los rel,s son de
2.( la $orriente %ue pasa por $ada una es de 21 mA' En este $aso
para 10 rel,s el $onsumo $on los 10 rel,s a$ti)ados es de 210
mA' !os reguladores de tensin normales no suelen pasar de 1 A'
Por ello( si &a* )arios rel,s puede ser m"s pr"$ti$o tener una
alimenta$in de 2. para los rel,s * otra de 0 para el
mi$ropro$esador' Esta tensin de 0 puede o#tenerse a partir de
la de 2.( por medio de un regulador( pues la $orriente %ue
$onsume el mi$ropro$esador * los $ir$uitos ad*a$entes suele ser
mu* pe%ue4a' !a $olo$a$in de los rel,s de ma*or tensin no
tiene ning+n pro#lema( simplemente las fuentes de#en tener la misma masa' Con la diferen$ia %ue &a* %ue
re&a$er los $"l$ulos para la resisten$ia %ue &a* en la #ase del transitor' Para 2. la $orriente ne$esaria es de
20(; mA( si la S es de 100' !a $orriente de #ase de#er" ser( al menos de 0'20; mA' Pongamos 0': mA para
asegurar la satura$in' A&ora $al$ularemos R3' !a tensin en las salida del mi$ro &a#r2a %ue )erla en la
gr"fi$a( pero podemos suponer %ue es 0 * la
9E
en satura$in de 0'; '
0FIDRI9E 0=I RV
BE
0=0':mAR0'; R=
00';
0':
=>P:P;
Ai el transistor se fundiese( podr2a llegar una tensin mu* ele)ada al mi$ropro$esador( aun%ue &a* una
resisten$ia por medio' Para e)itar este posi#le pro#lema( * e)itar pro#lemas de ruido( puede ser ade$uado
aislar la salida por medio de un optoa$oplador' En este $aso est"n totalmente aislados el mi$ropro$esador *
el rel,' Para %ue este $ir$uito fun$ione ade$uadamente es $on)eniente utilizar un optoaislador darlington(
pues en los optoaisladores normales el )alor e%ui)alente a la S del transistor es mu* #a/o( no sulele llegar a
10
Entradas salidas digitales de propsito general en el dsPIC30 Marzo 2010
la unidad3 $on un optoaislador darlington tendremos un )alor de S e%ui)alente %ue puede llegar a 10' En
lugar de S se le llama Krela$in de transferen$iaL' El $"l$ulo de R1 se &a$e teniendo en $uenta la $orriente
%ue ne$esita el rel, ' Como el rel, es de 2. * 000 mH( la $orriente %ue ne$esita es de:
000mH@2.F20(; mA
Ai la rela$in de transferen$ia m2nima del 8!P:2> es de 10( la $orriente en la #ase de#er" ser ma*or %ue
20(; mA@10F 2(; mA
Para asegurar la satura$in del transistor( en lugar de 2(; mA pondremos : mA' R seg+n el fa#ri$ante( $on
esa $orriente la tension en el !E1 es de 1'0 '
V
ent
=I RV
LED
0=:mAR1'0 R=
01'0
:
=0'>P:;0
7tro pro#lema es la $orriente m"?ima %ue puede soportar el optoaislador( dependiendo del optoaislador
puede )ariar de 00 a 100 mA' En el $aso de utilizar rel,s de 2. no tendremos ning+n pro#lema'
!alidas en colector a)ierto:
!os rel,s tienen la gran )enta/a de un total
aislamiento entre la $arga * nuestro $ir$uito( aparte
de %ue )isualmente se puede $ompro#ar su estado(
pero tienen el pro#lema de %ue no pueden fun$ionar
a fre$uen$ias mu* ele)adas' Para &a$er salidas
r"pidas( e in$luso para las normales( se suelen
utilizar salidas en $ole$tor a#ierto' Estas salidas se
#asan en %ue el $ir$uito %ue $onmuta la salida no es
un rel,( sino un transistor' Por ello la )elo$idad de
$onmuta$in puede ser rapid2sima( aun%ue las
tensiones * $orrientes %ue se pueden $onmutar no
suelen ser mu* ele)adas' Con una resisten$ia * un
transitor podemos realizar una salida en $ole$tor
a#ierto aumentando la $apa$idad de $orriente de la
salida' Para $orrientes o tensiones ele)adas el pre$io
del transistor &ar2a po$o )ia#le esta solu$in' !a
salida puede ser del tipo P=P o del tipo =P=' El
es%uema ad/unto muestra una salida del tipo =P=
5la nomen$latura )iene dada por el tipo de transistor
de salida' En este $aso( la $arga se $one$ta entre alimenta$in( normalmente 2. 1C * el $ole$tor del
transistor' !a resisten$ia R1 de#e ser tal %ue le transistor est, en satura$in $uando $onduz$a( para %ue as2 la
tensin CE sea mu* #a/a( apro?imadamente 0'2 ' En este $aso( * suponiendo %ue la $orriente en la $arga
pueda llegar a ser de &asta 1 A( * la S del transisor sea de 100( I$V S D I
9
' Por lo tanto I
9
T10 mA' Earemos
%ue I
9
F 20 mA' Para ello RF50M0'>6@20 F 0'210 PO' Pondremos 200 O * seguro %ue $umplimos' Con una
resisten$ia menor asegurar2amos %ue para m"s rango de $orriente en la salida el $ir$uito fun$ionar2a
$orre$tamente( pero la $orriente de salida del mi$ro ser2a m"s grande'
!a poten$ia disipada en el transistor es PFID' Ai est" saturado F0(2' si no est" saturado la tensin puede
ser mu$&o ma*or * la poten$ia disipada en el transistor mu* grande'
Aalida $ole$tor a#ierto P=P' !a salida en $ole$tor a#ierto tipo =P= es mu$&o m"s sen$illa %ue la salida tipo
P=P( pero a$ti)ar una salida $on un ni)el #a/o resulta en mu$&os $asos engorrosa' Por ello( la salida tipo
P=P es m"s utilizada en la industria' En esta salida $uando la tensin de salida es alta( la salida se a$ti)a'
7tra )enta/a %ue tiene es %ue al &a#er 2 transistores( la $orriente de salida del mi$ro se )e amplifi$ada 2
)e$es( por lo sale menos $orriente del mi$ro' El $ir$uito es m"s $omple/o( a%u2 )emos un e/emplo dise4ado
1:
Entradas salidas digitales de propsito general en el dsPIC30 Marzo 2010
para %ue pueda suministrar 10 A $on una S de al menos 100 en $ada transistor' Ea* %ue tener en $uenta %ue
el transistor de salida de#e soportar la $orriente e?iguida( 10 A en este $aso( * la poten$ia disipada( 0'2 ?
10 A F 2 H' Con $orrientes ele)adas la tensin
$ole$torMemisor de satura$in suele ser algo
ma*or'
1>
Entradas salidas digitales de propsito general en el dsPIC30 Marzo 2010
!alidas en colector a)ierto aisladas:
!a salida $on rel, tiene $omo prin$ipales )irtudes %ue aisla la salida 5puede &a#er tensiones mu* ele)adas
en la salida mientras %ue la #o#ina es de 0 o 2. 6 * permite grandes $orrientes'
!as salidas en $ole$tor a#ierto pueden mane/ar grandes se4ales( depende del transistor( pero no est"n
aisladas' Para aislarlas sustituiremos el transistor en $ole$tor a#ierto por un optoa$oplador( * me/or si es
1arlington'
1e#ido al uso del optoaislador( las tensiones a la salida no tienen por%ue tener nada %ue )er $on las de la
entrada( * $omo el transistor no tiene #ase( podemos poner la resisten$ia a la salida arri#a o a#a/o' En estos
$asos lo normal es %ue tengamos el $ole$tor * el emisor del transistor en la salida( $one$tando la $arga * la
alimenta$in seg+n $on)enga'
Mu$&as )e$es la salida del mi$ro$ontrolador )a $one$tada a la entrada de alg+n e%uipo * ese e%uipo di$e
%ue en la entrada &a* %ue poner un $onta$to li#re de tensin' Ese $onta$to li#re de tensin puede ser un rel,
o un optoa$oplador'
El pro#lema m"s importante de estos $ir$uitos es %ue el transistor del optoa$oplador no aguanta grandes
$orrientes' Para solu$ionar ese pro#lema podemos &a$er un transistor darlington $on el transistor del
optoa$oplador * uno de poten$ia'
Estos $ir$uitos pueden aguantar mu$&os amperios si los aguanta el transistor' !a $orriente %ue $ir$ula por el
transistor del optoa$oplador ser" del orden de S )e$es menor %eue la $orriente %ue pase por el transistor de
poten$ia'
En digital estamos a$ostum#rados a tra#a/ar en $orte * satura$in( pero en los transistores darlington el
1;
Entradas salidas digitales de propsito general en el dsPIC30 Marzo 2010
primer transistor se puede saturar( pero no el segundo' El segundo transistor no suele tener una tensin
CE menor %ue 0'< ' Por poner un e/emplo( supongamos %ue por un transistor pasan 20 A' Ai la
tensin CE fuera de 0'2 ( la poten$ia disipada en el transistor ser2a de . H( pero si la tensin CE es
de 1 ( la poten$ia disipada es de 20H' Adem"s si la $orriente es grande la tensin CE puede ser
#astante grande( 2 o 3 ( * en esos $asos la poten$ia disipada puede ser mu* grande'
Este pro#lema puede solu$ionarse del siguiente modo:
El de la iz%uierda es $on salida a$ti)a a ni)el #a/o' El de la dere$&a $on salida a ni)el alto' !a
resisten$ia del $ole$tor del optoa$oplador de#er" $al$ularse para %ue est,n saturados los dos
transistores( si es mu* grande saturar" el primero pero no &a#r" sufi$iente $orriente para saturar el
segundo3 si es mu* pe%ue4a no saturar" el primero'
1<
Entradas salidas digitales de propsito general en el dsPIC30 Marzo 2010
!alidas con triac:
Para $one$tar a la salida elementos alimentados a tensiones ele)adas * en alterna 5230 a$6(
podemos utilizar los rel,s( pero son grandes * no podemos &a$er $onmuta$iones demasiado r"pidas'
Para esto podemos utilizar los tria$s * optotria$s'
Para $orrientes pe%ue4as podemos utilizar dire$tamente un optotria$'
El optotria$ &ar2a de interruptor( $ortando o de/ando pasar la $orriente' !a salida del optotria$ est"
$one$tada a 230 oltios( * el $ir$uito puede alimentar una #om#illa o un motor pe%ue4o' Como el
optotria$ aguanta po$a $orriente de#emos utilizar este $ir$uito solo en $asos en %ue la $orriente sea
mu* pe%ue4a'
Para $orrientes ma*ores podemos utilizar el siguiente $ir$uito:
Este $ir$uito es una $opia del manual del optotria$ M7C3021 de Motorola' En ,l la $orriente
m"?ima %ue soporta el $ir$uito no es la del optotria$( sino la del tria$ J.( por lo %ue este puede ser
de las dimensione ade$uadas'
Al $one$tar la $arga a 230 $on)iene sa#er $ual es la fase * $ual el neutro' En teor2a da igual( pero
es re$omenda#le %ue en $ir$uitos fi/os 5sin en$&ufe6 el interruptor $orte la fase( para %ue en ning+n
punto del motor &a*a tensin $uando est" des$one$tado'
20
Entradas salidas digitales de propsito general en el dsPIC30 Marzo 2010
!alidas con interruptor )asado en 0#!FET:
Cna tipo de salida mu* re$omenda#le son las salidas $on integrados dise4ados espe$ifi$amente para
tra#a/ar $omo interruptores( estos $ir$uitos suelen estar #asados en transistores M7A-E8 $on el
$ir$uito de $ontrol in$orporado' Cno de ellos es el 98A::0A( $apaz de $onmutar &asta >0 A a
tensiones de :0 1C' Au resisten$ia en $ondu$$in es de solo < m * est" protegido $ontra
temperatura( $orriente * tensin' Adem"s su pre$io es de unos 3 W( m"s #arato %ue $ual%uier rel,
%ue soporte esas $orrientes'
21

You might also like