Вы находитесь на странице: 1из 31

1

UNIVERSIDAD MAYOR DE SAN ANDRES


FACULTAD DE INGENIERIA
INGENIERIA ELECTRONICA
ETN-903



I N F O R M E F I N A L
T A C O M E T R O



Docente: Ing. Juan Carlos Avils
Participantes:
1.- Ramiro Torrez Cabrera
2.- Henry Damian Marin Llanos


La Paz, 11 de Abril de 2013




2


TACOMETRO DIGITAL
RESUMEN DEL PROYECTO
1.- ANTECEDENTES
2.- FORMULACIN DEL PROBLEMA
3.- OBJETIVOS
Objetivo General
Objetivos Especficos
4.- JUSTIFICACION
5.- ALCANCES Y LMITES
6.- OBSERVACIONES

3

INFORME: TACOMETRO DIGITAL
1.- ANTECEDENTES
1.1.- LA MEDICION.- Es un proceso de reconocimiento que se reduce a la
comparacin, mediante un experimento fsico, de una magnitud dada con un valor
de esta magnitud elegido como unidad.
Las unidades se dan por acuerdos internacionales y en general, siempre que ello
sea posible, se materializan en condiciones rigurosamente establecidas.
Esta materializacin de la unidad recibe el nombre de patrn, el cual, debe ser lo
mas exacto, constante y reproducible.
El desarrollo de la ciencia esta relacionado con el desarrollo de las tcnicas de
medicin.
Las teoras pueden ser conformadas solo con las mediciones. Es inevitable que un
ingeniero tenga que realizar mediciones utilizndolas como medio para obtener
una determinada informacin o para investigaciones cientficas.
El ingeniero, el tcnico y el investigador, deben estar familiarizado a fondo con los
instrumentos, los mtodos y las tcnicas de medicin.
La compleja determinacin de una magnitud exige, la indicacin del valor
numrico y de la unidad empleada. Un ingeniero debe estar claro con respecto a
lo que representan las mediciones a realizar y la referencia que se tiene en cada
clase de medicin.
Las unidades fsicas estn relacionadas entre si por ecuaciones. Muchas de estas
ecuaciones expresan solamente la homogeneidad de dos magnitudes. En cambio
otras expresan leyes universales de la fsica y permiten definir nuevas magnitudes.
En el estudio de las leyes que gobiernan los fenmenos fsicos se reconocido
desde hace siglos, que de las distintas magnitudes son pocas las que tienen que
considerarse independientes. En principio tres magnitudes se consideraron como
completamente independientes entre si e irreducibles como son: la longitud, la
masa y el tiempo, establecindose de esta manera como magnitudes
fundamentales. As con base a un sistema de solo tres unidades fundamentales se
desarrollo la interpretacin de todos los fenmenos fsicos establecindose sus
correlaciones y leyes.

1.2.- TRMINOS RELACIONADOS CON LA CALIDAD DE LA LECTURA.- La
fineza con la cual, una variable pude ser medida depende de una cantidad de
factores. La longitud de la escala y el nmero de graduaciones de la escala
incluyen notablemente en la calidad de la observacin. Obviamente una escala
muy grande y un nmero grande de las graduaciones de la misma escala
resultaran en ms precisin y exactitud en la observacin. Los siguientes trminos
son algunos involucrados en la observacin:

1.2.1. Resolucin (Resolution): es el menor incremento que puede ser detectado
con certidumbre entre dos unidades de medida discretas, o es el menor cambio en
la entrada que se puede medir. La resolucin puede ser expresada en unidades
de la variable medida o en porcentaje del fondo escala, del alcance, etc.

1.2.2. Sensibilidad (Sensitivity): es la razn entre el incremento de la lectura y el
incremento de la magnitud que lo ocasiona, despus de haber alcanzado el estado
4

de reposo. En general, es la pendiente de la curva de calibracin. Se pueden
observar los siguientes ejemplos:

1.3.- TACOMETRO.- Un tacmetro (del griego , tachos, velocidad y
, metron, medida) es un dispositivo que mide la velocidad de giro de un
eje, normalmente la velocidad de giro de un motor. Se mide en revoluciones por
minuto (RPM). Actualmente se utilizan con mayor frecuencia los tacmetros
digitales, por su mayor precisin.




1.4.- FUNDAMENTOS DE GRUPOS ELECTRGENOS

1.4.1.- GENERALIDADES.- Cada vez que encendemos una bombilla, un televisor
o cualquier otro aparato de funcionamiento elctrico, estamos haciendo uso de
una de las fuentes de energa ms apreciadas e importantes que el ser humano
haya podido concebir, y es que sin la energa elctrica la civilizacin ya no sera lo
que es en la actualidad; progreso y calidad de vida, hoy en da son las centrales
elctricas las que generan electricidad para el uso del hogar, de infraestructuras e
industrias, la energa elctrica, tal y como la conocemos hoy, la producen grandes
alternadores de corriente alterna instalados en centrales elctricas, y estas, a su
vez, necesitan otro tipo de energa (mecnica) que contribuya al movimiento del
alternador. en muchas ocasiones la demanda es tan grande que, en determinadas
circunstancias, se hace uso de mquinas que suplen este dficit o, por otra parte,
cuando hay un corte en el suministro elctrico; a estas mquinas se las conoce
como grupos electrgenos o de emergencia, son mquinas que mueven un
generador a travs de un motor de combustin interna.

1.4.2.- QUE UTILIDAD TIENE UN GRUPO ELECTRGENO?
Una de las utilidades ms comunes es la de generar electricidad en aquellos
lugares donde no hay suministro elctrico, generalmente son zonas apartadas con
pocas infraestructuras y muy poco habitadas, otro caso sera en locales de pblica
5

concurrencia, hospitales, fbricas, etc.,que a falta de energa elctrica de red,
necesiten de otra fuente de energa para abastecerse.

