ABC de La Mecatrónica - Steren
ABC de La Mecatrónica - Steren
ABC de La Mecatrónica - Steren
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
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
Capítulo1
Mecatrónica
Pág.!
EL ASC DE LA MECATRÓNICA
Mlealrónica
DEFINICiÓN
Sistema
Entrada Salida
Pág. 2
EL ASC DE LA MECATRÓNICA
SISTEMAS DE MEDICiÓN
------------------
------------------
------------------
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.
On-Off
11",
'. \ "
'1 \ ,
" \ "
"
I I
\\ , ,
------------------
Toma de agua
------------------
------------------
Pág. 4
EL ASC DE LA MECATRÓNICA
Comparador
Entrada Salida
Sistema
Señal de
error
Retroalimentación
Pág. 5
EL ASC DE LA MECATRÓNICA
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
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 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
Pág. 8
EL ASC DE LA MECATRÓNICA
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.
, L-
Ve RI I VI
} V2
Pág.9
EL ASC DE LA MECATRÓNICA
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.
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
CA
Núcleo
SENSORES DE LUZ
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
INTERRUPTORES
TRANSDUCTORES DE PRESiÓN
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.
Pág. 13
EL ASC DE LA MECATRÓNICA
Acondicionamiento
deseñalesanalóuicas
DEFINICiÓN
EL TRANSISTOR
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
NPN PNP
Pág. 17
EL ASC DE LA MECATRÓNICA
r---r-- +9V
En el diagrama se muestran las dos rutas
de corriente, lB e le que se logran con
Pág. 18
EL ASC DE LA MECATRÓNICA
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
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
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
Integrador Ideal
Derivador ideal
Vout
-
Pág. 21
EL ASC DE LA MECATRÓNICA
FILTROS ANALÓGICOS
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:
~
2. Filtro pasa altas
Permite el paso de señales desde una frecuencia
O hasta la frecuencia de corte establecida
3. Filtropasa banda
Permite el paso de señales dentro de un rango
superior e inferior de frecuencias
Pág. 22
EL ASC DE LA MECATRÓNICA
Los filtros también se clasifican en pasivos y activos. Los filtros pasivos están
formados por resistencias, condensadores y bobinas.
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.
CONVERSORES ANALÓGICO-DIGITALES
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.
23 22 21
8 4 2
Bit 3 Bit2 Bit1
1 1 o o
La comprobación de 8 + 4 confirma que la conversión fue correcta.
Pág. 24
EL ASC DE LA MECATRÓNICA
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 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
Así se puede mostrar la equivalencia de los números decimales, como por ejemplo
el 2,575.
2°
BitO
Pág. 28
EL ASC DE LA MECATRÓNICA
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.
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.
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
15 SI US / ¿ O o DEL
OPERACIONES ARITMÉTICAS
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
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
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'.
A B e
O O O
O 1 O
1 O O
1 1 1
Pág. 32
EL ASC DE LA MECATRÓNICA
C=A+B
A B C
O O O
O 1 1
1 O 1
1 1 1
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
A B C
O O O
O 1 1
1 O 1
1 1 O
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.
COMPUERTAS LÓGICAS
Pág. 34
EL ASC DE LA MECATRÓNICA
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
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
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
Por lo tanto, vale la pena revisar los fundamentos de operación de los motores que
nos permitan introducimos en este fascinante tema.
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.
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
- -
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
-$- 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
ellD
Bobina
2
pasos de maneja con dos Puentes H.
+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
-
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
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
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
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.
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.
Pág. 45
EL ASC DE LA MECATRÓNICA
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.
Pág. 48
EL ASC DE LA MECATRÓNICA
E/S Procesador
Entrada
Memoria
Instrucciones de
Salida Control
programa
y
Datos
ARQUITECTURA DE MICROPROCESADORES
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
.
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.
Pág. 50
EL ASC DE LA MECATRÓNICA
Registro de banderas
31 O
BANDERAS
31 Apuntador de instrucciones O
IP
Pág. 51
EL ASC DE LA MECATRONICA
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.
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".
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é.
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)
Pág. 54
EL ASC DE LA MECATRÓNICA
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.
Pág. 55
EL ASC DE LA MECATRÓNICA
PUERTOS
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.
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.
Pág. 58
EL ASC DE LA MECATRÓNICA
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.
Pág. 59
EL ASC DE LA MECATRÓNICA
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
Pág.60
EL ASC DE LA MECATRÓNICA
-A ~
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
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 ~
- G=100 108 ~
PROGRAMACiÓN
· Algunas veces las rutinas escritas en ensamblador pueden ser más rápidas
en comparación a las creadas por el compilador.
Pág. 62
EL ASC DE LA MECATRÓNICA
INSTRUCCIONES BÁSICAS
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
OPERACIONES DE CORRIMIENTO
OPERACIONES DE COMPARACiÓN
Pág. 63
EL ASC DE LA MECATRÓNICA
JMP Salto
CALL Llamada a subrutina
RET Regresa, fin de subrutina
IN Lectura de puertos
OUT Escritura de puertos
CONTROL DE CICLOS
LOOP Ciclo
LOOPNZ Ciclo si bandera cero
Pág.64
EL ASC DE LA MECATRÓNICA
Pág. 65
EL ASC DE LA MECATRÓNICA
:'>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
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:
Pág. 68
EL ASC DE LA MECATRÓNICA
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
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.
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
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
return(O);
}
main()
{
int num; /* definiciónde la variablenum*j
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.
ESTRUCTURA DE DATOS
Pág. 72
EL ASC DE LA MECATRÓNICA
Función printf
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
Operadores aritméticos
+ Suma
Resta
*
Multiplicación
I División
% Módulo, resto de la división entera
Operadores relacionales
Pág.74
EL ASC DE LA MECATRÓNICA
Operadores lógicos
&& AND
11 DR
NDT
Operadores de asignación
identificador = expresión
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;
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;
Sentencia for
main O
{
int valor;
for (valor=O;valor <100; valor++)
printf("%d\n", valor);
}
Sentencia while
while (expresión)
sentencia;
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);
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
}
FUNCIONES
return (expresió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
return (expresión);
}
Llamadas a funciones
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 ú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
_as m {
mnemónico (destino, origen)
En caso de que el código ensamblador sea una sola línea, se pueden evitar los { }
mov ah,OO
mov al,03
int 10
}
}
Pág. 80
EL ASC DE LA MECATRÓNICA
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
Etiquetas
_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
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.
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 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.
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.
· Acceso a la API Win32 del sistema operativo, tenie ndo acceso a funciones
más avanzadas de programación
Por lo tanto, desarrollar una aplicación para Windows usando Visual Basic suele
implicar tres pasos generales:
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.
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 ~
.........
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
_",¡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.
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.
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++
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).
· Interfaz para múltiples documentos que permite crear una aplicación con
diferentes ventanas (MOI, Multiple Document Interface)
Pág.90
EL ASC DE LA MECATRÓNICA
Archivos fuente
AppWizard Aplicación
Archivos de recursos
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
Pág. 93
EL ASC DE LA MECATRÓNICA
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\
¡1"1íi' - 00', JI
+ I Código generado por el Diseñador de 1Jindow3 Forms I - Explora... Vista I
de...I Buscar I
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
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.
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
~
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.
Pág. 99
EL ASC DE LA MECATRÓNICA
E/S Procesador
Entrada
Memoria
Salida Control
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.
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 señales del conector tipo OB25 que tienen las computadoras para
comunicación del puerto paralelo se muestran en la siguiente figura:
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
1,0..h
I _
~~
~...,. I
LPT1 378H 379H 37AH
LPT2 278H 279H 27AH
LPT3 3BCH 3BDH 3BEH
Configuración de recursos:
ConfiguraciÓn
basada en: ConfiguraciÓn- -.actual
-. - - - -
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.
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.
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
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.
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
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.
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
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.
PROGRAMACiÓN DE LA INTERFAZ
OR Operación booleana OR
Pág. 106
EL ASC DE LA MECA TRÓNICA
Pág. 107
EL ASC DE LA MECATRÓNICA
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>
main()
{
intentrada;
escribicpuerto(888,100);
entrada = leecpuerto(888);
return(O);
}
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 );
}
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.
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++.
Pág. 109
EL ASC DE LA MECA TRÓNICA
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.
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
Jj~ EJle ~dit :íjew lnsert ~oject liuild 100ls !tl)ndow !:!elp
jJ ~ ~ ...
I CI1 I db ~ el!? ~~ ~~ "r
'" ~ '" I I
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:
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);
}
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
Pág. 113
EL ASC DE LA MECA TRÓNICA
Así queda programada la librería, que ahora tendrá que copiarse en la carpeta
c:\windows\system32
para su posterior uso.
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...
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)
'Rutinasdecomunicaciónal puertoparalelo:LECTURA
Y ESCRITURA
'1111***11111111111******1111111111111111111***********1*****************11111*11111***
'Lecturadel puerto
inp = InPort(Val("&h"+valor))
EndFunction
Pág. 115
EL ASC DE LA MECA TRÓNICA
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.
)(
. . . . . . .. .. .. .... l.
....... Leer
.......
. ... ... Escribir 1 1
. ... ................... ... ............
. ... ................... ... ............
. ... ................... ... ............
. ... ................... ... ............
. ... ................... ... ............
~, :¡ ......................................
......................................
V '-=' ......................................
......................................
CJ~ . -.
61'
PrivateSubcmdEscribir_Click(}
outtxtPuerto.Text,
txtValor.Text
EndSub
PrivateSubcmdLeecClick(}
txtValor.Text=inp(txtPuerto.Text)
EndSub
Pág.116
EL ASC DE LA MECATRÓNICA
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.
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.
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:
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
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
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
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.
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
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
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.
El mundo de las computadoras es digital, sólo entienden dos estados, los famosos
unos y ceros.
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.
LSB
A/D 11010011
MSB
Pág. 125
EL ASC DE LA MECATRÓNICA
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.
· Ethernet 10Base-T
· EIAlTIA-568A, EIAlTIA-568B
· Cable Cruzado
Pág. 126
EL ASC DE LA MECATRÓNICA
PR2
~
PRJ
A rA'IA PR4
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