Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

ABC de La Mecatrónica - Steren

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 125

.

CONTENIDO

1. Mecatrónica 1
a. Definición 2
b. Sistemas de medición 3
c. Sistemas de control 4
d. Sistemas de lazo abierto y lazo cerrado 4
e. Sistemas de control secuencial 6

2. Sensores y transductores 7
a. Definición 8
b. Características de operación 8
c. Sensores resistivos 9
d. Sensores capacitivos 10
e. Sensores inductivos 10
f. Sensores de luz 11
g. Interruptores 12
h. Transductores de presión 12

3. Acondicionamiento de señales analógicas 15


a. Definición 16
b. El transistor 16
c. Polarización del transductor 17
d. Amplificadores operacionales 19
e. Filtros analógicos 22
f. El puente de Wheatstone 23
g. Conversores analógico-digital 23

4. Electrónica digital 27
a. Definición 28
b. Sistemas numéricos 28
c. Código de caracteres ASCII 30
d. <?peracionesaritméticas 31
e. Algebra Booleana 32
f. Compuertas lógicas 34
g. Circuitos combinacionales y secuenciales 36

5. Motores 37
a. Definición 38
b. Motores de corriente directa (DC) 38
c. Motores de pasos 41
d. Servomotores 44
e. Robótica 45
6. Microprocesadores 47
a. Definición 48
b. Arquitectura de microprocesadores 49
c. Registros internos 51
d. Memoria RAM 54
e. Puertos 56

7. Lenguaje ensamblador 57
a. Definición 58
b. Introducción al programa DEBUG 59
c. Estructura del lenguaje ensamblador 61
d. Programación 62
e. Instrucciones básicas 63
f. Ejemplos de programación en lenguaje ensamblador 65

8. Lenguaje C 67
a. Definición 68
b. Diseño de un programa 68
c. Estructura de un programa 69
d. Palabras reservadas 72
e. Estructura de datos 72
f. Sentencias de control 75
g. Funciones 78
h. Inline Assembler 79

9. Lenguajes Visuales 83
a. El entorno de programación 84
b. MS Visual Basic 86
c. MS Visual C++ 89
d. Tecnología .NET 93

1O.lnterfaz GPIO modelo K-400 97


a. ¿Por qué una interfaz de 8 bits? 98
b. El puerto paralelo 99
c. Diseño electrónico de la interfaz 104
d. Programación de la interfaz 106
e. Programación en lenguajes visuales 109

11.Integración de proyectos 119


a. K-405 Display numérico 122
b. K-410 Semáforo 123
c. K-415 Relevadores 124
d. K-420 Conversor Analógico/Digital 125
e. K-425 Probador de cables de red 126
EL ASC DE LA MECATRÓNICA

Capítulo1
Mecatrónica

Pág.!
EL ASC DE LA MECATRÓNICA

Mlealrónica

DEFINICiÓN

Aunque no es un concepto nuevo, este término ha adquirido una gran importancia


en los últimos años por el impacto de sus aplicaciones. Por lo tanto, Mecatrónica
no es una palabra simple de definir ya que se refiere a la automatización de
procesos basada en la integración de los sistemas de control, concepto que
analizaremos a lo largo del libro ya que el enfoque de la Mecatrónica considera a
los sistemas como el núcleo de su análisis.

Mecatrónica se refiere al diseño integrado de los sistemas buscando un menor


costo, una mayor eficiencia, una mayor confiabilidad y flexibilidad desde el punto
de vista mecánico, eléctrico, electrónico, de programación y de control. La
Mecatrónica adopta un enfoque integral desde estas disciplinas en lugar del
enfoque secuencial tradicional del diseño partiendo de un sistema mecánico, luego
el diseño de la parte eléctrica y luego su integración con un microprocesador.

La Mecatrónica se puede tomar como la oportunidad de analizar y resolver los


problemas de automatización desde una perspectiva diferente e integral, donde
los ingenieros no se deben limitar a considerar únicamente la solución desde el
punto de vista de su especialidad, sino en el contexto de una gama de
tecnologías. Este enfoque mecatrónico será conveniente para considerar el
comportamiento de cada parte del sistema en función del resultado general
esperado.

La Mecatrónica aborda su estudio partiendo del concepto de sistema. El sistema


más simple puede considerarse como una estructura cerrada con una entrada y
una salida en donde el principal interés es conocer la relación entre estas dos
variables.

Sistema

Entrada Salida

Por ejemplo, un termómetro podría considerarse un sistema de medición donde la


entrada sería la magnitud que se quiere medir, es decir, la temperatura y, la salida
sería el valor numérico registrado en el termómetro. Este sistema podría crecer y
convertirse en un sistema de control de la temperatura, al cual podríamos llamar

Pág. 2
EL ASC DE LA MECATRÓNICA

sistema de calefacción. De esta forma estaríamos hablando de un sistema de


control, el cual fijaría una salida dentro de un rango programado.

La Mecatrónica, en su parte de control, se auxilia de los desarrollos tecnológicos


en sensores y transductores, sistemas de medición, actuadores,
microprocesadores, microcontroladores y muchos más.

SISTEMAS DE MEDICiÓN

Revisemosbrevemente dos de los sistemas básicos para el análisis y diseño de


los proyectos mecatrónicos: los sistemas de medición y los sistemas de control.

Los sistemas de medición se refieren a la cuantificación de alguna variable física.


Estos sistemas tienen un elemento de medición en la entrada (sensor o
transductor), un acondicionador de la señal obtenida y alguna forma de
presentación o representación del valor calculado. Por ejemplo, si quisiéramos
medir la cantidad de agua que tiene un tinaco, lo podríamos hacer mediante un
potenciómetro (resistencia variable) que actuaría como un sensor de posición del
flotador que nos indicaría el nivel del agua, un amplificador operacional que
acondicionaríael cambio de resistencia y lo convertiría en un rango de voltajes y al
final necesitaríamos algún tipo de display o indicador numérico de estos valores.

------------------
------------------
------------------

Suestructura básica representada en diagrama de bloques puede ser

Sensor o Acondicionador de Presentación


Transductor la señal del valor

Pág. 3
EL ASC DE LA MECATRÓNICA

SISTEMAS DE CONTROL

Por otro lado, los sistemas de control mantienen a lo largo del tiempo o de
cualquier otro parámetro un valor constante o programado de la variable física que
se está midiendo. Por lo tanto, los sistemas de control se basan en sistemas de
medición, de los cuales es tomada su salida y retroalimentada como entrada al
sistema.

Siguiendo con el ejemplo del tinaco, un sistema de control nos ayudaría a


mantener el nivel del agua en un determinado punto o en un rango, según su
programación.

On-Off

11",
'. \ "
'1 \ ,
" \ "
"
I I
\\ , ,

------------------
Toma de agua
------------------
------------------

Esta idea de sistemas de control está presente en muchas actividades humanas y


requieren de una gran creatividad y recursos tecnológicos para lograr solucionds
de calidad.

SISTEMAS DE LAZO ABIERTO Y DE LAZO CERRADO

Los sistemas de control se pueden clasificar en sistemas de lazo abierto y en


sistemas de lazo cerrado. Los sistemas de lazo abierto son sencillos y poseen
poca capacidad de control. Los sistemas de lazo cerrado son más complejos y
tienen control exacto sobre las variables de salida, ya que ésta es retroalimentada
como entrada general del sistema.

Pág. 4
EL ASC DE LA MECATRÓNICA

Comparador
Entrada Salida
Sistema

Señal de
error
Retroalimentación

El comparador es el elemento que compara el valor programado como salida


esperada (Entrada), contra el valor real de salida medido del sistema. Esta
diferencia se considera como la señal de error.

Señal de error = valor programado como salida - valor real de salida

El bloque de sistema puede tener varios subsistemas internos que modifiquen de


diferente forma la señal de entrada. Generalmente se podrá encontrar un
subsistema de control que decida qué acción tomar sobre una señal de error, un
subsistema de corrección que permita ejecutar una acción, a través de un
actuador, para producir un cambio en la salida del sistema y un subsistema de
proceso, que será la variable a controlar por parte del sistema.

El bloque de retroalimentación contiene el dispositivo de medición con un valor


relacionado con la señal de salida del sistema.

Considerando el ejemplo anterior sobre el sistema de control de llenado del tinaco


de agua, los elementos del sistema de lazo cerrado serían:

Salida 181Nivel del agua del tinaco

Entrada 181Posición del flotador

Comparador 181Palanca del flotador (potenciómetro)

Señal de error 181Posición inicial de la palanca - posición real


de la palanca

Corrección 181Palanca con pivote / válvula de agua

Proceso 181Nivel de agua del tinaco

Dispositivo de medición 181Flotador y palanca

Pág. 5
EL ASC DE LA MECATRÓNICA

SISTEMAS DE CONTROL SECUENCIAL

En ocasiones, el tiempo es la principal variable de control y la que determina el


orden en que transcurre un determinado proceso. Es decir, una vez terminado el
paso 1, se inicia el paso 2 que al concluir se inicia el paso 3 y así sucesivamente
hasta terminar.

En estos sistemas, el tiempo y la secuencia de eventos definen la estructura


general de control. Desde luego que se puede hablar de un proceso secuencial de
una sola variable o de un sistema de muchas variables.

Un ejemplo típico de sistema de control secuencial es la operación de una


lavadora de ropa con un ciclo de lavado de 17 minutos, cuyo análisis se presenta
en el siguiente diagrama.

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

Con esta gráfica de tiempo, analizamos la secuencia y la duración de cada uno de


los cuatro procesos de una lavadora: llenar, agitar, centrifugar y vaciar.

Pág. 6
EL ASC DE LA MECATRÓNICA

Capítulo
2
Selsoresvtralsductores

Pág.
7
EL ASC DE LA MECATRÓNICA

Sensores vtransductores

DEFINICiÓN

Los sensores son dispositivos que miden la magnitud de una señal determinada y
producen una señal relacionada. Los sensores usan las propiedades de los
materiales de los que están hechos y así comparar su comportamiento ante las
variaciones de la señal a medir. El termómetro de mercurio es un ejemplo en el
que la sensible propiedad de dilatación que tiene el mercurio ante cambios de
temperatura, se aprovecha para equipararla a su medición.

Muchos de los sensores más usados son eléctricos o electrónicos, aunque existen
de otros tipos, y las magnitudes a medir son fenómenos físicos como diversos
tipos de energía, velocidad, aceleración, tamaño, cantidad, etc. Como ejemplo
podemos mencionar sensores de temperatura, humedad, fuerza, deformación,
acidez, luz, sonido, contacto y proximidad.

Los transductores son dispositivos capaces de transformar un determinado tipo de


energía de entrada en otra diferente y relacionada de energía de salida. Como
ejemplo podemos mencionar transductores electroacústicos, electromecánicos,
electromagnéticos, electroquímicos, fotoeléctricos, piezoeléctricos, termoeléctricos
y de presión.

Los micrófonos, las bocinas, los teclados de los equipos y los ventiladores, son
ejemplos prácticos de aplicaciones de transductores.

CARACTERíSTICAS DE OPERACiÓN

El funcionamiento y evaluación de los transductores se basa en diferentes


características de operación, las cuales se pueden ampliar y convertirse en las
características de los sistemas de medición en su conjunto. Independientemente
del tipo de transductor del que se trate, éstas siempre estarán presentes.

Las características más consideradas son:

· Intervalo. Es el rango en magnitud que puede tener la señal de entrada


· Extensión. Es el valor máximo de entrada que puede detectar un
transductor
· Resolución. Es la mínima señal de cambio en la señal de entrada detectada
por el transductor
· Sensibilidad. Es la relación que existe entre la entrada y la salida del
transductor

Pág. 8
EL ASC DE LA MECATRÓNICA

· Error. Es la variación existente entre el valor real de la señal y el valor


registrado por el transductor
· Exactitud. Es la capacidad de reproducir la misma señal de salida a la
misma señal real de entrada suponiendo un error constante del transductor
· Histéresis. Es la exactitud en la señal de salida considerando si los cambios
en la señal de entrada son por incrementos o por decrementos de valor.
· Linealidad. Es la exactitud que se obtiene en el intervalo de operación del
transductor
· Estabilidad. Es la garantía de exactitud durante el mayor periodo de tiempo
de uso del transductor.
· Acoplamiento. Se refiere a la impedancia de salida del transductor que
afecta el circuito en el que se conecta.

SENSORES RESISTIVOS

Los sensores resistivos son los que aprovechan los cambios de resistencia en su
material para medir la señal asociada. Este tipo de sensores basados en la
variación de la resistencia eléctrica son muy usados ya que son muchas
propiedadesfísicas que la afectan, pudiendo clasificarse en mecánicas, térmicas,
ópticasy químicas.

Un potenciómetro es una resistencia variable cuyo


valor se determina por el desplazamiento de un
contacto móvil deslizante o giratorio. Este
desplazamiento, se convierte en una diferencia de
potencial, de donde se vuelve un sensor muy usado.

El diagrama eléctrico equivalente es muy similar al de


la resistencia, solamente que tiene un indicador del
contacto móvil, llamado también cursor.

, L-
Ve RI I VI

} V2

Pág.9
EL ASC DE LA MECATRÓNICA

Estas diferencias de potencial (V1 - V2) se pueden asociar a un modelo de dos


resistencias en serie.

Una aplicación de sensores resistivos son los detectores de temperatura basados


en la variación de resistencia eléctrica de sus materiales y son denominados como
RTD (Resistance Temperature Detectors). La resiste ncia nominal de un termistor
se elige fundamentalmente con base al alcance de temperatura de operación.
Mayores valores de resistencia corresponden a temperaturas más elevadas,
mientras las bajas temperaturas requieren menores resistencias.

SENSORES CAPACITIVOS

Los sensores capacitivos son sensores que sus materiales se comportan como
condensadores eléctricos. Los condensadores son dispositivos que, sometidos a
una diferencia de potencial (voltaje) adquieren una determinada carga eléctrica. A
esta propiedad de almacenamiento de carga se le denomina capacidad. Los
condensadores están formados de dos placas o láminas conductoras separadas
por un material dieléctrico.

Una aplicación de sensores capacitivos son los


detectores de nivel, los cuales modifican sus
características al modificar la cantidad de
dieléctrico entre sus placas, producto del nivel del
líquido que están midiendo.

En ocasiones es el mismo líquido el que simula


ser la segunda placa del condensador.

Este tipo de sensores también son usados para medir humedad, proximidad y
posición.

SENSORES INDUCTIVOS

Los sensores inductivos son los que trabajan en forma de bobinas. Las bobinas
están formadas por hilo de cobre enrollado, también llamado devanado, y cuyo
principio de funcionamiento es que al pasar una corriente eléctrica por sus
terminales, éstas almacenan energía en forma de campo magnético. Debido a
estas características, la detección de materiales metálicos ferrosos es una de sus
aplicaciones más comunes, por lo que son usados como detectores de
posicionamiento, proximidad y como detectores de metales.

Pág. 10
EL ASC DE LA MECATRÓNICA

La inductancia de las bobinas depende del


diámetro del cable del que están hechas y del
número de vueltas de su fabricación.

Al igual que los sensores capacitivos, son


sensores que responden muy bien en sistemas de
corriente alterna, siendo la frecuencia de la señal
que los estimula una de las variables a medir para
identificar sus cambios.

Esta capacidad de almacenamiento de energía magnética de las bobinas, es


usada para afectar a otras bobinas. Es así como se forman los transformadores.
Lostransformadores diferenciales de variación lineal (LVDT) son los que modifican
el campo magnético entre las bobinas al modificar la posición de su núcleo.

CA

Núcleo

SENSORES DE LUZ

Los sensores de luz modifican las propiedades de


los materiales al variar la intensidad de luz que
reciben. Las fotorresistencias y los fotodiodos son
muy usados en este tipo de aplicaciones.

Los fotodiodos tienen una mejor respuesta lineal que las fotorresistencias que, en
cambio, ofrecen un alto valor de resistencia en la oscuridad pudiendo llegar a 2
MOhms,y un valor de resistencia de 50 KOhms en mayor iluminación.

Pág. 11
EL ASC DE LA MECATRÓNICA

Los fotodiodos son semiconductores, por lo que basan su principio de operación


en el comportamiento de las uniones P-N. De aquí que se puedan formar los
fototransistores, en los que la luz incide sobre la región de la base, haciéndolo
más sensible que el fotodiodo por el efecto de ganancia propio del transistor.

INTERRUPTORES

Los interruptores pueden ser un tipo especial de sensores ya que, aunque no


modifican las propiedades físicas de sus componentes, sirven para detectar
diferentes estados de fenómenos u objetos que se quieran medir.

La construcción de los interruptores ofrece una gama de posibilidades para


detectar movimientos, posiciones y frecuencias de comportamiento de estos
objetos.

Los interruptores mecánicos o electromecánicos


de los relevadores, tienen uno o varios pares de
contactos que transmiten estos estados al circuito
al que están conectados. Este comportamiento
permite o no el paso de una señal eléctrica de CC
o CA y también se puede traducir como señales
de 1's y O's, esta última condición muy utilizada en
los sistemas con enfoque digital, es decir,
sistemas que permiten dos estados.

Los interruptores mecánicos se especifican en


función del número de polos y tiros con que están
fabricados.

Los polos son el número de interruptores que


funcionan a la vez en cada posición y los tiros son
el número de contactos por posición.

En aplicaciones electrónicas, uno de los problemas que se presenta con el uso de


interruptores mecánicos es el rebote físico de sus contactos. Este rebote puede
ser interpretado por la electrónica del circuito en el que está conectado como una
señal diferente, por lo que hay que tomarlo en cuenta y hacer los ajustes
necesarios. Algunas medidas pueden ser el retardo en la lectura de la señal, el
uso de circuitos de memoria adicionales o el uso de circuitos tipo schmitt triggers.

TRANSDUCTORES DE PRESiÓN

Los nombres de los transductores indican la transformación y medición que hacen.


De esta forma, cualquier dispositivo que convierta el movimiento mecánico

Pág. 12
EL ASC DE LA MECATRÓNICA

generado por fuerzas asociadas a una presión externa y que se traduzca en una
señal eléctrica o electrónica, se podrá considerar como un transductor de presión.

Estos pueden tener diferentes encapsulados,


según la aplicación para la que están destinados.

La presión se puede definir como la fuerza que se


ejerce sobre una unidad de área conocida y
muchas veces se mide en comparación a otra
columna de referencia. Los transductores lo harán
midiendo el desplazamiento o deformación de su
membrana o diafragma.

La presión también puede ser producto del


volumen de un fluido (líquido o gas).

Pág. 13
EL ASC DE LA MECATRÓNICA

Acondicionamiento
deseñalesanalóuicas

DEFINICiÓN

Las señales obtenidas de los sensores y transductores que se usan en los


sistemas de medición, tienen que ser procesadas y adaptadas para poder
pasarlas a la siguiente etapa.

Este proceso de adaptación es lo que se conoce como acondicionamiento de la


señal y como ejemplo de estos cambios se pueden mencionar los siguientes:

· La señal del sensor o transductor es demasiada pequeña, por lo que hay


que amplificarla para que se pueda acoplar en la siguiente etapa
· La señal tiene interferencias no deseadas, lo cual puede ser muy común
cuando los transductores no tienen un buen aislamiento eléctrico
· La señal del transductor es de tipo analógico y hay que acoplarla a un
sistema digital, por lo que habrá que pasarla por un conversor analógico-
digital
· La salida del transductor no tiene la impedancia adecuada para la siguiente
etapa, lo que causaría pérdida de la señal de salida
· La señal del transductor es un voltaje de DC y hay que cambiarlo a pulsos
· En las primeras etapas de los sistemas de instrumentación es común que
se tengan que acoplar y adaptar señales de corriente y de voltaje que sean
proporcionales
· La señal de salida del transductor no es lineal, por lo que es necesario
hacer una corrección

Este acondicionamiento de las señales de los transductores puede ser simple o


complejo y hay elementos y configuraciones estándar para su tratamiento.

EL TRANSISTOR

Los transistores son dispositivos semiconductores que debido a sus


características de operación pueden desarrollar varias funciones principales. Una
es de amplificador de señales, otra es de ser un circuito de conmutación, es decir,
un interruptor (switch) electrónico, de oscilador y también puede ser un rectificador
de señales.

Los transistores están formados por tres capas semiconductoras que forman dos
uniones bipolares y que pueden tener un orden P-N-P o N-P-N, por lo que en el
diseño de circuitos son considerados como elementos activos, a diferencia de los
elementos pasivos formados por condensadores, resistencias y bobinas.

Pág. 16
EL ASC DE LA MECATRÓNICA

Cada capa tiene su nombre, por lo que el transistor tiene un colector (c), un
emisor (E) y una base (B). Los transistores pueden tener diferentes encapsulados
y su representación para el diseño de circuitos se muestra a continuación.

B ~5
B