1.4.3.- PARTES CONSTITUTIVAS

Un grupo electrgeno consta de las siguientes partes detalladas a continuacin:

1.4.3.1.- Motor Diesel.- El motor Diesel que acciona el Grupo Electrgeno ha sido
seleccionado por su fiabilidad y por el hecho de que se ha diseado
especficamente para accionar Grupos Electrgenos, la potencia til que se quiera
suministrar nos la proporcionar el motor, as que, para una determinada potencia,
habr un determinado motor que cumpla las condiciones requeridas.
El motor representa nuestra fuente de energa mecnica para que el alternador
gire y genere electricidad, existe dos tipos de motores: Motores de gasolina y de
gasoil (diesel), generalmente los motores Diesel son los ms utilizados en los
Grupos Electrgenos por sus prestaciones mecnicas, ecolgicas y econmicas.

1.4.3.2 Regulacin del motor.- El regulador del motor es un dispositivo mecnico
diseado para mantener una velocidad constante del motor con relacin a los
requisitos de carga, la velocidad del motor est directamente relacionada con la
frecuencia de salida del alternador, por lo que cualquier variacin de la velocidad
del motor afectar a la frecuencia de la potencia de salida.

1.4.3.3.- Sistema elctrico del motor.- El sistema elctrico del motor es de 12
Vcc, excepto aquellos motores los cuales son alimentados a 24 Vcc, negativo a
masa, el sistema influye un motor de arranque elctrico, unas bateras libres de
mantenimiento (acumuladores de plomo), sin embargo, se puede instalar otros
tipos de bateras si as se especifica, y los sensores y dispositivos de alarmas de
los que disponga el motor. Normalmente, un motor dispone de un monocontacto
de presin de aceite, un termocontacto de temperatura y de un contacto en el
alternador de carga del motor para detectar un fallo de carga en la batera.

1.4.3.4.- Sistema de refrigeracin.- El sistema de refrigeracin del motor puede
ser por medio de agua, aceite o aire, el sistema de refrigeracin por aire consiste
en un ventilador de gran capacidad que hace pasar aire fro a lo largo del motor
para enfriarlo, el sistema de refrigeracin por agua /aceite consta de un radiador,
un ventilador interior para enfriar sus propios componentes.

1.4.3.5 Alternador.- El generador se conoce tambin como ALTERNADOR puesto
que la salida suministra potencia de corriente alterna, el generador de un grupo
electrgeno es la maquina que convierte la energa mecnica rotativa del motor
diesel en energa elctrica, mediante fenmenos de induccin electromagntica.

1.4.3.6.- Depsito de combustible y bancada.- El motor y el alternador estn
acoplados y montados sobre una bancada de acero de gran resistencia, la
bancada incluye un depsito de combustible con una capacidad mnima de 8
horas de funcionamiento a plena carga.

6

1.4.3.7 Silenciador y sistema de escape.- El silenciador de escape va instalado
en el Grupo Electrgeno, el silenciador y el sistema de escape reducen la emisin
de ruidos producidos por el motor.

1.4.3.8 Sistema de control.- Se puede instalar uno de los diferentes tipos de
paneles y sistemas de control, para controlar el funcionamiento
y salida del grupo y para protegerlo contra posibles fallos en el funcionamiento, el
sistema de control consta de un regulador automtico del voltaje, circuitos de
proteccin y los instrumentos necesarios para poder controlar la salida del Grupo
Electrgeno.


1.4.4.- Funcionamiento.-




La energa elctrica producida por el grupo electrgeno proviene de un sistema de
bucle cerrado que consiste principalmente en el rotor inductor, el campo de
induccin giratorio y el regulador automtico, el proceso comienza cuando el motor
empieza a girar los componentes internos del alternador, el magnetismo
remanente en el rotor principal produce un pequeo voltaje alternante en el estator
principal, el regulador automtico de voltaje (AVR [RAV]) rectifica este voltaje y lo
aplica al estator de excitacin, esta corriente continua en el estator de excitacin
crea un campo magntico que, a su vez, induce un voltaje en corriente alterna en
el rotor de excitacin. Este voltaje en C.A. (corriente alterna) se convierte otra vez
en C.C. (corriente continua) por medio de los diodos giratorios (conjunto
rectificador), cuando este voltaje de C.C. aparece en el rotor principal, se crea un
campo magntico ms fuerte que el campo remanente original lo que induce un
voltaje mayor en el estator principal, este mayor voltaje circula a travs del sistema
induciendo an mayor voltaje c.c. de vuelta al rotor principal, este ciclo se repite
para acumular un voltaje prximo al nivel de salida adecuado del grupo
7

electrgeno, en este punto el regulador automtico de voltaje comienza a limitar el
voltaje que pasa al estator de excitacin que, a su vez, limita la potencia total de
salida del alternador.

1.5.- PROTECCIONES GRUPOS ELECTRGENOS
1.5.1.- PROTECCIONES AL MOTOR.- Si consideramos que el motor diesel es
una mquina de gran calado, tambin debemos considerar su costo econmico,
dicho costo no solo involucra una gran invers in inicial, si no tambin una
responsabilidad por parte de quien o quienes lo adquieren, en tal virtud se deben
tomar ciertas consideraciones y ciertos aspectos para garantizar su buen
funcionamiento, evitar daos materiales en el mismo, y salvaguardar a la mquina
como tal, evitando de una u otra forma un dao irreparable en la misma, o lo que
es peor, una prdida total de la mquina.
La proteccin mnima para un grupo electrgeno debe incluir la parada del motor
por:

Sobrevelocidad

Alta temperatura del refrigerante (Agua)

Baja presin de aceite lubricante

Si el arranque es automtico, debe existir proteccin contra el arranque o arrastre
excesivo denominado en ingles OVERCRANK.
El Sistema de proteccin y alarmas del motor debe realizar dos acciones bsicas:
Parar el motor y, en casos especiales, abrir el interruptor automtico del generador

