Logo Passei Direto
Buscar

Ferramentas de estudo

Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

..
CONTENIDO
1. Mecatrónica 1
a. Definición 2
b. Sistemasdemedición 3
c. Sistemasdecontrol 4
d. Sistemasde lazoabiertoy lazocerrado 4
e. Sistemasdecontrolsecuencial 6
2. Sensoresy transductores 7
a. Definición 8
b. Característicasdeoperación 8
c. Sensoresresistivos 9
d. Sensorescapacitivos 10
e. Sensoresinductivos 10
f. Sensoresde luz 11
g. Interruptores 12
h. Transductoresde presión 12
3. Acondicionamientodeseñalesanalógicas 15
a. Definición 16
b. El transistor 16
c. Polarizacióndeltransductor 17
d. Amplificadoresoperacionales 19
e. Filtrosanalógicos 22
f. El puentedeWheatstone 23
g. Conversoresanalógico-digital 23
4. Electrónicadigital 27
a. Definición 28
b. Sistemasnuméricos 28
c. CódigodecaracteresASCII 30
d. <?peracionesaritméticas 31
e. AlgebraBooleana 32
f. Compuertaslógicas 34
g. Circuitoscombinacionalesy secuenciales 36
5. Motores 37
a. Definición 38
b. Motoresdecorrientedirecta(DC) 38
c. Motoresde pasos 41
d. Servomotores 44
e. Robótica 45
6. Microprocesadores 47
a. Definición 48
b. Arquitecturade microprocesadores 49
c. Registrosinternos 51
d. MemoriaRAM 54
e. Puertos 56
7. Lenguajeensamblador 57
a. Definición 58
b. Introducciónal programaDEBUG 59
c. Estructuradel lenguajeensamblador 61
d. Programación 62
e. Instruccionesbásicas 63
f. Ejemplosde programaciónen lenguajeensamblador 65
8. LenguajeC 67
a. Definición 68
b. Diseñode unprograma 68
c. Estructurade unprograma 69
d. Palabrasreservadas 72
e. Estructuradedatos 72
f. Sentenciasdecontrol 75
g. Funciones 78
h. InlineAssembler 79
9. LenguajesVisuales 83
a. El entornodeprogramación 84
b. MS VisualBasic 86
c. MS VisualC++ 89
d. Tecnología.NET 93
1O.lnterfazGPIO modeloK-400 97
a. ¿Por quéunainterfazde8 bits? 98
b. El puertoparalelo 99
c. Diseñoelectrónicode la interfaz 104
d. Programaciónde la interfaz 106
e. Programaciónen lenguajesvisuales 109
11.Integraciónde proyectos 119
a. K-405Displaynumérico 122
b. K-410Semáforo 123
c. K-415Relevadores 124
d. K-420ConversorAnalógico/Digital 125
e. K-425Probadordecablesdered 126
EL ASC DE LA MECATRÓNICA
Capítulo1
Mecatrónica
Pág.!
EL ASC DE LA MECATRÓNICA
Mlealrónica
DEFINICiÓN
Aunqueno es un conceptonuevo,estetérminohaadquiridounagranimportancia
en los últimosaños porel impactode sus aplicaciones.Por lo tanto,Mecatrónica
no es una palabrasimplede definirya que se refierea la automatizaciónde
procesos basada en la integraciónde los sistemasde control,concepto que
analizaremosa lo largodel libroya queel enfoquede la Mecatrónicaconsideraa
lossistemascomoel núcleodesu análisis.
Mecatrónicase refiereal diseño integradode los sistemasbuscandoun menor
costo,una mayoreficiencia,una mayorconfiabilidady flexibilidaddesde el punto
de vista mecánico,eléctrico,electrónico,de programacióny de control. La
Mecatrónicaadopta un enfoque integraldesde estas disciplinasen lugar del
enfoquesecuencialtradicionaldeldiseñopartiendode unsistemamecánico,luego
el diseñode la parteeléctricay luegosu integracióncon unmicroprocesador.
La Mecatrónicase puedetomarcomo la oportunidadde analizary resolverlos
problemasde automatizacióndesde una perspectivadiferentee integral,donde
los ingenierosno se debenlimitara considerarúnicamentela solucióndesde el
punto de vista de su especialidad,sino en el contexto de una gama de
tecnologías.Este enfoque mecatrónicoserá convenientepara considerar el
comportamientode cada parte del sistema en función del resultadogeneral
esperado.
La Mecatrónicaabordasu estudiopartiendodel conceptode sistema.El sistema
más simplepuedeconsiderarsecomo una estructuracerradacon una entraday
una salidaen dondeel principalinteréses conocerla relaciónentreestas dos
variables.
Sistema
Entrada Salida
Por ejemplo,untermómetropodríaconsiderarseun sistemade medicióndondela
entradasería la magnitudquese quieremedir,es decir,la temperaturay, la salida
seríael valornuméricoregistradoen el termómetro.Este sistemapodríacrecery
convertirseen un sistemade controlde la temperatura,al cual podríamosllamar
Pág.2
EL ASC DE LA MECATRÓNICA
sistemade calefacción.De esta formaestaríamoshablandode un sistemade
control,el cualfijaríaunasalidadentrode unrangoprogramado.
La Mecatrónica,en su partede control,se auxiliade los desarrollostecnológicos
en sensores y transductores, sistemas de medición, actuadores,
microprocesadores,microcontroladoresy muchosmás.
SISTEMAS DE MEDICiÓN
Revisemosbrevementedos de los sistemasbásicosparael análisisy diseñode
losproyectosmecatrónicos:lossistemasdemedicióny lossistemasde control.
Lossistemasde mediciónse refierena la cuantificaciónde algunavariablefísica.
Estos sistemas tienen un elemento de medición en la entrada (sensor o
transductor),un acondicionadorde la señal obtenida y alguna forma de
presentacióno representacióndel valor calculado.Por ejemplo,si quisiéramos
medirla cantidadde aguaque tieneun tinaco,lo podríamoshacermedianteun
potenciómetro(resistenciavariable)queactuaríacomoun sensorde posicióndel
flotadorque nos indicaríael nivel del agua, un amplificadoroperacionalque
acondicionaríael cambiode resistenciay loconvertiríaen unrangodevoltajesy al
finalnecesitaríamosalgúntipode displayo indicadornuméricode estosvalores.
------------------
------------------
------------------
Suestructurabásicarepresentadaendiagramade bloquespuedeser
Pág.3
Sensoro Acondicionadorde Presentación
Transductor la señal delvalor
EL ASC DE LA MECATRÓNICA
SISTEMAS DE CONTROL
Por otro lado, los sistemasde controlmantienena lo largo del tiempoo de
cualquierotroparámetrounvalorconstanteo programadode la variablefísicaque
se estámidiendo. Por lo tanto,los sistemasde controlse basanen sistemasde
medición,de los cualeses tomadasu saliday retroalimentadacomo entradaal
sistema.
Siguiendo con el ejemplodel tinaco, un sistema de control nos ayudaría a
mantenerel niveldel agua en un determinadopuntoo en un rango,según su
programación.
On-Off
11",
'. \ "
'1 \ ," \ "
" \ ,
I I \ ,
Tomadeagua ------------------
------------------
------------------
Esta ideade sistemasde controlestápresenteen muchasactividadeshumanasy
requierende unagrancreatividady recursostecnológicospara lograrsolucionds
de calidad.
SISTEMAS DE LAZO ABIERTO Y DE LAZO CERRADO
Los sistemasde controlse puedenclasificaren sistemasde lazo abiertoy en
sistemasde lazo cerrado.Los sistemasde lazo abiertoson sencillosy poseen
poca capacidadde control.Los sistemasde lazo cerradoson más complejosy
tienencontrolexactosobrelasvariablesde salida,ya queéstaes retroalimentada
comoentradageneraldelsistema.
Pág.4
EL ASC DE LA MECATRÓNICA
Comparador
Entrada Salida
Sistema
Señalde
error
Retroalimentación
El comparadores el elementoque comparael valor programadocomo salida
esperada(Entrada),contra el valor real de salida medido del sistema. Esta
diferenciase consideracomolaseñaldeerror.
Señaldeerror=valorprogramadocomosalida- valorrealde salida
El bloquede sistemapuedetenervariossubsistemasinternosque modifiquende
diferenteforma la señal de entrada. Generalmentese podrá encontrar un
subsistemade controlque decidaqué accióntomarsobre una señalde error,un
subsistemade correcciónque permitaejecutar una acción, a través de un
actuador,para producirun cambioen la salidadel sistemay un subsistemade
proceso,queserálavariablea controlarporpartedelsistema.
El bloquede retroalimentacióncontieneel dispositivode medicióncon un valor
relacionadocon laseñaldesalidadelsistema.
Considerandoel ejemploanteriorsobreel sistemade controlde llenadodeltinaco
deagua,loselementosdelsistemade lazocerradoserían:
Salida 181Nivel del agua del tinaco
Entrada 181Posición del flotador
Comparador 181Palanca del flotador (potenciómetro)
Señal de error 181Posición inicialde la palanca - posiciónreal
de la palanca
Corrección 181Palanca con pivote/ válvulade aguaProceso 181Nivelde agua del tinaco
Dispositivode medición 181Flotadory palanca
Pág.5
EL ASC DE LA MECATRÓNICA
SISTEMAS DE CONTROL SECUENCIAL
En ocasiones,el tiempoes la principalvariablede controly la que determinael
ordenen que transcurreun determinadoproceso.Es decir,una vez terminadoel
paso 1, se iniciael paso2 queal concluirse iniciael paso3 y así sucesivamente
hastaterminar.
En estos sistemas,el tiempoy la secuenciade eventosdefinen la estructura
generalde control.Desdeluegoquese puedehablarde un procesosecuencialde
unasolavariableo deunsistemademuchasvariables.
Un ejemplo típico de sistemade controlsecuenciales la operación de una
lavadorade ropacon un ciclode lavadode 17minutos,cuyoanálisisse presenta
en el siguientediagrama.
Con estagráficade tiempo,analizamosla secuenciay la duraciónde cadaunode
loscuatroprocesosdeunalavadora:llenar,agitar,centrifugary vaciar.
Pág.6
Minutos 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Lavar EniuaClarI Secar
Llenar X X X X X X
AClitar X X X X X X
CentrifuClar X X X X X
Vaciar X X X X X X X
EL ASC DE LA MECATRÓNICA
Capítulo2
Selsoresvtralsductores
Pág.7
EL ASC DE LA MECATRÓNICA
Sensoresvtransductores
DEFINICiÓN
Los sensoresson dispositivosquemidenla magnitudde unaseñaldeterminaday
producenuna señal relacionada.Los sensores usan las propiedadesde los
materialesde los que estánhechosy así compararsu comportamientoante las
variacionesde la señala medir.El termómetrode mercurioes un ejemploen el
que la sensiblepropiedadde dilataciónque tieneel mercurioante cambiosde
temperatura,se aprovechaparaequipararlaa su medición.
Muchosde lossensoresmásusadossoneléctricoso electrónicos,aunqueexisten
de otros tipos,y las magnitudesa medirson fenómenosfísicos como diversos
tipos de energía,velocidad,aceleración,tamaño,cantidad,etc. Como ejemplo
podemosmencionarsensoresde temperatura,humedad,fuerza, deformación,
acidez,luz,sonido,contactoy proximidad.
Los transductoressondispositivoscapacesde transformarundeterminadotipode
energíade entradaen otradiferentey relacionadade energíade salida. Como
ejemplopodemosmencionartransductoreselectroacústicos,electromecánicos,
electromagnéticos,electroquímicos,fotoeléctricos,piezoeléctricos,termoeléctricos
y de presión.
Los micrófonos,las bocinas,los tecladosde los equiposy los ventiladores,son
ejemplosprácticosdeaplicacionesdetransductores.
CARACTERíSTICAS DE OPERACiÓN
El funcionamientoy evaluaciónde los transductoresse basa en diferentes
característicasde operación,las cualesse puedenampliary convertirseen las
característicasde los sistemasde mediciónen su conjunto.Independientemente
deltipodetransductordelquesetrate,éstassiempreestaránpresentes.
Las característicasmásconsideradasson:
· Intervalo.Es el rangoenmagnitudquepuedetenerlaseñaldeentrada
· Extensión. Es el valor máximo de entrada que puede detectar un
transductor
· Resolución.Es la mínimaseñalde cambioen la señaldeentradadetectada
porel transductor
· Sensibilidad.Es la relaciónque existe entre la entraday la salida del
transductor
Pág.8
EL ASC DE LA MECATRÓNICA
· Error.Es la variaciónexistenteentreel valor real de la señal y el valor
registradoporel transductor
· Exactitud.Es la capacidadde reproducirla mismaseñal de salidaa la
mismaseñalrealdeentradasuponiendounerrorconstantedeltransductor
· Histéresis.Es la exactituden laseñaldesalidaconsiderandosi loscambios
en laseñaldeentradasonporincrementoso pordecrementosdevalor.
· Linealidad.Es la exactitudquese obtieneen el intervalode operacióndel
transductor
· Estabilidad.Es la garantíade exactitudduranteel mayorperiododetiempo
deusodeltransductor.
· Acoplamiento.Se refierea la impedanciade salida del transductorque
afectael circuitoenel quese conecta.
SENSORES RESISTIVOS
Lossensoresresistivosson los queaprovechanlos cambiosde resistenciaen su
materialpara medir la señal asociada. Este tipo de sensores basados en la
variaciónde la resistenciaeléctrica son muy usados ya que son muchas
propiedadesfísicasque la afectan,pudiendoclasificarseen mecánicas,térmicas,
ópticasy químicas.
Ve
Un potenciómetro es una resistenciavariable cuyo
valor se determinapor el desplazamientode un
contacto móvil deslizante o giratorio. Este
desplazamiento,se convierteen una diferenciade
potencial,dedondesevuelveunsensormuyusado.
El diagramaeléctricoequivalentees muysimilaral de
la resistencia,solamenteque tiene un indicadordel
contactomóvil,llamadotambiéncursor.
, L-
I VI
} V2
RI
Pág.9
EL ASC DE LA MECATRÓNICA
Estasdiferenciasde potencial(V1- V2) se puedenasociara un modelode dos
resistenciasen serie.
Una aplicaciónde sensoresresistivosson losdetectoresde temperaturabasados
en lavariaciónde resistenciaeléctricadesus materialesy son denominadoscomo
RTD (ResistanceTemperatureDetectors).La resistencia nominalde untermistor
se elige fundamentalmentecon base al alcancede temperaturade operación.
Mayores valores de resistenciacorrespondena temperaturasmás elevadas,
mientraslasbajastemperaturasrequierenmenoresresistencias.
SENSORES CAPACITIVOS
Los sensorescapacitivosson sensoresque sus materialesse comportancomo
condensadoreseléctricos. Los condensadoresson dispositivosque, sometidosa
unadiferenciade potencial(voltaje)adquierenunadeterminadacargaeléctrica.A
esta propiedadde almacenamientode carga se le denominacapacidad.Los
condensadoresestánformadosde dos placaso láminasconductorasseparadas
porunmaterialdieléctrico.
Una aplicaciónde sensores capacitivosson los
detectoresde nivel, los cuales modificansus
características al modificar la cantidad de
dieléctricoentresus placas,productodel niveldel
líquidoqueestánmidiendo.
En ocasioneses el mismolíquidoel que simula
ser lasegundaplacadelcondensador.
Este tipo de sensores tambiénson usadospara medir humedad,proximidady
posición.
SENSORES INDUCTIVOS
Los sensoresinductivosson los que trabajanen formade bobinas.Las bobinas
estánformadaspor hilo de cobreenrollado,tambiénllamadodevanado,y cuyo
principiode funcionamientoes que al pasar una corrienteeléctricapor sus
terminales,éstas almacenanenergíaen formade campo magnético.Debidoa
estascaracterísticas,la detecciónde materialesmetálicosferrososes una de sus
aplicaciones más comunes, por lo que son usados como detectores de
posicionamiento,proximidady comodetectoresde metales.
Pág.10
EL ASC DE LA MECATRÓNICA
La inductancia de las bobinas depende del
diámetrodel cable del que están hechasy del
númerodevueltasdesu fabricación.
Al igual que los sensores capacitivos, son
sensoresquerespondenmuybienen sistemasde
corrientealterna,siendola frecuenciade la señal
que los estimulaunade lasvariablesa medirpara
identificarsus cambios.
Estacapacidadde almacenamientode energía magnéticade las bobinas,es
usadaparaafectara otrasbobinas.Es así comose formanlos transformadores.
Lostransformadoresdiferencialesdevariaciónlineal(LVDT)son losquemodifican
elcampomagnéticoentrelasbobinasal modificarla posiciónde su núcleo.
CA
SENSORES DE LUZ
Núcleo
Los sensoresde luz modificanlas propiedadesde
los materialesal variar la intensidadde luz que
reciben.Las fotorresistenciasy los fotodiodosson
muyusadosen estetipodeaplicaciones.
Losfotodiodostienenuna mejorrespuestalinealque las fotorresistenciasque,en
cambio,ofrecenun altovalorde resistenciaen la oscuridadpudiendollegara 2
MOhms,y unvalorde resistenciade50 KOhmsenmayoriluminación.
Pág.11
EL ASC DE LA MECATRÓNICA
Los fotodiodosson semiconductores,por lo que basansu principiode operación
en el comportamientode las unionesP-N. De aquí que se puedanformarlos
fototransistores,en los que la luz incidesobre la regiónde la base, haciéndolo
mássensiblequeel fotodiodoporelefectodegananciapropiodeltransistor.
INTERRUPTORES
Los interruptorespuedenser un tipo especialde sensoresya que, aunqueno
modificanlas propiedadesfísicas de sus componentes,sirvenpara detectar
diferentesestadosdefenómenosu objetosquese quieranmedir.
La construcciónde los interruptoresofrece una gama de posibilidadespara
detectarmovimientos,posicionesy frecuenciasde comportamientode estos
objetos.
Los interruptoresmecánicoso electromecánicos
de los relevadores,tienenuno o variospares de
contactosquetransmitenestosestadosal circuito
al que están conectados.Este comportamiento
permiteo noel pasode una señaleléctricade CC
o CA y tambiénse puedetraducircomo señales
de 1'sy O's,estaúltimacondiciónmuyutilizadaen
los sistemas con enfoque digital, es decir,
sistemasquepermitendosestados.
Los interruptoresmecánicos se especificanen
funcióndel númerode polosy tiroscon queestán
fabricados.
Los polos son el número de interruptoresque
funcionana lavezen cadaposicióny los tirosson
el númerodecontactosporposición.
En aplicacioneselectrónicas,unode los problemasquese presentacon el usode
interruptoresmecánicoses el rebotefísico de sus contactos.Este rebotepuede
ser interpretadopor la electrónicadel circuitoen el queestáconectadocomouna
señal diferente,por lo que hay que tomarloen cuenta y hacer los ajustes
necesarios.Algunasmedidaspuedenser el retardoen la lecturade la señal,el
usodecircuitosde memoriaadicionaleso el usodecircuitostiposchmitttriggers.
TRANSDUCTORES DE PRESiÓN
Los nombresde lostransductoresindicanlatransformacióny mediciónquehacen.
De esta forma, cualquierdispositivoque conviertael movimientomecánico
Pág.12
EL ASC DE LA MECATRÓNICA
generadoporfuerzasasociadasa una presiónexternay quese traduzcaen una
señaleléctricao electrónica,se podráconsiderarcomountransductordepresión.
Estos pueden tener diferentes encapsulados,
segúnlaaplicaciónparalaqueestándestinados.
La presiónse puededefinircomola fuerzaquese
ejerce sobre una unidad de área conocida y
muchas veces se mide en comparacióna otra
columnade referencia.Los transductoreslo harán
midiendoel desplazamientoo deformaciónde su
membranao diafragma.
La presión también puede ser producto del
volumende unfluido(líquidoo gas).
Pág.13
EL ASC DE LA MECATRÓNICA
Acondicionamientodeseñalesanalóuicas
DEFINICiÓN
Las señales obtenidasde los sensores y transductoresque se usan en los
sistemas de medición,tienen que ser procesadasy adaptadas para poder
pasarlasa lasiguienteetapa.
Este procesode adaptaciónes lo que se conocecomo acondicionamientode la
señaly comoejemplode estoscambiosse puedenmencionarlossiguientes:
· La señaldel sensoro transductores demasiadapequeña,por lo que hay
queamplificarlaparaquese puedaacoplaren lasiguienteetapa
· La señal tiene interferenciasno deseadas,lo cual puedeser muycomún
cuandolostransductoresnotienenunbuenaislamientoeléctrico
· La señal del transductores de tipo analógicoy hay que acoplarlaa un
sistemadigital,por lo que habráque pasarlapor un conversoranalógico-
digital
· La salidadeltransductornotienela impedanciaadecuadaparala siguiente
etapa,loquecausaríapérdidade laseñaldesalida
· La señaldeltransductores unvoltajede DC y hayquecambiarloa pulsos
· En las primerasetapasde los sistemasde instrumentaciónes comúnque
se tenganqueacoplary adaptarseñalesdecorrientey de voltajequesean
proporcionales
· La señal de salida del transductorno es lineal,por lo que es necesario
hacerunacorrección
Este acondicionamientode las señalesde los transductorespuedeser simpleo
complejoy hayelementosy configuracionesestándarparasu tratamiento.
EL TRANSISTOR
Los transistores son dispositivos semiconductores que debido a sus
característicasde operaciónpuedendesarrollarvariasfuncionesprincipales.Una
es de amplificadorde señales,otraes de ser uncircuitode conmutación,es decir,
un interruptor(switch)electrónico,de osciladory tambiénpuedeser un rectificador
de señales.
Los transistoresestánformadospor trescapassemiconductorasque formandos
unionesbipolaresy que puedentenerun ordenP-N-P o N-P-N, por lo que en el
diseñode circuitosson consideradoscomoelementosactivos,a diferenciade los
elementospasivosformadosporcondensadores,resistenciasy bobinas.
Pág.16
EL ASC DE LA MECATRÓNICA
Cadacapa tienesu nombre,por lo que el transistor tieneun colector(c), un
emisor(E) y unabase(B).Los transistorespuedentenerdiferentesencapsulados
ysurepresentaciónparael diseñode circuitosse muestraa continuación.
B
E
B ~
. 5 (,..~
E
, r
i ,
Lostransistores,graciasa lastecnologíasde integración,se hanvueltoel principal
componentede todos los circuitos integrados.Las compuertasdigitales, los
microprocesadoresy todotipode circuitointegradoestáncompuestosde millones
detransistoresmicroscópicos.
POLARIZACiÓN DEL TRANSDUCTOR
Como la polarizaciónde los dos tipos de transistoresbipolareses diferente,
empezaremospordiferenciarsu diagramaeléctrico.
NPN PNP
Independientea que laelaboraciónde los transistoresNPN es mássimple,su uso
puedeestardefinidoporloscriteriosde diseñodelcircuito,yaque usándolocomo
switch,si el estímuloes un 1 convendráusar un NPN y si el estímuloes un O
entonceslaelecciónseráun PNP.
La operacióndeuntransistorse basaen lossiguientesconceptos
· La uniónBase-Emisorse comportacomoundiodo
· Unacorrientede Basesolamentefluyecuandoel voltajeS-E
es mayora 0.7Volts
· La corrientedel Colectores igual a la corrientede Base
aumentadaporlagananciadeltransistor,llamadahFE
Pág.17
EL ASC DE LA MECATRÓNICA
· Se necesitaincluiruna resistenciaen serie con la Base del
transistorparalimitarsu corrientey evitardañarlo
· En un extremode operación,el transistorentraríaen estado
de saturación,lo que causaría un VCE de O volts y un
comportamientode switch
· La corrientedel Emisores iguala Ic + lBy como lBes muy
pequeñase puedesuponerqueIE=le
r---r--+9V
Interrupt..jv !
lj' $470~ ..1.. corriente
10k"% "de colector
corriente .1. ::::L?LECe
de base 'V brillante
LECB
debil
---
;;.-- rutadecorrientedebase
~ rutade corrientede colector
En el diagramase muestranlasdos rutas
de corriente,lB e le que se lograncon
componentesestándar.El transistor,por
ejemplo,.puedeser un MPS2222A o un
BC548.
La corrientede Base es la quecontrolala
corrientedelColector.
Cuando el interruptor se cierra, la
pequeñacorrientede Base fluyey prende
el LEO B con una intensidaddébil. El
transistoramplificala corrienteque fluye
del Colectoral Emisor,por lo que el LEO
C prendecon unaintensidadbrillante.
Cuando el interruptorse abre, no fluye
corrientepor la Base, por lo que los dos
LEOs se apagan.
Cuandoel transistorse usa como switchelectrónicola polarizaciónse va a los
extremosde operación,por lo quese saturaparacerrarloy se apagaparaabrirlo.
El dispositivoa prender/apagarmediantelasimulaciónde abrir/cerrardelswitchse
le llamacarga.
-
La formade operaciónen un transistoren
configuraciónde switches:
· Cuandoel transistorestá apagado
la corrientede colectores cero,por
loque lex VeE=O
· Cuandoel transistorestáenestado
de saturación,el voltajeColector-
Emisores casi cero, por lo que el
productolex VeEes muypequeño,
lo que significaque la potenciaes
baja y entonces no debe causar
calentamientoenel transistor.
Pág.18
EL ASC DE LA MECATRÓNICA
Los valores importantesa considerar es esta configuraciónson la máxima
corrientedecolectory la mínimagananciadecorrientehFE.
diodo
de
protección
-
+V Si la carga del switchelectrónicoes un
motor, un relevador o algún tipo de
bobina, se debe incluir un diodo de
protecciónquecuideal transistorde algún
dañocuandodeapagalacarga.
La figuramuestrala polarizacióninversa
del diodo,lo quegarantizaquecuandola
carga se apaga, la corrientefluya por el
diodoy protegeal transistor.
El transistores un buenswitchparaDC, por lo quesi lo quesi se quierecontrolar
corrienteAC o altovoltaje,se tendráqueusarun relevador.
AMPLIFICADORES OPERACIONALES
Los amplificadoresoperacionales son amplificadoresde señal con una
configuracióngeneralprediseñadayquese encuentraencapsuladaen un circuito
integrado.Tresde lascaracterísticasimportantesson:
· Tienen una entrada diferencial,es decir, una entrada positiva y una
negativa
· La salidadel amplificadorse definecomoVOUT=G (V+- V_),por lo que la
gananciaes g =Vo/ Vi
· En formaideal,la impedanciadeentradaen infinitay lade salidaes nula
Esta figura representael diagrama eléctrico de los
amplificadoresoperacionales.
Los voltajes Vs son voltajes de polarización que,
generalmente,puedenllegara losnivelesde 15Volts.
El modelouA741de lacompañíaFairchaildes unode los
másconocidos.
Graciasal diseño de los amplificadoresoperacionales,estos puedentener una
configuraciónde lazoabiertoy tambiénde lazocerrado.Si el voltajede salidase
retroalimentacomo voltajede entradanegativo,la configuraciónserá de lazo
cerrado. Los amplificadores operacionales pueden tener diferentes
configuraciones,lo que los hace un dispositivomuy atractivopara acondicionar
señales.
Pág.19
EL ASC DE LA MECATRÓNICA
Comparador
Seguidor
Inversor
Rf
Rin
Vin ,j\
-
No Inversor
Vout
Vout
· Esta es una aplicación sin la
retroalimentación.Compara entre las
dos entradasy entregauna salidaen
funciónde quéentradasea mayor.Se
puede usar para adaptar niveles
lógicos
IT _ {VS+ Ví >V2Yout - ITVs- Vi < Y2
· El seguidores uncircuitoque
proporcionaa lasalidaunvoltajeigual
quea laentrada
· Se usacomounbuffer,paraeliminar
efectosdecargao paraadaptar
impedancias(conectarundispositivocon
granimpedanciaa otroconbaja
impedanciay viceversa)
· El inversores unamplificadorque
cambiael signoo lafasedelvoltajede
entra.La gananciaestádeterminadapor
la relaciónde resistencias
· El no inversores unamplificadorde
señalcon unagananciadeterminada
porla relaciónde resistencias.
Pág.20
EL ASC DE LA MECATRÓNICA
Sumador Inversor
Yn
Rn
Vout
Restador (amplificadordiferencial)
-
Integrador Ideal
e
R
-
Derivador ideal
R
-
Vout
Vout
Vout
· El amplificadorsumalosvoltajesde
entradae inviertelaseñaldesalida
· Estaconfiguraciónrestalosvoltajesde
entrada.La polaridaddelvoltajedesalida
dependede la magnitudde losvaloresde
entrada
· La señaldeentradase integracomo
unafuncióndependientedeltiempo
· La señaldesalidaestáinvertida
· \!¡niciales elvoltajecuandot=O
rt \Í;
Vout=10- R~dt+Vinicial
· La señaldeentradase derivay se
inviertecon respectoal tiempo
Pág.21
EL ASC DE LA MECATRÓNICA
FILTROS ANALÓGICOS
Algunasseñalesqueentreganlos sensoresy transductorescontienenseñalesde
interferencia,productodel ambienteen el quese encuentran.La interferenciade
la líneadevoltajeo de señalesderadiofrecuenciasonalgunosejemplos.
Los filtrosanalógicospuedeneliminarestasseñalesparásitaslimitandoel ancho
de banda a través de generar diferentessegmentos,diferentestúneles que
permitanpasarsolamentela señalquese deseatransmitir.El límiteentrelo que
se pasa y entre lo que se rechazase conocecon el nombrede frecuenciade
corte.
Los filtrosse clasificande acuerdocon los segmentosde frecuenciaque dejan
pasar o que rechazan.De esta formala clasificaciónpuedeser de cuatrotipos
diferentes:
1. Filtropasabajas
~
2. Filtropasaaltas
Permiteel pasode señalesdesde una frecuencia
Ohastalafrecuenciade corteestablecida
Permite el paso de señales a partir de la
frecuenciadecorteestablecida
3. Filtropasabanda
Permiteel paso de señales dentrode un rango
superiore inferiordefrecuencias
4. Filtrosupresorde banda
Permiteel paso de señales en todo el espectro
exceptoenun rangoestablecidodefrecuencias
Pág.22
EL ASC DE LA MECATRÓNICA
En losfiltros,la frecuenciade cortese consideracuandolaseñalalcanzael 70.7%
desu valor,loqueequivalea unaatenuaciónde3 dB.
Los filtrostambiénse clasificanen pasivosy activos.Los filtrospasivosestán
formadosporresistencias,condensadoresy bobinas.
e
R
Vout
-
Filtroactivopasabajas
EL PUENTE DE WHEATSTONE
Una de sus desventajas es que la
frecuencia se puede modificar por el
consumodeenergíade loscomponentes.
Los filtrosactivosse refierena los circuitos
con elementos semiconductores como
transistoresy amplificadoresoperacionales
y no tienen la desventajade los filtros
pasivos.Las configuracionesde Integrador
y Derivador de los amplificadores
operacionalessonusadascomofiltros.
Es un arreglode resistenciasmuyusadoparamedirlos cambiosen unade ellas,
locualproduceuncambiodevoltajeensu salida.
Este circuito resistivopuede operar con
voltaje directo en un rango menor a 12
volts.
Cuando el puente está en equilibrio,
significaqueel voltajede salidaes O,porlo
que implicaqueR1=R2y R3=R4.
Si la resistenciavariableR4 es el elemento
sensor que se está usando y cambia su
valor,el voltajede salidava a cambiaren
consecuencia.
En ocasiones,estos sensoresrequierende un elementode compensaciónpara
evitarcambiosadicionalescomopodríaser porfactoresde temperatura.
CONVERSORES ANALÓGICO-DIGITALES
El mundoen que vivimosgeneraseñales de tipo analógicas.Los sensoresy
transductoresde señales,siemprevan a generarseñalesanalógicas.Para que
Pág.23
EL ASC DE LA MECATRÓNICA
estas señales puedan ser incorporadasa sistemasdigitalesdel tipo circuitos
electrónicosdigitales o computadoras,es necesario cambiar estas señales
ana/ógicasa señalesdigitales.
Para manejaresta conversión,el sistemabinario,con dígitosO y 1, es la base
teóricaparapodermanejarla.Estosdígitosbinarios,desdeel puntode vistade la
electrónica,son llamadosbits.Cuandounnúmerose representaporestesistema,
la posicióndel dígitoen el númerobinarioindicael peso asignadoa cadadígito,
pesoque tieneun equivalenteen unsistemadecimaly queaumentaen unfactor
de 2, representadoporlaexpresión2n
23
8
Bit 3
22
4
Bit2
21
2
Bit1
Como ejemplo,el númerodecimal12 en un sistemabinariotiene la siguiente
representación
1 1 o o
La comprobaciónde8 +4 confirmaquelaconversiónfuecorrecta.
Según el númerode bits,será la capacidad
del conversor,ya que a mayornúmerode
bits,la resolucióny el rangodeamplitudde la
señal a manejarseránmayores.En caso de
usar 4 bits, solamentese podrándistinguir
16númerosincluyendoel O.
La operaciónde los conversoresanalógico-
digitalse basaen un circuitode muestreode
laseñaly el módulodeconversión.
.
En la parte superiorde la figura se ve la
señal que se quiere convertir.En la parte
centralse representael circuitode muestreo
que tomaráuna lecturade la señal con una
frecuenciafija. En la parteinferiorse ven los
valores recolectados por el circuito de
muestreo que simula la señal original,
mostrando solamente los valores
muestreados.
"
Pág.24
EL ASC DE LA MECATRÓNICA
Estas muestrasse pasan al conversoranalógico-digitaly así se obtendrásu
equivalenteenel númerode bitsquetengael conversor.
La frecuenciade muestreode una señales importante,ya quedefinela fidelidad
con la quese va a reproduciren formabinaria.El teoremade Nyquist- Shannon,
conocidocomoel teoremade muestreo,diceque parapoderser reconstruida,la
frecuenciade muestreodebeser por lo menosdeldoblede la frecuenciamáxima
de laseñaloriginal.
Hayvariosmétodosde conversiónanalógico-
digital.El métodode escaleraes muyusado
en dispositivosde bajo precioy consisteen
incrementarla cuentabinariahastaque ésta
coincidaconel valoranalógicoa comparar.
La figurailustrauna entradaanalógicaen el
ejeverticaly unasalidadigitalequivalenteen
el ejehorizontal.
La longitudde la palabrabinariadeterminala
resolución del conversor, definiendo el
cambio de señal más pequeñoque puede
detectara su salida.
De estamaneraun convertidoranalógico-digitalde una longitudde palabrade 8
bits,con un intervalode señalanalógicade 5 volts,el númerode nivelesen una
palabraes de28=256,Y porellola resoluciónes 5/256=19.5mV.
Pág.25
EL ASC DELA MECATRÓNICA
Capítulo4
Electrónicadiuital
Pág.27
EL ASC DE LA MECATRÓNICAElectrónicadigital
DEFINICiÓN
La electrónicadigitalha alcanzadoun excelentenivel de integracióny en la
actualidadunsinnúmerode dispositivosbasansu operaciónen estastecnologías.
Igualmentesucede con los sistemas de control que se aplican a diversos
mecanismos.Una característicaimportantede estos sistemases que dependen
de dos únicosvaloresde operación,el "O"y el "1", generalmenteasociadosa
voltajesdeOy +5volts.
La teoríaque rigela operaciónde estoscircuitoses el álgebrade Boolequetiene
su equivalenteen compuertaslógicas.El términológicacombinacionalse refierea
la combinaciónde dos o más compuertaslógicas para ofrecer el resultado
deseado.
SISTEMAS NUMÉRICOS
Los fenómenosfísicos y químicossiempretienenuna representaciónen valores
decimales.El sistemadecimalse representaa partirde 10dígitosdiferentes:O,1,
2, 3, 4, 5, 6, 7, 8 Y 9. En cualquiersistemanumérico,la posicióndeldígitoindicael
pesoasignadoel cual,en el sistemadecimal,aumentaen unfactorde 10en cada
posiciónqueaumentaa la izquierda.
103
Millares
102
Centenas
101
Decenas
10°
Unidades
Así se puedemostrarlaequivalenciade losnúmerosdecimales,comoporejemplo
el 2,575.
El sistemabinariose representaa partirde 2 dígitosdiferentes:Oy 1. Igualmente,
la posicióndeldígitoindicasu pesoasignadoel cualaumentaen unfactorde 2 en
cadaposiciónqueaumentaa la izquierda.Estosdígitosbinariosse lesdenominan
bits.
2°
BitO
Pág.28
EL ASC DE LA MECATRÓNICA
Así se puedemostrarlaequivalenciaal númerodecimal13
Agrupandodetresen treslosdígitosbinariosdederechaa izquierda,se lograuna
conversiónal sistemaoctal.El sistemaoctalse representapor8 dígitosdiferentes:
0, 1, 2, 3, 4, 5, 6 Y 7. La posicióndel dígito indicasu peso asignadoel cual
aumentaen unfactorde8 encadaposiciónqueaumentaa la izquierda.
Así se puedemostrarlaequivalenciaal númerobinario111001100,460decimal.
Agrupandode cuatroen cuatrolos dígitos binariosde derechaa izquierda,se
logra una conversión al sistema hexadecimal.El sistema hexadecimalse
representapor16dígitosdiferentes:O,1,2, 3, 4, 5, 6, 7, 8, 9,A, S, C, D, E Y F. La
posicióndeldígitoindicasu pesoasignadoel cual aumentaen unfactorde 16en
cadaposiciónqueaumentaa la izquierda.
Así se puede mostrarla equivalenciaal númerobinario 100110101100,2,476
decimal.
En cualquiersistemanuméricoexceptoen el sistemabinario,los enterospositivos
se representansin signoy los enterosnegativosse representancon un signode
menosal principio.Como el sistemabinarioes usadoen las computadoras,hay
una limitaciónimpuestapor el hardwareen la que tododebe representarseen
formatobinario.Para tal efecto,los númerosnegativosse representancon el bit
mássignificativode la palabraquese usa. La convenciónes queel bites cerosi
el númeroes positivoy uno si es negativo.Normalmenteno hay problemapara
identificarlosbitssi se defineconanticipaciónel tipode representacióna usar.
En electrónicase usa unequivalenteadicional,el sistemadecimalde codificación
binaria(SCD) muyusadotambiénpor las computadoras.Este sistemarepresenta
los númerosdecimalesen formabinariapero en formaindependiente,no como
una cantidadúnica.Así, el número23 decimalse representacomo 010 011en
formatoSCD.
Pág.29
EL ASC DE LA MECATRÓNICA
Estecódigoes útilparalassalidasde lossistemasbasadosen microprocesadores
y queofrecensalidaa displaysnuméricos.
La siguientetablarepresentaunequivalenteentrelossistemasnuméricos.
Decimal
O
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Binario
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
Octal
O
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
CÓDIGO DE CARACTERES ASCII
Hexadecimal
O
1
2
3
4
5
6
7
8
9
A
B
C
O
E
F
BCD
00000000
00000001
00000010
00000011
00000100
00000101
00000110
00000111
00001000
00001001
00010000
00010001
00010010
00010011
00010100
00010101
La manipulaciónde los númerospor las computadorasse puedeextendera la
manipulaciónde letras. Por lo tanto, además de tener una representacióny
manipulaciónde números,es necesarioteneruna representaciónde letrasy de
caracteresadicionalesusadosen lostextos.
El códigobinarioestándarparalos caracteresalfanuméricoses el llamadocódigo
ASCII (AmericanStandard Codefor InformationInterchange).Este código usa una
longitudde palabrade7 bits,loquepermiterepresentar128caracteresdiferentes.
Estos incluyenletrasminúsculas,mayúsculasy caracteresde puntuación.Los
primeros33caracteres(incluyendoel O)y el 128son decontrol,porlo quenoson
caracteresimprimibles.
El códigoASCII se representacon sietebits,pero las computadorasmanejanuna
palabramínimade ocho bits, llamadabyte. Por esta razón, lo más comúnes
almacenarel códigoASCII en ocho bits Este bitextrase utilizaparaotrosfines,
quegeneralmentese usaparadarindicacionesadicionalesa la impresora,ya que
estecódigose usaparatalesfines.
Pág.30
EL ASC DELA MECATRÓNICA
A continuaciónse muestraunatablaASCIIcodificada ensietebits,dondese
muestranloscaracteresdecontrol,elabecedarioenminúsculaymayúsculay los
caracteresespeciales.
OPERACIONES ARITMÉTICAS
Las operacionesaritméticasen los diferentessistemasnuméricossiguenlas
reglasde la aritméticaordinaria.Si lossignossoniguales,lasmagnitudesse
operanyguardanelmismosigno.Silossignoscambian,losresultadoscambiarán
enconsecuencia.
En el sistemabinariolas operacionescon númerosnegativosusan una
codificacióndiferente,llamadasistemadecomplementoconsigno.Mientrasqueel
sistemademagnitudesusaelbitmássignificativoa unoparaindicarqueelsigno
es negativo,en estenuevoformatolos númerosnegativosse indicanen su
complementoaunoodos.
Por ejemplo,considerandouna representaciónde 8 bits el número+10se
representaen formabinariacomo00001010,el -10 suponiendoel sistemade
magnitudconsignocomo10001010,encomplementoaunocomo11110101Yen
complementoa doscomo11110110.
La sumade dos númerosbinarioscon signopositivo,se regirápor las reglas
ordinarias.La sumaentrenúmerosbinariospositivosy negativos,seconvertiráel
númeronegativoaformatodecomplementoadosyseresolverásumandolosdos
operandos.El resultadoquedaráen complementoa dos,por lo quehabráque
hacerotraconversiónparatenerlamagnitudreal.
Pág.31
o 16 32 48 64 80 96 112
O NULL DLE sp O @ P
, P
1 SOH DC1 i 1 A a a q
2 STX DC2 " 2 B R b r
3 ETX DC3 # 3 C S c s
4 EOT DC4 $ 4 D T d t
5 ANa NAK % 5 E U e u
6 ACK SYN & 6 F V f v
7 BEL ETB , 7 G W g w
8 BS CAN ( 8 H X h x
9 HT EM ) 9 I Y i Y
10 LF SUB * J Z i z
11 VT ESC + , K [ k {
12 FF FS , < L \ I I
13 CR GS - = M ] m }
14 SO RS > N A n ,.."
15 SI US / ¿ O o DEL
EL ASC DE LA MECATRÓNICA
Pararepresentarel comentarioanterior,se presentalasuma8 +10Y 8 - 10.
8 00001000
+10 +00001010
+18 00010010
8 00001000
- 10 - 11110110
- 2 11111110
La restade dos númerosbinarioscon signonegativoy que estánen formatode
complementoa dos, se resuelveenunaformasencilla:se obtieneel complemento
a dos del sustraendoy se suma al minuendo.En caso de un acarreo en la
operación,éstese desprecia.Comoejemplo,laoperación(-8)- (-10)=2
11111000
00001010
+ 00000010
ÁLGEBRA BOOLEANA
El álgebra Booleana es una herramienta importante porque todas las
computadorasdigitales requierenuna definiciónde las reglas que rigen la
manipulaciónde variablesde dos valores,conceptosdictadospor este tipo de
álgebra.
Estas reglasse representanpor las operacionesbásicasAND, OR Y NOT. Estas
reglas se escribenen forma de tablas de verdad, las cuales especificanlos
resultadosde todas las combinacionesde entradaposibles. Los resultadosse
expresanen formatode FALSO y VERDADERO. Tambiénpuede sarcomoun '1'o
un 'O'.
La operaciónBooleanaAND se puedeexpresarcon un resultadoverdaderosólosi
lasdosentradassonverdaderaso 1. El símboloBooleanode laoperaciónAND es
unpunto(*),porloquesu representaciónes
La tabladeverdadde laoperaciónAND es
Pág.32
A B e
O O O
O 1 O
1 O O
1 1 1
EL ASC DE LA MECATRÓNICALa operaciónBooleanaOR se puedeexpresarcon un resultadofalsosólo si las
dosentradasson falsaso O.El símboloBooleanode laoperaciónOR es unsigno
más(+),porloquese representaciónes
C=A+B
Latabladeverdadde laoperaciónOR es
La operaciónBooleanaNOT expresael complementodel valorde entrada.Si la
entradaes verdaderala salidaes falsa.El símboloBooleanode laoperaciónNOT
es unabarraen la partesuperiorde lavariable,porloquesu representaciónes
-
C=A
La tabladeverdadde laoperaciónNOT es
Hay otraoperaciónque se usa con frecuenciaque es el EXCLUSIVE-OR. Esta
operaciónse puedeexpresarcon un resultadoverdaderosólo cuando las dos
entradassondiferentes.El símboloBooleanode la operaciónEXCLUSIVE-OR es
unsignomásdentrode uncírculo(@),porlo quesu representaciónes
La tabladeverdadde laoperaciónEXCLUSIVE -OR es
Las operacionesBooleanasrespetanel formato.originalde la ley conmutativa,
asociativay distributiva.
El álgebra Booleana es un álgebra que se ocupa de variables binarias y
operacioneslógicas. Una función Booleana expresa la relación lógica entre
Pág.33
A B C
O O O
O 1 1
1 O 1
1 1 1
A C
O 1
1 O
A B C
O O O
O 1 1
1 O 1
1 1 O
EL ASC DE LA MECATRÓNICA
variablesbinariasy que evalúatodos los valoresbinariosde la expresiónpara
todoslos posiblesvaloresdeentrada.
Una funciónBooleanase puedetransformarde una expresiónalgebraicaa un
diagramade circuitoshechosconcompuertaslógicas.
UnafunciónBooleanase representade lasiguienteforma:
F1=A'B'C +A'BC +AB'
dondeel apóstrofese tomacomocomplementou operaciónNOT,el signomáses
unaoperaciónOR y lasvariablesse operanconunaoperaciónANO.
COMPUERTAS LÓGICAS
Una manerageneralizadade representarlas funcionesBooleanases el uso de
símbolos llamadoscompuertaslógicasdigitales.Estas compuertasrepresentan
bloquesfuncionalesquerecibenentradas,se procesany generanunasalida.
Los símbolosde lascompuertaslógicasdigitalesson lossiguientes:
Pág.34
EL ASC DELA MECATRÓNICA
Nombre Símbolo
gráfico
Función
algebraica
Tabla
deverdad
Pág.35
x y F
AND
X
=D-F
O O O
F=XY O 1 O
Y 1 O O
1 1 1
X
=D-F
X Y F
OR F=X+Y
O O O
Y
O 1 1
1 O 1
1 1 1
Inversor X ----{>o----- F F=X' mO 11 O
Búfer X --[>-- F F=X mO O1 1
X =Ct- F
X Y F
NAND F=(XY)' O O 1
Y O 1 11 O 1
1 1 O
X
=[>-F
X Y F
NOR F=(X+Y)' O O 1
Y O 1 O
1 O O
1 1 O
X
D-F
X Y F
XOR (OR F=XY'+X'Y O O O
exclusivo) y F=XY O 1 1
1 O 1
1 1 O
X
D-F
X Y F
NXOR F=XY+X'Y' O O 1
Y F=(XY)' O 1 O
1 O O
1 1 1
EL ASC DE LA MECATRÓNICA
Comoejemplo,consideremoslasiguientefunción:
CIRCUITOS COMBINACIONALES y SECUENCIALES
Los circuitos lógicos para sistemas digitalespueden ser combinacionalesy
secuenciales.
Un circuito combinacionalconsiste en compuertaslógicas cuyas salidas en
cualquiermomento,estarándeterminadaspor la combinaciónactualse entradas,
quedandodefinidasu operaciónpor un conjuntode funcionesBooleanas,por lo
quese puederepresentaren términosde tablasdeverdad.
Un circuitosecuencialusa elementoscombinacionales(compuertaslógicas)más
elementosde almacenamiento(memorias),y sus salidas son función de la
combinación actual de entradas y del estado de los elementos de
almacenamiento,ya sea en el momentoactual o como resultadode estados
anteriores.
Pág.36
A B C D A*B C<ffilD SALIDA
O O O O O O O
O O O 1 O 1 1
O O 1 O O 1 1
O O 1 1 O O O
O 1 O O O O O
O 1 O 1 O 1 1
O 1 1 O O 1 1
O 1 1 1 O O O
1 O O O O O O
1 O O 1 O 1 1
1 O 1 O O 1 1
1 O 1 1 O O O
1 1 O O 1 O 1
1 1 O 1 1 1 1
1 1 1 O 1 1 1
1 1 1 1 1 O 1
EL ASC DE LA MECATRÓNICA
Capítulo5
MOlores
Pág.37.
EL ASC DE LA MECATRÓNICA
MOlores
DEFINICiÓN
En el Capítulo1 elconceptoMecatrónicase definióy se tratócon amplitudy entre
másse avanzaen el estudiode estelibro,másclarodebequedarel temadelque
se trata.Aun así, aunquees una palabrainteresante,puede resultarun poco
confusao muytécnicaparamuchaspersonasque no estánfamiliarizadascon el
tema. Entoncespodemos,aunquesea duranteestecapítulo,buscarun sinónimo
a lapalabray enestecasoseráRobótica.
La robótica es una actividad técnico-científicadedicada al desarrollo y
construccióndedispositivoscuyafinalidades realizartareasen la mismaformaen
laqueson realizadasporlas personas.Esta imitacióndetareaspuedeser sencilla
o muycompleja,por lo que una de las característicasmás impresionantepuede
ser el movimientoque realizanlos robots.De aquí que se diga que "Si no se
mueve,noes unrobot"
El movimientoque se puedalograren los robotssólo es posiblea travésde un
motor,o varios,conectadoa una serie de poleas,engraneso de cualquierotro
mecanismomecánicoqueayudeal movimientodelelementodel robot.
Por lo tanto,valelapenarevisarlos fundamentosdeoperaciónde los motoresque
nospermitanintroducimosenestefascinantetema.
MOTORES DE CORRIENTE DIRECTA (DC)
Los motoresde DC son dispositivostecnológicosperfectamenteestudiadosque
combinaneficienciay una operación controladacon facilidad. Los primeros
estudiosy pruebasquese realizaronparadesarrollarlosse hicieronen 1821.Un
motorde corrientecontinuaes un dispositivomecánicoquetransformala energía
eléctrica en movimientorotacional.La principal característicadel motor de
corrientecontinuaes su capacidadde regularsu velocidaddesde cero hasta la
máximadiseñada.
Pensando en un prototipo que se quisiera
desarrollar,la imagenquese muestrapodríaser
lo másrepresentativode estosdispositivos.
Los motores de corriente continua están
formadospordos partesprincipales:el estatory
el rotor,conceptoque se aclaraen la siguiente
imagen
Pág.38
EL ASC DE LA MECATRÓNICA
n
Escobilla
Fuentede volataje
El estator está formado por los polos magnéticos formados por imanes
permanenteso por un devanadode cablesde cobre. El rotor,generalmentede
formacilíndrica,está formadode un devanadocon núcleo al que le llega la
corrientede la fuentedevoltajemediantedosescobillas.
La magnitudde la fuentedevoltajeva a determinarla velocidaddel motormedida
enrevolucionesporminuto(RPM).
Los motoresde DC podránvariasel sentidodelgirodependiendodel sentidodel
flujode corrientequese les hagapasar,es decir,comoson motoresde corriente
continua,la fuentede voltajeque los alimentadeterminaráel sentido,siemprey
cuandolafuentedevoltajeesteenel rangodeoperacióndelmotorde DC.
En unadescripciónmásgráfica,el sentidode girodelejedelmotordependede la
posiciónde la bateríaen los bornesdel motor,lo que se puederepresentarde la
siguienteforma:
Pág.39
EL ASC DE LA MECATRÓNICA
Una característicade estetipode motoreses que, por si solos, no cuentancon
detectoresde posiciónen su giro,por lo queunavez que se les aplicael voltaje
girana máximavelocidadhastaquese cortael voltaje.
Con base a estacaracterística,unode loscontrolesmás comunesque se puede
tenersobreestosmotoreses la direcciónde giro. La configuraciónde un circuito
llamadoPuente-Hes una formaadecuadapara este control,el cual puedeser
armado con transistoreso adquiridoen forma comercial como un circuito
integrado.
Vcc . Vcc
A B
- -
La lógicade operaciónde estetipode circuitoses que los transistorestrabajanen
las regionesde cortey saturaciónde los transistores,porlo queel sentidode giro
delmotorobedecea las reglasde lasiguientetabla:
No se
recomienda
Para armarconéxitoestetipode circuito,es necesarioconocerlas características
de demandade potenciadel motor,de lo contrariopodríaquemarlos transistores
o no funcionar.Los circuitosintegradospueden llegar a manejarfácilmente1
Ampere,por lo que habría que aumentaruna etapa de potenciaen caso de
necesitarunamayorpotencia.
Pág.40
A B Dirección
O O Sin giro
O 1 Derecho
1 O Izquierdo
1 1 Sin giro
EL ASC DE LA MECATRÓNICA
ElcircuitointegradomodeloL298Nes un buenejemplode un PuenteH quesirve
paramanejarmotoresde 4.5 V - 46 V pudiendoproporcionaruna corriente
continuahastade 4 amperes.El chip tiene15 patascondos puentescompletos
diseñadosparasercontroladosconvoltajesTIL.
Ladistribucióndepinessegúnla hojadedatosdelfabricantees
CURREHT SENSlNG B
O\JTPUT..
OUTPUT 3
INPUT 4
ewilE B
INPUT 3
LOOIC SUPPL Y VOLTAGEV.
GNO
INPUT2
ENABlE A
INPUT1
SUPPlVVOlTAGEV.
OUTPUT2
OUTPUT 1
CURRENTSENSINGA
Otraformadeobtenerel controlsobrela direcciónde girodelejedel motorde DC
esusarrelevadoresquesimulenla inversióndevoltajeen losbornesdel motor(El
kitK-415ofreceestaposibilidad).
MOTORES DE PASOS
Los motoresde pasos son dispositivosmecánicosque ofrecenun grancontroly
precisiónen su movimientorotacional,puescomosu nombrelo indica,se pueden
moveren pequeñospasos,en pequeñosincrementosquese controlancon pulsos
devoltaje.
Estospasosen su giropuedenvariardesde90°hastapequeñosmovimientosde
1.8°.Para logrargiros de 90° se requierencuatropasos para dar una vuelta
completa.Para logrargirosde 1.8°se requierendoscientospasospara lograruna
vueltacompleta.
Esto motoresestánformadospor diferentesbobinasque, al ser energizadasen
unasecuenciadeterminada,vana generarlosgirosenel ejedelmotor.
Pág.41
tl5
-$-
t4
13
.2
11
-$-
10
g
e
1
a
!I
-$-
..
3
:2
,
EL ASC DE LA MECATRÓNICA
Motor de Paso
Bipolar
Bobina1 :iQ
ellD
Bobina2
Unode losdos tiposde motoresde pasoes el
Bipolar. La forma de identificarloes que
solamentetienecuatrocablesde alimentación.
Cada bobinase puedepensarcomoun motor
de DC, por lo que estos motoresde pasos
pueden ser manejados con un circuito de
PuenteH por cada bobina.Así, un motorde
pasosdemanejacondos PuentesH.
El circuitointegradoL293Des un buenejemplo
de un Puente H que sirve para manejar
motoresde paso bipolarde baja potenciaen
un rangode 4.5 V - 36 V pudiendoproporcionaruna corrientecontinuahastade
600mA.El chiptieneun encapsuladoDIP de 16patascondos puentescompletos
diseñadosparasercontroladosconvoltajesTIL.
~o
el ID
La tabladeoperacióndeentecircuitoes:
Pág.42
+V
o
+v J: .
D2 ,
D3 .
D4, , , -
Activa.A
2
IN1 OUTl
3
Activa.B
7
IN2 OUT2
6
10 11
Activa.e
15
IN3 OUT3
14
Activa.D IN4 OUT4
L293
-.J
-
Pasos Terminales
A B e D
1 1 o 1 o
2 1 o o 1
3 o 1 o 1
4 o 1 1 o
EL ASC DELA MECATRÓNICA
MotON:lePaso
Unipolar
A ocomú~Bobina1 e
BmO.~
Eou
Bobina2
El otrotipode motoresde pasoes el Unipolar.
La forma de identificarloes que tiene seis
cablesde alimentación.
Uno de los circuitos integrados de baja
potencia usado para controlareste tipo de
motoresde pasospuedeser el ULN2803,que
es unarreglode ochotransistoresquepueden
manejarunacorrientemáximade 500mA.
Al igualqueenel circuitoanterior,la activación
es en nivelesTTL y es a travésde lasentradas
de activaciónA, B, e y D, comose muestraen
lasiguientefigura
-
La secuenciase puederepresentarconsiderandolas posicionesde las bobinasy
su activación,lo quecausael movimientodeleje del motor.Las bobinasde color
negro representanlas energizadas,lo que produce el movimientoen el eje
representadoporlaflecha.
11 MI MI MI
iI'E II,E II'E II~E
I Ii 11 11 11
En estasecuenciase muestrauna rotacióncompleta,la cual puedelograren un
númerodiferentede pasos.
Pág.43
+V
o
I
ActivaA 1 IN 1 OUT1 182 17 oActivaC 3 IN 2 OUT 2 16ActivaB IN 3 OUT 3ActivaD 4 IN 4 OUT 4 155 IN 5 OUT 5 14
6
IN 6 OUT 6
13
7
IN 7 OUT 7
12 I I I BI.§\ID
8
IN 8 O OUT 8
11
+V O
10
DIODECLAMP S
EL ASC DE LA MECATRÓNICA
SERVOMOTORES
Los servomotoresson motoresde DC que en el mismocuerpo del dispositivo
cuentan con un sensor de posiciónel cual permiteidentificarlas posiciones
angulares del eje. En muchas versiones,este sensor de posición es una
resistenciavariablela cualse convierteen el ejedel motor,por lo queel rangode
giropuedequedarlimitadoal rangodelpotenciómetro.
La siguientefigurailustralas partesprincipalesde un servomotoren la que se
apreciael juegode engranesque reduceel girodel eje, por lo que se facilitael
controlde posición,ya quecomose dijoen seccionesanteriores,el motorde DC
solamentetienecontroldegirocambiandosu polaridad.
\
Potenciómetro.~
Tarjetaelectrónica
Esta últimacaracterísticahace,de estetipode motores,una herramientamuyútil
en aplicacionestípicasde robótica,dondelos rangosde operaciónse encuentran
limitadoscomo podría ser en el caso de una pinza para sujetarobjetos.Los
valoresmáximoscomercialesse encuentranpor debajode los 220 gradosen el
rangodegiro.
La tarjetaelectrónicacuentacon loselementosnecesariosparamediry corregirla
posiciónangulardel eje. Esta tarjetacuentacon tres cables,uno de voltajede
alimentación,otrode tierray unomásdecontrol.
El cablede controlrecibirápulsosdeduraciónvariablequeserá
el tiempoen queel motorva a estarprendidoy así cambiarála
posiciónangulardeleje,por lo que la duracióndel pulsoestará
relacionadacon los grados de giro del eje. Esta forma de
control es conocida por las siglas PCM, que significan
modulacióncodificadadelpulso.
Los valorescomercialestienenun girode 180gradosasociado
a un pulso de duraciónde 2.5 milisegundos,de donde se
deduceque un pulsode 0.5 milisegundosdaríaun girode cero
gradosy unode 1.5milisegundosdaríaungirode 90grados.
Pág.44
EL ASC DE LA MECATRÓNICA
ROBOTICA
Robóticaes untérminoquese explicaporsi sólo y que se aplicaa esa inquietud
humanapordesarrollardispositivosquesimulentenervidae inteligenciaartificial.
Estas característicasson usadas para desarrollarun sinnúmerode actividades
repetitivas,pesadas, de alto riesgo para las personas o simplementepara
entretenimiento.
Invariablemente,estastareasse realizana travésdel controlde los movimientos
realizadosporlos motoresdel roboto porcualquierotrotipode actuadores,como
podríanser loshidráulicos
La industriade la manufacturaha sidoun buencampode desarrollode la robótica
donde se ven grandes beneficiosen el controlde la automatizaciónde los
procesos de fabricación de productos aumentando, principalmente, la
productividadde las industrias.
Aunque la creaciónde autómatasha sido una actividadhumanadesde hace
muchos años, fue a partir de 1980 que empezó el crecimientode estas
tecnologíasy havenidoteniendouncrecimientoexponencial.
En la actualidad,la robóticaocupaun lugarimportante
en muchas actividades productivas y de
entretenimiento.En la automatizaciónindustrial,se
usa en tareasrepetitivaslograndograndesvolúmenes
de producción, en la programaciónselectiva de
actividades para lograr volúmenes pequeños de
producción pero de una variedad importantede
productos y para generar diferentes cadenas de
producción con la finalidad de lograr productos
complejosen poco tiempo,comparadocontra una
manodeobracalificada.
En la agricultura, se han desarrollado robots
especializadospara automatizarlas pesadas labores
de los agricultores.Estos robots pueden detectar
diferentesplantas,hierbaso vegetalesy desarrollar
tareas de identificación,recolección, clasificación,
sembradoe incluso,de detecciónde plagas.
Pág.45
EL ASC DE LA MECATRÓNICA
En la actividadaero-espacialhay grandesavances,
tantoqueya hayvariosaeropuertosen el mundoque
están certificadospara el control automáticode
despeguey aterrizajede aviones y en la carrera
espacial los robotsteledirigidosestán desarrollando
tareas de alto riesgo y complejidad para los
astronautas.
En el áreade seguridady combateal vandalismo,la
policía va teniendodispositivosde ayuda que les
permiteobtenerinformaciónde zonas internasde alto
riesgo medianteel envío de informaciónde video,
audioy otrasa los policíasque se encuentranen el
exterior.
y quedanmuchasmásaplicacionesporplaticary crear,por lo quees el momento
de seguiravanzandoen el estudiode la mecatrónicay usarestadisciplinaparala
innovacióndenuevossistemasdeautomatizacióny control.
Pág.46
EL ASC DE LA MECATRÓNICA
Capítulo6
Microprocesadores
Pág.47
EL ASC DE LA MECATRÓNICA
MicroprocesadoresDEFINICiÓN
Los microprocesadoresson circuitosintegradosque desde el año 1969 con la
compañíaIntel,revolucionaronel diseñoelectrónicodedispositivos.El 4004fueel
primermicroprocesadorqueteníaunaunidadcentralde procesos(CPU) de4 bits,
una memoria ROM para almacenar instrucciones,una memoria RAM para
almacenarprogramasy aplicacionesde los usuariosy algunospuertosde entrada
y salida.Estemicroprocesadorfuediseñadoparacalculadorasdebolsillo.
El cambio en el diseño electrónicoradica principalmenteen que los diseños
anterioresa los microprocesadoreseran específicospara las funcionesque eran
diseñados,mientrasque los diseñoscon microprocesadorespermitenutilizarel
mismohardwareparadiferentesfunciones,funcionesquequedandesarrolladasy
controladasporla programacióndelmicroprocesador.
Este capítulo describe, principalmente,el uso de los
microprocesadores en las computadoras personales
describiendosu arquitectura,sus principalescomandos,su uso dentrode las
computadoraspersonalesy las aplicacionesque se pueden desarrollarcomo
controladorde proyectosmecatrónicos.
En la actualidadcontamoscon un sinnúmerode dispositivos
electrónicos que simplifican tareas, ofrecen diferentes
serviciosy nosproporcionandiversión.
La computadorase puede representaren algunos bloques funcionalespara
entendersu formadeoperación.Por el momento,son treslosprincipalesbloques:
Primeroestáel microprocesadorqueestáformadoporla UnidadAritméticaLógica
(ALU) y el módulode control,representadopor los busesde datos,direccionesy
control y por la electrónicaque ejerce control entre las diferentesunidades
funcionales.El segundobloqueestárepresentadopor la memoriaRAM, memoria
en la que,segúnel modelode computadorade John von Neumann,almacenalos
datosy los programasde aplicacionesdel usuario.El tercerbloqueestá formado
por los puertosde entraday salida,puertosque permitenla comunicacióndel
microprocesadorcon el restode la electrónica,tantode la computadora(teclado,
mouse,pantalla,discoduro,etc.)comode loscircuitosexternos.
El siguientediagramamuestralos principalesbloquesfuncionalesde un modelo
generaldecomputadora.
Pág.48
EL ASC DE LA MECATRÓNICA
E/S Procesador
Entrada
Salida
Memoria
Instruccionesde
programa
y
Datos
Control
ARQUITECTURA DE MICROPROCESADORES
Enjuniode 1978la compañíaIntellanzóal mercadoel primermicroprocesadorde
16bits,al que llamó8086.Un añomástardelanzóel 8088,que internamenteera
igualque el 8086peroque tenía un bus externode datosde 8 bits. En 1981la
compañíaIBM empezóa venderel desarrollomás notablepara esta familiade
microprocesadores:lacomputadorapersonallBM.
La arquitecturadel 8086/8088es consideradacomo la base, inclusivede los
microprocesadoresqueactualmentese comercializan,porloquesu estudiopuede
serunaclaradescripciónde losmicroprocesadores.
Desde luego que hay otras marcas y otras arquitecturas válidas de
microprocesadores,pero con base al volumende ventas reportadas,será la
arquitecturaIA-16laquese considereen estelibro.Las arquitecturaIA-32e IA-64
operanbajolos mismosconceptos,sólo queel tamañode la palabraes diferente
al igual que el númerode instruccionesdisponibles,instruccionesenfocadasa
multimedia,comunicacionesy seguridad.
El 8086es un microprocesadorde 16 bits,pudiendodividirsu estructuraen dos
bloques:la unidadde ejecucióny la unidadde interfaz.La unidadde ejecuciónes
laencargadade realizartodaslas operaciones,mientrasque la unidadde interfaz
del bus es la encargadade comunicaciónde datos e instruccionesal mundo
exterior.
Esta divisióntieneventajasy ahorrosen el diseñode una interfazde 32, 16 u 8
bits.Se muestraunarepresentaciónen lasiguientefigura.
Pág.49
EL ASC DE LA MECATRÓNICA
Registrosdeusogeneral
15 87 O
AH Al AX
BH Bl BX
CH Cl CX
OH Ol OX-
SP
BP
SI
DI
Bus interno
16bb
Unidadde ejecución
Busdedirecciones
(20bb) LOGICA DE
CONTROL
DEL BUS
Buses
eICternos
12.1 I O
es
OS
ES
SS
IP
Rf:Gm'ROSDE
COMUNICACION
INI'ERNA
.
. ,
SistelMde
conbolde la
unidadde
eiecución
Colade
instrucciones
.- - - - - - - -.
.
.
I
.
Unidadde inteñaz
Para fines prácticos,el modelode microprocesadorque nos interesaes aún más
simple,ya quesóloconsideraremoslos registroslógicosquese van a programar.
Este modelo se basa en cuatro grupos: registrosde propósito general, de
segmentodedatos,debanderasy el apuntadorde instrucciones.
En los registrosde propósitogeneralse manipulanlos datos,los bytes, segúnlos
comandosdelprogramay se puedencomparara lasvariablesquese usanen los
lenguajesdealtonivel.
Los registrosde segmentosmarcanla direcciónen memoriadel segmentode
datos,el de códigoy el de lapila.El segmentode datosse refierea la localidaden
memoriadondese almacenanlos datosque manipulael programa.El segmento
Pág.50
EL ASC DELA MECATRÓNICA
de código se refierea las localidadesen memoriadonde se almacenanlas
instrucciones,los comandos,del programa.El segmentode pila se refierea las
localidadesen memoriadondese almacenanlos datosde la pilaa travésde las
instruccionesPUSHyPOPo
El registrode banderas lleva un control sobre los resultadosde todas las
operacionesquese realizan.Estos resultados,en términosde bits,puedenindicar
unvalorcero,unbitdeparidad,uncambiodesigno,unbitacarreo,etc.
El apuntadorde instruccioneses el contadorcon la direcciónen memoriade la
siguienteinstruccióna ejecutar,registroquellevala unidaddecontrol.
El modelológicodelmicroprocesadores el siguiente:
Pág.51
Registros depropósitogeneral
15 O
AX
BX
ex
DX
SI
DI
BP
SP
Registrosdesegmentos
15 O
es
DS
SS
ES
FS
GS
Registrodebanderas
31 O
BANDERAS
31 ApuntadordeinstruccionesO
IP
EL ASC DE LA MECATRONICA
Los registrosde propósitogeneralse puedenutilizarsecomofuenteo destinoen
operacionesaritméticasy lógicas y tambiénpueden tener algunas funciones
determinadas por el conjunto de instrucciones del microprocesador.A
continuaciónse ofreceunabreveexplicación:
· AX =Registroacumulador,divididoenAH yAL (8b itscadauno).
Es un registrosugerido para almacenarel resultadode las operaciones
realizadas.Hay instruccionescomo IN y OUT, que son instruccionesde
comunicacióna puertos,quetrabajanconAX o con uno de sus dos bytes (AH
o AL). También se utiliza este registro (junto con DX a veces) en
multiplicacionesy divisiones.
· BX =Registrobase,divididoen BH y BL.
Es el registrobase de propósitopara direccionamientode memoriaen sus
diferentesformatos
· CX =Registrocontador,divididoen CH y CL.
Se utilizacomocontadoren la instrucciónLOOP, en operacionescon cadenas
y en desplazamientosy rotaciones
· DX=Registrodedatos,divididoen DHy DL.
Se utilizajunto con el registroAX en multiplicacionesy divisiones,en la
instrucción IN y OUT paradireccionamientoindirectode puertos(el registro
DX indicael númerode puertodeentrada/salida).
· SP =Apuntadordepila(nose puedesubdividir).
Aunquees un registrode usogeneral,debeutilizarsesólo comoapuntadorde
pila,la cualsirveparaalmacenarlasdireccionesde retornode subrutinasy los
datos temporarios(mediantelas instruccionesPUSH y POP). Al introducir
(push)unvaloren la pilaa esteregistrose le restados,mientrasqueal extraer
(pop)unvalorde la pilaestea registrose lesumados.
· BP =Apuntadorbase(nose puedesubdividir).
Generalmentese utilizapara realizardireccionamientoindirectodentrode la
pila.
· SI =Apuntadoríndice(nose puedesubdividir).
Sirvecomoapuntadorfuenteparalasoperacionesconcadenas.Tambiénsirve
pararealizardireccionamientoindirecto.
· DI =Apuntadordestino(nose puedesubdividir).
Sirve como apuntadordestinopara las operacionescon cadenas.También
sirvepararealizardireccionamientoindirecto.
Respectoal registrode banderas,éstees una seriede indicadoresdel resultado
de lasoperaciones.Las másusadasson:
Pág.52
EL ASC DE LA MECATRÓNICA
CF (CarryFlag, bit O):Si vale 1, indicaque hubo"acarreo"(en caso de suma)
hacia,o "préstamo"(encasode resta)desdeel bitde ordenmássignificativodel
resultado.Esta banderaes usadapor instruccionesquesumano restannúmeros
que ocupanvariosbytes.Las instruccionesde rotaciónpuedenaislarun bitde la
memoriao de unregistroponiéndoloenelCF.
PF (ParityFlag, bit 2): Si vale uno, el resultadotieneparidadpar,es decir,un
númeropar de bitsa 1. Esta banderase puedeutilizarparadetectarerroresen
transmisiones.
AF (AuxiliarycarryFlag, bit4): Si vale 1, indicaque hubo"acarreo"o "préstamo"
del nibble (cuatro bits) menos significativoal nibble más significativo.Este
indicadorse usaconlas instruccionesde ajustedecimal.
ZF (ZeroFlag,bit6):Si esteindicadorvale1,el resultadode laoperaciónes cero.
SF (Sign Flag, bit 7): Refleja el bit más significativodel resultado.Como los
númerosnegativosse representanen la notaciónde complementoa dos,estebit
representael signo:Osi es positivo,1si es negativo.
TF (TrapFlag,bit8): Si vale 1, el procesadorestá en modopasoa paso.En este
modo,la CPU automáticamentegeneraunainterrupcióninternadespuésde cada
instrucción,permitiendoinspeccionarlos resultadosdelprogramaa medidaquese
ejecutainstrucciónporinstrucción.
IF (InterruptFlag, bit 9): Si vale 1, la CPU reconocepedidosde interrupción
externasenmascarables(por el pin INTR). Si vale O, no se reconocentales
interrupciones.Las interrupcionesno enmascarablesy las internassiemprese
reconocenindependientementedelvalorde IF.
DF (DirectionFlag,bit10):Si vale1, las instruccionescon cadenassufrirán"auto-
decremento",estoes, se procesaránlascadenasdesdelas direccionesmásaltas
de memoriahacialas másbajas.Si valeO,habrá"auto-incremento",lo quequiere
decirquelascadenasse procesaránde"izquierdaa derecha".
OF (Overflowflag, bit 11):Si vale 1, huboun desbordamientoen una operación
aritméticacon signo, esto es, un dígitosignificativose perdiódebido a que el
tamañodelresultadoes mayorqueeltamañodeldestino.
Pág.53
EL ASC DE LA MECATRÓNICA
MEMORIA RAM
Este modelológicodel microprocesadorinteractúacon la memoriaRAM (random
accessmemory=memoriade accesoaleatorio),la cual se puedeentendercomo
la memoriade trabajoen la quese encuentrantodoslos datos,tantoel códigodel
programacomolosdatosde laaplicaciónencuestión.
La memoriaRAM puedeser deltipoestáticao dinámica,lo que es definidoporel
diseñotécnico.En lo quese refiereal usoentreunay otraes transparenteparael
usuario,aunque las memoriasdinámicasson más baratas, consumenmenos
energía,puedenser de tamañofísico menory conteneruna mayorcantidadde
memoria.Sus desventajas,en comparacióna las estáticas,son más lentasy
requierende circuitosadicionalespara generarla señal de refresco.Las dos
clasesde memoriason volátiles,lo quesignificaquesu contenidose pierdesi se
apagalafuentede energía.
Los sistemasmodernoscontienepocamemoriaRAM estáticoque se empleaen
las partesdeaccesodegranvelocidadcomoes el casode la memoriacaché.
La memoriase puedemodelarcomounapilade registrosde memoriade 8 bits,es
decir,de unbyte.Estapiladebytesse numeradelOhastael finalde la capacidad
de la memoria.En el casodelmicroprocesador8086,el bus de direccioneses de
16 bits, por lo que la capacidadmáximadel bloque de direccionamientode
memoriaes de64KByte(65,536bytes).
Byten
Celdas
individuales
de memoria
Registros
de
direcciones
dememoria
(MAR) ByteO
Registrosde datosde
memoria(MOR)
El registrode direccionesde memoriacontienela direcciónque debe accesarse
para obtener cadauno de los datos. El registro de direcciones de memoria está
conectadoa un decodificadorque interpretala direccióny la activapara su uso,
tanto de lecturacomo de escritura.Los grupos de celdas de bits, los bytes,
contienenuna línea independiente,lo que determinalos n elementosde la
memoria,estableciéndoseel númerototalconla ecuación2" líneas.
El registro de datos de memoriaestá diseñado de modo que se conecta
adecuadamentea todaslasceldasen la unidadde memoria.Todossus bitsestán
conectadosal circuitode lecturaque garantizaque sólo un grupode celdasse
activaen unmomentodeterminado.
Pág.54
7 6 5 4 3 2 1 O
7 6 5 4 3 2 1 O
.. .. .. .. .. .. .. ..
.. .. .. .. .. .. .. ..
7 6 5 4 3 2 1 O
7 6 5 4 3 2 1 O
EL ASC DELA MECATRÓNICA
Debidoa queel 8086es unmicroprocesadorcon unbusdedatosy dedirecciones
de 16 bits, el máximobloque de direccionesde memoriaque puede leer
simultáneamentees de 64K8ytes(65,536bytes).Para que puedaleerun bloque
de memoriade 1 M8yte (1,048,576bytes),se necesitandefinir16 bloquesde
64K8ytes.
Para implementaresta idea,lasdireccionesfísicasde memoriase representanen
un formatológicoy así podertrabajarcon ellas. De esta manera,la memoriase
representacon dos bloques:el primerocon unadirecciónque indicael origendel
segmentomás una segundadirecciónque sería la serie de direccionesque
indicanel desplazamientosobreelorigen.
El formatogeneralseríade la forma1000:0000,dondelos4 dígitosde la izquierda
marcanel origende los 16bloquesdiferentesy los4 dígitosde laderechamarcan
eldesplazamiento,siendoexpresadosiempreen númeroshexadecimales.
Por ejemplo,la direcciónlógica1234:4321tieneuna direcciónfísica en la pilade
bytes de memoriade 16661H, lo cualse obtieneal rotara la izquierdacuatrobits
el númerosegmento(equivalentea un dígito)y luego sumándoleel valor del
desplazamiento.
1234:4321
12340
+ 4321
---------
16661
Esto implicaque hay muchasformasde expresaren formatológico la misma
dirección física. La dirección 1234:4321también podría ser 1666:0001ó
1665:0011ó 1664:0021,etc.
Una segundaconsideraciónque hayque tomaren cuentaes la formay posición
en la que se almacenanlos datos. Como la memoriaes una pila de bytes y
algunosnúmerospuedenser de 16o 32 bits,el datocompletosiempreva a estar
endireccionesadyacentes,solamentequees enordeninverso.
Para unapalabra(16bits)laescrituraes de la siguienteforma:
Orden ascendente [81
I 9C I E6 Palabra E69CH
Para unapalabradoble(32bits)laescrituraes de la siguienteforma:
Orden ascendente [81
I 4A I 58 I 00 12 Palabradoble12005B4AH
Pág.55
EL ASC DE LA MECATRÓNICA
PUERTOS
Independientementede las capacidadesy potenciadel microprocesador,de su
facilidadparatrabajarcon la memoriaRAM y deltamañode la mismamemoria,la
verdaderautilidadde una computadoraradicaen sus capacidadesde entraday
salida.Estasentradasy salidasson la formade comunicaciónquese tienecon el
mundoexteriory sin ellasno habríadispositivosperiféricosa travésde los cuales
hacemosusode lascomputadoras.
El teclado,el mouse,la pantalla,la impresora,el escáner,las memoriasUSB, el
disco duro,etc.,son ejemplosde dispositivosperiféricos,los cualesse clasifican
en dispositivosdeentraday salida,segúnel flujode informacióna travésdeellos.
Los requisitosdecadadispositivodeentrada/salida,considerandola necesidadde
ofrecer dispositivoscon capacidadde direccionamiento,de sincronización,de
estadoy de controlexterno,indicanlasnormasestablecidasparapoderacoplarlos
a las computadorasa travésde móduloso circuitoselectrónicoscon funciones
definidasy estosa su vezse comunicaráncon los microprocesadoresa travésde
direccioneso puertosperfectamentedefinidos.
Los puertosson las 'puertas'pordondelos datosvan a entrara los registrosdel
microprocesadorparaser procesadosy posteriormentesalirparaser devueltosal
dispositivoperiféricocorrespondiente.
En la práctica, es claro que muchos dispositivos estarán conectados al
microprocesador,por lo que se debe tener la capacidad de reconocerlos
individualmente.Para esto, las computadorasactuales tienen 65,536 puertos
diferentesparaorganizarel flujode informaciónentreellos.
Al igualque con las memoria,el accesoa los periféricos,se realizaa travésde
registrosde datosy direcciones,que funcionanen formasimilaral MAR y MDR
comentadosen el acceso a memoriaRAM. Así, el microprocesadortiene que
indicarsi la direcciónsolicitadaes a una direcciónde memoriao a una dirección
de puertode E/S.
Pág.56
EL ASC DE LA MECATRÓNICA
Capítulo1lenguajeensamblador
Pág.57
EL ASC DE LA MECATRÓNICA
lenguajeensambladar
DEFINICiÓN
Los lenguajesde programaciónson la herramientacon quese cuentaparaindicar
a las computadorasla secuenciade instruccioneso comandospara realizarlas
diferentesfuncionesquedesarrollan.
Estos lenguajes tienen diferentescaracterísticassegún el nivel en el que
interactúancon la computadora.El nivel más bajo de programaciónes tratar
directamenteconel microprocesador,el cualtrabajaen códigobinario.El lenguaje
ensambladores la codificaciónquepermitetrabajara estenivelde programación.
Las instruccionesescritasen códigobinariose conocencon el nombrede código
de máquina.Escribirprogramasen estecódigoes un pocotediosoy requierede
habilidadesespeciales.El lenguajeensambladores unacodificaciónespecialque
permiteagruparen comandoscortosy conciertosentidoestecódigode máquina.
Esta codificaciónes la que formael lenguajeensambladory a cada comando
tambiénse le llamamnemónico.
Escribir un programautilizandomnemónicoses más sencilloque el código de
máquinaporque son una versión abreviadade la operaciónque realiza una
instrucción.También,dado que las instruccionesdescriben las operacionesdel
programa,se facilita su comprensióny se reduce la posibilidadde cometer
errores.Sin embargo,esta listade comandostodavíatiene que convertirseen
códigode máquinaya quees el formatoreconocidoporel microprocesador.Para
estaconversiónhaydos programasque se usancon muchafrecuenciay que se
conocencomocompiladoresparalenguajeensamblador.
El primerprogramaes de grandescapacidadesy queofreceunagranvariedadde
opcionesllamadoMASM (MacroAssembler,de Microsoft)y el segundoes utilizar
un debuggerincluidoen todas las computadorascon sistemaoperativoMicrosoft
(DOS o Windows),por lo que lo haceque esté al alcancede todos los usuarios
quetengancomputadorasconestascaracterísticas.
El programase llamaDEBUG y es un compiladorbasado en una arquitectura
IA-16como la del microprocesador8086.Algunascaracterísticasimportantesde
este programaes que puedecreararchivoscon extensión.COM,lo que permite
creararchivosejecutablesporel sistemaoperativoy porlo mismocreararchivode
un tamañomáximode 64KBytes.Tambiéntienela característicade que iniciael
segmentode codificacióndel programaen la localidad100Hde desplazamientoa
partirdelsegmentodecódigoindicadoenel registroCS.
Debidoa las característicasanteriores,el programaDebugserá la herramienta
quese usaráen lacodificacióndel lenguajeensamblador.
Pág.58
EL ASC DE LA MECATRÓNICA
INTRODUCCiÓN AL PROGRAMA DEBUG
Debuges una formafácil de empezara tenercontactocon el ha.rowarede la
computadora.Este programa muestra el contenido de los registros del
microprocesador,los registrosde la memoriaRAM, las instruccionesescritasen
losarchivoscon programasejecutablesy tambiénprogramarpequeñasrutinasen
ensambladorparatrabajardirectamentecon el microprocesadoro a travésde las
funcionesdelBiaS (BasicInputOutputSystem).
Generalmente, el programa Debug se encuentre en la carpeta
C:\Windows\Command,y podemosagruparsus funcionesde la siguienteforma:
· Ensamblarpequeñosprogramas
· Verel códigofuentedepequeñosprogramascon su códigode máquina
· Verel registrode banderasdelmicroprocesador
· Ejecutarpaso a paso las instruccionesde un programapara ver como
cambianlosvaloresde los registrosy memoria
· Modificaro insertarnuevosvaloresen la memoriaRAM
· Buscarvaloresbinarioso ASCII en la memoriaRAM
· Moverbloquesde memoriade unadireccióna otra
· Llenarbloquesdememoriaconciertosvalores
· Leero escribirsectoresde losdiscosdel sistema
11
Para iniciarunasesióndelprograma,hayqueabrirunaventanaDOS, en
ocasiones definidacomo 'Símbolo del sistema'y después escribir el
comandodebug.
Los comandosdel Debugse puedendesplegaren la pantallacon el comandode
ayuda'?' y se puedenclasificarencuatrocategorías
1. Creacióny lecturadeprogramas
A Ensamblarunprogramausandomnemónicos
G Ejecutarunprogramaescritoen memoria
R Mostrarel contenidode los registrosdelmicroprocesador
P Avanzarunprocedimientoo loop
Pág.59
EL ASC DE LA MECATRÓNICA
T Avanzarunainstruccióna lavez
U Desensamblarenmnemónicosunprogramaescritoen memoria
2. Manipulaciónde memoria
C Comparados rangosdememoria
D Mostrarel contenidode lamemoria
E Editarregistrosde memoria
F Llenarunrangode memoriaconvaloresdefinidos
M Moverunrangode memoriadeunadireccióna otra
S Buscarunvalordefinidoenunrangode memoria
3. Misceláneas
H Realizarunsumao restahexadecimal
Q SalirdelprogramaDebugy regresaralDOS
4. Entrada- Salida
I Leerunbytedesdeunpuerto
O Escribirunbytea unpuerto
L Cargaren memoriadatosdeldisco
W Escribirdatosaldisco
N NombrarunarchivoparaloscomandosL y W
Al iniciarlasesióndelprograma,lossiguientesvaloresquedandefinidos
1. Todos los segmentosde datos se fijan en la parte inferiorde la memoria
disponible,justoarribadelprogramadebug.exe
2. El apuntadorde instrucciones(IP) se estableceen0100H
3. Debugreserva256 bytes para la Pila en la partesuperiordel segmentode
memoria
4. Se reservan64KBytesde memoria
5. En caso de iniciarel Debugcargandoun programaen memoria,los registros
BX:CXcontienenel tamañodelarchivo
6. El registrodebanderasse definede lasiguienteforma:
NV banderaoverflow=O
UP banderadedirección=up
El Interrupciónhabilitada
PL banderade signo=positivo
NZ banderacero=O
NA banderaauxiliardeacarreo=O
PO paridadnon
NC banderade acarreo=O
Pág.60
EL ASC DE LA MECATRÓNICA
ESTRUCTURA DEL LENGUAJE ENSAMBLADOR
En el lenguajeensambladorlas líneas de código,en su formatomás simple,
constan de dos partes, la primeraes el nombre de la instrucciónllamado
OperatíanCade y la segundason los parámetrosdel comando,los cuales se
presentanenel formatode primeroel destinoy despuéselorigen:
comando
ADD
destino,origen
AX, 1234
Aquí ADD es el comandoque se va a ejecutar,suma, AX es el registrodestino
dondeva a quedarel resultadoy tambiénel primervalora operary 1234es el
segundovalorquese vaa operar.
El nombre de las instrucciones,mnemónicoso códigos de operación,están
formados por dos, tres o cuatro letras. Algunos comandos no requieren
parámetrosy otrossolamenterequierenuno.
Para poder indicarque el valor a operaro que se va a asignara un registro
provienede unalocalidadde memoria,se usaránloscorchetesparasu notación
ADD AX, [1234]
Para crearel primerprogramay empezara ilustrarel proceso,a continuaciónse
presentaunprogramaquesumadosvalores.
El primerpasoes iniciarel programaDebug.
Para ensamblarun programase utilizael comando"A".En formapredeterminada
se asignarála localidad100Hcomode iniciodelprograma.
-A ~
Al hacer esto apareceráen la pantallala direcciónen memoriaen formatode
CS:0100,quepodríaseralgocomo
OCFC:0100 _
Donde los cuatrodígitos hexadecimalesdel lado izquierdopuedenvariary los
cuatrodígitosdel lado derechodebenser 0100 hexadecimal.A continuaciónse
escribenlassiguientesinstrucciones
OCFO:0100mov ax,5
OCFO:0103mov bx,2
OFCO:0106add ax,bx
OFCO:0108hit
Almacenael valor5 enAX
Almacenaelvalor2 en BX
Sumael valorde BX aAX
Detienela ejecución
Pág.61
EL ASC DE LA MECATRÓNICA
Para regresaralpromptdel Debugse oprimela teclaEntero Returnrepresentada
porel símbolo~
Para ejecutarel programase utilizael comandoG indicandoel origeny el fin de
las localidadesde memoriausados, lo que permitiráque el programatermine
mostrandoel valor de los registrosy podamoscomprobarel resultadode la
funciónprogramada.
- G=100108~
AX=0007 BX=0002 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=0CFC ES=0CFC SS=0CFC CS=0CFC IP=0108 HU UP El PL HZ HA PO HC
0CFC:0108F4 HLJ
PROGRAMACiÓN
Programaren lenguajeensambladornoes muycomún,yaquepuederesultarmuy
complejoen rutinasmuy largas,Aún así, tiene ventajas que conviene tener
presentey usarlasadecuadamente.
· Algunasveceslas rutinasescritasen ensambladorpuedenser másrápidas
encomparacióna lascreadasporel compilador.· Algunasveces las rutinasen ensambladorpuedentenerun tamañomenor
en comparacióncon las creadasporel compilador,ya quepuedenhacerse
para cumplir un algoritmo específico que no tenga necesidad de
validacionesredundantes.
· El ensambladorpermiteprogramardirectamentecaracterísticasparticulares
del hardwaredel sistemao de dispositivosexternosy que puedenser
difícileso imposiblesde usardesdeunlenguajedealtonivel.
· Aprendera programaren ensambladorsirveparateneruna mejorideade
cómo trabajan las computadoras y los dispositivos electrónicos
programables.
Cada tipode CPU entiendesu propiolenguajede máquina.Las instruccionesen
lenguajede máquinason númerosalmacenadoscomo bytes en memoria.Cada
instruccióntiene su propio y único código llamado código de operación,
mnemónicou OpCode. Estos comandosen los microprocesadoresIntel de la
familiax86varíanen tamaño,pudiendotenerunacantidadentreOy 3 parámetros
y uniéndoseendiferentesgruposfuncionales.
Pág.62
EL ASC DE LA MECATRÓNICA
INSTRUCCIONES BÁSICAS
El modelológicodel microprocesadores un grupode registrosque sirvencomo
variablesparamanipularlosdatosquetienequeprocesar.Por lo tanto,unade las
instruccionesbásicasy más usadas es la que sirve para asignarvaloresa los
registros,MOV,estandoformadapordosoperandos:MOV DESTINO,ORIGEN
TRANSFERENCIA DE DATOS
MOV
XCHG
OPERACIONES ARITMÉTICAS
ADD
SUB
MUL
DIV
IMUL
.IDIV
INC
DEC
OPERACIONES LÓGICAS
AND
OR
NOT
XOR
OPERACIONES DE CORRIMIENTO
ROR
ROL
SHR
SHL
OPERACIONES DE COMPARACiÓN
CMP
TEST
CMPS
Movervaloresa registros
Intercambiarvaloresentreregistros
Suma
Resta
Multiplicaciónsinsigno
Divisiónsinsigno
Multiplicaciónconsignode enteros
Divisiónconsignode enteros
Incrementoen 1
Decrementoen 1
Operador'Y'
Operador'O'
Negacióno complemento
Operador'O exclusivo'
Rotara laderecha
Rotara la izquierda
Recorrera laderecha
Recorrera la izquierda
Comparacióndedosvalores
Comprobaciónde 1 bit
Comparaciónde cadenas
Pág.63
EL ASC DE LA MECATRÓNICA
OPERACIONES CON LA PILA
POP
POPA
PUSH
PUSHA
Sacadelapila
Sacatodoslosregistrosdelapila
Introducevaloresa lapila
Introducetodoslosregistrosa lapila
OPERACIONES DE TRANSFERENCIA INCONDICIONAL
JMP
CALL
RET
Salto
Llamadaa subrutina
Regresa,finde subrutina
OPERACIONES DE TRANFERENCIA CONDICIONAL
JZ / JNZ
JS/JNS
JE/JNE
JG / JNG
JLE / JNLE
OPERACIONES DE ENTRADA I SALIDA
Saltosi labanderacero
Saltosi labanderasigno
Saltode la banderaigual
Saltosi labanderamayor
Saltosi banderamenoro igual
IN Lecturade puertos
OUT Escriturade puertos
CONTROL DE CICLOS
LOOP
LOOPNZ
CONTROL DEL PROGRAMA
Ciclo
Ciclo si bandera cero
HLT Pararlaejecución
NOP No realizaroperación
Pág.64
EL ASC DE LA MECATRÓNICA
EJEMPLO DE PROGRAMACiÓN EN LENGUAJE ENSAMBLADOR
Antesde elaboraralgúnprogramacomplejo,es convenienteanalizary diseñaruna
solucióndel problemaque se quieretratar.Para la codificaciónde programasen
lenguajeensamblador,la metodologíade diagramasde flujo es adecuadapara
realizarel análisisy diseño.
Como primer ejercicio, sumaremosdos números de acceso inmediatoy el
resultadose almacenaráen la localidadde memoria120Hdel segmentoactualde
datos.
El algoritmoy lacodificaciónes la siguiente:
1. El primerbloqueestableceel inicio,loque
se puedeinterpretarcomoiniciarlasesión
enel programaDebug
Los primeros bloques marcan la
asignaciónde valoresen los registrosde
trabajo,iniciandopor cargar la dirección
de memoriadondese va a almacenarel
resultado
Se cargael valordel primernúmeroen el
acumulador, el cual también será el
registrodondese va a cargarel resultado
de laoperaciónsuma
Se cargael valordel segundonúmeroen
el registrode datos,el cual es un registro
de propósitogeneral y permite realizar
operacionesconel acumulador
Se realiza la operación de suma y el
resultadose almacenaenel acumulador
Una vez obtenido el resultado de la.
operación,se transfierea la localidadde
memoria
El programase puedeterminarcon una
llamadaal sistemaoperativo,la cual es
unafuncióngrabadaen el BIOS.
CS:0100
CS:0103
CS:0106
CS:0109
CS:010B
CS:010D
movbx,120
movax,1234
movdx,4567
addax,dx
mov[bx],ax
int20
Pág.65
Cargaelvalorde I 2.
memoriaenelregistro
base
Carga Primer:
3.
númeroenelregistro
acumulador
I
4..
I
Cargael segundo
númeroenel registro
dedatos I 5.
6.
Sumalosdosnúmeros
I
7.
t
I
Almacenaelresultado
enmemona
EL ASC DE LA MECATRÓNICA
Comoresumen,elejercicioanteriorse codificaríasiguiendolossiguientespasos:
1. Se abreunasesiónDOS
2. Se ejecutala herramientaDebugdesde la rutaque se quieraguardarel
programa
3. Se codificanlas instruccionesconelcomandoA
4. Se ejecutael programaconel comandoG.
5. Paraguardarel códigose siguenlossiguientespasos
a. El tamañodel archivose escribeen los registroBX:CX. En este
caso,BX=Oy CX=100
b. Con el comandoN se asignael nombredel archivo,el cual será
suma.com
c. Con elcomandoW se grabael programaen la rutaseleccionada
(c.\'ISfrobolodelsistema.~.debug
:'>debug
a
D03:0100rooubx~120
'D03:0103 roouax~1234
D03:0106 rooudx~456?
D03:0109 add ax~dx
D03:010B roou [bx]~ax
D03:010D int 20
D03:010F
9
1 prograroa ha terroinado de forroa norroal
rcx
X 0000
:10D
H suroa.coro
W
scribiendo 0010D bytes
Pág. 66
EL ASC DE LA MECATRÓNICA
Capítulo8
lenguajee
Pág.67
EL ASC DE LA MECATRÓNICA
lenguajee
DEFINICiÓN
La programaciónen lenguajeensambladores útilen algunasfuncionesde bajo
nivelenfocadasal manejodirectodelhardware.Por otrolado,C es unlenguajede
alto nivel que a menudo se utiliza en vez del lenguaje ensambladorpara
programarmicroprocesadoresy aplicacionesavanzadas,ya que cuentacon un
compiladormás poderosoquesimplificael trabajodel programadory beneficiala
interfazconel usuario.
Hay muchasreferenciasquepresentana detalleel usodel lenguajee, por lo que
en estecapítulose pondráénfasisen la formaen cómocombinarun programaC
con rutinasensamblador.
DISEÑO DE UN PROGRAMA
Decirque e es un lenguajeque cuentacon un compiladorsignificaque hay dos
etapasparagenerarunaaplicaciónejecutable.La primeraconsisteen escribirun
códigobasadoencomandosC y querepresentala lógicadiseñadaen el algoritmo
del programay la segundaparteconsisteen la traducciónque se hace de ese
códigoa lenguajede máquina,lo que permitirásu posteriorejecución.Escribirun
programaen C es algo más, por lo que convieneobservarlas recomendaciones
de lossiguientessietepasos:
1. Análisisde losobjetivosdelprograma
Esta etapaes muyimportante.En ellase establecenlos datosde entrada,
de salida,la formaen la quese van a procesary la funcionalidadtotaldel
programa.Esta etapa no se tiene que asociar a ningún lenguajede
programaciónni a comandosespeciales.Entremejorsea la definiciónde
estaetapa,lacodificacióny pruebasdelprogramase facilitarán.
2. Diseñodelalgoritmo
Una vez que se tiene un clara concepcióndel problemaa resolver,la
siguienteetapaes definircómose va a organizarel programa,cómose van
a representarlosdatosy quécomunicaciónvaa tenerconel usuario.
3. Codificacióndelalgoritmo
Esta etapa es la traduccióndel algoritmoen la secuencianecesariade
instruccionesusandoexclusivamentecomandose y que generalmentese
escribenen un archivosimplede textoal quese le llamaarchivode código
fuente.
Pág.68
EL ASC DE LA MECATRÓNICA
4. Compilacióndelcódigo
El siguientepaso es compilarel código fuente, es decir, traducirloa
comandosqueel microprocesadorpuedaentendery ejecutar.Duranteeste
proceso, el compiladorpuede incluir algunas librerías externas para
terminarel programafinal. Estas libreríasson rutinasestándarque se
pueden usar. El compiladortambiénverifica que la codificaciónsea
correcta,por lo que en caso de habererrores,estos serán notificadosal
programador.
5. Ejecucióndelprograma
Una vez generadoel archivoejecutable,está listoparaprobarse.Ces un
compiladorque genera archivosque se puedenejecutaren diferentes
ambientes,por lo que en la mayoríade los casos, pueden correr en
diferentessistemasoperativos.
6. Pruebasy correccióndeerroresenelalgoritmo
Ahoraqueya se tieneunaaplicaciónejecutable,hayqueestarsegurosde
que manipulay ofrecela informacióncorrectamente.Pude sucederque el
programasí funcionaperolos resultadosson incorrectos.
7. Mantenimientoy actualizaciones
La últimaetapaconsisteen manteneruna aplicaciónútil para el usuario.
Unavezquese tieneun programacorriendoperfectamente,ahorahayque
analizar nuevos cambios o nuevas adaptaciones,lo que nos llevaría
nuevamenteal primerpaso.
ESTRUCTURA DE UN PROGRAMA
La programacióne se ajusta a la metodologíadefinidacomo programación
estructuradaque,en pocaspalabras,defineel formatode organizacióndel código
en el programafuente.Esta metodologíase resumeen diseñaruna codificación
modular de las funciones del programacon una clara etapa preliminarde
definiciónde variables.Las funcionesdel programaestaráncoordinadaspor una
funciónprincipalllamadamain().
Esta estructurase puederepresentaren una formagráficay aclararsus partes
principales,según se muestraa continuación.La diferenciaentre un programa
simpley uno complejoradicaen el númerode funcionesy la lógicadel algoritmo,
perolaestructuraes igualenamboscasos.
Por lo tanto,es recomendabletomarencuentala estructuray apegarsesiemprea
ella,lo cualfacilitarála codificación,sus pruebasy el mantenimientoposteriorque
se tengaquehacerdelcódigo.
Pág.69
EL ASC DE LA MECATRÓNICA
ProgramatípicoC
#include< >
mainO
I
I
~
~ I funciónaO
Instruccionesde
preproceso
Funciónprincipal
y primeraenser
llamada
Declaraciones
I
I
~ I Declaraciones
~ I funciónbO
I
I
~ I Declaraciones
Las funcionesson
losbloques
funcionalesde C
I
I
~
El siguientees unejemplodecómocodificarunprograma:
Las funcionesestán
formadasde
declaraciones
Palabras reservadas
para:
Pág.70
. Declaraciones
. Asignaciones
. Funciones
. Control
. Nulos
EL ASC DE LA MECATRÓNICA
r Codificaciónmínimade un programa*/
#include<stdio.h>
main()
{
}
intnum; /*definicióndelavariablenum*j
num=1; /*asignacióndelvalora lavariable*j
printf("Esteesmiprimerprograma\n"); j*impresióndelmensaje*j
printf("Minúmero%desmifavorito",num);
return(O);
Aumentandounafunciónenestesimpleprogramaquedaríade lasiguienteforma:
rCodificaciónmínimadeunprogramaconunafunción*/
#include<stdio.h>
main()
{
}
linea()
{
}
intnum; /*definicióndelavariablenum*j
num=1; j*asignacióndelvalora lavariable*j
printf("Esteesmiprimerprograma\n"); j*impresióndelmensajeenpantalla*j
linea();
printf("Minúmero%desmifavorito",num);
return(O);
printf("Estaeslasegundalínea\n");j*impresióndelmensajeenpantalla*j
Pág.71
EL ASC DE LA MECATRÓNICA
PALABRAS RESERVADAS
C tienealgunaspalabrasreservadasque usa comocomandospara codificarlos
algoritmos.Cada librería que se incluye aumenta el número de palabras
reservadasdentrode uncódigofuente.
El estándarANSI C contienelassiguientespalabras
ESTRUCTURA DE DATOS
Las computadorasmanipulaninformación.¿Cómo se organizan los datos en
lenguajesde altonivelcomoC? La unidadbásicade informaciónen el bit,cuyos
valoresestablecenuna de dos posibilidadesmutuamenteexcluyentes,"1"Y "O".
La agrupaciónde estos bits representadiferentesdatos y se clasificande la
siguienteforma:A losdiferentesgruposse lesdenominabyte(8 bits),palabra(16
bits)y palabradoble(32bits)
VALORES
O a 255
O a 65,535
-32,768a 32,767
O a 4,294,967,295
-2,147,483,648 a
2,147,483,647
Pág.72
auto break case char const continue
default do double else enum extern
flota for goto if int long
register return short signed sizeof static
struct switch typedef union unsigned void
volatile while
NOMBRE TAMAÑO
char caracter 1 byte
unsignedint enterosinsigno 2 bytes
int enteroconsigno 2 bytes
unsignedlong enterolargosin 4 bytes
signo
long enterolargocon 4 bytes
signo
floatconsigno comaflotante,real 4 bytes
floatconsigno comaflotante 8 bytes
largo
EL ASC DE LA MECATRÓNICA
Funciónprintf
Esta funciónpermiteimprimirinformaciónen la pantalla,tomándolacomosalida
estándar.El formatoes printf(''formato'',argumentos).Ejemplo
printf("Minúmero%des mifavorito",num)
Hay algunoscaracteresindicadoresde formatoque permitenuna determinada
representacióna lasalida.Los principalesson:
CARACTER ARGUMENTOS RESULTADO
Id,lu,lx, lo
entero
entero
entero
entero
real
real
caracter
cadenade
caracteres
entero
Enterodecimalconsigno
Enterodecimalsinsigno
Enterooctalsin signo
Enterohexadecimalsinsigno
Realcon puntoy consigno
Notaciónexponencialconsigno
Caracter
Cadenadecaracteres
d, i
u
o
X,X
f
E,e
c
s
Enterolargo
Hayalgunassecuenciasde escapequepermiteimprimirconformatoel texto.Las
principalesson:
SECUENCIA SIGNIFICADO
\n
\t
\b
\r
V'
Nuevalínea
Tabulador
Espacioparaatrás
Retornode carro
Comillas
Variables
Unavariablees un identificadorusadopararepresentarciertovalor.Cada variable
es de un tipo de datos específico.Es una buenaconsideraciónque todas las
variablesempiecencon letrao con el caracter_. C es sensiblea mayúsculasy
minúsculasen ladefinicióndevariables..Ejemplos
intnum;
float_valor;
unsignedlongentero;
Pág.73
EL ASC DE LA MECATRÓNICA
Expresiones
Una expresiónrepresentauna unidadde datossimple.Puede estarformadapor
identificadoresy operadores.
A+b
valor1*valor2
Funciónscanf
Esta funciónpermiteleer datosde usuariosdesde la entradade datosestándar
quees elteclado..El formatoes scanf("formato",argumentos).Ejemplo
scanf( "%f",&numero);
Esta sentencialee un númeroen coma flotantey lo almacenaen la variable
numero.
Operadoresaritméticos
Los operadoresaritméticosene son
OPERADOR FUNCiÓN
*
Suma
Resta
Multiplicación
División
Módulo,restode ladivisiónentera
+
I
%
Operadoresrelacionales
Los operadoresrelacionesen e son
OPERADOR FUNCiÓN
j=
Menorque
Mayorque
Menoro igualque
Mayoro igualque
Igualque
Distinto
<
>
<=
>=
--
Pág.74
EL ASC DELA MECATRÓNICA
Operadoreslógicos
Los operadoreslógicosene son
OPERADOR FUNCiÓN
&&
11
AND
DR
NDT
Operadoresdeasignación
La formageneraldeloperadordeasignaciónes
identificador=expresión
El operadorde asignación=y el de igualdad==son diferentes.La asignaciónse
efectúade derechaa izquierda
Operadoresdeasignacióncompuestos
e permitela utilizaciónde losoperadorescompuestos,cuyosignificadoes
EXPRESiÓN EXPRESiÓN EQUIVALENTE
J +=6
J -=6
J *=6
J /=6
J%=6
J=J+6
J=J-6
J=J*6
J=J/6
J=J%6
SENTENCIAS DE CONTROL
e ofrecevariassentenciasdecontrol,lascualesvana permitircontrolarel flujodel
programasegúnla evaluaciónde sus condiciones.Los formatosbásicosson los
siguientes:
Sentenciaif
if (expresión)
sentencia;
Si expresiónes verdaderase ejecuta sentencia.Expresióndebe estar entre
paréntesis.En casodequesentenciasea compuesta,entonces
Pág.75
EL ASC DE LA MECATRÓNICA
if (expresión)
{
sentencia1
sentencia2
sentenciaN
}
Sentenciaif -else
if (expresión)
sentencia1;
else
sentencia2;
Si expresiónes verdaderase ejecutasentencia1. En el caso de ser falsa se
ejecutasentencia2. Si lassentenciassoncompuestasse encierranentre{ }.
Sentenciafor
for (expresión1;expresión2; expresión3)
sentencia;
Inicialmente se ejecuta expresión 1. Esta expresiónse inicializacon algún
parámetroque controlala repeticióndel ciclo. La expresión2 es una condición
quedebeser ciertaparaquese ejecutesentencia.La expresión3 se utilizapara
modificarlosvaloresdelparámetrode laexpresión1. Ejemplo
main O
{
intvalor;
for (valor=O;valor<100;valor++)
printf("%d\n",valor);
}
Sentenciawhile
while(expresión)
sentencia;
Sentenciase ejecutarámientraselvalor de expresiónse verdadero,la cual es
evaluadaen primerlugar.Lo normales quesentenciatengaalgúnelementoque
modifiqueelvalordeexpresión,loqueimplicaquesentenciaes compuesta.
Pág.76
EL ASC DE LA MECATRÓNICA
while(expresión)
{
sentencia 1
sentencia 2
sentenciaN
}
Sentenciado-while
do
sentencia
while(expresión);
Sentenciase ejecutamientraselvalorde expresiónseaverdadero.En estetipode
ciclos,sentenciase ejecutapor lo menosuna vez. Lo normales que sentencia
incluyaalgúnelementoque modifiqueel valorde expresión,lo que implicaque
sentenciaes compuesta
do
{
sentencia 1
sentencia 2
sentenciaN
}while(expresión);
Sentenciaswitch
Switch(expresión)
{
caseexp1:
sentencia1;
sentencia2:
sentenciaN
break;
caseexp2:
sentencia21;
sentencia22:
PáQ.77
EL ASC DE LA MECATRÓNICA
sentencia2N
break;
default:
sentenciad1;
sentenciad2:
sentenciadN
}
Expresióndevuelveun valorenteroy las expresionesexp 1 y exp2 representan
valoresenterosigualesa lasquedevuelveexpresión.
FUNCIONES
Una Funciónes un segmentode programaque realizauna determinadatarea.
TodoprogramaC constade unao variasfunciones,dondemainOes la principal.
El usode funcionespermitedescomponerenmóduloslaprogramación.
El formatogeneralde lafunciónes
tiponombre(tipo1arg1,tipo2arg2,...tipoNargN)
{
/* Códigode lafunción*/
return(expresión);
}
Los argumentosse denominanparámetrosformalesy el tipo de la funciónse
refiereal tipo de dato que regresa.La sentenciareturnfinaliza la ejecucióny
devuelveel valora lafunciónque realizóla llamada.
Si la funciónno requiereparámetrosy no regresaningúntipo de dato se pone
void.
voidnombre(void)
{
}
/* Códigode lafunción*/
Respectoal uso de funcioneshay que tomaren cuentaque una funciónC sólo
puededevolverunvalory quenoes posibleanidarfunciones.
Pág.78
EL ASC DELA MECATRÓNICA
Declaracióndeprototipos
La formageneralde declaraunprototipoes
tiponombre(tip01arg1,tip02arg2,...tipoNargN);
La declaracióno prototipode una funciónespecificael nombrede la función,el
valorquedevuelvey los tiposde parámetrosqueacepta.Estadeclaracióntermina
con ;y no incluyeel cuerpode lafunción.
tiponombre(tip01,tip02,...tipoN)/* Prototipo*/
tiponombre(tip01arg1,tip02arg2,o.. tipoNargN)/* Definición*/
{
/* Códigode la función*/
return(expresión);
}
Llamadasafunciones
Para llamara una funciónse especificael nombrey la listade parámetros.Por
ejemplo
suma( 2 ,4):
donde los parámetrosformalesdebenser del tipo definidoen el prototipode la
función.
INLlNE ASSEMBLER
El lenguajeensambladorsirve para muchospropósitosentre los que se puede
mencionarel aumentode velocidaden la ejecuciónde unafunción,la disminución
en el uso de memoriaya que una rutinabiendesarrolladano necesitaespacio
adicional para validacionesinnecesariasy el control que se tiene sobre el
hardwaredelsistema.
El ensambladorembebidoen el código C es la opción para contarcon estos
beneficiosy es algofácilde implementarya que el compiladorensambladorestá
incluidoen elcompiladorC de lamayoríade las marcasy versiones.
El únicocuidadoquehayqueteneres que losprogramaspodríannoserportables
al 100%ya queel códigoensambladorestádestinadoa untipode hardwareo de
Pág.79
EL ASC DE LA MECATRÓNICA
microprocesadoren especial, Las siguientes consideracionestambién son
importantes:
· El compiladorC no va a tratarde optimizarel códigoensamblador,por lo
tantonohabrácorreccióndeerrores.
· Los bloquesde códigoensambladorpuedenmodificarlos valoresde los
registrosdel microprocesador,por lo que el controlqueda en manos del
programador
· Se limitatodaopcióndeoptimizacióndelcódigofuenteengeneral
_asm (Palabrareservada)
La palabra_asm es un comandoreservadoen variasversionesde compiladores
C. Este comandopermitela ejecuciónen línea de códigoensambladory puede
ser usadoen cualquierpartedel códigofuenteC. Este códigoensambladordebe
estarentre{ }precedidodelcomando_asm.
El formatodelcomandoes
_asm{
mnemónico(destino,origen)
mnemónico(destino,origen)
}
En casodequeel códigoensambladorsea unasola línea,se puedenevitarlos{ }
Comoprimerejemplode unafunción,se presentael siguientecódigo
voidpantalla( void)
{
mov ah,OO
moval,03
int10
}
}
Estafunciónconfiguraen modode textode 80x 25 la pantallaDOS y estáescrita
con el formalismoapropiado.
Estecódigotambiénse podríaescribirde lasiguienteforma
Pág.80
EL ASC DE LA MECATRÓNICA
_asm movah,OO
_asm moval,03
_asm int10
Este códigomuestraque no es necesarioterminarel renglóncon ; ya que_asm
es uncomandoqueincluyeunseparador,porloquetambiénse podríaescribir
_asm movah,OO _asm moval,03 _asm int10
Etiquetas
Como en cualquiercompiladorC, el código ensambladorse auxilia de las
etiquetasparacontrolarel flujodelprograma.
Lasetiquetasse representanconsu nombreseguidodedospuntos
Las etiquetasno son sensibles a mayúsculaso minúsculasy los diferentes
compiladorestienendos formasde tratarlas:dentrode loscorchetesdel comando
_asmo fuerade loscorchetes.Ejemplo
voidpantalla( void)
{
_asm
{
}
inicio:
_asm
{
movah,f
dec ah
jnz inicio
int20
}
}
Estarutinaasignaal registroahel valorf y lodecrementahastallegara cero.Para
formarel ciclo,se usa la etiquetainicioparavolvera evaluarel resultado.
Pág.81
EL ASC DE LA MECATRÓNICA
Capítulo9
lenguajesvisuales
Pág.83
EL ASC DE LA MECATRÓNICA
lenguajesvisuales
EL ENTORNO DE PROGRAMACiÓN
Los lenguajesde programaciónson herramientasquemedianteunasecuenciade
comandos,nospermitencodificarinstruccionesde maneraqueseanentendidasy
ejecutadasporel microprocesadorde unacomputadora.
Hay varias metodologías para comunicar esta lista de comando al
microprocesador.Un intérpretees aquel lenguajeque no trabaja en código
máquinaen forma directa, sino que va traduciendocada instrucción.Estos
lenguajesson muchomás lentosque los lenguajesde alto nivel que trabajan
ejecutandoinstruccionesdirectamenteen código máquina. Un ejemplo muy
populardeestetipode lenguajeses el QBASIC.
Los lenguajesque ejecutanlas instruccionesen lenguajemáquinatienen un
traductor llamado compilador.Un compiladortraduce las instruccionesdel
lenguajecontenidasen el código fuente (instrucciones)a código máquina,de
maneraque el programano necesitainterpretaro convertircada instrucción.
Debidoa estoes muchomásvelozque un intérpretey por supuestomuchomás
eficiente.La calidaddel programanodependede estaeficiencia,ya quetantoun
métodocomoel otropuedenteneralgoritmosdecalidad.
A partirde la apariciónde C, el granlenguaje,y Pascal, se dividenlos lenguajes
en estructuradosy no estructurados.Los lenguajesestructuradosson aquellos
que en su codificaciónusan una estructurajerárquicade procedimientosy
funciones,mientrasque los lenguajesno estructurados,comoel Basic,usanuna
codificaciónquese basa en líneasde programación,permitiendoal programador
"saltar"de una línea de instruccióna otra,haciendoque el códigosea algunas
vecesdifícilde entendery muydifícilde mantener.
Con el tiempo surge una varianteque se aplica a todos los lenguajes:La
orientacióna objetos.Ya nosolo se hablade programaciónestructurada,sinoque
los módulosde programaciónsonvistoscomoobjetos,lasestructurasrepresentan
objetosy/o funcionesque se adaptanen formagenerala procesosespecíficos,
haciendoquelaprogramaciónmodularalcanceungrandesarrollo.
El modelo de objetos engloba los conceptos de encapsulación,herencia y
poliformismo,los cualesse aplicana los datosy al tipo de bases de datosque
almacenala información.
La orientacióna objetossignificala agrupaciónde entidadesde datosde forma
global,de tal maneraque puedanser interpretadosde unaformacomúnpor una
mismaestructurade programación.
Pág.84
EL ASC DE LA MECATRÓNICA
Actualmente,con la sólida evoluciónque han tenido los sistemasoperativos
visuales,todoes visual,todoes iconos,todoes botones,todoesventanas.Por lo
tanto,paraprogramaren lenguajesvisuales,primerohayque comprenderlo que
son estos sistemasoperativos,del que Windows puede ser una marca muy
comercial.
la formade programarlos sistemasevolucionóradicalmente.Con Windowses
preciso programarconservandolas convencionesdel mismo, guardandosus
característicasy funcionalidades.
la formade programarse basa en objetos,cada uno de los cuales tiene sus
propiedadesy funciones.Se basa en la programaciónde eventospara dichos
objetos. Otro detalle es que la programaciónse basa en componentes
denominadosOLE, OCX y ActiveX,loscualesreducennotablementeel trabajode
la programación al proporcionar herramientas antes impensadas en la
programaciónD.O.S.
Todos los lenguajesvisuales ofrecen RAD (Rapid Aplication Development)o
Wizards,con lo cual comenzarona prometerhaceraplicacionesen pocotiempo,
inclusopara inexpertos.Ahora las herramientasde programaciónson poderosas.
Son casi unsistemaoperativocon entornosde desarrolloavanzadosy excelentes
Debuggers.
los paradigmasde la programaciónWindows,entreotros,son:
-BorlandDelphi(laevolucióndelPascal)
- VisualFox (laevolucióndelXbase)
-VisualBasic(laevoluciónde Basic)
-VisualC++(laevolucióndelC/C++)
las incursionescada vez mas innovadorasde Microsoftparecen imponera
Internet como el centro de desarrollo de aplicaciones .NET. las nuevas
tecnologías WEB inundan el mercado: PHP, ASP, XMl, DHTMl, lo cual
enriquecenlaformade manejarla informacióny su presentaciónal usuariofinal.
Es de esperarseque los lenguajesVisuales dominenel mundo de las PC's
durantemuchotiempo,por lo menosmientrasno evolucionende otramaneralos
SistemasOperativos.los lenguajesde programaciónevolucionana medidaquelo
hacen los Sistemas Operativos en que funcionan. Nunca un lenguaje de
programacióndeterminóun Sistema Operativo,por el contrario los Sistemas
Operativosdeterminaronlos lenguajesde programación.
Pág.85
EL ASC DE LA MECATRÓNICA
MS VISUAL BASIC
VisualBasic ha sido una plataformaimportantede desarrolloya que ofreceuna
fácil programaciónde aplicaciones.Visual Basic fue diseñado para crear
aplicacionesen sistemasoperativosde 32 bits, por lo que es una herramienta
desde la apariciónde Windows95. Estas aplicacionesde 32 bits son muy
eficientesdebidoal espaciode direccionesquepuedenmanejaren memoria,por
lo que las aplicacionesaprovechanlos recursosque ofreceel sistemaoperativo
siendomásrobustasy con buenascapacidadesdetrabajoenentornosmultitareas
y multiprocesos,superandolasantiguasaplicacionesde 16bits.
Se puedenconcluirlassiguientesventajas:
· Acceso al espacio completode direccionesde 32 bits de memoriacon
microprocesadores386y superioralcanzandohasta4 GBytes
· Funcionamientomejoradograciasa loscálculosy operacionesde memoria
realizadoscon32bits
· Mayor proteccióncontrafallas del sistemacomo resultadode acciones
inapropiadaspor partede otrosprogramas,ya que cada aplicaciónVisual
Basicusaunaregiónprotegidade memoria.
· Capacidadesrealesde multitarea,ya que la ejecucióndel programase
puededetenerencualquiermomentoy desarrollarotrasfunciones.
· Accesoa laAPI Win32del sistemaoperativo,teniendoaccesoa funciones
másavanzadasde programación
Para escribirun programaen VisualBasicse deberádeterminar,en primerlugar,
cuálesseránlas tareasquedeberádesarrollar;posteriormente,se deberádiseñar
la pantallao interfazdel usuario,la cual contendrádiferentescomponentesu
objetos que servirán para la interaccióncon el usuario y desarrollaránlas
funcionesnecesariaspara el procesamientode datos;y por últimose hará la
programaciónde losobjetosy delsistemaengeneral.
Por lo tanto,desarrollaruna aplicaciónparaWindowsusandoVisual Basic suele
implicartrespasosgenerales:
1. Creaciónde la interfazdelusuario
2. Definiciónde las característicaso propiedadesde los elementospresentes
en la interfazdelusuario
3. Escribirel códigoasociadoa cadauno de los elementosde la interfazdel
usuario
Pág.86
EL ASC DE LA MECATRÓNICA
La interfazdel usuarioincluirátodos los menús, cuadrosde diálogo,botones,
objetosy dibujosqueel usuarioutilizaráparatrabajarcon laaplicación.Los menús
contendrántodas las opciones disponiblesen la aplicación;los cuadros de
diálogo, botonesy el cursor del mouse ayudaránal usuario a manipularla
aplicacióny la informaciónquese estaráprocesando;lasventanasy lasbarrasde
desplazamientopermitiránal usuarionavegarpor la informaciónmostradaen la
aplicación.
Parafacilitarel usode los programas,es convenienteutilizarlos objetospresentes
en la interfazdelusuariodeunaformaestándary predecible.
Una vez abiertala aplicación,se podráteneraccesoa la ventanade desarrollo
(IDE) paradefinirla formaen laquese verála interfazdelusuario.
... Projec!1 -Microsoft Visual Basic [disello] LJ(Q]@
&rchivo¡;;dición'ler ~oyectoEonMto ~ación E~ar !;onsuIt.Diagr I:!etramientasCO!!J)iementosVentanaAyyda
~'b.i ~gl BiÍ'I --:, ~~ .,~~~W~5tlt] 0,-105-- ¡r::-7~5X4995
g ~ 131 ~ ~ ~ Ámbito:p(oyectoactivo.
l'~8X:
~G
AJ8bT
Proyecto- Project 1 )Cx
.. .
I[J SI iD
~~Projectl(Projectl.Ybp)
E3t!i ForrWarios
~ Forml(Form1.frm)
I~Sl~~ Ip~~b~d~rd~'~~bl~~':-~F.'nI'!R!!lmrn1 X
. .
. ..... .-
IFonnIForm ~
Afabétlc. IPor catOQOrias I
Forml ...
1-31)
Fals.
O 8d-I8OOOOO(I'&.
1-fuedSingle
Protoq,oVersión2.0
True
True
13-SOPYPen
O-SoIid
1 ~
...........
... o.............
.....
. . . . : : : ~~.:..~~.:..~~: . . . . . . . . . .
...¡ : .."... . i'
.:::::: :::...::: ::: :::~ ~i~~~~~~¡~~:~~: ......OCJ
..J~
~.......
Ijjg~
~
.
. .... . Inc:iar Prueba .
.......
............
... ....... ....
.. ........
.. ..-
... . . . . . . . . .
. . . . . . . . .
Paraconstruirloselementosde la interfaz,bastaráconseleccionary arrastrara la
ventanadiseñadaparala aplicación(forma)los objetosdeseadosde las barrasa
la izquierdade los cuadrosde herramientas.Se trata de una labor realmente
sencilla.
Unavez creadoel elementose podrándefinirlas propiedadesasociadascon él y
posteriormenteintroduciendoel código que desarrollará las funciones del
elemento.Estacodificaciónse haráen laventanadecódigo.
Pág.87
EL ASC DE LA MECATRÓNICA
El lenguajede programaciónVisualBasic cuentacon cientosde instrucciones,
funcionesy caracteresespeciales, aunque la ventana de codificacióntiene
grandesayudasparafacilitary recordarlaescriturade las instrucciones.
Cabe mencionarqueel lenguajeVisualBasicnoes exclusivode esteproducto,ya
quetambiénloencontramosen lafamiliade productosde MS Office.
Unavezcreadaunaversióndetrabajodelprogramaquese estádesarrollando,la
siguienteetapa será probar el funcionamientoobtenidoy compararlocon los
objetivos fijados al principio. Verificar un programa implica analizar su
comportamientoen diferentescondicionesde operacióny simularsituacionesde
la vida real donde se usará. La ventana de desarrollo ofrece recursos y
herramientasquefacilitaránestetrabajo.
Si se deseadistribuirel programa,quegeneralmenteserá unade las intenciones
del desarrollode aplicaciones,se necesitarácompilarlopara generarun archivo
ejecutabley una pequeñaherramientade instalaciónen otras computadoras.
Todoslosprogramasdesarrolladosen VisualBasic requierenunoo másarchivos
denominados Librerías de Enlace Dinámico, DLL, para poder ejecutarse
correctamente,archivosquese incluiránen laversiónde distribución.
Estos pasos reseñanel ciclototalen la vidade desarrollode software,el cual se
puedeilustrarde lasiguienteforma:
Pág.88
.... Project1-MicrosoftVisualBasic[diseño]- [Forl111(Código)] [Q)
¡¡:I&rchivo!;.dición'1er oyectoEormatoQ.epuraciónEjecutarsonsultaDiagrama!:!erramientasComplementosVentanaAyyda _115'1
-,--, 'T- 111 t8 '§ eal Lin22.ColI'b' "" III '{ 1i!I,"'1'') c. 11_..- - - - --r--
..Id 131 ¡ji I!I Ámbto:PtOyectoactivo'_X I(General) ..:.J Icommand2_CliCk ..:.J . , .. X
_",¡I
Option Explicit : 1[1mlaG Private DeclareFunction InPort Lib "IOPort.dll" (ByVal portaddre3 B. ProjecU(Projedl.vbp)A(abi Private Declare Sub OutPort Lib rrrOPort. dll rr (ByVal portaddress As El.iti Formularios1::1.Forml (Form1.frm)
D
-1 Prívate Constpuerto=378-
P r. .. "l.. X
1*t************T.********************************************* IFormlForm -=..1
§EJ Rutinas de CARGAY DESCARGAde la aplicación
Afabética IPor categorías I.01 I***********************************************************
.!JiJ Forml '"
00 Appearance 1-3D
Private Sub Form_Load() AutoRedraw Flse -
-1 Image2.Visible =False Color -O &H_&
txtResultado.Visible =False BorderStyle 1-FixedSingfe
....... End Sub Caption ,PrototipoVersión2.0
C¡¡pcontrols True
ControlBox- True
Private Sub Commandl_Click() DrawMode 13- Copy Pen
'Textl.Text = inp(Text2.Text) DrowSt'(le O-Salid
End Sub DrawWidth I .x
¡<Nombre)
"" Devuelveel nombreusadoen el códigopara-' . lidentificarunobjeto.
EL ASC DE LA MECATRÓNICA
MS VISUAL C++
Cuandolos desarrolladoresde Microsoftplanearonla ideaque respaldaa Visual
C++,decidierontomarel compiladorde clase mundialC++y crearun entornode
desarrollocon un conjuntode herramientasque permitierana los programadores
crearaplicacionesWindowscon un nivelde facilidady rapidezsuperiora otros
entornosdedesarrollo.
Conestaherramienta,se introdujolatecnologíadedesarrolloa basede asistentes
con una nuevaversiónde las MFC (MicrosoftFoundationClass Library)más
potente,locualfacilitaenormementeeldesarrollode aplicaciones.
Al igualqueVisualBasicy otrasherramientasvisualesorientadasa objetos,Visual
C++es un entornode desarrollodiseñadoespecialmenteparacrearaplicaciones
gráficasorientadasa objetossobre una plataformade 32 bits. Para crear una
aplicaciónse crean ventanaspara acomodarcontrolesprogramablessegún las
funcionesdeseadasporel programador.
Pág.89
. 1
Analizary
diseñarlatarea
aresolver
5
2
Construirelprograma:Distribuir . Diseñary crearla
j interfazdelusuario. Definirlaspropiedades
deloselementosdela
interfaz
4 . Escribirelcódigo
Compilar asociado
3
Probaryeliminar ....
erroresde
codificación
EL ASC DELA MECATRÓNICA
En resumen,VisualC++en unaformageneral,tienelassiguientescaracterísticas
· Una bibliotecade clases,MFC, quedasoportea los objetosWindowstales
comoventanas,cajasde diálogos,controlesy objetosGOl (GraphicDevice
Interface).
· Un entornode desarrollointegradoformadopor un editor de texto, un
compilador,un depurador,un exploradorde códigofuente,administración
de proyectos,etc.
· Asistentesparael desarrollodeaplicaciones
· Galería de objetos incrustadosy vinculadosOLE (ObjectLinkingand
Embedding).Esto se refiere a software autocontenidoen pequeñas
unidadesdesoftwarequepuedereutilizarcualquieraplicación.
· Visualizacióny manipulaciónde datos de otras aplicacionesa travésde
objetosOLE
· Interfazpara múltiplesdocumentosque permitecrear una aplicacióncon
diferentesventanas(MOI,MultipleDocumentInterface)
· Cabecerasprecompiladasquereducenel tiempodecompilación
· Clases para la programaciónde hilos (threads),para implementarpáginas
HTML
· Creacióny usode libreríasdinámicas(OLL,DinamicLinkLibraríes)
· ProgramaciónInterneta travésdecomponentesActive-X
· Soporteparael estándarCOM(ComponentObjectMode~
· Objetosde accesoa datosOAO, quepermitael accesoa basesde datosa
travésdelmotorAccesso decontroladoresOOSC
· OLE OS como un proveedorde datos y objetos AOO (Active-X Data
Objects)
Creacióndeunaaplicación
El procesode desarrollode una aplicaciónVisual C++se puededividiren dos
fases generales:creacióndel esqueletode la aplicacióny el desarrollode la
aplicación.
Pág.90
EL ASC DE LA MECATRÓNICA
Cuandose creaunaaplicación,el primerpasoes ejecutarel asistenteAppWizard
quepermitirácrearel esqueleto.El procesose puederepresentarcon el siguiente
diagrama
Archivosfuente
AppWizard Aplicación
Archivosderecursos
La fase de desarrolloincluyeel diseñode la interfazdel usuario,la ediciónde
archivosfuente,compilarlaaplicación,el enlace,la pruebay ladepuraciónfinal.
Estas actividadesson interactivasy entrelazadas,por lo que la suma de
actividadesconcluyecon latareadiseñadapudiéndosesugerirel siguienteorden:
1. Crearel esqueletode la aplicaciónusandoAppWizard
2. Utilizarloseditoresde recursosparaconstruirla interfazdelusuario
3. Utilizar ClassWizard para crear el esqueleto de los controladoresde
eventosrelativosa losobjetosde la interfazdelusuario
4. Utilizarel entornode desarrollopara editarel código correspondientea
cada uno de los controladoresde eventosasociadoscon los objetosde la
interfazdelusuario.
Gráficamente,se ilustranlospasosanteriores:
Pág.91
EL ASC DE LA MECATRÓNICA
Archivosfuente
AppWizard
.cpp
.h
Aplicación
Archivosderecursos
Editoresde
recursos
Pág.92
EL ASC DE LA MECATRÓNICA
TECNOLOGíA .NET
Microsoft .NET es una nueva plataformano solo de programaciónsino de
tecnologíaen general.Microsoftdefine que la tecnología.NET es un tipo de
softwarecapazde interconectarinformación,personas,sistemasy dispositivosa
travésde unirunavariedaddetecnologíastantode tipopersonalcomocomercial,
loquepermiteel accesoy usode la informaciónencualquiermomentoy lugar.
.NET permitea aplicacionestanto existentescomo nuevas, conectarsecon
software y servicios mediante plataformas, aplicaciones y lenguajes de
programación.
.NET Frameworkes un componentede Windowsqueproporcionaun modelode
programacióny un motor en tiempode ejecuciónpara serviciosWEB XML,
aplicacionesWEB y aplicacionesclienteenriquecidas..NET Frameworkconstade
dos elementosprincipales:
· CommonLanguageRuntime:el motor en tiempo de ejecución de .NET
Frameworkes el núcleode la ejecuciónde códigoadministrado.También
proporcionacódigo administradocon serviciostales como la integración
entrelenguajes,seguridadde accesoal código,administracióndel tiempo
de vidade los objetosy compatibilidadcon la depuracióny la creaciónde
perfiles.
· Bibliotecade clasesde .NET Framework:esta bibliotecade clases incluye
clase, interfacesy tipo de valoresque expideny optimizanel procesode
desarrolloproporcionandoaccesoa lasfuncionesdelsistema.
Visual Studio .NET es la herramientapara crear servicios WEB XML y
aplicacionescliente.NET. Proporcionaun entornode desarrollomuy completo
para la creaciónde aplicacionesescalabessegurasen el lenguajeque se quiera,
aprovechandolos sistemasy conocimientosdisponibles,ya queel Frameworkes
comúnal lenguajedelprogramadorquese quierausar.
.NET Frameworkestádiseñadoparacumplirlossiguientesobjetivos:
· Proporcionarunentornosólidodeejecuciónorientadoa objetos,yasea que
el códigode objetosse almaceney se ejecutelocalmente,se ejecuteen
formaremotao se ejecuteen formalocalperose distribuyapor Internet
· Proporcionar un entorno de ejecución de código que minimice la
implementacióndesoftwarey losconflictosentreversiones
· Proporcionarun entornode ejecuciónde códigoquegaranticela seguridad
de la ejecucióndel código, incluido el código creado por un tercero
desconocido
Pág.93
EL ASC DE LA MECATRÓNICA
· Proporcionarun entornode ejecuciónde códigoque eliminelos problemas
de rendimientode los entornos de secuencia de comandos o de
interpretación
. Proporcionaa los programadoresuna experienciasólidaen los diferentes
tiposdeaplicaciones,ya seanaplicacionesbasadasenWindowso enWEB
· Basar todos los sistemasde comunicación,incluidoslos serviciosWEB
XML y la conexiónremotade puntoa punto,en el estándardel sectorpara
garantizarqueel códigobasadoen .NET Frameworkse puedaintegrarcon
cualquierotro tipo de código, con independenciadel lenguajeo de la
plataformaen losquese hayaescrito.
La bibliotecade clasesde .NET Frameworkes unacolecciónde tiposreutilizables
que se integrande forma compactaen el Common Language Runtime. La
bibliotecade clasesestáorientadaa objetos,por lo que proporcionatiposdesde
los que su propiocódigoadministradopuedederivarfuncionalidad.Esto no solo
facilitael usodelos tiposde .NET Framework,sinoquetambiénreduceel tiempo
asociado con el aprendizajede nuevas característicasde :NET Framework.
Además,existeuna granvariedadde componentesde otrosfabricantesque se
puedenintegrarconlasclasesen .NET Framework.
Con una sólida arquitecturaorientadaa objetos, .NET Frameworkse puede
ampliar sin limitaciones,permitiéndolemejorar, modificar y ampliar sus
funcionalidadesbásicas para adecuarsea las necesidadesdel usuarioo a las
empresas.Por ejemplo,lacolecciónde clasesde .NET Frameworkimplementaun
conjunto de interfacesque se pueden utilizar para desarrollarsus propias
colecciones,quese integraránsin ningúnproblemacon otrosobjetoscreadospor
otrosusuarioso pertenecientesal sistema.
.NET Frameworkpermiteconseguiruna variedadde tareas de programación
comunes,como son la administraciónde cadenas,la recopilaciónde datos, la
conectividadconbasesdedatosy el accesoa archivos.
Los desarrolladoresde aplicaciones para Windows comprobarán que los
formulariosWindowsFormsson intuitivos,eficientesy compatiblescon cualquier
lenguaje basado en .NET incluyendoVisual Basic, C#, y las extensiones
administradasparaC++.
Los formulariosWindowsFormsse beneficiarándel controlde versionesy de las
característicasde implementaciónde .NET Framworkpara ofrecer costos de
implementaciónreducidosy unamayorestabilidadde lasaplicaciones.
Como ejemploy compatibilidadvisual con versionesanteriores,las siguientes
imágenesrepresentanel ambientededesarrolloparaVisualBasic .NET
Pág.94
EL ASC DE LA MECATRÓNICA
,,~ WindowsApplication3 - MicrosoftVisualBasic.NET[diseilar]- Form1.vb[Disefío] GJ[QJ~
archivo ~dición Il.er ~oyecto ~enerar Q.epurarDato~ Eormato !:!.erramientasVe[ltana Ay!,!da
~Debug . f.iI!.I\
oIJo ~ ~~~ ;!::(;-~t8: ~ I~ " "'.
Cuadrod~herramientas~
Dato~ __ _J
Componentes I
y.'indows~~ J~
r~¡;;:;ntero
A label
A LinkLabel
.!!!IButton
[Obi TextBox
11MainMenu
p" CheckBox
(;' RadioButton
LJ GroupBox
Anillodel~rt,!!~eles
General
Páginade inicio Forml.vb [Diseño] I Forml. vb I <1t>xli Exploradordesoluciones-Windo~:.:..:..11-_X
~m~~~
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
~, !SIReferences
E)AssemblyInfo.vbmForml.vb v: : :: : :: : Puerto::: : :: : : : Dato::: : :: : : : :
Out 1:: : : : : :..
¡.L. _, _ ¡J~.
- Q Expl;a...I ~Vistade...I~Buscar I
!Propiedades " . _ _~._~
IForml System,Windows,Forms.Form..:.1
1iI',IATlI rr;:5íl
1
=
e;.:~¡~ 1d1
..................
...............
.......
.
.....
....
.....................
.
Forml
contenido en el control,
--
Listo
Pág. 95
"...WindowsApplication3- MicrosoftVisualBasic.NET[disefíar]- Form1.vb GJ[QJ[8J
archivo dición Il.er royecto enerar Q.epurar !:!.erramientas Ve[ltana Ay!,!da
.WI.riII" Jb8 o() .r Debug . f.iI!.I\ . Qm.
A:t. t§: .- ot') "..-= -=
PáginadeinicioIFotml.vb[Diseño]Forml.vbI rdesol':!.cnes- Windows...
-
<1t>x 11- X
IForml .:J 111\(Declaraciones) ..:.1 m
i Option Explicit On
- IGO olución'WindowsApplication3'(1proyect.
13 WindowsApplication3-
13Public Class Forml
IÉ !SI References
:
AssemblyInfo.vbInherits System.Uindows.Forms.Form 51Forml.vb
Private Declare Auto Function InPort Lib "IOPort.dll"
Private Declare Auto Sub OutPort Lib "IOPort.dll" (By'
¡1"1íi' - 00', JI
+ I Código generado por el Diseñador de 1Jindow3 Forms I - Explora...I Vistade...I BuscarI
- Private Sub Forml_Load(ByVal sender As System.Object, !IPropiedades 11-X
End Sub I .:.1
[ill@!]1
- Private Sub Buttonl_Click(ByVal sender As System.Obje.
TextBox2.Text = InPort("'h" + TextBox1.Text)
End Sub
- Private Sub Button2_Click(ByVal sender As System.Obje.
OutPort(Val("'h" + TextBoxl.Text), TextBox2.Text)
End Sub
-
End Class ...
. I .¡
Listo 11 11 Lín9 col 1 Car I 11 IIINS! .d
EL ASC DELA MECATRÓNICA
Capítulo10
Interlaz8'10modelo1-400
Pág.97
EL ASC DE LA MECATRÓNICA
InlerlazIPIO modelo1-400
¿POR QUÉ UNA INTERFAZ DE 8 BITS?
Hablandoenconfianza,la tecnologíaha llenadonuestrasactividadesdel día a día
con muchosserviciosy productosque nos permitendesarrollarlasde muchasy
mejoresmanerascada una de ellas.De hecho,haciendouna encuestaentrelas
personasdel círculosocialque nos rodea,veremosque somos privilegiadosya
queformamospartede unasociedadaltamentetecnificada.
¿A qué me refiero?A la cantidadde dispositivostecnológicos con los que
contamos.Como primerejemplopuedo mencionarel teléfonocelular,el cual
cuenta con cámara y videocámaradigital, reproductorde música, agenda
electrónica,calculadora,conexión a Internety un sinnúmero de servicios
adicionales.También contamoscon computadorasportátiles y de escritorio,
memoriasportátilesquenospermitentransportarGBytesde información,servicios
de televisiónporcable,hornode microondas,etc.,etc.,etc.
Todosestosproductosy servicios,sin duda,nos han hechoexcelentesusuarios
de la tecnología.Ahoralo únicoquetenemosquepedires quenose interrumpael
suministrode energía eléctricaen las centrales de servicio para no vemos
afectados.
Muy bien, ahora hay que tomarun poco de tiempopara analizarcual es una
característicacomúnentretodosestosdispositivosy que nos interesaconsiderar
paraempezarla reflexiónsobreel temade porquéuna interfazde 8 bits:pueslo
comúnes quetodosellostienenundiseñoelectrónicodeterminandoy unsoftware
quese encargade generarlasdiferentesfuncionalidades.
y este es el punto.Ya no hay diferenciaentrehardwarey softwarey ahorason
una sola piezaque funcionaen coordinaciónparadesarrollartodas las funciones
diseñadasen unproductoy quecuandohaymejorasenellos,bastaconactualizar
el softwareparacontarconlasnuevasfunciones.
Como estoyseguroque esto es ciertoy no hay formade ponerloen duda, la
preguntaquesiguees ¿Y quehacemosahora?En lapartede lavidadiaria,nada,
seguircomohastaahoraconsumienqoproductosy serviciostecnológicos.En la
parte académica,escolar, formar a nuestros ingenierosen este sentido, en
mostrarque ladivisiónentreelectrónicay computaciónse ha borradoy ahorahay
quesabery saberjuntarlosdostemas.
Por eso surgeeste proyecto,para poderentenderlas bases de esta importante
relación-electrónicay computación-y podergenerarlosprimerosexperimentos.
Pág.98
EL ASC DE LA MECATRÓNICA
Esta interfazpermitiráa los estudiantesde ingenieríay a los interesadosen el
temaa desarrollarlosprimerosprototiposelectrónicosy controlarlosa travésde la
interfazcon programasdesarrolladosendiferenteslenguajes.
Para lograresta comunicaciónentrela computadoray el prototipoelectrónico,a
travésde la interfaz,es necesariousar rutinasescritasen lenguajeensamblador
que posteriormentese integraránen lenguajesde alto nivel como C/C++,o
cualquierotrolenguajevisualtipoVisualBasico VisualC++.
Queda la libertada la creatividad,ya que este capitulopresentay explica las
rutinasbásicas de programaciónde la interfazy su uso en unión a algunos
proyectossugeridos,con lo que posteriormentecada personapodrádesarrollar
sus propiosproyectos.
~
EL PUERTO PARALELO
Sin mayorpreámbulo,empezaréexplicandolos conceptosnecesariospara poder
trabajarcon el puerto paralelode la computadora,el cual será el canal de
comunicaciónconla interfazy conel proyectoelectrónicoa controlar.
Sólo para aclarar,¿por qué el puertoparalelo?Desde luegoque tenemosotras
opciones,comosería el puertoserialo el puertoUSB peroal usarcualquierade
estas,tambiénaumentaríala complejidaden la comunicacióny paraempezar,ya
tenemossuficientecon nuestroplanteamientocomoparaaumentarun problema
másen la comunicación.Por lo tanto,esteproyectode interfazno se complicay
manejala formade comunicaciónmásfácil.Unavezquese tengaexperienciaen
la elaboraciónde proyectos,entoncesse podrácomplicarun pocomodificandoel
formatodecomunicación.
Descripciónde puerto
El modelomássimpleperoútilquepodemoshacerde unacomputadoraes el que
consideratres bloques básicos: procesador,memoriay puertos. Este modelo
sugeridopor John van Newmannsiguesiendo,después de muchos años, un
modeloválidoy totalmenteusadoen laactualidad.
Los siguientesbloquespresentanel conceptomodular:
Pág.99
EL ASC DE LA MECATRÓNICA
E/S Procesador
Entrada
Memoria
Salida Control
El procesadores el ejecutory responsablede coordinartodas las operacionesy
funcionesquese llevana caboen la computadora,las cualesson ordenadaspor
el SistemaOperativo.
El bloquede memoriaresultalamejorherramientade trabajodelmicroprocesador,
yaquees elespacioparaalmacenary manipularla informaciónnecesaria.
y porúltimoel bloquede entraday salida,el cualestáformadopor los puertos,o
puertas,pordondela informaciónva a fluirentreel microprocesadory el mundo
exterior.Los puertosestánnumerados,porloqueno hayposibilidadde error.Yes
precisamenteen estebloquedonderesideelvalorde lacomputadora,yaqueeste
es el bloque que permitela entraday salida de informaciónque se estará
procesando.
Unode estospuertos,de entre65,536posibles,es el puertoparalelo,el cualtiene
comunicacióndirectaconel busdedatosdelmicroprocesador.
Descripcióndelpuertoparalelo
El puertoparaleloes un dispositivode comunicacióncon el exteriorel cualpuede
operaren formabidireccional.Tradicionalmente,este puertose le ha llamadoel
puertode la impresorao puertode impresoraCentronix.Esta interfazpermite
transmitir8 bits en paraleloa travésde las líneas DO - 07 ademásde otras
señales de controlque debenestar presentespara sincronizarla comunicación
entrelosdosdispositivos.
Pág.100
ELASC DELA MECATRÓNICA
Por lo tanto,estepuertodecomunicaciónde E/S resultasermuyútilparaconectar
desarrolloselectrónicospropios.Lo únicoque tenemosquesaberes la formaen
laqueopera,lacualse basaentresregistrosde datos.
Las líneasde comunicaciónse puedenidentificarfácilmenteen el conectorOB25
de lacomputadoray seránlas responsablesde coordinarlacomunicaciónentrela
computadoray elcircuitoperiférico.
Esta comunicaciónbidireccionalse debedaren unacoordinaciónde señalesque
permitan sincronizar el funcionamientonormal de cada parte. Así, si la
computadoraestacorriendoun procesodiferenteal de atenderel puertoparalelo,
entoncespodráavisarqueestáocupaday el circuitoperiféricotendráqueesperar.
Lo mismotendráquesucedercon el circuitosi estáprocesandolosdatosy no los
tiene listos para entregarlos,la computadoratendráque esperarhastaque el
circuitoperiféricoindiquequeel valorenel busdedatoses válido.
Las señales del conector tipo OB25 que tienen las computadoraspara
comunicacióndelpuertoparalelose muestranen lasiguientefigura:
Registrode estado Registrode datos
Registrode control
Estostresregistroscontrolanlacomunicacióny tienenunadirecciónasignada,por
loquees fácilconsultarsu valor.
El registrodedatoses ladirecciónen laquehayqueponercualquierdatoquesea
dirigidoal puerto.Oe igual manera,cualquierdato que se lea del exteriorse
encontraráen esta dirección.La direcciónde este registro,asociada a LPT1,
generalmentees la 378H. El registrode estado contieneinformaciónsobre el
dispositivoconectado,enespeciallaocurrenciade posibleserrores.Es decir,es la
forma en la que el circuitoperifériconotificaa la computadorasu estado.La
direcciónde esteregistro,asociadoa LPT1, es la 379H,lo queequivaleal registro
Base + 1. El registrode control permiteinicializarel puerto paralelode la
computadoray controlarla transferenciade datos. Es la forma en la que la
Pág.101
EL ASC DE LA MECATRÓNICA
computadoracomunicaal periféricosu estado. La direcciónde este registro,
asociadoa LPT1, es la37AH, loqueequivaleal registroBase +2.
Si consideráramoslas direccionesde los otrospuertospara impresora,la tabla
seríade lasiguienteforma
1,0..h
I _
LPT1
LPT2
LPT3
378H
278H
3BCH
379H
279H
3BDH
~~~...,. I
37AH
27AH
3BEH
Para asegurarla direccióndelpuertoLPT1 de la computadoraen la quevamosa
trabajar,la pestaña Recursos de la Ventanade Propiedades del puerto de
impresoranosindicaráladirecciónexacta.
Pág.102
Proidd;de Pr;de il1rsr(LPT1)' .... .... ........ ....LIII X J
General11 Configuracióndepuerto11 Controlador11 DetallesI RecursosI
Puertodeimpresora(LPT1)
Configuraciónde recursos:
Tipode recurso G'IIIYY'
'illnterval-; d;EI 0378-037A .
ConfiguraciÓn
ConfiguraciÓn actualbasadaen: - -. -. - - - -
Usar configuración automática Cambiar configuacíÓn,"
Lista de dispositivos en conflicto:
No hay conflictos. .I
I
Aceptar [ CancelarI
EL ASC DE LA MECATRÓNICA
Lo últimoquenos faltadescribir,es la señalque tienecadaunode los bitsde los
registrosde estadoy control.Desdeluegoqueel registrode datosva a tener los
valoresdeentraday salida.
Las señalesde los registrosse muestrana continuacióndondees fácilverqueel
registrodeestadorecibeinformacióny el registrodecontrolenvíainformación.
Estas señalesde los registrosde estadoy controlestáncodificadasparacontrol
de unaimpresora,cosaqueen nuestroproyectosustituiremosporlasseñalesque
se adaptenal circuitodelproyectoquese trabaje.
Una vez que tenemosesta informaciónsobre la operaciónbásica del puerto
paralelo de las computadoras,ya podemos empezar a hablar sobre cómo
programarlos datosde entraday salidaa travésde este puerto.Empezaremos
hablandodel diseño de la interfazque estará en contactocon el circuitodel
proyectoa controlar.
Las computadorascon sistemaoperativoMS-DOS o Windows95/98/Me,tienen
accesodirectoal puertosin restriccióndel sistemaoperativo.A partirde Windows
NT/2000,inclusive,los sistemasoperativosno permitenaccesoa los puertos,por
loqueen estecasose tendráquedeshabilitarestaprotección.
Hay variasformaspara lograrloy en Internetse puedenencontraraplicaciones
gratuitasquepermitenla configuraciónde un grupode puertoso de un puertoen
particularsaltandolasproteccionesde sistemaoperativo.
Una aplicaciónde estetipoes UserPortescritoporTomasFranzon.En el CD que
acompañael librohayunacopiade estosarchivos.Es muyrecomendableleerlas
instruccionesde instalacióny siempretener en cuentaque al usarlo, se está
abriendo una protecciónde la computadora,por lo que hay que definir
perfectamenteel rangode puertosquese quierenliberary de ser posible,volvera
cerrarlosmientrasnoexistanecesidadde locontrario.
Pág.103
Registrodedatos Registrodeestado Registrodecontrol
D7 Data7 D7 Busy D7 Rese1Ved
D6 Data6 D6 D6 Rese1Ved
D5 - Data5 D5 PE D5 Directron
D4 Data4 D4 Select D4 - IRQ Enable
D3 Data3 D3 EnOr D3 SelectIn
D2 Data2 D2 IRQ D2 INIT
Di - Data1 Di Rese1Ved Di Autofeed
DO DataO DO Rese1Ved DO Strobe
EL ASC DE LA MECA TRÓNICA
DISEÑO ELECTRÓNICO DE LA INTERFAZ
El diseñoque vamos a usar es una configuracióntípica la cual nos va permitir
dividirel puertoparalelode lacomputadoraen unpuertobidireccional,es decir,en
unbusde entraday unode salida,lo cualfacilitarámuchoel trabajocon el circuito
quevamosa controlarposteriormente.
El diagramaelectrónicodeldiseñoes el siguiente:
U3
J1
J3 74245
J2
El diagramamuestratrescircuitosintegradosy tresconectores.El conectorJ1 es
un D825que se conectaa la computadora.El conectorJ2 manejarálas señales
de saliday el conectorJ3 manejarálasseñalesdeentrada.
Como se usa un conectorD89, los pines1 - 8 seránlos bitsdatosde entradao
salida(DO-D7)y el pin9 serátierra.
El circuitoD74373es una memorialatchde 8 bits.La distribuciónde sus pinesy
sus funcionesse muestrana continuación:
Pág.104
IIN OU"¡
v I GND +5 v
LM 78L05
U1
.I
DO 00141
71 D1 01
II:SI D2 02
111 D3 03
1141D4 04
1171D5 05
1II:S1 D6 06D7 07...
11 IOE:- E
r- :- \
f- 74373
!- U2!-
!- A1 B1
r- - A2 B2
A3 B3
A4 B4
AS B5
A6 B6
A7 B7
11
A8 B8
le
DSR .....
=
EL ASC DE LA MECATRÓNICA
Dual-In-LlnePackages
'LS373
ENAIILE
Gso
OUTPUT 10 1D 20
CONTROL
30 3D 4D GND
Unamemorialatchva a seguiren su salida,la señalde entraday mantendráel
valorenmemoriasólocuandosepongaunpulsoenelpindecontrol.
Por estas características,este circuitointegradova a manejarlas salidasde la
computadora.Porel momentoes importantehacernotarqueparagenerarunbyte
de salida hay que dar un pulso en el pin de control,pulso que tendráque ser
generadoporsoftware,delquehablaremosenel siguienteapartado.
El circuito D74245 es un bus bidireccionalcon buffers de tres estados. La
distribucióndesus pinesy sus funcionesse muestrana continuación:
Vcc r B1 B2 B6
Por lo tanto,estecircuitointegradosolamenteva a dejarpasarel bytede entrada
a lacomputadoracuandose mandeunpulsoen el pindecontrolqueenestecaso
es el pin 19y comoen el circuitoanterior,el pulso que tendráque ser generado
porsoftware,delquehablaremosenel siguientecapítulo.
Pág.105
EL ASC DE LA MECATRÓNICA
Entonces,podráverseen el diseñodel circuito,que los pinesde controlde cada
circuitoestánconectadosentresí, porlo queo funcionaunoo funcionael otro.El
pin 1 del D74245con el pin 11del D74373. Y esto con tal suertequecuandoel
pulso de controles uno (lógico)se lee el bus de entraday cuando el pulso de
controles cero(lógico)se escribeel busdesalida.
Una vez descritoel circuitode la interfaz,en el siguienteapartadohablaremosde
su programación,programaciónque podríamosllamarel núcleo (kerne~del
sistema operativo de la interfaz, ya que será el software necesario para
comunicamosy manipularloscircuitosde la interfaz.
PROGRAMACiÓN DE LA INTERFAZ
Ahoraempezamosunaparteinteresante,laprogramaciónde la interfaz.
El programao programasque permitenal usuariotenercontactocon un circuito
electrónicoy controlarlose le puedellamarSistemaOperativo.Así que podemos
decirquevamosa iniciarlaprogramacióndelsistemaoperativode la interfaz.
¿Qué funcioneselementalesdebe incluirla programaciónde la Interfaz? Por lo
menosdos, la de lecturay lade escritura.La lecturasignificaleer losdatosqueel
circuitoelectrónicoa controlarenvíaa la computadoray escriturason los datos
quelacomputadoravaa enviara dichocircuitoelectrónico.
Esta programaciónes muy convenienteque se haga en rutinasde lenguaje
ensamblador,lo cual permitiríauna mayorvelocidadde comunicaciónentre la
computadoray la interfazy además,facilitaríael desarrollode libreríasdinámicas
(DLL's) parapoderusarla interfazcon lenguajesvisuales.
El lenguajeensambladory sus comandos(mnemónicos)son unaprogramaciónde
bajo nivel, ya que programadirectamenteen lenguajemáquinay para este
capítulo se usarán comandoscompatiblescon microprocesadoresIntel de la
familiax86. Las personasque tenganhabilidadespara otros microprocesadores
podránfácilmenteadecuarestoscomandos.
Para lograr la comunicacióncon la interfaz sólo usaremos las siguientes
instrucciones:
MOV Permitealmacenarunvaloren los registrosdel
microprocesadorde lacomputadora
AND OperaciónbooleanaAND
OR OperaciónbooleanaOR
Pág.106
EL ASC DELA MECATRÓNICA
IN Comandoparaleerunpuerto
OUT Comandoparaescribirunbyteenel puerto
Estas instruccioneslas uniremosen un programaque permitaenviary recibir
informacióny además regular la comunicación,para lo cual haremos las
siguientesconsideraciones.
1. Primero,tenemosque asegurarque se seleccionael circuitointegrado
correctode la interfazparaleero escribirunbyte,segúnse describióen el
diseñoelectrónicode la interfaz.
2. Despuésyase podrárealizarlaoperaciónde lecturao escritura.
La rutinaparaleerinformaciónes lasiguiente:
movdx, 37A
inal,dx
oral,21
outdx,al
movdx, 378
inal,dx
II Seseleccionaelregistrodecontrol
II Seleeelvaloractualdelregistrodecontrol
//SegarantizaqueelbitOYel5delbytequedanen1
II Semandaelvaloralregistrodecontrol
II Seseleccionaelregistrodedatos
II Se leeelvalordelregistrodedatos
Seguramenteel códigoy loscomentariosse explicanporsí solos.
Cabe aclararque segúnse indicaen la gráficade distribuciónde señales de los
registrosdel puertoparalelo,el bit5 del registrode controles el que configurala
formabidireccionaldel registrode datosloquepermitela lecturade información,y
el bitO,la señalde Strobe,quees el bitde controlsobreloscircuitosde la interfaz
y queseleccionael circuito74245y desactivael circuito74373,lo que permitela
lecturadedatosdeentrada.
En formasimilar,la rutinaparaescribirinformaciónes lasiguiente
movdx,37A
inal,dx
andal,DE
outdx,al
movdx,378
moval,valor
outdx,al
II Seseleccionaelregistrodecontrol
// Seleeelvaloractualdelregistrodecontrol
II SegarantizaqueelbitOYel5delbytequedanenO
II Semandaelvaloralregistrodecontrol
II Seseleccionaelregistrodedatos
II Secargaelvalorquesevaaescribirenelregistrodedatos
II Seenvíaelvaloralregistrodedatos
Como la funciónde escrituraes inversaa la de lectura,ahorael bit5 del registro
de controles el queconfigurala formaunidireccionaldel registrode datoslo que
permitela escriturade información,y el bit O, la señal de Strobe,es el bit de
Pág.107
EL ASC DE LA MECATRÓNICA
controlsobre los circuitosde la interfazy que desactivael circuito74245 Y
seleccionael circuito74373, lo que permitela escriturade datos de salida y
permaneceránen la memorialatch.
Una vez descritaslas rutinasbásicasen lenguajeensamblador,ahora tenemos
que hacerpequeñoscambios,segúnlo requierala aplicaciónen particularque se
esté desarrollando,paraquepuedanfuncionarcon cualquiervalorde saliday se
puedapasaral programageneraldecontroldedatosdeentradade la interfaz.
Para esto,podemosincluirestasrutinasen unaestructurade un programaescrito
en Lenguajee, locualquedaríade lasiguienteforma
#include<dos.h>
voidescribir_puerto(intpto,charval);
intleer_puerto(intpto);
main()
{
intentrada;
escribicpuerto(888,100);
entrada=leecpuerto(888);
return(O);
}
voidescribicpuerto(intpto,charval)
{
intcontrol;
control=pto+2;
_asm{
movdx,control
inal,dx
andal,OxDE
outdx,al "iniciapuertodeescritura
movdx, pto
moval,val
outdx,al
}
delay(20);
}
Pág.108
EL ASC DE LA MECATRÓNICA
intleer_puerto(intpto)
{
intdato;
intcontrol;
control=pto+2;
_asm{
movdx,control
inal,dx
orax,0x21
outdx,al 11iniciapuertodelectura
movdx,pto
inal,dx
movdato,al
}
delay(20);
return(dato);
}
El comando_asm{ } permitela escrituradirectaen lenguajeensamblador,
respetandoel formatode númeroshexadecimalesdefinidoporel LenguajeC.
Así quedaun programaparaescribiry leerdatosa cualquiernúmerode puertode
la computadora,que en estecasoel número888decimalequivaleal número378
hexadecimal.
PROGRAMACiÓN EN LENGUAJES VISUALES
Continuaremoscon otraparteinteresante,la programaciónde la interfazusando
lenguajesvisuales.
MicrosoftVisualBasices unaexcelenteherramientade desarrollocon altogrado
de facilidad,pero carece de algunas funcionalidadesque en este momento
necesitamoscomo es el caso del accesodirectoal puertoparalelo.Pero para
solventarestetipode aparentelimitación,unasoluciónefectivaes la escriturade
una libreríadinámica,una DLL. Por lo tanto,primeroveremoscomo escribiruna
libreríadinámicausandoVisualC++.
Se llaman libreríasdinámicasporquesu contenidono es compiladocon el
programaprincipal,sino queestesolamentetieneel nombrey sus funcionesy al
momentode su ejecución,buscael archivocon extensiónDLL dondeencontrará
Pág.109
EL ASC DE LA MECA TRÓNICA
las funcionessolicitadas.Así el programaprincipalde la aplicaciónpuedeser un
pocomásligero,yaquenocontendrálasfuncionesdefinidasen la DLL.
Escriturade unaDLL
A continuaciónse describenlospasosparacrearunaDLL usandoVisualC++.
Unavez iniciadoVisualC++se seleccionaNewdel menúFiJe.Se seleccionaWin32
Dynamic-LinkLibraryde la pestañaProjects.Se registrael nombredel proyectoy la
direccióndelarchivoen el quese va a grabar.Se oprimeel botónOKy se pasa a
la siguienteventanaen la que se seleccionala opciónde A simpleDLLproject.A
continuaciónse oprimeel botónFinish.
Esteprocesose ilustraen lassiguientesimágenes
New f?1[R1
Files Proiects' WorkspacesI OtheroocumentsI
',.¡jATL COMAppWizard
ClusterResourceTypeWizard
,~,CustomAppWizard
ffiI OatabaseProiect
DevStudioAdd.inWizard
~
..:!II ElltendedStoredProcWizard
ISAPI ElltensionWizardfjj Makefile
~-MFCActiveXConholWizard
lIiMFCAppWizard(dll)
- MFCAppWizard(elle)
TI UtilityProiect
iilWin32 Application
Win32ConsoleApplication
~
:s1Win32StaticLibrary
Proiectname:
IIOPort
Lo~ation:
IC:\PROYECTOS\IOPort ..J
C;-.C!eatenewworkspace
r éddtocurrentworkspace
r@.ependencY9.f'
IIOPort ..;:d
Elatforms:
I~Win32
OK J Cancel J
Pág. 110
EL ASC DE LA MECATRÓNICA
Win32Dynamic-LinkLibrary- Step1of 1 llllXJ
<Back
\.I/hatkind 01DLL would you like to create ?
r An emptyDLL project.
r. A simpleDLL project.
r A DLL thatexportssomesymbols.
Next I I Finish I Cancel
Unavezabiertoel proyecto,se tendrálasiguientepresentación
"" IOPort - MicrosoftVisualC++ - [IOPort.cpp ]
Jj~EJle ~dit:íjew lnsert ~oject liuild100ls !tl)ndow !:!elp
jJ ~ I ~ ... CI1 I db~ el!? '" ~ '" I~~~~I "r
jJ (Globals) .:.11(Al!globalmembers) ~I.lnPort
~.d~
11\.I/orkspace'IOPort':1project(s) I
8.'~ IOPort files
8"'~ SourceFiles
, ¡ LttIOPort.cpp
, : ~Std6.lx.cpp
~'.'.IC HeaderFiles
:...1f:I ResourceFiles
L...~ ReadMe.txt
// IOPort.cpp Define los puntos de entro
#include "stdafx.h"
#include <conio.h>
BOOL APIENTRY DllMain( HANDLE hModule.
DWORD ul_reason_f,
LPVOID lpReserved
{
return TRUE;
}
Pág.111
EL ASC DE LA MECA TRÓNICA
Ahorahayque agregaral finaldel proyectolas rutinasde comunicaciónescritas
en Lenguaje C, según se mostró en el apartadoanterior. Se muestrana
continuación:
short_stdcalllnPort(shortportaddress)
{
chardato;
intcontrol;
control =portaddress+2;
_asm{
movdX,control
inal,dx
oral,Ox21
outdX,al 11iniciapuertodelectura
movdX,portaddress
inal,dx
movdato,al
}
return(dato);
}
void _stdcall OutPort (short portaddress,chardata)
{
intcontrol;
control= portaddress+2;
_asm{
movdx,control
inal,dx
and al,OxDE
outdx,al //iniciapuertodeescritura
movdx,portaddress
moval,data
outdx,al
}
}
El siguientepaso es crear un archivo '*.def' para poder exportarestas dos
funciones.Se seleccionaNewdel menúFile y se seleccionaun TextFilede la
pestañaFiles.Se nombraigualqueel proyecto.
Pág.112
EL ASC DE LA MECATRÓNICA
New W~
Files I Proiects I Workspaces I OtherDocumentsI
P' Bdd toproject:
(IOPort
File !Jame:
IIOport
Lo.!<ation:
1C:\PROYECTOS\IOPort ..d
OK ] Cancel I
En la ventanade trabajodel proyectoapareceráunarchivovacío,al que hayque
escribirleel siguientecódigo
LlBRARYIOPort
EXPORTS
InPort @1
OutPort @2
A continuaciónse seleccionaBuildIOPort.dlldel menú Build.El proceso debe
terminarsin errores,de lo contrariohayque revisarsu causa. Una vez terminado
el procesosin erroresya se puedeverel archivoIOPort.dllen el directoriodebug
dondeestágrabadoel proyecto.La ventanadel proyectose verá de la siguiente
forma
Pág.113
EL ASC DE LA MECA TRÓNICA
".. JOPort - MicrosoftVisualC++- [IOPort.cpp*]
li:I EJle~dit !liew lnsert ~oject Iluild Iools Window!:ielp
lJ~J; ~1iII,,1~~..f'~..Bi ytf5[Iii~~l~J
J (Globals) ·I (Al!globalmembers) ~I.OutP;;;
// IOPort.cpp : Define
3t
los puntos de ent1
~Workspace'IOPort':1 proiect(s)
B"'~ IOPort files
á.~ SourceFiles
i ! Gí3lloPort.cppI
! ! ~ IOPort.def
¡ L Gí3Std6.fx.cpp
~ (ij HeaderFiles
j 1iJIResourceFiles
¡ ~ReadMe.txt
¡!J''''!EExternalDependencies
#include "stdafx.h"
#include <conio.h>
BOOL APIENTRY DllMain( HANDLE hModule,
DWORD ul reason f
LPVOID lpReserved
{
return TRUE;
}
short _stdcall InPort(short portaddress)
{
char dato;
int control;
En lacarpetadebugapareceráel ícono I~lIO~t.~
Así queda programadala librería,que ahora tendráque copiarseen la carpeta
c:\windows\system32parasu posterioruso.
Programaciónde la interfazenVisualBasic
Ya quetenemoscreadala libreríadinámica,ahoralavincularemosa un programa
escritoen Visual Basic y con estoya tendremoslos comandospara podertener
comunicacióncon la interfaz.
Despuésde iniciarVisualBasichayqueseleccionarunaaplicaciónestándar
Pág.114
EL ASC DELA MECATRÓNICA
8
I
CancelarI
Ayuda I
En la ventanadel códigohayque escribirlas siguientesfrases, las cualesdarán
accesoa lasfuncionesde entraday salidacreadasen la DLL IOPort.
Option Explicit
Private DeclareFunction InPort Lib "IOPort.dll" (ByVal portaddressAs Integer)As Integer
Private DeclareSub OutPort Lib "IOPort.dll" (ByVal portaddressAs Integer,ByVal dataAs Integer)
También podemos agregar funciones especiales para el manejo de esta
informacióndeentraday salida
'Rutinasdecomunicaciónalpuertoparalelo:LECTURAY ESCRITURA
'1111***11111111111******1111111111111111111***********1*****************11111*11111***
PrivateFunctioninp(valorAsString)AsString
'Lecturadelpuerto
inp=InPort(Val("&h"+valor))
EndFunction
Pág.115
Nuevo I EllistenteI RecientesI
,., Ir ...- EXE ActiveX DLLActiveX Control Administrador
ActiveX deasistent...
.....
Asistente para Addin AplicaciónAplicaciónlIS Controlesde
aplicaciones... DHTML 1/8Edición...
,..." ,..... ,..."
,
Abrir
EL ASC DE LA MECA TRÓNICA
PrivateSub out (puertoAs String,valorAs String)
'Escrituradel puerto
OutPortVal("&h"+puerto),Val("&h"+valor)
EndSub
Ahoraque ya tenemosla base para la comunicacióncon el puertoparalelo,hay
queescribirunaaplicaciónquepermitaenviary recibirbytes.
En la pantallade vistade objetoshay que agregardos cuadrosde textoy dos
botones.
..~ Proyecto1 - MicrosoftVisualBasic[diseilo] - [Proyecto1- Form1
1iJ .archivo ~dición :ter ~royecto Eormato Ilepuración Ejecutar s:.onsultaD[a
JJ ~ .~.~ I ~ IíII j(, ~ 1) '" I an hI I ~ " . I ~ ~
)(-
General
~G
AJ8bi
D-.J
~, :¡V '-='
CJ~
61'
ii, Lectura!Escritura 1- I[LJJ[xl
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PuertoHex ValorHex-Dec ::. .
: I I
. .. .. . . . . l.
Escribir 1
. . . . . . .
1
. . . . . . .. . . . . . . Leer. . . . . . .
. . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. -.
Despuésde renombrarlos objetos,en lavistade códigoescribiremosel siguiente
código
PrivateSubcmdEscribir_Click(}
outtxtPuerto.Text,txtValor.Text
EndSub
PrivateSubcmdLeecClick(}
txtValor.Text=inp(txtPuerto.Text)
EndSub
Pág.116
EL ASC DE LA MECATRÓNICA
Al ejecutarlaaplicaciónse deberántenerlassiguientesconsideraciones:
1. En el campodel Puertose deberáde escribirla direcciónen hexadecimal,
porlo tanto,hayqueescribirel número378
2. En elcampodeValor,tambiénse escribirácon númeroshexadecimales
3. Con estosdatosse podráescribirunbyteal puerto
4. Para leerdatosdelpuertoparalelo,bastacon indicarladireccióndel puerto
que,enestecaso,seráel378
5. El númeroqueregresalafunciónapareceráen elcampodeValor,sólo que
hayquetomarencuentaqueeldatoseráunnúmerodecimal.
6. Hago un llamadoa la creatividadpersonalde los estudiantesy personas
interesadasen el temaen hacerlos cambiosnecesariosy poderleeren el
cuadrode textonúmeroshexadecimales.
Pág.117
EL ASC DE LA MECATRÓNICA
Capítulo11Integracióndeprovectos
Pág.119
EL ASC DE LA MECATRÓNICA
Integracióndeprovectos
DEFINICiÓN
Una vezdescubiertostodoslos secretosdeldiseñoy programaciónde la interfaz,
ahorapodemosdesarrollarmúltiplesaplicacionesque nos ayudarána unir,como
se comentabaal principio,el mundo de la electrónicacon el mundo de la
programacióny el control.
A continuaciónse ofreceuna listade proyectos,ya desarrollados,con los que se
podrán adquirirexperienciaen el uso y diseño de aplicacionesmecatrónicas
usando la interfazde puertoparaleloo de cualquierotro tipo de formatode
comunicación,yaquelosdiseñoselectrónicosnosonsensiblesa esteformato.
En el CD del librose encuentrala codificaciónsugeridapara el controlde los
diferentesproyectos,combinandoentresolucionesprogramadasen lenguajeC y
otrasen lenguajesdelMicrosoftVisualStudio(VisualBasicy VisualC++).
Tambiénse podrán adquirirlos proyectospropuestosen forma de productos
comercialeso KITS, en los que se incluyentodos los componenteselectrónicos
necesarios,unatarjetade circuitoimpresoque permitiráunafácil manipulacióny
operacióndeldiseñoelectrónicoy un instructivodearmado.
RECOMENDACIONES PARA ENSAMBLAR Y SOLDAR LOS KIT DE PROYECTOS
Para ensamblarcon éxitolos componenteselectrónicosen las tarjetasde circuito
impresohayquetomaren cuentalas siguientesrecomendaciones,quedescriben
los procedimientospara preparar,soldary probarlos kitsde proyectos.Con las
herramientasadecuadasy un poco de pacienciase podrá llevarcon éxitoeste
trabajo.
1 - Herramientasbásicas:
· Cautíntipolápizde30watts
· Pequeñotrapodetelaparalimpiezae
· Pinzadepuntapequeña
· Pinzadecorte
· Desarmadorderelojero
· Soldaduradeestaño,1mm60/40,con almade resina.
2 - Garantizarque se cuenta con todos los componentesindicados en el
instructivodecadakit.
Pág.120
EL ASC DE LA MECATRÓNICA
Una vez cumplidoslos pasosanteriores,se procederáal armado,paralo cual se
seguiránlossiguientespasos:
1. Conecteel cautína lacorrientealternaparaque iniciesu calentamiento
2. Ubiqueladistribuciónde loscomponentestomandocomoreferencialaguía
de componentesque se presentaen la placade circuitoimpresoy en los
instructivosdecadakit.
3. Doble los terminalesde los componentes(cuando sea necesario)para
lograrunacorrectainserciónen laplacade circuitoimpreso.
4. Insertelos componentessiguiendoel orden,posicióny sentidoindicadoen
los instructivosdecadakit.
5. Compruebeque el cautín tiene la temperaturacorrecta.Una formade
comprobarloes tocarla puntacon la soldadurade estaño;si la soldadura
se derriteinmediatamente,entoncesla temperaturaes correcta.Limpiela
puntadel cautíncon el trapode telapreviamentehumedecidocon aguay
yaestálistoparasoldar.
6. Calientela unióndel componentecon la placade circuitoimpresosolo un
parde segundos,yaqueelexcesodetemperaturapuededañarlaplacade
circuitoimpresoy/oel componente.
7. Toque la puntadel cautíncon el extremode la soldadurade estañosin
retirarel cautínde su posiciónactual.Cuandoel estañose derritasobre la
placade circuitoimpreso,retireinmediatamentelasoldadurade estañoy el
cautínde la placade circuitoimpreso.Dejeenfriarel puntosoldadovarios
segundos.
8. Corteel excedentede laterminaldelcomponenteencasode sernecesario.
9. Por últimorevise que la soldadurade estaño haya quedado en forma
uniformeen el puntosoldado.Unabuenasoldaduradeberíaversecomoun
pequeñocono de estañorodeandocompletamentela uniónde la terminal
delcomponenteconla placadecircuitoimpreso.
10.El acabadode la soldaduradebetenerun aspectobrillante,de no ser así,
significaque se ha realizadouna soldadurafría. El peligrode la soldadura
fría es el hechode quepuedenquebrarsey realizarfalsoscontactosen un
futuro.
11.Puede ser normalque alrededordel puntosoldado quede una pequeña
manchaamarilla.Esto es el restode la resinaque trae la soldadurade
Pág.121
EL ASC DE LA MECATRÓNICA
estañoen su interior.Para removerlaraspesuavementela manchacon el
desamadorde relojero.
CONTROLADOR DE UN DISPLAY DE 4 DíGITOS
Es divertidomostrarlos númerosen un displayde 7 segmentos,pero es más
divertidoprogramarcuatro dígitos por medio de la computadora,lo que nos
permitiríamanejarcantidadesdesdeOhasta9999.
Este proyectopermitecontrolarperfectamentecuatrodisplaysde sietesegmentos
usandoun solo decodificadory simulandoporsoftwareel multiplexor,el cualserá
el componentequeseleccioneel dígitoconel númeroindicadoenel codificador.
El diseño electrónico consiste en cuatro displays de 7 segmentos, un
decodificador,cuatro transistoreslos cuales son usados como interruptores
electrónicosparaprender/apagarcadadígitoy elementospasivosde polarización.
El algoritmose puededescribirde lasiguienteforma:
Con un busde datosde 8 bitsse puedenprenderhastacuatrodígitos,ya que los
cuatrobits menossignificativospuedenindicarel númerodeseadoa travésdel
decodificador,y los cuatrobitsmássignificativosseleccionarán,en formadirecta,
el dígitodeseado.
De estaforma,paraprenderalgúndígitobastacon mandarel númerodeseadoal
decodificadory el bitde seleccióndeldígito.Por ejemplo,paraprenderel segundo
dígitocon el númerocuatro,el bytededatosdeberíaser00100100.Para prender
loscuatrodígitosconel númerotres,el bytede datossería 11110011.
Pág.122
lSB
L:CODIFICADOR
¡Ill::::
I 111
- 1
I 1
MSB I 1 1 I I- - - -
I I I I I I I I- - - -
I I I I I I I I-. -. -. -.
4 I 3 I 2
I 1
ELASC DELA MECATRÓNICA
Unavez aclaradosestosconceptos,ahoramedianteel usode la programaciónes
posiblepresentarel númeroquese quiere.
Para mostrarel número1234,se tendráque programarla salidade la siguiente
secuenciade bytes, considerandoquesi la velocidaden la repeticióndel ciclono
es suficiente,estopodríacausarunparpadeode losdígitos.
10000001
01000010
00100011
00010100
Esto puede ser tan simplecomo se ha presentado.El kit K-405 contienelos
componentesnecesariosparaarmar,probary programarel proyecto.En elCD del
librohayvariosejerciciosdeprogramacióncodificadosen lenguajee y tambiénen
lenguajeensambladorparamicroprocesadoresIntelde lafamiliax86.
CONTROL V PROGRAMACiÓN DE UN SEMÁFORO
Un semáforoes un dispositivomuycomúnen las callesde cualquierciudad.Pero
al programarlo,nos daremoscuentaqueno es un procesotan obvio.El proyecto
se puedecomplicarun pocosi queremosprogramarun cruceroque incluyapor lo
menosdos sentidos,señalesde vueltay un botónparaque los peatonespuedan
detenerlacirculacióny cruzaralotrolado.
El kitK-41Ocontienelos componentesnecesariosparaarmar,probary programar
una simulaciónde este proyecto.En el CD del librohayvariosejerciciosescritos
en lenguajee quepermitensimularlassiguientesoperaciones:
activaunsemáforoen formanormal
activaunsemáforoconavisodecambiode luz
activauncruceroenformanormal
activauncruceroconavisodecambiode luz
activauncruceroconbotóndepeatonesparacruzar
activauncruceroconbotónde peatonesparacruzary con
avisodecambiode luz
Pág.123
. semaf1.c
. semaf2.c
. semaf3.c
. semaf4.c
. semaf5.c
. semaf6.c
EL ASC DE LA MECATRÓNICA
CONTROL DE RELEVADORES
Las computadorasmanejanelectrónicadigitalde baja potencia.Para conectary
controlarcircuitosde mayorpotencia,los relevadoresson una buenaopción.Los
relevadoresson interruptoreselectro-magnéticosque,con pocovoltajey corriente,
sonactivadosy a travésde sus contactosmecánicospodemoshacerpasarmucha
máspotenciade laquemanejaunacomputadoradigital.
Este proyectopermitecontrolarperfectamentecuatrorelevadoresusandocuatro
bitsde control,uno paracada relevador.El diseñoelectrónicoconsisteen cuatro
relevadores,cuatro transistores los cuales son usados como interruptores
electrónicospara activar/desactivarcada relevadory elementos pasivos de
polarización.
El algoritmose puededescribirde lasiguienteforma:
LSB
MSB
:-\ANJ-~ ~. 'I I
~<> +~
I .
1
:-I ~-r:
I 1JV\JV I
~<> +~
I I
1
:-\ANJ-~--- -~. 'I '
~<> +~
I I,
:-\ANJ-~ ~, 'I .
~<> +~I '1
De estaforma,paraactivaralgúnrelevadorbastaconmandarel bitdeseadoa la
interfaz.Por ejemplo,paraactivarel tercerrelevador,el bytede datosdeberíaser
00000100.Paraactivarloscuatrorelevadores,el bytede datossería00001111.
Pág.124
R
I I
A
LSB 11 , I I r--
v
I-MSB11 FtCh
.
III
ELASC DELA MECATRÓNICA
Una vezaclaradosestosconceptos,ahoramedianteel usode la programaciónes
posible activarla secuenciadeseada de relevadores,o programardiferentes
tiemposde activación.
El kitK-415contienelos componentesnecesariosparaarmar,probary programar
el proyecto.En el CD del librose presentaunejercicioprogramadoen unlenguaje
visual(MS VisualBasic)quepermitecontrolarlos relevadores.
ADQUISICiÓN DE DATOS A TRAVÉS DE UN CONVERSOR ANALÓ GICO-DIGITAL
El mundode lascomputadorases digital,sóloentiendendos estados,los famosos
unosy ceros.
El mundoreales analógico,es decir,sus valoresson continuosy se encuentran
endiferentesrangosdevalores.
La formade comunicarestosdos mundoses a travésde un conversoranalógico-
digital,el cual permitiráa la computadoratenerinformacióndel mundorealy, de
un conversor digital-analógico,lo que permitiráa la computadoramandar
informaciónal exterior.
El kitK-420contieneloscomponentesnecesariosparaarmar,probary programar
este proyectoque abre las posibilidadesde adquisiciónde datosde dispositivos
de lavidareal.
La electrónicade este proyectoes simpleen cuantoal númerode componentes,
ya que sólo contieneun circuitointegradoADC y un osciladorhecho con una
resistenciay uncondensador.
LSB
A/D 11010011
MSB
Según el númerode bits de salida, será la capacidaddel conversor,ya que a
mayornúmerode bits,la resolucióny el rangode amplitudde la señala manejar
seránmayores.En casode usar4 bits, solamentese podrándistinguir16valores
en el rangototaldeamplitudde laseñalanalógica.
Pág.125
EL ASC DE LA MECATRÓNICA
PROBADOR DE CABLES DE RED
La operaciónde los conversoresanalógico-
digitalesse basa en dos características,que
son el circuitode muestreode la señal y el
módulodeconversión.
.
En la parte superior de la figura que se
muestraa la izquierda,se ve la señalque se
quiere convertir.En la parte central se
representa el circuito de muestreo que
tomará una muestrade la señal con una
frecuenciafija. En la parteinferiorse ven los
valores recolectados por el circuito de
muestreo que simula la señal original,
incluyendo solamente los valores
muestreados.
n
Las redesde computadorascada vez ofrecenmas serviciosy beneficios,por lo
que su uso se ha ampliadoen las empresasasí como en los hogares.En los
últimos25 años su desarrolloha llegadoa tal puntoque ahorase denominan
redesconvergentes,es decir,a travésdel mismocableadode red se transmiten
datos,vozy video.
Aunque las tecnologíasinalámbricastienen un buen.desarrollo,el cableado
estructuradoy de conexióncon las computadorasy periféricos,sigue siendoel
pilarde lasredesdecomputadoras.
El probadorde cablespropuesto,estádiseñadoparaquemedianteel escaneode
las terminalesdelcable,se puedaprobary determinar,en unaformamuyrápida,
la continuidad,desconexióny/o correctapolarizaciónde los parestrenzadosdel
cable.En el ejerciciopropuestohastael momento,se ha desarrolladoel algoritmo
paraprobarlossiguientesestándares:
· Ethernet10Base-T
· EIAlTIA-568A,EIAlTIA-568B
· CableCruzado
Pág.126
EL ASC DE LA MECATRÓNICA
Ethernet10Base-T
PR2
PRJ ~ PR4
A rA'IA
EIAlTIA.568A EIAlTIA.568B
Este algoritmose basa en criterioscomunes para el reconocimientode la
continuidadentre los dos extremosdel cabley posteriormentela determinación
exactade su configuracióno, en su defecto,la detecciónde fallasde parcheo.En
formadescriptivase puedeenunciarde lasiguienteforma:
1. Determinarla continuidadentre las terminales, lo que indicará una
posibilidadde configuración.Si se detectacontinuidadentre todas las
terminales del conector, se puede descartar la posibilidad de una
configuraciónEthernet 10Base-T y suponer alguna de las otras dos
configuracionesposibles,EIA/TIA568A/B,o de cablecruzado.
2. Si la continuidadse registraentre todas las terminales,se analiza la
polaridadde las terminalesnecesariasparadistinguirsi el cablees cruzado
o no.
3. Unavez confirmadaalgunaposibleconfiguración,se analizala continuidad
y polaridadde cada una de las terminalesdel conectorpara garantizarla
correctaconfiguracióny parcheodelcable.
4. En casode coincidirlasmedicionescon ladefiniciónde la configuración,se
despliegael mensajeen pantallaconfirmandola configuracióndetectada
del cable,de locontrariose despliegael erroro erroresdetectados.
5. En caso de identificaralgunacontinuidadentre los conectores,pero no
identificar la configuración,se desplegará el mensaje de cable no
reconocido.
El kitK-425contienelos componentesnecesariosparaarmar,probary programar
este proyecto que abre las posibilidades de medición de cables con
configuracionesmuydiversas.Este kit incluyeun CD con una aplicaciónvisual
quemuestrala identificaciónde lasconfiguracionespropuestas.
Pág.127

Mais conteúdos dessa disciplina