Professional Documents
Culture Documents
(
T
(
1
=
+
(V
max
) dt
+
+
(V
min
)
dt
(
V
DC
T
0 (
=
|V
- t + V t |
( T
1
V
DC max min
(
T
1
0
|V
max 0) + V
min
(T (
)|
- ((
V
DC
=
T
(
=
V
max
+
V
min
V + V
DC min
T T
.
Si se considera una seal digital, donde Vmin = 0 V, entonces:
V
DC
= V
max
D
V
DC
= V
max
D + V
min
D +
V
min
UNSA Leonidas Alberto Miano Cuentas 20 | P g i n a
Como se puede notar el mximo voltaje DC es Vmax, es decir, el pico ms alto
siempre y cuando el ciclo de trabajo sea el 100%.
1.2.15. Motor DC de Imanes Permanentes
Un motor es una mquina que transforma energa elctrica en energa mecnica en
forma de movimiento, en este caso por tratarse de un motor DC su alimentacin de
voltaje ser con una fuente de corriente continua como bateras, adaptadores de
voltaje, fuentes de computadoras, pilas, etc.
Este motor est compuesto por una bobina que se arrolla sobre un eje giratorio y que
se halla dentro de un campo magntico generado por un imn permanente que los
rodea. Las bobinas giratorias se llaman inducido (rotor) y el imn permanente
inductor (estator). Por la bobina giratoria circula una corriente procedente de la
tensin de alimentacin aplicada a los bornes de dicha bobina. Cada media vuelta se
invierte el sentido de giro de la corriente por la bobina, producindose fuerzas de
atraccin y repulsin que mantienen al inducido en movimiento.
Figura 1.10. Partes de un motor DC.
UNSA Leonidas Alberto Miano Cuentas 21 | P g i n a
Para el control de motores de corriente continua de alta potencia se usa la
rectificacin por tiristores y para bajas potencias (<10Kw) se usan los transistores de
potencia.
Figura 1.11. Motor DC.
Cabe destacar que una caracterstica particular de este tipo de motores es que se
pueden alcanzar grandes velocidades, pero por conceptos fsicos se logra un
pequeos torque. Esto es un inconveniente muchas veces cuando se desea controlar
cargas de mucho peso en el que motor necesita una gran fuerza; una solucin que
usualmente se implementa es la adicin de algn sistema mecnico de engranajes
que transmita el movimiento e incrementa la fuerza.
UNSA Leonidas Alberto Miano Cuentas 22 | P g i n a
CAPTULO II
DISEO DEL SISTEMA
2.1. Esquema General
En la figura 2.1 se muestra el diagrama general del sistema, como se puede observar
se dispone de dispositivos de entrada y visualizacin de parmetros, un circuito de
control basado en micro controladores, un circuito de potencia, el actuador final en
este caso el motor DC, un sistema mecnico de fuerza y un circuito sensor de voltaje.
de de 220Vac 0 -250Vac
Motor DC
Sensor de
Figura 2.1. Esquema General del Sistema
Para tener una mejor comprensin a continuacin se dar una breve explicacin del
diagrama de bloques mostrado.
Voltaje
Variac 1
Voltaje
Entrada Salida
Sistema
Mecnico
de Fuerza
Entrada y Visualizacin
de Parmetros
Voltaje
Circuito de
Potencia
Circuito de Control
basado en
Microcontroladores
UNSA Leonidas Alberto Miano Cuentas 23 | P g i n a
El sistema consta de una etapa con dispositivos de entrada y salida de datos digitales,
como un visualizador LCD, un teclado matricial, pulsadores y diodos leds, que
sirven para fijar y visualizar los parmetros del variac a controlar.
El sensor de voltaje se encarga de convertir el nivel de voltaje AC de salida del
variac a un nivel DC apropiado para el microcontrolador pueda interactuar con l. A
la vez retroalimenta al sistema para que el error existente entre el valor deseado y el
valor ledo sea el mnimo.
El circuito de control tiene como elemento principal el microcontrolador PIC16F877,
este constituye el cerebro del sistema pues en este se encuentran programados los
mens, las subrutinas para ingreso de valores a travs del teclado matricial, los lazos
de control de posicin del eje del variac y los bloques de conversin para lectura y
conversin de datos ledos por el sensor de voltaje.
El circuito de potencia se encarga de controlar el motor con sus niveles de tensin y
corriente necesarias para su funcionamiento dependiendo de las rdenes del circuito
de control. Esta etapa es muy importante pues el motor no puede conectarse
directamente con el micro controlador debido a que el micro controlador utiliza
corrientes bajas y contrario el motor causara que circule una corriente mayor por el
micro controlador y este sufrira daos.
En cuanto al motor DC cumple con las funciones de actuador final, que en conjunto
con el sistema de fuerza, dan movimiento al eje del variac. Este motor gira con
velocidad controlada a travs del micro controlador usando la modulacin de ancho
de pulso PWM, que vara su ciclo de trabajo dependiendo de la cercana del valor
deseado con el valor ledo.
UNSA Leonidas Alberto Miano Cuentas 24 | P g i n a
2.2. Diseo Elctrico
El variac a controlarse como toda mquina elctrica necesita de las debidas
protecciones elctricas para su correcto funcionamiento. Estas protecciones se
dimensionan en funcin de varios parmetros como lo son la corriente, el voltaje y
las condiciones de operacin.
Tambin hay que tener en cuenta que el circuito de control para el variac necesita
contiene una fuente fija de voltaje que lo alimente, cuyo valor no puede ser muy alta
como los niveles que maneja el variac. Por esta razn se utiliza un transformador que
reduzca la entrada de 220Vac a 24 Vac.
A continuacin se detallan los parmetros de la mquina
transformador a emplearse y del transformador a utilizarse:
a controlarse y del
Variac Monofsico
Voltaje de Alimentacin:
Voltaje de salida:
Potencia Aparente:
Corriente de Salida:
220Vac
0 250Vac
1000VA
0 4A
Transformador Monofsico
Voltaje de Alimentacin:
Voltaje de salida:
Corriente de Salida:
220Vac
24Vac
1A
Las protecciones necesarias para este esquema son protecciones contra
cortocircuitos tanto en el primario como en el secundario del variac, y en la salida del
transformador que alimenta del circuito de control.
UNSA Leonidas Alberto Miano Cuentas 25 | P g i n a
Para poner en marcha el sistema propuesto se deben realizar las siguientes
conexiones:
L1
T1
220V A 24V
M
ELECTRNICO
Vo2 -
Figura 2.2. Esquema Elctrico General
En la salida del transformador T1 su corriente mxima es 1 A por lo cual sus fusibles
F1 y F2 sern de 1A.
En la entrada del variac se tiene que:
I =
Potencia _ Aparente
Voltaje
I =
1000VA
220V
I = 4.54 A
Entonces los fusible F3 y F4 tendrn un valor de 5 A.
Y finalmente en la salida del variac tenemos una corriente mxima de 4 A por lo
tanto los fusibles de F5 y F6 sern de 4 A.
ALIMENTACIN PRINCIPAL
L2
T
F3 F4
TRANSFORMADOR
SISTEMA MECNICO
DE FUERZA
TV1
F1 F2
VARIAC
MOTOR
L1 L2 DC
CONTROL
Vo1 +
V
F5 F6
L3
L4
T
Vi1 Vi2
VOLTAJE REGULADO
M1
UNSA Leonidas Alberto Miano Cuentas 26 | P g i n a
2.3. Diseo Mecnico
Un problema a resolverse en este captulo es la transmisin de movimiento entre
motor y el eje del variac, pues la fuerza del motor no es lo suficientemente grande
para mover el eje del variac. Por este motivo entre ambos ejes se necesita de algn
mecanismo para realizar el acoplamiento entre ambos para que ninguna tenga
inconvenientes al momento de girar.
Una solucin para este problema es reducir la velocidad del motor e incrementar su
fuerza, pues los motores a menor velocidad tienen ms torque. Existen muchos tipos
de reductores de velocidad de los cuales se ha elegido el mecanismo de tornillo sin
fin y rueda dentada mostrado en la siguiente figura.
Figura 2.3. Mecanismo de tornillo sin fin y rueda dentada.
.
2.3.1. Transmisin De Movimiento
En este proyecto bsica mente se utilizan dos tipos de mecanismos principales para la
transmisin de movimiento entre el eje del motor y el eje del variac, como lo son los
trenes de engranajes rectos y el tornillo sin fin con rueda dentada.
UNSA Leonidas Alberto Miano Cuentas 27 | P g i n a
2.3.2. Tornillo Sin Fin
El tornillo sin fin y rueda dentada permite transmitir el movimiento entre ejes que se
cruzan. El eje del motor coincide siempre con el tornillo sin fin, que comunica el
movimiento de giro a la rueda dentada que engrana con l, llamada corona. Una
vuelta completa del tornillo provoca el avance de un diente de la corona. En ningn
caso puede usarse la corona como rueda motriz.
Figura 2.4. Mecanismo de tornillo sin fin y rueda dentada industrial
Por cada vuelta de la rueda dentada, el tornillo completa tantas vueltas como nmero
de dientes tenga la corona. Por lo tanto, la relacin de transmisin del mecanismo es
simplemente:
dcorona
Donde:
T: relacin de transmisin
dcorona: nmero de dientes de la corona
T =
1
UNSA Leonidas Alberto Miano Cuentas 28 | P g i n a
Dcorona
Donde:
p: paso de rosca del tornillo
Dcorona: dimetro primitivo de la corona
La relacin de transmisin resulta ser inferior a la unidad, de manera que el
mecanismo acta siempre como reductor. Alternativamente, puede calcularse en
funcin del dimetro primitivo de la corona y del paso de rosca del tornillo, definido
como la distancia entre dos surcos consecutivos de la hlice.
2.3.3. Trenes De Engranajes Rectos
Estn formado un arreglo de ruedas dentadas cilndricas rectas. Es un mecanismo de
transmisin robusto, pero que slo transmite movimiento entre ejes paralelos. En
algunos casos puede ser un sistema ruidoso, pero que es til para transmitir potencias
elevadas. Requiere lubricacin para minimizar el rozamiento. Como caracterstica en
cuanto al giro se tiene que las ruedas giran en sentido opuesto.
Cada rueda dentada se caracteriza por el nmero de dientes y por el dimetro de la
circunferencia primitiva. Estos dos valores determinan el paso, que debe ser el
mismo en ambas ruedas. A la rueda ms pequea se le suele llamar pin.
La relacin de transmisin del mecanismo queda determinada por el nmero de
dientes de las ruedas segn la expresin:
drueda2
Donde
T: relacin de transmisin
drueda1: nmero de dientes de la rueda conductora.
drueda2: nmero de dientes de la rueda conducida.
T =
drueda1
T =
p
UNSA Leonidas Alberto Miano Cuentas 29 | P g i n a
2.3.4. Clculos
Teniendo en cuenta el marco terico expuesto podemos realizar los clculos
necesarios para saber la velocidad en el eje del variac con respecto a la velocidad del
motor.
Datos:
Tabla 2.1.Nmero de dientes de los engranajes a utilizar.
Figura 2.5. Nomenclatura de engranajes utilizados.
Figura 2.6. Sentidos de Giro de los engranajes.
Engranaje Dientes
E11 38
E12 10
E21 40
E22 11
E31 33
E32 17
E4 45
UNSA Leonidas Alberto Miano Cuentas 30 | P g i n a
En el tornillo sin fin y rueda dentada:
1
T
1
=
dE
11
(
2
= T
1
(
1
1
T
1
=
38
En los arreglos de engranajes:
=
dE
12
T
2
dE
(
3
= T
2
(
2
21
10
T
2
=
40
=
dE
22
T
3
dE
(
4
= T
3
(
3
31
11
T
3
=
33
=
dE
32
T
4
dE
(
5
= T
4
(
4
4
17
T
4
=
45
Si se desea obtener una relacin total entre la velocidad angular de entrada
1
y la
velocidad angular de salida
5
, tenemos:
(
5
= T
1
T
2
T
3
T
4
(
2
(
5
= (0.026) (0.38) (0.33)
(0.25) (
1
T
4
= 0.38
(
5
= 0.38 (
4
T
3
= 0.33
(
4
= 0.33 (
3
T
2
= 0.25
(
3
= 0.25 (
2
T
1
= 0.026
(
2
= 0.026 (
1
UNSA Leonidas Alberto Miano Cuentas 31 | P g i n a
Donde:
(
, |RPM |
rad
seg (
La relacin de transformacin abarca las distintas unidades de velocidad angular
como [rad/seg] o [RPM]. De manera de ejemplo si el motor tuviera una velocidad de
2400 RPM entonces el variac girara a una velocidad de 1.94 RPM. Pues como se
puede observar la reduccin de velocidad es bastante alta, pues por el contrario el
aumento de torque final es lo suficiente para mover el eje del variac.
2.4. Diseo Electrnico
El diseo electrnico ha requerido utilizar una gran variedad de herramientas tericas
como virtuales, tanto para realizar los clculos de componentes a utilizar como para
simular el comportamiento de los mismos en conjunto.
Una herramienta de mucha importancia utilizada en el diseo electrnico es el
software PROTEUS 6.9, el cual consta con funciones de simulacin de componentes
electrnicos y elctricos, incluyendo microcontroladores con su codificacin.
Adems este software consta con un espacio para diseo de pistas de circuitos
impresos. La aplicacin de simulacin de circuitos a la vez se puede vincular con la
de diseo de pistas haciendo muchas fcil el trabajo del diseo, siempre y cuando las
especificaciones de los componentes sean las adecuadas.
La aplicacin para simulacin se llama ISIS (Intelligent Schematic Input System) y
para diseo de pistas se llama ARES (Advanced Rounting Modelling).
(
5
= 0.00081 (
2
UNSA Leonidas Alberto Miano Cuentas 32 | P g i n a
2.4.1. Fuente de Poder del sistema
Como todo sistema electrnico el circuito propuesto necesita de los niveles
adecuados de voltaje para un correcto funcionamiento. La mayora de los
componentes utilizados en el circuito de control trabajan con niveles bajos de voltaje
DC de tal manera que el voltaje de alimentacin AC deben ser tratados antes de ser
aplicados a la
continuacin:
tarjeta. El circuito utilizado para lograr este efecto se muestra a
Figura 2.7. Fuente DC para el circuito de control
Para empezar se cuenta con un transformador reductor T1 que se encarga de bajar el
nivel de tensin de entrada, es decir reduce los 220V en el primario a 24 V en el
secundario, con una salida de corriente mxima de 1A en el secundario. El conector
J4 mostrado en la figura se utiliza para recibir el poder en la tarjeta.
La siguiente etapa es la rectificacin de onda completa donde este voltaje AC
reducido se convierte en una seal DC pulsante por medio de un arreglo de 4 diodos.
Pero una seal DC pulsante no es nuestro objetivo principal, pues no nos haran
estable el sistema. Luego de esta rectificacin se necesita filtrar la seal, es decir
convertir ese seal DC pulsante en una DC ms fija y ms estable, este se logra a
travs de un capacitor colocado en paralelo a la salida del puente rectificador o
diodos rectificadores. Con una seal DC, con un pequeo rizo, se est ms cerca del
objetivo.
UNSA Leonidas Alberto Miano Cuentas 33 | P g i n a
En el circuito se necesita obtener dos valores distintos de voltaje DC fijos pero a la
salida del filtro solo se cuenta con uno. La solucin ms sencillo y de bajo costo es
la utilizacin de reguladores de voltaje como en este caso son el 7805 y el 7812 para
regular +5V y +12V DC.
Finalmente se tiene una variedad de filtros colocados en paralelo a la salida de los
reguladores para mantener un voltaje estable ante pequeas variaciones. Para tener
una vista ms precisa, a continuacin se presenta un diagrama de bloques de la
fuente.
Figura 2.8. Diagrama de Bloques de la fuente DC
2.4.2. Circuito De Control Basado En Micro Controladores
El circuito de control con microcontroladores es la parte fundamental del proyecto,
pues es el encargado de realizar funciones como:
Lectura de datos a travs de un teclado matricial.
Lectura de datos analgicos por medio del sensor de voltaje.
Procesamiento de los datos ledos y visualizacin de los mismos en un display
de texto LCD.
Control PWM a un motor DC.
Ofrecer opciones de operacin amigables al usuario.
Controlar y detectar posibles fallas del sistema.
Este circuito est constituido por componentes digitales ya que la parte analgica se
encuentra en su mayora en el sensor de voltaje. Para una mejor comprensin a
continuacin se muestra un diagrama en bloques del circuito propuesto.
UNSA Leonidas Alberto Miano Cuentas 34 | P g i n a
Figura 2.9. Diagrama de Bloques del Circuito de Control.
Como se puede observar el micro controlador recibe y enva seales a los diversos
dispositivos de entrada y salida de datos. Estos tipos de seales en su mayora son
digitales, es decir, 0 5 voltios, pero en el caso de la seal enviada por el sensor de
voltaje es un rango de 0 a 5 voltios. El bloque de pulsadores se encarga de ayudar al
usuario a interactuar con el programa y a la vez hacer un control manual del voltaje
del variac. Los diodos leds sirven para indicar su hay presencia de voltaje de
alimentacin y si el sistema est ocupado realizando una regulacin automtica.
UNSA Leonidas Alberto Miano Cuentas 35 | P g i n a
Figura 2.10. Diagrama de Conexiones del LCD.
El teclado matricial es utilizado para que el usuario pueda ingresar un valor de
voltaje deseado en el momento que se requiera.
Figura 2.11. Diagrama de Conexiones del teclado matricial.
UNSA Leonidas Alberto Miano Cuentas 36 | P g i n a
El LCD se encarga de mostrar los parmetros del variac y los diversos mens
establecidos para el correcto uso. Cabe recalcar que el LCD internamente posee un
diodo led que permite alumbrar toda la pantalla del mismo, por lo tanto hay que
tomar muy en cuenta este detalle al momento de la fabricacin de la tarjeta impresa,
pues este diodo se encuentra entre los pines 15 y 16 del LCD. Otro parmetro
importante es el potencimetro de control de intensidad del texto
regular que tan oscuro o claro se desea observar el texto en el LCD.
que sirve para
Figura 2.12. Diagrama de Conexiones del LCD.
UNSA Leonidas Alberto Miano Cuentas 37 | P g i n a
El integrado L293D, se encarga de entregar el nivel de voltaje necesario para que el
motor cumpla con las rdenes dadas por el micro controlador. Internamente posee
una configuracin muy conocida como es el puente en H, esto es beneficioso debido
a que se puede controlar el sentido de giro del motor y controlar su velocidad
mediante la modulacin de ancho de pulso.
Este integrado posee algunas configuraciones adems de la aplicada en el proyecto,
como la de controlar el avance de dos motores con su respectivo control de giro en
los dos sentidos. Tambin se puede realizar el control de cuatro motores con un solo
giro.
Figura 2.13. Diagrama de Conexiones del L293D.
2.4.3. Sensor de Voltaje
Este circuito se basa en el principio de rectificacin y filtrado de voltaje AC,
usualmente utilizado en las fuentes de de voltaje DC.
UNSA Leonidas Alberto Miano Cuentas 38 | P g i n a
Figura 2.14. Circuito sensor de voltaje AC.
A continuacin se detallan las etapas del circuito desde su entrada AC de 0
300Vrms hasta su salida DC de 0 a 5 V.
a
Figura 2.15. Bloques del Sensor
UNSA Leonidas Alberto Miano Cuentas 39 | P g i n a
Como muestra la figura 2.15, este sensor consta de 4 etapas:
Rectificacin.
Divisor de Tensin.
Filtro.
Proteccin
Rectificacin.
En la etapa de rectificacin se toma la seal de voltaje AC proveniente del variac y
se la rectifica con el propsito eliminar sus partes negativas.
Esto se hace posible con la ayuda de un diodo rectificador colocado de tal manera
que al estar la seal en el semiciclo positivo deje pasar la seal y cuando la seal se
encuentre en
continuacin:
su semiciclo negativo no deje pasar nada, como se muestra a
Figura 2.16. Formas de Onda del rectificador sin filtro
Donde VIN es la seal de entrada, VD el voltaje en el diodo y VR el voltaje de
salida.
UNSA Leonidas Alberto Miano Cuentas 40 | P g i n a
Para esta aplicacin tenemos que los valores picos de las seales a manejarse son:
VIN = 300 Vrms
Vp = (300)( 2 )
Vp = 423V
El valor de VD es un parmetro constructivo del diodo que en este caso se tomar un
valor normal de 0.7 voltios.
VD = 0.7 V
Entonces tenemos que el voltaje pico de salida, es:
Vmax = Vp VD
Vmax = 423 V 0.7V
Divisor de Tensin.
Como se puede observar en los resultados anteriores el pico de voltaje obtenido por
un simple rectificador son bastante altos comparados a los que maneja el micro
controlador, por eso se debe de alguna manera reducir estos niveles de voltaje.
Una manera sencilla de lograr esto es con un simple divisor de tensin, teniendo en
cuenta que las resistencias a utilizarse deben ser de valores altos de tal manera que el
sensor no tenga mucho consumo de corriente. Entre las ventajas de que el divisor de
voltaje no consuma mucha corriente tenemos que las resistencias a utilizarse sern de
poca potencia por ende ms pequeas en el diseo y adems el consumo de corriente
total del sistema no se ver afectado.
Vmax = 422.3 V .
UNSA Leonidas Alberto Miano Cuentas 41 | P g i n a
Considerando los valores y el diseo propuesto tenemos:
=
R13 + RV 2
|
|
Vp V max
R13+ RV 2
R13 + RV 2 + R12
.
33k + RV 2 |
=
|
422.3V
Vp
R13+ RV 2
33k + RV 2 + 1000k
.
Considerando el valor mximo del potencimetro RV2, tenemos:
33k + 10k |
Vp = |
422.3V
R13+ RV 2
33k + 10k + 1000k
.
Considerando el valor mnimo del potencimetro RV2, tenemos:
33k + 0k |
Vp = |
422.3V
R13+ RV 2
33k + 0k + 1000k
.
Cabe recalcar que en este anlisis se descarta la resistencia interna del micro
controlador, pues este en cada entrada analgica tiene un circuito interno en la cual
incluye una resistencia de interconexin y una resistencia de muestreo.
Filtro.
Hasta el momento se ha logrado obtener una seal DC pulsante por medio de las
etapas anteriores, pero esta seal no es la ms apropiada para que lea el
microcontrolador. Si el microcontrolador recibiera esta seal mostrara una infinidad
de nmeros que seran producto de la lectura instantnea que realiza, lo cual no sera
conveniente para el usuario final.
Vp
R13+ RV 2
= 13.49V
Vp
R13+ RV 2
= 17.41V
UNSA Leonidas Alberto Miano Cuentas 42 | P g i n a
Una solucin para este problema es obtener un valor promedio de esta seal, es decir,
hacer una sumatoria de todos estos valores instantneos que nos permita relacionar
con el voltaje RMS a la salida del variac. La manera ms sencilla de obtener este
promedio es utilizando un capacitor, el cual se encargar de integrar la seal DC
pulsante y dar un equivalente DC en funcin de la cantidad de voltaje de salida del
variac.
En el diseo propuesto el capacitor C1 y C2 estn encargados de filtrar o integrar la
seal DC pulsante y convertir en una seal DC ms estable pero con un pequeo
rizado. Este rizo o pequea variacin por efecto de carga y descarga del capacitor es
inversamente proporcional al valor del capacitor, pues si el capacitor es grande el
rizo es pequeo y viceversa.
De igual manera el tiempo de respuesta o la velocidad de promediar una seal por el
capacitor es inversamente proporcional al valor de la capacitancia. Ms rpido a
menor capacitancia y viceversa.
Proteccin.
A manera de proteccin el sensor de voltaje tiene un diodo zener dispuesto en
paralelo con polarizacin inversa, el cual regula la entrada analgica a 5 voltios en
caso de que el sensor sufra una avera o est descalibrado y lo voltaje de salida sea
mayor a 5. Pues un voltaje mayor a 5 voltios podra causar averas en el
microcontrolador debido a que su rango permitido es de 0 a 5 Vdc.
UNSA Leonidas Alberto Miano Cuentas 43 | P g i n a
2.4.4. Anlisis de Grfico de Datos.
Figura 2.17. Registro del PIC vs. Voltaje del Sensor
La grfica mostrada representa de los valores binarios generados por el PIC con
respecto al valor entregado por el sensor.
Pendiente:
m =
y
x
m =
1023 0
5 0
Vdc
Ecuacin:
y = mx
|Unidades|
|VoltiosDC|
Voltaje _ Sensor = 0.0048(Valor _ del _ ADC )
Valor _ del _ ADC = 204.8(Voltaje _ Sensor)
m = 204.6
Unidades
UNSA Leonidas Alberto Miano Cuentas 44 | P g i n a
De este anlisis se puede concluir que por cada variacin de 4.8 mVdc en el Sensor
de voltaje en el ADC del PIC variar un BIT.
La siguiente grfica a analizarse representa el Voltaje AC presente en el variac
versus el Voltaje DC en el sensor, con la misma podemos medir que variacin de
voltaje AC hace variar un BIT del ADC interno del PIC.
Figura 2.18. Voltaje del Sensor vs. Voltaje del Variac
Pendiente:
m =
y
x
m =
5 0
300 0
Vac
Ecuacin:
y = mx
|Volts|
|Volts|
Voltaje _ Variac = 60(Voltaje _ Sensor )
Voltaje _ Sensor = 0.0167(Voltaje _ Variac)
m = 0.0167
Vdc
UNSA Leonidas Alberto Miano Cuentas 45 | P g i n a
Uniendo Ecuaciones:
Voltaje _ Sensor = 0.0048(Valor _ del _ ADC )
Voltaje _ Variac = 60(Voltaje _ Sensor )
Voltaje _ Variac = 60(0.0048 *Valor _ del _ ADC )
En efecto se puede concluir que por cada variacin de 288mVac en el Variac en el
ADC del PIC variar un BIT.
2.5. Programacin
La parte fundamental del control se encuentra en el interior del microcontrolador, es
decir, en su programa, este debe de tener las seguridades necesarias, mens que
faciliten la operacin del usuario y dems lneas de cdigo que permitan la lectura,
procesamiento y visualizacin de los parmetros del variac.
Para la codificacin y compilacin del programa contenido en el microcontrolador se
utiliz el software PIC BASIC PRO de MicroCode Studio, elegido por la sencillez de
sus comandos para realizar tareas especficas y por su capacidad para deteccin de
errores de sintaxis. Otra ventaja notable de este software es su diversidad de libreras
disponibles para el usuario, pues se reduce muchas lneas de cdigo de esta manera.
Para tener una mejor comprensin del programa a continuacin se detallan los
diagramas de flujo ms importantes del programa contenido por el microcontrolador.
Voltaje _ Variac = 0.288(Valor _ del _ ADC )
UNSA Leonidas Alberto Miano Cuentas 46 | P g i n a
Figura 2.19.a. Diagrama de Flujo final del Microcontrolador Primera parte
UNSA Leonidas Alberto Miano Cuentas 47 | P g i n a
Figura 2.19.b. Diagrama de Flujo final del Microcontrolador Segunda parte
UNSA Leonidas Alberto Miano Cuentas 48 | P g i n a
Figura 2.19.c. Diagrama de Flujo final del Microcontrolador Tercera parte
UNSA Leonidas Alberto Miano Cuentas 49 | P g i n a
Figura 2.20. Diagrama de flujo de la subrutina para convertir de binario a voltaje.
UNSA Leonidas Alberto Miano Cuentas 50 | P g i n a
Figura 2.21. Diagrama de flujo de la subrutina para leer tecla pulsada.
UNSA Leonidas Alberto Miano Cuentas 51 | P g i n a
2.6. Diseo de Pistas
2.6.1. Procedimiento
Los pasos a seguir para la realizacin de una tarjeta de circuito impreso son:
Dibujar en el simulador ISIS todos los componentes del circuito considerando
desde el ms significativo hasta el menos significativo que estn incluidos
dentro de la simulacin.
Figura 2.22. Disposicin de elementos en PROTEUS ISIS.
Dibujar los accesorios necesarios para el montaje correcto de los
componentes del circuito, esto incluye los diferentes tipos de conectores,
bornes de conexin, disipadores de calor, etc., que no son necesarios a la hora
de la simulacin.
UNSA Leonidas Alberto Miano Cuentas 52 | P g i n a
Figura 2.23. Disposicin de conectores para la tarjeta en PROTEUS ISIS.
Asignar correctamente los tipos de encapsulados de los componentes a
montar en la tarjeta.
Colocar los componentes en las posiciones deseadas de tal manera que se
tenga facilidad de maniobra y facilidad de instalacin.
Dar la orden al programa para que realice las pistas en forma automtica,
teniendo que por la disposicin de los componentes o tamao de la tarjeta, no
siempre el software podr hacer todas las pistas.
Revisar las pistas hechas por el programa y hacer manualmente las pistas
restantes.
Asignar un grosor mnimo a las pistas, este no puede ser muy fino pues quiz
a la hora de la construccin de la pista este posiblemente no aparezca
correctamente. Para ms informacin ver el Anexo B acerca de las
Recomendaciones de diseo para circuitos impresos.
UNSA Leonidas Alberto Miano Cuentas 53 | P g i n a
Figura 2.24. Pistas del circuito Impreso de dos caras
UNSA Leonidas Alberto Miano Cuentas 54 | P g i n a
Figura 2.25. Disposicin virtual de componentes.
UNSA Leonidas Alberto Miano Cuentas 55 | P g i n a
2.6.2. Reglas generales para el diseo de circuitos impresos
- Use el mximo grosor y espacio entre lneas.
o Mnimo grosor 0.6mm (0.024pulg).
o Mnima separacin entre lneas 0.6mm (0.024pulg).
- Los Pads (Donas de cobre) deber ser como mnimo 1mm mayor que el dimetro
del agujero, es decir, si el agujero tiene 0.6mm de dimetro, el pad debera ser de
por lo menos l.60mm de dimetro. (Recomendado 1.90mm). Esto se realiza con
el fin mantener un rea suficiente para la respectiva soldadura.
- Tener en cuenta el grosor del terminal del elemento, por ejemplo:
Tabla 2.2. Dimetro recomendado para diseo de pistas segn el componente.
- El grosor de la pista debe cumplir ciertos requisitos mecnicos, elctricos
estticos.
y
o Desde el punto de vista mecnico, tiene que tener la medida exacta. Si son
muy delgadas se pueden cortar en el momento de corrosin en la
fabricacin de la placa y si son muy gruesas no dejan espacio para otras
lneas y puntos de conexin aumentado sin necesidad el tamao del
circuito impreso.
34
Elemento Dimetro del agujero Dimetro mnimo del pad.
Resistencia de W 0.6mm 1.9mm
IC Encapsulado Dip 0.6mm 1.9mm
Resistencia de 2 W 0.8mm 2mm
Diodos 0.8mm 2mm
IC 7812 1mm 2.5mm
UNSA Leonidas Alberto Miano Cuentas 56 | P g i n a
o Elctricamente, su ancho determina la capacidad de corriente en amperios
que pueden circular. Para circuito de baja potencia una lnea de 0.6mm es
suficiente en la mayora de los casos. Si hay espacio disponible, se puede
usar l.0mm como espesor para todas las lneas. Si hay partes del circuito
que manejan corrientes altas como en las fuentes, rels, triacs, se deben
utilizar lneas ms gruesas.
Puede pasar una pista por entre los terminales de los IC tipo DIP, pero en
ese punto hay que hacer ms fina la pista.
- La pelcula para la fabricacin de las placas de circuito impreso debe ser:
Transparente Ej. Papel plano, Acetatos, etc.
- La impresin debe ser bien negrita, de tal manera que al colocarse contra la luz
no deje pasar la misma, adems as comprueba que no haya cortes en las pistas.
UNSA Leonidas Alberto Miano Cuentas 57 | P g i n a
CAPTULO III
PUESTA EN MARCHA
3.1. Consideraciones Previas al Encendido.
Para encender el sistema de control hay que tener en cuenta las siguientes
recomendaciones para evitar cualquier eventualidad:
Al tratarse de un sistema que trabaja con voltaje alterno hay que tener cuidado
con los niveles de voltajes presentes en la red de alimentacin principal, por
lo cual es recomendable verificar que los niveles de tensin sean los
adecuados antes de conectar el circuito.
Revisar el buen estado de los fusibles pues la apertura de uno de ellos podra
dar la impresin de que exista alguna falla en el sistema.
Figura 3.1. Disposicin fsica de sistema.
UNSA Leonidas Alberto Miano Cuentas 58 | P g i n a
3.2. Operacin del Sistema.
Antes de explicar el funcionamiento del sistema se dar un vistazo a la disposicin
fsica de los componentes ubicados en la tarjeta electrnica que se utilizarn en la
operacin del mismo.
Figura 3.2. Disposicin fsica de componentes utilizados en la operacin del sistema.
Este sistema posee dos alternativas para poder fijar un voltaje en la salida del variac,
la regulacin manual y la regulacin automtica.
3.2.1. Regulacin Manual.
La regulacin manual proporciona al usuario un control completo sobre la variable a
controlar, pues solo se tiene que mantener presionado el botn que indica incremento
+o el botn que indica decremento - para hacer variar el voltaje de acuerdo a la
necesidad. Recordando que esta variacin manual tambin tiene sus lmites de
seguridad para regulacin, para esta aplicacin no se puede llegar menos de 0 voltios
ni ms de 250 V.
Indicador de Encendido
Indicador de
Regulacin en Proceso
Fijar
Incremento
Teclado Matricial
Aceptar
Motor DC
Decremento
0 - 250Vac
Cancelar
12Vac
Display LCD
UNSA Leonidas Alberto Miano Cuentas 59 | P g i n a
Cabe recalcar que la regulacin manual sirve principalmente para una moverse entre
valores pequeos pues la velocidad de avance de la misma es ms baja que la
regulacin automtica.
3.2.2. Regulacin Automtica.
La regulacin automtica consiste en digitar un valor de voltaje fijo a travs del
teclado matricial para que el sistema de manera autnoma llegue a mantener ese
valor en la salida del variac. El procedimiento es el siguiente:
-
-
-
-
Presione el botn identificado como fijar para iniciar.
Ingrese el voltaje deseado por medio del teclado matricial.
Presione el botn identificado como ok para aceptar dicho valor ingresado.
Lea el mensaje mostrado en pantalla y presione ok para comenzar o
cancel para cancelar la regulacin.
Observe la regulacin a travs del visualizador LCD o de un led indicador
identificado como que indica que el sistema est regulando.
En caso de querer parar el sistema por algn motivo, en cualquier momento
estar disponible el botn identificado como cancel que detendr de
inmediato el motor.
-
-
3.3. Mantenimiento Preventivo.
Para obtener un largo tiempo de vida del sistema sin novedades, se debe tomar en
cuentas las siguientes recomendaciones:
Lubricacin de piezas mecnicas, para evitar falta de presin y exceso de
fuerza por parte del motor.
Proteccin del circuito electrnico contra factores externos como polvo y
humedad.
Trabajar bajo temperaturas adecuadas, mnimo 30 C.
Revisar que los valores mostrados por el sistema sean los correctos, en caso
contrario ajustar la curva con el potencimetro de ajuste mostrado a
continuacin.
UNSA Leonidas Alberto Miano Cuentas 60 | P g i n a
Figura 3.3. Ubicacin fsica del potencimetro de ajuste.
Potencimetro de Ajuste
UNSA Leonidas Alberto Miano Cuentas 61 | P g i n a
CONCLUSIONES Y RECOMENDACIONES
Conclusiones:
Se puede realizar el control de un motor DC mediante PWM de una manera
bastante sencilla utilizando microcontroladores y el driver adecuado.
La mejor manera se realizar control se da cuando utilizamos
retroalimentacin, en este caso es el sensor de voltaje se encarga de realizar
esta funcin.
Cuando se trabaja con elementos capacitivos se debe de tener muy en cuenta
los parmetros como el tiempo de carga y el valor de filtrado o eliminacin
de seales no deseadas.
Recomendaciones:
Tener precaucin en el momento de manipular voltaje AC de corrientes
elevadas.
Al momento de implementar este sistema dar una buena proteccin a la
tarjeta electrnica.
Mantener el sistema bajo una temperatura adecuada, recordando que al igual
que todo sistema electrnico la temperatura es un factor importante en el
correcto funcionamiento.
UNSA Leonidas Alberto Miano Cuentas 62 | P g i n a
BIBLIOGRAFA
MODULACIN DE ANCHO DE PULSO PWM
http://es.wikipedia.org/wiki/Modulaci%C3%B3n_por_ancho_de_pulsos
http://www.ucontrol.com.ar/wiki/index.php?title=PWM
MOTOR DE CORRIENTE CONTINUA
http://patentados.com/invento/motor-electrico.1.html
http://alcabot.org/seminario2006/Trabajos/FelipeBarrenoHerrera.pdf
AUTOTRANSFORMADOR
http://es.wikipedia.org/wiki/Autotransformador
MICROCONTROLADORES
http://www.chilebot.cl/tutoriales/introduccion-a-los-microcontroladores.php
http://usuarios.lycos.es/sfriswolker/pic/uno.htm
http://html.rincondelvago.com/adquisicion-de-magnitudes-fisicas-mediante-
microcontrolador.html
http://perso.wanadoo.es/pictob/micropic.htm#microcontroladores_pic
TERMINOS TCNICOS
http://www.fortunecity.es/sopa/serpiente/61/practica1.htm
http://es.wikipedia.org/wiki/Verdadero_valor_eficaz
Datos:
UNSA Leonidas Alberto Miano Cuentas 63 | P g i n a
ANEXO A
PROGRAMA DEL MICRO CONTROLADOR
Include "Fp2032.Bas" 'Librera Para Realizar Operaciones Con Punto Flotante.
Declaracin De Variables Utilizadas Por El Display Lcd.
Define
Define
Define
Define
Define
Define
Lcd_Dreg
Lcd_Dbit
Lcd_Rsreg
Lcd_Rsbit
Lcd_Ereg
Lcd_Ebit
Portb
4
Portb
2
Portb
3
'Declaracin De Variables Utilizadas Por El Teclado Matricial.
Col1
Col2
Col3
Filas
Tecla
Var
Var
Var
Var
Var
Portd.4
Portd.5
Portd.6
Portd
Word
'Columna 1 Del Teclado Matricial.
'Columna 2 Del Teclado Matricial.
'Columna 3 Del Teclado Matricial.
'Filas Del Teclado Matricial
'Variable Para Almacenar El Valor Obtenido Al Pulsar
'Una Tecla.
'Declaracin De Nombres Para Los Pulsadores Utilizados.
Mas
Menos
Fijar
Aceptar
Cancelar
Var
Var
Var
Var
Var
Portc.3
Portc.4
Portc.5
Portc.6
Portc.7
'Pulsador Para Fijar Un Voltaje Deseado.
'Pulsador Para Incrementar Manualmente El Voltaje.
'Pulsador Para Disminuir Manualmente El Voltaje.
'Pulsador Para Confirmar Un Valor A Fijarse.
'Pulsador Para Cancelar La Accin De Fijar Voltajes.
'Declaracin De Nombres Para Las Salidas De Control Del Motor.
Giro1
Giro2
Var
Var
Portc.0
Portc.1
'Seal De Control Para Configurar El L293d Para Avanzar.
'Seal De Control Para Configurar El L293d Para
Retroceder.
'Diodo Led Indicador Que Una Fijacin De Voltaje Est En
Proceso.
Procesando Var Portb.1
Declaracin De Parmetros Utilizados En El Adc.
Define
Define
Define
Adc_Bits
Adc_Clock
Adc_Sampleus
10
1
10
'Nmero De Bits En La Lectura.
'Set Clock Source (3=RC).
'Tiempo De Muestreo En Us.
UNSA Leonidas Alberto Miano Cuentas 64 | P g i n a
Declaracin De Parmetros Utilizados En El Pwm.
Define
Define
Define
Ccp1_Reg
Ccp1_Bit
Hpwm2_Timer
Portc
2
1
'Puerto A Ser Utilizado Para El Hpwm.
'Bit Utilizado Para El Hpwm.
'Seleccin De Temporizador Para El Hpwm.
'Declaracin De Variables Utilizadas Por La Librera De Operaciones Con Punto Flotante.
Fpplaces Var Byte 'Usado Para Definir El Nmero De Decimales En Las
Funciones Fpdisplay, Fpdisplayr.
'Requerida Por Fpdisplay.
'Requerida Por Fpdisplay.
Ahold
Bhold
Var
Var
Word
Word
'Declaracin De Variables Utilizadas A Lo Largo Del Programa Principal.
Val_Adc
Vmax
Variac
Duty
Fpwm
Valor
Error
Prom
Temp
Var
Con
Var
Var
Con
Var
Var
Var
Var
Word
300
Word
Word
120
Word
Word
Word
Word
'Valor Ledo Por El Adc.
'Lmite Mximo De Voltaje Ac Del Variac.
'Muestra El Voltaje Ledo En El Variac.
'Duty Cycle Value (Ccpr1l:Ccp1con<5:4>).
'Frecuencia Del Pwm En Hz.
'Diferencia De Voltaje Entre El Valor Requerido Y
El Valor Ledo.
'Valor Pico-Pico Mximo.
'Valor Pico-Pico Mnimo.
Val1
Val2
Var
Var
Word
Word
Trisa
Trisb
Trisd
Trisc
= %11111111
= %00000000
= %11110000
= %11111000
'Fija Todo El Puerto A Como Entrada.
'Fija Todo El Puerto B Como Salida.
'Fija Entradas Y Salidas Del Puerto D.
'Fija Entradas Y Salidas Del Puerto D.
'Fija El Puerto A Como Analgico Y
Justifica El Resultado A La Derecha.
'Pausa De Inicio.
'Borrado De Pantalla.
'Bit Apagado.
Adcon1 = %10000010
Pause 100
Lcdout $Fe, 1
Low Procesando
Start: Lcdout $Fe, $80, "
Lcdout $Fe, $C0, "
Pause 1000
U. P. S. " 'Muestra En Pantalla " U. P. S "
'Muestra En Pantalla " Guayaquil "
'Pausa De Un Segundo
'Borrado De Pantalla.
'Muestra En Pantalla "Lectura Actual: ".
'Conversin De Binario 8 Bits A
Voltaje Ac Para Ser Visualizado En
El Adc.
'Mover Y Mostrar En La Segunda
Lnea "Vrms: ".
Guayaquil "
Lcdout
Lcdout
Gosub
$Fe, 1
$Fe, $80, "Lectura Actual: "
Voltaje_Ac
Uno:
Dos:
Lcdout $Fe,$C0,"Vrms: "
UNSA Leonidas Alberto Miano Cuentas 65 | P g i n a
Fpplaces = 1 : Gosub Fpdisplayr 'Llamado A La Rutina De
Vizualizacin De Valores
'Con Decimales. Variac = Aint
Pause 200
If Mas = 1 Then
High Giro2
'Incrementar Manualmente Voltaje Del Variac.
'Configuracin Del Ic L293d Para Avance Del
Motor.
Low Giro1
Duty = 75 'Porcentaje Del Hpwm.
Else
If (Menos = 1) And (Variac > 0) Then 'Decrementar
Manualmente
Voltaje Del Variac.
Low Giro2 'Configuracin Del Ic L293d Para Avance
Del Motor.
High Giro1
Duty = 75 'Porcentaje Del Hpwm.
'Paro Del Motor.
'Configuracin Del Ic L293d Para Parar El
Motor.
Else
Low Giro2
Low Giro1
Duty = 0 'Porcentaje Del Hpwm.
Endif
Endif
Hpwm 1, Duty,Fpwm 'Activa El Pwm En Una Frecuencia Fpwm
Y Un Ciclo De Trabajo Duty
'En El Canal 1, Es El Bit 2 Del Puerto C.
'Si Se Presiona El Pulsador De Fijar
'Borrado De Pantalla.
If Fijar = 1 Then
Lcdout $Fe, 1 Leer1:
Lcdout $Fe, $80, "Ingrese Valor A"
Lcdout $Fe, $C0, "Fijarse: "
Error = 0
Valor = 0
'Muestra En Pantalla "Ingrese Valor A"
'Muestra En Pantalla "Fijarse: ".
'Inicializacin De Variable.
'Inicializacin De Variable.
For Error = 0 To 2
Gosub Teclado
'Lazo Para Ingreso De 3 Nmeros.
'Ingreso De Datos Por El Teclado Matricial. Leer2:
If (Tecla = 10) Or (Tecla = 12) Then 'Seguridad En El Momento De
Presionar La Tecla
Goto Leer2 ' # Y * Pues No Representan Un Numero.
Else
Valor = Valor*10 + Tecla 'Operacin Para Sumar Y Totalizar
Los Nmeros Ingresados Desde El
Teclado.
'Muestra El Nmero Pulsado En El
Teclado Matricial.
Lcdout Hex Tecla
Endif
Next Error
UNSA Leonidas Alberto Miano Cuentas 66 | P g i n a
If Valor > 300 Then 'Seguridad Para Que El Ingreso De Voltaje
Requerido No Sea Mayor Que El Lmite De
Diseo (300 Voltios).
'Borrado De Pantalla. Lcdout $Fe, 1
Lcdout $Fe, $80, "El Valor ",Dec Valor, "V " 'Muestra En Pantalla "El
Valor Xxx V". 'Muestra
En Pantalla "Excede El
Lmite ". 'Pausa De Tres
Segundos.
Lcdout $Fe, $C0, "Excede El Lmite "
Pause 3000
Goto Leer1
Endif
Pause 100
Lcdout $Fe, 1
Lcdout $Fe, $80, "Desea Fijar:"
Lcdout $Fe, $C0, " ", Dec Valor, " Vrms"
'Pausa De 100 Milisegundos.
'Borrado De Pantalla.
'Muestra En Pantalla "Desea Fijar:".
'Muestra En Pantalla " Xxx Vrms ".
Tres:
If Cancelar = 1 Then 'Opcin Para Cancelar La Regulacin Automtica
De Voltaje.
Goto Uno
Endif
If Aceptar = 0 Then 'Opcin Para Aceptar La Regulacin Automtica
De Voltaje.
'Lazo De Espera. Goto Tres
Endif
High Procesando
Lcdout $Fe, 1
Gosub Voltaje_Ac
'Borrado De Pantalla.
'Conversin Entre Un Dato De 10bits Ledo Desde
El Adc A Un Valor De Voltaje Ac Rms Tipo Real.
'Conversin De Un Dato Real A Entero.
X:
Gosub Ftoia
Variac = Aint
If Variac > Valor Then 'Configuracin Del Sentido De Giro Del Motor Dc
Dependiendo
'Del Valor Actual Y El Valor Deseado. Esto Causar
Que El Variac Aumente o Disminuya Su Valor rms.
High Giro1
Low Giro2
Else
Low Giro1
High Giro2
Endif
Error = Abs (Variac - Valor) 'Diferencia De Valores Entre El Voltaje Deseado Y
El Voltaje Ledo.
If Error > 250 Then 'Control Del Porcentaje De Trabajo Del Pwm Del
Motor Dc En Funcin Del Error Generado.
UNSA Leonidas Alberto Miano Cuentas 67 | P g i n a
Duty = 220
Else 'Para Errores Mayores A 250v El Porcentaje De
Trabajo Asignado Es 86%,
'Para Errores Entre 250 Y 5 V La Ecuacin Es Duty
= Error, Y Para Errores Menores A 5v
'La Ecuacin Asignada Es Duty = Error / 2.
If Error > 5 Then
Duty = Error
Else
Duty = Error/2
Endif
Endif
Lcdout $Fe, $80, "Fijando:", Dec Valor,"Vrms" 'Muestra En Pantalla
"Fijando: Xxx Vrms".
Lcdout $Fe, $C0, Dec Variac,"Vrms"
Lcdout $Fe, $C9, "E:", Dec Error,"
'Muestra En Pantalla "Xxx Vrms".
'Muestra En Pantalla "Xxx Vrms E:
Xxx".
"
Hpwm 1, Duty,Fpwm 'Activa El Pwm En Una Frecuencia Fpwm Y Un
Ciclo De Trabajo Duty en El Canal 1, Es El Bit 2
Del Puerto C.
If Error =< 1 Then
Duty = 0
Hpwm 1, Duty,Fpwm
Lcdout $Fe, 1
Low Procesando
Goto Uno
Endif
Goto X
Endif
Goto Uno
'Borrado De Pantalla.
'Bit Encendido.
'**************************************************************************
'************************** Subrutinas A Utilizar **********************
'**************************************************************************
'**************** Conversin Del Valor Binario Ledo Por El Adc ******************
'**************** A Un Valor Equivente De Voltaje Rms ********************
Voltaje_Ac: Val1 = 0 'Carga Una Variable Con Un Valor Inicial.
'Carga Una Variable Con Un Valor Inicial.
'Lazo De Control Para Ingreso De Dos Nmero.
'Pausa De 1 Milisegundos.
'Lectura De Dato Analgico.
'Condicin Establecer Un Valor De
Variacin Mximo
'En El Rizo Del Sensor De Voltaje.
Val2 = 30000
For Temp = 0 To 50 Step 1
Pause 1
Adcin 0, Val_Adc
If Val_Adc > Val1 Then
Val1 = Val_Adc
Endif
If Val_Adc < Val2 Then 'Condicin Establecer Un Valor De
UNSA Leonidas Alberto Miano Cuentas 68 | P g i n a
Variacin Mnimo
'En El Rizo Del Sensor De Voltaje. Val2 = Val_Adc
Endif
Next Temp
Prom = (Val1+Val2)/2
Prom = Prom & $Fffe
Aint = Vmax
Gosub Itofa
'Valor Promedio Del Sensor.
'Supresin De Bits Con Ruido.
'Conversin De Tipo Entero A Real Del
Valor Almacenado en la Variable Aint.
Bint = Prom
Gosub Itofb 'Conversin De Tipo Entero A Real Del
Valor Almacenado en La Variable Bint.
'Multiplicacin Tipo Real De Aint Con Bint. Gosub Fpmul
Bint = 1023
Gosub Itofb 'Conversin De Tipo Entero A Real Del
Valor Almacenado En La Variable Bint.
'Divisin Tipo Real De Aint Para Bint.
'Resultado Tipo Real Asignado A La Variable Variac.
Gosub Fpdiv
Variac = Aint
Return
'************** Subrutina Para Manejar Un Teclado Matricial ********************
'****************** De 4 Filas X 3 Columnas ***********************
Teclado: Tecla = 0
Tecla = Tecla + 1
Filas = 1
Nap 2
'Carga Una Variable Con Un Valor Inicial.
'Incremento En 1 De La Variable Tecla.
'Carga Una Variable Con Un Valor Inicial.
'Pausa Momentnea.
Ch_Col: If Cancelar = 1 Then
Tecla = 0
Goto Uno
Endif
'Pregunta Por La Opcin Cancelar Por El Usuario.
'Seguridad Para Casos De Salto.
'Regreso A Lazo Principal.
If Aceptar = 1 Then
Wait_A: If Aceptar = 1 Then
Goto Wait_A
Endif
Lcdout $Fe, 1
Goto Tres
Endif
'Pregunta Por La Opcin Aceptar Cuando El Usuario
'Ya Ha Fijado El Valor Requerido.
'Se Espera Que Termine De Pulsar.
'Borrado De Pantalla.
'Salta Para Preguntar Confirmacin.
If Col1 = 1 Then
Goto Anti
Else
Tecla = Tecla + 1
Endif
'Verifica Si La Tecla Pulsada Pertenece A
'la Primera Colummna, Es Decir, 1,4,7 *.
'Caso Contrario Le Variable Tecla Aumenta En 1.
If Col2 = 1 Then 'Verifica Si La Tecla Pulsada Pertenece A
UNSA Leonidas Alberto Miano Cuentas 69 | P g i n a
Goto Anti
Else
Tecla = Tecla + 1
Endif
'la Segunda Colummna, Es Decir, 2,5,8 0.
'Caso Contrario Le Variable Tecla Aumenta En 1.
If Col3 = 1 Then
Goto Anti
Else
Tecla = Tecla + 1
Endif
'Verifica Si La Tecla Pulsada Pertenece A
'la Tercera Colummna, Es Decir, 3,6,9 #.
'Caso Contrario Le Variable Tecla Aumenta En 1.
Ultima: If Tecla > 12 Then 'Si No Se Ha Pulasdo Alguna Tecla, Se Reinicia
'el Contador (Variable Tecla) Y Comienza El Ciclo
'nuevamente. Caso Contrario Se Desplaza Hacia
'abajo Una Fila Y Nuevamente Se Revisa Cada Columna.
Ntecla: Tecla = 0
Goto Teclado
Else
Filas = Filas << 1
Goto Ch_Col
Endif
Tecla = 0
Goto Teclado
Anti: Nap 1
Wait1: If
Goto
Endif
Wait2: If
Goto
Endif
Wait3: If
Goto
Endif
'Pausa Momentnea.
'Se Espera Que Termine De Pulsar. Col1 = 1 Then
Wait1
Col2 = 1 Then
Wait2
'Se Espera Que Termine De Pulsar.
Col3 = 1 Then
Wait3
'Se Espera Que Termine De Pulsar.
Select Case Tecla
Case 11
Tecla = 0
End Select
'En El Caso De La Tecla "0" Al Ser Detectada
'un Valor De 11 Pero Con Estas Lneas Se Asigna
'el Valor Real De 0.
Return
'La rutina Fpdisplayr chequea el numero de decimales para luego redondear apropiadamente
'el nmero, para ahorrar espacio en memoria en nmero es codificado en formato de punto
'flotante.
Fpdisplayr: ;If Fpplaces=0 Then ' Set Floating Point Barg To 0.5
;
;
;
;
;Endif
Bexp = $7e
Bargb0 = $00
Bargb1 = $00
Bargb2 = $01
UNSA Leonidas Alberto Miano Cuentas 70 | P g i n a
If Fpplaces=1 Then
Bexp = $7a
Bargb0 = $4c
Bargb1 = $Cc
Bargb2 = $Cd
Endif
;If Fpplaces=2 Then
' Set Floating Point Barg To 0.05
' Set Floating Point Barg To 0.005
;
;
;
;
;Endif
Bexp = $77
Bargb0 = $23
Bargb1 = $D7
Bargb2 = $0b
;If Fpplaces=3 Then ' Set Floating Point Barg To 0.0005
;
;
;
;
;Endif
Bexp = $74
Bargb0 = $03
Bargb1 = $12
Bargb2 = $6f
;If Fpplaces=4 Then ' Set Floating Point Barg To 0.00005
;
;
;
;
;Endif
Bexp = $70
Bargb0 = $51
Bargb1 = $B7
Bargb2 = $17
Gosub Fpadd ' Add Barg To Aarg
'La rutina Fpdisplay muestra el nmero en formato de punto flotante en un display, teniendo
como lmites desde 65535 y cuatro decimales, despus de llamar a esta rutina el nmero es
convertido nuevamente en entero.
Fpdisplay: Bexp = Aexp ' Store The Fp Value Of Aarg To The Barg Variables
Bargb0 = Aargb0
Bargb1 = Aargb1
Bargb2 = Aargb2
Gosub Ftoia
Ahold = Aint
' Convert Aarg To Integer
' Save This Value For The Final Display
Gosub Itofa ' Convert Integer Back To Float
Swap Aexp,Bexp ' Swap The Fp Values Of Aarg And Barg
Before Subtraction
Swap Aargb0,Bargb0
Swap Aargb1,Bargb1
Swap Aargb2,Bargb2
UNSA Leonidas Alberto Miano Cuentas 71 | P g i n a
Gosub Fpsub ' Subtract The Integer Portion From The Full
Number
' Make Bint = 10 E Fpplaces Bint = 10
If Fpplaces=2 Then
Bint = 100
Endif
If Fpplaces=3 Then
Bint = 1000
Endif
If Fpplaces=4 Then
Bint = 10000
Endif
Bhold = Bint
Gosub Itofb Gosub
Fpmul Gosub
Ftoia Lcdout Dec
Ahold
'Save The Integer Value Of Bint For Zeros Loop
'Convert Bint To Integer Prior To Fp Multiply
'Multiply The Decimal Portion X 10 E Fpplaces
'Convert Result To Aint Integer
' Display Integer Portion
If Fpplaces > 0 Then
Lcdout "."
Bhold = Bhold / 10
' Display Decimal Point
' Set Bhold To Be Next Place To Right Zeros:
If (Aint < Bhold) And (Bhold > 1) Then ' Check For
Leading Zero In Decimal
' Display Leading Zero
' Loop To Check For Another Zero
Lcdout "0"
Goto Zeros
Endif
Lcdout Dec Aint ' Display The Rest Of The Decimal
Portion
Endif
Aint = Ahold
Return
' Restore The Original Value Of Aint