Producir una seal de alarma que anuncie y especifique la falla

1.5.1.2.- Sobrevelocidad.- Uno de los parmetros importantes a controlar en el
motor es la velocidad, la misma que no debe variar, tanto en vaco como con
carga.-Por un instante imaginemos una sobre velocidad de un motor diesel de 810
HP, o lo que es peor an, un envaramiento de dicho motor, suponiendo que la
velocidad nominal de dicho motor es de 1800 R.P.M, imaginar el hecho que
progresivamente esas 1800 R.P.M van aumentando hacia el infinito, es
indiscutible que dicha anomala producir daos irreparables en el motor.
En tales circunstancias es imprescindible que exista una proteccin contra sobre
velocidad en el motor Diesel, que indirectamente es al Grupo Electrgeno en si.
En esta ocasin nos referiremos al sistema de proteccin contra sobre velocidad
que maneja PETROPRODUCCION

1.5.1.3.- Envalamiento.- Subida progresiva de velocidad sin control hacia el
infinito

1.5.1.4.- Rel de Sobrevelocidad (OSM).- Es un mdulo de estado slido que
detecta indirectamente las RPM del motor en conjunto con un dispositivo
magntico (sensor o pick -up) Si la velocidad del motor aumenta ms del 18% del
promedio de 1800 RPM el contacto se cierra y el motor es parado.
8

En algunos motores tambin ser activado un grupo de cierre de aire.

1.5.1.4.- Figura1.- Muestra un Rel de Sobrevelocidad (OSM)
El mdulo de Sobrevelocidad es de DYNALCO controls, el modelo es SW-200B y
a continuacin las especificaciones tcnicas ms importantes a considerarse




Alimentacin: 9 40 Vdc 300 mA mx
Entrada: Sensa la seal de frecuencia proveniente del pick-up
Mnima seal de entrada: 50 mVrms para frecuencias anteriores a 1KHz, 0.4
Vrms para frecuencias hasta 11 KHz
Mxima seal de entrada: 70 Vrms

1.5.1.5.- Figura 2.- Vista Frontal del OSM
La frecuencia de entrada para el mdulo de sobrevelocidad puede ser calculada
aplicando la frmula:


Si trabajamos con una velocidad nominal de 1800 r.p.m., el 118% de la misma es
2124 R.P.M. y si vemos en la frmula 60 es constante, entonces la variable es el
numero de dientes del volante del motor, dicho nmero depende del modelo del
motor, para lo cual existe una tabla especfica que proporciona Caterpillar, en la
cual nos da el nmero de

dientes del volante del motor de acuerdo al modelo, e inclusive la frecuencia del
pick-up o de sobrevelocidad mencionada arriba.



9


1.6.- MDT-2238A TACOMETRO FOTO/CONTACTO MINIPA.- Instrumento digital
porttil, con display de 5 dgitos, precisin bsica de 0.05%+1D y registro de
mximo, mnimo y lectura actual y cambio de faja automtica.
Realiza medidas de RPM por medio foto-elctrico y por contacto y medidas de
velocidad de superficie en
m/min. Incluye gran variedad de accesorios adaptadores.

1.6.1.- Descripcin Tcnica:
Modelo: MDT-2238A
Display: LCD 5 dgitos con lectura mxima de 99999.
Taza de Muestra: 0.5 segundo (encima 120 RPM).
Indic. De Batera baja: Indicacin Smbolo de Batera ser mostrado cuando la
tensin de la batera por debajo de la tensin de operacin.
Memorizacin de los Valores Mximo, Mnimo y ltima Lectura: UP, dn, y LA
son mostrados, respectivamente, en el display.
Seleccin de Faja: Automtica.
Distancia de Deteccin (Foto Tacmetro): 50mm ~ 500mm.
Ambiente de Operacin: 0C ~ 50C, RH < 80%.
Alimentacin: 4 bateras AA de 1.5V.
Consumo de Corriente: Aprox. 50mA.
Dimensiones: 160(A) x 72(L) x 37(P)mm.
Peso: Aprox. 300g (incluido bateras).
1.6.3.-Elctricas:
Escala: 2.5 ~ 99999 RPM (Foto); 0.5 ~ 19999 RPM (Contacto); 0.05 ~ 1999.9 m /
min (Superficie)
Precisin: (0.05%+1D)
Resolucin: 0.1 RPM (2.5 ~ 999.9 RPM - Foto); 1 RPM (>= 1000 RPM - Foto); 0.1
RPM (0.5 ~ 999.9 RPM - Contacto); 1 RPM (>= 1000 RPM - Contacto); 0.01
m/min(0.05 ~ 99.99 m/min); 0.1 m/min (>= 100 m/min)
Accesorios Incluidos:
Manual de Instrucciones
Adaptador para Medir Velocidad de Superficie (Modelo TW-02)
10