,
,..~
.
(

E i
r
,
E

Los transistores, gracias a las tecnologías de integración, se han vuelto el principal


componente de todos los circuitos integrados. Las compuertas digitales, los
microprocesadores y todo tipo de circuito integrado están compuestos de millones
de transistores microscópicos.

POLARIZACiÓN DEL TRANSDUCTOR

Como la polarización de los dos tipos de transistores bipolares es diferente,


empezaremos por diferenciar su diagrama eléctrico.

NPN PNP

Independiente a que la elaboración de los transistores NPN es más simple, su uso


puede estar definido por los criterios de diseño del circuito, ya que usándolo como
switch, si el estímulo es un 1 convendrá usar un NPN y si el estímulo es un O
entonces la elección será un PNP.

La operación de un transistor se basa en los siguientes conceptos


· La unión Base-Emisor se comporta como un diodo
· Una corriente de Base solamente fluye cuando el voltaje S-E
es mayor a 0.7 Volts
· La corriente del Colector es igual a la corriente de Base
aumentada por la ganancia del transistor, llamada hFE

Pág. 17
EL ASC DE LA MECATRÓNICA

· Se necesita incluir una resistencia en serie con la Base del


transistor para limitar su corriente y evitar dañarlo
· En un extremo de operación, el transistor entraría en estado
de saturación, lo que causaría un VCE de O volts y un
comportamiento de switch
· La corriente del Emisor es igual a Ic + lB y como lB es muy
pequeña se puede suponer que IE=le

r---r-- +9V
En el diagrama se muestran las dos rutas
de corriente, lB e le que se logran con

Interrupt..jv ! componentes estándar. El transistor, por


ejemplo,.puede ser un MPS2222A o un
lj' $ 470 BC548.
~ ..1.. corriente
10k "% "de colector La corriente de Base es la que controla la
corriente del Colector.
corriente .1. ::::L?LECe
de base 'V brillante
LECB Cuando el interruptor se cierra, la
debil pequeña corriente de Base fluye y prende
el LEO B con una intensidad débil. El

-- transistor amplifica la corriente que fluye


del Colector al Emisor, por lo que el LEO
C prende con una intensidad brillante.

;;.-- ruta de corrientede base Cuando el interruptor se abre, no fluye


~ ruta de corriente de colector corriente por la Base, por lo que los dos
LEOs se apagan.

Cuando el transistor se usa como switch electrónico la polarización se va a los


extremos de operación, por lo que se satura para cerrarlo y se apaga para abrirlo.
El dispositivo a prender/apagar mediante la simulación de abrir/cerrar del switch se
le llama carga.

La forma de operación en un transistor en


configuración de switch es:
· Cuando el transistor está apagado
la corriente de colector es cero, por
lo que le x VeE= O
· Cuando el transistor está en estado
de saturación, el voltaje Colector-
Emisor es casi cero, por lo que el
producto le x VeEes muy pequeño,
lo que significa que la potencia es
- baja y entonces no debe causar
calentamiento en el transistor.

Pág. 18
EL ASC DE LA MECATRÓNICA

Los valores importantes a considerar es esta configuración son la máxima


corriente de colector y la mínima ganancia de corriente hFE.

+V Si la carga del switch electrónico es un


motor, un relevador o algún tipo de
diodo bobina, se debe incluir un diodo de
de
protección protección que cuide al transistor de algún
daño cuando de apaga la carga.

La figura muestra la polarización inversa


del diodo, lo que garantiza que cuando la
carga se apaga, la corriente fluya por el
diodo y protege al transistor.
-

El transistor es un buen switch para DC, por lo que si lo que si se quiere controlar
corriente AC o alto voltaje, se tendrá que usar un relevador.

AMPLIFICADORES OPERACIONALES

Los amplificadores operacionales son amplificadores de señal con una


configuración general prediseñada y que se encuentra encapsulada en un circuito
integrado. Tres de las características importantes son:
· Tienen una entrada diferencial, es decir, una entrada positiva y una
negativa
· La salida del amplificador se define como VOUT= G (V+ - V_),por lo que la
ganancia es g = Vo / Vi
· En forma ideal, la impedancia de entrada en infinita y la de salida es nula

Esta figura representa el diagrama eléctrico de los


amplificadores operacionales.

Los voltajes Vs son voltajes de polarización que,


generalmente, pueden llegar a los niveles de 15 Volts.

El modelo uA741 de la compañía Fairchaild es uno de los


más conocidos.

Gracias al diseño de los amplificadores operacionales, estos pueden tener una


configuración de lazo abierto y también de lazo cerrado. Si el voltaje de salida se
retroalimenta como voltaje de entrada negativo, la configuración será de lazo
cerrado. Los amplificadores operacionales pueden tener diferentes
configuraciones, lo que los hace un dispositivo muy atractivo para acondicionar
señales.

Pág. 19
EL ASC DE LA MECATRÓNICA

Comparador
· Esta es una aplicación sin la
retroalimentación. Compara entre las
dos entradas y entrega una salida en
función de qué entrada sea mayor. Se
puede usar para adaptar niveles
lógicos

_ VS+ Ví > V2
{
IT
Yout - IT
Vs- Vi < Y2
Seguidor

· El seguidor es un circuito que


proporciona a la salida un voltaje igual
que a la entrada
· Se usa como un buffer, para eliminar
Vout efectos de carga o para adaptar
impedancias (conectar un dispositivo con
gran impedancia a otro con baja
impedancia y viceversa)

Inversor
Rf · El inversor es un amplificador que
cambia el signo o la fase del voltaje de
Rin entra. La ganancia está determinada por
Vin ,j\ la relación de resistencias
Vout

No Inversor

· El no inversor es un amplificador de
señal con una ganancia determinada
por la relación de resistencias.

Pág. 20
EL ASC DE LA MECATRÓNICA

Sumador Inversor

Yn
Rn
· El amplificador suma los voltajes de
entrada e invierte la señal de salida

Vout

Restador (amplificador diferencial)

· Esta configuración resta los voltajes de


entrada. La polaridad del voltaje de salida
depende de la magnitud de los valores de
entrada
Vout

Integrador Ideal

· La señal de entrada se integra como


e una función dependiente del tiempo
· La señal de salida está invertida
R
· \!¡nicial
es el voltaje cuando t=O
Vout
- rt \Í;
Vout = 10 - R~ dt + Vinicial

Derivador ideal

R · La señal de entrada se deriva y se


invierte con respecto al tiempo

Vout
-

Pág. 21
EL ASC DE LA MECATRÓNICA

FILTROS ANALÓGICOS

Algunas señales que entregan los sensores y transductores contienen señales de


interferencia, producto del ambiente en el que se encuentran. La interferencia de
la línea de voltaje o de señales de radiofrecuencia son algunos ejemplos.

Los filtros analógicos pueden eliminar estas señales parásitas limitando el ancho
de banda a través de generar diferentes segmentos, diferentes túneles que
permitan pasar solamente la señal que se desea transmitir. El límite entre lo que
se pasa y entre lo que se rechaza se conoce con el nombre de frecuencia de
corte.

Los filtros se clasifican de acuerdo con los segmentos de frecuencia que dejan
pasar o que rechazan. De esta forma la clasificación puede ser de cuatro tipos
diferentes:

1. Filtro pasa bajas

~
2. Filtro pasa altas
Permite el paso de señales desde una frecuencia
O hasta la frecuencia de corte establecida

Permite el paso de señales a partir de la


frecuencia de corte establecida

3. Filtropasa banda
Permite el paso de señales dentro de un rango
superior e inferior de frecuencias

4. Filtro supresor de banda


Permite el paso de señales en todo el espectro
excepto en un rango establecido de frecuencias

Pág. 22
EL ASC DE LA MECATRÓNICA

En los filtros, la frecuencia de corte se considera cuando la señal alcanza el 70.7%


de su valor, lo que equivale a una atenuación de 3 dB.

Los filtros también se clasifican en pasivos y activos. Los filtros pasivos están
formados por resistencias, condensadores y bobinas.

e Una de sus desventajas es que la


frecuencia se puede modificar por el
R
consumo de energía de los componentes.

Vout Los filtros activos se refieren a los circuitos


con elementos semiconductores como
transistores y amplificadores operacionales
- y no tienen la desventaja de los filtros
pasivos. Las configuraciones de Integrador
Filtro activo pasa bajas y Derivador de los amplificadores
operacionales son usadas como filtros.

EL PUENTE DE WHEATSTONE

Es un arreglo de resistencias muy usado para medir los cambios en una de ellas,
lo cual produce un cambio de voltaje en su salida.

Este circuito resistivo puede operar con


voltaje directo en un rango menor a 12
volts.

Cuando el puente está en equilibrio,


significa que el voltaje de salida es O, por lo
que implica que R1=R2 y R3=R4.

Si la resistencia variable R4 es el elemento


sensor que se está usando y cambia su
valor, el voltaje de salida va a cambiar en
consecuencia.

En ocasiones, estos sensores requieren de un elemento de compensación para


evitar cambios adicionales como podría ser por factores de temperatura.

CONVERSORES ANALÓGICO-DIGITALES

El mundo en que vivimos genera señales de tipo analógicas. Los sensores y


transductores de señales, siempre van a generar señales analógicas. Para que

Pág. 23
EL ASC DE LA MECATRÓNICA

estas señales puedan ser incorporadas a sistemas digitales del tipo circuitos
electrónicos digitales o computadoras, es necesario cambiar estas señales
ana/ógicas a señales digitales.

Para manejar esta conversión, el sistema binario, con dígitos O y 1, es la base


teórica para poder manejarla. Estos dígitos binarios, desde el punto de vista de la
electrónica, son llamados bits. Cuando un número se representa por este sistema,
la posición del dígito en el número binario indica el peso asignado a cada dígito,
peso que tiene un equivalente en un sistema decimal y que aumenta en un factor
de 2, representado por la expresión 2n

23 22 21
8 4 2
Bit 3 Bit2 Bit1

Como ejemplo, el número decimal 12 en un sistema binario tiene la siguiente


representación

1 1 o o
La comprobación de 8 + 4 confirma que la conversión fue correcta.

Según el número de bits, será la capacidad


del conversor, ya que a mayor número de
bits, la resolución y el rango de amplitud de la
señal a manejar serán mayores. En caso de
usar 4 bits, solamente se podrán distinguir
16 números incluyendo el O.

La operación de los conversores analógico-


digital se basa en un circuito de muestreo de
la señal y el módulo de conversión.

En la parte superior de la figura se ve la


señal que se quiere convertir. En la parte
. central se representa el circuito de muestreo
que tomará una lectura de la señal con una
frecuencia fija. En la parte inferior se 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 muestras se pasan al conversor analógico-digital y así se obtendrá su


equivalente en el número de bits que tenga el conversor.

La frecuencia de muestreo de una señal es importante, ya que define la fidelidad


con la que se va a reproducir en forma binaria. El teorema de Nyquist - Shannon,
conocido como el teorema de muestreo, dice que para poder ser reconstruida, la
frecuencia de muestreo debe ser por lo menos del doble de la frecuencia máxima
de la señal original.

Hay varios métodos de conversión analógico-


digital. El método de escalera es muy usado
en dispositivos de bajo precio y consiste en
incrementar la cuenta binaria hasta que ésta
coincida con el valor analógico a comparar.

La figura ilustra una entrada analógica en el


eje vertical y una salida digital equivalente en
el eje horizontal.

La longitud de la palabra binaria determina la


resolución del conversor, definiendo el
cambio de señal más pequeño que puede
detectar a su salida.

De esta manera un convertidor analógico-digital de una longitud de palabra de 8


bits, con un intervalo de señal analógica de 5 volts, el número de niveles en una
palabra es de 28 = 256, Y por ello la resolución es 5/256 = 19.5 mV.

Pág. 25
EL ASC DE LA MECATRÓNICA

Capítulo
4
Electrónica
diuital

Pág.
27
EL ASC DE LA MECATRÓNICA

Electrónica
digital

DEFINICiÓN

La electrónica digital ha alcanzado un excelente nivel de integración y en la


actualidad un sinnúmero de dispositivos basan su operación en estas tecnologías.
Igualmente sucede con los sistemas de control que se aplican a diversos
mecanismos. Una característica importante de estos sistemas es que dependen
de dos únicos valores de operación, el "O" y el "1", generalmente asociados a
voltajes de Oy +5 volts.

La teoría que rige la operación de estos circuitos es el álgebra de Boole que tiene
su equivalente en compuertas lógicas. El término lógica combinacional se refiere a
la combinación de dos o más compuertas lógicas para ofrecer el resultado
deseado.

SISTEMAS NUMÉRICOS

Los fenómenos físicos y químicos siempre tienen una representación en valores


decimales. El sistema decimal se representa a partir de 10 dígitos diferentes: O, 1,
2, 3, 4, 5, 6, 7, 8 Y 9. En cualquier sistema numérico, la posición del dígito indica el
peso asignado el cual, en el sistema decimal, aumenta en un factor de 10 en cada
posición que aumenta a la izquierda.

103 102 101 10°


Millares Centenas Decenas Unidades

Así se puede mostrar la equivalencia de los números decimales, como por ejemplo
el 2,575.

El sistema binario se representa a partir de 2 dígitos diferentes: O y 1. Igualmente,


la posición del dígito indica su peso asignado el cual aumenta en un factor de 2 en
cada posición que aumenta a la izquierda. Estos dígitos binarios se les denominan
bits.


BitO

Pág. 28
EL ASC DE LA MECATRÓNICA

Así se puede mostrar la equivalencia al número decimal 13

Agrupando de tres en tres los dígitos binarios de derecha a izquierda, se logra una
conversión al sistema octal. El sistema octal se representa por 8 dígitos diferentes:
0, 1, 2, 3, 4, 5, 6 Y 7. La posición del dígito indica su peso asignado el cual
aumenta en un factor de 8 en cada posición que aumenta a la izquierda.

Así se puede mostrar la equivalencia al número binario 111001100, 460 decimal.

Agrupando de cuatro en cuatro los dígitos binarios de derecha a izquierda, se


logra una conversión al sistema hexadecimal. El sistema hexadecimal se
representa por 16 dígitos diferentes: O, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, S, C, D, E Y F. La
posición del dígito indica su peso asignado el cual aumenta en un factor de 16 en
cada posición que aumenta a la izquierda.

Así se puede mostrar la equivalencia al número binario 100110101100, 2,476


decimal.

En cualquier sistema numérico excepto en el sistema binario, los enteros positivos


se representan sin signo y los enteros negativos se representan con un signo de
menos al principio. Como el sistema binario es usado en las computadoras, hay
una limitación impuesta por el hardware en la que todo debe representarse en
formato binario. Para tal efecto, los números negativos se representan con el bit
más significativo de la palabra que se usa. La convención es que el bit es cero si
el número es positivo y uno si es negativo. Normalmente no hay problema para
identificar los bits si se define con anticipación el tipo de representación a usar.

En electrónica se usa un equivalente adicional, el sistema decimal de codificación


binaria (SCD) muy usado también por las computadoras. Este sistema representa
los números decimales en forma binaria pero en forma independiente, no como
una cantidad única. Así, el número 23 decimal se representa como 010 011 en
formato SCD.

Pág. 29
EL ASC DE LA MECATRÓNICA

Este código es útil para las salidas de los sistemas basados en microprocesadores
y que ofrecen salida a displays numéricos.

La siguiente tabla representa un equivalente entre los sistemas numéricos.

Decimal Binario Octal Hexadecimal BCD


O 0000 O O 0000 0000
1 0001 1 1 0000 0001
2 0010 2 2 0000 0010
3 0011 3 3 00000011
4 0100 4 4 00000100
5 0101 5 5 0000 0101
6 0110 6 6 00000110
7 0111 7 7 0000 0111
8 1000 10 8 0000 1000
9 1001 11 9 0000 1001
10 1010 12 A 0001 0000
11 1011 13 B 0001 0001
12 1100 14 C 0001 0010
13 1101 15 O 0001 0011
14 1110 16 E 0001 0100
15 1111 17 F 0001 0101

CÓDIGO DE CARACTERES ASCII

La manipulación de los números por las computadoras se puede extender a la


manipulación de letras. Por lo tanto, además de tener una representación y
manipulación de números, es necesario tener una representación de letras y de
caracteres adicionales usados en los textos.

El código binario estándar para los caracteres alfanuméricos es el llamado código


ASCII (American Standard Code for Information Interchange). Este código usa una
longitud de palabra de 7 bits, lo que permite representar 128 caracteres diferentes.
Estos incluyen letras minúsculas, mayúsculas y caracteres de puntuación. Los
primeros 33 caracteres (incluyendo el O)y el 128 son de control, por lo que no son
caracteres imprimibles.

El código ASCII se representa con siete bits, pero las computadoras manejan una
palabra mínima de ocho bits, llamada byte. Por esta razón, lo más común es
almacenar el código ASCII en ocho bits Este bit extra se utiliza para otros fines,
que generalmente se usa para dar indicaciones adicionales a la impresora, ya que
este código se usa para tales fines.

Pág. 30
EL ASC DE LA MECATRÓNICA

A continuación se muestra una tabla ASCIIcodificada en siete bits, donde se


muestran los caracteres de control,el abecedario en minúsculay mayúscula y los
caracteres especiales.
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 w
g
8 BS CAN ( 8 H X h x
9 HT EM ) 9 I Y i Y
* J Z z
10 LF SUB i
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

OPERACIONES ARITMÉTICAS

Las operaciones aritméticas en los diferentes sistemas numéricos siguen las


reglas de la aritmética ordinaria. Si los signos son iguales, las magnitudes se
operan y guardan el mismosigno. Si los signos cambian, los resultados cambiarán
en consecuencia.

En el sistema binario las operaciones con números negativos usan una


codificacióndiferente,llamadasistema de complementocon signo. Mientrasque el
sistema de magnitudes usa el bit más significativoa uno para indicarque el signo
es negativo, en este nuevo formato los números negativos se indican en su
complementoa uno o dos.
Por ejemplo, considerando una representación de 8 bits el número +10 se
representa en forma binaria como 00001010, el -10 suponiendo el sistema de
magnitud con signo como 10001010,en complementoa uno como 11110101Yen
complemento a dos como 11110110.

La suma de dos números binarios con signo positivo, se regirá por las reglas
ordinarias. La suma entre números binarios positivos y negativos, se convertirá el
númeronegativoa formatode complementoa dos y se resolverá sumando los dos
operandos.El resultadoquedará en complementoa dos, por lo que habrá que
hacerotra conversiónpara tener la magnitudreal.

Pág. 31
EL ASC DE LA MECATRÓNICA

Para representar el comentario anterior, se presenta la suma 8 + 10 Y 8 - 10.

8 00001000 8 00001000
+ 10 + 00001010 - 10 - 11110110
+ 18 00010010 - 2 11111110

La resta de dos números binarios con signo negativo y que están en formato de
complemento a dos, se resuelve en una forma sencilla: se obtiene el complemento
a dos del sustraendo y se suma al minuendo. En caso de un acarreo en la
operación, éste se desprecia. Como ejemplo, la operación (-8) - (-10) =2

11111000
00001010
+ 00000010

ÁLGEBRA BOOLEANA

El álgebra Booleana es una herramienta importante porque todas las


computadoras digitales requieren una definición de las reglas que rigen la
manipulación de variables de dos valores, conceptos dictados por este tipo de
álgebra.

Estas reglas se representan por las operaciones básicas AND, OR Y NOT. Estas
reglas se escriben en forma de tablas de verdad, las cuales especifican los
resultados de todas las combinaciones de entrada posibles. Los resultados se
expresan en formato de FALSO y VERDADERO. También puede sarcomo un '1' o
un 'O'.

La operación Booleana AND se puede expresar con un resultado verdadero sólo si


las dos entradas son verdaderas o 1. El símbolo Booleano de la operación AND es
un punto (*), por lo que su representación es

La tabla de verdad de la operación AND es

A B e
O O O
O 1 O
1 O O
1 1 1

Pág. 32
EL ASC DE LA MECATRÓNICA

La operación Booleana OR se puede expresar con un resultado falso sólo si las


dos entradas son falsas o O. El símbolo Booleano de la operación OR es un signo
más (+), por lo que se representación es

C=A+B

La tabla de verdad de la operación OR es

A B C
O O O
O 1 1
1 O 1
1 1 1

La operación Booleana NOT expresa el complemento del valor de entrada. Si la


entrada es verdadera la salida es falsa. El símbolo Booleano de la operación NOT
es una barra en la parte superior de la variable, por lo que su representación es
-
C=A

La tabla de verdad de la operación NOT es

A C
O 1
1 O

Hay otra operación que se usa con frecuencia que es el EXCLUSIVE-OR. Esta
operación se puede expresar con un resultado verdadero sólo cuando las dos
entradas son diferentes. El símbolo Booleano de la operación EXCLUSIVE-OR es
un signo más dentro de un círculo (@), por lo que su representación es

La tabla de verdad de la operación EXCLUSIVE - OR es

A B C
O O O
O 1 1
1 O 1
1 1 O

Las operaciones Booleanas respetan el formato .original de la ley conmutativa,


asociativa y distributiva.

El álgebra Booleana es un álgebra que se ocupa de variables binarias y


operaciones lógicas. Una función Booleana expresa la relación lógica entre

Pág. 33
EL ASC DE LA MECATRÓNICA

variables binarias y que evalúa todos los valores binarios de la expresión para
todos los posibles valores de entrada.

Una función Booleana se puede transformar de una expresión algebraica a un


diagrama de circuitos hechos con compuertas lógicas.

Una función Booleana se representa de la siguiente forma:

F1 = A'B'C + A'BC + AB'

donde el apóstrofe se toma como complemento u operación NOT, el signo más es


una operación OR y las variables se operan con una operación ANO.

COMPUERTAS LÓGICAS

Una manera generalizada de representar las funciones Booleanas es el uso de


símbolos llamados compuertas lógicas digitales. Estas compuertas representan
bloques funcionales que reciben entradas, se procesan y generan una salida.

Los símbolos de las compuertas lógicas digitales son los siguientes:

Pág. 34
EL ASC DE LA MECATRÓNICA

Nombre Símbolo Función Tabla


gráfico algebraica de verdad

x y F
X O O O
AND
Y
=D-F F=XY O 1 O
1 O O
1 1 1
X Y F
X O O O
OR =D-F F=X+Y
O 1 1
Y 1 O 1
1 1 1

Inversor X ----{>o----- F F=X'

Búfer
m
O 1
1 O
X --[>-- F F=X
m
O O
1 1
X Y F
X
NAND
Y
=Ct- F
F =(X Y)' O
O
1
O
1
O
1
1
1
1 1 O

X X Y F
NOR =[>-F F =(X+ Y)' O O 1
Y O 1 O
1 O O
1 1 O

X X Y F
XOR (OR F =XY'+ X'Y O O O
exclusivo) y
D-F F= XY O 1 1
1 O 1
1 1 O

X X Y F
F =XY+ X'Y' O O 1
NXOR
Y
D-F F =(XY)' O 1 O
1 O O
1 1 1

Pág. 35
EL ASC DE LA MECATRÓNICA

Como ejemplo, consideremos la siguiente función:

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

CIRCUITOS COMBINACIONALES y SECUENCIALES

Los circuitos lógicos para sistemas digitales pueden ser combinacionales y


secuenciales.

Un circuito combinacional consiste en compuertas lógicas cuyas salidas en


cualquier momento, estarán determinadas por la combinación actual se entradas,
quedando definida su operación por un conjunto de funciones Booleanas, por lo
que se puede representar en términos de tablas de verdad.

Un circuito secuencial usa elementos combinacionales (compuertas lógicas) más


elementos de 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 momento actual o como resultado de estados
anteriores.

Pág. 36
EL ASC DE LA MECATRÓNICA

Capítulo
5
MOlores

Pág.
37 .
EL ASC DE LA MECATRÓNICA

MOlores

DEFINICiÓN

En el Capítulo 1 el concepto Mecatrónica se definió y se trató con amplitud y entre


más se avanza en el estudio de este libro, más claro debe quedar el tema del que
se trata. Aun así, aunque es una palabra interesante, puede resultar un poco
confusa o muy técnica para muchas personas que no están familiarizadas con el
tema. Entonces podemos, aunque sea durante este capítulo, buscar un sinónimo
a la palabra y en este caso será Robótica.

La robótica es una actividad técnico-científica dedicada al desarrollo y


construcción de dispositivos cuya finalidad es realizar tareas en la misma forma en
la que son realizadas por las personas. Esta imitación de tareas puede ser sencilla
o muy compleja, por lo que una de las características más impresionante puede
ser el movimiento que realizan los robots. De aquí que se diga que "Si no se
mueve, no es un robot"

El movimiento que se pueda lograr en los robots sólo es posible a través de un


motor, o varios, conectado a una serie de poleas, engranes o de cualquier otro
mecanismo mecánico que ayude al movimiento del elemento del robot.

Por lo tanto, vale la pena revisar los fundamentos de operación de los motores que
nos permitan introducimos en este fascinante tema.

MOTORES DE CORRIENTE DIRECTA (DC)

Los motores de DC son dispositivos tecnológicos perfectamente estudiados que


combinan eficiencia y una operación controlada con facilidad. Los primeros
estudios y pruebas que se realizaron para desarrollarlos se hicieron en 1821. Un
motor de corriente continua es un dispositivo mecánico que transforma la energía
eléctrica en movimiento rotacional. La principal característica del motor de
corriente continua es su capacidad de regular su velocidad desde cero hasta la
máxima diseñada.

Pensando en un prototipo que se quisiera


desarrollar, la imagen que se muestra podría ser
lo más representativo de estos dispositivos.

Los motores de corriente continua están


formados por dos partes principales: el estator y
el rotor, concepto que se aclara en la siguiente
imagen

Pág. 38
EL ASC DE LA MECATRÓNICA

n
Escobilla

Fuente de volataje

El estator está formado por los polos magnéticos formados por imanes
permanentes o por un devanado de cables de cobre. El rotor, generalmente de
forma cilíndrica, está formado de un devanado con núcleo al que le llega la
corriente de la fuente de voltaje mediante dos escobillas.

La magnitud de la fuente de voltaje va a determinar la velocidad del motor medida


en revoluciones por minuto (RPM).

Los motores de DC podrán varias el sentido del giro dependiendo del sentido del
flujo de corriente que se les haga pasar, es decir, como son motores de corriente
continua, la fuente de voltaje que los alimenta determinará el sentido, siempre y
cuando la fuente de voltaje este en el rango de operación del motor de DC.

En una descripción más gráfica, el sentido de giro del eje del motor depende de la
posición de la batería en los bornes del motor, lo que se puede representar de la
siguiente forma:

Pág. 39
EL ASC DE LA MECATRÓNICA

Una característica de este tipo de motores es que, por si solos, no cuentan con
detectores de posición en su giro, por lo que una vez que se les aplica el voltaje
giran a máxima velocidad hasta que se corta el voltaje.

Con base a esta característica, uno de los controles más comunes que se puede
tener sobre estos motores es la dirección de giro. La configuración de un circuito
llamado Puente-H es una forma adecuada para este control, el cual puede ser
armado con transistores o adquirido en forma comercial como un circuito
integrado.

Vcc . Vcc

A B

- -

La lógica de operación de este tipo de circuitos es que los transistores trabajan en


las regiones de corte y saturación de los transistores, por lo que el sentido de giro
del motor obedece a las reglas de la siguiente tabla:

A B Dirección

O O Sin giro
O 1 Derecho
1 O Izquierdo
1 1 Sin giro No se
recomienda

Para armar con éxito este tipo de circuito, es necesario conocer las características
de demanda de potencia del motor, de lo contrario podría quemar los transistores
o no funcionar. Los circuitos integrados pueden llegar a manejar fácilmente 1
Ampere, por lo que habría que aumentar una etapa de potencia en caso de
necesitar una mayor potencia.

Pág.40
EL ASC DE LA MECATRÓNICA

El circuito integrado modelo L298N es un buen ejemplo de un Puente H que sirve


para manejar motores de 4.5 V - 46 V pudiendo proporcionar una corriente
continua hasta de 4 amperes. El chip tiene 15 patas con dos puentes completos
diseñados para ser controlados con voltajes TIL.

Ladistribución de pines según la hoja de datos del fabricante es

tl5 CURREHT SENSlNG B


t4 O\JTPUT ..

-$- 13
.2
OUTPUT 3
INPUT 4
11 ewilE B
10 INPUT 3
g LOOIC SUPPL Y VOLTAGEV.
e GNO

-$- 1
a
!I
INPUT 2
ENABlE A
INPUT 1
.. SUPPlVVOlTAGEV.
3 OUTPUT2
-$- :2 OUTPUT 1
, CURRENT SENSING A

Otra forma de obtener el control sobre la dirección de giro del eje del motor de DC
es usar relevadores que simulen la inversión de voltaje en los bornes del motor (El
kit K-415 ofrece esta posibilidad).

MOTORES DE PASOS

Los motores de pasos son dispositivos mecánicos que ofrecen un gran control y
precisión en su movimiento rotacional, pues como su nombre lo indica, se pueden
mover en pequeños pasos, en pequeños incrementos que se controlan con pulsos
de voltaje.

Estos pasos en su giro pueden variar desde 90° hasta pequeños movimientos de
1.8°. Para lograr giros de 90° se requieren cuatro pasos para dar una vuelta
completa. Para lograr giros de 1.8° se requieren doscientos pasos para lograr una
vuelta completa.

Esto motores están formados por diferentes bobinas que, al ser energizadas en
una secuencia determinada, van a generar los giros en el eje del motor.

Pág. 41
EL ASC DE LA MECATRÓNICA

Motor de Paso Uno de los dos tipos de motores de paso es el


Bipolar. La forma de identificarlo es que
Bipolar solamente tiene cuatro cables de alimentación.

Cada bobina se puede pensar como un motor

Bobina 1 :iQ de DC, por lo que estos motores de pasos


pueden ser manejados con un circuito de
Puente H por cada bobina. Así, un motor de

ellD
Bobina
2
pasos de maneja con dos Puentes H.

El circuito integrado L293D es un buen ejemplo


de un Puente H que sirve para manejar
motores de paso bipolar de baja potencia en
un rango de 4.5 V - 36 V pudiendo proporcionar una corriente continua hasta de
600 mA. El chip tiene un encapsulado DIP de 16 patas con dos puentes completos
diseñados para ser controlados con voltajes TIL.

+V
o

+v J: .D2 ,
D3 .
, , , - D4

~o
2 3
Activa.A IN1 OUTl
7 6
Activa. B IN2 OUT2
10 11
Activa. e IN3 OUT3
15 14
Activa. D IN4 OUT4

L293 el ID
-.J
-

La tabla de operación de ente circuito es:

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

Pág.42
EL ASC DE LA MECATRÓNICA

MotON:lePaso El otro tipo de motores de paso es el Unipolar.


La forma de identificarlo es que tiene seis
Unipolar

o
cables de alimentación.
A
Uno de los circuitos integrados de baja
comú~ potencia usado para controlar este tipo de
motores de pasos puede ser el ULN2803, que
Bobina1 e es un arreglo de ocho transistores que pueden
manejar una corriente máxima de 500 mA.
BmO
.~
E Al igual que en el circuito anterior, la activación
o es en niveles TTL y es a través de las entradas
u de activación A, B, e y D, como se muestra en
Bobina 2 la siguiente figura

+V
o

o
I
1 18
ActivaA IN 1 OUT 1
Activa C
2 17
IN 2 OUT 2
3 16
Activa B IN 3 OUT 3
4 15
Activa D IN 4 OUT 4
5 14
IN 5 OUT 5
6 13
IN 6 OUT 6
7
IN 7 OUT 7
12 I I I BI.§\ ID
8 11
IN 8 O OUT 8
+V O
10
DIODECLAMP S

La secuencia se puede representar considerando las posiciones de las bobinas y


su activación, lo que causa el movimiento del eje del motor. Las bobinas de color
negro representan las energizadas, lo que produce el movimiento en el eje
representado por la flecha.

11 MI MI MI
iI'E II,E II'E II~E
I Ii 11 11 11
En esta secuencia se muestra una rotación completa, la cual puede lograr en un
número diferente de pasos.

Pág.43
EL ASC DE LA MECATRÓNICA

SERVOMOTORES

Los servomotores son motores de DC que en el mismo cuerpo del dispositivo


cuentan con un sensor de posición el cual permite identificar las posiciones
angulares del eje. En muchas versiones, este sensor de posición es una
resistencia variable la cual se convierte en el eje del motor, por lo que el rango de
giro puede quedar limitado al rango del potenciómetro.

La siguiente figura ilustra las partes principales de un servomotor en la que se


aprecia el juego de engranes que reduce el giro del eje, por lo que se facilita el
control de posición, ya que como se dijo en secciones anteriores, el motor de DC
solamente tiene control de giro cambiando su polaridad.

Potenciómetro .~

Tarjeta electrónica

Esta última característica hace, de este tipo de motores, una herramienta muy útil
en aplicaciones típicas de robótica, donde los rangos de operación se encuentran
limitados como podría ser en el caso de una pinza para sujetar objetos. Los
valores máximos comerciales se encuentran por debajo de los 220 grados en el
rango de giro.

La tarjeta electrónica cuenta con los elementos necesarios para medir y corregir la
posición angular del eje. Esta tarjeta cuenta con tres cables, uno de voltaje de
alimentación, otro de tierra y uno más de control.

El cable de control recibirá pulsos de duración variable que será


el tiempo en que el motor va a estar prendido y así cambiará la
posición angular del eje, por lo que la duración del pulso estará
relacionada con los grados de giro del eje. Esta forma de
control es conocida por las siglas PCM, que significan
modulación codificada del pulso.

Los valores comerciales tienen un giro de 180 grados asociado


a un pulso de duración de 2.5 milisegundos, de donde se
deduce que un pulso de 0.5 milisegundos daría un giro de cero
grados y uno de 1.5 milisegundos daría un giro de 90 grados.

Pág.44
EL ASC DE LA MECATRÓNICA

ROBOTICA

Robótica es un término que se explica por si sólo y que se aplica a esa inquietud
humana por desarrollar dispositivos que simulen tener vida e inteligencia artificial.
Estas características son usadas para desarrollar un sinnúmero de actividades
repetitivas, pesadas, de alto riesgo para las personas o simplemente para
entretenimiento.

Invariablemente, estas tareas se realizan a través del control de los movimientos


realizados por los motores del robot o por cualquier otro tipo de actuadores, como
podrían ser los hidráulicos

La industria de la manufactura ha sido un buen campo de desarrollo de la robótica


donde se ven grandes beneficios en el control de la automatización de los
procesos de fabricación de productos aumentando, principalmente, la
productividad de las industrias.

Aunque la creación de autómatas ha sido una actividad humana desde hace


muchos años, fue a partir de 1980 que empezó el crecimiento de estas
tecnologías y ha venido teniendo un crecimiento exponencial.

En la actualidad, la robótica ocupa un lugar importante


en muchas actividades productivas y de
entretenimiento. En la automatización industrial, se
usa en tareas repetitivas logrando grandes volúmenes
de producción, en la programación selectiva de
actividades para lograr volúmenes pequeños de
producción pero de una variedad importante de
productos y para generar diferentes cadenas de
producción con la finalidad de lograr productos
complejos en poco tiempo, comparado contra una
mano de obra calificada.

En la agricultura, se han desarrollado robots


especializados para automatizar las pesadas labores
de los agricultores. Estos robots pueden detectar
diferentes plantas, hierbas o vegetales y desarrollar
tareas de identificación, recolección, clasificación,
sembrado e incluso, de detección de plagas.

Pág. 45
EL ASC DE LA MECATRÓNICA

En la actividad aero-espacial hay grandes avances,


tanto que ya hay varios aeropuertos en el mundo que
están certificados para el control automático de
despegue y aterrizaje de aviones y en la carrera
espacial los robots teledirigidos están desarrollando
tareas de alto riesgo y complejidad para los
astronautas.

En el área de seguridad y combate al vandalismo, la


policía va teniendo dispositivos de ayuda que les
permite obtener información de zonas internas de alto
riesgo mediante el envío de información de video,
audio y otras a los policías que se encuentran en el
exterior.

y quedan muchas más aplicaciones por platicar y crear, por lo que es el momento
de seguir avanzando en el estudio de la mecatrónica y usar esta disciplina para la
innovación de nuevos sistemas de automatización y control.

Pág.46
EL ASC DE LA MECATRÓNICA

Capítulo
6
Microprocesadore

Pág.
47
EL ASC DE LA MECATRÓNICA

Microprocesadores

DEFINICiÓN

Los microprocesadores son circuitos integrados que desde el año 1969 con la
compañía Intel, revolucionaron el diseño electrónico de dispositivos. El 4004 fue el
primer microprocesador que tenía una unidad central de procesos (CPU) de 4 bits,
una memoria ROM para almacenar instrucciones, una memoria RAM para
almacenar programas y aplicaciones de los usuarios y algunos puertos de entrada
y salida. Este microprocesador fue diseñado para calculadoras de bolsillo.

El cambio en el diseño electrónico radica principalmente en que los diseños


anteriores a los microprocesadores eran específicos para las funciones que eran
diseñados, mientras que los diseños con microprocesadores permiten utilizar el
mismo hardware para diferentes funciones, funciones que quedan desarrolladas y
controladas por la programación del microprocesador.

En la actualidad contamos con un sinnúmero de dispositivos


electrónicos que simplifican tareas, ofrecen diferentes
servicios y nos proporcionan diversión.

Este capítulo describe, principalmente, el uso de los


microprocesadores en las computadoras personales
describiendo su arquitectura, sus principales comandos, su uso dentro de las
computadoras personales y las aplicaciones que se pueden desarrollar como
controlador de proyectos mecatrónicos.

La computadora se puede representar en algunos bloques funcionales para


entender su forma de operación. Por el momento, son tres los principales bloques:
Primero está el microprocesador que está formado por la Unidad Aritmética Lógica
(ALU) y el módulo de control, representado por los buses de datos, direcciones y
control y por la electrónica que ejerce control entre las diferentes unidades
funcionales. El segundo bloque está representado por la memoria RAM, memoria
en la que, según el modelo de computadora de John von Neumann, almacena los
datos y los programas de aplicaciones del usuario. El tercer bloque está formado
por los puertos de entrada y salida, puertos que permiten la comunicación del
microprocesador con el resto de la electrónica, tanto de la computadora (teclado,
mouse, pantalla, disco duro, etc.) como de los circuitos externos.

El siguiente diagrama muestra los principales bloques funcionales de un modelo


general de computadora.

Pág. 48
EL ASC DE LA MECATRÓNICA

E/S Procesador
Entrada

Memoria

Instrucciones de
Salida Control
programa
y
Datos

ARQUITECTURA DE MICROPROCESADORES

En junio de 1978 la compañía Intellanzó al mercado el primer microprocesador de


16 bits, al que llamó 8086. Un año más tarde lanzó el 8088, que internamente era
igual que el 8086 pero que tenía un bus externo de datos de 8 bits. En 1981 la
compañía IBM empezó a vender el desarrollo más notable para esta familia de
microprocesadores: la computadora personallBM.

La arquitectura del 8086/8088 es considerada como la base, inclusive de los


microprocesadores que actualmente se comercializan, por lo que su estudio puede
ser una clara descripción de los microprocesadores.

Desde luego que hay otras marcas y otras arquitecturas válidas de


microprocesadores, pero con base al volumen de ventas reportadas, será la
arquitectura IA-16 la que se considere en este libro. Las arquitectura IA-32 e IA-64
operan bajo los mismos conceptos, sólo que el tamaño de la palabra es diferente
al igual que el número de instrucciones disponibles, instrucciones enfocadas a
multimedia, comunicaciones y seguridad.

El 8086 es un microprocesador de 16 bits, pudiendo dividir su estructura en dos


bloques: la unidad de ejecución y la unidad de interfaz. La unidad de ejecución es
la encargada de realizar todas las operaciones, mientras que la unidad de interfaz
del bus es la encargada de comunicación de datos e instrucciones al mundo
exterior.

Esta división tiene ventajas y ahorros en el diseño de una interfaz de 32, 16 u 8


bits. Se muestra una representación en la siguiente figura.

Pág. 49
EL ASC DE LA MECATRÓNICA

Busde direcciones
(20bb) LOGICA DE
CONTROL
Buses
Registros de uso general DEL BUS eICternos
15 87 O
AH Al AX
BH Bl BX
12.1 I O
CH Cl CX es
OH Ol
- OX OS
SP ES
BP SS
SI IP
DI Rf:Gm'ROSDE
COMUNICACION
Bus interno INI'ERNA
16bb

.
.
,
Cola de
SistelMde instrucciones
conbol de la
unidad de
eiecución

.- - - - - - - -.
.
.
I
.

Unidad de ejecución Unidad de inteñaz

Para fines prácticos, el modelo de microprocesador que nos interesa es aún más
simple, ya que sólo consideraremos los registros lógicos que se van a programar.
Este modelo se basa en cuatro grupos: registros de propósito general, de
segmento de datos, de banderas y el apuntador de instrucciones.

En los registros de propósito general se manipulan los datos, los bytes, según los
comandos del programa y se pueden comparar a las variables que se usan en los
lenguajes de alto nivel.

Los registros de segmentos marcan la dirección en memoria del segmento de


datos, el de código y el de la pila. El segmento de datos se refiere a la localidad en
memoria donde se almacenan los datos que manipula el programa. El segmento

Pág. 50
EL ASC DE LA MECATRÓNICA

de código se refiere a las localidades en memoria donde se almacenan las


instrucciones, los comandos, del programa. El segmento de pila se refiere a las
localidades en memoria donde se almacenan los datos de la pila a través de las
instruccionesPUSHy POPo

El registro de banderas lleva un control sobre los resultados de todas las


operaciones que se realizan. Estos resultados, en términos de bits, pueden indicar
un valor cero, un bit de paridad, un cambio de signo, un bit acarreo, etc.

El apuntador de instrucciones es el contador con la dirección en memoria de la


siguiente instrucción a ejecutar, registro que lleva la unidad de control.

El modelo lógico del microprocesador es el siguiente:

Registros de propósito general


15 O
AX
BX
ex
DX
SI
DI
BP
SP
Registros de segmentos
15 O
es
DS
SS
ES
FS
GS

Registro de banderas
31 O
BANDERAS

31 Apuntador de instrucciones O
IP

Pág. 51
EL ASC DE LA MECATRONICA

Los registros de propósito general se pueden utilizarse como fuente o destino en


operaciones aritméticas y lógicas y también pueden tener algunas funciones
determinadas por el conjunto de instrucciones del microprocesador. A
continuación se ofrece una breve explicación:

· AX = Registro acumulador, dividido en AH y AL (8 b its cada uno).


Es un registro sugerido para almacenar el resultado de las operaciones
realizadas. Hay instrucciones como IN y OUT, que son instrucciones de
comunicación a puertos, que trabajan con AX o con uno de sus dos bytes (AH
o AL). También se utiliza este registro (junto con DX a veces) en
multiplicaciones y divisiones.

· BX = Registro base, dividido en BH y BL.


Es el registro base de propósito para direccionamiento de memoria en sus
diferentes formatos

· CX = Registro contador, dividido en CH y CL.


Se utiliza como contador en la instrucción LOOP, en operaciones con cadenas
y en desplazamientos y rotaciones

· DX = Registro de datos, dividido en DH y DL.


Se utiliza junto con el registro AX en multiplicaciones y divisiones, en la
instrucción IN y OUT para direccionamiento indirecto de puertos (el registro
DX indica el número de puerto de entrada/salida).

· SP = Apuntador de pila (no se puede subdividir).


Aunque es un registro de uso general, debe utilizarse sólo como apuntador de
pila, la cual sirve para almacenar las direcciones de retorno de subrutinas y los
datos temporarios (mediante las instrucciones PUSH y POP). Al introducir
(push) un valor en la pila a este registro se le resta dos, mientras que al extraer
(pop) un valor de la pila este a registro se le suma dos.

· BP = Apuntador base (no se puede subdividir).


Generalmente se utiliza para realizar direccionamiento indirecto dentro de la
pila.

· SI = Apuntador índice (no se puede subdividir).


Sirve como apuntador fuente para las operaciones con cadenas. También sirve
para realizar direccionamiento indirecto.

· DI = Apuntador destino (no se puede subdividir).


Sirve como apuntador destino para las operaciones con cadenas. También
sirve para realizar direccionamiento indirecto.

Respecto al registro de banderas, éste es una serie de indicadores del resultado


de las operaciones. Las más usadas son:

Pág. 52
EL ASC DE LA MECATRÓNICA

CF (Carry Flag, bit O): Si vale 1, indica que hubo "acarreo" (en caso de suma)
hacia, o "préstamo" (en caso de resta) desde el bit de orden más significativo del
resultado. Esta bandera es usada por instrucciones que suman o restan números
que ocupan varios bytes. Las instrucciones de rotación pueden aislar un bit de la
memoria o de un registro poniéndolo en el CF.

PF (Parity Flag, bit 2): Si vale uno, el resultado tiene paridad par, es decir, un
número par de bits a 1. Esta bandera se puede utilizar para detectar errores en
transmisiones.

AF (Auxiliary carry Flag, bit 4): Si vale 1, indica que hubo "acarreo" o "préstamo"
del nibble (cuatro bits) menos significativo al nibble más significativo. Este
indicador se usa con las instrucciones de ajuste decimal.

ZF (Zero Flag, bit 6): Si este indicador vale 1, el resultado de la operación es cero.

SF (Sign Flag, bit 7): Refleja el bit más significativo del resultado. Como los
números negativos se representan en la notación de complemento a dos, este bit
representa el signo: Osi es positivo, 1 si es negativo.

TF (Trap Flag, bit 8): Si vale 1, el procesador está en modo paso a paso. En este
modo, la CPU automáticamente genera una interrupción interna después de cada
instrucción, permitiendo inspeccionar los resultados del programa a medida que se
ejecuta instrucción por instrucción.

IF (Interrupt Flag, bit 9): Si vale 1, la CPU reconoce pedidos de interrupción


externas enmascarables (por el pin INTR). Si vale O, no se reconocen tales
interrupciones. Las interrupciones no enmascarables y las internas siempre se
reconocen independientemente del valor de IF.

DF (Direction Flag, bit 10): Si vale 1, las instrucciones con cadenas sufrirán "auto-
decremento", esto es, se procesarán las cadenas desde las direcciones más altas
de memoria hacia las más bajas. Si vale O, habrá "auto-incremento", lo que quiere
decir que las cadenas se procesarán de "izquierda a derecha".

OF (Overflow flag, bit 11): Si vale 1, hubo un desbordamiento en una operación


aritmética con signo, esto es, un dígito significativo se perdió debido a que el
tamaño del resultado es mayor que el tamaño del destino.

Pág. 53
EL ASC DE LA MECATRÓNICA

MEMORIA RAM

Este modelo lógico del microprocesador interactúa con la memoria RAM (random
access memory = memoria de acceso aleatorio), la cual se puede entender como
la memoria de trabajo en la que se encuentran todos los datos, tanto el código del
programa como los datos de la aplicación en cuestión.

La memoria RAM puede ser del tipo estática o dinámica, lo que es definido por el
diseño técnico. En lo que se refiere al uso entre una y otra es transparente para el
usuario, aunque las memorias dinámicas son más baratas, consumen menos
energía, pueden ser de tamaño físico menor y contener una mayor cantidad de
memoria. Sus desventajas, en comparación a las estáticas, son más lentas y
requieren de circuitos adicionales para generar la señal de refresco. Las dos
clases de memoria son volátiles, lo que significa que su contenido se pierde si se
apaga la fuente de energía.

Los sistemas modernos contiene poca memoria RAM estático que se emplea en
las partes de acceso de gran velocidad como es el caso de la memoria caché.

La memoria se puede modelar como una pila de registros de memoria de 8 bits, es


decir, de un byte. Esta pila de bytes se numera del O hasta el final de la capacidad
de la memoria. En el caso del microprocesador 8086, el bus de direcciones es de
16 bits, por lo que la capacidad máxima del bloque de direccionamiento de
memoria es de 64 KByte (65,536 bytes).

Byte n 7 6 5 4 3 2 1 O
Registros 7 6 5 4 3 2 1 O Celdas
de .. .. .. .. .. .. .. .. individuales
direcciones .. .. .. .. .. .. .. .. de memoria
de memoria 7 6 5 4 3 2 1 O
(MAR) Byte O 7 6 5 4 3 2 1 O

Registros de datos de
memoria (MOR)

El registro de direcciones de memoria contiene la dirección que debe accesarse


para obtener cada uno de los datos. El registro de direcciones de memoria está
conectado a un decodificador que interpreta la dirección y la activa para su uso,
tanto de lectura como de escritura. Los grupos de celdas de bits, los bytes,
contienen una línea independiente, lo que determina los n elementos de la
memoria, estableciéndose el número total con la ecuación 2" líneas.

El registro de datos de memoria está diseñado de modo que se conecta


adecuadamente a todas las celdas en la unidad de memoria. Todos sus bits están
conectados al circuito de lectura que garantiza que sólo un grupo de celdas se
activa en un momento determinado.

Pág. 54
EL ASC DE LA MECATRÓNICA

Debido a que el 8086 es un microprocesador con un bus de datos y de direcciones


de 16 bits, el máximo bloque de direcciones de memoria que puede leer
simultáneamente es de 64K8ytes (65,536 bytes). Para que pueda leer un bloque
de memoria de 1 M8yte (1,048,576 bytes), se necesitan definir 16 bloques de
64K8ytes.

Para implementar esta idea, las direcciones físicas de memoria se representan en


un formato lógico y así poder trabajar con ellas. De esta manera, la memoria se
representa con dos bloques: el primero con una dirección que indica el origen del
segmento más una segunda dirección que sería la serie de direcciones que
indican el desplazamiento sobre el origen.

El formato general sería de la forma 1000:0000, donde los 4 dígitos de la izquierda


marcan el origen de los 16 bloques diferentes y los 4 dígitos de la derecha marcan
el desplazamiento, siendo expresado siempre en números hexadecimales.

Por ejemplo, la dirección lógica 1234:4321 tiene una dirección física en la pila de
bytes de memoria de 16661H, lo cual se obtiene al rotar a la izquierda cuatro bits
el número segmento (equivalente a un dígito) y luego sumándole el valor del
desplazamiento.

1234:4321

12340
+ 4321
---------
16661

Esto implica que hay muchas formas de expresar en formato lógico la misma
dirección física. La dirección 1234:4321 también podría ser 1666:0001 ó
1665:0011 ó 1664:0021, etc.

Una segunda consideración que hay que tomar en cuenta es la forma y posición
en la que se almacenan los datos. Como la memoria es una pila de bytes y
algunos números pueden ser de 16 o 32 bits, el dato completo siempre va a estar
en direcciones adyacentes, solamente que es en orden inverso.

Para una palabra (16 bits) la escritura es de la siguiente forma:

Orden ascendente [81


I 9C I E6 Palabra E69CH

Para una palabra doble (32 bits) la escritura es de la siguiente forma:

Orden ascendente [81


I 4A I 58 I 00 12 Palabra doble 12005B4AH

Pág. 55
EL ASC DE LA MECATRÓNICA

PUERTOS

Independientemente de las capacidades y potencia del microprocesador, de su


facilidad para trabajar con la memoria RAM y del tamaño de la misma memoria, la
verdadera utilidad de una computadora radica en sus capacidades de entrada y
salida. Estas entradas y salidas son la forma de comunicación que se tiene con el
mundo exterior y sin ellas no habría dispositivos periféricos a través de los cuales
hacemos uso de las computadoras.

El teclado, el mouse, la pantalla, la impresora, el escáner, las memorias USB, el


disco duro, etc., son ejemplos de dispositivos periféricos, los cuales se clasifican
en dispositivos de entrada y salida, según el flujo de información a través de ellos.

Los requisitos de cada dispositivo de entrada/salida, considerando la necesidad de


ofrecer dispositivos con capacidad de direccionamiento, de sincronización, de
estado y de control externo, indican las normas establecidas para poder acoplarlos
a las computadoras a través de módulos o circuitos electrónicos con funciones
definidas y estos a su vez se comunicarán con los microprocesadores a través de
direcciones o puertos perfectamente definidos.

Los puertos son las 'puertas' por donde los datos van a entrar a los registros del
microprocesador para ser procesados y posteriormente salir para ser devueltos al
dispositivo periférico correspondiente.

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 computadoras actuales tienen 65,536 puertos
diferentes para organizar el flujo de información entre ellos.

Al igual que con las memoria, el acceso a los periféricos, se realiza a través de
registros de datos y direcciones, que funcionan en forma similar al MAR y MDR
comentados en el acceso a memoria RAM. Así, el microprocesador tiene que
indicar si la dirección solicitada es a una dirección de memoria o a una dirección
de puerto de E/S.

Pág. 56
EL ASC DE LA MECATRÓNICA

Capítulo
1
lenguajeensamblador

Pág.
57
EL ASC DE LA MECATRÓNICA

lenguajeensambladar

DEFINICiÓN

Los lenguajes de programación son la herramienta con que se cuenta para indicar
a las computadoras la secuencia de instrucciones o comandos para realizar las
diferentes funciones que desarrollan.

Estos lenguajes tienen diferentes características según el nivel en el que


interactúan con la computadora. El nivel más bajo de programación es tratar
directamente con el microprocesador, el cual trabaja en código binario. El lenguaje
ensamblador es la codificación que permite trabajar a este nivel de programación.
Las instrucciones escritas en código binario se conocen con el nombre de código
de máquina. Escribir programas en este código es un poco tedioso y requiere de
habilidades especiales. El lenguaje ensamblador es una codificación especial que
permite agrupar en comandos cortos y con cierto sentido este código de máquina.
Esta codificación es la que forma el lenguaje ensamblador y a cada comando
también se le llama mnemónico.

Escribir un programa utilizando mnemónicos es más sencillo que el código de


máquina porque son una versión abreviada de la operación que realiza una
instrucción. También, dado que las instrucciones de scriben las operaciones del
programa, se facilita su comprensión y se reduce la posibilidad de cometer
errores. Sin embargo, esta lista de comandos todavía tiene que convertirse en
código de máquina ya que es el formato reconocido por el microprocesador. Para
esta conversión hay dos programas que se usan con mucha frecuencia y que se
conocen como compiladores para lenguaje ensamblador.

El primer programa es de grandes capacidades y que ofrece una gran variedad de


opciones llamado MASM (Macro Assembler, de Microsoft) y el segundo es utilizar
un debugger incluido en todas las computadoras con sistema operativo Microsoft
(DOS o Windows), por lo que lo hace que esté al alcance de todos los usuarios
que tengan computadoras con estas características.

El programa se llama DEBUG y es un compilador basado en una arquitectura


IA-16 como la del microprocesador 8086. Algunas características importantes de
este programa es que puede crear archivos con extensión .COM,lo que permite
crear archivos ejecutables por el sistema operativo y por lo mismo crear archivo de
un tamaño máximo de 64KBytes. También tiene la cara cterística de que inicia el
segmento de codificación del programa en la localidad 100H de desplazamiento a
partir del segmento de código indicado en el registro CS.

Debido a las características anteriores, el programa Debug será la herramienta


que se usará en la codificación del lenguaje ensamblador.

Pág. 58
EL ASC DE LA MECATRÓNICA

INTRODUCCiÓN AL PROGRAMA DEBUG

Debug es una forma fácil de empezar a tener contacto con el ha.roware de la


computadora. Este programa muestra el contenido de los registros del
microprocesador, los registros de la memoria RAM, las instrucciones escritas en
los archivos con programas ejecutables y también programar pequeñas rutinas en
ensamblador para trabajar directamente con el microprocesador o a través de las
funciones del BiaS (Basic Input Output System).

Generalmente, el programa Debug se encuentre en la carpeta


C:\Windows\Command, y podemos agrupar sus funciones de la siguiente forma:

· Ensamblar pequeños programas

· Ver el código fuente de pequeños programas con su código de máquina

· Ver el registro de banderas del microprocesador

· Ejecutar paso a paso las instrucciones de un programa para ver como


cambian los valores de los registros y memoria

· Modificar o insertar nuevos valores en la memoria RAM

· Buscar valores binarios o ASCII en la memoria RAM

· Mover bloques de memoria de una dirección a otra

· Llenar bloques de memoria con ciertos valores

· Leer o escribir sectores de los discos del sistema

Para iniciar una sesión del programa, hay que abrir una ventana DOS, en
11 ocasiones definida como 'Símbolo del sistema' y después escribir el
comando debug.

Los comandos del Debug se pueden desplegar en la pantalla con el comando de


ayuda '?' y se pueden clasificar en cuatro categorías

1. Creación y lectura de programas


A Ensamblar un programa usando mnemónicos
G Ejecutar un programa escrito en memoria
R Mostrar el contenido de los registros del microprocesador
P Avanzar un procedimiento o loop

Pág. 59
EL ASC DE LA MECATRÓNICA

T Avanzar una instrucción a la vez


U Desensamblar en mnemónicos un programa escrito en memoria

2. Manipulación de memoria
C Compara dos rangos de memoria
D Mostrar el contenido de la memoria
E Editar registros de memoria
F Llenar un rango de memoria con valores definidos
M Mover un rango de memoria de una dirección a otra
S Buscar un valor definido en un rango de memoria

3. Misceláneas
H Realizarun sumao resta hexadecimal
Q Salir del programaDebugy regresaral DOS
4. Entrada - Salida
I Leer un byte desde un puerto
O Escribir un byte a un puerto
L Cargar en memoria datos del disco
W Escribir datos al disco
N Nombrar un archivo para los comandos L y W

Al iniciar la sesión del programa, los siguientes valores quedan definidos

1. Todos los segmentos de datos se fijan en la part e inferior de la memoria


disponible, justo arriba del programa debug.exe
2. El apuntador de instrucciones (IP) se establece en 0100H
3. Debug reserva 256 bytes para la Pila en la parte superior del segmento de
memoria
4. Se reservan 64KBytes de memoria
5. En caso de iniciar el Debug cargando un programa en memoria, los registros
BX:CX contienen el tamaño del archivo
6. El registro de banderas se define de la siguiente forma:
NV bandera overflow = O
UP bandera de dirección = up
El Interrupción habilitada
PL bandera de signo = positivo
NZ bandera cero = O
NA bandera auxiliar de acarreo = O
PO paridad non
NC bandera de acarreo = O

Pág.60
EL ASC DE LA MECATRÓNICA

ESTRUCTURA DEL LENGUAJE ENSAMBLADOR

En el lenguaje ensamblador las líneas de código, en su formato más simple,


constan de dos partes, la primera es el nombre de la instrucción llamado
Operatían Cade y la segunda son los parámetros del comando, los cuales se
presentan en el formato de primero el destino y después el origen:

comando destino, origen


ADD AX, 1234

Aquí ADD es el comando que se va a ejecutar, suma, AX es el registro destino


donde va a quedar el resultado y también el primer valor a operar y 1234 es el
segundo valor que se va a operar.

El nombre de las instrucciones, mnemónicos o códigos de operación, están


formados por dos, tres o cuatro letras. Algunos comandos no requieren
parámetros y otros solamente requieren uno.

Para poder indicar que el valor a operar o que se va a asignar a un registro


proviene de una localidad de memoria, se usarán los corchetes para su notación

ADD AX, [1234]

Para crear el primer programa y empezar a ilustrar el proceso, a continuación se


presenta un programa que suma dos valores.

El primer paso es iniciar el programa Debug.

Para ensamblar un programa se utiliza el comando "A". En forma predeterminada


se asignará la localidad 100H como de inicio del programa.

-A ~

Al hacer esto aparecerá en la pantalla la dirección en memoria en formato de


CS:0100, que podría ser algo como

OCFC:0100 _

Donde los cuatro dígitos hexadecimales del lado izquierdo pueden variar y los
cuatro dígitos del lado derecho deben ser 0100 hexadecimal. A continuación se
escriben las siguientes instrucciones

OCFO:0100 mov ax,5 Almacena el valor 5 en AX


OCFO:0103 mov bx,2 Almacena el valor 2 en BX
OFCO:0106 add ax,bx Suma el valor de BX a AX
OFCO:0108 hit Detiene la ejecución

Pág. 61
EL ASC DE LA MECATRÓNICA

Para regresar al prompt del Debug se oprime la tecla Enter o Return representada
por el símbolo ~

Para ejecutar el programa se utiliza el comando G indicando el origen y el fin de


las localidades de memoria usados, lo que permitirá que el programa termine
mostrando el valor de los registros y podamos comprobar el resultado de la
función programada.

- G=100 108 ~

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:0108 F4 HLJ

PROGRAMACiÓN

Programar en lenguaje ensamblador no es muy común, ya que puede resultar muy


complejo en rutinas muy largas, Aún así, tiene ventajas que conviene tener
presente y usarlas adecuadamente.

· Algunas veces las rutinas escritas en ensamblador pueden ser más rápidas
en comparación a las creadas por el compilador.

· Algunas veces las rutinas en ensamblador pueden tener un tamaño menor


en comparación con las creadas por el compilador, ya que pueden hacerse
para cumplir un algoritmo específico que no tenga necesidad de
validaciones redundantes.

· El ensamblador permite programar directamente características particulares


del hardware del sistema o de dispositivos externos y que pueden ser
difíciles o imposibles de usar desde un lenguaje de alto nivel.

· Aprender a programar en ensamblador sirve para tener una mejor idea de


cómo trabajan las computadoras y los dispositivos electrónicos
programables.

Cada tipo de CPU entiende su propio lenguaje de máquina. Las instrucciones en


lenguaje de máquina son números almacenados como bytes en memoria. Cada
instrucción tiene su propio y único código llamado código de operación,
mnemónico u OpCode. Estos comandos en los microprocesadores Intel de la
familia x86 varían en tamaño, pudiendo tener una cantidad entre Oy 3 parámetros
y uniéndose en diferentes grupos funcionales.

Pág. 62
EL ASC DE LA MECATRÓNICA

INSTRUCCIONES BÁSICAS

El modelo lógico del microprocesador es un grupo de registros que sirven como


variables para manipular los datos que tiene que procesar. Por lo tanto, una de las
instrucciones básicas y más usadas es la que sirve para asignar valores a los
registros,MOV,estandoformadapor dos operandos:MOV DESTINO,ORIGEN
TRANSFERENCIA DE DATOS

MOV Mover valores a registros


XCHG Intercambiar valores entre registros

OPERACIONES ARITMÉTICAS

ADD Suma
SUB Resta
MUL Multiplicación sin signo
DIV División sin signo
IMUL Multiplicación con signo de enteros
.IDIV División con signo de enteros
INC Incremento en 1
DEC Decremento en 1

OPERACIONES LÓGICAS

AND Operador 'Y'


OR Operador 'O'
NOT Negación o complemento
XOR Operador 'O exclusivo'

OPERACIONES DE CORRIMIENTO

ROR Rotar a la derecha


ROL Rotar a la izquierda
SHR Recorrer a la derecha
SHL Recorrer a la izquierda

OPERACIONES DE COMPARACiÓN

CMP Comparación de dos valores


TEST Comprobación de 1 bit
CMPS Comparación de cadenas

Pág. 63
EL ASC DE LA MECATRÓNICA

OPERACIONES CON LA PILA

POP Saca de la pila


POPA Saca todos los registros de la pila
PUSH Introduce valores a la pila
PUSHA Introduce todos los registros a la pila

OPERACIONES DE TRANSFERENCIA INCONDICIONAL

JMP Salto
CALL Llamada a subrutina
RET Regresa, fin de subrutina

OPERACIONES DE TRANFERENCIA CONDICIONAL

JZ / JNZ Salto si la bandera cero


JS/JNS Salto si la bandera signo
JE/JNE Salto de la bandera igual
JG / JNG Salto si la bandera mayor
JLE / JNLE Salto si bandera menor o igual

OPERACIONES DE ENTRADA I SALIDA

IN Lectura de puertos
OUT Escritura de puertos

CONTROL DE CICLOS

LOOP Ciclo
LOOPNZ Ciclo si bandera cero

CONTROL DEL PROGRAMA

HLT Parar la ejecución


NOP No realizar operación

Pág.64
EL ASC DE LA MECATRÓNICA

EJEMPLO DE PROGRAMACiÓN EN LENGUAJE ENSAMBLADOR

Antes de elaborar algún programa complejo, es conveniente analizar y diseñar una


solución del problema que se quiere tratar. Para la codificación de programas en
lenguaje ensamblador, la metodología de diagramas de flujo es adecuada para
realizar el análisis y diseño.

Como primer ejercicio, sumaremos dos números de acceso inmediato y el


resultado se almacenará en la localidad de memoria 120H del segmento actual de
datos.

El algoritmo y la codificación es la siguiente:

1. El primer bloque establece el inicio, lo que


se puede interpretar como iniciar la sesión
en el programa Debug
Cargael valorde I 2. Los primeros bloques marcan la
memoriaen el registro asignación de valores en los registros de
base trabajo, iniciando por cargar la dirección
de memoria donde se va a almacenar el
resultado
3. Se carga el valor del primer número en el
Carga Primer:
acumulador, el cual también será el
númeroen el registro
acumulador registro donde se va a cargar el resultado
I de la operación suma
. I
4. Se carga el valor del segundo número en
el registro de datos, el cual es un registro
Carga el segundo
de propósito general y permite realizar
número en el registro
de datos
operaciones con el acumulador
I
5. Se realiza la operación de suma y el
resultado se almacena en el acumulador
6. Una vez obtenido el resultado de la.
Suma los dos números operación, se transfiere a la localidad de
I
memoria
7. El programa se puede terminar con una
t
I llamada al sistema operativo, la cual es
Almacena el resultado
una función grabada en el BIOS.
en memona
CS:0100 mov bx, 120
CS:0103 mov ax, 1234
CS:0106 mov dx, 4567
CS:0109 add ax, dx
CS:010B mov [bx], ax
CS:010D int 20

Pág. 65
EL ASC DE LA MECATRÓNICA

Como resumen, el ejercicio anterior se codificaría siguiendo los siguientes pasos:

1. Se abre una sesión DOS


2. Se ejecuta la herramienta Debug desde la ruta que se quiera guardar el
programa
3. Se codifican las instrucciones con el comando A
4. Se ejecuta el programa con el comando G.
5. Para guardar el código se siguen los siguientes pasos
a. El tamaño del archivo se escribe en los registro BX:CX. En este
caso, BX=Oy CX=100
b. Con el comando N se asigna el nombre del archivo, el cual será
suma.com
c. Con el comando W se graba el programa en la ruta seleccionada

(c.\'ISfrobolo del sistema .~.debug

:'>debug
a
D03:0100 roou bx~120
'D03 : 0103 roou ax~ 1234
D03:0106 roou dx~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ítulo
8
lenguajee

Pág.
67
EL ASC DE LA MECATRÓNICA

lenguaje
e

DEFINICiÓN

La programación en lenguaje ensamblador es útil en algunas funciones de bajo


nivel enfocadas al manejo directo del hardware. Por otro lado, C es un lenguaje de
alto nivel que a menudo se utiliza en vez del lenguaje ensamblador para
programar microprocesadores y aplicaciones avanzadas, ya que cuenta con un
compilador más poderoso que simplifica el trabajo del programador y beneficia la
interfaz con el usuario.

Hay muchas referencias que presentan a detalle el uso del lenguaje e, por lo que
en este capítulo se pondrá énfasis en la forma en cómo combinar un programa C
con rutinas ensamblador.

DISEÑO DE UN PROGRAMA

Decir que e es un lenguaje que cuenta con un compilador significa que hay dos
etapas para generar una aplicación ejecutable. La primera consiste en escribir un
código basado en comandos C y que representa la lógica diseñada en el algoritmo
del programa y la segunda parte consiste en la traducción que se hace de ese
código a lenguaje de máquina, lo que permitirá su posterior ejecución. Escribir un
programa en C es algo más, por lo que conviene observar las recomendaciones
de los siguientes siete pasos:

1. Análisis de los objetivos del programa


Esta etapa es muy importante. En ella se establecen los datos de entrada,
de salida, la forma en la que se van a procesar y la funcionalidad total del
programa. Esta etapa no se tiene que asociar a ningún lenguaje de
programación ni a comandos especiales. Entre mejor sea la definición de
esta etapa, la codificación y pruebas del programa se facilitarán.

2. Diseño del algoritmo


Una vez que se tiene un clara concepción del problema a resolver, la
siguiente etapa es definir cómo se va a organizar el programa, cómo se van
a representar los datos y qué comunicación va a tener con el usuario.

3. Codificación del algoritmo


Esta etapa es la traducción del algoritmo en la secuencia necesaria de
instrucciones usando exclusivamente comandos e y que generalmente se
escriben en un archivo simple de texto al que se le llama archivo de código
fuente.

Pág. 68
EL ASC DE LA MECATRÓNICA

4. Compilación del código


El siguiente paso es compilar el código fuente, es decir, traducirlo a
comandos que el microprocesador pueda entender y ejecutar. Durante este
proceso, el compilador puede incluir algunas librerías externas para
terminar el programa final. Estas librerías son rutinas estándar que se
pueden usar. El compilador también verifica que la codificación sea
correcta, por lo que en caso de haber errores, estos serán notificados al
programador.

5. Ejecución del programa


Una vez generado el archivo ejecutable, está listo para probarse. C es un
compilador que genera archivos que se pueden ejecutar en diferentes
ambientes, por lo que en la mayoría de los casos, pueden correr en
diferentes sistemas operativos.

6. Pruebas y corrección de errores en el algoritmo


Ahora que ya se tiene una aplicación ejecutable, hay que estar seguros de
que manipula y ofrece la información correctamente. Pude suceder que el
programa sí funciona pero los resultados son incorrectos.

7. Mantenimiento y actualizaciones
La última etapa consiste en mantener una aplicación útil para el usuario.
Una vez que se tiene un programa corriendo perfectamente, ahora hay que
analizar nuevos cambios o nuevas adaptaciones, lo que nos llevaría
nuevamente al primer paso.

ESTRUCTURA DE UN PROGRAMA

La programación e se ajusta a la metodología definida como programación


estructurada que, en pocas palabras, define el formato de organización del código
en el programa fuente. Esta metodología se resume en diseñar una codificación
modular de las funciones del programa con una clara etapa preliminar de
definición de variables. Las funciones del programa estarán coordinadas por una
función principal llamada main().

Esta estructura se puede representar en una forma gráfica y aclarar sus partes
principales, según se muestra a continuación. La diferencia entre un programa
simple y uno complejo radica en el número de funciones y la lógica del algoritmo,
pero la estructura es igual en ambos casos.

Por lo tanto, es recomendable tomar en cuenta la estructura y apegarse siempre a


ella, lo cual facilitará la codificación, sus pruebas y el mantenimiento posterior que
se tenga que hacer del código.

Pág. 69
EL ASC DE LA MECATRÓNICA

Programa típico C

Instrucciones de
#include < > preproceso

Función principal
mainO y primera en ser
llamada
I
I Las funciones están
~ Declaraciones formadas de
declaraciones

~ I funciónaO

I
I
~ I Declaraciones

~ I función bO

I
I
~ I Declaraciones

Las funciones son I Palabras reservadas


los bloques I para:
funcionales de C ~
. Declaraciones
. Asignaciones
. Funciones
. Control
. Nulos

El siguiente es un ejemplo de cómo codificar un programa:

Pág.70
EL ASC DE LA MECATRÓNICA

r Codificaciónmínima de un programa */
#include<stdio.h>

main()
{
int num; /* definiciónde la variablenum*j

num= 1; /* asignacióndel valora la variable*j

printf("Estees mi primerprograma\n"); j* impresión


delmensaje*j
printf("Minúmero%des mi favorito",num);

return(O);
}

Aumentando una función en este simple programa quedaría de la siguiente forma:

r Codificaciónmínimade un programacon unafunción*/


#include<stdio.h>

main()
{
int num; /* definiciónde la variablenum*j

num= 1; j* asignacióndel valora la variable*j

printf ("Estees mi primerprograma\n"); j* impresión


delmensajeenpantalla*j
linea();
printf ("Minúmero%des mi favorito",num);

return(O);
}

linea()
{
printf ("Estaes la segundalínea\n"); j* impresión
delmensajeenpantalla*j

Pág. 71
EL ASC DE LA MECATRÓNICA

PALABRAS RESERVADAS

C tiene algunas palabras reservadas que usa como comandos para codificar los
algoritmos. Cada librería que se incluye aumenta el número de palabras
reservadas dentro de un código fuente.

El estándar ANSI C contiene las siguientes palabras

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

ESTRUCTURA DE DATOS

Las computadoras manipulan información. ¿Cómo se organizan los datos en


lenguajes de alto nivel como C? La unidad básica de información en el bit, cuyos
valores establecen una de dos posibilidades mutuamente excluyentes, "1" Y "O".
La agrupación de estos bits representa diferentes datos y se clasifican de la
siguiente forma: A los diferentes grupos se les denomina byte (8 bits), palabra (16
bits) y palabra doble (32 bits)
NOMBRE TAMAÑO VALORES

char caracter 1 byte O a 255

unsigned int entero sin signo 2 bytes O a 65,535

int entero con signo 2 bytes -32,768 a 32,767

unsigned long entero largo sin 4 bytes O a 4,294,967,295


signo

long entero largo con 4 bytes -2,147,483,648 a


signo 2,147,483,647

float con signo coma flotante, real 4 bytes

float con signo coma flotante 8 bytes


largo

Pág. 72
EL ASC DE LA MECATRÓNICA

Función printf

Esta función permite imprimir información en la pantalla, tomándola como salida


estándar. El formato es printf (''formato'', argumentos). Ejemplo

printf ("Mi número %d es mi favorito", num)

Hay algunos caracteres indicadores de formato que permiten una determinada


representación a la salida. Los principales son:
CARACTER ARGUMENTOS RESULTADO

d, i entero Entero decimal con signo


u entero Entero decimal sin signo
o entero Entero octal sin signo
X,X entero Entero hexadecimal sin signo
f real Real con punto y con signo
E,e real Notación exponencial con signo
c caracter Caracter
s cadena de Cadena de caracteres
caracteres
Id,lu,lx, lo entero Entero largo

Hay algunas secuencias de escape que permite imprimir con formato el texto. Las
principales son:
SECUENCIA SIGNIFICADO

\n Nueva línea
\t Tabulador
\b Espacio para atrás
\r Retorno de carro
V' Comillas

Variables

Una variable es un identificador usado para representar cierto valor. Cada variable
es de un tipo de datos específico. Es una buena consideración que todas las
variables empiecen con letra o con el caracter _. C es sensible a mayúsculas y
minúsculas en la definición de variables.. Ejemplos

int num;
float _valor;
unsigned long entero;

Pág. 73
EL ASC DE LA MECATRÓNICA

Expresiones

Una expresión representa una unidad de datos simple. Puede estar formada por
identificadores y operadores.

A+b
valor1 * valor2

Función scanf

Esta función permite leer datos de usuarios desde la entrada de datos estándar
que es el teclado.. El formato es scanf("formato", argumentos). Ejemplo

scanf ( "%f", &numero);

Esta sentencia lee un número en coma flotante y lo almacena en la variable


numero.

Operadores aritméticos

Los operadores aritméticos en e son


OPERADOR FUNCiÓN

+ Suma
Resta
*
Multiplicación
I División
% Módulo, resto de la división entera

Operadores relacionales

Los operadores relaciones en e son


OPERADOR FUNCiÓN

< Menor que


> Mayor que
<= Menor o igual que
>= Mayor o igual que
-- Igual que
j= Distinto

Pág.74
EL ASC DE LA MECATRÓNICA

Operadores lógicos

Los operadores lógicos en e son


OPERADOR FUNCiÓN

&& AND
11 DR
NDT

Operadores de asignación

La forma general del operador de asignación es

identificador = expresión

El operador de asignación = y el de igualdad == son diferentes. La asignación se


efectúa de derecha a izquierda

Operadores de asignación compuestos

e permite la utilización de los operadores compuestos, cuyo significado es

EXPRESiÓN EXPRESiÓN EQUIVALENTE

J += 6 J=J+6
J -= 6 J=J-6
J *=6 J=J*6
J /= 6 J=J/6
J%=6 J=J%6

SENTENCIAS DE CONTROL

e ofrece varias sentencias de control, las cuales van a permitir controlar el flujo del
programa según la evaluación de sus condiciones. Los formatos básicos son los
siguientes:
Sentencia if

if (expresión)
sentencia;

Si expresión es verdadera se ejecuta sentencia. Expresión debe estar entre


paréntesis. En caso de que sentencia sea compuesta, entonces

Pág. 75
EL ASC DE LA MECATRÓNICA

if (expresión)
{
sentencia 1
sentencia 2

sentencia N
}

Sentencia if - else

if (expresión)
sentencia 1;
else
sentencia 2;

Si expresión es verdadera se ejecuta sentencia 1. En el caso de ser falsa se


ejecuta sentencia 2. Si las sentencias son compuestas se encierran entre { }.

Sentencia for

for (expresión 1; expresión 2; expresión 3)


sentencia;

Inicialmente se ejecuta expresión 1. Esta expresión se inicializa con algún


parámetro que controla la repetición del ciclo. La expresión 2 es una condición
que debe ser cierta para que se ejecute sentencia. La expresión 3 se utiliza para
modificar los valores del parámetro de la expresión 1. Ejemplo

main O
{
int valor;
for (valor=O;valor <100; valor++)
printf("%d\n", valor);
}

Sentencia while

while (expresión)
sentencia;

Sentencia se ejecutará mientras el valor de expresión se verdadero, la cual es


evaluada en primer lugar. Lo normal es que sentencia tenga algún elemento que
modifique el valor de expresión, lo que implica que sentencia es compuesta.

Pág.76
EL ASC DE LA MECATRÓNICA

while (expresión)
{
sentencia 1
sentencia 2

sentencia N
}

Sentencia do-while

do
sentencia
while (expresión);

Sentencia se ejecuta mientras el valor de expresión sea verdadero. En este tipo de


ciclos, sentencia se ejecuta por lo menos una vez. Lo normal es que sentencia
incluya algún elemento que modifique el valor de expresión, lo que implica que
sentencia es compuesta

do
{
sentencia 1
sentencia 2

sentencia N
} while (expresión);

Sentencia switch

Switch (expresión)
{
case exp 1:
sentencia 1;
sentencia 2:

sentencia N
break;
case exp 2:
sentencia 21;
sentencia 22:

PáQ.77
EL ASC DE LA MECATRÓNICA

sentencia 2N
break;
default:
sentencia d1;
sentencia d2:

sentencia dN
}

Expresión devuelve un valor entero y las expresiones exp 1 y exp 2 representan


valores enteros iguales a las que devuelve expresión.

FUNCIONES

Una Función es un segmento de programa que realiza una determinada tarea.


Todo programa C consta de una o varias funciones, donde main Oes la principal.
El uso de funciones permite descomponer en módulos la programación.

El formato general de la función es

tipo nombre (tipo1 arg1, tipo2 arg2, ... tipoN argN)


{
/* Código de la función */

return (expresión);
}

Los argumentos se denominan parámetros formales y el tipo de la función se


refiere al tipo de dato que regresa. La sentencia return finaliza la ejecución y
devuelve el valor a la función que realizó la llamada.

Si la función no requiere parámetros y no regresa ningún tipo de dato se pone


void.

void nombre (void)


{
/* Código de la función */
}

Respecto al uso de funciones hay que tomar en cuenta que una función C sólo
puede devolver un valor y que no es posible anidar funciones.

Pág. 78
EL ASC DE LA MECATRÓNICA

Declaración de prototipos

La forma general de declara un prototipo es

tipo nombre (tip01 arg1, tip02 arg2, ... tipoN argN);


La declaración o prototipo de una función especifica el nombre de la función, el
valor que devuelve y los tipos de parámetros que acepta. Esta declaración termina
con ; y no incluye el cuerpo de la función.

tipo nombre (tip01, tip02, ... tipoN) /* Prototipo */


tipo nombre (tip01 arg1, tip02 arg2, o.. tipoN argN) /* Definición */
{
/* Código de la función */

return (expresión);
}

Llamadas a funciones

Para llamar a una función se especifica el nombre y la lista de parámetros. Por


ejemplo

suma ( 2 ,4):

donde los parámetros formales deben ser del tipo definido en el prototipo de la
función.

INLlNE ASSEMBLER

El lenguaje ensamblador sirve para muchos propósitos entre los que se puede
mencionar el aumento de velocidad en la ejecución de una función, la disminución
en el uso de memoria ya que una rutina bien desarrollada no necesita espacio
adicional para validaciones innecesarias y el control que se tiene sobre el
hardware del sistema.

El ensamblador embebido en el código C es la opción para contar con estos


beneficios y es algo fácil de implementar ya que el compilador ensamblador está
incluido en el compilador C de la mayoría de las marcas y versiones.

El único cuidado que hay que tener es que los programas podrían no ser portables
al 100% ya que el código ensamblador está destinado a un tipo de hardware o de

Pág. 79
EL ASC DE LA MECATRÓNICA

microprocesador en especial, Las siguientes consideraciones también son


importantes:

· El compilador C no va a tratar de optimizar el código ensamblador, por lo


tanto no habrá corrección de errores.
· Los bloques de código ensamblador pueden modificar los valores de los
registros del microprocesador, por lo que el control queda en manos del
programador
· Se limita toda opción de optimización del código fuente en general

_asm (Palabra reservada)

La palabra _asm es un comando reservado en varias versiones de compiladores


C. Este comando permite la ejecución en línea de código ensamblador y puede
ser usado en cualquier parte del código fuente C. Este código ensamblador debe
estar entre { } precedido del comando _asm.

El formato del comando es

_as m {
mnemónico (destino, origen)

mnemónico (destino, origen)


}

En caso de que el código ensamblador sea una sola línea, se pueden evitar los { }

Como primer ejemplo de una función, se presenta el siguiente código

void pantalla ( void )


{

mov ah,OO
mov al,03
int 10
}
}

Esta función configura en modo de texto de 80 x 25 la pantalla DOS y está escrita


con el formalismo apropiado.

Este código también se podría escribir de la siguiente forma

Pág. 80
EL ASC DE LA MECATRÓNICA

_asm mov ah,OO


_asm mov al,03
_asm int 10

Este código muestra que no es necesario terminar el renglón con ; ya que _asm
es un comando que incluye un separador, por lo que también se podría escribir

_asm movah,OO _asm mov al,03 _asm int 10

Etiquetas

Como en cualquier compilador C, el código ensamblador se auxilia de las


etiquetas para controlar el flujo del programa.

Las etiquetas se representan con su nombre seguido de dos puntos

Las etiquetas no son sensibles a mayúsculas o minúsculas y los diferentes


compiladores tienen dos formas de tratarlas: dentro de los corchetes del comando
_asm o fuera de los corchetes. Ejemplo

void pantalla ( void )


{

_asm
{
movah,f
}
inicio:
_asm
{
dec ah
jnz inicio
int 20
}
}

Esta rutina asigna al registro ah el valor f y lo decrementa hasta llegar a cero. Para
formar el ciclo, se usa la etiqueta inicio para volver a evaluar el resultado.

Pág. 81
EL ASC DE LA MECATRÓNICA

Capítulo
9
lenguajes
visuales

Pág.
83
EL ASC DE LA MECATRÓNICA

lenguajesvisuales

EL ENTORNO DE PROGRAMACiÓN

Los lenguajes de programación son herramientas que mediante una secuencia de


comandos, nos permiten codificar instrucciones de manera que sean entendidas y
ejecutadas por el microprocesador de una computadora.

Hay varias metodologías para comunicar esta lista de comando al


microprocesador. Un intérprete es aquel lenguaje que no trabaja en código
máquina en forma directa, sino que va traduciendo cada instrucción. Estos
lenguajes son mucho más lentos que los lenguajes de alto nivel que trabajan
ejecutando instrucciones directamente en código máquina. Un ejemplo muy
popular de este tipo de lenguajes es el QBASIC.

Los lenguajes que ejecutan las instrucciones en lenguaje máquina tienen un


traductor llamado compilador. Un compilador traduce las instrucciones del
lenguaje contenidas en el código fuente (instrucciones) a código máquina, de
manera que el programa no necesita interpretar o convertir cada instrucción.
Debido a esto es mucho más veloz que un intérprete y por supuesto mucho más
eficiente. La calidad del programa no depende de esta eficiencia, ya que tanto un
método como el otro pueden tener algoritmos de calidad.

A partir de la aparición de C, el gran lenguaje, y Pascal, se dividen los lenguajes


en estructurados y no estructurados. Los lenguajes estructurados son aquellos
que en su codificación usan una estructura jerárquica de procedimientos y
funciones, mientras que los lenguajes no estructurados, como el Basic, usan una
codificación que se basa en líneas de programación, permitiendo al programador
"saltar" de una línea de instrucción a otra, haciendo que el código sea algunas
veces difícil de entender y muy difícil de mantener.

Con el tiempo surge una variante que se aplica a todos los lenguajes: La
orientación a objetos. Ya no solo se habla de programación estructurada, sino que
los módulos de programación son vistos como objetos, las estructuras representan
objetos y/o funciones que se adaptan en forma general a procesos específicos,
haciendo que la programación modular alcance un gran desarrollo.

El modelo de objetos engloba los conceptos de encapsulación, herencia y


poliformismo, los cuales se aplican a los datos y al tipo de bases de datos que
almacena la información.

La orientación a objetos significa la agrupación de entidades de datos de forma


global, de tal manera que puedan ser interpretados de una forma común por una
misma estructura de programación.

Pág. 84
EL ASC DE LA MECATRÓNICA

Actualmente, con la sólida evolución que han tenido los sistemas operativos
visuales, todo es visual, todo es iconos, todo es botones, todo es ventanas. Por lo
tanto, para programar en lenguajes visuales, primero hay que comprender lo que
son estos sistemas operativos, del que Windows puede ser una marca muy
comercial.

la forma de programar los sistemas evolucionó radicalmente. Con Windows es


preciso programar conservando las convenciones del mismo, guardando sus
características y funcionalidades.

la forma de programar se basa en objetos, cada uno de los cuales tiene sus
propiedades y funciones. Se basa en la programación de eventos para dichos
objetos. Otro detalle es que la programación se basa en componentes
denominados OLE, OCX y ActiveX, los cuales reducen notablemente el trabajo de
la programación al proporcionar herramientas antes impensadas en la
programación D.O.S.

Todos los lenguajes visuales ofrecen RAD (Rapid Apl ication Development) o
Wizards, con lo cual comenzaron a prometer hacer aplicaciones en poco tiempo,
incluso para inexpertos. Ahora las herramientas de programación son poderosas.
Son casi un sistema operativo con entornos de desarrollo avanzados y excelentes
Debuggers.

los paradigmas de la programación Windows, entre otros, son:


- Borland Delphi (la evolución del Pascal)
- Visual Fox (la evolución del Xbase)
- Visual Basic (la evolución de Basic)
- Visual C++ (la evolución del C/C++)
las incursiones cada vez mas innovadoras de Microsoft parecen imponer a
Internet como el centro de desarrollo de aplicaciones .NET. las nuevas
tecnologías WEB inundan el mercado: PHP, ASP, XMl, DHTMl, lo cual
enriquecen la forma de manejar la información y su presentación al usuario final.

Es de esperarse que los lenguajes Visuales dominen el mundo de las PC's


durante mucho tiempo, por lo menos mientras no evolucionen de otra manera los
Sistemas Operativos. los lenguajes de programación evolucionan a medida que lo
hacen los Sistemas Operativos en que funcionan. Nunca un lenguaje de
programación determinó un Sistema Operativo, por el contrario los Sistemas
Operativos determinaron los lenguajes de programación.

Pág. 85
EL ASC DE LA MECATRÓNICA

MS VISUAL BASIC

Visual Basic ha sido una plataforma importante de desarrollo ya que ofrece una
fácil programación de aplicaciones. Visual Basic fue diseñado para crear
aplicaciones en sistemas operativos de 32 bits, por lo que es una herramienta
desde la aparición de Windows95. Estas aplicaciones de 32 bits son muy
eficientes debido al espacio de direcciones que pueden manejar en memoria, por
lo que las aplicaciones aprovechan los recursos que ofrece el sistema operativo
siendo más robustas y con buenas capacidades de trabajo en entornos multitareas
y multiprocesos, superando las antiguas aplicaciones de 16 bits.

Se pueden concluir las siguientes ventajas:

· Acceso al espacio completo de direcciones de 32 bits de memoria con


microprocesadores 386 y superior alcanzando hasta 4 GBytes

· Funcionamiento mejorado gracias a los cálculos y operaciones de memoria


realizados con 32 bits

· Mayor protección contra fallas del sistema como resultado de acciones


inapropiadas por parte de otros programas, ya que cada aplicación Visual
Basic usa una región protegida de memoria.

· Capacidades reales de multitarea, ya que la ejecución del programa se


puede detener en cualquier momento y desarrollar otras funciones.

· Acceso a la API Win32 del sistema operativo, tenie ndo acceso a funciones
más avanzadas de programación

Para escribir un programa en Visual Basic se deberá determinar, en primer lugar,


cuáles serán las tareas que deberá desarrollar; posteriormente, se deberá diseñar
la pantalla o interfaz del usuario, la cual contendrá diferentes componentes u
objetos que servirán para la interacción con el usuario y desarrollarán las
funciones necesarias para el procesamiento de datos; y por último se hará la
programación de los objetos y del sistema en general.

Por lo tanto, desarrollar una aplicación para Windows usando Visual Basic suele
implicar tres pasos generales:

1. Creación de la interfaz del usuario

2. Definición de las características o propiedades de los elementos presentes


en la interfaz del usuario

3. Escribir el código asociado a cada uno de los elementos de la interfaz del


usuario

Pág. 86
EL ASC DE LA MECATRÓNICA

La interfaz del usuario incluirá todos los menús, cuadros de diálogo, botones,
objetos y dibujos que el usuario utilizará para trabajar con la aplicación. Los menús
contendrán todas las opciones disponibles en la aplicación; los cuadros de
diálogo, botones y el cursor del mouse ayudarán al usuario a manipular la
aplicación y la información que se estará procesando; las ventanas y las barras de
desplazamiento permitirán al usuario navegar por la información mostrada en la
aplicación.

Para facilitar el uso de los programas, es conveniente utilizar los objetos presentes
en la interfaz del usuario de una forma estándar y predecible.

Una vez abierta la aplicación, se podrá tener acceso a la ventana de desarrollo


(IDE) para definir la forma en la que se verá la interfaz del usuario.

... Projec!1 -Microsoft Visual Basic [disello] LJ(Q]@


&rchivo ¡;;dición 'ler ~oyecto EonMto ~ación E~ar !;onsuIt. Diagr I:!etramientas CO!!J)iementosVentana Ayyda

~'b.i ~gl BiÍ'I --:, ~~ .,~~~W~5tlt] 0,-105-- ¡r::-7~5X4995


g ~ 131 ~ ~ ~ Ámbito:p(oyecto activo .
Proyecto - Project 1 x)C
l'~8X: I[J SI iD
~G ~~E3 Projectl (Projectl.Ybp)
t!i ForrWarios
AJ8bT .. .
~ Forml (Form1.frm)

I~ Sl~~ Ip~~b~d~r
d~'~~bl~~':
. . . . : : : ~~.:..~~.:..~~
....
:. . . . . . . . . .
.
-~F.'nI'!R!!lmrn1

IFonnI Form ~
X

...........
... o............. ...¡
."...
:.
. i'
Afabétlc. I
Por catOQOrias I
Forml ...
.:::::: .
:::...::: ::: :::~ ~i~ ~~~~~¡~ ~: ~~: .
..... 1-31)
OCJ Fals.
. .. O 8d-I8OOOOO(I'&.
..J~ .. . Inc:iar Prueba .
.......
-
1 fued Single
~....... ..........
... .......
..
....
Protoq,o Versión2.0
.. ........ True
Ijjg~ .. ..- True

~ . . -
13 SOPYPen
-
O SoIid
... . ........ . ..... .- 1 ~
.........

Para construir los elementos de la interfaz, bastará con seleccionar y arrastrar a la


ventana diseñada para la aplicación (forma) los objetos deseados de las barras a
la izquierda de los cuadros de herramientas. Se trata de una labor realmente
sencilla.

Una vez creado el elemento se podrán definir las propiedades asociadas con él y
posteriormente introduciendo el código que desarrollará las funciones del
elemento. Esta codificación se hará en la ventana de código.

Pág. 87
EL ASC DE LA MECATRÓNICA

El lenguaje de programación Visual Basic cuenta con cientos de instrucciones,


funciones y caracteres especiales, aunque la ventana de codificación tiene
grandes ayudas para facilitar y recordar la escritura de las instrucciones.

.... Project1 -Microsoft Visual Basic [diseño] - [Forl111(Código)] [Q)


¡¡:I &rchivo!;.dición'1er oyecto EormatoQ.epuraciónEjecutarsonsulta Diagrama!:!erramientas
Complementos
VentanaAyyda _115'1
'b' ""
-,--, III '{ 1i!I,"'1'')
'T- c. 11 111 t8 '§ eal Lin22.
ColI
_..- - - - --r--
..Id 131 ¡ji I!I Ámbto:
PtOyecto
activo'
_X I(General) ..:.J Icommand2_CliCk ..:.J
., .. X

_",¡I
G PrivateDeclareFunctionInPortLib "IOPort.dll"
(ByVal portaddre3 B. ProjecU (Projedl.vbp)
A(abi
Option Explicit
Private Declare Sub OutPort Lib rrrOPort. dll rr (ByVal portaddress :
As mla
1[1El.iti Formularios
1::1. Forml (Form1.frm)
D
- -1 PrívateConstpuerto= 378
P r. . . "l.. X
1*t************T.********************************************* IForml Form -=..1
§EJ Rutinas de CARGA Y DESCARGA de la aplicación
.01 I*********************************************************** Afabética IPor categorías I
.!JiJ Forml '"
Appearance 1-3D
00 Private Sub Form_Load() AutoRedraw Flse -
-1 Image2.Visible= False Color -O1 -&H_&
FixedSingfe
txtResultado.Visible = False BorderStyle
....... End Sub Caption ,Prototipo Versión 2.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)
Devuelve el nombre usado en el código para
""
-' . lidentificar
unobjeto.

Cabe mencionar que el lenguaje Visual Basic no es exclusivo de este producto, ya


que también lo encontramos en la familia de productos de MS Office.

Una vez creada una versión de trabajo del programa que se está desarrollando, la
siguiente etapa será probar el funcionamiento obtenido y compararlo con los
objetivos fijados al principio. Verificar un programa implica analizar su
comportamiento en diferentes condiciones de operación y simular situaciones de
la vida real donde se usará. La ventana de desarrollo ofrece recursos y
herramientas que facilitarán este trabajo.

Si se desea distribuir el programa, que generalmente será una de las intenciones


del desarrollo de aplicaciones, se necesitará compilarlo para generar un archivo
ejecutable y una pequeña herramienta de instalación en otras computadoras.
Todos los programas desarrollados en Visual Basic requieren uno o más archivos
denominados Librerías de Enlace Dinámico, DLL, para poder ejecutarse
correctamente, archivos que se incluirán en la versión de distribución.

Estos pasos reseñan el ciclo total en la vida de desarrollo de software, el cual se


puede ilustrar de la siguiente forma:

Pág. 88
EL ASC DE LA MECATRÓNICA

. 1
Analizary
diseñarla tarea
a resolver

2
5
Distribuir .
Construirel programa:
Diseñar y crear la
j

. interfazdel usuario
Definirlas propiedades
de los elementosde la

4 . Escribirel
interfaz
código
Compilar asociado

3
Probar y eliminar ....

errores de
codificación

MS VISUAL C++

Cuando los desarrolladores de Microsoft planearon la idea que respalda a Visual


C++, decidieron tomar el compilador de clase mundial C++ y crear un entorno de
desarrollo con un conjunto de herramientas que permitieran a los programadores
crear aplicaciones Windows con un nivel de facilidad y rapidez superior a otros
entornos de desarrollo.

Con esta herramienta, se introdujo la tecnología de desarrollo a base de asistentes


con una nueva versión de las MFC (Microsoft Foundation Class Library) más
potente, lo cual facilita enormemente el desarrollo de aplicaciones.

Al igual que Visual Basic y otras herramientas visuales orientadas a objetos, Visual
C++ es un entorno de desarrollo diseñado especialmente para crear aplicaciones
gráficas orientadas a objetos sobre una plataforma de 32 bits. Para crear una
aplicación se crean ventanas para acomodar controles programables según las
funciones deseadas por el programador.

Pág. 89
EL ASC DE LA MECATRÓNICA

En resumen, Visual C++ en una forma general, tiene las siguientes características

· Una biblioteca de clases, MFC, que da soporte a los objetos Windows tales
como ventanas, cajas de diálogos, controles y objetos GOl (Graphic Device
Interface).

· Un entorno de desarrollo integrado formado por un editor de texto, un


compilador, un depurador, un explorador de código fuente, administración
de proyectos, etc.

· Asistentes para el desarrollo de aplicaciones

· Galería de objetos incrustados y vinculados OLE (Object Linking and


Embedding). Esto se refiere a software autocontenido en pequeñas
unidades de software que puede reutilizar cualquier aplicación.

· Visualización y manipulación de datos de otras aplicaciones a través de


objetos OLE

· Interfaz para múltiples documentos que permite crear una aplicación con
diferentes ventanas (MOI, Multiple Document Interface)

· Cabeceras precompiladas que reducen el tiempo de compilación

· Clases para la programación de hilos (threads), para implementar páginas


HTML

· Creación y uso de librerías dinámicas (OLL, Dinamic Link Libraríes)

· Programación Internet a través de componentes Active-X

· Soporte para el estándar COM (Component Object Mode~

· Objetos de acceso a datos OAO, que permita el acceso a bases de datos a


través del motor Access o de controladores OOSC

· OLE OS como un proveedor de datos y objetos AOO (Active-X Data


Objects)

Creación de una aplicación

El proceso de desarrollo de una aplicación Visual C++ se puede dividir en dos


fases generales: creación del esqueleto de la aplicación y el desarrollo de la
aplicación.

Pág.90
EL ASC DE LA MECATRÓNICA

Cuando se crea una aplicación, el primer paso es ejecutar el asistente AppWizard


que permitirá crear el esqueleto. El proceso se puede representar con el siguiente
diagrama

Archivos fuente

AppWizard Aplicación

Archivos de recursos

La fase de desarrollo incluye el diseño de la interfaz del usuario, la edición de


archivos fuente, compilar la aplicación, el enlace, la prueba y la depuración final.

Estas actividades son interactivas y entrelazadas, por lo que la suma de


actividades concluye con la tarea diseñada pudiéndose sugerir el siguiente orden:

1. Crear el esqueleto de la aplicación usando AppWizard

2. Utilizar los editores de recursos para construir la interfaz del usuario

3. Utilizar ClassWizard para crear el esqueleto de los controladores de


eventos relativos a los objetos de la interfaz del usuario

4. Utilizar el entorno de desarrollo para editar el código correspondiente a


cada uno de los controladores de eventos asociados con los objetos de la
interfaz del usuario.

Gráficamente, se ilustran los pasos anteriores:

Pág. 91
EL ASC DE LA MECATRÓNICA

Archivos fuente

.cpp
.h

AppWizard Aplicación

Archivos de recursos

Editores de
recursos

Pág.92
EL ASC DE LA MECATRÓNICA

TECNOLOGíA .NET

Microsoft .NET es una nueva plataforma no solo de programación sino de


tecnología en general. Microsoft define que la tecnología .NET es un tipo de
software capaz de interconectar información, personas, sistemas y dispositivos a
través de unir una variedad de tecnologías tanto de tipo personal como comercial,
lo que permite el acceso y uso de la información en cualquier momento y lugar.

.NET permite a aplicaciones tanto existentes como nuevas, conectarse con


software y servicios mediante plataformas, aplicaciones y lenguajes de
programación.

.NET Framework es un componente de Windows que proporciona un modelo de


programación y un motor en tiempo de ejecución para servicios WEB XML,
aplicaciones WEB y aplicaciones cliente enriquecidas. .NET Framework consta de
dos elementos principales:

· Common Language Runtime: el motor en tiempo de ejecución de .NET


Framework es el núcleo de la ejecución de código administrado. También
proporciona código administrado con servicios tales como la integración
entre lenguajes, seguridad de acceso al código, administración del tiempo
de vida de los objetos y compatibilidad con la depuración y la creación de
perfiles.

· Biblioteca de clases de .NET Framework: esta biblioteca de clases incluye


clase, interfaces y tipo de valores que expiden y optimizan el proceso de
desarrollo proporcionando acceso a las funciones del sistema.

Visual Studio .NET es la herramienta para crear servicios WEB XML y


aplicaciones cliente .NET. Proporciona un entorno de desarrollo muy completo
para la creación de aplicaciones escalabes seguras en el lenguaje que se quiera,
aprovechando los sistemas y conocimientos disponibles, ya que el Framework es
común al lenguaje del programador que se quiera usar.

.NET Framework está diseñado para cumplir los siguientes objetivos:

· Proporcionar un entorno sólido de ejecución orientado a objetos, ya sea que


el código de objetos se almacene y se ejecute localmente, se ejecute en
forma remota o se ejecute en forma local pero se distribuya por Internet

· Proporcionar un entorno de ejecución de código que minimice la


implementación de software y los conflictos entre versiones

· Proporcionar un entorno de ejecución de código que garantice la seguridad


de la ejecución del código, incluido el código creado por un tercero
desconocido

Pág. 93
EL ASC DE LA MECATRÓNICA

· Proporcionar un entorno de ejecución de código que elimine los problemas


de rendimiento de los entornos de secuencia de comandos o de
interpretación
. Proporciona a los programadores una experiencia sólida en los diferentes
tipos de aplicaciones, ya sean aplicaciones basadas en Windows o en WEB

· Basar todos los sistemas de comunicación, incluidos los servicios WEB


XML y la conexión remota de punto a punto, en el estándar del sector para
garantizar que el código basado en .NET Framework se pueda integrar con
cualquier otro tipo de código, con independencia del lenguaje o de la
plataforma en los que se haya escrito.

La biblioteca de clases de .NET Framework es una colección de tipos reutilizables


que se integran de forma compacta en el Common Language Runtime. La
biblioteca de clases está orientada a objetos, por lo que proporciona tipos desde
los que su propio código administrado puede derivar funcionalidad. Esto no solo
facilita el uso de los tipos de .NET Framework, sino que también reduce el tiempo
asociado con el aprendizaje de nuevas características de :NET Framework.
Además, existe una gran variedad de componentes de otros fabricantes que se
pueden integrar con las clases en .NET Framework.

Con una sólida arquitectura orientada a objetos, .NET Framework se puede


ampliar sin limitaciones, permitiéndole mejorar, modificar y ampliar sus
funcionalidades básicas para adecuarse a las necesidades del usuario o a las
empresas. Por ejemplo, la colección de clases de .NET Framework implementa un
conjunto de interfaces que se pueden utilizar para desarrollar sus propias
colecciones, que se integrarán sin ningún problema con otros objetos creados por
otros usuarios o pertenecientes al sistema.

.NET Framework permite conseguir una variedad de tareas de programación


comunes, como son la administración de cadenas, la recopilación de datos, la
conectividad con bases de datos y el acceso a archivos.

Los desarrolladores de aplicaciones para Windows comprobarán que los


formularios Windows Forms son intuitivos, eficientes y compatibles con cualquier
lenguaje basado en .NET incluyendo Visual Basic, C#, y las extensiones
administradas para C++.

Los formularios Windows Forms se beneficiarán del control de versiones y de las


características de implementación de .NET Framwork para ofrecer costos de
implementación reducidos y una mayor estabilidad de las aplicaciones.

Como ejemplo y compatibilidad visual con versiones anteriores, las siguientes


imágenes representan el ambiente de desarrollo para Visual Basic .NET

Pág. 94
EL ASC DE LA MECATRÓNICA

,,~ WindowsApplication3 - Microsoft Visual Basic .NET [diseilar] - Form1.vb [Disefío] GJ[QJ~
archivo ~dición Il.er ~oyecto ~enerar Q.epurar Dato~ Eormato !:!.erramientas Ve[ltana Ay!,!da

~ Debug . f.iI!.I\

oIJo ~ ~~ ~ ;!::(;- ~t 8: ~ I~ " "'.


Cuadrod~herramientas ~ Página de inicio Forml.vb [Diseño] I Forml. vb I -Windo~:.:..:..11-_X
<1t> xli Exploradordesoluciones
Dato~ __ _J ~m~~~
Componentes I ~, !SI References
y.'indows
~~ J~ E) AssemblyInfo. vb
r~¡;;:;ntero . . .. . .. . .. . .. . .. . . .. . .. . .. . .. . . . .
: : : : : : : : Puerto:
: : : : : : : : Dato::: : : : : : : : m Forml.vb v
A label ¡.L. _, _ ¡J~.
A LinkLabel ..................
............... - Q Expl;a...~ I Vistade ...I~ Buscar I
.......
.!!!IButton
[Obi TextBox Out 1:: : : : : .:.
!Propiedades " . _ _~._~
11 MainMenu .
IForml System,Windows,Forms.Form ..:.1
p" CheckBox .....................
.....
....
.
1iI',IATlI rr;:5íl
e;.:~¡~ 1
=
1d1
(;' RadioButton Forml
LJ GroupBox
Anillodel ~rt,!!~eles contenido en el control,
General
--
Listo

"... WindowsApplication3 - Microsoft Visual Basic .NET[disefíar] - Form1.vb GJ[QJ[8J


archivo dición Il.er royecto enerar Q.epur
ar amientas Ve[ltana Ay!,!da
!:!.err
.WI.riII" Jb8 o() .r Debug . f.iI!.I\
. Qm.
A:t. t§: .- ot')
-= -= "..
-
Página I
deinicio Fotml.vb [Diseño] Forml.vb I <1 t> x r de sol':!.cnes- Windows... 11- X

IForml .:J 111\(Declaraciones) ..:.1 m


Option Explicit -. IGO olución'WindowsApplication3'
(1 proyect
i On
- 13 WindowsApplication3
IÉ !SI References
13 Public Class Forml :
AssemblyInfo.vb
Inherits System.Uindows.Forms.Form
51 Forml. 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... Vista I
de...I Buscar I

- Private Sub Forml_Load(ByVal sender As System.Object, !I Propiedades 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

Pág. 95
EL ASC DE LA MECATRÓNICA

Capítulo
10
Interlaz8'10modelo1-400

Pág.
97
EL ASC DE LA MECATRÓNICA

Inlerlaz
IPIO modelo1-400

¿POR QUÉ UNA INTERFAZ DE 8 BITS?

Hablando en confianza, la tecnología ha llenado nuestras actividades del día a día


con muchos servicios y productos que nos permiten desarrollarlas de muchas y
mejores maneras cada una de ellas. De hecho, haciendo una encuesta entre las
personas del círculo social que nos rodea, veremos que somos privilegiados ya
que formamos parte de una sociedad altamente tecnificada.

¿A qué me refiero? A la cantidad de dispositivos te cnológicos con los que


contamos. Como primer ejemplo puedo mencionar el teléfono celular, el cual
cuenta con cámara y videocámara digital, reproductor de música, agenda
electrónica, calculadora, conexión a Internet y un sinnúmero de servicios
adicionales. También contamos con computadoras port átiles y de escritorio,
memorias portátiles que nos permiten transportar GBytes de información, servicios
de televisión por cable, horno de microondas, etc., etc., etc.

Todos estos productos y servicios, sin duda, nos ha n hecho excelentes usuarios
de la tecnología. Ahora lo único que tenemos que pedir es que no se interrumpa el
suministro de energía eléctrica en las centrales de servicio para no vemos
afectados.

Muy bien, ahora hay que tomar un poco de tiempo para analizar cual es una
característica común entre todos estos dispositivos y que nos interesa considerar
para empezar la reflexión sobre el tema de por qué una interfaz de 8 bits: pues lo
común es que todos ellos tienen un diseño electrónico determinando y un software
que se encarga de generar las diferentes funcionalidades.

y este es el punto. Ya no hay diferencia entre hardware y software y ahora son


una sola pieza que funciona en coordinación para desarrollar todas las funciones
diseñadas en un producto y que cuando hay mejoras en ellos, basta con actualizar
el software para contar con las nuevas funciones.

Como estoy seguro que esto es cierto y no hay forma de ponerlo en duda, la
pregunta que sigue es ¿Y que hacemos ahora? En la parte de la vida diaria, nada,
seguir como hasta ahora consumienqo productos y servicios tecnológicos. En la
parte académica, escolar, formar a nuestros ingenieros en este sentido, en
mostrar que la división entre electrónica y computación se ha borrado y ahora hay
que saber y saber juntar los dos temas.

Por eso surge este proyecto, para poder entender las bases de esta importante
relación -electrónica y computación- y poder generar los primeros experimentos.

Pág. 98
EL ASC DE LA MECATRÓNICA

Esta interfaz permitirá a los estudiantes de ingeniería y a los interesados en el


tema a desarrollar los primeros prototipos electrónicos y controlarlos a través de la
interfaz con programas desarrollados en diferentes lenguajes.

Para lograr esta comunicación entre la computadora y el prototipo electrónico, a


través de la interfaz, es necesario usar rutinas escritas en lenguaje ensamblador
que posteriormente se integrarán en lenguajes de alto nivel como C/C++, o
cualquier otro lenguaje visual tipo Visual Basic o Visual C++.

Queda la libertad a la creatividad, ya que este capitulo presenta y explica las


rutinas básicas de programación de la interfaz y su uso en unión a algunos
proyectos sugeridos, con lo que posteriormente cada persona podrá desarrollar
sus propios proyectos.

~
EL PUERTO PARALELO

Sin mayor preámbulo, empezaré explicando los conceptos necesarios para poder
trabajar con el puerto paralelo de la computadora, el cual será el canal de
comunicación con la interfaz y con el proyecto electrónico a controlar.

Sólo para aclarar, ¿por qué el puerto paralelo? Desde luego que tenemos otras
opciones, como sería el puerto serial o el puerto USB pero al usar cualquiera de
estas, también aumentaría la complejidad en la comunicación y para empezar, ya
tenemos suficiente con nuestro planteamiento como para aumentar un problema
más en la comunicación. Por lo tanto, este proyecto de interfaz no se complica y
maneja la forma de comunicación más fácil. Una vez que se tenga experiencia en
la elaboración de proyectos, entonces se podrá complicar un poco modificando el
formato de comunicación.

Descripción de puerto

El modelo más simple pero útil que podemos hacer de una computadora es el que
considera tres bloques básicos: procesador, memoria y puertos. Este modelo
sugerido por John van Newmann sigue siendo, después de muchos años, un
modelo válido y totalmente usado en la actualidad.

Los siguientes bloques presentan el concepto modular:

Pág. 99
EL ASC DE LA MECATRÓNICA

E/S Procesador

Entrada
Memoria

Salida Control

El procesador es el ejecutor y responsable de coordinar todas las operaciones y


funciones que se llevan a cabo en la computadora, las cuales son ordenadas por
el Sistema Operativo.

El bloque de memoria resulta la mejor herramienta de trabajo del microprocesador,


ya que es el espacio para almacenar y manipular la información necesaria.

y por último el bloque de entrada y salida, el cual está formado por los puertos, o
puertas, por donde la información va a fluir entre el microprocesador y el mundo
exterior. Los puertos están numerados, por lo que no hay posibilidad de error. Yes
precisamente en este bloque donde reside el valor de la computadora, ya que este
es el bloque que permite la entrada y salida de información que se estará
procesando.

Uno de estos puertos, de entre 65,536 posibles, es el puerto paralelo, el cual tiene
comunicación directa con el bus de datos del microprocesador.

Descripción del puerto paralelo

El puerto paralelo es un dispositivo de comunicación con el exterior el cual puede


operar en forma bidireccional. Tradicionalmente, este puerto se le ha llamado el
puerto de la impresora o puerto de impresora Centronix. Esta interfaz permite
transmitir 8 bits en paralelo a través de las líneas DO - 07 además de otras
señales de control que deben estar presentes para sincronizar la comunicación
entre los dos dispositivos.

Pág. 100
EL ASC DE LA MECATRÓNICA

Por lo tanto, este puerto de comunicación de E/S resulta ser muy útil para conectar
desarrollos electrónicos propios. Lo único que tenemos que saber es la forma en
la que opera, la cual se basa en tres registros de datos.

Las líneas de comunicación se pueden identificar fácilmente en el conector OB25


de la computadora y serán las responsables de coordinar la comunicación entre la
computadora y el circuito periférico.

Esta comunicación bidireccional se debe dar en una coordinación de señales que


permitan sincronizar el funcionamiento normal de cada parte. Así, si la
computadora esta corriendo un proceso diferente al de atender el puerto paralelo,
entonces podrá avisar que está ocupada y el circuito periférico tendrá que esperar.
Lo mismo tendrá que suceder con el circuito si está procesando los datos y no los
tiene listos para entregarlos, la computadora tendrá que esperar hasta que el
circuito periférico indique que el valor en el bus de datos es válido.

Las señales del conector tipo OB25 que tienen las computadoras para
comunicación del puerto paralelo se muestran en la siguiente figura:

Registro de estado Registro de datos

Registro de control

Estos tres registros controlan la comunicación y tienen una dirección asignada, por
lo que es fácil consultar su valor.

El registro de datos es la dirección en la que hay que poner cualquier dato que sea
dirigido al puerto. Oe igual manera, cualquier dato que se lea del exterior se
encontrará en esta dirección. La dirección de este registro, asociada a LPT1,
generalmente es la 378H. El registro de estado contiene información sobre el
dispositivo conectado, en especial la ocurrencia de posibles errores. Es decir, es la
forma en la que el circuito periférico notifica a la computadora su estado. La
dirección de este registro, asociado a LPT1, es la 379H, lo que equivale al registro
Base + 1. El registro de control permite inicializar el puerto paralelo de la
computadora y controlar la transferencia de datos. Es la forma en la que la

Pág. 101
EL ASC DE LA MECATRÓNICA

computadora comunica al periférico su estado. La dirección de este registro,


asociado a LPT1, es la 37AH, lo que equivale al registro Base + 2.

Si consideráramos las direcciones de los otros puertos para impresora, la tabla


sería de la siguiente forma

1,0..h
I _
~~
~...,. I
LPT1 378H 379H 37AH
LPT2 278H 279H 27AH
LPT3 3BCH 3BDH 3BEH

Para asegurar la dirección del puerto LPT1 de la computadora en la que vamos a


trabajar, la pestaña Recursos de la Ventana de Prop iedades del puerto de
impresora nos indicará la dirección exacta.

Proidd;de Pr;de il1rsr(LPT1)' .... .... ........ ....LIII X J

General Configuraciónde puerto


11 11 Controlador 11 I
Detalles Recursos I
Puerto de impresora (LPT1)

Configuración de recursos:

'illnterval-; d;EI 0378 - 037A .


Tipo de recurso G'IIIYY'

ConfiguraciÓn
basada en: ConfiguraciÓn- -.actual
-. - - - -

Usar configuración automática Cambiar configuacíÓn,"

Lista de dispositivos en conflicto:

No hay conflictos. .
I

Aceptar [ Cancelar I

Pág.102
EL ASC DE LA MECATRÓNICA

Lo último que nos falta describir, es la señal que tiene cada uno de los bits de los
registros de estado y control. Desde luego que el registro de datos va a tener los
valores de entrada y salida.

Las señales de los registros se muestran a continuación donde es fácil ver que el
registro de estado recibe información y el registro de control envía información.

Registro de datos Registro de estado Registrode control


D7 Data7 D7 Busy D7 Rese1Ved
D6 Data6 D6 D6 Rese1Ved
D5 - Data 5 D5 PE D5 Directron
D4
D3
Data4
Data 3
D4 Select D4 - IRQ Enable
D3 EnOr D3 Select In
D2 Data2 D2 IRQ D2 INIT
Di - Data 1 Di Rese1Ved Di Autofeed
DO DataO DO Rese1Ved DO Strobe

Estas señales de los registros de estado y control están codificadas para control
de una impresora, cosa que en nuestro proyecto sustituiremos por las señales que
se adapten al circuito del proyecto que se trabaje.

Una vez que tenemos esta información sobre la operación básica del puerto
paralelo de las computadoras, ya podemos empezar a hablar sobre cómo
programar los datos de entrada y salida a través de este puerto. Empezaremos
hablando del diseño de la interfaz que estará en contacto con el circuito del
proyecto a controlar.

Las computadoras con sistema operativo MS-DOS o Windows 95/98/Me, tienen


acceso directo al puerto sin restricción del sistema operativo. A partir de Windows
NT/2000, inclusive, los sistemas operativos no permiten acceso a los puertos, por
lo que en este caso se tendrá que deshabilitar esta protección.

Hay varias formas para lograrlo y en Internet se pueden encontrar aplicaciones


gratuitas que permiten la configuración de un grupo de puertos o de un puerto en
particular saltando las protecciones de sistema operativo.

Una aplicación de este tipo es UserPort escrito por Tomas Franzon. En el CD que
acompaña el libro hay una copia de estos archivos. Es muy recomendable leer las
instrucciones de instalación y siempre tener en cuenta que al usarlo, se está
abriendo una protección de la computadora, por lo que hay que definir
perfectamente el rango de puertos que se quieren liberar y de ser posible, volver a
cerrarlos mientras no exista necesidad de lo contrario.

Pág. 103
EL ASC DE LA MECA TRÓNICA

DISEÑO ELECTRÓNICO DE LA INTERFAZ

El diseño que vamos a usar es una configuración típica la cual nos va permitir
dividir el puerto paralelo de la computadora en un puerto bidireccional, es decir, en
un bus de entrada y uno de salida, lo cual facilitará mucho el trabajo con el circuito
que vamos a controlar posteriormente.

El diagrama electrónico del diseño es el siguiente:

U3
IIN OU"¡
v I GN D +5 v
LM 78L05

U1
.I
DO
141 00
D1
71 01
D2
II:SI 02
D3
111 03
1141 D4 04
1171 D5 05
1 D6
1II:S 06
... D7 07
:- 11 IOEE
r- :- \J1
f- 74373
!- U2
!-
!- A1 B1
r- - A2 B2
A3 B3
A4 B4
AS B5
A6 B6
A7 B7
A8 B8
11 le
DSR .....
= J2
J3 74245

El diagrama muestra tres circuitos integrados y tres conectores. El conector J1 es


un D825 que se conecta a la computadora. El conector J2 manejará las señales
de salida y el conector J3 manejará las señales de entrada.

Como se usa un conector D89, los pines 1 - 8 serán los bits datos de entrada o
salida (DO-D7)y el pin 9 será tierra.

El circuito D74373 es una memoria latch de 8 bits. La distribución de sus pines y


sus funciones se muestran a continuación:

Pág. 104
EL ASC DE LA MECATRÓNICA

Dual-In-LlnePackages
'LS373
ENAIILE
so G

OUTPUT 10 1D 20 30 3D 4D GND
CONTROL

Una memoria latch va a seguir en su salida, la señal de entrada y mantendrá el


valor en memoriasólo cuandose pongaun pulsoen el pin de control.

Por estas características, este circuito integrado va a manejar las salidas de la


computadora. Por el momento es importante hacer notar que para generar un byte
de salida hay que dar un pulso en el pin de control, pulso que tendrá que ser
generado por software, del que hablaremos en el siguiente apartado.

El circuito D74245 es un bus bidireccional con buffers de tres estados. La


distribución de sus pines y sus funciones se muestran a continuación:

Vcc r B1 B2 B6

Por lo tanto, este circuito integrado solamente va a dejar pasar el byte de entrada
a la computadora cuando se mande un pulso en el pin de control que en este caso
es el pin 19 y como en el circuito anterior, el pulso que tendrá que ser generado
por software, del que hablaremos en el siguiente capítulo.

Pág. 105
EL ASC DE LA MECATRÓNICA

Entonces, podrá verse en el diseño del circuito, que los pines de control de cada
circuito están conectados entre sí, por lo que o funciona uno o funciona el otro. El
pin 1 del D74245 con el pin 11 del D74373. Y esto con tal suerte que cuando el
pulso de control es uno (lógico) se lee el bus de entrada y cuando el pulso de
control es cero (lógico) se escribe el bus de salida.

Una vez descrito el circuito de la interfaz, en el siguiente apartado hablaremos de


su programación, programación que podríamos llamar el núcleo (kerne~ del
sistema operativo de la interfaz, ya que será el software necesario para
comunicamos y manipular los circuitos de la interfaz.

PROGRAMACiÓN DE LA INTERFAZ

Ahora empezamos una parte interesante, la programación de la interfaz.

El programa o programas que permiten al usuario tener contacto con un circuito


electrónico y controlarlo se le puede llamar Sistema Operativo. Así que podemos
decir que vamos a iniciar la programación del sistema operativo de la interfaz.

¿Qué funciones elementales debe incluir la programación de la Interfaz? Por lo


menos dos, la de lectura y la de escritura. La lectura significa leer los datos que el
circuito electrónico a controlar envía a la computadora y escritura son los datos
que la computadora va a enviar a dicho circuito electrónico.

Esta programación es muy conveniente que se haga en rutinas de lenguaje


ensamblador, lo cual permitiría una mayor velocidad de comunicación entre la
computadora y la interfaz y además, facilitaría el desarrollo de librerías dinámicas
(DLL's) para poder usar la interfaz con lenguajes visuales.

El lenguaje ensamblador y sus comandos (mnemónicos) son una programación de


bajo nivel, ya que programa directamente en lenguaje máquina y para este
capítulo se usarán comandos compatibles con microprocesadores Intel de la
familia x86. Las personas que tengan habilidades para otros microprocesadores
podrán fácilmente adecuar estos comandos.

Para lograr la comunicación con la interfaz sólo usaremos las siguientes


instrucciones:

MOV Permite almacenar un valor en los registros del


microprocesador de la computadora

AND Operación booleana AND

OR Operación booleana OR

Pág. 106
EL ASC DE LA MECA TRÓNICA

IN Comando para leer un puerto

OUT Comando para escribir un byte en el puerto

Estas instrucciones las uniremos en un programa que permita enviar y recibir


información y además regular la comunicación, para lo cual haremos las
siguientes consideraciones.

1. Primero, tenemos que asegurar que se selecciona el circuito integrado


correcto de la interfaz para leer o escribir un byte, según se describió en el
diseño electrónico de la interfaz.

2. Después ya se podrá realizar la operación de lectura o escritura.

La rutina para leer información es la siguiente:

mov dx, 37A II Se seleccionael registrode control


in al, dx II Se lee el valoractualdel registrode control
or al,21 // Se garantizaqueel bit OYel 5 del bytequedanen 1
out dx, al II Se mandael valoral registrode control
mov dx, 378 II Se seleccionael registrode datos
in al, dx II Se leeel valordel registrode datos

Seguramente el código y los comentarios se explican por sí solos.

Cabe aclarar que según se indica en la gráfica de distribución de señales de los


registros del puerto paralelo, el bit 5 del registro de control es el que configura la
forma bidireccional del registro de datos lo que permite la lectura de información, y
el bit O, la señal de Strobe, que es el bit de control sobre los circuitos de la interfaz
y que selecciona el circuito 74245 y desactiva el circuito 74373, lo que permite la
lectura de datos de entrada.

En forma similar, la rutina para escribir información es la siguiente

movdx, 37A II Se seleccionael registrode control


in al, dx // Se lee el valoractualdel registrode control
andal, DE II Segarantizaque el bit OYel 5 del bytequedanen O
out dx, al II Se mandael valoral registrode control
movdx, 378 II Se seleccionael registrode datos
moval,valor II Se cargael valorque se va a escribiren el registrode datos
out dx, al II Seenvíael valoral registrode datos

Como la función de escritura es inversa a la de lectura, ahora el bit 5 del registro


de control es el que configura la forma unidireccional del registro de datos lo que
permite la escritura de información, y el bit O, la señal de Strobe, es el bit de

Pág. 107
EL ASC DE LA MECATRÓNICA

control sobre los circuitos de la interfaz y que desactiva el circuito 74245 Y


selecciona el circuito 74373, lo que permite la escritura de datos de salida y
permanecerán en la memoria latch.

Una vez descritas las rutinas básicas en lenguaje ensamblador, ahora tenemos
que hacer pequeños cambios, según lo requiera la aplicación en particular que se
esté desarrollando, para que puedan funcionar con cualquier valor de salida y se
pueda pasar al programa general de control de datos de entrada de la interfaz.

Para esto, podemos incluir estas rutinas en una estructura de un programa escrito
en Lenguaje e, lo cual quedaría de la siguiente forma

#include <dos.h>

void escribir_puerto (int pto, char val);


int leer_puerto (int pto);

main()
{
intentrada;

escribicpuerto(888,100);
entrada = leecpuerto(888);

return(O);
}

void escribicpuerto(int pto, char val)


{
int control;

control=pto+2;
_asm{
mov dx, control
inal,dx
and al, OxDE
out dx,al "inicia puertode escritura
mov dx, pto
moval,val
outdx,al
}
delay(20);
}

Pág. 108
EL ASC DE LA MECATRÓNICA

int leer_puerto(intpto)
{
int dato;
int control;

control=pto+2;
_asm{

movdx, control
in al, dx
or ax,0x21
out dx, al 11iniciapuertode lectura
movdx, pto
inal,dx
movdato,al
}
delay(20);
retu rn (dato );
}

El comando _asm{ } permite la escritura directa en lenguaje ensamblador,


respetando el formato de números hexadecimales definido por el Lenguaje C.

Así queda un programa para escribir y leer datos a cualquier número de puerto de
la computadora, que en este caso el número 888 decimal equivale al número 378
hexadecimal.

PROGRAMACiÓN EN LENGUAJES VISUALES

Continuaremos con otra parte interesante, la programación de la interfaz usando


lenguajes visuales.

Microsoft Visual Basic es una excelente herramienta de desarrollo con alto grado
de facilidad, pero carece de algunas funcionalidades que en este momento
necesitamos como es el caso del acceso directo al puerto paralelo. Pero para
solventar este tipo de aparente limitación, una solución efectiva es la escritura de
una librería dinámica, una DLL. Por lo tanto, primero veremos como escribir una
librería dinámica usando Visual C++.

Se llaman librerías dinámicas porque su contenido no es compilado con el


programa principal, sino que este solamente tiene el nombre y sus funciones y al
momento de su ejecución, busca el archivo con extensión DLL donde encontrará

Pág. 109
EL ASC DE LA MECA TRÓNICA

las funciones solicitadas. Así el programa principal de la aplicación puede ser un


poco más ligero, ya que no contendrá las funciones definidas en la DLL.

Escritura de una DLL

A continuación se describen los pasos para crear una DLL usando Visual C++.

Una vez iniciado Visual C++ se selecciona Newdel menú FiJe.Se selecciona Win32
Dynamic-LinkLibraryde la pestaña Projects.Se registra el nombre del proyecto y la
dirección del archivo en el que se va a grabar. Se oprime el botón OK y se pasa a
la siguiente ventana en la que se selecciona la opción de A simple DLL project. A
continuación se oprime el botón Finish.

Este proceso se ilustra en las siguientes imágenes

New f?1[R1
Files Proiects' Workspaces I OtheroocumentsI
',.¡jA TL COMAppWizard Proiectname:
Cluster Resource Type Wizard IIOPort
,~, CustomAppWizard
ffiI OatabaseProiect Lo~ation:

~
DevStudio Add.in Wizard IC:\PROYECTOS\IOPort ..J
..:!II Elltended StoredProcWizard
ISAPI ElltensionWizard
fjj Makefile C;-.C!eatenew workspace
~- MFCActiveXConholWizard r édd to currentworkspace
lIi MFC AppWizard (dll) r@.ependencY9.f'
- MFCAppWizard(elle)
TI UtilityProiect IIOPort ..;:d
iilWin32 Application
Win32ConsoleApplication
~ Elatforms:

:s1 Win32StaticLibrary
I~Win32

OK J Cancel J

Pág. 110
EL ASC DE LA MECATRÓNICA

Win32 Dynamic-LinkLibrary - Step 1 of 1 llllXJ

\.I/hat kind 01 DLL would you like to create ?

r An empty DLL project.


r. A simple DLL project.
r A DLL that exports some symbols.

< Back Next


II Finish I Cancel

Una vez abierto el proyecto, se tendrá la siguiente presentación

"" IOPort - Microsoft Visual C++ - [IOPort.cpp ]

Jj~ EJle ~dit :íjew lnsert ~oject liuild 100ls !tl)ndow !:!elp

jJ ~ ~ ...
I CI1 I db ~ el!? ~~ ~~ "r
'" ~ '" I I

jJ (Globals) .:.11(Al!globalmembers) ~I .lnPort


~.d~ // IOPort.cpp Define los puntos de entro
11\.I/orkspace'IOPort':1 project(s) I #include "stdafx.h"
8.'~ IOPort files #include <conio.h>
8"'~ SourceFiles
, ¡ Ltt IOPort.cpp BOOL APIENTRY DllMain( HANDLE hModule.
, : ~ Std6.lx.cpp DWORD ul_reason_f,
~'.'.IC HeaderFiles LPVOID lpReserved
:...1f:I Resource Files
L...~ ReadMe.txt
{
return TRUE;
}

Pág. 111
EL ASC DE LA MECA TRÓNICA

Ahora hay que agregar al final del proyecto las rutinas de comunicación escritas
en Lenguaje C, según se mostró en el apartado anterior. Se muestran a
continuación:

short _stdcalllnPort (short portaddress)


{
chardato;
int control;

control = portaddress + 2;
_asm{
mov dX,control
in al,dx
or al,Ox21
out dX,al 11inicia puerto de lectura
mov dX,portaddress
in al,dx
mov dato,al
}
return (dato);
}

void _stdcall OutPort (short portaddress,char data)


{
int control;

control = portaddress + 2;
_asm{
movdx,control
in al,dx
and al,OxDE
out dx,al //iniciapuertode escritura
mov dx,portaddress
mov al,data
out dx,al
}

El siguiente paso es crear un archivo '*.def' para poder exportar estas dos
funciones. Se selecciona New del menú File y se selecciona un Text File de la
pestaña Files.Se nombra igual que el proyecto.

Pág. 112
EL ASC DE LA MECATRÓNICA

New W~
Files I Proiects I Workspaces I Other Documents I
P' Bdd to project:

(IOPort

File !Jame:

IIOport

Lo.!<ation:

1C:\PROYECTOS\IOPort ..d

OK ] Cancel I

En la ventana de trabajo del proyecto aparecerá un archivo vacío, al que hay que
escribirle el siguiente código

LlBRARYIOPort

EXPORTS

InPort @1
OutPort @2

A continuación se selecciona Build IOPort.dlldel menú Build. El proceso debe


terminar sin errores, de lo contrario hay que revisar su causa. Una vez terminado
el proceso sin errores ya se puede ver el archivo IOPort.dll en el directorio debug
donde está grabado el proyecto. La ventana del proyecto se verá de la siguiente
forma

Pág. 113
EL ASC DE LA MECA TRÓNICA

".. JOPort - Microsoft Visual C++ - [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!global members)
//
~I .OutP;;;
IOPort.cpp : Define los puntos
3t
de ent1

~ Workspace 'IOPort': 1 proiect(s) #include "stdafx.h"


B"'~ IOPort files #include <conio.h>
á.~ Source Files
i ! Gí3lloPort.cpp I BOOL APIENTRY DllMain( HANDLE hModule,
! ! ~ IOPort.def DWORD ul reason f
¡ L Gí3Std6.fx.cpp LPVOID lpReserved
~ (ij HeaderFiles
{
j 1iJIResource Files
¡~ ReadMe.txt return TRUE;
¡!J''''!E External Dependencies }
short _stdcall InPort(short portaddress)
{
char dato;
int control;

En la carpeta debug aparecerá el ícono I~l IO~t.~

Así queda programada la librería, que ahora tendrá que copiarse en la carpeta
c:\windows\system32
para su posterior uso.

Programación de la interfaz en Visual Basic

Ya que tenemos creada la librería dinámica, ahora la vincularemos a un programa


escrito en Visual Basic y con esto ya tendremos los comandos para poder tener
comunicación con la interfaz.

Después de iniciar Visual Basic hay que seleccionar una aplicación estándar

Pág. 114
EL ASC DE LA MECATRÓNICA

-
Nuevo

..
I

Asistente
...
para
aplicaciones...
I
Ellistente Recientes

EXE ActiveX

Addin
I
,.,
DLLActiveX

Aplicación
DHTML
Ir
Control
ActiveX

Aplicación lIS
..
.
Administrador
de asistent...

Controles de
1/8Edición...

,..." ,..... ,..." 8


,
Abrir
I
Cancelar I
Ayuda I

En la ventana del código hay que escribir las siguientes frases, las cuales darán
acceso a las funciones de entrada y salida creadas en la DLL IOPort.

Option Explicit
Private Declare Function InPort Lib "IOPort.dll" (ByVal portaddress As Integer) As Integer
Private Declare Sub OutPort Lib "IOPort.dll" (ByVal portaddress As Integer, ByVal data As Integer)

También podemos agregar funciones especiales para el manejo de esta


información de entrada y salida

'Rutinasdecomunicaciónal puertoparalelo:LECTURA
Y ESCRITURA
'1111***11111111111******1111111111111111111***********1*****************11111*11111***

PrivateFunctioninp(valorAs String)As String

'Lecturadel puerto
inp = InPort(Val("&h"+valor))

EndFunction

Pág. 115
EL ASC DE LA MECA TRÓNICA

Private Sub out (puerto As String, valor As String)

'Escritura del puerto


OutPort Val("&h" + puerto), Val("&h" + valor)

EndSub

Ahora que ya tenemos la base para la comunicación con el puerto paralelo, hay
que escribir una aplicación que permita enviar y recibir bytes.

En la pantalla de vista de objetos hay que agregar dos cuadros de texto y dos
botones.

..~ Proyecto1 - Microsoft Visual Basic [diseilo] - [Proyecto1 - Form1


1iJ .archivo ~dición :ter ~royecto Eormato Ilepuración Ejecutar s:.onsulta D[a

~ .~ .~ ~ IíII j(, ~ 1) '" I an hI I ~ " . I~ ~


-
JJ I

)(

General ii, Lectura! Escritura 1- I[LJJ[xl


......................................
~G ......................................
......................................
......................................
......................................
AJ8bi PuertoHex ValorHex-Dec ::. .
D-.J I I
.......
:

. . . . . . .. .. .. .... l.
....... Leer
.......
. ... ... Escribir 1 1
. ... ................... ... ............
. ... ................... ... ............
. ... ................... ... ............
. ... ................... ... ............
. ... ................... ... ............
~, :¡ ......................................
......................................
V '-=' ......................................
......................................
CJ~ . -.
61'

Después de renombrar los objetos, en la vista de código escribiremos el 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 ejecutar la aplicación se deberán tener las siguientes consideraciones:

1. En el campo del Puerto se deberá de escribir la dirección en hexadecimal,


por lo tanto, hay que escribir el número 378
2. En el campo de Valor, también se escribirá con números hexadecimales
3. Con estos datos se podrá escribir un byte al puerto
4. Para leer datos del puerto paralelo, basta con indicar la dirección del puerto
que, en este caso, será el 378
5. El número que regresa la función aparecerá en el campo de Valor, sólo que
hay que tomar en cuenta que el dato será un número decimal.
6. Hago un llamado a la creatividad personal de los estudiantes y personas
interesadas en el tema en hacer los cambios necesarios y poder leer en el
cuadro de texto números hexadecimales.

Pág. 117
EL ASC DE LA MECATRÓNICA

Capítulo11

Integración
deprovectos

Pág.
119
EL ASC DE LA MECATRÓNICA

Integración
deprovectos

DEFINICiÓN

Una vez descubiertos todos los secretos del diseño y programación de la interfaz,
ahora podemos desarrollar múltiples aplicaciones que nos ayudarán a unir, como
se comentaba al principio, el mundo de la electrónica con el mundo de la
programación y el control.

A continuación se ofrece una lista de proyectos, ya desarrollados, con los que se


podrán adquirir experiencia en el uso y diseño de aplicaciones mecatrónicas
usando la interfaz de puerto paralelo o de cualquier otro tipo de formato de
comunicación, ya que los diseños electrónicos no son sensibles a este formato.

En el CD del libro se encuentra la codificación sugerida para el control de los


diferentes proyectos, combinando entre soluciones programadas en lenguaje C y
otras en lenguajes del Microsoft Visual Studio (Visual Basic y Visual C++).

También se podrán adquirir los proyectos propuestos en forma de productos


comerciales o KITS, en los que se incluyen todos los componentes electrónicos
necesarios, una tarjeta de circuito impreso que permitirá una fácil manipulación y
operación del diseño electrónico y un instructivo de armado.

RECOMENDACIONES PARA ENSAMBLAR Y SOLDAR LOS KIT DE PROYECTOS

Para ensamblar con éxito los componentes electrónicos en las tarjetas de circuito
impreso hay que tomar en cuenta las siguientes recomendaciones, que describen
los procedimientos para preparar, soldar y probar los kits de proyectos. Con las
herramientas adecuadas y un poco de paciencia se podrá llevar con éxito este
trabajo.

1 - Herramientas básicas:
· Cautín tipo lápiz de 30 watts
· Pequeño trapo de tela para limpieza e
· Pinza de punta pequeña
· Pinza de corte
· Desarmador de relojero
· Soldadura de estaño, 1mm 60/40, con alma de resina.

2 - Garantizar que se cuenta con todos los componentes indicados en el


instructivo de cada kit.

Pág. 120
EL ASC DE LA MECATRÓNICA

Una vez cumplidos los pasos anteriores, se procederá al armado, para lo cual se
seguirán los siguientes pasos:

1. Conecte el cautín a la corriente alterna para que inicie su calentamiento

2. Ubique la distribución de los componentes tomando como referencia la guía


de componentes que se presenta en la placa de circuito impreso y en los
instructivos de cada kit.

3. Doble los terminales de los componentes (cuando sea necesario) para


lograr una correcta inserción en la placa de circuito impreso.

4. Inserte los componentes siguiendo el orden, posición y sentido indicado en


los instructivos de cada kit.

5. Compruebe que el cautín tiene la temperatura correcta. Una forma de


comprobarlo es tocar la punta con la soldadura de estaño; si la soldadura
se derrite inmediatamente, entonces la temperatura es correcta. Limpie la
punta del cautín con el trapo de tela previamente humedecido con agua y
ya está listo para soldar.

6. Caliente la unión del componente con la placa de circuito impreso solo un


par de segundos, ya que el exceso de temperatura puede dañar la placa de
circuito impreso y/o el componente.

7. Toque la punta del cautín con el extremo de la soldadura de estaño sin


retirar el cautín de su posición actual. Cuando el estaño se derrita sobre la
placa de circuito impreso, retire inmediatamente la soldadura de estaño y el
cautín de la placa de circuito impreso. Deje enfriar el punto soldado varios
segundos.

8. Corte el excedente de la terminal del componente en caso de ser necesario.

9. Por último revise que la soldadura de estaño haya quedado en forma


uniforme en el punto soldado. Una buena soldadura debería verse como un
pequeño cono de estaño rodeando completamente la unión de la terminal
del componente con la placa de circuito impreso.

10.El acabado de la soldadura debe tener un aspecto brillante, de no ser así,


significa que se ha realizado una soldadura fría. El peligro de la soldadura
fría es el hecho de que pueden quebrarse y realizar falsos contactos en un
futuro.

11.Puede ser normal que alrededor del punto soldado quede una pequeña
mancha amarilla. Esto es el resto de la resina que trae la soldadura de

Pág. 121
EL ASC DE LA MECATRÓNICA

estaño en su interior. Para removerla raspe suavemente la mancha con el


desamador de relojero.

CONTROLADOR DE UN DISPLAY DE 4 DíGITOS

Es divertido mostrar los números en un display de 7 segmentos, pero es más


divertido programar cuatro dígitos por medio de la computadora, lo que nos
permitiría manejar cantidades desde O hasta 9999.

Este proyecto permite controlar perfectamente cuatro displays de siete segmentos


usando un solo decodificador y simulando por software el multiplexor, el cual será
el componente que seleccione el dígito con el número indicado en el codificador.

El diseño electrónico consiste en cuatro displays de 7 segmentos, un


decodificador, cuatro transistores los cuales son usados como interruptores
electrónicos para prender/apagar cada dígito y elementos pasivos de polarización.

lSB

L:CODIFICADOR

¡Ill::::
-
- -
1

MSB
I
I 1 1I I
1

- I 111
-
I- I I- I I- I I- I
I-. I I-. I I-. I I-. I
4 I 3 I 2 I 1

El algoritmo se puede describir de la siguiente forma:

Con un bus de datos de 8 bits se pueden prender hasta cuatro dígitos, ya que los
cuatro bits menos significativos pueden indicar el número deseado a través del
decodificador, y los cuatro bits más significativos seleccionarán, en forma directa,
el dígito deseado.

De esta forma, para prender algún dígito basta con mandar el número deseado al
decodificador y el bit de selección del dígito. Por ejemplo, para prender el segundo
dígito con el número cuatro, el byte de datos debería ser 0010 0100. Para prender
los cuatro dígitos con el número tres, el byte de datos sería 11110011.

Pág.122
EL ASC DE LA MECATRÓNICA

Una vez aclarados estos conceptos, ahora mediante el uso de la programación es


posible presentar el número que se quiere.

Para mostrar el número 1234, se tendrá que programar la salida de la siguiente


secuencia de bytes, considerando que si la velocidad en la repetición del ciclo no
es suficiente, esto podría causar un parpadeo de los dígitos.

1000 0001
01000010
00100011
0001 0100

Esto puede ser tan simple como se ha presentado. El kit K-405 contiene los
componentes necesarios para armar, probar y programar el proyecto. En el CD del
libro hay varios ejercicios de programación codificados en lenguaje e y también en
lenguaje ensamblador para microprocesadores Intel de la familia x86.

CONTROL V PROGRAMACiÓN DE UN SEMÁFORO

Un semáforo es un dispositivo muy común en las calles de cualquier ciudad. Pero


al programarlo, nos daremos cuenta que no es un proceso tan obvio. El proyecto
se puede complicar un poco si queremos programar un crucero que incluya por lo
menos dos sentidos, señales de vuelta y un botón para que los peatones puedan
detener la circulación y cruzar al otro lado.

El kit K-41O contiene los componentes necesarios para armar, probar y programar
una simulación de este proyecto. En el CD del libro hay varios ejercicios escritos
en lenguaje e que permiten simular las siguientes operaciones:
. semaf1.c activa un semáforo en forma normal
. semaf2.c activa un semáforo con aviso de cambio de luz
. semaf3.c activa un crucero en forma normal
. semaf4.c activa un crucero con aviso de cambio de luz
. semaf5.c activa un crucero con botón de peatones para cruzar
. semaf6.c activa un crucero con botón de peatones para cruzar y con
aviso de cambio de luz

Pág. 123
EL ASC DE LA MECATRÓNICA

R
I I
A
LSB 11 , I I r--
v

MSB
11 FtCh
. III
I-

CONTROL DE RELEVADORES

Las computadoras manejan electrónica digital de baja potencia. Para conectar y


controlar circuitos de mayor potencia, los relevadores son una buena opción. Los
relevadores son interruptores electro-magnéticos que, con poco voltaje y corriente,
son activados y a través de sus contactos mecánicos podemos hacer pasar mucha
más potencia de la que maneja una computadora digital.

Este proyecto permite controlar perfectamente cuatro relevadores usando cuatro


bits de control, uno para cada relevador. El diseño electrónico consiste en cuatro
relevadores, cuatro transistores los cuales son usados como interruptores
electrónicos para activar/desactivar cada relevador y elementos pasivos de
polarización.

El algoritmo se puede describir de la siguiente forma:

LSB

:- -~ ~ :- -~--- - :-
MSB .
I \ANJ '
I
:-I1JV\JV
I
~-r: I
.
I \ANJ ~
'
'
,
I
-~
\ANJ' ~
.
~<>
I
+~ .
~<> I
+~ I
~<>
I
+~ I
~<>
I +~ '
1 1 , 1

De esta forma, para activar algún relevador basta con mandar el bit deseado a la
interfaz. Por ejemplo, para activar el tercer relevador, el byte de datos debería ser
0000 0100. Para activar los cuatro relevadores, el byte de datos sería 0000 1111.

Pág. 124
EL ASC DE LA MECATRÓNICA

Una vez aclarados estos conceptos, ahora mediante el uso de la programación es


posible activar la secuencia deseada de relevadores, o programar diferentes
tiempos de activación.

El kit K-415 contiene los componentes necesarios para armar, probar y programar
el proyecto. En el CD del libro se presenta un ejercicio programado en un lenguaje
visual (MS Visual Basic) que permite controlar los relevadores.

ADQUISICiÓN DE DATOS A TRAVÉS DE UN CONVERSOR ANALÓ GICO-DIGITAL

El mundo de las computadoras es digital, sólo entienden dos estados, los famosos
unos y ceros.

El mundo real es analógico, es decir, sus valores son continuos y se encuentran


en diferentes rangos de valores.

La forma de comunicar estos dos mundos es a través de un conversor analógico-


digital, el cual permitirá a la computadora tener información del mundo real y, de
un conversor digital-analógico, lo que permitirá a la computadora mandar
información al exterior.

El kit K-420 contiene los componentes necesarios para armar, probar y programar
este proyecto que abre las posibilidades de adquisición de datos de dispositivos
de la vida real.

La electrónica de este proyecto es simple en cuanto al número de componentes,


ya que sólo contiene un circuito integrado ADC y un oscilador hecho con una
resistencia y un condensador.

LSB

A/D 11010011

MSB

Según el número de bits de salida, será la capacidad del conversor, ya que a


mayor número de bits, la resolución y el rango de amplitud de la señal a manejar
serán mayores. En caso de usar 4 bits, solamente se podrán distinguir 16 valores
en el rango total de amplitud de la señal analógica.

Pág. 125
EL ASC DE LA MECATRÓNICA

La operación de los conversores analógico-


digitales se basa en dos características, que
son el circuito de muestreo de la señal y el
módulo de conversión.

En la parte superior de la figura que se


muestra a la izquierda, se ve la señal que se
quiere convertir. En la parte central se
representa el circuito de muestreo que
tomará una muestra de la señal con una
frecuencia fija. En la parte inferior se ven los

. valores recolectados por el circuito de


muestreo que simula la señal original,
incluyendo solamente los valores
muestreados.
n

PROBADOR DE CABLES DE RED

Las redes de computadoras cada vez ofrecen mas servicios y beneficios, por lo
que su uso se ha ampliado en las empresas así como en los hogares. En los
últimos 25 años su desarrollo ha llegado a tal punto que ahora se denominan
redes convergentes, es decir, a través del mismo cableado de red se transmiten
datos, voz y video.

Aunque las tecnologías inalámbricas tienen un buen. desarrollo, el cableado


estructurado y de conexión con las computadoras y periféricos, sigue siendo el
pilar de las redes de computadoras.

El probador de cables propuesto, está diseñado para que mediante el escaneo de


las terminales del cable, se pueda probar y determinar, en una forma muy rápida,
la continuidad, desconexión y/o correcta polarización de los pares trenzados del
cable. En el ejercicio propuesto hasta el momento, se ha desarrollado el algoritmo
para probar los siguientes estándares:

· Ethernet 10Base-T
· EIAlTIA-568A, EIAlTIA-568B
· Cable Cruzado

Pág. 126
EL ASC DE LA MECATRÓNICA

PR2

~
PRJ
A rA'IA PR4

Ethernet 10Base-T EIAlTIA.568A EIAlTIA.568B

Este algoritmo se basa en criterios comunes para el reconocimiento de la


continuidad entre los dos extremos del cable y posteriormente la determinación
exacta de su configuración o, en su defecto, la detección de fallas de parcheo. En
forma descriptiva se puede enunciar de la siguiente forma:

1. Determinar la continuidad entre las terminales, lo que indicará una


posibilidad de configuración. Si se detecta continuidad entre todas las
terminales del conector, se puede descartar la posibilidad de una
configuración Ethernet 10Base-T y suponer alguna de las otras dos
configuraciones posibles, EIA/TIA 568A/B, o de cable cruzado.

2. Si la continuidad se registra entre todas las terminales, se analiza la


polaridad de las terminales necesarias para distinguir si el cable es cruzado
o no.

3. Una vez confirmada alguna posible configuración, se analiza la continuidad


y polaridad de cada una de las terminales del conector para garantizar la
correcta configuración y parcheo del cable.

4. En caso de coincidir las mediciones con la definición de la configuración, se


despliega el mensaje en pantalla confirmando la configuración detectada
del cable, de lo contrario se despliega el error o errores detectados.

5. En caso de identificar alguna continuidad entre los conectores, pero no


identificar la configuración, se desplegará el mensaje de cable no
reconocido.

El kit K-425 contiene los componentes necesarios para armar, probar y programar
este proyecto que abre las posibilidades de medición de cables con
configuraciones muy diversas. Este kit incluye un CD con una aplicación visual
que muestra la identificación de las configuraciones propuestas.

Pág. 127

También podría gustarte