- 1. E n ~ l q u ePalaclos Fernando Ramlro Lucas J. Lpez - 1
Alfaomega e~ a - ~ a ", .;Y- - - - , ,. '"1i I - J
- 2. Este libro pretende intrcduciral lector en la realizacibnde
proyectos de circuitos electrbnicosconstruidos con el popular
mlcrocontroladorPtC16F84.Para tograrlo se muestra un elevado nmero
de ejercicios resueltos que el lector podrh desamolarfacilmentecon
medias a su alcance. 1 Tanto los aficionados sin grandes
cranocirnientos de electrbnica, pero con inquietud suficientepara
montar sencillostrabajos con rnicrocontroladores,como A- los
estudiantes decarrerastcnicas de electrbnica y losestudiantesde
Ingeniera Industrial, Telecomunicaciones o InformAtica, mcontrardn
de gran utilidad esta obra para Ialrealizaci6n dB sus primeros
pro~ectos.m- l flbr~resulta eminentemente prctico ya que contiene
m& de 160 ejercicios resueltos con sus programas y esquemas,
siendo muchos de ellos proyectos clAsicos,como termdmetros,
relojes, calendarios, cerraduras electrnicas, control de dispfays,
temostatos,temporizadores, alamas, sirenas, comunicacibncon la
juegos, control de motores, microrobots. etc. - El
softwareutilizadoes delibredistribuciny los
Circuitosemplmcomponentesque pueden adquirirsefacilmenteen
cualquier tienda de pwuctlos electrbnim. Para el desarrollo de
cualquiera de los proyectos planteados no se precisa de grandes
medios materiales, por lo que realizados resulta sencillo, I
econdmico y ameno, adems, se incluye un CD-ROM que contiene el
softwarenema&, las soluciones a los ejerciciosy
notastcnicas.
- 3. Microcontrolador PICI6F84 Desarrollo de proyectos
- 4. 1 Microcontrolador PICI6F84 1 h Desarrollo de proyectos
Enrique Palacios Municio Fernando Remiro Dominguez Lucas J. Lopez
Perez Alfaomega 4)+Ra-Ma'
- 5. Microcontrolador PIC lbFB4. Desarrollo de proyectos Q
Enriquc Palacios Muiiicici. Feraando Kemiro Dominguez y Lucas J.
L6pez Prez ISBN 84-7897-600-0, edicidn original publicada por RA-MA
Editorial, MADRID. Erpaia. Derc~hosreservxicis 0 RA-MA Editorial
MARCAS COMERCIALES: RA-MA ha intentado a largo de este libro
distinguir las marcas registradas de los trminos descriptivos,
sigiiiendo el esiilu de mayusculas que utiliza el Fabricanre, sin
introci6n de infringir la marca y slo en beneficio del
propietariode la misma. Primera edicin: Aliaoiiiega Grupo Editar,
Mkxico. agosto 2003 8 2004 ALFAOhlEGA GRUPO EDITOR, S.A. de C.V.
Pithgoras 1139, Cul. Del Valle, 03 100 Mxico, D.F. Miembro de Id
Camara Nacional de In Ind~striaEditorial Mexicana Registiw No. 23
17 ISBN 970-15-1033-X Derechos reservados. Esta obra es ptopied.d
intelectual de su autor y 10s derechas de publicacicin en lengua
espaola han sido legalmente transferidus al editor. Prohibida su
repri~duccinparcial o total por cualquier medio sin permiso por
escrito del propietariode los derechus dzl copyright. NOTA
IMPORTANTE- - - La inforniacirrn cnntenida en esta oliri tienc un
i'iii ex~lu~ivamentediddctico y.por lo tanto, no esti previsto sil
aprovcchamirnio 3 nivtl profcsirinai ti in- dustrial. Las
indicaciones tcnicas y programas incluidos. han cidn elahnra- dos
COI] gran cuidado por el aur(ir y reproducidas bajo esirictas
normas de control. ALFAOMEGA GRUPO EDITOR. S.A. i1eC.V.no ser
jurdicamon- te responsabte por: errores u nmi
- 6. A mi m yer. Maribrl, por- sic apqno,c.ari,ioy paciencia. .4
mi,vhijos. C'i-istNra Enrique. mi rnaymfi~cnirrk
liltiyrias1'slrtis/;rcciones. A n l i ~PUIJI-CS. Eririquey
Sagr~rriu,cbtirc.c.ujiociniieritu a su sacrificio. Enrique .1 mir
pudre.^, hgo y demsppersoncls it~~port~irirta~krni v i h . Lucas A
mis dos mujeres, Natalia con la que decidcompurrir mi.?dius*c
,A~iciniciique me uir7gi.ucudu diu J J . ~que narici y que a sus
tre.y oos no deju de quewr rlj~tltf~irrnea escribir yprogrumor
microcon~oladoresy per.i/L:r.icos. Fernando
- 7. ..........................................Capitulo 1:
MICROCONTROLADORPIC16FS4 1.1 MicrricontrolarluresPIC
...................................................................................
.....................................................................1.2
Alimentacin de un PIC16F84 1.3 Puertos de
entraddsalida..................................................................................
1.4
Oscilador...........................................................................................................
.....................................................................................1.4.1
OsciladorXT 1.4.2 OscjladorRC
.....................................................................................
.............................................1.4.3 OsciladoresHS y
LP ........................... 1.4.4 Utilizando una seal de reloj
externa................................................ 1.5
Reset..................................................................................................................
1.6 Montaje del
entrenador.....................................................................................
capitulo 2: PERTFFUCOS
BASICOS.........................................................
........................................................................................................2.1
Diodo LED 2.2 Interruptoresy
pulsadores..........................................................................
2.3 Entradas &@talescon
optoacopladores...........................................................
2.4 Display de siete segmentos
...........................................................................
2.5 Controlandocargas a 230
V.............................................................................
.................................................................................2.5.1
Conml con rel 2.5.2 Control con re14miniaturaen cpsula DIL
....................................... 2.5.3 Control mediante
fototriac...............................................................
2.5.4 Conml de potencia con
tnac..............................................................
2.6
Zumbador..........................................................................................................
- 8. 9.3 Saltos en funcidn de un
registro..................................................................,.,..
.r 9.3.1 I ~ h c c i o n"decfsz
f,d".....................................................................
9.3.2 Instruccin "incfsz
f,d".......................................................................,
9.4 Cotnparacionde
registros.................................................................................
9.4.1 Comprobar que un registro vale O
.................................... .........,......,. 9.4.2
Comprobar igualdad enlredos
regismos............................................. 9.4.3
Comprobarque unregistro es mayor o menorque
otro.................... 9.4.4 Programaejemplo..........
...................................-..................................
9.5 Lazos o
bucles...........................................,.,.,..,................................................
9.5.1 Lazo de repeticihn
infinita...............................................................
9.5.2 Lazo con condicinde
testeo..............................................................
9.5.3 Lazo que se repite un numero conocido de
veces.............................. 9.6 Programaciony
algoritmo............................
.....,.....................,........................ 9.7 Diagrama
de flujo.............................
....................-.................. ................ 9.8 Ms
directivasimportantes..............................
................................................ 9.8.1 CBLOCK y
ENDC............................ ....
.............................................. 9.8.2 #DEFINE
.....................................
........................................................ 9.9
Conversiondebinarionatural aBCD.................................
............................. 9.10 Salto indexado
.....................................
..........,............................. ..................... 9.11
Salto indexado dcscontrolado........................
.......................................... 9.12 Prcticasde
labamtorio..................................................................................
Capitulo 10: SUBRUTTN.4S................
........................................... .....................
10.1 Subrutinas..................................................
........................... ..................... 10.2
Subrutinasanidadas....
....................................................................................
10.3 La pila
.............................................................................................................
10.4 Tnstnicciones"call"y
"retuni".......................................................................
10.5 Ejemplo de utilizacin de las
subrutinas......................................................
10.6 Ventajas de las
subrutinac.....................................
......................................... 10.7 Lbreria de
subrutinas...................................................................................
10.8 Directiva
"INCLUDE"....................,..............................................................
10.9 Simulacinde subnitinas en
MPLAEI......................................................,....
., 10.10 Programacion
estructurada................................qq.....,,,-..........,q,
.q,.,.............,,, 1O.11 Practicasde
laboratorjo..............................................................................
Capitulo 11: MANEJO
DETABLAS..................................................... 1 1.1
Tablas de datos en memoria de
programa..................................................... - '
11 7 3 11.1.1 Insmccion retlw
............................................................................
11-1.2
Directiva"DT'..........................................,.,......,............,.,,.,....-.......
11.2 Mis
directivas.................................................................................................
11.2.1
MESSG..............................................................................................
11.2.2
ERROR..............................................................................................
11.2.3
[FyENDF........................................................................................
- 9. XIV MICRW0NTRC)tADC)R PIC'IbFB4. DCSiiRROLLODE PROYECTOS w
nA-hW -$ 11.3 Gobierno de un display de 7
segmentos.................................................... 162 1
1.3 Practicas de laboratorio
..................................................................................
Captulo 12: SUBRUTINASDE RETARDO
................................................ 169 i12.1 Ciclo
miquina...............................................................................................
12.2 Medir tiemposcon WLAB .............................. ....
.................................. 171 I .I 12.3
Instniccion'hop"..........................................................................................
171 1 12.4 Retardos mediante lazo simple
.....................................................................
172
...............................................................12.5
Retardos mediante lazosanidados 174 12.6 Librera con subnitinasde
retardos..............................................................
176 I 12.7 Rebotes mlos pulsadores
...........................................................................
181 1
..................................................................................12.8
Practicas de laboratorio 184 1 Capitulo 13:
LCD................................................................................................
187 C
...........................................................................................13.1
VisualizadorLCD 187 1 13.2
Patillaje............................................................................................................
188 1 13.3 DDRAM
.........................................................................................................189
1 ............................................................13.4
Caracteres definidos en la CGROM 191 1 13.5 Modos de
funcionamiento..........................
................................................. 191 1 13.6
Comandos de
control.................................................................................
192 1 13.7 Conexin de LCD mediante4 bits
.............................................................. 13.8
Librera de
subnitinas....................................................................................
194 C 13.9 Visualizacibnde caracteres
..........................................................................
201 13.10 Visualizacj6nde valoresnumricos 202 1'
.............................................................. ?O3
1 13.11 Conexibnde LCD mediante 8 bits
................................................................
13.12Visualizacin de mensajes fijos 204 1
.....................................................................
13.13Visualizacinde mensa-iesen mo~iniiento 208 1'
................................................... 13.14 Prkticas
de
laboratorio.........................................................................
209 Captulo 14: EEPROM DE DATOS 213 1'
..................................................................
1' 14.1 Memoria EEPROM de datm
.........................................................................213
1'
.......................................................................................14.2
Registro EECON1 215 1' 14.3 Librerade
subrutinas.....................................................................................
216 1' 14.4 Lectura de la EEPROM
dedatos...................................................................
217 1'
............................................................14.5
Escrituraen la EEPROM de datos.. 217 1' 14.6 Directiva"DE"
..........................................................................................
218 14.7 Ventana"EEPROM"en el MPLAB
.......................................................... 218 C
14.8
Programaejemplo............................................................................................
. 14.9 Bloquear un
circuito.......................................................................................221
14.10Prcticas de laboratorio 227- 1I
..................................................................................
1I 11 1I 11
- 10. ia estructura de m : del M itilizar lgramable; cmo
ense;uiza rnpart nuestras 317 an n r?in S ieniair el rcicesador eri
siis las 13 para realimcin crecieiite sobre circuit~sreales.
seilcilla todo finalihd cscriio, que niedicis de qiie siicic
dispuner cap= de proyecuis tiiicroprobmables C'ualqiiier
estildiantc ingzriiero, con ser utili7ar PICl hF84 propios
diseiios. iiibricantes Micruchip Tt'clinology inc, Phidip
Sem~conducror~ Dullu,c Smiconductors, as erliprcsa Sagiiron
uiilizacion producios. Querertios finalmcntc agadecer 10s
sugercticias en Ghtticz, Sanz, Tempradu, G e m a Jiian Jcid Atia
&irnora. Nuria Tririjatw, Loli Sergiu Gonzlez-Nicols, Javicr G
m Diego Cbrdoba, Martii, Garcia ngel Toledo Fmando s dc sdz esquema
tid do gas. Entrc 1 pr misnio itorios, m por :4 ar ;-S IS aqui
ipcin. rse un -es, complejcs entender los software y conocimiento
porque es y el en detalle ente. la de realizadas por de un teclado,
uello funcionara. la tecla y alumnos "'maleta" era este mundo el a
al sistema otras, e1 y comprender.No sino que Y Ultimo, mismo el
que que lo que ha aos de descritas. Tambin junto con a La teoria
desarrollada va siempre dirigida a hacer prcticas, siendo
imprescindible la de los proyectos de dificultad que trabajan
Esperamos que la lectura de este libro le resulte y sobre que
cumpla la para la que esta con los pocos tcnicos los se en casa.
sea desarrollar dc una forma autodidacta. aficionado, o ayuda de
este libro, debe capaz de empezar a el inmediatamente en sus
proyectas y Nuestro agradeciiniento a las y como a la por su
constante esfuerzo en ayudar a los usuariosen la de sus prestada,
Redondo, Jess Escobosa, Eduardo F. y participac Javier Folgar. in a
todos el desarro Jos A. ia-Caro, y compaeros y alumnos. la ayuda
llo de esta obra:Carmen Julio Gil, M. Morales, M. Sanz, Alejandro
Pico, Moreno. A. Alfonso Blanco. LOS AUTORES
- 11. CAPITULO 1 MICROCONTROLADOR PIClFS4 1 . MICROCONTROLADORES
PIC Un microcontrolador es un circuito integrado programable que
contiene todos los componentes necesarios para contrc~larel
funcionamiento de una tarea determinada, como el control de ma
lavadora, un teclado de ordenador, una impresora, un sistema de
alaril~a,ctc. Para sto, el rnicrocontroladorutiliza muy pocos
componentes asociados.Un sistema con rnicrocontrolador debe
disponer de una memoria donde se almacena el programa que gobierna
el funcionamiento del mismo que. ima vez programado y configurado,
siilo sirve para realizar la tarea asignada. La utilizacion de un
rnicrocontroladorenuncircuitoreduce notablementeel tamatlo y nmero
de componentes y, en consecuencia, disminuye el niimero de averas y
el volumen y el peso de los eqiiipos,entre otras ventajas. El
microcontrolador es uno de los inventos ms notables del siglo XX.
En el mercado hay yan cantidadde ellos, con multitud de
posibilidades y caracteristicas. Cada tipo de microconmladorsirve
para una serie de casos y es el diseador del sistema quien debe
decidir cual es el micrwuntroladorms id6neo para cada uso. En lm
ltimos ~ u shan tenido un gran auge los microcmtroladoresPTC
fabricados por Microchip TechnologyInc. Los PIC (PeripheralInteqace
Conmllerj son una familia de microcorrtroldores que ha tenido gran
acepacin y desasrollo en los ltimos afm gracias a que sus buenas c
mtersticas, bajo precio, reducido consumo, pequeRo tamailo. gran
calidad, fiabilidady abundancia de infomiacih, lo convierten en muy
fcil, ciimodo
- 12. 130 ipropiados donde Ictrica 230V. is iar 1 base :ontactos,
puedc :lectricamentc oportar indispcnsablc coilcclar paralclo
bobina dcl rc16, tal la tigur 2-6. coino protecciOn frente i
coiitraeiectromotriz inductiva bobina eri inomento de
coniniitaciiin. uri cicrto nincro rclCs dcl niismo
~nicrocontrolador, piiede tititizar integrado tal coiilo LN2003,
2-7. Este rediizados I)arlingtori, quc aguaiitan tcnsin inaxii~ia
alimentar 500 mA, tainbiCn indispcnsablcs diodos w7 l--NDIODE
ULN2003 tipico ULN2003 reles. I I ULN2003 5.. 5 RBOIIMT 7 RBI UA2
RB2 RA3 RB3 -W4TTDCKI RB4 R55 RB6 13 8 g r q - Fipru Circuito
ttr'yico gobierno varios reI&s ULN2003 V (bombillas. Es un
diodo cn con la como muestra los picos de fuerza ica. producidos
por la carga de la el la dc Para controlar dc a partir sc provocar
lesiones un circuito especializado el U figura aje y revisarlo chip
dispone de siete circuitos inversores internamente con circuitos
las conexiones o una dc 50 V y pucdcn cargas de elctricas, sin
hasta incorpora los dc protcccion. dispositivos a ir de
transistores COMMON GNDCARGA Figura 2-7 Driver La figura 2-8
describe el esquema de conexin, donde el alimenta las bobinas de
siete o o> 17 O 6 10 11 12 IN7 OUT7 del RB7 GND COM. to a la
BOBINAS la de los contactos msde 5 2-8 de de con
- 13. - 16 MICROCOWROLAWR PIC1 hFR4 T)LSARROLLODE I'KUYCCTOS -'R
4-MA IRA-M)- 2.5.2 Control con rel miniatura en cpsula DIL de la
Para cargas de hasta 10 W es riiejor utilizar reles de lminas
encapsulndos en DIL, alta f que necesitan una menor inta~sidridde
activacibn, aunquc sus contactos no perniitzii dar 11 activar
cargas grandes. La fipra 2-9 muestra un ejemplo de apjicacitin
donde s61o es necesario un tratisistur para gobernar et reli.
Normalmentt estos rels llcvan incorporados dentro de la cipsula el
diodo de proteccin, como se ~iuedeapreciar en la fototr figura,
para 10s modelos que tio lo llevan es necesarioconectarloen el
circuito. 5v ALlMENTAClON CARGA 'l - - - CARGA R1 u1 10k BC547
CARGA hiiAxiMA (500 mA. 1bW) Figui Fipru 2-9 Gobierno
dep~qrtriln~cargas u trai.L.rd~un rd&de lminas en cu~)suluDIL
har i 2.5.3 Control mediante fototriac ~UZ.1i la te En el circuito
de I:i figura 2-10 los contactos del rel son siistitiiidos por un
prcti fciiotriac,cuyo funcionamientoes similar al dc un iiltemiptor
controlado por luz. el tri es ne El necesario aislamiento entre cl
microcontrolador y la carga de 230V se hace cona; mediante wi
opt~~opladorMOC3041, qiic es iiii circuito integ~dc)que incluye iin
LED que controla al fototriac. Este dispositivo esti rspccialmente
diseado para usarse coino interface tic sistemas 1gic0s con equipos
que tienen que alimentarse coi1 los 230 V de la apag: red
clectiiila. Sus caractensticas mas significativas son: conil
Incorpora un pequeo y eConirriicoencapsulado DIP 6. corrii Su
tensibn de aislamiento de 7500 V garantiza un perfecto aislamiento
entre la red elctrica y el microcontrolador. Es capaz de
proporcionar hasta 1O0 niA, que le permitira alimentar garar
directamente pequeilas cargas de hasta 20 W. Su fototriac interno
permite el control de la casi totalidad de los grandes tiiacs, lo
que no seria posible si se iitilizara un fototransistor ordinario.
de la cjrcu Cuenta con un detector de paso por cero inlenlo, lo que
permite economizar un nmero iio despreciable de componentes
externos. de rt circu El cc
- 14. ~cia Para cstas triar: un rna forma cc refigere
adecuadamente. la llora ;mdo sefialas qzie rnetiilica al temiinal
T2. dcbe aislar cuidado(;aincntc triac de! rncdiante mica
separadordc plishco I r a! ;u rolar '- sefial normalmente utiliza
zurnbsidor piezoelctrico miniatura comprendidas entrc y 16 consumo
FO mA, por 10 ser directamente salida microcontrolador,tal figiim
SUM&ADOR EMITE SONIDO CON SALIDA BAlO entrc olnac ei EMITE 822
Conexihnde irn aimbador ininiafirt-a microconfroJador mnima
conseguir potencias, el debe ir montado sobre buen radiador de es
dc calor, de que el semiconductor A de poner el en el radiador hay
que la parte del componente suele conectarse . Por tanto. por lo
que se el radiador una lamina de y un para el tornillo. ic, donde
la de un vez, esta cargas 2.6 ZUMBADOR En muchos proyectoses
necesario indicar mediante tina audible la ocurrencia de un evento.
Para ello se un corno cl de la figura2-12. Un zumbador miniatura
funciona con tensiones 3 V y su no supera los que puede alimentado
por la de un comose indica cn la 2-13. A NIVEL 137 (8 A) 'uctivas
ZUMBADOR SONIDO CON SALIDA A NIVEL ALTO tc en para Fisura2-13
aun
- 15. fICROCONTROLADOR PIC16F84. ~ R A - M microcontr: v ci mism
-1 GrabadorE> (TEPO-SE compatible Fjxlrra Coyf;guraciinpar[/p b
o r micrmotiri-orudorps medios redz4cilr'os grabador equipo dondc
procede p h a r rnicrocantrolador la%instnicciones prapma control.
zkalo quc integrado grabas, cual orientarse uadarnente de capsula
ores :rciaEes e1 pueden en .c trbnica. Microchip o k c e gmbador
PICSTART ficit ihzada (fipra En las quc r miicho rncnu iiitcrcsai
g~ purtAtiles soh 22 DESARROLLO DE PROYECTOS En mltiples tienda de
por s OrdenadorPersonal Programador o JDM) 3-1 con 3.2 GRABADORES
El o programador es el fsico se a la memoria del con del de Tiene
un libre sobre el se inserta el circuito a el debe siguiendo la
seal la del chip. Hay multitud d en mercadoque se adquirir
cualquier tienda de clec grabad el PLUS, de muy utilizacin y
fiabilidadrespaldada porel fabricante 3-2). apenas muy que
estos
- 16. ltiternct c o n microcontroladores 10s populares JDM
iniiltiples versiones mejoradas, puede electriinica (figura 3-3). 1
ntarlo mismo, c1apkndjce el1 1 -. - - Iible JDM alsnas versions
disertdorJens Dyekjm, w . i d r n . h o m ~ a ~ c . d k / n e w ~ i
c .2- grabar :rol. zbc grabadores -ir(inica. CfRCUtTO Fig~rcr
Esqzt~rnade 110pl1~1dorcornpnfildeJBM bO.cicocor Eir figums se
describen bsicas pmprnador qite reqiiicrc cornponcntes. Pa es menor
qiic In dcl PICSTART PLUS. construcciiin intcrcsantc para
miiltiplcs Auiiqiic hay quc tina obsen~acicin p.abadores hrisicos
cor~ectamente ordcnnc pottfitjlcsscihre Ademb, iina cl En pueden
localizarse mltiples grabadores de bajo para PIC. Uno de ms es el
denominado y sus tal como el TEJO-SE que se adquirir en cualquier
tienda de por un precio muy asequible Si por si cn F se
proporcionainformacin para amador JDM) El programador y de sus la
Wcb e la Tiene un orientarse fe ES EXTERNA AL 3-4 las 3-4 y 3-5 dos
versiones de este apenas Evidentemente fiabilidad de este
programador mucho pero su facilidad de lo hace mriy aplicaciones.
hacer v es que estos tan no funcionan en algunos todo. conexin
incorrecta puede daar ordenador.
- 17. 1 MICROCONTROLAWRPICI6W.DF5AR PROYECTOS m~ 4 - W A r' M-h~
l - D1 TU l W i 4 n7 funcionamiel ufili7gr cstc jq)mg.si:~ 1x5
iiltima I L5y-y- E ayudar todc ~K dc DsBm programaC. -- GR Fimrvn t
C Avriromri lio i r n ni.nhn/Lr rnnind;hlo IT) fiAhr;r;rn c;i?
n1;montn~Mnoviornrr1 . f i E . I L. -, -, YYYL,CI.*" M b l l r l h.
L.I.C.C.", L"I.I IUY.I,I&, " Y l l . Y U i l . U , l .l. R~tno
pulsando la tecla F9, tambitn al pulsar S el icono
correspondientede la barra de herramientas(flecha azul). Las duce
Animate (o teclas ctrMF9). Modo de ejecucihn animada. Ejecuta el
programa de forma continua pero actualizando todas las ventanas
cada vez que se ejecuta una instruccin. Es m& Eenro que el modo
"Run" pero permite ver como van cambiando los registros. Tal vez
sea d modo de ejecucin ms util y rccomendablc.Se entn en este modo
seleccionandoDshir~~er> Aninia tambin al pulsar sobre el icono
correspondiente de la barra de herramic (doble flechaazul). * Hah
Paro. Para la ejeciicibn del programa y actirajixa todas las
ventanas. Se consigue seleccionando D~hti~gger> Run o pulsando
la tecla E5.Tambidn se entra en cstc modo al activar el icono
correspondiente de la bam herramientas (dos barras verticales
azules). Sfep Inro. Ejecuci6n paso a paso. Eiccuta una soJa
instnicciCindel progama cada vez actiializando los valores dc las
ventanas. Es la forma mis lcnta de simuIaciiin pero se compnieba
fci1mente como van evolucionando todos los registros y memorias,
siendo muy facil dstectar los posibles errores. En este modo se
entra seleccionando Debugger > Srep Info o piilsando la tecla
F7. Tnmbjzi pulsando sobre el icono correspondiente de la barra de
herramientas. * Resef. Equivale a un reset por activacin del pin
MCLR. En este modo sc entra selcccionarido Dehiigger > Re-re!o
pulsando la tecla F6. Tambin si se pulsa sobre el icwo
correspondientede la barra de herramientas. A-MA Pan1 aemho tic
Seleccionn donde Iia i
- 25. i t~t... icuentre, fine ( mblador: :to. I I : continuacin
PORTB:]Ni?LED se i:n Iine LED (Dflnen :D~P lnes (genmlmentc ~ D F F
-DFF id bs D P( tl O, i1 Rznm sc conccia 3 :nm.;o: LER ACCCW 1.
Confrgum csla lnea i1 : L hcccw : :Encicndi #DEFINE ANSI simbolos
mCtodo disponiblesDara mr 15. este valor ARIO cuwrior numero
binario natural formato hculargo ion opcracianes progamas
microcontrolador merece !; eiemplo expresado binario natm1 I.. 01 1
1 11 BCD separas Fas qudando: 0010 figura txplica cl:diagmma
resolver .4. coni~crsihn. irnplernenta. descrito continuaci9n
,epttede Iri figura 9-6.s ***si nienzo RAM 4 .,-1 h e , s valores
de --m - A :dcm ; u m m hinario 8 bitscs curivcnido El erultadri
gl~qrrl em~irinsilamadasCcntcna~. L'nirladcs Admis tiiial 1 c bajo
repsmi W y dcccnas cn cl nlbhlc Insdidas calida visuaii7arn
!asdmenas la* L a e n m p unidade LEDs cane sicioncs sestarti
ctados ; : p : pr :ejem ocediniientr pln quc trai; 2 1 " A. l*
,-,s... la figura9-4 que . . - Estadir que e una Dondle quiera
Ejemplo A se conecta cstn ... bsf BLOCK marcada entre las bc icof
Ranw 1. : El ; al Banco ; como salida. Banco O. el diodo ; Esta
directiva emula del C standard. Los definidos con este no estn ser
usados el MPLAB. anterior ejemplo). Si no 9.9 CONVERS NATURAL A BCD
al: de la La conversin de un expresado en a es unasi a lo del de
variables, de las ms utilizadasen los con y que ser analizada en
detalle. Por el valor 124 en seria 00, para expresarlo en hay que
centenas, decenas y unidades 0001 0100. La 9-5 de flujo para esta
definida Un programa ejemplo que lo seria el a y comprobar sobre el
circuitodeque lo a datos. .Un n nihhl de 3 RCD. se Docenas y al del
las alto. En o de se y las en el al El m niuni valorque El
utilizado
- 26. MICROCO~OLAWRPIC16F84.DESARROLLODE PROYECTOS OWMA {Decenas)
movlw subwf btfi~; Foto NO, IH NO, m! NO,mi NO. resi NO,mi NO, m
NO.mca lo NO. reSra 10 NO, Festa 10 NO,resr fn NO. mt Incremcn NO.
hcrt.... . S). cenas). NO. lncmcnta (Uc NO. Incremonta (ae
NO.Incremnta (De NQ.Incrementa(De cenas). cenas). cmia~). cenas).
NO. Incrt NO. Incrt NO. lncrt hln lnm. :menta (Dc menta(De :mcn ta
(De ..-..M+- Ir%* cmiaii). cenas). cenas). r * n n r l
,*v.iii~ibiiibiira(r,c Si. @ecenari)=O, y al incrementa (Cenfe
NO.Inemnenta (De bCil02,J. demb w ) cenas)NO,resta 10 s,se te
'Numero". r- 1 l UDE
- 27. RAO ABOff N f R41 RB1 RA2 RB2 RA3 R53 R M O C K I RR4 R 8 5
RB6 :Lns salidaise ohtii : RR5 (SI;'i, m4(53: 'E DATOS; ZONA D
Fignrn 9-6 Circttitoparo compmharel programa RCD_Ol.mm novlw P
iioluri 3 1cf S EI salto indexado es una tknica que pemiite
resolver problemas que puedan ser representado mediante tina tabla
de verdad, En el PICI6F84 se basa en la utilizacin de la
instniccihn addyf PCI,,F, de este modo, la direccihn del saIto se
consigue sumando a[ contador de programa (PCL) un valor de
desplazamiento almacenado en el regiswo de trabajo W. aovf- P ndlw
h ddwf P oto C oto C' oto C En el salto indexado, ladireccin del
saltose co~siguesumandoa un registrobase (el PCL) un valor de
desplazamientoalrnrlcenadoen un registro ndice que es el registro
de trabajo W.A cste valorde dcsplazamientose le denomina
tambinqfl~et.Al ejecutar la instmccihn crdw PCL,F el registro base
TCL) debe estar cargado wn la p r i ~ m direccion de Fa tabla,
apuntadode esta manera al origende bta. >!o C nnO ovlw h' ..-En
el siguiente ejempto se asimila f5cilmwite la utilidad de salto
indexado hardware utilizado s d el esquemade la figura 9-7. IlCl i
4 .mt ovlw h'l ,tn h. id ovlw h'l itn A' 1717 :tmp11 ;Por q a tabla
dc I: abla seri d i verdad mi e 3 enmb iancja dc te s tal como I
:matar un: jtmpto,la I
- 28. C ' M ~ U L O SALTOS 135 1 1 1 I;(cd*I-6nl). 1 1 1 1
i;(-hz). r i 1 1 1 I;@orSi@&tf). 1 1 O O;wgumidn4). 1 1 1 O i 1
l;(CdgumcibnS)- 1 [ O 1 1 l;(Conftguracibn). 1 1 1 1 i 1 i 1 1
l;(Wguracin7). ;imenbndw mectai.mi llneasdelpuerto RA2 M1 (B) RAU
;Lassalidasse~enenelpuertnB: ;RBS(S5),lU34 (M),M 3 (S3). (521, M1
(Sl) RBO ;ZONADEDATOS
***SH***l*%'****W'****SI************5*1II*L*I***************h****U*****
CONFIG CP-OFF & -ri'DT-QFF &-PWRTEEON & XT-OSC EST
P=16F84A INCLDE 4'16F84A.lNG
;ZONADEC~D~GOS**'*******************Q"'*L******~****#********S:*****~***++***********
pmgrama conireriza h direaibn0. bsf STATWSH'O d Banco clrf TMSB :
heas hiato se confipmu saiida. movlw blOOO1 1 1' : lneasdet se
eukada. mowf TRISA bcf STATUS,RPO ; al s i utilizxiiin la movf
PORTA,W ; el valor lasvariables e n e . andlw b'00000t1i' ; quedacm
aec bits enaada. ;igue configuracibn&macla. de C o n f 1 ~ 0 i
i O gota Configuracion1 Co~guracion2 Corhgumcicin3 registro goto
Conguraciod ;fr. goto ConfiguracionS I goto Cdguraciaa goto
Configmcion7 rnovlw b'0000101Ot ;Confipuracibn indexado. goto
Activasalida configuracibn '.CL*******I* movlw b'OO1OOO1li :Cun-ih
movb b'0000111~' C 0 n ~ i S o gota ActvaSaW C d g u m o n 4 9: o o
a o o o o o o o o o o o 1 O O ] O O O O O O 1 O 0 1 C, B. A se a
las A: (C), y {A). RB2 y (SO). ORG O ; El en ; Acceso l . Las del B
como 11 Las5 PuertoA configurancomo Acceso BancoO. que puedan ser
Leo de de de Se los de sumando al ;Saltaa la en el registro goto
goto un registro base goto que es el Al ejecutar la con la primera
; O. Ito El l. 2, ; 3.
- 29. 136 MICROCONTROLADOR PrC1bFM. DESARROLLODE PRUYECTOS FRA-MA
mvIw 8 0 C ~ i d mvlw C o n f ~ i i o t i 6 mwh soto Cwfigmcion7
mvlw ActivaSalida mYwf ;Vidiza porel pueFto desalida En las
soluciones de los ejercicios facilitadas en el CD-ROM que acompaa a
este libro, se describe otra forma de implemmitacibn ms eficaz
mediante el p r o v a indexado-O1B.acai. Figura 9-7 Cit.~liliioparu
comprnhurios programasde tablade ivrdac3 9.11SALTO INDEXADO
DESCONTROLADO Como ya se explicb en el tema 4, los 13
bitscontenidosen el coniador de programa y que direccionan la
memoria de cdigo estan guardados en dos registros especficos
(figura9-8): El reg un reg Los bi puede PCLA El PCLl bits son
transfe tiznen por dcsti Cuando ! instnicciiin .ad es as, cl salto
e que el registro prueba de un sa ; P r o w a para cor ;Se debe
comproba 9 ; ZONA DE DATO INCLUO LIST ;ZONA DE C ~ D I ORG Inicio
goto c h ORG Principal niovlw addwf
- 30. iR A - V A CAP~TULO SUBRL'ITNAS DE RETARDO 173 ;ta
iiistniccion cnstal R..ContA can R-ContB con "K" contador R-ConlA
"K* Pequerio tiempo urrido Decrementa R-CoiitA :S ; SUBRUTINA
:0nseguir el retardo R-ContB ruccin :I R-Corrr.4, ijerite 12-4(A)
SUBRUTINA Esfruchci-ade Iw sub~4tjna~d(9r~~tnrdo d deducir el
~iiicialmente -ContA sigiiientc viene ps:: Ziempo=5+4K K =;miquina.
stato. la n a d a Ittd m d a mcimde carga, caiefactm.
bemperaturamedida nuiyor M a h , ; pulsar apagala carga
funcionarF6Locomo t e r r n h m . : c ~ D ORG gota ORG guiu rrddwf
Mewijchibliciwic DT PROYECTOS SALIDA MODO por REO V- CARGA Figura
de un , ; un y el de ; que transmite la via seriea deun segnun
protocolo ; ajustede a que conmuta el termostato logra dos "MODO"e
que se a del y cuyo la lnea B. Se manejade la siguiente ; En estado
dereposo funciona pantalla La del apagada Pulsa"MODO" y se ajusta
deseada "INCREMENTAR'' 'MODO". activa Si temperatura es menorque la
que puedeserun Si la es que la apaga lacarga. - Si se vuelvea
"MODO", y pesa a ZONA DE Mensajes , "ES.
- 35. - J3 i5W'N ,SI (:AP~K~LO l . r N ~L~NE.A 455 ;As se ms mdos
funcionamiento ; flag: A) 'TemiostatotoOFF",donde termbniew
temiostato. reconwepore1 FTemostato-OFF. ;B) Mado
"TennosMo-Ajuste", temperatura deseada termostato.
flagF-Termostato-Ajuste. "Tmmtatc-ON", funciona temrrnetroniirrnal
tmrnosraw.Se reconoce F-Temiostato-ON. progama que esti activdo uno
solo flags antenores. : sistema la e1 priixma CONFIG -0-OFF &
-WDT-OFF &_PWRTE-ON -_XT-OSC LIST P=16F84A MCLUDE
XPIGF84A.iNC> 10s incrementoscada ; 10s flags establmer m&s
la ;EEPROM Aqui se : #DEFIN SalidaTemostato PORTl3,I :Cargd
controlada #DEFINE Zumbador PORTJ3,2 Aqui conecta MvdoPulsador
PORTB,7 pulsadms conectan #DEFINE Incmenta~pulsador PORTB,6 ; del
puwo B. F-Termostato-ON FlapMdos.2 ; FIagsutilimdoscn
@DEFINEF-Temio~tato~Aji~te FlagsMdos,1 ;temperahira temiostato.
#DEFINE: F-Termostato-OFF FlagsModos,O TMROCargaSOms -d'195' cargas
eQU df4O' ;P m conseguirintemipcin 50m. ;k e r i d a x 50ms =
2000ms. RA-MA 28: BUS DEA-MA pues, enelcircuito distinguen de que
se identifican mediantetres ; Modo funciona como normal sin Se flag
dondese ajustala cuando funcione coma Se reconoceporel ; C) Modo
por el flag donde como con ;El consigue de los Alapagar el debe
conservar el valor de temperatura deseadaen termostato ;para la
vezque se encienda. & ;Guarda 50 ms. Guarda para los ; de
trabaja ; Correspondea direccin O da la zona de datos. va a guardar
e1 la temperaturadeseada.En principio24 "C.CARGA E por el
termostato. ; se el zumbador. #DEFINE ;Los se aestos pines #DEFINE
elajustede la del EQU cada 2s = 40
- 36. 7 456 MCKOCONTROLADUR PIC16F84.DESARROI-LO % K ~ M A CR4.W
MensajeTemmtato-ON c h DT ",OxOB call Mt~l~ajeTermnstato~Ajuste
illoy "Tenqm. QiiBO mv M e n s ~ w m t i m mov DT 'T",OxOO
;EjlpmuaLCD:'mC " ; seccidn"P ;Nogepitede~ Prmcipal - Pregara
mbdulo %oto monsaje 1 i - "DSI - Inicializa - tnterrupciones.
intemipciones. Dit7grntna flujo temostafodigifnl d U = D U = D ~ i
z a i d STA'EUSW mwhu b W 1 1 1 ' ;Aeacalerde255~d~Oyhab~3ita m 0 4
r n N - R E G ; ~ k a d c ~ I ~ d e l a i f a t o B bsf lddomwm
;s%cdpmacomaataada bsf L- bcf W T c m # W S e ~ c o m o ~ . bcf
zuulhbx Bef STAWSJUW caii L C D C D ~ l ; S e ~ i t & a l ~ i
& h ~ ~ mwlw Mensajehrblicie d i LCD-Mensaje Fipru 2 C&
DS1azo-~nicia~iza ;~omieripla~0nwnde1term6metroyporie cal1
ModDTemomt~~OFF &te nada de f u n e i d m . ;Su&
TMRDLarga50ms TMRO comp1emento mwwf m 0 9 ;mactaqiaeha d w Carga2s
e l r e g i s t r o n r y o ~ t ~ w n t a d l o s 2 s . movwf
RegistroSOms servicio^ DE PROYECTOS "Termostato: DT deseada", La
LCD. - Configura entradas y salidas - Visualiza publicitario
820-Inicializa", comienza inicial de funcionamiento. todos los
registros. Recupera la ltima temperatura deseada del termostato. -
Habilita las Espera las Figura 28-9 de Inicio; ; "Ser movlw ;Carga
el en a 2. ; Y principal del
- 37. ' RA-hL4 - CAPITL~LU18: ~ N ALjNEA c h h pica611QxOO m a m
i ~EEPROM c d l EEPRW-LeeDsto ;donde k t e m p e r a t u r a e d e
h61m-m m o d T- v e z q w 9 e ~ . movh b'lOIU1W Activa inmmp5bn
del-0 (m), m b i o movwf DTTCUN ;linwdd Puerto B (R3B)y la (GIE) ;
L a 6 a x i & ~ e s m a n w ~ t o . w o ~ ~ ~ . No se modo c o
~ w ~ oporque inimumi6n"deep7'ddene Timer mpal Priocipl
"Serviciolnterrupcion" Q I I"Termomsim" terrnbmetro termoslalo. I I
Han 1 1 "CarnbiarModo": mDdo 1 L-.-.'(NO 1E& puisaso
"INCREMENTAWJ "IncrementarTempOeseada": ternpsralura Limpia flags
JRetorno de la intempcion-Figura 28-10 Diagramu d'rqfliqo subrutina
de intewlkpciones BUS DE 457 ,Lee de de datos se guarda ; ; por de
general interrumpidolas pulsadores? cambia el de funcionamiento. de
reconocimiento de las interrupciones. ; puede poneren debajo la el
O. gato pasado 50 ms? Lee y actualiza el Ajusta la deseada. de la
atencin a
- 38. 458 MICROCONTROLAWR PlC16F84.DES4RROLLO PROYE C M S 2 R4-w
t R A - ~ , 4 btfsc call btfss pob btfcs al btfss cal1
Fininterrupcion bcf bcf retfie INTCON,TUF interrupcionproducida
Timer Tennometro ; el termmetm actualiza NCON,RB[F intemipcion RBI
Fin[nternipcion MdoPulsador &st "AJUSTE"? CambiarMdo
IncrementarPulsador;Pulsado IncrcmcntarTempDcseada ; MTCON,RBF
remnocimiento. iNTCON,TOIF "DS1820-Inicializa": conversion -
"ModoTermostato-ON". carga. - SI"ModoTemostato-ON", coiisecuencia I
I I 1 " ~ i s u a ~ i z a ~el forniato I I Return 3Figura 11 flujo
la subrutina Te~mometro I ; subrutina ; peticiba temporizaciini
;TarnbiCn so& Termomebu movlw ' m 0 4 ' decfsz goto 1 4 mowf
cau 1 call cal - d i 1 m Visualiza temp 'Temper. c DE ;Si es una
por el O lee y termostato. ;Si esuna lee los pulsadores. Esta leey
debido a la ; presionadoel.pulsadorde ; de2 ;S. Ajusta la
temperaturadeseadaen el termostato. "INCREMENTAR"? acta Si, pasa a
incrementar la temperaturadeseada. ; Limpia los flngs de , movlw
Prepara para que se produzca la prxima interrupcin dentro de 50 ms
Coniienza la para la siguiente "Termostato" NO se desea ajustar
apaga la compara la temperatura medida con la deseada y actua en
activandoo apagando la carga eii 28- Diagrama de de la 1 1
- 39. Q RA-MA c . ~ P ~ W L O L ~ A - S&mth "T-om-"
--------.--- ! * i ; subnitina lee visualiza tennbmeko I! :
peticihde Tmer c& m.Parawnseguir m ;temporizacibn S, repetir S0
(40~5(hrrY=7000ms=2s). Tarnbih actiia dei termostatoposicimbndofa
Termmietro movlw movwf decfsz movliv monvt' l cau cal1 cal1 return
;Decrcinenta cmt~dor. : lian segundos, canto Repow este
temperablra. ; conversin 1ectm. Actha sobre termostab. esn subniha
caribe ri esta dosinstniccionrs ahm ;tarnbien "Visualiza" 0 en
aiustar " ~ e m ~ e r . 25OC " I temperalura y 25OC" 1 24.5% "
Figura de$ujo subrutina I~'isimliza 28: BUS DE UNA 459 Esta y el
cada 2 segundosaproximadamente.Se ejecuta debidoa la interrupcindei
O, 50 una de 2 habr que 40 veces el lazo de ms ; sobre la salida
adecuadamente. , goto cal formato: ;Recarga el TMRO. el No pasado2
por sale : contador nuevamente. ;Lee la Comienza para lasiguiente .
el ;Como se continuacin ;seahorra y espacio en la pila. se desea en
formato: Visualiza la medida la deseada en formato: 'Termostato:
deseada" 28-12 Diagrama de la
- 40. ; V i s u a z a d t ~ e a ~ f ~ p o s i b l e s : ;A) kmos@
hacth-ado,m& "Temmkto-OFP. ejernpb: ' ~ , ~ P d "pmuaW) ''
24.5% " (Segundau). - ~ e n l a p r i m c r a ~ s e ~ z a u n m e m
j e p u b - l i c ~ a y e n I a $
SegUadsttneahoemparaturaaedrBa~tual. B) Ajuste&1 termostato,
Tmmebfa-A&e". PM e j 4 o : - * 'Trroper.~"~~~ " 25%
"(k@nalinea). D o n d e m l a s c ~ ~ v i d i z a l a ~ a t t r a q
i r e ~ d c s e a a ~ . C) &va&, ' T m m - O W , ejenrpQo:
Tcmroststo: m"wntmun#) 'I 23.5% "f-dalmea). ~ e n l a p r i m e m l
i n e a s e ~ l a ~ ~ q i i e s e d f s a i i ;Enmdax (T-e&)
temprr#ra Imi suhuthabmmmtar. t I i Visuai~Term~atato~Ajuste cdl
LCDLineal ; sihia di ha ! mvk MensajeTemstato-Ajuste
Visualizamen6s.e hm. call LCD-Mensaje movlw -6 Se coloca
centtarvisudhcih mia cal1 LCD-PosicionLinea2 segunda Uaen. VWT- .
.. .-, - ; . 1. M.-. T w W . , -. . . . - . . - , . i
"VisdizaTermom ' 9 laprimeraha ;temperaturam&b 9 i ;Enldas: - *
I I 7 - 1 ;VidizaTemonm caH call VisuaiizeT~tur movlw d b t f ~ g m
' T e m m - w movhv ' cal1 Con el Pm ; modo ; Conel modo Por t
ajustada en , Se al principio la primera ; en laprimera ; para ; .
. . . , . . ; ;En movlw 1
- 41. s i h principio h ha.;Se al de primera
- 42. 1 162 MJCRC~COhTROL~RPtC16FM. PRCiYEC'TOS O R4-MA sobre h
@S1820_S&io), registrocori aig1-10 t- b tmpmm mitira todossw
bits son " ", - funcionamiento: 9 apgada, temperatura medida k i e
n d e deseada salida I t m m dcseada salida ce apagar. -
temperahiras deswidason qu& est m - Mtemperaturanegativas
salida aictivar Temostam FTemostato~ON ; t m o ~ t o est goto
Apagacarga Msc 182OLTemperaturaSipo.7 Con bmperatum activar
EnciendeCarga ; btfvv SalidaTmvstato ; estado h gotd
SalidaEstabaApagada en cnnsecuencia. idaEstaMctivada coinprcibar
rnovf D 1820-Temperatura. TeniperdrurdDeseadn,W
:(W)=(TemperaturtiDcslada)-(DSI820-Tanpe~tura). b i k STATUS,C
;~(Teniperahml3escada)QDS1820_Ternperanira)? goto FinTmostato : por
cal1 conmuta la ApagrtCarga SalidaTcrtiiostato Apaga goto
FinTwmostato SalidaEutabaApagada Pam qiie rnovf
TmperatmDesctul& DS1820-TempcraturqW
w)=(DS182O-Teinpera~)1Tempm~eseariii). btfsc STATUS,C ;@S
182~Teinpcraturar(TemperaturaDeseada)? FinTermostato ; apagada
Enciendecarga cal1 ; c& activa SalidaTcmostato FinTemostato
Retum Subm- "Camb;arM&" v "M&Tm ustatri O F P- ;Subrutina a
la intcmipcionpducida canibia m& ; vcz pulsa pasa
"Tennostato_Ajusie","Temio~tato~ON, ;"Termostatc-OFF" vuelta ;
ajusic termostato ; "1NCREMENTARUc o n d a s pines del aparecm s61o
tcrmbmetroy desactivado: "Termoritato-0Wt ;Para comprender
fwicionamie;ito subnitina, hay registroFlagsModos flap
permitendiferem.iar las funcharniento: :As Euncionarnie ;- (FlagsMd
(F!apMod ; (Flags&ld ; dan ; - Qu (fl ; - *P DESARROLLO DE
decisiones salida. - el de la medida. Si es cero es y 1 es negativa
;Salida Su - Estando si la por debajo de la temperatura la se
activar. - Estandoencendida,si la medida supera la la Si las
medidasy igualesse enestado anterior,tantosi encendidawmo si
apagada. la sedebe siempre. btfss Si el no activadosaltaa ;apagar
la carga. DS ; negativaspasaa goto lacarga. Comprueba el actual de
salida para ;actuar Sal ;Pavaa si tiene que apagarla carga. S W
subwf Si, tanto, lo deja encendido y sale. Pitido ;Pitido cada vez
que carga. bcf ; la saliday sale. ; a comprobar si tiene encender
la carga W subwf : gota Si,ladeja y sale. Pitido Pitido vez que la
carga. bsf dc atencin pore1pulsador"MODO" que el. de
funcionamiento.Cada que porlos modos y repetir. El de la
temperaturadeseadaen el se logramediante dos pulsadores:"MODO" e a
Puerto B. ;Al principio el el termostato estar modo ; el de esta
que saberqueel ;contiene 3 que cadaunode modosde pues, el ; ;- -
Pueden 'Ti
- 43. B RA-MA c . ~ P ~ U L ~28 BCrS LMEA I "PitidoCorto" -
"ModoTerrnostato-OFF" "ModoTermostato-Ajuste". - es&
"MadoTermostato~Ajucte" "ModoTermostato-ON". "ModoTemostato-OFF".
> ll "LCD-Borra": 11 1 l Return c3 "TermostatqOFF", como
tmnrnetra normal termostato. por F-Temosiato-OFF, que
~gisftnFlagsMhs. B) " T ~ r m o s t a t ~ A j u ~ tdondesc ajusta
ternperahiradewda F-Tmostam-Ajuste, que registro FlagsMdou. C)
"TemostatqON,&nd< tiuiciona termmetro a d e d , Se m o n m
rl tliie F-Termostato-ON, quc registro FlagsModos. j del
regism(Flas~Md
- 44. Jh4 MICROCONTROLACKIRPIC16F84. DESAIZROLLO ejemplo, si
esata m& "Teimasq,OFF",(Flag~Udm)=b'mI',pmud (FiagsModw)=b'~1O'
idedifica m& "Temocta~i~psUste". d haf&-2(hns btfsc M&-
; es mrebote, fuera goto FinCambiarMh cal1 P i t i M o m ; oye btfs
PPT~ostatotoON ;DeectasidmeliUtinrom&. goio Modosiguiente pasa
siguide. Modo'Tert-r~ostato~OFF dl Pitido conmm bcf
SaiiditTemost~io ; rnovlw b'0000a001'
:ActuaIizae1registroFlagsModospsmdo movwf F l a g s M h ;
"Temiostato-OFF". gow Borrapantaita ; "1" izquierda ;FlagsModosp m
secuenciatmente ; urio Ios fiutcionamienio. cail LCD--Borra ;
pantaik anteror. FinCambiarModo cdl Visualiza btfss ModoPuisador
etipera & FinCambiarModo INCI END pr-al d o r desaparaca
dhentacih Este n TmperamaMinima .?O 28-6. TeinperaWaxima EQU i
trabaj; I n c r e m e n ~ T a o p ~ 4 Retardo2hs ; estabilim
nj~elcs btfsc incremen&Mr; si reboted e goto Finlncrementar
b& FTem~tatD~Ajuste est6 mDdo"Termostib-Ajuste"sale goto
FinIncrementar c d PitidoCofto incf Temperammhmdaf I m t a htempmba
movlw Temperatumhhh ;Ha h maxima ajuste?. subwf T a r p m ~ e a d a
, W ;IW) ( T e m p m W a d a ) -Tmpmatar&kim b& STATUS,C
(T-eadaPTemperaW-7 goto Visual~cremenb: pasa rvimdhrIo. movlw
TempemmMinima ;S,eatmcesinicializaelregism. movwf T~~ DEPROYECTOS
antes e5 a que al Si sale Cadavez que pulsase un pitido. ;Si no.
almodo Pitido ; cada vezque lacarga. Apaga la carga. al modo
inicial Desplazaun a la del registro ajustar cada de modosde Borra
la ; Ahora a que deje pulsar. goto ; su en caso que la EQW que res
.36 pulsadores, estar necesidad de Esperaa quese de tensin. es un
fuera. :Si no en ; el valor de deseada. llegado a temperatura de =
; No,
45. IPJ M-MA cRA-VA CM~TIJLO28: RliS L ~ F A Visual-ito caU
Vkualim :Visualiza mienmiespm que dqe cnU Retad-200ms puisar. btfss
Inmmntddaador; Mima pnmnezc~pulsado, g* IncremenierTempea$8 incmmta
el dlgiio. cfrw ;Saiva tl valor tempemmra mvwf EEADR ; 0% EEPROM
daros. consewa mvf Ternperatm&w&,W ;aimqiie la dimentacibn.
call EEPROM-Em'beDm Fidnmmentar rem Pitidohgo c d Retardo_SOOms bsf
Zumbador call Retardo-200ms PitidoCorto bJf caU ReW020ms renim
LNCLUDE INCLVDE JNCLUaE SC7D_4BlT2INC> INCLCTDE INCLDE 46.
CAPITULO 29 CONTJNUA Et cotiicirniento motores comerits C.C. (i)
DC) dt: fundamcntnl par:i cualquier aficionadri ut: rralizar
~~iicruc(intr~c~ladorcs, qiie Ic dedicamos capiiulo. problema
formri alimentar ya qiit mrixitna quc linea PICI 6FX4A cst 35 mA
rtii-xinio. cs pobrc motor ciirectarnente. Por se de trarisistorcs
ir coiitigurados difei-eiites e1 79-1). VCC- 5 0 I &- Figura 1
Puente H trc~lisistore.~ MOTORES DE CORRIENTE dc los sistemas
control de dc continua pequea potcncin es y quiera proyectos con
por lo este El primer corriente limitada a un DC pueden (figura pue
como en a c de onsiderar es la proporcionar cualquier Esta
corriente ello, hace necesar disposiciones,sie de el motor. de
salida de u demasiado io la utilizacin ndo la ms utilizada n para
alimentar Puen la que te en H 29- en con 47. 46% MICROCONTROLAWR
PICi6F84. RROLLC) ~ R A - M A el sentido giro motor corriente
terminales, en gro del cambiar -- 29-1 Fitncionarnicnrucon 11 l2 a
ani~vlbajo vcc- 5v L293R enc Figura 29-3 Fu~cionnmienfo 11
~tiilelallo r cr nivel b4do conirolar gro, comiiutacin electrnica
con nottibre 1. DESA DE PROYECTOS 29.1 PUENTE EN H Es conocido que
de de un de continuadependede la polaridad que se aplica a sus
consecuencia para cambiar el es necesario intercambiar los
terminales motor o bien la polaridad de la alimentacin. Figura a
nivel alto e y el con a 12 La forma ms sencilla de un motor de
corriente continua de baja potencia, en velocidad y sentido de es
mediante la de unos circuitos realizados bsicamente transistoresque
reciben el de Puente en H, como se describeen la figura29- 48. :nde
I iad Ja ica 72 RA-M< CAP~TUXI CORRENTE CWNTITMUA fomdo
trabajati conmutacioit coniportan por llega 11 12. 11 alto entrada
los 43 42 Q1 Q4 ser contrario Eri motor agujas ). satiiran I Q4,
micntm entran 4 2 43. motor conkario problenia L? problemas
utilizar LM193 L293B L293B im cap:= proporcionar carial. es scales
conipatibles las salidas L293B de 'i OUTPUTI GND OUTPUT2 vs Fipm
Pufillujcldel L2938 79: MOTORES DE 469 Este circuito est por cuatro
transistoresque en y se como interruptorescontrolados la seal que
les a las entradas e de la Su funcionamientoes el siguiente: giro
es Cuando se activa la entrada a nivel y la 12 a nivel bajode la
transistores y (NPN y PNP) entran en saturacin simultneamente,
mientras que y estn en corte por de signo (PNP y NPN
respectivamente). estas condiciones el gira en un sentido, por
ejemplo en el contrario a las del reloj (figura29-2 Cuando se
invierten las seales de entrada, es decir 11 a nivel bajo e 12 a
nivel alto, los transistores que se son Q y que los que en estado
de corte son y Esto hace que el gire en sentido (figura29-3). El de
este tipo de circuitos es la cada dc tensin real que hay en los
transistores y que habr que compensarlacon tensin de
alimentacin.Para evitar estos se puede circuito integrado como el
B. 29.2 DRIVER El es driver de 4 canales de una corriente de salida
de hasta 1 A por Cada canal controlado por de entrada TTL y cada
pareja de canales dispone de una seal de habilitacin que desconecta
de los mismos.La figura 29-4 describe cada una de las patillas de
las que dispone el y el encapsulado 16 pines. CHIP ENABLE 1 INPUT
GND INPUT 2 de baja de unos29-4 Driver iente en H, 49.
MlCROCONTROLADORPIC IhF84. RA-ht4 Tensicin entmda Tensidn
alimentacibn que GfF (Vs) que alinientacibn indepcndjente 16gica
figu fiyum representa dt. L293B. seiial coritrol cotitinua que g
pai.qa canalcs di-i.zrs EN2 Ia salirlas OUTn asocian
corresporidicntt.~ INn. figura cl funcionainieritoparri drivers.
detien +VSS = "1" - bajo Z VS Figurrr 29-5 Biirgrma bloqirP.Sdel
L2938 tahlu funcionumiento k los ttiximos Fier Tabla 29-1 Rnngo.s
absolutos del driver L293B Tabi L793D, L293B que comente mixirna de
1 1 ~ 4 . iiidispi motores Veamos seguidameiite coticctar motorcs
contraelectromo este conmutcin. 1 . 470 DESARROLLO DE PROYECTOS O
de de habilitacin Dispone de una patilla para la de las cargas se
estn controlando 29.3 de manera dicha es dc la de control. La La
29-5 el diagrama bloques del La de EN1 activa o desactiva la de
formada por los 1 y 2. La seal controla pareja dc drivers 3 y 4.
Las se con las El mo La tabla de dicha detalla cada uno de los El
mo dciien H Nivel alto L Nivel " O = Alta impedancia de y de La
tabla 29-1 informa sobre valores admisibles. La Tabla Tambin se
fabrica el modelo cuya principal diferencia respecto del es
proporciona una 600 Es tal coi algunas formas de los de corriente
continua a driver. 50. 6: RA-M,+ CAP~TULO79. CORRIENTECONTTNUA
:c(>~~trol al ~ndientes ?ecto GIRO NICO figura mucstra
corrieiite en im Uriico lri Vinh V: m 1 marcha a1 3 niwl cntnda y
uii El nintor hI2 eri nivel etikada dc control qe deticnc un Fipra
Cunei mofvre.r por "1" Tiibla mucstra modo dc iuncionamicnru Tuhia
Modo de,func.ionumit!n~o(I(/I r.ir.c-zrto lu$gira
indisperisableconecta los diodos los tnotorcs ficnte 3
contraelectromotnz itiductiva MOTORES DE 471 29.3 EN UN SENTIDO La
29-6 el modo de funcionamiento de dos motores de continua que giran
sentido, suponiendo que = 5 EN2 El motor M sc pone en poner bajo la
de control A se detiene con nivel alto de entrada. :s. se pone
marcha al poner a alto la B y con nivel bajo de entrada. 29-6 ion
de dos DC. MI activo por "O"y M2 La 29-2 el del circuito. del
corriente 29-2 de 29-6 Es D1 y D2 en paralelo con devanadosde los
tal como muestra la figura, como proteccin los picos de fuerza
producidos por la carga de la bobina en el momento dc la
conmutacin. 51. ~ C R O C O ~ O L ~ t tPIC16F8-4. DE PROlTCTOS
ORA-MA GIRO SENTlDOS circuito pemiite C esti D alto, sentido. nivel
cambia de Figura 29-7 dr controlparu el doble uli motor C.C. diodos
cotiectar se figura 29-8. de diodos proteccin d de 1aJ;guro29-7 (
MotorDC-01 marcha giro! 29- 472 DESARROLLO 29.4 EN LOS DOS El de la
figura29-7 controlar el doble sentido de giro del motor: Cuando la
entrada a nivel bajo y la a nivel el motor gira en un Cambiando la
entrada C a nivel atto y la D a bajo se el sentido giro del motor
al contrario. Circuito giro de de Los de proteccin se pueden segun
muestra en la Figura 29-8 Conexin de circuito La Tabla 29-3 muestra
el modo de funcionamientodel circuito. Para .a del mo La posicin de
depende de la motor los en la figura 52. el rra ORA-M4 CAPT~ZO
CXIhTWUA 173 i . I ',S, Tobh29-3 de~firncionnmieprivdc.1cirruiio
d~Iu.fip4r'rr 29- CONEXIN C.C. PICl6F84 $ - LIfigwa 79-9 iiiueslra
conzxih tipica corriente rin microcontroladorPIC16F84A traves dnver
pin Vs alir~ientacihndel este Figuru PO/ motores c.c dnverL2933
P1CI 6FMA :lib 1 I progrania McltornC-Ol .asm, bivcr dcl motor.
linea RAO curilrula ' de1 RAO niotor se pone RAO "1" si: RA4
controla por Ia conexidti intercambian I serrin programa h i del
motor: or gira en un . sentido de 29-7 29: MOTORES DE CORRIENTE
Modo 7 29.5 DE MOTOR Y una de un motor de continua a a de un L293
B. La tensin aplicada al es la de motor, en ejemplose utiliza un
motorde 12 V. 29-9 Con de conel y el Para comprobar su
funcionamiento se puede cargar el que controla el La la puesta en
marcha motor, si es"O" el en marcha y si es detiene, La posicin del
interruptor conectado a el sentido de giro que supuesto , depende
de polaridad de del motor. si se los terminales del motor los giros
en sentido contrario. El organigrama de este se muestra en figura
29-10. 53. MICRCK'ONTROLADORPlC lhF4 .ARRULLO "MotorDC-0 1.asrnm
lineas RB4=1, RBI=l, RBO=D Fi_qum29-I O Orgunigrt-rniodel pruguma
MotorDC-0 1.mm ; & comente funcionmienio ;gim. RAeO. niarcha y
54. ,ou-VA CAP~WLO29: MOTORES 475 goto ActivaSSda movlw b'm0100iO'
Girti sentido. btfic Ent~~daFentido Cornpnieba el sentidoGe giro
movhv bfOOOI0001' ; satrido. Activ&lida movwf PORTB goto
Plimipal velocjdad un corriente tensi6n uti1i;tado la DC' potencia
aricho pulso WhI Widdi~Modulufion) 1. nivcl O% (Motor - - rnAxirna)
27-11 nutur PIIffid mcdia inotor constarite, la (duty cycM. As, cs
50?.1 5098, slo tensibn tthima suminjstrada de1 otro conllevarii
disminucion motor. regulacian iin utilizacion digital
carrictaisticas In entrada EN1 medio seial varie, qiie cstC linea
RB4 DE CORRIENTE CONTINUA ; en un ; deseado. Giraen el otro 29.6
CONTROL DE VELOCIDAD La de motor de continua depende del valor
medio de la aplicada en susextremos. El sistema ms para controlar
velocidad de un motor de pequea es mediante la modulacion por de P
(Pulse de una seal cuadrada TTL, como muestra la figura 29-1 Bajo
el control PWM. el motor gira a una velocidad determinada por la
media del de la seal cuadrada. parado) 100% (Velocidad Figura
Control velocidadde un c.c. mediante La tensin continua presentada
al se controla manteniendo la frecuencia y variando el tiempo que
seal permanece en alto, es decir. variando el ciclo de trabajo si
el ciclo de trabajo del se suministra al motor una tensin media del
con un ciclo de trabajo del 20% una quinta parte de la es a la
carga. Cambiar de un ciclo de trabajo 50% a del 20% una de la
velocidad del La PWM proporciona eficaz mtodo mediante la de una
simple seal de control. Si se utiliza una seal de estas para atacar
del montaje de la figura 29-9 se consigue que el valor de la de
alimentacin del motor de tal manera cuanto ms tiempo la a 55. 476
MICROCONTROLADOR PICIF84. PROYELTOS Q RA-MA U RA-M4 motor.
Ldgicamente grande 'MatorC-a2.asm" . * # * ~ * * * * * d llneas
entrada de anchura^ RB4=0. RBI=O, RBO=O (RA3:RAO)-r ID- (RA3 RAD)
+(Ciclos-OFF) ON: R84=1, R 8 i=l.W O = O ;ZONA I -C ps INC
(Ctclos-ON) - 1 +(CiclosON) Cicl Gua EM Maximenwr RB4=0, RBI=O,
RBO=O ; C OR( ps Id mov mw - 1 4 ckf W p a l mOY aKlh m b t h m'
Figura 12 pr-opnnia AhtorDC-02. arm srPbh DESARROLLO DE nivel alto
ms deprisa girar el si la duracin del impulso a nivel bajo es muy
el motor se parar. Configura de y salida Motor Parado: (Ciclos-ON)
Motor en DE Retardo de 100 LIS CBI Cici Motor en OFF: ZONA DE
inicio Retardode 100 (Ciclos-OFF) (Ciclo-FF) 29- Organigrama del
56. liso MotorDC-02.asm velocid-id de iin C.C. comeiitarios . * * +
V V * + * + * * C * 8 8 * * * * * * * * * * * * * I M O t o r ~
M,-****Y*W***V***********..*..****.. 9 Programa de regulacin &
& corriente modhciiin anchura pulso(PN'M). lnea genera kmewia
;wnstmte 1O0 Hz @ocio ms) trabod a b l e 0% XW h ,dqmdicndii ; dar
entrsda tiempo maito (0%) ;ms(1 00%) a c u d o (Ciclm-Or)
(Ciclos-UFF) DC (YO) SEMiPWODO SEMIPERIODO -CONFIG -CP-OFF 8: --FF
&_PWRTE-ON -XT-OSC P=IFiF84A INCLUDE e l bF84A.INO MaximaEnaada
-10 ORG bsf mvwf M M Prhcipal mMrf d w m* btfsc STATUS,RW
b'00001111' ;RA3:RAOcano mmdas. r n A TiUSB ; iieas 0 aonfigtuanwmo
didas. STATUS,WO . - El programa es un ejemplo de gobierno de la
motor de a nivel mediante control PWM. Su funcionamiento se explica
en los y en su diagrama de flujode la figura 29-12. ; velocidad un
motorde continuamediante Ia ;de de Por la de salida se
unaondacuadradade a de 10 y ciclode desde a de1 de la
delPuertoA.Esdecir, el varia entre O ms y 10 de conla siguiente
tabla: Entrada ALTO BAJO & LIST EQU Inicio movlw Las del se,
57. MICROCONTROLADOR PIC1hF84. PROYECMS rEi RAMA btfsc STATUS,Z gow
m-IDDPoiCietito btfss STATUSC goto IX:-CeroPaCim movwf movf
GuardaEnwada,W movwf Motor-ON moviw btOM)lOO movd PORTB caU
Retardo-lms decfsi Ciclos_ON,F gota Moto-0N-t-2 Motor-OFF clrf
PORT3 cau ~ o 0 l m s decfsz Ciclos-OFF,F @m MotorLOFF+l g* Fin
DC-CemPotCiento clrf PORTB gota K-1M)PorCiento movlw b'0001001Ot
movwf PORTB goto Pnncipd ,i,C=l?,i(W) L(PORTA%=~07 ; (PORTA>
~O-(PORTA)--~~~C~S-OW). ; RA3:RAO (Ciclos-ON). drivers un sentido g
h . (Ciclos-ON)=O salta Inhabilita drivers. ; (Ciclos-OFF)=O
;Inhabilita dnvers. p&. BabiIitalosdrivers tambien puede Timer
sc cxplico cjcrcicio 18. : mntroI velocihd im iiiotor dc
crirricntccoiitinw mediante modulacihn ; wchim pulw (PWM)
M~iiorD-O?.asm iniempcionrs dwhrdaniirnto Tiincr : de fuiicion del
dc lina RA4. lineas realizi+ direcciunamiento lasiimiccionrs "bsf'y
"bcf'. CBLOCK OxW CicloTrabajo de habajod e d . DESARROLLO DE478
Ciclos-OFF Ciclos-ON 10' Fin Fin ; positivo?, Haresultado ; 10)
Carga en ;Habilitalos y de ;Si a Motor-OFF. ; los Motor parado. Si
saltaa Principal. los Motor; y un sentidode giro. La generacin de
la onda cuadrada PWM se realizar mediante interrupciones por
desbordamiento del O, tal como cn un del capitulo El siguiente
programa es un ejetnplode ello. Programa de de de la de de
similaral donde el control de tiemposse realiza ; mediante por del
O. El sentido giro del motor se decide en valor la ; El control de
las de salida se mediante por bit con ; ;Ciclo 58. nediante b Rn-MA
CAP~TULO CORRIEKTE C:CNlT?JUh GuardaEntrada Tirnd-ContadorA Contdor
ENIX TMRO-Cqa EQU 4745' expcrimentahente 1 MaxirnaEnrrada EQU .10
#DEFINE SalidaSmtidoO PORTB,O determinan giro. #DEFiNE
SalidaSemidol PORTl3,l #DEFINE %lidaMarcRa WRTB,4 ; de 10.
GuardaEntrada.W mmwf CiclaTraba~a moviw 1010000iJ 29: MOTORESDE 474
; auxiliar. ;Valorobtenido con la ventana ;Stopwatchpara un
tiempode ms. ;Salidas el sentido de Salida puesta o motor. de
sentidode goto inicio ORG Estas configurancomo A movwf PORTA , de
4. bcf bcf el motor parado. cicio del Principal Compruebael giro
deseado. goto bsf ;Gira en goto bcf el sentido opuesto. bsf el
puertode e1 goto O-(PORTA goto positivo?, O? ; resultado movf b'
59. MICROCONTROLADOR PIC16F84. PRUYLCTUS O M-MA m m - f -N A u t h
inferrupcibnTOT la-1 (GIE). DC-CeroPurCiento bcf SalidaMarcba Pwe
la salidasiempre MiabilitaInternrpciun m-1OOPorCiento bsf
SaLdaMArcha ;Pone La alto. lnhabilitalntemrpcion clrf INTCON W i t
a iiitffnrpcionm. hincipal Subnitina "Tked Intemipcicm" ;Mantienela
&da tiempo i g d (CicloTrabajo) en iui 1 m6 (10-CicloTrabjo).
CBLKK --W M - S T A T U S ENDC TimerO-intempcion mowf G d - W mapf
STATiJS,W movwE bcf STArnS,RW TMRO-Carga movwf TMRO decfsz
Thd-CmtadorAS gota Fin_TimerO-iniemipcion kfs Salid&mha g m
EstabaAlto EstabaBaj S h W h a m& CicloTrabajo,W mwwf
Tiind-ContadorA Fin-TimerOerOIn~pcion EstabaAlto SalidaMarcb movf
CicloTrribajo,W sublw .lO mwwf TUnaO-ContadmA Fin_TmerOerOh~ion
swapf M - S T A T U S , W movwf swapf Guarda-WF swspf C ~ - W , W
bcf mc0NJwIF bcf INTCON,TOiF Fetfie ; los valcm de ttnian
;ProgramaP&*. ; que ai ;h m m t a ;Testead salida : alto. ;
nwammtecrin tiempo alto. ; B t & a d ~ y l o p a b r i j o .
Repwe c m t a hnuevmnitecon Restaurs regidros 1 ra rr iin proyecto.
m01 COI disqiieteras obsenra continu rnicrocoiimladc carsa mecnii
nitodos motc i 480 DESARROLLO DE ; y goto Fin goto : enbajo.
salidasiempreen Fin goto ; - ---- - u -- -- ----- --- -- ----
------ ------ ;y bajo en alto un tiempoigual a x a 1 msx Guarda W y
STATUSen el movlw Guarda-STATUS Garantiza trabaja el Banco O. el
contador. anterior estado de la o bsf goto Estababajo y lo pasa a
Reponeel contador ; el en ; e1 ;enbajo. el tiempo STATUS ; W y
STATUS. No es conseguir un de Los dispositivos papel de una ir de
que en por el eje del m Los mot comente contin hacerlo dentro de
una control de pos revolucionespc y por ser Un devanados.El Cada
pulso pro 60. cAPTULO 30 desguace alguna coi~io (Stepper ,Ilotorj
muy digitales. [os que cl rvbot gii-mlas disqueteriis de ordcnador
conml pr~ciso seguir dcl rliotores iitu sobre eje niotor reguiares
ocurre rnicrocontrolador, mvtures puden pasicionarnientos
autornatizacin posicionanuentu. motor (yni) tensicin el motor e . .
j; j Uri hicin i gira I E rotacion mtor ciel increttiento nguio
,/& MOTORES PASO A PASO No es raro qiie un aficionado a la
electrnica una vieja impresora para conseguir un motor paso a paso
y poder realizar tarea de posicionamiento dentro de un proyecto. En
este capitulo se explica trabajar con estos utiles motores. 30.1
MOTORES PASO A PASO (PAP) Los motores paso a paso o PAP son
utilizados en los dispositivos controlados por sistemas Por ejemplo
los mecanismos que arrastran papel de una impresora, mueven brazo
de un o los que hacen un dependen de motores PAP para su
funcionamiento. Se observa que en estas situaciones se requiere un
de la trayectoria a por el eje motor Los PAP proporcionan
considerable ventaja los motores de corriente continua o DC. El de
un PAP gira a intervalos en lugar de hacerlo continuamente, como
con los motores de continua. Bajo el control de un los PAP ser
usados para precisos dentro de una amplia gama de aplicaciones,
incluyendo robtica, y control de La velocidad de un de DC viene
expresada en revoluciones por minuto y es funcin de la aplicada,
corriente por y carga mecnica del mismo. Un posicionamiento preciso
de un motor DC no es posible por mhodos sencillos. motor PAP gira
en de una secuencia de pulsos aplicados a sus devanados. El eje del
motor un determinado ngulo por cada impulso de entrada. Cada pulso
provoca la del motor en un de preciso, 61. MICROCDNTROLAWR
PIC16F84. O inovniento, pasos posici~namiento. miden cl paramemo
iin PM. Tarnbien piicdc cspresar de paso girar nmero de 0,72" por
360;0,72" 500 360/22,5" 16). comerc~alimdo 7,5" paso poteiicia.
esti resuclto los 1 niotores P.4P PIC16F84, pero antcs liay sus
pnticipios fcnhmeno dc los continila, niotores son sencilos, que
funciunarnicrito Supotiernos L1 hicrro iniaiitarsc scan rccotridas
corricntc cl6cttica, denoil-iinadoestatur. imn eje Inicialmente,
corrieilte (que recibe11 imri im:i posiciiin cualquieraocl i d n
liermanecer rcposo fuerza tihteiria. hacc comenie figiiia I(a),
crcaran imn se desplazah polaridad que 1 obten& cn la 30-1(b)
se Lnvirienc situaci6n inwriimos de grados. 2 pulso aplic 482
DESARROLLO DE PROYECTOS RA-MA denominado paso, de ahi el nombre de
motor "paso a paso". El resultado de este fijo y repetible, es un
posicionamientopreciso y fiable. Los incrementos de de la rotacin
del rotor se traducen en un alto grado de control de Los
incrementos de rotacin o pasos se en grados y es fundamental de
motor se en nmeros pasos por rcvolucion de 360 grados. Un motor
paso a puede un exacto de grados en ambos sentidos. Los motores PAP
se comercializan dentro dc una gran variedad grados de rotacin por
paso, desde a 22.5". correspondientes a 500 y 16 pasos revolucin,
respectivamente (efectivamente, = y = El motor PAP ms es el de por
o 48 pasos por revolucin. El principal problema que presentan los
motores PAP es su limitada Sin embargo, este problema siendo por
iiuevos diseos, con los que se ha logrado potenciassuperioresa CV.
En este capitulo se va a explicar como realizar el control de
mediante un microcontrolador que examinar de funcionamiento. 30.2
PRINCIPIO DE FUNCIONAMIENTO An basados en el mismo que el principio
funcionamiento de motores de corriente los paso a paso mis si cabe,
cualquier otro tipo dc motor elctrico. La figura 30-1 ilustra el
modo dc de un motor PAP. que las bobinas como L2 poseen un ncleo de
dulce capaz de cuando dichas bobinas por una esto es el Por otra
parte, el M puede girar libremente sobre el dc sujecin central,este
es cl rotor. sin aplicar ninguna a las bobinas tambin el nombre de
fases) y con el M cn en si no se somete a una Si se circular por
ambas fases, como se muestra en la 30- se dos polos magnticos NORTE
en la parte interna, bajo cuya influencia el M hasta La
posicinindicada en dicha figura. Si invertimos la de la corriente
circula por la bobina L se la situacin magntica indicada figura y
el imn M vera desplazado hasta la de n grados y se hab Si se m
corrientes son cada 62. menios iarniento. parmetro I grados kmdos
rvoliiribn, :P.4P tencia. yuc ' icipios dc ;iipclincmos rse cL I :
~ ~ O 1, Aie c.1 mecer m :ia seiitido apjas I I 1 1 (b) lnvirticndo
ahora polaridlid la llcga fik~1t.a30-1 (c) imn invertiiiim cl
sentido dc Ll iman y sc. habra abienido una revolucidn imn grados.
se secuencia cxcilacion L1 y y lo de este de pasos por de de mas
Sin se ha mediante de nto los cabe, que lo estator. es reciben el
en 30-](a), el imn la nueva posicin de equilibrio. Es decir, ha
girado 90 grados en contrario a las de1reloj. (a) Paso 1 Paso 2 la
de corriente que atraviesa la bobina L2, sc a habiendo girado el M
otros 90 grados. Sila situacin de la de nuevo la corriente en la
bobina el M girara otros 90 grados completa de dicho en cuatro
pasos de 90 Si mantiene la de expuesta para L2 dichas 63.
MICR0CONTROLALK)RP1C16F84. PROYECTOS o M-MA podeiiios elecbicos
finito paso de ya secueticia requiew ~iolaridades, hora riiotor.
BIPOLARES tipo eshtur Mobr biwlar F i p m de uri niolor bipolur De
salzri intemptores electrbnicos pemitm alimentacion desactivacion
interruptores las ttiotor carifigurados pi~ente sristititidos
driverL293B taj el aiiterior, PM L293B muestra la el Full Step
HoVStep. 484 DESARROLLO DE Analizando lo expuesto decir que un
motor paso a paso es un dispositivo electromecnicoque convierte
impulsos en un movimientorotacional constante y dependiendo de las
caractersticas propias del motor. El modelo de motor paso a que
hemos analizado?recibe el nombre bipolar que para obtener la
completa, se disponer de corrientes de dos presentando tal
circunstancia un inconveniente importante a la de disear el
circuitoque controle cl 30.3 MOTORES PAP En este de motores las
bobinas del se conectan formando dos grupos, tal y como se muestra
en la figura 30-2. paso a paso 30-2 Circuitode Control este motor
cuatro hilos conectados al circuito de control, que realiza la
funcin de cuatro dobles que variar la polaridad de la de las
bobinas. Con la activacion y adecuada de dichos dobles, se puede
obtener secuencias correctas para que el gire en un sentido o en
otro. Estos transistores como en H pueden ser par el como se estudi
en capitulo la conexin de un motor bipolar y el driver se en figura
30-13. En la figura 30-3, puede analizarse como debe ser la
secuencia de excitacin para que motor gire en un sentido. Tiene dos
modosde funcionamiento: y 64. t, i ial s mtes dos que slaridad la i
iconexibn RA-MA CAP~TULO 43 modo Full Stcp rotor PAP piilso + - 1 1
1 1' I I I 4 1 1 ! 1 1 1 1 -I ' l l l h l l l l l l -1 L 1 1 I I I
I I I 1 1 1 I I I u I I I I I I I I - 1 1 N I N 1 1 S-+ t Figunr
30-3 d~In excirucion motor bipolar los rrwvimientos eii horario
(Clnckwise) CCW (Counf~rc.lor;hui~e) trminos rclatjvizar obseivador
de posicion por coritrario. Tublu Sec.iic,ncia de ccopih-ol hb~ulur
modo Motor modo HaH cle (Harf Sfep) rotor medio RA-MA O 30:
MOTORESPASO A PASO 5 realiza la de la de dichos motor gire en
pueden ser de a figura 30-3, :or gire en un dispositivo constante
de bipolar de dos la hora de grupos, 30.3.1 Motor PAP bipolar en
Full Step En el modo el del motor avanza un paso par cada de
excitacin. 1 Reloj Terminal Terminal 1' Terminal 2 t u 1 t
Secuencia seal de del PAP La tabla 30-1 muestra las secuencia para
generar sentido CW y antihorasio de un motor bipolar. Los "horario"
y "antihorario" se deben ya que dependen del punto de mira del y la
del motor, tanto, solo se deben tomar como una forma de indicar que
gira en un sentido o en el 30-1 de un motor PAP para Full Step
30.3.2 PAP bipolar en Step En el modo medio paso el avanza paso por
cada pulso 65. JMb MICROCOhTRUWR PIC !6FW Ut PROYbCTOS D R%.%I~
angulw nlitad qiie e! modode pasa completol. conseguir
alternativamenk ima sida fllas, se rnucstra airibus seritiiicis
fibwra 70-1 consccutivas esvalor sitnuitaneamente. rotor bisectriz
ambos campos magndticos. desaparece extjnguiendose cminipo
magnitico rotnr queda hico cxisteilte, daildu
desplazai~iientuinitad. UNIPOLARES supone de generar del cntre las
bobinas, figum obtiene uti PAP circuIa unhico 1 incitores
unipolares, tidas del conectadas I y sobre dos I' estalores tal
30-4. saIen dos tres comh scjs tetminales parten electronicos
desactivados dz grupos funcionamicilto trabajan como I all los sent
tabla 3 4 para in priiicip al DESARROLLO disminuye el avance (la en
Para tal cometido, el modo de excitacin consiste en hacerlo sobre
dos bobinas y sobre de segn en la tabla 30-2 para de giro. Segn la
al excitar dos bobina del el se alinea con la de Cuando la
excitacin de una de ellas, el inducido por dicha bobina, el bajo la
accin del Campo lugara un 30.4 MOTORES PAP Una forma de paliar cl
inconveniente que la necesidad de dos polaridades la corriente para
la secuencia motor, si este dispone de una toma media es realizar
el montaje que se representa en la 30-4.Se motor unipolar de cuatro
fases (o bobinas), donde la corriente por las bobinas en sentido.
En los PAP las bobinas estator estn formando cuatro grupos. Estos,
a su vez, se conectan dos a dos se montan diferentes, como se
aprecia en la figura Del motor paso a paso grupos de cables, uno de
los cuales es a dos bobinados. Los que del motor se conectan al
circuito de control, el cual, se comporia corno cuatro conmutadores
que al ser activados o producen la alimentacin los cuatro de
bobinas. Generando una secuencia adecuada de de los transistores
que interruptores, se pueden producir de un paso en el nmero y
sentido deseado. En este c control del Su inicialmente se 66. RA-MA
h" ~ n - t . ~ CM~TULO hiO'CORES 487 1s :1 estator agneticos. !de.
&rkiades ima coiiechdac .. i compcitta ~rducen lecuada dc :n
prodiicir I este bobinas para FUI/Step HalfStep. Tubla de molar
Un@olarparumudo Fzrll S t q ~ Tublu conrrn/de toimotor Unipolar
Half Step principio funcionamiento figura 30-5. corrizntc: I 30:
PASO A PASO O conseguir sobre dos sentidos magntico dando
Dispositivo de control y de potencia En caso la tabla de la
secuencia que debe introducirse en las para el control del sentido
de giro es la mostrada en la tabla 30-3 modo y en la tabla 3-4 para
modo FULL STEP 30-3 Secuenciade control un PAP 30-4 Secuencia de
PAP para modo Su de se representa grficamente en la Si inicialmente
se aplica la a las bobinas L y L3 cerrando los interruptores S1 y
media obtiene un ila por las sobre dos paso salen Los seis ta 67.
4$8 MLCRM30NTROLADORPIC'lhFM. DE O RA-m polos jni;i arnbos vcrse
?O-5(a). se posteriotmente cl uitemiptor S1 S2, dislrjbucion
situacinreprtsentada 30-5(b) 30-5 Princhipio hhrjsico de unipolur
fasw Sigmendo In 30-5(c) 30-5(d) ta del 90 consepiida, bipolar
ai7ance Icis & movirnicnto eii coiitrario de en Podemos dcducu
paso ss excitacibn tanto, u nmero segn intemptores NPN figura
dentro L293B el iin unipolar el L293B se figura 30-14. IE1 1 I
anguiarts. fomu ~el nmero rle bbbi 1 p8rdiheis Hmh &ore pm 1
nricles8 de bc micropslesmgnl mpktieea con n motora ch hmh
i.ssurpii& s ~ t adi~ DESARROLLO PROYECTOS S3, se generarn dos
NORTE que atraern al polo SUR del M hasta encontrar la posicin de
equilibrio entre como puede en la figura Si abre y se cierra por la
nueva de polos magnticos,M evolucionahasta la en la figura Figura
un motor. de cuatro la secuencia representada en figuras y de misma
forma se obtienen avances rotor dc grados habiendo como cn el motor
de dos fases, hacer que el rotor pasos dc 90 grados por la accin de
impulsos elctricos de excitacinde cada una las bobinas. El obtenido
ha sido sentido al las agujas del reloj. Ahora bien, si las
secuencias de excitacin se generan orden inverso, el rotor girar en
sentido contrario. que el sentido de giro en los motores paso a
reversible en funcin de la secuencia de y, por se piiede hacer
avanzar retroceder al motor un determinadode pasos las necesidades.
La funcin de los sera ejecutada por los transistores de la 304 que
se incluyen del driver estudiado en capitulo anterior, la conexinde
motor PAP y driver muestra en la 30.5 CON modelo mayor atractivo
Una y a muy lu 68. ORA-MA CAP~TUM30: MOTQMS ;ta 1 ). I jn ! fases
iiiisma motor acciiin de ;ecuencias dc riii. funciiin - motor
CONSTITUCI~N MOTOR motor tsnidisdo, pw didhctico, vista pdctico
avances L J (Mbvll) Umfama metores BAP gam n& mdueido esnsiste
m amentw nilanero cb bobiaee erihtor, llevada un aumento del coste
volumen gddirla~m y eonddaablea en rendimiento $el motor; por que a
i vi~biblo, Hri~ta&ora pwa eon~eguir salucidn rds i d h a M r e
e m ai 18 rneemi%arcibnBe loi nuclm~de lae bobinrie mtsr foma de
hendidura d i ~ n h ,e d n d o ~ eMI mjoropoloa m@tico~, tmtgfi
come diente8 @i~ablaeienQ1m ~lWione8dc mapdtiee~cm avmeer~mgulms
muohe mmoia. bita f o m em piiblo conaegulr metome huta 500 pasos e
inelmo m h , En k figura 30-6 se m u e m f o m raaumiheeta
dhpodoibng munmotor BAP 22,S0, figura PASO A PASO 489 encontrar Si
se abre de polos de la o en el los D obtenido ha Podemos de la al
un 30.5 INTERNA DE UN PAP El modelo de paso a paso salvo su valor
no ofrece mayor atractivo desde el punto de debido a la amplitud da
sus angulares. ESTATOR ROTOR de conseguir de el del pero ello a y
del y a el lo no la y el en O y equilibrio Be de de de do N de la o
anterior, la