Adaptador para Medir RPM por Contacto
Adaptador para Medida por Contacto
Goma Tipo Cono (Modelo TC-02)
Borracha Tipo Funil (Modelo TF-02)
Cinta Reflectiva para RPM (600m


2.- FORMULACIN DEL PROBLEMA
2.1.- La aplicacin fundamental es la de poder medir la velocidad de giro de ejes
de levas de motores estacionarios como los motores de grupos generadores, para
poder controlar la velocidad de giro de la parte mecnica, la cual se reflejara en la
frecuencia de salida del generador relacionado, la cual se normalizo en 50 y 60
Hz. Pero en nuestro caso esta medida de RPM al tratarse de motores pequeos
ser de menor escala.

2.2.- El conocimiento de los RPM de un motor, ya sea elctrico o mecnico,
posibilita evitar fallas de sobre-velocidad o baja-velocidad, puesto que los equipos
de telecomunicaciones o control trabajan a determinadas frecuencias y no a
cualquier valor.

2.3.- El presente proyecto pretende dar el conocimiento de la etapa de MEDIR, los
RPM, para que futuras implementaciones y/o mejoras completen la idea de
proteger al motor de eventos no deseados, como los descritos con anterioridad.

3.- OBJETIVOS
3.1.- Objetivo General:
- Implementar un tacmetro para medir las revoluciones de un motor.

3.2.- Objetivos Especficos.-
- Diseo de un programa en lenguaje ensamblador que despliegue
grficamente la medida de la velocidad en RPM de un motor.
- Disear e implementar la electrnica necesaria para establecer una
comunicacin inalmbrica en la captura de datos, mediante un sensor

4.- JUSTIFICACIN
4.1.- En el mundo se requiere medir los RPM de cualquier motor y se lo
implementa para tener control sobre el, mediante el conocimiento en tiempo real
del mismo.

5.- ALCANCES Y LMITES
El presente proyecto tiene como alcance:

5.1.- Implementar un tacmetro, mediante el uso de lenguaje assembler, y todo lo
aprendido en la materia de ETN-903.
5.2.- El lmite que presenta el proyecto radica en la escala de 200RPM como
medida mxima

6.- DESARROLLO DEL PROYECTO
11


1.- El programa a desarrollar tiene como base la medida de las revoluciones por
minuto en un segundo dado y con tres segundos para visualizarlo en la pantalla
mediante una aguja de desplazamiento, como si se tratase de un tacmetro
analgico y su versin en formato digital.

NOTA.- El programa esta basado en el algoritmo de Bresemham (para dibujar
rectas a partir de puntos extremos y rellenar los puntos intermedios).

2.- El circuito tiene como base la adquisicin de datos por PPI en Modo 0, un
motor de AC provisto de una hlice, cuya interrupcin de una lnea infrarroja de un
diodo laser transmisor y un diodo laser receptor, provee de la interrupcin que el
ordenador cuenta en un segundo.

3.- Este proyecto consiste en realizar un programa en lenguaje ensamblador que
mida y despliegue grficamente la velocidad en RPM de un motor DC, el
programa ser desarrollado para el microprocesador Pentium II y la captura de
datos partir del diseo de una interfaz electrnica para el puerto ISA de la PC con
el Interface Programable de Perifricos PPI el cual como dato de entrada recibir
un pulso de 5v cada vez que un sensor optoacoplador es obstruido.

El sensor se obstruye una vez durante una vuelta del motor con esto se va
contando el numero de pulsos que entran al procesador en 1 segundo. Una vez
que se realizo el clculo, en el programa este se multiplica por 60 para obtener el
nmero de revoluciones por minuto.

DIAGRAMA DE INSTALACION



12

6.1.- DISEO DE LAS INTERFACES DE TRANSMISION Y RECEPCION.-
6.1.1.- ETAPA DE RECEPCION.- En esencia se construye un receptor de infrarrojos
que capta y decodifica la seal enviada por un emisor. La etapa de RECEPCIN
est compuesta por un decodificador y el interfaz PPI de captura de datos de
entrada, el cual toma la seal del receptor infrarrojo. Dicha seal una vez
capturada e identificada por el interfaz PPI se enva la informacin procesada a el
microprocesador en la PC
PC esta informacin es capturada por medio del programa
(el cual va mostrar las RPM del motor).
La etapa del TRANSMISOR es colocada detrs de la hlice del motor para poder
emitir una seal con la informacin de las vueltas que va generando el motor y a
su vez mande la informacin hacia la recepcin.

Para la recepcin vamos se utilizara un detector de infrarrojos el cual esta
diseado para recibir seales infrarrojas moduladas; este dispositivo demodula
una seal IR de 40 Khz y la convierte en una fuente de datos serie.
Al conectar el dispositivo al terminal de entrada del PPI, esta fuente de datos
puede capturarse y almacenarse en la PC.

6.1.2.- ETAPA DE TRANSMISION.- Para establecer una comunicacin entre ambas
etapas se generara un tren de pulsos de 40 Khz, para poder transmitirlo hacia la
recepcin y el dispositivo receptor lo demodule. Trabajaremos con el CI 555 en
modo Astable
El circuito entrega un tren continuo de pulsos continuo y con una frecuencia
de 40 khz.

6.1.3.- DIAGRAMA DEL CIRCUITO DE INTERFAZ PPI
13


6.1.4.- CIRCUITO REGULADOR DE VELOCIDAD DE MOTOR DC

6.1.5.- DESARROLLO DEL PROGRAMA ENSAMBLADOR TACOMETRO.- Para
poder realizar el dibujo de lneas inclinadas usamos el algoritmo de Bresenham el cual es
un algoritmo creado para dibujar rectas en los dispositivos de grficos rasterizados, como
por ejemplo un monitor de ordenador, que determina qu pixeles se rellenarn, en funcin
de la inclinacin del ngulo de la recta a dibujar.
Se puede decir que el algoritmo es preciso para la generacin de lneas de
rastreo que convierte mediante rastreo las lneas al utilizar solo clculos
PC0-PC7
PB0-PB7
PA0-PA7
RESET
RD
WR
AEN
A9
A8
A7
A6
A5
A4
A3
A2
A1
A0
U2C
U2B
U2A
74LS138
A2
A1
A0
E3
E2
E1
Q7
Q6
Q5
Q4
Q3
Q2
Q1
Q0
U1
74LS138
PPI8255
1
P1
2
P2
3
P3
4
P4
5
P5
6
P6
7
P7
8
P8
9
P9
10
P10
11
P11
12
P12
13
P13
14
P14
15
P15
16
P16
17
P17
18
P18
19
P19
20
P20
21
P21
22
P22
23
P23
24
P24
25
P25
26
P26
27
P27
28
P28
29
P29
30
P30
31
P31
32
P32
33
P33
34
P34
35
P35
36
P36
37
P37
38
P38
39
P39
40
P40
U3
DC V
11.25 V
M1
+
C1
1uF
C3
0.1uF
C2
0.1uF
R5
100k 90% 1
Gnd
2
Trg
3
Out
4
Rst
5
Ctl
6
Thr
7
Dis
8
Vcc
U1
555
D1
1N914
D3
1N4007
D2
1N914
Q2
2N3055
Q1
2N2222
+V
V1
12V
R4
1.5k
R3
1k
R2
2.2k
R1
2.2k
14

incrementales con enteros que se pueden adaptar para desplegar circunferencias
y curvas. Los ejes verticales muestran las posiciones de rastreo y los ejes
horizontales identifican columnas de pixel.

6.1.5.1.- El algoritmo de Bresenham es el siguiente:
Si 0<|m|<1
*Se capturan los extremos de la lnea y se almacena el extremo izquierdo en
(x
0
,y
0
).
*Se carga (x
0
,y
0
) en el bufer de estructura (se traza el primer punto)
*Se calculan las constantes x,y, 2y y 2y-x y se obtiene el valor inicial para
el parmetro de decisin p
0
=2y-x.
Para j=0 mientras j<x
*En cada x
k
a lo largo de la lnea, que inicia en k=0 se efecta la prueba
siguiente:
Si p
k
<0
*Trazamos (x
k
+1,y
k
).
*Asignamos p
k
+1= p
k
+2y.
Sino
*Trazamos (x
k
+1,y
k
+1).
*Asignamos p
k
+1= p
k
+2y-2x.
Fin Para
Si |m|>1
*Recorremos la direccin en pasos unitarios y calculamos los valores sucesivos
de x que se aproximen ms a la trayectoria de la lnea.

6.1.6.- PROGRAMA COMPILADO ROPUESTO:




























15

.386
.387

page 60,132
title SISTEMAS DE COMPUTACION ETN_903
;----------------------------------------------------------
;----------------------------------------------------------
;
;PROYECTO: T A C O M E T R O
; - - - - - - - - -
;
;GRUPO:
; Henry Damian Marin LLanos
; Ramiro Torrez Cabrera
;
;----------------------------------------------------------
; R E S U M E N
; - - - - - - -
;El tacometro es un instrumento para medir la candidad de
;vueltas o revoluciones por minuto, de cualquier mecanismo
;que gire alrededor de un eje. Comuinmente usado para medir
;la velocidad de giro de ejes de levas de motores, para
;determinar su velocidad de movimiento.
;----------------------------------------------------------
pila segment stack
dw 256 dup(' ')
pila ends
;----------------------------------------------------------
datos segment
titulo1 db 'PROYECTO: ETN903 I/2013$'
titulo2 db 'T A C O M E T R O $'
titulo3 db 'Para salir presione ESC$'

fil_ti1 db 2
col_ti1 db 20

fil_ti2 db 3
col_ti2 db 25

fil_ti3 db 28
col_ti3 db 49

men_31 db ' $' ;mensaje 1
men_32 db 'r.p.m.$' ;mensaje 2
men_33 db 'r.p.s.$' ;mensaje 3

negro equ 00h ;color negro
blanco equ 0Eh ;color blanco
rojo equ 04h ;color rojo
azul equ 01h ;color azul

vid_nu db 12h ;video nuevo, ES NUEVO!!!
;modo 03h=texto 25x80 resol
vid_an db ? ;video antiguo

p_inix dw 300 ;puntos iniciales donde
p_iniy dw 250 ;se vera el medidor de velocidad
color db ?
contador dw ? ;variables
tope dw ? ;para
tope_1 dw ? ;los dibujos
largo dw ?
avance dw ?
x1 dw ? ;aqui se guardan
y1 dw ? ;actualizan
x2 dw ? ;los valores
y2 dw ? ;para desarrollar
deltax dw ? ;el algoritmo de bresenham
deltay dw ?
dxr dw ?
dyr dw ?
dxd dw ?
dyd dw ?
16

Er dw ?
Ed dw ?
E dw ?
dex dw ?
dey dw ?
dos dw 2

temp dw 0
ctte dd 180.0
multip dw 150 ;escalado de las lineas

ang_in dw ?
ang_fi dw ?

segund db ?
siguie db ?

aux dw 0

men_10 db '0.0$' ;mensajes a desplejar
men_11 db '20$' ;para el velocimetro
men_12 db '40$'
men_13 db '60$'
men_14 db '80$'
men_15 db '100$'
men_16 db '120$'
men_17 db '140$'
men_18 db '160$'
men_19 db '180$'
men_20 db '200$'
men_21 db '220$'
men_22 db '240$'
men_23 db '260$'

fil_10 db 18 ;coordenadas donde
col_10 db 23 ;se colocara un mensaje

fil_11 db 15
col_11 db 22

fil_12 db 12
col_12 db 23

fil_13 db 10
col_13 db 25

fil_14 db 9
col_14 db 29

fil_15 db 8
col_15 db 33

fil_16 db 8
col_16 db 38

fil_17 db 9
col_17 db 44

fil_18 db 11
col_18 db 46

fil_19 db 13
col_19 db 49

fil_20 db 15
col_20 db 49

fil_21 db 18
col_21 db 48

fil_30 db 19
col_30 db 33

17

fil_31 db 22
col_31 db 31

fil_32 db 19
col_32 db 39

fil_33 db 11
col_33 db 35

valasc db " $"
valbin dw ? ;valbinvalasc

rps_prm dw 60

datos ends
;---------------------------------------------------------
codigo segment use16
inicio proc far
assume cs:codigo,ss:pila,ds:datos
push ds
sub ax,ax
push ax
mov ax,datos
mov ds,ax
;..........................................................................

mov al,82h
mov dx,303h
out dx,al


call omovi ;Obtiene modo de video
mov vid_an,al

mov al,vid_nu ;Modo, OJO tipo monitor
call pmovi ;Pone modo de video

;..........................................................................

mov dh,fil_ti1
mov dl,col_ti1
call poner
lea dx,titulo1
call ver

mov dh,fil_ti2
mov dl,col_ti2
call poner
lea dx,titulo2
call ver


mov dh,fil_ti3
mov dl,col_ti3
call poner
lea dx,titulo3
call ver
;.........................................................

otra:
call menu

call figura

call cortar
mov ax,aux
mov valbin,ax

finit
fild valbin
fimul rps_prm ; x 60
fistp valbin

18

call bin_asc

mov al,rojo ;aqui va el color
mov color,al

mov ax,aux
add ax,160
mov temp,ax
mov ax,130
mov multip,ax

call aguja ;para ver la aguja

call puerto

; call retard

mov al,negro ;aqui va el color
mov color,al

call aguja ;para ver la aguja

mov ah,0Bh ;ver si se introdujo tecla
int 21h
or al,al
jz salta ;sino hay se recibe

mov ah,01h ;si hay tecla se verifica cual es
int 21h

cmp al,1Bh ;si ESC se sale
jz final
salta:
jmp otra
final:
mov al,vid_an ;es el anterior
call pmovi ;Pone modo de video

ret
inicio endp
;----------------------------------------------------------
circulo proc
mov ax,p_inix ;punto inicial
mov x1,ax

mov ax,ang_in ;
mov temp,ax
mov ax,p_iniy
mov y1,ax
aca:
finit
fldpi
fld ctte
fdiv

fimul temp

fsincos

fimul multip
fiadd x1
fistp x2

fimul multip
fiadd y1
fistp y2

call dibuja

mov ax,temp
cmp ax,ang_fi
jz fin
add ax,1
19

mov temp,ax
jmp aca
fin:
ret
circulo endp
;---------------------------------------------------------
dibuja proc
mov ax,1
mov dex,ax
mov dey,ax

mov ax,y2
sub ax,y1
mov deltay,ax
jns un

mov ax,dey
neg ax
mov dey,ax
mov ax,deltay
neg ax
mov deltay,ax
un:
mov ax,dey
mov dyd,ax

mov ax,x2
sub ax,x1
mov deltax,ax
jns ddo

mov ax,dex
neg ax
mov dex,ax

mov ax,deltax
neg ax
mov deltax,ax
ddo:
mov ax,dex
mov dxd,ax

mov ax,deltax
sub ax,deltay
jb tre

mov ax,0
mov dey,ax
jmp cuadro
tre:
mov ax,0
mov dex,ax

mov ax,deltax
mov bx,deltay
mov deltay,ax
mov deltax,bx
cuadro:
mov ax,dey
mov dyr,ax

mov ax,dex
mov dxr,ax

;******************************************

fild deltay ;calcula Er
fimul dos
fistp Er

fild deltay ;calcula Ed
fimul dos
fild deltax
20

fimul dos
fsub
fistp Ed

fild deltay ;obtiene E
fimul dos
fisub deltax
fistp E

mov cx,x1 ;dibuja punto
mov dx,y1 ;en (x,y)
mov ah,0Ch ;aqui (0,0)
mov al,color ;color
mov bh,00h
int 10h

mov ax,0 ;asegurar
mov contador,ax ;contador
mov ax,deltax ;solo hasta el
mov tope,ax ;tope
siga:
mov ax,E ;evalua "E"><=0
test ax,1000000000000000b
jnz recto
diagona:
add dx,dyd
add cx,dxd

finit
fild E
fiadd Ed
fistp E
jmp mira
recto:
add dx,dyr
add cx,dxr

finit
fild E
fiadd Er
fistp E
jmp mira
mira:
mov ax,contador
inc ax
mov contador,ax
cmp ax,tope
jz sali
jmp siga
sali:
mov ah,0Ch
mov al,color ;color
mov bh,00h
int 10h

ret
dibuja endp
;----------------------------------------------------------
dibujo proc
mov ax,1
mov dex,ax
mov dey,ax

mov ax,y2
sub ax,y1
mov deltay,ax
jns uno

mov ax,dey
neg ax
mov dey,ax
mov ax,deltay
neg ax
21

mov deltay,ax
uno:
mov ax,dey
mov dyd,ax

mov ax,x2
sub ax,x1
mov deltax,ax
jns ddos

mov ax,dex
neg ax
mov dex,ax

mov ax,deltax
neg ax
mov deltax,ax
ddos:
mov ax,dex
mov dxd,ax
;----ojo aqui-----
mov ax,deltax
sub ax,deltay
jb tres

mov ax,0
mov dey,ax
jmp cuatro
tres:
mov ax,0
mov dex,ax

mov ax,deltax
mov bx,deltay
mov deltay,ax
mov deltax,bx
cuatro:
mov ax,dey
mov dyr,ax

mov ax,dex
mov dxr,ax

;******************************************

fild deltay ;calcula Er
fimul dos
fistp Er

fild deltay ;calcula Ed
fimul dos
fild deltax
fimul dos
fsub
fistp Ed

fild deltay ;obtiene E
fimul dos
fisub deltax
fistp E

mov cx,x1 ;dibuja punto
mov dx,y1 ;en (x,y)
mov ah,0Ch ;aqui (0,0)
mov al,color ;color
mov bh,00h
int 10h

mov ax,0 ;asegurar
mov contador,ax ;contador
mov ax,deltax ;solo hasta el
mov tope,ax ;tope
sigue:
22

mov ax,E ;evalua "E"><=0
test ax,1000000000000000b
jnz recta
diagonal:
add dx,dyd
add cx,dxd

mov ah,0Ch ;aqui (0,0)
mov al,color ;color
mov bh,00h
int 10h

finit
fild E
fiadd Ed
fistp E
jmp mirar
recta:
add dx,dyr
add cx,dxr

mov ah,0Ch ;aqui (0,0)
mov al,color ;color
mov bh,00h
int 10h

finit
fild E
fiadd Er
fistp E
jmp mirar
mirar:
mov ax,contador
inc ax
mov contador,ax
cmp ax,tope
jz salir
jmp sigue
salir:
mov ah,0Ch
mov al,color ;color
mov bh,00h
int 10h

ret
dibujo endp
;----------------------------------------------------------
omovi proc
mov ah,0Fh ;funcion para obtener
int 10h ;modo de video
ret
omovi endp
;----------------------------------------------------------
pmovi proc
mov ah,00h ;funcion para poner
int 10h ;modo de video
ret
pmovi endp
;----------------------------------------------------------
aguja proc
mov ax,p_inix
mov x1,ax

mov ax,p_iniy
mov y1,ax

finit
fldpi
fld ctte
fdiv

fimul temp

23

fsincos

fimul multip
fiadd x1
fistp x2

fimul multip
fiadd y1
fistp y2

call dibujo ;para ver la aguja

ret
aguja endp
;----------------------------------------------------------
puerto proc
mov ah,2Ch
int 21h
mov segund,dh
cmp dh,57
ja termino
add dh,1
mov siguie,dh

xor ax,ax
mov aux,ax
aqui:
mov dx,301h
D0:
in al,dx
test al,00000001b
jnz D2
D1:
in al,dx
test al,00000001b
jz D1

mov ax,aux
inc ax
mov aux,ax
D2:
mov ah,2Ch
int 21h
cmp siguie,dh
jb termino

jmp aqui
termino:
mov ax,aux

ret
puerto endp
;----------------------------------------------------------
retard proc
mov bx,100h
ret1:
mov cx,0FFFFh
ret2:
loop ret2

dec bx
jnz ret1

ret
retard endp
;----------------------------------------------------------
cortes proc
mov ax,ang_in
mov temp,ax

rayado:
mov ax,p_inix
mov x1,ax
24


mov ax,p_iniy
mov y1,ax

finit
fldpi
fld ctte
fdiv

fimul temp

fsincos

fimul multip
fiadd x1
fistp x2

fimul multip
fiadd y1
fistp y2

call lienzo ;para ver la aguja

mov ax,temp
add ax,avance
mov temp,ax
cmp ax,ang_fi
jb rayado

ret
cortes endp
;----------------------------------------------------------
lienzo proc
mov ax,1
mov dex,ax
mov dey,ax

mov ax,y2
sub ax,y1
mov deltay,ax
jns un_1

mov ax,dey
neg ax
mov dey,ax
mov ax,deltay
neg ax
mov deltay,ax
un_1:
mov ax,dey
mov dyd,ax

mov ax,x2
sub ax,x1
mov deltax,ax
jns ddo_1

mov ax,dex
neg ax
mov dex,ax

mov ax,deltax
neg ax
mov deltax,ax
ddo_1:
mov ax,dex
mov dxd,ax

mov ax,deltax
sub ax,deltay
jb tre_1

mov ax,0
25

mov dey,ax
jmp cuadro_1
tre_1:
mov ax,0
mov dex,ax

mov ax,deltax
mov bx,deltay
mov deltay,ax
mov deltax,bx
cuadro_1:
mov ax,dey
mov dyr,ax

mov ax,dex
mov dxr,ax

;******************************************

fild deltay ;calcula Er
fimul dos
fistp Er

fild deltay ;calcula Ed
fimul dos
fild deltax
fimul dos
fsub
fistp Ed

fild deltay ;obtiene E
fimul dos
fisub deltax
fistp E

mov cx,x1 ;dibuja punto
mov dx,y1 ;en (x,y)
mov ah,0Ch ;aqui (0,0)
mov al,color ;color
mov bh,00h
int 10h

mov ax,0 ;asegurar
mov contador,ax ;contador
mov ax,deltax ;solo hasta el
mov tope,ax ;tope
sub ax,largo
mov tope_1,ax ;tope
siga_1:
mov ax,E ;evalua "E"><=0
test ax,1000000000000000b
jnz recto_1
diagona_1:
add dx,dyd
add cx,dxd

finit
fild E
fiadd Ed
fistp E
jmp mira_1
recto_1:
add dx,dyr
add cx,dxr

finit
fild E
fiadd Er
fistp E
jmp mira_1
mira_1:
mov ax,contador
inc ax
26

mov contador,ax
cmp ax,tope_1
jz sali_1
jmp siga_1
sali_1:
mov ah,0Ch
mov al,color ;color
mov bh,00h
int 10h

siga_2:
mov ax,E ;evalua "E"><=0
test ax,1000000000000000b
jnz recto_2
diagona_2:
add dx,dyd
add cx,dxd

mov ah,0Ch ;aqui (0,0)
mov al,color ;color
mov bh,00h
int 10h

finit
fild E
fiadd Ed
fistp E
jmp mira_2
recto_2:
add dx,dyr
add cx,dxr

mov ah,0Ch ;aqui (0,0)
mov al,color ;color
mov bh,00h
int 10h

finit
fild E
fiadd Er
fistp E
jmp mira_2
mira_2:
mov ax,contador
inc ax
mov contador,ax
cmp ax,tope
jz sali_2
jmp siga_2
sali_2:
mov ah,0Ch
mov al,color ;color
mov bh,00h
int 10h

ret
lienzo endp
;----------------------------------------------------------
menu proc
mov dh,fil_10
mov dl,col_10
call poner

lea dx,men_10
call ver

mov dh,fil_11
mov dl,col_11
call poner

lea dx,men_11
call ver

27

mov dh,fil_12
mov dl,col_12
call poner

lea dx,men_12
call ver

mov dh,fil_13
mov dl,col_13
call poner

lea dx,men_13
call ver

mov dh,fil_14
mov dl,col_14
call poner

lea dx,men_14
call ver

mov dh,fil_15
mov dl,col_15
call poner

lea dx,men_15
call ver

mov dh,fil_16
mov dl,col_16
call poner

lea dx,men_16
call ver

mov dh,fil_17
mov dl,col_17
call poner

lea dx,men_17
call ver

mov dh,fil_18
mov dl,col_18
call poner

lea dx,men_18
call ver

mov dh,fil_19
mov dl,col_19
call poner

lea dx,men_19
call ver

mov dh,fil_20
mov dl,col_20
call poner

lea dx,men_20
call ver

mov dh,fil_21
mov dl,col_21
call poner

lea dx,men_21
call ver

mov dh,fil_30
mov dl,col_30
call poner
28


lea dx,valasc
call ver

mov dh,fil_32
mov dl,col_32
call poner

lea dx,men_32
call ver

mov dh,fil_31
mov dl,col_31
call poner

lea dx,men_31
call ver

mov dh,fil_33
mov dl,col_33
call poner

lea dx,men_33
call ver

ret
menu endp
;----------------------------------------------------------
poner proc
mov ah,02h
mov bl,0
int 10h
ret
poner endp
;----------------------------------------------------------
ver proc
mov ah,09h
int 21h
ret
ver endp
;----------------------------------------------------------
bin_asc proc
call borra
mov cx,0Ah ;factor de divicion
lea si,valasc+4
mov ax,valbin
otro:
cmp ax,0Ah ;si Nro. binario < 10
jb fino ;terminar
xor dx,dx ;divide dx:ax
div cx ;entre cx
or dl,30h ;guarda resto
mov [si],dl ;como ascii
dec si
jmp otro
fino:
or al,30h ;guarda ultimo cociente
mov [si],al ;como ascii
ret
bin_asc endp
;----------------------------------------------------------
borra proc
lea si,valasc

mov cx,4
mov al,' '
dale:
mov [si],al
inc si
loop dale

ret
borra endp
29

;----------------------------------------------------------
figura proc
mov al,blanco ;aqui va el color
mov color,al

mov ax,0
mov ang_in,ax
mov ax,360
mov ang_fi,ax
mov ax,150
mov multip,ax

call circulo ;para dibujar figura

mov ax,0
mov ang_in,ax
mov ax,360
mov ang_fi,ax
mov ax,155
mov multip,ax

call circulo ;para dibujar figura

mov ax,0
mov ang_in,ax
mov ax,360
mov ang_fi,ax
mov ax,156
mov multip,ax

call circulo ;para dibujar figura

mov al,azul ;aqui va el color
mov color,al

mov ax,0
mov ang_in,ax
mov ax,360
mov ang_fi,ax
mov ax,157
mov multip,ax

call circulo ;para dibujar figura

mov ax,0
mov ang_in,ax
mov ax,360
mov ang_fi,ax
mov ax,10
mov multip,ax

call circulo ;para dibujar figura

ret
figura endp
;----------------------------------------------------------
cortar proc
mov al,blanco ;aqui va el color
mov color,al

mov ax,160
mov ang_in,ax
mov ax,270
mov ang_fi,ax
mov ax,20
mov largo,ax
mov ax,20
mov avance,ax

mov ax,150
mov multip,ax

call cortes ;
30


mov ax,160
mov ang_in,ax
mov ax,280
mov ang_fi,ax
mov ax,10
mov largo,ax
mov ax,4
mov avance,ax

mov ax,150
mov multip,ax

call cortes ;

mov al,rojo ;aqui va el color
mov color,al

mov ax,280
mov ang_in,ax
mov ax,390
mov ang_fi,ax
mov ax,20
mov largo,ax
mov ax,20
mov avance,ax

mov ax,149
mov multip,ax

call cortes ;

mov ax,280
mov ang_in,ax
mov ax,380
mov ang_fi,ax
mov ax,10
mov largo,ax
mov ax,4
mov avance,ax

mov ax,149
mov multip,ax

call cortes ;

ret
cortar endp
;----------------------------------------------------------------------
; Subrutina: Borra pantalla
; -------------------------
bopan proc
mov ah,06h
mov al,00h
;mov bh,12h
;mov cx,0000h
;mov dx,184fh
int 10h
ret
bopan endp
;----------------------------------------------------------------------

;----------------------------------------------------------
pocur proc

mov ah,02h
mov bh,00
mov dh,1
mov dl,10
int 10h

pocur endp
;----------------------------------------------------------
31

mensaje proc

mov ah,09h
lea dx,titulo1
int 21h
ret


mensaje endp

;----------------------------------------------------------
codigo ends
end inicio


8.- CONCLUSIONES
8.1 Se pudo cumplir con el objetivo de implementar un circuito con el PPI, para la
adquisicin de datos, que en este caso es la cantidad de veces que se interrumpe
la seal de un optoacoplador, en un segundo, la cual interpretamos como las
veces que gira el eje de un motor, que este caso de laboratorio es un motor de
12Vdc.

8.2 Se pudo comparar la medida generada por el programa en PC y el PPI, con un
tacmetro digital industrial MINIPA, y pudimos verificar que las medidas no son
constantes ni absolutas en prueba consecutivas y nos reflejan la idea de la
medicion, la cual es una comparacin del mismo fenmeno en tiempos diferentes
y en su magnitud, que en este caso es la sensacin de lentitud o rapidez.
8.3.- OBSERVACION.- Esta variacin de las medidas, ya sea con la PC o con el
tacmetro industrial, nos revelan que los instrumentos de medida no gozan de
absolutez, sino de una relatividad que la persona que usa esta informacin
(medida) deba usarla con criterio, basado en la aplicacin que busca.

En nuestro caso la comparacin de medidas iniciales a baja velocidad y medidas
finales con incrementos visuales de velocidad, reflejadas en el programa generado
y del mismo modo en el tacmetro digital.

Вам также может понравиться