Professional Documents
Culture Documents
TESIS
Implementación de Generador/Monitor de señales 4-20 mA. En un
sistema de agua potable
PRESENTA:
ASESOR:
ACUERDO N° 2002189
Dedico este trabajo a las personas que han estado
a mi lado durante todo este tiempo, en especial a
mis Padres Ramón Carmona y Luz María Medina; y
hermanos Pablo y Patrizio, quienes han confiado a
lo largo de este trayecto y que sin su apoyo no
sería posible.
ÍNDICE ___________________________________________________________________ i
TABLA DE CONTENIDO ______________________________________________________________ i
LISTA DE ILUSTRACIONES ___________________________________________________________ iii
JUSTIFICACIÓN_____________________________________________________________ v
OBJETIVO ________________________________________________________________ vi
OBJETIVOS PARTICULARES __________________________________________________________ vi
CARACTERÍSTICAS DE DISPOSITIVO ___________________________________________________ vi
METODOLOGIA ___________________________________________________________ vii
SUJETOS _______________________________________________________________________ vii
MATERIAL ______________________________________________________________________ vii
PROCEDIMIENTO ________________________________________________________________ vii
Capítulo 1 INTRODUCCION _________________________________________________ 1
1.1 TEORÍA DE CARGAS __________________________________________________________ 1
1.2 UNIDADES __________________________________________________________________ 2
1.2.1 CORRIENTE ____________________________________________________________ 2
1.2.2 RESISTENCIA ___________________________________________________________ 3
1.2.3 VOLTAJE ______________________________________________________________ 4
1.3 LEYES ELECTRICAS____________________________________________________________ 5
1.3.1 LEY DE OHM ___________________________________________________________ 5
1.3.2 LEY DE WATT ___________________________________________________________ 6
1.3.3 LEY DE KIRCHHOFF ______________________________________________________ 7
Capítulo 2 CONTROL DE FLUJO DE CORRIENTE ________________________________ 13
2.1 FUENTES DE VOLTAJE ________________________________________________________ 13
2.2 FUENTES DE CORRIENTE _____________________________________________________ 15
2.3 TIPOS DE CONTROL DE CORRIENTE _____________________________________________ 16
2.4 RESISTENCIA COMO DISPOSITIVO ELECTRÓNICO __________________________________ 17
2.5 SEMICONDUCTORES _________________________________________________________ 19
2.6 EL DIODO _________________________________________________________________ 20
2.7 TRANSISTORES _____________________________________________________________ 22
2.8 AMPLIFICADORES OPERACIONALES ____________________________________________ 26
Capítulo 3 LAZO DE CORRIENTE DE 4-20 mA. __________________________________ 31
3.1 SISTEMAS DE CONTROL ______________________________________________________ 31
3.2 TIPOS DE CONTROL _________________________________________________________ 32
3.2.1 SISTEMA DE CONTROL EN LAZO ABIERTO ___________________________________ 32
3.2.2 SISTEMA DE CONTROL DE LAZO CERRADO __________________________________ 33
3.3 SISTEMA DE ADQUISICION DE DATOS ___________________________________________ 35
3.3.1 CONVERTIDOR ANALOGICO-DIGITAL (ADC) _________________________________ 36
3.3.2 CONVERTIDOR DIGITAL-ANALOGICO (DAC) _________________________________ 38
3.4 LAZO DE CORRIENTE DE 4-20mA _______________________________________________ 40
3.4.1 COMPONENTES DE LAZO DE CORRIENTE DE 4-20mA __________________________ 40
3.4.2 ESTÁNDAR DE NORMA LAZO DE CORRIENTE DE 4-20 mA ______________________ 41
3.4.3 Transmisor 4-20mA ____________________________________________________ 42
3.4.4 Receptor 4-20 mA ______________________________________________________ 43
i
3.4.5 CARACTERÍSTICAS ELÉCTRICAS DE LAZO DE CORRIENTE DE 4-20mA ______________ 43
3.4.6 CONVERTIDOR DE VOLTAJE A CORRIENTE ___________________________________ 45
3.4.7 CONVERTIDOR DE CORRIENTE A VOLTAJE___________________________________ 46
3.4.8 CIRCUITOS DE APLICACIÓN ESPECÍFICA _____________________________________ 47
Capítulo 4 USO DE MICROCONTROLADORES __________________________________ 49
4.1 MICROPROCESADOR Y MICROCONTROLADOR ____________________________________ 49
4.2 ARQUITECURA INTERNA _____________________________________________________ 50
4.3 LENGUAJES DE PROGRAMACIÓN _______________________________________________ 53
4.4 FREESCALE HC08GP32 _______________________________________________________ 54
4.4.1 CARACTERÍSTICAS ______________________________________________________ 55
4.4.2 ASIGNACIÓN Y FUNCIÓN DE PINES ________________________________________ 56
4.4.3 MAPA DE MEMORIA ____________________________________________________ 57
4.4.4 INTERRUPCIONES ______________________________________________________ 58
4.4.5 MÓDULO ADC _________________________________________________________ 59
4.4.6 MÓDULO DE TECLADO __________________________________________________ 59
4.4.7 MÓDULO TIM _________________________________________________________ 60
Capítulo 5 DESARROLLO E IMPLEMENTACIÓN _________________________________ 61
5.1 GENERADOR DE LAZO DE 4-20mA ______________________________________________ 64
5.1.1 GENERADOR DE CORRIENTE _____________________________________________ 64
5.1.2 CONVERTIDOR DIGITAL-ANALÓGICO _______________________________________ 65
5.1.3 TRANSMISOR 4-20mA __________________________________________________ 67
5.2 RECEPTOR DE LAZO DE 4-20mA ________________________________________________ 68
5.3 INTERFACES DE ENTRADA Y SALIDA ____________________________________________ 69
5.3.1 CONTROLADOR DE TECLADO MATRICIAL ___________________________________ 69
5.3.2 DISPLAY ALFANÚMERICO ________________________________________________ 70
5.4 MICROCONTROLADOR _______________________________________________________ 71
5.5 ALIMENTACIÓN ____________________________________________________________ 73
5.6 IMPLEMENTACIÓN DEL DISPOSITIVO ___________________________________________ 75
5.7 OPERACIÓN Y USO DEL DISPOSITIVO GENERADOR/MONITOR DE SEÑALES DE 4-20mA ___ 77
5.7.1 TECLADO MATRICIAL ___________________________________________________ 77
5.7.2 PANTALLA DE VISUALIZACIÓN Y FLUJO DE PROGRAMA ________________________ 77
5.7.3 DIAGRAMAS DE CONEXIÓN ______________________________________________ 79
5.8 RESULTADOS Y OBSERVACIONES _______________________________________________ 81
5.8.1 TRANSMISOR DE LAZO DE 4-20mA ________________________________________ 81
5.8.2 RECEPTOR DE LAZO DE 4-20mA ___________________________________________ 82
CONCLUSIONES ___________________________________________________________ 83
Capítulo 6 APÉNDICE _____________________________________________________ 86
A.1 CÓDIGO DE PROGRAMA _______________________________________________________ 86
MAIN.C ______________________________________________________________________ 86
POGRAMA.C _________________________________________________________________ 88
6.1.1 LCD.C _______________________________________________________________ 106
teclado.c ___________________________________________________________________ 111
BANDERA.H _________________________________________________________________ 114
LIBPERSONAL.H ______________________________________________________________ 115
A.2 ESQUEMÁTICOS _____________________________________________________________ 116
TRANSMISOR 4-20mA _________________________________________________________ 117
TECLADO MATRICIAL __________________________________________________________ 118
ALIMENTACION ______________________________________________________________ 119
GENERADOR/MONITOR 4-20mA ________________________________________________ 120
BIBLIOGRAFÍA ___________________________________________________________ 121
REFERENCIAS BIBLIOGÁFICAS _____________________________________________________ 121
REFERENCIA NO BIBLIOGRÁFICA ___________________________________________________ 122
ii
LISTA DE ILUSTRACIONES
Figura 1-1 Circuito básico _______________________________________________________________ 6
Figura 1-2 Circuito serie ________________________________________________________________ 7
Figura 1-3 Circuito serie equivalente ______________________________________________________ 8
Figura 1-4 Ley de voltaje de Kirchhoff en un circuito serie ____________________________________ 9
Figura 1-5 Elementos en paralelo ________________________________________________________ 10
Figura 1-6 Conductancia y resistencia en el circuito paralelo _________________________________ 11
Figura 1-7 Ley de corriente de Kirchhoff __________________________________________________ 12
Figura 2-1 Fuente ideal de voltaje _______________________________________________________ 14
Figura 2-2 Resistencia interna de la fuente ________________________________________________ 14
Figura 2-3 Fuente de corriente __________________________________________________________ 15
Figura 2-4 Gráfica “corriente constante” __________________________________________________ 16
Figura 2-5 Símbolo de resistencia _______________________________________________________ 17
Figura 2-6 Símbolos de resistencia _______________________________________________________ 18
Figura 2-7 Diodo _____________________________________________________________________ 20
Figura 2-8 Unión PN __________________________________________________________________ 21
Figura 2-9 Polarización de una unión PN __________________________________________________ 21
Figura 2-10 Diodo ideal ________________________________________________________________ 22
Figura 2-11 Estructura del transistor _____________________________________________________ 23
Figura 2-12 Flujo de electrones en el transistor polarizado ___________________________________ 23
Figura 2-13 Flujo de corriente en el transistor _____________________________________________ 24
Figura 2-14 Configuración emisor común _________________________________________________ 25
Figura 2-15 Zonas de funcionamiento del transistor ________________________________________ 26
Figura 2-16 Amplificador operacional ideal _______________________________________________ 27
Figura 2-17 Alimentación del amplificador operacional ______________________________________ 28
Figura 2-18 Voltaje de salida con respecto a la entrada en el amplificador operacional____________ 29
Figura 3-1 Diagrama a bloques de un sistema de control en lazo abierto _______________________ 32
Figura 3-2 Diagrama básico de sistema de control en lazo abierto _____________________________ 33
Figura 3-3 Sistema de control en lazo cerrado _____________________________________________ 33
Figura 3-4 Sistema de control digital _____________________________________________________ 34
Figura 3-5 Sistema de control de temperatura, control de lazo cerrado ________________________ 35
Figura 3-6 Elementos del sistema de adquisición de datos digital _____________________________ 36
Figura 3-7 Componentes de un lazo de corriente ___________________________________________ 41
Figura 3-8 Tipo 2 _____________________________________________________________________ 42
Figura 3-9 Tipo 3 _____________________________________________________________________ 42
Figura 3-10 Tipo 4 ____________________________________________________________________ 42
Figura 3-11 Cálculo de caída de voltaje ___________________________________________________ 43
Figura 3-12 Efectos de resistencia del cable _______________________________________________ 45
Figura 3-13 Convertidor de voltaje a corriente para cargas flotantes ___________________________ 45
Figura 3-14 Convertidor de voltaje a corriente con carga aterrizada ___________________________ 46
Figura 3-15 Convertidor de corriente a voltaje _____________________________________________ 47
Figura 4-1 Elementos esenciales y opcionales de un microcontrolador _________________________ 50
Figura 4-2 Unidad aritmético lógica ______________________________________________________ 51
Figura 4-3 Distribución de pines para el HC08GP32 _________________________________________ 56
Figura 4-4 Mapa de memoria de HC08GP32 _______________________________________________ 57
Figura 5-1 Sistema de control en lazo cerrado _____________________________________________ 61
Figura 5-2 Sistema de control, con entrada de realimentación generada externamente ___________ 62
Figura 5-3 Monitor de lazo de corriente __________________________________________________ 62
Figura 5-4 Esquema de interconexión interna a bloques _____________________________________ 63
Figura 5-5 Convertidor de voltaje a corriente ______________________________________________ 65
Figura 5-6 DAC0800, con salida de baja impedancia positiva _________________________________ 66
Figura 5-7 Transmisor 4-20mA de 3 hilos _________________________________________________ 67
Figura 5-8 Conexión básica de RCV420 ___________________________________________________ 68
Figura 5-9 Esquema controlador de teclado maticial ________________________________________ 70
Figura 5-10 Conexión de display 4X16 caracteres ___________________________________________ 71
iii
Figura 5-11 Distribución de recursos en el microcontrolador _________________________________ 72
Figura 5-12 Ajuste de voltaje para regulador positivo _______________________________________ 74
Figura 5-13 Ajuste de voltaje para regulador negativo ______________________________________ 74
Figura 5-14 Etapa de alimentación_______________________________________________________ 75
Figura 5-15 Esquemático para el dispositivo generador y monitor de 4-20mA ___________________ 76
Figura 5-16 Descripción de teclado matricial ______________________________________________ 77
Figura 5-17 Pantallas de visualización y funciones __________________________________________ 78
Figura 5-18 Pantalla de señal para generador______________________________________________ 79
Figura 5-19 Pantalla frecuencia para generador ____________________________________________ 79
Figura 5-20 Transmisor alimentado por fuente externa _____________________________________ 80
Figura 5-21 Receptor, con fuente de alimentación externa para transmisor externo ______________ 80
iv
JUSTIFICACIÓN
En el área del control automático se cuenta con una gran variedad de
dispositivos que generan o adquieren información a través de la norma 4-
20 mA, los generadores pueden ser sensores, mientras que los receptores
son aparatos destinados a realizar el control en un sistema. Sin embargo
no existen dispositivos como tal, que fuera del sistema de control,
permitan interactuar dentro del lazo, para hacer pruebas de manera
manual a supervisores del sistema.
v
OBJETIVO
Desarrollar un dispositivo orientado a ser utilizado en el campo de la
automatización, capaz de generar y monitorear señales de 4-20mA, para
facilitar la inspección de lazos de corriente en sistemas de agua potable.
OBJETIVOS PARTICULARES
CARACTERÍSTICAS DE DISPOSITIVO
Salida de corriente variable entre 4 y 20mA
vi
METODOLOGIA
SUJETOS
El proyecto desarrollado está dirigido a personas que lo utilicen
como herramienta en la implementación, inspección y
mantenimiento de sistemas de control, que funcionen bajo el
estándar 4-20 mA.
MATERIAL
PROCEDIMIENTO
vii
para la transmisión de datos. Una vez que se obtuvo la suficiente
información, se realizó una investigación sobre circuitos de aplicación
específica que se contemplaron para su probable utilización en el
proyecto.
viii
Capítulo 1 INTRODUCCION
Cuando una carga eléctrica, está en movimiento a través de un algún material, se dice
que existe una corriente eléctrica. Para mantener constante un flujo de cargas
eléctricas, es necesario contar con una fuente que suministre cargas negativas en un
lado y positivas en otro.
1
manera similar cuando el desequilibrio entre electrones y protones es mayor, se
genera un voltaje o fuerza mayor entre los puntos cargados.
Al colocar una trayectoria para que los electrones se muevan hacia los protones, se
genera un movimiento conocido como flujo de corriente. El número de electrones que
se mueven dependerá de la fuerza o voltaje que actué entre los puntos y de la
facilidad que proporciones la trayectoria. Sí la trayectoria es flexible al paso de
electrones, el flujo de corriente será intenso, aún cuando la fuerza sea pequeña. Sí los
electrones se mueven con facilidad a través de la trayectoria, se habla de que la
trayectoria ofrece una resistencia baja, cuando la trayectoria obstaculiza el
movimiento de electrones es porque tiene una resistencia alta, por lo que el flujo de
corriente será ligero, aún si la fuerza que actúa entre los puntos es alta.
1.2 UNIDADES
Para expresar una cantidad de fuerza, energía o flujo, primero debe existir una
referencia llamada unidad de fuerza, energía o flujo. Al trabajar con la corriente,
resistencia y voltaje se debe definir una unidad de corriente, una de resistencia y una
unidad de voltaje. Cada una de ellas se define al observar, su forma natural de
comportamiento.
1.2.1 CORRIENTE
1C
Carga/electrón = 𝑄𝑒 = = 1.6 × 10−19 C
6.242 × 108
𝑄 1
𝐼= 𝐼 = ampere A
𝑡
𝑄 = coulombs C
1 𝑡 = tiempo (s)
André-Marie Ampére (Poleymieux-au-Mont-d'Or, 20 de enero de 1775 - † Marsella, 10 de junio de
1836), físico francés considerado como uno de los descubridores del electromagnetismo. En 1827
público “Teoría de los fenómenos electrodinámicos”, donde expuso la Ley de Ampére. En su honor, el
amperio fue designada como unidad de medida de la intensidad de corriente eléctrica
2
La letra mayúscula 𝐼 se eligió a partir de la palabra francesa utilizada para referirse a la
corriente intensite.
1.2.2 RESISTENCIA
Mientras mayor será la trayectoria que deban recorrer los electrones mayor será la
resistencia del material, mientras que a mayor área será menor la resistencia gracias al
espacio disponible. Por lo que la resistencia en todo material de área transversal
uniforme será directamente proporcional a la longitud e inversamente proporcional al
área.
3
La resistividad está definida como la resistencia de un alambre de 1 m de largo y 1 m2
de sección transversal.
1.2.3 VOLTAJE
Una diferencia de potencial o voltaje siempre se mide entre dos puntos en el sistema.
Al cambiar cualquiera de los puntos, cambia la diferencia de potencial entre los dos
puntos bajo análisis.
La unidad de medición del voltaje es el volt, nombre que fue dado en honor al físico
italiano Alessandro Volta3. El volt en términos de la corriente y la resistencia, se define
como la fuerza o presión requerida para que 1 ampere de corriente fluya a través de
una resistencia de 1 ohm. La abreviatura designada para el volt es V.2
2
Alessandro Giuseppe Antonio Anastasio Volta (febrero 18 de 1745 - marzo 5 de 1827), físico italiano,
famoso por el desarrollo de la batería eléctrica. La unidad de fuerza electromotriz del Sistema
Internacional, lleva el nombre de voltio desde el año 1881
4
1.3 LEYES ELECTRICAS
En su forma más básica, la combinación de los elementos antes mencionados voltaje,
corriente y resistencia, forman el circuito eléctrico, como lo es la batería eléctrica y
alguna carga. Gracias a que todo elemento electrónico está diseñado para manipular
las señales eléctricas, tenemos que El circuito eléctrico es la interconexión de distintos
elementos eléctricos como resistencias, inductores, capacitores fuentes de voltaje,
fuentes de corriente, líneas de transmisión, switches o electrónicos Con la finalidad
de generar, transportar o modificar señales eléctricas.
En los circuitos eléctricos se pueden identificar varias partes, que lo identifican como
un circuito, de manera básica se consideran:
Ley de Ohm
Ley de Watt
Ley de Kirchhoff para el voltaje
Ley de Kirchhoff para la corriente
𝑑𝑖𝑓𝑒𝑟𝑒𝑛𝑐𝑖𝑎 𝑑𝑒 𝑝𝑜𝑡𝑒𝑛𝑐𝑖𝑎𝑙 𝑉
𝐶𝑜𝑟𝑟𝑖𝑒𝑛𝑡𝑒 = =𝐼= A
𝑟𝑒𝑠𝑖𝑠𝑡𝑒𝑛𝑐𝑖𝑎 𝑅
5
Mediante manipulación algebraica simple es posible obtener los valores de Voltaje (V)
y Resistencia (R) respectivamente.
𝑉 = 𝑅𝐼 (V)
𝑉
𝑅= (Ω)
𝐼
La Figura 1-1 nos muestra los tres elementos voltaje, corriente y resistencia, en un
circuito sumamente básico. La letra E se utiliza para el voltaje de la fuente mientras
que la letra V representa las caídas de voltaje en un resistor.
+ +
R
E V
_ _
1𝑗𝑜𝑢𝑙𝑒 𝐽
1 𝑤𝑎𝑡𝑡 𝑊 = ( )
𝑠𝑒𝑔𝑢𝑛𝑑𝑜 𝑠
3
James Watt (19 de enero de 1736 - 19 de agosto de 1819), matemático e ingeniero escocés. Nacido en
Greenock, escocia. Vivió y trabajo en Inglaterra, fue elegido miembro de la Real sociedad de Londres en
1785. Diseño instrumentos matemáticos como el cuadrante, la brújula y varias escalas. Introdujo el
término caballo de potencia como la potencia promedio que desarrollada por un caballo fuerte en un
día de trabajo.
6
James Watt introdujo el término caballo de potencia (potencia desarrollada por un
caballo fuerte durante un día de trabajo). El caballo y el watt se relacionan de la
siguiente manera:
R1
a b R3
R1
b I
I I
R2
E
R2
I I
c
Las resistencias del inciso (a) de Figura 1-2 se encuentran en serie, debido a que las
terminales de R1 y R2 solo cuentan con un punto en común (punto b). Los dos
7
extremos restantes están conectados a la fuente de alimentación, para este circuito, la
fuente también está en serie con las resistencias, en R1 por el punto a y con R2 por el
punto c. En Figura 1-2 (b) las resistencias R1 y R2 no están en serie debido a que en el
punto b, la terminal de un tercer elemento hace que parte de la corriente fluya en otra
dirección.
a) Para todo circuito en serie la corriente es la misma a través de los elementos que se
encuentren en serie. En Figura 1-2 se puede ver claramente en (a), mientras que en (b)
hay una desviación de una parte de la corriente.
Para Figura 1-2 (a), se muestra un circuito equivalente en la Figura 1-3, donde
𝑅𝑇 = 𝑅1 + 𝑅2 y en general para cualquier circuito de N resistores en serie, la ecuación
será:
𝑅𝑇 = 𝑅1 + 𝑅2 + 𝑅3 + ⋯ + 𝑅𝑁
Una vez que se conoce la resistencia total del circuito 𝑅𝑇 , la corriente extraída de la
fuente puede calcularse a partir de la Ley de Ohm:
𝐸
𝐼𝑇 =
𝑅𝑇
IS
RT
E RT =R1+R2
IT
Remplazo de R1 R2 Por RT
8
Gracias a que la corriente es la misma para todos para todos los elementos de la Figura
1-2 (a), se puede determinar el voltaje para cada elemento del circuito utilizando la ley
de Ohm:
La potencia entregada para cada elemento del circuito puede determinarse con
cualquiera de las siguientes ecuaciones que se presentan para el caso de 𝑅1
𝑉12
𝑃1 = 𝑉1 𝐼1 = 𝐼12 𝑅1 = ( )
𝑅1
La potencia entregada por la fuente es:
𝑃𝐸 = 𝐸𝐼 = 𝑃1 + 𝑃2 + 𝑃3 + ⋯ + 𝑃𝑁
𝑉𝑒𝑙𝑒𝑣𝑎𝑐𝑖𝑜𝑛𝑒𝑠 = 𝑉𝑐𝑎í𝑑𝑎𝑠
+ V1 -
a b
R1 +
I I
E R2 V2
I I -
4
Gustav Robert Kirchhoff (12 de marzo de 1824 – 17 de octubre de 1887) físico prusiano cuyas
principales contribuciones científicas están en el área eléctrica, teoría de placas, la óptica, la
espectroscopia y la emisión de radiación de cuerpo negro. Sus principales contribuciones son las leyes
eléctricas de Kirchhoff de ingeniería eléctrica.
9
En el caso de Figura 1-4, se puede seguir una trayectoria partiendo la fuente E y
siguiendo en los puntos a, b, c y regresar a E sin abandonar el circuito, generándose así
un lazo cerrado. En la misma figura tenemos representadas las caídas de voltaje con
los signos (+ a -) y las elevaciones de voltaje con los signos (- a +). Por ley de kirchhoff
tendremos que la suma algebraica de caídas y elevaciones será igual a cero.
𝑉𝑒𝑙𝑒𝑣𝑎𝑐𝑖𝑜𝑛𝑒𝑠 + 𝑉𝑐𝑎í𝑑𝑎𝑠 = 0
−𝐸 + 𝑉1 + 𝑉2 = 0
𝐸 = 𝑉1 + 𝑉2
1 2 1 2 3 1 2 3
Igual que para los elementos en serie, la resistencia total del circuito es la suma de los
valores resistivos de cada elemento. Para elementos en paralelo, la conductancia total
es la suma de las conductancias individuales Figura 1-6.
10
GT G1 G2 G3 GN RT R1 R2 R3 RN
𝐺𝑇 = 𝐺1 + 𝐺2 + 𝐺3 + ⋯ 𝐺𝑁
En la Figura 1-6 (b) se han sustituido las conductancias por los valores resistivos de
cada elemento. Como 𝐺 = 1/𝑅 para obtener la Resistencia total del circuito se puede
realizar la sustitución directa en la ecuación:
1 1 1 1 1
= + + +⋯+
𝑅𝑇 𝑅1 𝑅2 𝑅3 𝑅𝑁
𝐼𝑒𝑛𝑡𝑟𝑎𝑛𝑡𝑒 = 𝐼𝑠𝑎𝑙𝑖𝑒𝑛𝑡𝑒
En la Figura 1-7 (a), el área sombreada representa la red de algún circuito eléctrico
complejo, donde se encuentran algunas trayectorias que entran y otras que salen. En
la Figura 1-7 (b) se representa un nodo, que es el ejemplo más común de uniones de
dos o más trayectorias de flujo de corriente. Para cualquiera de los dos casos la de
acuerdo a la ley, la corriente que entra debe ser igual a la que sale, de acuerdo con
esto:
11
I3=8A
I2=1A
I1=4A I1=4A
Red compleja
I2=6A I3=3A
I4=2A
Representación de la ley de corriente de Kirchhoff Ley de corriente de Kirchhoff en un nodo
𝐼𝑒𝑛𝑡𝑟𝑎𝑛𝑡𝑒 = 𝐼𝑠𝑎𝑙𝑖𝑒𝑛𝑡𝑒
𝐼3 + 𝐼4 = 𝐼1 + 𝐼2
8𝐴 + 2𝐴 = 6𝐴 + 4𝐴
10𝐴 = 10𝐴
𝐼𝑒𝑛𝑡𝑟𝑎𝑛𝑡𝑒 = 𝐼𝑠𝑎𝑙𝑖𝑒𝑛𝑡𝑒
𝐼1 = 𝐼2 + 𝐼3
4𝐴 = 1𝐴 + 3𝐴
4𝐴 = 4𝐴
12
Capítulo 2 CONTROL DE FLUJO DE CORRIENTE
Se podría pensar que el flujo convencional siendo erróneo podría causar problemas.
Sin embargo con cualquiera de los flujos se llega a las mismas respuestas, por lo que
cualquiera de los dos flujos es válido.
Una fuente de voltaje es aquella que produce a su salida una diferencia de potencial
constante, que no depende del valor resistivo de una carga. A continuación se
muestra el ejemplo más sencillo de una fuente ideal de voltaje Figura 2-1 (de
resistencia interna igual a 0).
13
I I I
Para cada uno de los ejemplos corresponde un valor de corriente que fluye a través de
la resistencia, para el tercer caso el valor de la corriente variara en función del valor de
la resistencia que coloquemos. Se puede observar que aunque la corriente cambia, el
voltaje se mantiene constante.
En el ejemplo anterior se hizo uso del término fuente de voltaje ideal. Se dice que es
ideal porque la fuente se ve como un elemento que genera una cantidad de voltaje, sin
embargo no se toma en cuenta que también presenta una resistencia interna Figura
2-2. Esta resistencia interna genera una caída de voltaje interna muy pequeña, por lo
que el voltaje reflejado en la carga será ligeramente menor que el de la fuente ideal.
RS
RL >= 100RS
14
𝐹𝑢𝑒𝑛𝑡𝑒 𝑑𝑒 𝑣𝑜𝑙𝑡𝑎𝑗𝑒 𝑐𝑜𝑛𝑠𝑡𝑎𝑛𝑡𝑒: 𝑅𝑆 < 0.01𝑅𝐿
La mínima resistencia de carga que se puede utilizar para mantener una fuente
constante, a partir de la expresión matemática anterior es:
𝑅𝐿(𝑚í𝑛) = 100𝑅𝑆
RS>= 100RL
1MΩ
10V RL
1Ω
𝑉𝑆
𝐼𝐿 =
𝑅𝑆 + 𝑅𝐿
10𝑉
𝐼𝐿 = = 10µ𝐴
1𝑀Ω + 1Ω
15
5
1.5 10
5
Il ( Rl ) 1 10
6
5 10
4 6
1 100 1 10 1 10
Rl
Al igual que en las fuentes de voltaje, existe el término de fuente de voltaje constante,
para fuentes de corriente existe el término “fuentes de corriente constante”. Se
considera una fuente de corriente constante cuando la resistencia de la fuente de
corriente sea al menos 100 veces superior a la resistencia de carga.
𝑅𝐿 > 100𝑅𝐿
La resistencia máxima que se podrá utilizar como resistencia de carga para una fuente
de corriente constante será:
𝑅𝐿(𝑚á𝑥) = 0.01𝑅𝑆
Se puede lograr un control de corriente muy sencillo por medio de dispositivos que
hacen las veces de cargas conocidas como resistencias cuyo valor conocemos o
podemos controlar.
El control de corriente se puede realizar de una manera más precisa mediante el uso
de semiconductores como los diodos, transistores, amplificadores operacionales, etc.
El diseño con dispositivos semiconductores tiene a ser complejo, pero las posibilidades
de control aumentan, en amplificación de corriente, demanda de potencia, control
automático, a través de pequeñas señales, entre otras aplicaciones.
La respuesta entre corriente y voltaje para las resistencias y para los semiconductores
son distintas. Al tratarse de resistencias nos topamos con elementos lineales cuya
relación de corriente es directamente proporcional a su voltaje. Mientras que los
semiconductores ofrecen un comportamiento no lineal en la relación voltaje-corriente.
16
La realización de un control de flujo de corriente eficiente requiere del uso tanto de
resistencias como semiconductores.
Las resistencias son elementos físicos que se colocan como cargas de un valor
determinado dentro de un circuito eléctrico, los materiales con que comúnmente son
fabricadas de carbón y aleaciones especiales de metal. Al aumentar resistencias
dentro de un circuito se puede variar la impedancia de este, según el resultado que se
esté buscando, la Figura 2-5 muestra el símbolo utilizado para representar éstos
elementos.
La capacidad corriente máxima que soporta una resistencia viene marcada en Watts.
El tamaño de las resistencias, varían de acuerdo a la cantidad de potencia que puedan
disipar.
17
A) B)
Las resistencias pueden tienen varias tipos de clasificaciones Figura 2-6, entre estas
clasificaciones destaca si pueden ser fijas o variables. Las primeras solo tienen dos
terminales y se colocan sobre el paso de corriente.
Las resistencias variables, como su nombre lo indica tienen un resistencia que puede
ser variada girando una perilla, tornillo o aquello que sea apropiado para su aplicación.
Estas resistencias pueden tener una o dos terminales, aunque la mayoría tiene tres.
Cuando el dispositivo se utiliza como resistencia variable, se llama reóstato, cuando el
dispositivo se utiliza para el control de niveles de voltaje se llama potenciómetro.
Valor de la
Valor de la 2°cifra
Color 1°cifra Multiplicador Tolerancia
significativa
significativa
Negro - 0 1 -
Marrón 1 1 10 ±1%
Naranja 3 3 1 000 -
Amarillo 4 4 10 000 -
Violeta 7 7 - -
18
Gris 8 8 - -
Blanco 9 9 - -
2.5 SEMICONDUCTORES
Los mejores conductores como el cobre tienen un electrón libre en su órbita exterior,
esto significan que se ocupara una menor cantidad de voltaje para que los electrones
libres pasen de un átomo a otro. Mientras que los mejores aislantes poseen ocho
electrones libres, existe también el semiconductor que es un elemento con
propiedades eléctricas entre el conductor y el aislante, por lo que es de suponerse que
los mejores semiconductores poseen cuatro electrones libres en su órbita exterior.
19
fue dopado con impurezas trivalentes, recibirá el nombre de semiconductor tipo p (p
hace referencia a positivo), en estos lo hueco superan en cantidad a los electrones
libres, lo hueco son los portadores mayoritario y los electrones los portadores
minoritarios.
2.6 EL DIODO
El diodo es un dispositivo semiconductor básico que se forma de la unión de un
semiconductor tipo p, con un semiconductor tipo n Figura 2-7. Estos dispositivos solo
permiten el paso de corriente en una dirección, mientras que en dirección opuesta
impiden el paso de electrones.
P N
Unión equivalente
Figura 2-7 Diodo
En una unión pn Figura 2-8 (a), la existencia de electrones libres del lado n provoca una
repulsión de estos haciendo que los electrones libres se dispersen en cualquier
dirección, algunos electrones atraviesan la unión quedando en la región p. Al estar en
una región con un número elevado de huecos, el electrón termina por caer en un
hueco. Al suceder esto el electrón libre se convierte en un electrón de valencia y el
hueco desaparece. Cada que una electrón pasa a través de la unión, se crea un par de
iones Figura 2-8 (b). Es decir que cada que un electrón pasa de n a p deja un átomo al
que le hace falta una carga negativa convirtiéndose en ión positivo y cuando el
electrón cae en el lado p, el átomo que lo captura se convierte en ión negativo.
20
+ + + + - - - - + + + - - - + + + - - -
- - - - + + + + - - - - + + + + - - - + + +
+ + + + - - - - + + + - - - + + + - - -
- - - - + + + + - - - - + + + + - - - + + +
+ + + + - - - - + + + - - - + + + - - -
- - - - + + + + - - - - + + + + - - - + + +
A) B) C)
A) Unión pn
B) Iones en la unión
C) Zona de deplexión
Los dipolos formados poseen un campo eléctrico entre los iones positivo y negativo
que lo forman, por lo que si entran electrones libres adicionales en la zona de
deplexión, el campo eléctrico trata de devolverlos a la zona n. La intensidad del campo
eléctrico aumenta por cada electrón que cruza hasta que se alcanza un equilibrio,
deteniendo el paso de electrones a través de la unión. El campo eléctrico formado
entre los iones es equivalente a una diferencia de potencial llamada barrera de
potencial. Esta barrera indica que a partir de cierto voltaje el diodo funcionara como
tal. La barrera de potencial para los diodos de germanio es de 0.3V y para los diodos
de silicio es de 0.7V esa barrera de potencial debe ser vencida al aplicarse un voltaje
externo.
p n p n
+ + + - - - + + + - - -
- - - - + + + + - - - - + + + +
+ + + - - - + + + - - -
- - - - + + + + - - - - + + + +
+ + + - - - + + + - - -
- - - - + + + + - - - - + + + +
A) B)
A) Polarización directa
B) Polarización inversa
Figura 2-9 Polarización de una unión PN
21
Sí se invierte la polaridad de la fuente continua, entonces el diodo esta polarizado en
inversa Figura 2-9 (b). En esta configuración la terminal positiva atrae a los electrones
libres y la terminal negativa atrae a los huecos; como resultado la zona de deplexión se
ensancha. La zona de deplexión crece conforme aumente el voltaje inverso.
Ideal
Polarización directa
Polarización inversa
Se puede decir que el diodo ideal como el de laFigura 2-10 simplemente conduce
corriente cuando se encuentra en polarización directa tal y como un switch cerrado y
no conduce cuando se encuentra en polarización inversa tal como un switch abierto.
Pero en realidad se debe de tomar en cuenta una resistencia provocada por el material
semiconductor y la caída de voltaje provocada por la barrera de potencial en la zona
de deplexión.
Los diodos admiten valores máximos de voltaje que se les aplica. Sí se alcanza el
voltaje de ruptura seguramente el diodo se destruirá. Los diodos no pueden trabajar
en la zona de ruptura a excepción del diodo zener que es un diodo de propósito
específico.
2.7 TRANSISTORES
Una unión p-n, en polarización inversa genera un flujo de corriente nulo a través de
ella como una resistencia de un valor muy alto, mientras que en polarización directa
permite un flujo de corriente alto dependiendo de la cantidad de voltaje aplicado, tal
como una resistencia de valor muy bajo. Un dispositivo tal que pueda generar
resistencia baja, a partir de una resistencia alta se logra mediante dos uniones p-n
contrapuestas y es conocida como transistor bipolar. Un dispositivo que produce
valores de resistencia bajos, a partir de una resistencia alta, genera una ganancia de
potencia puesto que 𝑃 = 𝐼 2 𝑅. El transistor es comúnmente usado como elemento
amplificador y de potencia.
22
- - - - - -
+
- - - - - -
+
- - - n - - - n
+
+
+
- - - - - -
- - - - - -
+
p p
- - - - - -
+
+
+
+
- - - - - -
-
n -
n
+
+
-
-
- - - - - -
+
+
A) B)
Los transistores tienen tres zonas de dopaje, emisor, base y colector Figura 2-11. Los
transistores pueden ser npn, o pnp. Para los transistores npn existe una zona tipo p
entre dos tipo n. Dependiendo de la aplicación se utiliza uno u otro, el funcionamiento
es el mismo para ambos.
El transistor tiene dos uniones, una entre la base y emisor, y otra entre la base y el
colector. Cada una de estas es equivalente a un diodo, por lo que un transistor es
similar a un par de diodos contrapuestos, diodo emisor y diodo colector. Cada uno de
los diodos conserva una zona de deplexión y por lo tanto una barrera de potencial de
.7 V.
+ + +
RC RC RC
VCC --- VCC
n VCC n -- -- -- n
-- -- --
p VCE - - - p VCE p VCE
RS +
-- -- -- RS + --- --- --- RS +
-- -- --
-- -- -- n -- -- -- n -- -- -- n
VBB VBE -- -- -- VBB VBE -- -- -- VBB VBE
-- -- --
- - -
- - -
A) B) C)
23
En la Figura 2-12 (a) se muestra la forma más común de polarizar un transistor. La
fuente de la izquierda polariza directamente al diodo emisor, mientras que la fuente
de la derecha polariza inversamente al diodo colector. La polarización directa en el
diodo emisor permite la inyección de electrones libres del emisor fuertemente dopado
a la base, solo cuando la barrera de potencial emisor-base ha sido vencida Figura 2-12
(b). Estando los electrones libres en la base, estos pueden circular hacia la terminal
positiva de la fuente a través de Rs, o hacia el colector, donde fluye la mayoría de ellos
gracias al débil dopaje de la base y lo estrecha que es Figura 2-12 (c). Una vez en el
colector los electrones circulan a través de este, luego a la resistencia Rc y finalmente a
la terminal positiva de la fuente de la izquierda.
Lo anterior sucede en los transistores tipo npn, para transistores tipo pnp sucede lo
mismo, solo que los voltajes de polarización deben ser inversos para que el flujo de
corriente sea en dirección opuesta.
IC IC
IB IB
IE IE
A) B)
A) Flujo convencional
B) Flujo de elctrones
Figura 2-13 Flujo de corriente en el transistor
El símbolo del transistor es el que se muestra en la Figura 2-13, las regiones n, son el
colector y emisor, la región p es la base. En la misma figura se muestra el flujo de la
corriente a través del transistor, la Figura 2-13 (a) muestra la el uso de corriente
convencional y la Figura 2-13 (b) para el flujo de electrones. La corriente del emisor es
𝐼𝐸 , la corriente de la base es 𝐼𝐵 y la corriente de colector es 𝐼𝐶 . La corriente de emisor
es la suma de las corrientes de base y colector por Ley de Kirchhoff.
𝐼𝐸 = 𝐼𝐵 + 𝐼𝐶
La corriente de base siempre es mucho más pequeña que la corriente de colector, por
lo general menor que el 1 % de la corriente de colector, por lo que:
𝐼𝐸 ≈ 𝐼𝐶
𝐼𝐵 ≪ 𝐼𝐶
Existen dos factores en el transistor que definen la relación entre las corrientes de
colector-emisor y colector-base. Se conocen como alfa de continua y beta de continua
respectivamente.
24
𝐼𝐶
𝛼𝑑𝑐 =
𝐼𝐵
𝐼𝐶
𝛽𝑑𝑐 =
𝐼𝐵
En la Figura 2-14 se muestra una forma útil de conectar un transistor. Destaca que el
lado común de cada fuente está conectado al emisor, la configuración es conocida
como emisor común.
RC
- +
RB +
+ -
+
VCE VCC
-
VBB VBE -
𝑉𝐵𝐵 − 𝑉𝐵𝐸
𝐼𝐵 =
𝑅𝐵
25
El valor de la corriente en el colector se encuentra mediante:
𝑉𝐶𝐶 − 𝑉𝐶𝐸
𝐼𝐶 =
𝑅𝐶
IC
Zona de Saturación
Zona de Activa
Zona de Ruptura
VCE
Zona de Corte
26
Los primeros amplificadores operacionales, eran tubos de vacío de alta ganancia
diseñados para realizar operaciones matemáticas de adición, sustracción,
multiplicación, división, diferenciación e integración. Al conectar varios amplificadores
operacionales se podían resolver ecuaciones diferenciales. Actualmente los
amplificadores operacionales, son circuitos integrados lineales, que trabajan a bajos
voltajes, son excelentes amplificadores para voltaje de DC, realizan operaciones
matemáticas y tienen una diversificación extensa de aplicaciones. Aunque los
amplificadores operacionales se pueden utilizar para resolver operaciones
matemáticas, actualmente es preferible hacer estas operaciones en computadoras
digitales debido a su velocidad, precisión y versatilidad.
Rin=∞Ω
Ro=0 Ω
Ed
Rin=∞Ω
Vo
Io
-v
27
las fuentes pueden ir conectadas a tierra, ver Figura 2-17. Algunos
amplificadores operacionales usan solo una fuente de alimentación.
+v
Vo
Salida
-v
Para está ecuación los voltajes de entrada se miden con respecto a tierra. El
signo que resulte para Ed significa la polaridad de la entrada (+) con respecto a
la entrada (-); y la polaridad de la terminal de salida con respecto a tierra. Esta
ecuación es válida si la entrada inversora está puesta a tierra, si la entrada no
inversora se encuentra también puesta a tierra, y sí ambas se encuentran por
encima o por debajo del nivel de tierra. En las siguientes figuras se puede
apreciar el Vo, respecto a Ed.
28
+v
+
Ed
+
V- entrada _
RL
Vo=AOLEd=+Vsat
V+ entrada
_
-v
_
Ed _
V- entrada +
RL Vo=AOLEd=-Vsat
V+ entrada
+
-v
Observando la Figura 2-18 (a, b) anteriores, se nota que Vo está determinado por Ed y
por la ganancia de voltaje en lazo abierto, AOL llamada así porque las conexiones de
retroalimentación de la salida para alguna de las entradas se dejan abiertas, por lo que
Vo se puede expresar de la siguiente manera:
𝑉𝑜 = 𝐸𝑑 × 𝐴𝑂𝐿
+𝑉𝑠𝑎𝑡 13𝑉
𝐸𝑑 𝑚á𝑥 = = = 65𝜇𝑉
𝐴𝑂𝐿 200,000
−𝑉𝑠𝑎𝑡 −13𝑉
−𝐸𝑑 𝑚á𝑥 = = = −65𝜇𝑉
𝐴𝑂𝐿 200,000
Lograr los niveles de Voltaje anteriores, es muy complicado ya que a la señal les
afectada por el ruido inducido incluso mayor a la señal, lo que se traduce en una
saturación en Vo. Para mantener Vo dentro de los limites +Vsat, –Vsat, hay que recurrir a
29
un circuito de retroalimentación que obligue a Vo, a depender de elementos de
precisión tales como resistencias y capacitores.
30
Capítulo 3 LAZO DE CORRIENTE DE 4-20 mA.
Este capítulo se habla de lo que es un sistema de control, de cada una de las partes
que lo forman. Pero enfocándose principalmente al envío de señales desde el campo
automatizado hasta el controlador de procesos.
Se define como control, el proceso mediante el cual se ajusta, limita o regula acciones
o conductas. En Automatización y en ingeniería de control un sistema de control es un
dispositivo o conjunto de dispositivos que ajustan, comandan o regulan directamente
el comportamiento de otros dispositivos o sistemas.
Actualmente el control automático está muy relacionado con las ingenierías eléctricas
y computacionales, tal y como ocurre con los circuitos electrónicos con los que
fácilmente se pueden describir técnicas de control.
31
3.2 TIPOS DE CONTROL
En teoría de control existen dos tipos de control básico, el uso de alguno de ellos, así
como su complejidad depende directamente de los requerimientos de la aplicación.
Estos son el lazo de control cerrado (lazo de control realimentado) y el lazo de control
abierto (no realimentado).
Los elementos del sistema de control en lazo abierto se pueden dividir en dos partes:
El controlador y el proceso controlado. En la Figura 3-1 se muestra un diagrama a
bloques de un sistema de control en lazo abierto.
Variable
Entrada de
controlada
referencia Proceso
Controlador
controlado
Señal
actuante
32
mueve su eje (carga) en la dirección correspondiente y no para, hasta que la señal de
entrada sea removida o se vuelva cero. Este sistema usualmente requiere de un
operador que controle la velocidad y dirección de movimiento de la salida variando la
entrada. El control de entrada pudiera ser eléctrico o mecánico.
Señal
amplificada
Señal de Salida
Amplificador Motor Carga
entrada al eje
En los sistemas de control de lazo abierto hace falta un elemento para que estos sean
más exactos y adaptables, este elemento es una realimentación desde la salida hasta la
entrada del sistema. Para mejorar el control del sistema, la señal controlada debe
realimentarse y ser comparada con la entrada de referencia, y se debe enviar una
señal actuante tal que sea proporcional a la diferencia de la entrada y la salida, para
corregir los errores que se puedan presentar. Estos sistemas se conocen como
sistemas de control en lazo cerrado.
Referencia
Entrada de de señal Señal Señal de
referencia + de error actuante salida
Proceso
Controlador
controlado
-
Sensor de referencia
Realimentación
La realimentación del sistema de lazo cerrado Figura 3-3, produce una reducción de
errores entre la entrada de referencia y la señal de salida. Sin embargo la reducción de
errores es solo uno de los efectos de la realimentación, ya que también tiene efectos
sobre características como estabilidad, sensibilidad, ganancia total e impedancia.
33
Los sistemas lineales no existen en la práctica, ya que todos los sistemas físicos
presentan algún grado de no linealidad. Los sistemas de control realimentados son
modelos ideales fabricados por el diseñador para simplificar el análisis y el diseño. Al
usar componentes con características lineales, por lo menos en un rango de
magnitudes para las señales, entonces el sistema es lineal. Pero cuando las
magnitudes de las señales rebasan el rango de operación del componente, el sistema
deja de considerarse lineal. En algunos casos de sistema de control se llegan a
introducir características no lineales de manera intencional, para mejorar el
desempeño y lograr controles más efectivos.
Un sistema en tiempo continuo es aquel en que las señales son funciones de la variable
continua de tiempo. Dentro de los sistemas de control en tiempo continuo, las señales
se clasifican en señales de corriente alterna (ca) y corriente directa (cd). Los sistemas
de ca emplean algún esquema de modulación, mientras que un sistema de control en
cd, implica que la señal no esté modulada pero siga siendo de ca.
Sensor de
ADC
referencia
34
El diagrama esquematico de la Figura 3-5, representa un sistema de control digital en
lazo cerrado para controlar la temperatura de un horno eléctrico. En este sistema la
temperatura se mide mediante un termómetro (dispositivo analógico). La
temperatura analógica es convertida a un dato digital mediante un convertidor A/D
(Convertidor analógico digital), después es introducida a un controlador mediante una
interface. Dentro del controlador la temperatura se compara contra una temperatura
ingresada mediante un programa y si existe alguna diferencia (error) el controlador
envía una señal al calefactor, a través de una interface, un amplificador y un relevador,
para que la temperatura del horno se ajuste al valor deseado.
Termómetro
Entrada
programada
La adquisición de datos puede ser tanto analógica como digital. Un sistema analógico
se define como una función del tiempo. Los sistemas digitales manejan datos en
forma digital, ya sea por pulsos discretos y discontinuos.
35
Instrumentos de registro de gráficas: permite llevar un registro de los datos de
entrada.
Instrumentación en cinta magnética: Permite guardar y conservar la forma
eléctrica original para su posterior análisis.
Sistema
programador
36
digital suele existir toda una etapa para adecuar la señal analógica al rango de
operación del convertidor.
𝑉𝑇 𝑉𝑇
𝑄= =
2𝑀 𝑁
La mayoría de los convertidores analógico-digital son del tipo linear, a pesar que el
proceso de conversión analógico-digital no sea un proceso linear. El término linear
utilizado aquí significa que para un rango de valores de entrada corresponderá un
rango de valores e salida con un relación linear a cada valor e salida. Los convertidores
no lineales tienden a incrementar su rango dinámico de operación, por ejemplo para
una señal de voz habrá regiones con niveles sumamente bajos o casi cero, que
cargaran con mucha más información que las regiones con alta amplitud, en este caso
un ADC no linear tendrá mayor resolución en regiones con amplitudes bajas y menor
resolución en amplitudes altas.
Los ADC, pueden presentar ciertas fuentes de error. El error de cuantización existe
debido a la resolución finita del ADC, este error es medido en unidades LSB (bit de
menor significancia), en un ADC de 8 bits, el error de cuantización de un LSB es 1/256
de la señal en escala completa, o cerca del 0.4% , este error se debe a que la magnitud
de la señal de entrada en el instante de muestreo, se encuentre entre cero y la mitad
del bit de menor significancia. Otros errores afectan a la exactitud del ADC, como el
error de no linealidad cuando se supone que el ADC es lineal, este error se produce
debido a imperfecciones físicas y puede ser corregido con la calibración del ADC; El
error de apertura existe cuando se trata de digitalizar una señal a frecuencias muy
altas.
37
de la señal analógica. El rango para los valores es conocido como frecuencia de
muestreo del convertidor.
Una señal con un ancho de banda variante puede ser muestreada para almacenarla y
después reproducir la señal original a partir de las muestras, por medio de alguna
fórmula matemática de interpolación. La exactitud de la señal reproducida dependerá
del error de cuantización y su fidelidad con respecto a la original dependerá de que su
frecuencia de muestreo haya sido por lo menos dos veces la frecuencia mayor de la
señal original, esto es conocido como el Teorema de muestreo de Shannon-Nyquist.
Un muestreo hecho a una frecuencia mucho mayor que la propuesta por Nyquist,
puede provocar el efecto de sobremuestreo, en el que aumenta la cantidad de ruido
blanco en la señal digitalizada que si se hubiese muestreado en una frecuencia baja y
con algún filtro para evitar ruido en la señal.
Cuando una señal es muestreada a una frecuencia menor que la máxima de la señal, el
resultado puede ser un reflejo de la señal original a una frecuencia menor. Este efecto
es conocido como aliasing.
Una vez hechas las operaciones de control es necesario llevarlas a cabo por medio de
algún actuador analógico, sobre el elemento físico de control, lo que obliga a realizar
38
una conversión de la señal de control digital a una señal analógica. Un convertidor
Digital-Analógico (DAC) es un dispositivo que recibe información digital codificada
(usualmente código binario) y lo convierte en un nivel de señal para corriente, voltaje
o carga eléctrica.
Los DAC son el comienzo de una señal analógica, por lo que poseen características
básicas que definen la calidad de la señal producida. En primer lugar se tiene la
resolución que es el número de posibles niveles que el DAC podrá reproducir y
usualmente dependen de la cantidad de bit que utilice el DAC, el número de niveles
corresponden a una potencia de dos de los bits utilizados. Por ejemplo un DAC de 1 bit
generará 2niveles es decir 21 , mientras que un DAC de 8 bits generará 256 niveles 28.
Las tecnologías conocidas y utilizadas comúnmente para DAC electrónicos son: DAC
por Modulador de ancho de pulso (PWM), DAC de sobremuestreo, DAC de carga
binaria, DAC de escalera (R-2R), DAC híbridos.
39
3.4 LAZO DE CORRIENTE DE 4-20mA
Al observar en un sistema de control en lazo cerrado, podemos encontrar que la
entrada de este corresponde al valor deseado de la variable que se quiere controlar, ya
sea temperatura, nivel de líquido, velocidad, etc.; La salida será el actuador que
afectara el estado de la variable que se está controlando, y como retroalimentación
será común encontrar sensores, que tomen el estado actual de la variable a controlar
en el sistema. El tipo de sensor depende de la variable que se controla, la exactitud de
la medición, la frecuencia de medición y el tipo de salida que el sensor utilice, para
presentar los datos al controlador.
40
Transmisor Fuente de lazo Receptor
Transductor
Proceso
4-20mA
Los sensores proveen una salida de voltaje cuyo valor representa la variable física que
es medida (por ejemplo, un termopar es un tipo de sensor que provee un nivel de
voltaje muy bajo a sus salida, que puede ser proporcional a la temperatura a la que es
sometida). El transmisor amplifica y acondiciona la salida del sensor, luego convierte
el voltaje a un nivel de corriente directa en un rango de 4-20mA, que circula en serie a
través de un lazo cerrado. El receptor/monitor, normalmente es una sección o parte
de un medidor o sistema de adquisición de datos, que convierte la corriente entre 4-
20mA de regreso a voltaje, el cual podrá ser utilizado en algún proceso posterior.
41
3.4.3 Transmisor 4-20mA
+
Tipo 3 (Figura 3-9): Es un transmisor
Fuente de
de 3 hilos, en el que se alimenta al
Alimentación transmisor por un hilo adicional,
otro hilo corresponde al lazo de
corriente y el tercer hilo es común
entre el transmisor, la fuente y el
receptor. En este modo se obtiene
Figura 3-10 Tipo 4 una electrónica más simple en el
transmisor, por el uso de un hilo
Lazo adicional en las conexiones
Transmisor
42
3.4.4 Receptor 4-20 mA
La parte receptora del lazo de corriente obtiene el nivel de lazo que se tiene y lo
convierte en algún dato útil para su posterior utilización en el sistema. Regularmente
el receptor convierte el lazo en un equivalente a voltaje y este a su vez pasa por algún
convertidor AD, que proporcione el dato digital. En la mayoría de los procesos, el
receptor suele representar para el lazo una carga resistiva.
𝑉 = 𝑅𝐼
Donde V será la caída de voltaje en Volts, I la corriente que pase a través de la
resistencia en amperes, y R la resistencia del receptor en Ohms (Ω).
La suma de las caídas de voltaje ocasionadas por los elementos en serie en el lazo de
corriente y consumo del transmisor y en ocasiones del receptor (si dependen de una
misma fuente de alimentación) debe ser igual al voltaje de alimentación. Por ejemplo
para una aplicación de lazo alimentado por una fuente de 24 Volts Figura 3-11, que
contiene una resistencia de lazo de 250 Ω, la caída máxima de voltaje en el lazo será:
-
-
20mA
250Ω
5V Proceso
+
+
43
3.4.5.2 Rango máximo de transmisor
Teniendo en cuenta el concepto de caída de voltaje, para un lazo alimentado por una
fuente de 24V, en el que el voltaje mínimo de operación del transmisor es de 8V y la
caída producida por el lazo y el receptor es de 4V, es lógico preguntar por los 12V
restantes. Los 12V extra son absorbidos completamente por el transmisor ya que la
mayoría de los monitores/receptores, contienen únicamente una entrada puramente
resistiva, en ocasiones combinada con diodos zener, para controlar la caída del voltaje.
40.8Ω
𝑉 = 20𝑚𝐴
1000𝑝𝑖𝑒𝑠
Para este caso, la corriente viaja 2000 pies a la etapa del receptor y de ahí se
retroalimenta otros 2000, para regresar a la terminal + del transmisor, recorriendo un
total de 4000 pies, por lo que la caída total, tomando como referencia el cálculo
anterior, será:
𝑉 = 1.63𝑉 × 2 = 3.26𝑉
44
Está caída de voltaje se suma a la caída del lazo de 5 V, ocasionando una caída total de
8.26V. Sí el transmisor requiere un mínimo de 8V para operar, el voltaje mínimo de
operación para el sistema mostrado en la Figura 3-12 es de 16.3V.
2000 pies (660 metros)
Fuente de lazo Receptor
Transmisor 81.6Ω
+ -
20mA 24V DC - 1.63V +
Transductor
8V(min.) 5V Proceso
20mA 81.6Ω
- + 1.63V - +
Las fuentes de corriente controlada por voltaje (VCCS’s) o también conocidas como
convertidores de voltaje a corriente, tienen aplicaciones típicas en instrumentos de
medición tal y como es el caso para los lazos de 4-20mA, donde el elemento
transmisor hace las veces de un convertidor de voltaje obtenida desde el transductor a
corriente controlada.
+V
- Carga RL
+
-V
Io
VIN RS
RB
45
La resistencia 𝑅𝐵 provee una trayectoria para la entrada y lleva la corriente a cero en
los casos en que 𝑉𝐼𝑁 es desconectada o llega a alta impedancia.
𝑉𝐼𝑁
𝐼𝑂 =
𝑅𝑆
RF
+V
- RS
RI +
Io
RI -V
Carga RL
VIN RF
𝑉𝐼𝑁 𝑅𝐹
𝐼𝑂 =
𝑅𝑆 𝑅𝐼
Para: 𝑅𝑆 ≪ 𝑅𝐹 𝑜 𝑅𝐼
Para este circuito se debe de tener en consideración que las dos resistencias 𝑅𝐼 , y las
dos resistencias de retroalimentación 𝑅𝐹 , deben de poseer una tolerancia de error
mínima. Cualquier variación leve provoca errores en la función de transferencia y
degrada la impedancia de salida causando que el circuito no se comporte como una
fuente de corriente.
Para recuperar un dato arrojado por el transmisor de lazo, es necesario que el receptor
convierta el lazo a un valor equivalente de voltaje para utilizarlo en otros procesos por
ejemplo un DAC para trabajar en con datos digitales.
46
RF
+V
IIN
- RS
+
-V Vo
Carga RL
RF
𝐼𝑂 = −𝐼𝐼𝑁 𝑅𝐹
En el caso de que se tenga una señal de entrada como voltaje, será necesario conectar
una resistencia de entrada para cambiar la variable de entrada.
47
Texas Instruments5 ha desarrollado circuitos para la implementación de lazos de
corriente de 4-20mA, orientados al monitoreo con DSPs en lugar del uso de PLCs.
Este tipo de circuitos son una opción si no se desea realizar una gran cantidad de
etapas de acondicionamiento y si se requiere reducir espacio. Sin embargo el tipo de
aplicación, es la que dicta el tipo de circuitos a utilizar.
5
Texas Instruments: Desarrolladora y comercializadora de semiconductores tecnología computacional,
mejor conocida en la industria electrónica por las siglas TI; ubicada en Dallas, Texas, USA. Fundada en
1930 como (GSI “Geophysical Service Incorporation”) y en 1951 como (TI ).
48
Capítulo 4 USO DE MICROCONTROLADORES
Estos dispositivos digitales, se hacen presentes cada vez más para la supervisión,
administración, monitoreo y control de varios procesos en la industria,
comunicaciones, electrodomésticos y otras áreas de aplicación.
Las terminales del microprocesador sacan al exterior los buses de dirección, datos y
control, para conectase con memorias y módulo de E/S y configurar una computadora
49
implementada por circuitos integrados. El microprocesador es un sistema abierto con
el que se puede construir una computadora con las características que se desee.
Procesador
Elementos de Entrada/Salida :
o Comunicación en paralelo
o Comunicación serial
o Convertidores AD y DA
Elementos de memoria
Elementos de la unidad de control
Elementos auxiliares:
o Oscilador
o Temporizadores
o Watchdog
o Interrupciones
o Estados de bajo consumo
o Comparadores analógicos
Bus de datos
Elementos
Watchdog Temporizador Interrupciones
auxiliares Opcionales
50
AND, XOR), con los datos que se proveen. La ALU opera sobre uno o 2 valores
llamados operandos y los cambia de acuerdo al operador especificado, por ejemplo:
𝐶 ⇐𝐴+𝐵
Donde 𝐴 y 𝐵 son operandos, 𝐶 el resultado, + es la operación booleana de OR y ⇐ es el
operador de remplazo, la operación se muestra de manera esquemática en la Figura
4-2. Un ALU puede realizar tantas operaciones dependiendo de las líneas de control
que tenga, siendo el máximo operaciones 2𝑘 (donde 𝑘 son las líneas de control)). La
ALU es un circuito completamente combinacional con entradas 𝐴 y 𝐵 y una salida 𝐶,
por lo que no tiene estados internos
Entrada A Entrada B
Líneas de
control
ALU
Salida C
51
embargo requiere de una línea adicional para la transferencia de la señal de reloj
encargada de la sincronización de dispositivos.
52
Este tipo de memoria es utilizada para el almacenamiento de configuraciones o
parámetros de información.
La memoria RAM existe como Estática y Dinámica. La memoria RAM estática (SRAM)
no requiere de una señal de reloj continua que refresque los datos para que
permanezcan en la memoria, esto provoca que sus tiempos de acceso sean cortos;
Este tipo de memoria consume más energía y requiere de más espacio en el circuito
por lo que solo es utilizada cuando se requiere de mucha velocidad. Por otra parte, la
memoria Dinámica almacena los datos en cargas (como capacitores) que requieren ser
refrescadas cada cierto tiempo, para mantener la integridad de los datos. Su consumo
de corriente es menor así como su costo de fabricación, aunque es más lenta que la
RAM estática, regularmente es utilizada como memoria principal.
Entender la manera en que funcionan los elementos que forman la unidad de control,
permite acercarse más al microcontrolador, explotarlo de una manera adecuada e
incluso permite el uso de operaciones que directamente no son visibles para el
programador. Para entenderla es necesario observar la cantidad de dispositivos que
forman al microcontrolador y de qué manera se comunican entre sí; por ejemplo
ubicar los registros PC (program counter) que almacenan la dirección de la siguiente
instrucción, la ALU, los registros IR (instruction register), los registros de dirección de
memoria, registros de memoria de datos, acumuladores y el elemento que los
comunica, el bus de datos, cada microcontrolador es diferente por lo que varía su
estructura interna y pueden contener más elementos.
Los recursos auxiliares son los que cada fabricante añade a cada modelo del
microcontrolador, según el área de aplicación al que los orienta, entre los más
comunes se mencionan los siguientes:
53
El lenguaje ensamblador es un lenguaje de bajo nivel, se dice que es de bajo nivel
porque sus instrucciones son exactamente las que el procesador sabe interpretar y
ejecutar al realizar su conversión a lenguaje máquina. El microcontrolador solamente
acepta instrucciones en código binario y el ensamblador facilita la escritura al
programador permitiendo expresarlas mediante nemónicos. El lenguaje ensamblador
tienen un problema que surge con, la poca potencia que tienen las instrucciones que
puede ejecutar el procesador, normalmente los microcontroladores de 8 bits realizan
operaciones básicas como sumar, restar, hacer operaciones lógicas (AND, OR, XOR),
rotar datos, mover datos de un sitio a otro y algunas instrucciones más. Sí se desean
hacer operaciones más complejas como multiplicaciones, es necesario realizar un
programa que realice las sumas necesarias.
Existen los lenguajes de alto nivel que tienen instrucciones más potentes, como
multiplicaciones, divisiones, raíces cuadradas y operaciones más complicadas que las
que se pueden realizar con las instrucciones del microcontrolador. Sin embargo el
microcontrolador no cambia por lo que las instrucciones de alto nivel se construyen
con pequeños programas basados en instrucciones de bajo nivel. Para que el
procesador ejecute las instrucciones de un lenguaje de alto nivel se necesita de otro
programa que las descomponga en instrucciones de bajo nivel correspondientes, estos
programas son llamados compiladores.
6
Freescale semiconductors, inc Manufacturadora americana de semiconductores, que surge en el año
2004. Freescale se concentra en la producción de circuitos integrados para el sector automotor, para el
sector de embebidos y el mercado de comunicaciones.
54
Este microcontrolador puede ser programado mediante su set de instrucciones en
lenguaje ensamblador, o utilizando algún compilador de lenguaje C para esta familia
de microcontroladores (actualmente Code Warrior).
4.4.1 CARACTERÍSTICAS
55
4.4.2 ASIGNACIÓN Y FUNCIÓN DE PINES
VDDA(PLL) 1 40 PTA7/KBD7
VSSA(PLL) 2 39 PTA6/KBD6
CGMXFC 3 38 PTA5/KBD5
OSC2 4 37 PTA4/KBD4
OSC1 5 36 PTA3/KBD3
RST 6 35 PTA2/KBD2
PTC0 7 34 PTA1/KBD1
PTC1 8 33 PTA0/KBD0
PTC2 9 32 VSSAD/VREFL
PTC3 10 31 VDDAD/VREFH
HC08GP32
PTC4 11 30 PTB7/AD7
PTE0/TXD 12 29 PTB6/AD6
PTE1/RXD 13 28 PTB5/AD5
IRQ 14 27 PTB4/AD4
PTD0/SS 15 26 PTB3/AD3
PTD1MISO 16 25 PTB2/AD2
PTD2MOSI 17 24 PTB1/AD1
PTD3SPSCK 18 23 PTB0/AD0
VSS 19 22 PTD5T1CH1
VDD 20 21 PTD4T1CH0
56
PTD5/T1CH1-PTD0/SS: PTD5-PTD0 son pines E/S con funciones especiales.
PTD3-PTD0 son pines que pueden ser programados como interface serial entre
periféricos (SPI). PTD4-PTD5 son módulos temporizadores.
PTE1/RXD-PTE0/TXD: PTE0-PTE1 son pines de propósito general que también
pueden ser programados como interface serial de comunicación (SCI).
La Figura 4-4 muestra el mapa de memoria del HC08GP32, con las principales
divisiones de memoria. Este mapa empieza con los registros de los periféricos con 64
bytes. Le sigue el espacio para la RAM. La ROM le sigue hasta la dirección 0XFE00
donde están los vectores, el programa monitor y registros de control. Entre la RAM y
la ROM existe un espacio de memoria no utilizable, en el que se realizan verificaciones
de direcciones ilegales.
0x0000
Mapa de memoria de los
registros periféricos Registros periféricos
0x0040
Página cero, manipulación
directa de bits
RAM
0x0100
0x0240
Página de memoria no
utilizable 0x8000
Memoria de datos y de
programa direccionable
FLASH
0xFE00
0xFE20
Registros de control
Monitor ROM
0xFFDC
Vectores
57
El espacio reservado para la memoria monitor ROM, permite la comunicación del
microcontrolador con una computadora mediante una interface serial RS-232.
Estando en este modo es posible acceder en cualquier dirección de memoria y ejecutar
códigos en RAM bajados por medio de una computadora.
4.4.4 INTERRUPCIONES
priorida direccíon de
Fuente de interrupción d memoria
RESET 0 0xFFFE-0xFFFF
instrucción SWI 0 0xFFFC-0xFFFD
Pin IRQ 1 0xFFFA-0xFFFB
CGM (PLL) 2 0xFFF8-0xFFF9
TIM1 canal 0 3 0xFFF6-0xFFF7
TIM1 canal 1 4 0xFFF4-0xFFF5
TIM1 desbordamiento 5 0xFFF2-0xFFF3
TIM2 canal 0 6 0xFFF0-0xFFF1
TIM2 canal 1 7 0xFFEE-0xFFEF
TIM2 desbordamiento 8 0xFFEC-0xFFED
SPI receptor completo
SPI desbordamiento 9 0xFFEA-0xFFEB
58
SPI modo de falló
SPI transmisor vacío 10 0xFFE8-0xFFE9
SCI receptor sobrante
SCI bandera de ruido
SCI error de cuadro
SCI error de paridad 11 0xFFE6-0xFFE7
SCI error de receptor lleno
SCI entrada para estado idle 12 0xFFE4-0xFFE5
SCI transmisor vacío
SCI transmisor completo 13 0xFFE2-0xFFE3
Pin de teclado 14 0xFFE0-0xFFE1
ADC conversión completa 15 0xFFDE-0xFFDF
Tiempo base 16 0xFFDC-0xFFDD
16 𝑜 17 𝑐𝑦𝑐𝑙𝑜𝑠 𝑑𝑒 𝐴𝐷𝐶
𝑇𝑖𝑒𝑚𝑝𝑜 𝑑𝑒 𝑐𝑜𝑛𝑣𝑒𝑟𝑠𝑖ó𝑛 =
𝑓𝑟𝑒𝑐𝑢𝑒𝑛𝑐𝑖𝑎 𝑑𝑒 𝐴𝐷𝐶
Buffer de histéresis
Sensibilidad de interrupción programable solo para nivel o transición.
59
Permiten la salida de los estados de bajo consumo de corriente.
Sí son configurados como entradas, El puerto Entrada/Salida, permite
configurar sus entradas como pull-up.
60
Capítulo 5 DESARROLLO E IMPLEMENTACIÓN
Sensor
de referencia
Controlador PLC 4-20mA
Entrada
programada
Interface modificación
de parámetros
Proceso
controlado
Variable controlada,
tanque de agua
Se puede añadir algún elemento externo al sistema de control que modifique el valor
de la señal de realimentación. Este elemento arrojara información falsa al controlador,
pero, gracias a esto se podrán observar comportamientos en el sistema frente a ciertos
niveles, sin la necesidad de elevar la variable a ese punto. Un elemento como el
mencionado es un generador de lazo de corriente de 4-20mA, para controladores que
utilicen este estándar, su esquema varía del anterior como muestra la Figura 5-2:
61
Generador de lazo de
corriente 4-20mA
Lazo de corriente
4-20mA
Controlador PLC
Entrada
programada
Interface modificación
de parámetros
Proceso
controlado
Variable controlada,
tanque de agua
Sí se coloca un elemento que solamente obtenga los datos arrojados por el sensor, se
vería el comportamiento de variable física como una variación de datos. Este
elemento es útil en la comprobación de sensores ya instalados en campo y lectura de
procesos. Los elementos requeridos son solo el sensor y el monitor. La Figura 5-3
muestra su esquema de conexión:
Sensor
de referencia
4-20mA
Variable sensada
62
El elemento generador y monitor es un dispositivo que debe cumplir con ciertas
características. Debe operar bajo las condiciones de la norma 4-20mA para la conexión
con cualquier dispositivo de la misma norma. De manera general el dispositivo puede
verse desglosado en dos partes principales: Generador de lazo y Monitor de lazo. Pero
estos no sirven de nada si no existe una manera de manipular el lazo de corriente
generado u alguna manera de visualizar el lazo de corriente recibido, para esto se
ocupa un control para la modificación de parámetros y un visualizador de las
operaciones que se estén realizando. Todo lo anterior debe tener un punto central de
comunicación que permite el flujo de datos en ciertos sentidos, esta parte central será
un micro controlador de 8-bits, suficiente en resolución y robusto en su desempeño.
Microcontrolador GP32
63
Alimentación: Aparte de energizar el dispositivo, se encarga de generar las
referencias necesarias para las etapas analógicas.
𝑉𝐼𝑁 𝑅𝐹
𝐼𝑂 =
𝑅𝑆 𝑅𝐼
Para: 𝑅𝑆 ≪ 𝑅𝐹 𝑜 𝑅𝐼
2𝑉 1𝑀Ω
20𝑚𝐴 =
𝑅𝑆 1𝑀Ω
2𝑉1𝑀Ω
𝑅𝑆 = = 100Ω
20𝑚𝐴1𝑀Ω
. 4𝑉1𝑀Ω
𝑅𝑆 = = 100Ω
4𝑚𝐴1𝑀Ω
64
problema se puede solucionar utilizando resistencias de precisión, o considerando esta
tolerancia en el cálculo.
100
VCC RF
10M 8 U3A Io
RF 3
2 100
10M RS
4 LM358P
RF
VIN
10M
RF
CARGA
65
10nF -10V
Vref
-10V Rref
V+ Rref
1 16
100nF
100nF 2 15
3 14
4 13
5 12
6 11
7 10
8 9
DAC0800
Entrada_digital1
RL
-10V
V+
Vo
0 a 0+IFS RL
-10V
V-
𝑉𝑂 = 0𝑉 𝑎 0 + 𝐼𝐹𝑆 𝑅𝐿
𝑉𝑅𝐸𝐹 10𝑉
𝐼𝑅𝐸𝐹 = = = 10𝑚𝐴
𝑅𝑅𝐸𝐹 1𝐾Ω
255
𝐼𝐹𝑆 ≅ 10𝑚𝐴 = 9.96𝑚𝐴
256
66
𝑉𝑜 2𝑉
= 𝑅𝐿 = = 200.8Ω
𝐼𝐹𝑆 9.96𝑚𝐴
La inexactitud en las resistencias provoca ligeras variaciones en el resultado final, así
que se puede calibrar 𝑅𝐿 alrededor de su valor 200.8Ω, a la escala máxima del
convertidor correspondiente a la salida de voltaje de 2V. La siguiente tabla muestra
los niveles de voltaje correspondientes a la entrada binaria del convertidor.
B1 B2 B3 B4 B5 B6 B7 B8 Salida V
Escala máxima 1 1 1 1 1 1 1 1 2
Escala máxima-LSB 1 1 1 1 1 1 1 0 1.992
Escala media 1 0 0 0 0 0 0 0 1.003
Escala media 0 1 1 1 1 1 1 1 0.996
Escala mínima +LSB 0 0 0 0 0 0 0 1 0.007843
Escala mínima +LSB 0 0 0 0 0 0 0 0 0
Tabla 2 Equivalencia de valores digitales a volaje en el ADC
VCC
-10V
10nF -10V
10MΩ 10MΩ
1kΩ
1kΩ 8
100nF U3A
100nF 3
1
2
200.8Ω 10MΩ 4 LM358P
DAC0800 -10V 100Ω
10MΩ
E/S digital
LM741
-10V
67
también son rangos de voltaje en los que normalmente operan los dispositivos bajo la
norma 4-20mA.
4-20mA 12
I+ 3 + 15
2 Rs 75Ω RCV out
14
RCV420
Rs 75Ω
I- 1 - Vo
11 (0-5V)
10v
Referencia
10
4 13 Común 5 Común
10 V-
68
La corriente de entrada es conectada a cualquiera de las entradas I+ o I-, dependiendo
de la polaridad de la señal, y regresa a tierra por el tap central en 2. Las resistencias RS
balancean la señal de entrada y sensa la corriente que es convertida y amplificada por
el amplificador operacional. Es posible proteger la resistencia de entrada ante
corrientes excesivas utilizando fusibles, resistencias limitadoras de corriente o algún
otro sistema de protección, el RCV420 llega a soportar una corriente continua máxima
de 40mA a la entrada sin sufrir daño.
69
X4 X3 X2 X1
Y1 3 2 1 0
Y2 7 6 5 4
Y3 # A 9 8
Y4 E P *
Tabla 3 Mapa de caracteres
5V
1 18
2 17
3 16
10nF 4 15
5 14
6 13 3 1D 1Q 2 PTC0
7 12 4 2D 2Q 5
8 11 7 3D 3Q 6
9 10 8 4D 4Q 9
13 5D 5Q 12
100nF 74C922 14 6D 6Q 15
17 7D 7Q 16 PTC3
Y 74LS04D 18 19
8D 8Q
1 PTA_KBD0
~OC
11 ENG HC08GP32
5V
74LS373N
70
16
PTA7
1N4154
PTA
PTB7
PTB
5V
1
DISPLAY
10kΩ
50%
Key=A
5.4 MICROCONTROLADOR
En el microcontrolador se reparte recursos y periféricos para controlar las etapas de
las que está formado el dispositivo, el lenguaje en el que se programan las tareas a
realizar se hizo en un compilador de lenguaje C, code warrior.
71
VCC VDDA(PLL) 1 40 PTA7/KBD7
PTA
GND VSSA(PLL) 2 39 PTA6/KBD6 Datos display
PTB
CGMXFC 3 38 PTA5/KBD5
OSC2 4 PTC 37 PTA4/KBD4
OSC1 5 36 PTA3/KBD3
PTD
RST 6 35 PTA2/KBD2
PTE Dato recibido
PTC0 7 34 PTA1/KBD1
Dato Teclado matricial
teclado matricial PTC1 8 TIM1 33 PTA0/KBD0
PTC2 9 32 VSSAD/VREFL GND
ADC VCC
PTC3 10 31 VDDAD/VREFH
PTC4 11 KBI 30 PTB7/AD7 Control display
DAC BIT 6-7 PTE0/TXD 12 29 PTB6/AD6
PTE1/RXD HC08GP32
13 28 PTB5/AD5
IRQ 14 27 PTB4/AD4
ADC 0-5V
PTD0/SS 15 26 PTB3/AD3
Se describen las funciones que realiza cada uno de los periféricos del microcontrolador
mostrados en la Figura 5-11:
PTA: PTA7-PTA4 esta sección del puerto A configurada como salida manda
comandos y datos, al display alfanumérico para realizar funciones en el display
o imprimir caracteres.
PTB: PTB7-PTB6 habilitan la comunicación con el display y permiten escribir
nuevos datos o comandos en él, son bits de salida de datos.
PTD: PTD5-PDT4 es un puerto configurado en modo de salida y representan los
bits menos significativos de un dato binario de 8 bits, que son conectados a la
entrada del convertidor digital-analógico, contienen el valor del lazo de
corriente generado.
PTE: PTE1-PTE0 son los bits correspondientes a la parte más significativa del
dato binario de 8-bits que es usado para generar el lazo de corriente, también
configurado como bits de salida.
PTC: PTC4-PTC0 Este puerto configurado como entrada recibe el dato binario
arrojado por el controlador de teclado matricial, es un dato de 4 bits, que
representa el botón presionado.
KBD0: Es un pin de entrada que pertenece al puerto como PTA0, que comparte
la función de interrupción de teclado. Este pin recibe la señal enviada por el
controlador de teclado matricial, cuando ha sido presionado un botón.
72
TIM1: Es una función interna del microcontrolador que se encarga de generar
una interrupción cada 1.03 ms para realizar tareas periódicas.
El programa está dividido en distintos archivos, cada uno de ellos contiene secciones
de código de acuerdo a su aplicación y se vinculan, con el resto a partir del principal
“main.c”.
El código para cada uno de los archivos se agrega en la sección de anexos. Excepto
para las librerías MCUinit.h, MC68HC908GP32.C y MC68HC908GP32.H, que son
archivos generados por el compilador en los que no se agrego ningún tipo de código.
5.5 ALIMENTACIÓN
Cada una de las etapas realizadas necesita un medio para energizarse, los voltajes
utilizados por las etapas son a nivel TTL para etapas digitales, como el
microcontrolador, display, y teclado matricial, para etapas DAC generadoras de lazo y
receptoras de lazo es necesario niveles de voltaje de 10 y -10 V.
73
función. Este voltaje es de 12 V, para el regulador LM7805 es necesario un voltaje
mínimo de 7.5V mientras que para el LM317 es nivel suficiente; para el regulador
LM337 es necesaria una fuente de alimentación de -12V más negativa que el voltaje
regulado.
El voltaje regulado en el LM7805 entra a uno de sus pines y sale en otro de los pines,
un tercero se conecta a tierra y no requiere de agregar más componentes; los
reguladores LM317 y LM337 son reguladores controlados para lograr un nivel de
voltaje en un rango de 1.2V a 37V y -1.2V a -37V respectivamente, estos requieren
resistencias externas para controlar la salida de voltaje, el cálculo de estas resistencias
obedecen la siguiente formula, para cada caso.
Figura 5-12 Ajuste de voltaje para regulador positivo Figura 5-13 Ajuste de voltaje para regulador negativo
𝑅2 𝑅2
𝑉𝑂𝑈𝑇 = 1.25 1 + 𝑉𝑂𝑈𝑇 = −1.25 1 +
𝑅1 𝑅1
Para 𝑉𝑂𝑈𝑇 = 10𝑉, con 𝑅1 = 100Ω: Para 𝑉𝑂𝑈𝑇 = −10𝑉, con 𝑅1 = 100Ω:
𝑅2 = 700Ω 𝑅2 = 700Ω
74
LM337H -12V
VREG LINE
VOLTAGE
COMMON
1mF
100Ω 700Ω
GND
330uF
100Ω 700Ω
LM7805CT 12V
VREG LINE
VOLTAGE
COMMON
En el diagrama las conexiones de teclado matricial están marcadas con los conectores
X, Y correspondientes a las filas y columnas del teclado matricial. La etapa de
alimentación está conectada internamente y se representa como fuentes de
alimentación de 5V, 10V y -10V; existe un conector en el que se conectan los voltajes
como referencia. El conector de lazo tiene 3 pines: “loopout” o salida de lazo
generado; “vloop” fuente para generar el lazo de corriente que debe estar acoplada
con el resto del dispositivo, esta fuente es una entrada para voltaje DC de 12-32V,
soportados por el operacional LM358; “loopin” es la entrada del lazo de corriente
hacia el receptor, el lazo de corriente debe estar acoplado al dispositivo.
75
X
5V
1 18
2 17
3 16
10nF 4 15
5 14
6 13 3 1D 1Q 2
7 12 4 2D 2Q 5
8 11 7 3D 3Q 6
9 10 8 4D 4Q 9
13 5D 5Q 12
100nF 74C922 14 6D 6Q 15
17 7D 7Q 16
Y 74LS04D 18 19
8D 8Q
1 ~OC
11 ENG
5V
74LS373N
Teclado maticial
5V
LCD 4X16
100nF
7 1 5
3
10MΩ
6
2
10MΩ 8
4 LM741CN 3 100nF
16
15
14
13
12
11
10
9
1
RCV420
2
1
2
3
4
5
6
7
8
200.8Ω 10MΩ 4 LM358P
100Ω
10MΩ
100nF
Transmisor de 4 a 20 mA
loopout_vloop_loopin
Receptor de 4 a 20 mA
5V
10 V -10 V
voltaje
76
5.7 OPERACIÓN Y USO DEL DISPOSITIVO GENERADOR/MONITOR
DE SEÑALES DE 4-20mA
De manera práctica, el Generador/Monitor de señales de 4 a 20 mA, consta de un control
(Teclado matricial), una pantalla de visualización, botones de prendido- apagado, entradas
de lazo de corriente, salidas de lazo de corriente y dos formas de alimentación.
7 8 9
Punto decimal.
* 0 # Regresar,
retroceder,
cancelar.
77
principal y con el uso del teclado matricial, la transición entre pantallas toma el flujo de la
Figura 5-17.
Diente de sierra
Ascendente
Nivel
Monitor: Este modo permite modificar valores para visualizar en Rx. Al entrar a
esta pantalla, se hace la solicitud de Presionar “E” (Pres E), una vez entrado existen
3 opciones que permiten modificar únicamente el valor máximo del lazo de
corriente que queremos visualizar en Rx o su valor mínimo.
Al entrar en Valor máximo o valor mínimo se escribe el valor deseado, sin el uso
del punto decimal, es decir que si se quiere 4 como valor mínimo, se escribe 4 y si
se quiere 500 como valor máximo, se escribe 500, siempre deberá ser mayor el
valor máximo que el mínimo, o el dispositivo colocará los valores
predeterminados. La opción “Predef” restaurara los valores predefinidos. Al
entrar en este modo se deshabilita el monitoreo en Rx.
78
Generador: El dispositivo genera señales de prueba. La primera pantalla pedirá
presionar “E” para entrar. Una vez dentro hay un submenú de 3 opciones: señal,
frec y nivel. De los cuales solo podremos acceder al primero.
o Señal: Permite elegir la señal a generar, entre las existentes: Diente de
Sierra, Ascendente, Descendente, Cuadrada y offset. Se moverá entre las
opciones mediante “P” y ”A”, para seleccionar alguna se presiona “E”, o
para cancelar la selección “#”. Esta opción no tiene ningún efecto sobre el
letrero “Tx 0”. Cuando este modo sea seleccionado la visualización de Tx
será deshabilitada.
Generador
Tx 0
Señal
>Desc Rx 0
o Frec: una vez escogida alguna de las opciones, con excepción de offset,
podremos elegir Frec, que modificara la velocidad con que se realiza la
función de prueba. Al presionar “P” y ”A” se moverá entre escalas
predefinidas hasta alcanzar los limites máximo y mínimo. Para dejar
seleccionada alguna de las opciones se presiona “E” o “#”.
Generador
Tx 0
Frec
>Lim.S Rx 0
o Offset, solo cuando se haya seleccionado Offset como señal, será posible
acceder a Offset donde se podrá variar el nivel de señal de corriente a la
salida mediante los botones “P” y “A”, e igualmente para salir de esta
opción se presiona “#” o “E”.
Los siguientes diagramas muestran las formas de conexión entre el dispositivo en modo
de transmisión o recepción, y algún elemento de lazo de corriente.
79
VCC EX Receptor, controlador, monitor.
+
ENTRADA LAZO
G L G V L
N A N C A
D Z D C Z
O O
E
R X T
X X
- + + -
G L G V L
N O N C O
D O D C O
P P
E
R X T
X X
Figura 5-21 Receptor, con fuente de alimentación externa para transmisor externo
80
5.8 RESULTADOS Y OBSERVACIONES
Este apartado menciona los resultados obtenidos en la generación y recepción de señales
de lazo de corriente. Se explica cómo se genera y obtiene el lazo de corriente y se colocan
algunas fórmulas para calcular un valor de lazo a partir de un dato binario y el valor
representado en el dispositivo a partir del dato binario generado a partir del receptor de
lazo.
El transmisor de lazo genera una señal de corriente a partir de un dato binario compuesto
por 8-bits. Con una resolución de 8-bits se logran 256 valores distintos donde 0 será el
valor correspondiente a 0mA y 256 a 20mA. La resolución en cada paso o incremento en 1
de un número binario será de 0.078125 mA debido a:
20𝑚𝐴
= 0.078125𝑚𝐴
256
255
𝑁𝑝𝑎𝑠𝑜𝑠 = 𝐼𝑂
20𝑚𝐴
51 ∗ 0.078125𝑚𝐴 = 3.984𝑚𝐴
256
𝑁𝑝𝑎𝑠𝑜𝑠 = 12𝑚𝐴 = 153
20𝑚𝐴
Este resultado no coincide exactamente con los 12mA para el que se hizo el cálculo, sin
embargo es un número muy aproximado. Este resultado demuestra la existencia de un
error en el dispositivo. Este error es debido a que el paso de 0.078125 es aproximado y la
81
fórmula con la que se calcula la cantidad de pasos dará el valor anterior inmediato al valor
deseado, o el valor deseado siempre que no lo rebase el valor de corriente. Por lo tanto
cualquier valor podrá ser el valor de lazo de corriente con un rango de error aproximado
de -0.078125mA, lo que es igual, a un porcentaje de error del -0.03906%.
El receptor de lazo entrega una señal que es convertida a un dato binario de 8-bits
equivalente al valor de la señal con un rango de 4-20mA. Con 8-bits se obtienen 256
pasos para la señal, la resolución de cada paso será mayor que en el transmisor ya que no
se desprecian bits:
16
= 0.0625𝑚𝐴
256
En este caso la exactitud del valor representado en el dispositivo depende en primer lugar
del receptor de lazo de corriente, que este correctamente calibrado y no existan fuentes
de ruido a su salida, en segundo lugar será la correcta conversión del convertidor
Analógico-digital.
(𝑁𝑝𝑎𝑠𝑜𝑠 ∗ 16𝑚𝐴)
𝐼𝐷 = + 4𝑚𝐴
255
Para una señal de entrada de 12mA el valor binario será 128, entonces el valor a mostrar
en el dispositivo será:
128 ∗ 16𝑚𝐴
𝐼𝐷 = + 4𝑚𝐴 = 12𝑚𝐴
255
En este caso el cálculo fue exacto sin embargo es posible que el dispositivo presente
errores ligados al paso mínimo de corriente, por lo que el error en esta etapa podrá ser de
+0.0625mA o -0.0625mA, expresado en porcentajes será de +0.3906% o -0.3906%. El
dispositivo truncará el valor en sus centésimas, debido a la resolución utilizada en el
microcontrolador.
82
CONCLUSIONES
Para este proyecto se realizaron etapas a partir de elementos básicos así como de
circuitos de aplicación específica. Al escoger entre un circuito de aplicación específica o
una etapa con circuitería para lograr la aplicación deseada, se consideran características,
limitaciones, factores, ventajas y desventajas entre cada opción. La etapa generadora se
realizo a partir de circuitos simples como operacionales, resistencias y convertidores
digital-analógico, obteniendo un resultado satisfactorio, sin embargo es necesario tener
en cuenta que esta etapa es mucho más sensible a variaciones debidas a los propios
componentes, también pudiera verse afectada por ruidos externos y presenta cierto
margen de error o inexactitud en el resultado final y suele ocupar más tiempo y espacio
en el diseño. La etapa de recepción fue construida a partir de un circuito de aplicación
específica que es menos sensible a ruidos externos, ocupa menos espacio y componentes,
su exactitud está limitada por las especificaciones del fabricante y es posible calibrar o
modificar su rango de operación dentro de los límites de fabricación. El RCV420 fue
utilizado, por ser un circuito único como etapa de recepción; sus características de
configuración predeterminada permiten tomar el lazo de corriente y generar una salida de
0-5VDC, que es la entrada de uso común para la etapa de conversión analógico digital; por
ser un circuito, se ahorra espacio y tiempo en el diseño; su costo en comparación con una
83
etapa desarrollada con circuitería básica es similar; finalmente su disponibilidad y
existencia es un factor determinante en su uso. La etapa transmisora fue desarrollada a
partir de circuitería básica y no con un circuito de aplicación especifica, debido
principalmente a que el circuito apropiado para esta aplicación (XTRxxx, transmisor TI) es
de muy baja disponibilidad en comparación con el circuito receptor, por su parte la etapa
con circuitería básica genera resultados con muy poco margen de error y el costo de
implementación es similar al transmisor.
84
ventajas de estos dispositivos son resolución y velocidad de muestreo y como desventaja
principal su costo.
85
Capítulo 6 APÉNDICE
MAIN.C
/*Funciones Globales*/
/* Declaración de function Device initialization*/
void MCU_init(void);
/*Variables Globales*/
unsigned char PTC_bajo=0; /*parte baja de PTC, aqui se guarda el dato del KYB*/
unsigned char b_car=0; /*respaldo de la tecla presionada en forma caracter*/
86
2 -> generador
3 -> ayuda
*/
void main(void) {
/*Inicio de Programa*/
MCU_init();
/* habilita interrupciones*/
EnableInterrupts;
87
LCD_Init();
impresion_preliminar();
BANDERA_BAN0=1;//menu principal, activo
for(;;) {
__RESET_WATCHDOG(); /* perro guardian*/
botones();
control_menu();
} /* ciclo infinito*/
}/*Fin de main.c*/
POGRAMA.C
/*Librería de programa*/
#include <MC68HC908GP32.h>
/*Librería personal*/
#include <bandera.h>
/*******************************************************************/
/*Función que manda el valor actual del lazo en 8 bits al DAC externo*/
void transmisor (unsigned char val_tx){
//primeros 6 bits de PTD0-PTD5
PTD=val_tx;
//PTD=0xFF;
PTE=(val_tx >> 6) & 0x03;
}/*Fin de transmisor*/
/**************************************************************/
/*Funcion para imprimir el cursor*/
void imprime_cursor (void){
extern unsigned char contador_num_kyb;
if(contador_num_kyb == 5)
Comando_LCD(pos_cur_LCD + contador_num_kyb - 1);
88
else
Comando_LCD(pos_cur_LCD + contador_num_kyb);
Imprime_cadena(" ^ ");
}/*Fin imprime_cursor*/
/*******************************************************************/
/*Funcion que imprime los numeros presionados del Teclado en pantalla y los
convierte en un número, para el programa
*/
void imprime_teclado (void){
extern unsigned char num_press,contador_num_kyb,ban_num_press, entrar, atras;
/* num_press: valor del número que fue
presionado
contador_num_kyb: contador de posiciones 4
posiciones
ban_num_press: marcador de nuevo numero
presionado
entrar: marcador de boton E 1: presionado
0: no ha sido presionado
atras: marcador de boton # 1: presionado
0: no ha sido presionado
*/
extern unsigned char dato_arreglo[5]; /*guarda el número en un arreglo, para
convertirlo más tarde en un numero*/
89
}
if(contador_num_kyb!=0)
contador_num_kyb--; //se regresa una posición del contador
imprime_cursor();
//se aumenta contador, para modificar la posición del carácter que se imprime
contador_num_kyb++;
//impresión de cursor
90
imprime_cursor();
if(entrar==1){
entrar=0;//apagamos entrar
i=0;
while(i<(contador_num_kyb+1)){ /* observar condición*/
if(dato_arreglo[i]==0x0C)//detectar posición del punto
{
punto=i;
}
i++;
}
if(punto!=0xFF){/*existe el punto*/
if(punto>0){/*existe parte entera*/
i=punto;
while(0!=i){//obtener el número entero
val_lazo=dato_arreglo[i-1]*control_decimal+val_lazo;
control_decimal=control_decimal*10;
i--;
}
}
if(punto<4){
i=punto;
control_decimal=10;
while(4!=i){//obtener la parte decimal
val_lazo=dato_arreglo[i+1]*control_decimal+val_lazo;
control_decimal=control_decimal/10;
i++;
}
}
}
else{/*no existe el punto*/
91
i=contador_num_kyb;// contador_num_kyb+1;
while(0!=i){//obtener el número entero
val_lazo=dato_arreglo[i-1]*control_decimal+val_lazo;
control_decimal=control_decimal*10;
i--;
}
}
i=0;
while(i<=4){/*reiniciar las variables*/
dato_arreglo[i]=0;
contador_num_kyb=0;
punto=0xFF;
Comando_LCD(pos_val_LCD);
i++;
}
}
}
}
/*Fin de Imprime_teclado*/
/**************************************************************/
/*Funcion para imprimir la portada de la pantalla*/
void impresion_preliminar (void){
Comando_LCD(pos_Tx_LCD);
Imprime_cadena("Tx 0 ");
92
Comando_LCD(pos_Rx_LCD);
Imprime_cadena("Rx 0 ");
}/*Fin impresion_preliminar*/
/*******************************************************************/
/*Funcion que imprime los datos Recibidos en el LAZO DE CORRIENTE
*/
void Imprime_lazo_Rx (void){
float val_lazo_Rx = 0;
extern int vmax,vmin;
Comando_LCD(pos_Rx_LCD);
Imprime_cadena("Rx ");
Comando_LCD(pos_Rx_LCD + 3);
/*
val_lazo_Rx=(ADR*.00392)*1600+400;
ecuación original
*/
val_lazo_Rx=(ADR*.00392)*(vmax-vmin)+vmin;
Imprime_numero(val_lazo_Rx);
}/*Fin de Imprime _lazo_Rx*/
/*******************************************************************/
/*Función modo_monitor, solo imprime cuando detecta cambios en el receptor de
lazo
*/
void modo_monitor (void){
extern unsigned char ADR_aux;
if((ADR_aux+1)<ADR || (ADR_aux-1)>ADR){
Imprime_lazo_Rx();
ADR_aux=ADR;
}
}/*Fin de modo_monitor*/
/*******************************************************************/
int captura_numero (int anterior, unsigned char actual){
if(anterior<10){
// 0 o unidades
anterior=anterior*10;
}
93
else{
if(anterior<100){
//rango 10-99
anterior=anterior*10;
}
else{
if(anterior<1000){
//rango 100-999
anterior=anterior*10;
}
else{
return anterior; //el numero es lo suficientemente grande, se regresa
}
}
}
/*******************************************************************/
/*Funcion menu_monitor permite configurar el monitoreo
*/
void menu_monitor (void){
94
//detectar si se ha presionado el boton '#' atras para regresar al menu anterior
if(b_car=='#' && BANDERA_BAN1==1){
b_car=0;
ban_flecha_press=1; //permite imprimir la pantalla principal del menu_monitor
menu_mon=1; //reinicia a la opción 1 del submenú
BANDERA_BAN1=0; //sale de el submenú
BANDERA_BAN0=1; //regresa al menú principal
/*otros menús*/
//condición para agregar datos, después de teclear enter
if(b_car=='E' && BANDERA_BAN1==1){
b_car=0;
BANDERA_BAN1=0;
BANDERA_BAN2=1; //se encuentra en la pantalla de captura
if(menu_mon==1){
//borra vmax, la primera vez que entre
vmax=0;
Comando_LCD(pos_cur_LCD-1);
Imprime_cadena(">0 ");
}
if(menu_mon==2){
//borra vmax, la primera vez que entre
vmin=0;
Comando_LCD(pos_cur_LCD-1);
Imprime_cadena(">0 ");
}
if(menu_mon==3){
//reestablece a los valores originales de lazo
vmin=400;
vmax=2000;
//automáticamente regresa al menú anterior
BANDERA_BAN1=1; //regresa a submenú monitor
BANDERA_BAN2=0; //sale de la pantalla de captura
}
}
95
if(BANDERA_BAN1==1){/*submenu V.MAX
V.MIN
UNIDAD
VALORES PREDEFINDOS
*/
switch(menu_mon){
case 1: if(ban_flecha_press==1 && BANDERA_BAN2==0){
Comando_LCD(pos_val_LCD-1);
Imprime_cadena("Val.max");
Comando_LCD(pos_cur_LCD-1);
Imprime_cadena(" ");
Comando_LCD(pos_cur_LCD);
Imprime_numero(vmax);
ban_flecha_press=0;
}
break;
case 2:
if(ban_flecha_press==1){ //imprime la pantalla de modo monitor
Comando_LCD(pos_val_LCD-1);
Imprime_cadena("Val.min");
Comando_LCD(pos_cur_LCD-1);
Imprime_cadena(" ");
Comando_LCD(pos_cur_LCD);
Imprime_numero(vmin);
ban_flecha_press=0;
}
break;
case 3:
if(ban_flecha_press==1){
Comando_LCD(pos_val_LCD-1);
Imprime_cadena("Predef ");
Comando_LCD(pos_cur_LCD);
Imprime_cadena("pres E");
ban_flecha_press=0;
}
break;
}
96
-'#' regresa al submenú monitor
*/
switch(menu_mon){
case 1: if(b_car=='E'){
b_car=0;
BANDERA_BAN1=1; //regresa a submenu monitor
BANDERA_BAN2=0; //sale de la pantalla de captura
Comando_LCD(pos_cur_LCD-1);
Imprime_cadena(" ");
Comando_LCD(pos_cur_LCD);
Imprime_numero(vmax);
}
if(b_car=='#'){
b_car=0;
BANDERA_BAN1=1; //regresa a submenú monitor
BANDERA_BAN2=0; //sale de la pantalla de captura
}
//se ha presionado un número
if(ban_num_press==1){
ban_num_press=0;
vmax=captura_numero(vmax,num_press);
Comando_LCD(pos_cur_LCD-1);
Imprime_cadena("> ");
Comando_LCD(pos_cur_LCD);
Imprime_numero(vmax);
}
break;
case 2: if(b_car=='E'){
b_car=0;
BANDERA_BAN1=1; //regresa a submenú monitor
BANDERA_BAN2=0; //sale de la pantalla de captura
Comando_LCD(pos_cur_LCD-1);
Imprime_cadena(" ");
Comando_LCD(pos_cur_LCD);
Imprime_numero(vmin);
}
if(b_car=='#'){
b_car=0;
BANDERA_BAN1=1; //regresa a submenú monitor
BANDERA_BAN2=0; //sale de la pantalla de captura
}
//se ha presionado un número
97
if(ban_num_press==1){
ban_num_press=0;
vmin=captura_numero(vmin,num_press);
Comando_LCD(pos_cur_LCD-1);
Imprime_cadena("> ");
Comando_LCD(pos_cur_LCD);
Imprime_numero(vmin);
}
break;
}
}/*Fin menu_monitor*/
/*******************************************************************/
/*Función menu_generador. Acceso a generador de funciones con opciones
SEÑAL ->senoidal
->triangular
->ascendente
->descendente
->offset
frecuencia ->aumentar
-disminuir
offset -> aumentar
-> disminuir
*/
void menu_generador(void){
extern unsigned char b_car;
extern unsigned char menu_gen;
extern unsigned char ban_flecha_press;
extern unsigned char contador_gen,contador_gen2;
extern unsigned char valor_tx;
extern int val_lazo;
98
contador_gen=2;
contador_gen2=2;
menu_gen=1;
}
//detectar si se ha presionado el botón '#' atrás para regresar al menú anterior
if(b_car=='#' && BANDERA_BAN3==1){
b_car=0;
ban_flecha_press=1; //permite imprimir la pantalla principal del menu_generador
BANDERA_BAN3=0; //sale de el submenú
BANDERA_BAN0=1; //regresa al menú principal
}
/*otros menús*/
//condición para utilizar los submenús, después de teclear enter
if(b_car=='E' && BANDERA_BAN3==1){
b_car=0;
BANDERA_BAN3=0;
BANDERA_BAN4=1; //se encuentra en la pantalla de selección de señal
if(menu_gen==1){
ban_flecha_press=1;
contador_gen=2;
Comando_LCD(pos_cur_LCD-1);
Imprime_cadena("> ");
}
if(menu_gen==2){
Comando_LCD(pos_cur_LCD-1);
Imprime_cadena("> ");
}
if(menu_gen==3){
if(contador_gen==6){
Comando_LCD(pos_cur_LCD-1);
Imprime_cadena("> ");
}
else{
//verifica que este seleccionado offset, como opción
BANDERA_BAN3=1;
BANDERA_BAN4=0;
Comando_LCD(pos_cur_LCD);
Imprime_cadena("Error");
}
}
}
99
/*MENU PRINCIPAL del menú generador*/
if(BANDERA_BAN3==1){/*submenu SEÑAL
FRECUENCIA
OFFSET
*/
switch(menu_gen){
case 1: if(ban_flecha_press==1 && BANDERA_BAN4==0){
Comando_LCD(pos_val_LCD-1);
Imprime_cadena("Señal ");
Comando_LCD(pos_cur_LCD-1);
Imprime_cadena(" ");
ban_flecha_press=0;
}
break;
case 2:
if(ban_flecha_press==1){ //imprime la pantalla de modo monitor
Comando_LCD(pos_val_LCD-1);
Imprime_cadena("Frec ");
Comando_LCD(pos_cur_LCD-1);
Imprime_cadena(" ");
ban_flecha_press=0;
}
break;
case 3:
if(ban_flecha_press==1){
Comando_LCD(pos_val_LCD-1);
Imprime_cadena("Offset ");
Comando_LCD(pos_cur_LCD-1);
Imprime_cadena(" ");
ban_flecha_press=0;
}
break;
}
}
/*Opciones de submenús*/
if(BANDERA_BAN4==1){/*-Escribir datos, con el teclado
-'E' ingresa número
-'#' regresa al submenú monitor
*/
switch(menu_gen){
case 1: if(b_car=='E'){ /*ENTRAR*/
100
b_car=0;
BANDERA_BAN3=1; //regresa a submenú generador
BANDERA_BAN4=0; //sale de la pantalla de captura
//valor_tx=51;
contador_gen2=contador_gen;//respalda para interrupción
//condición para la señal offset
if(contador_gen!=6){
T1SC_TSTOP=0; //inicia el contador del TIM
}
else{
//offset, manda el valor bajo para la señal
PTD=valor_tx;
PTE=(valor_tx >> 6) & 0x03;
}
Comando_LCD(pos_cur_LCD-1);
Imprime_cadena(" ");
Comando_LCD(pos_cur_LCD);
}/*FIN DE ENTRAR*/
if(b_car=='#'){ /*REGRESAR*/
b_car=0;
BANDERA_BAN3=1; //regresa a submenú de generador
BANDERA_BAN4=0; //sale de la pantalla de captura
Comando_LCD(pos_cur_LCD-1);
Imprime_cadena(" ");
Comando_LCD(pos_cur_LCD);
}/*FIN DE REGRESAR*/
101
contador_gen--;
if(contador_gen<2)
contador_gen=2;
}
case 1: Comando_LCD(pos_cur_LCD);/*SENOIDAL*/
Imprime_cadena("Seno ");
break;
case 2: Comando_LCD(pos_cur_LCD);/*TRIANGULAR*/
Imprime_cadena("Sierra");
break;
case 3: Comando_LCD(pos_cur_LCD);/*ASCENDENTE*/
Imprime_cadena("Asc .");
break;
case 4: Comando_LCD(pos_cur_LCD);/*DESCENDENTE*/
Imprime_cadena("Desc ");
break;
case 5: Comando_LCD(pos_cur_LCD);/*CUADRADA*/
Imprime_cadena("Square");
break;
case 6: Comando_LCD(pos_cur_LCD);/*OFFSET*/
Imprime_cadena("Offset");
break;
}
}
break;
case 2: if(b_car=='E'){
b_car=0;
BANDERA_BAN3=1; //regresa a submenú monitor
BANDERA_BAN4=0; //sale de la pantalla de captura
Comando_LCD(pos_cur_LCD-1);
Imprime_cadena(" ");
Comando_LCD(pos_cur_LCD);
}
if(b_car=='#'){
b_car=0;
BANDERA_BAN3=1; //regresa a submenú monitor
BANDERA_BAN4=0; //sale de la pantalla de captura
102
Comando_LCD(pos_cur_LCD-1);
Imprime_cadena(" ");
Comando_LCD(pos_cur_LCD);
}
//DETECTAR FLECHA ARRIBA Y FLECHA ABAJO
if(ban_flecha_press==1){
ban_flecha_press=0;//limpia indicador
if(b_car=='P'){
//flecha arriba
b_car=0;
//incremento de T1MOD, para aumentar la frecuencia
if(T1MOD<60000){
T1MOD=1.5*T1MOD;
Comando_LCD(pos_cur_LCD);
Imprime_cadena(" ");
}
else{
T1MOD=65535; //valor máximo del contador
Comando_LCD(pos_cur_LCD);
Imprime_cadena("Lim.I");
}
}
if(b_car=='A'){
//flecha abajo
b_car=0;
//decremento de T1MOD, para disminuir la frecuencia
if(T1MOD>90){
T1MOD=.66*T1MOD;
Comando_LCD(pos_cur_LCD);
Imprime_cadena(" ");
}
else{
T1MOD=66; //valor máximo del contador
Comando_LCD(pos_cur_LCD);
Imprime_cadena("Lim.S");
}
}
}
break;
case 3: if(b_car=='E'){
b_car=0;
BANDERA_BAN3=1; //regresa a submenú monitor
103
BANDERA_BAN4=0; //sale de la pantalla de captura
Comando_LCD(pos_cur_LCD-1);
Imprime_cadena(" ");
Comando_LCD(pos_cur_LCD);
}
if(b_car=='#'){
b_car=0;
BANDERA_BAN3=1; //regresa a submenú monitor
BANDERA_BAN4=0; //sale de la pantalla de captura
Comando_LCD(pos_cur_LCD-1);
Imprime_cadena(" ");
Comando_LCD(pos_cur_LCD);
}
//DETECTAR FLECHA ARRIBA Y FLECHA ABAJO
if(ban_flecha_press==1){
ban_flecha_press=0;//limpia indicador
if(b_car=='A'){
//flecha arriba
b_car=0;
//incremento de T1MOD, para aumentar la frecuencia
if(valor_tx==255){
valor_tx=51;
Comando_LCD(pos_Tx_LCD + 3);
Imprime_cadena(" ");
}
valor_tx++;
}
if(b_car=='P'){
//flecha abajo
b_car=0;
//decremento de T1MOD, para disminuir la frecuencia
if(valor_tx==51){
valor_tx=255;
Comando_LCD(pos_Tx_LCD + 3);
Imprime_cadena(" ");
}
valor_tx--;
}
PTD=valor_tx;
PTE=(valor_tx >> 6) & 0x03;
val_lazo=valor_tx*7.8;
104
Comando_LCD(pos_Tx_LCD + 3);
Imprime_numero(val_lazo);
}
break;
}
}
}/*Fin menu_generador*/
/*******************************************************************/
/*Función control_menu, controla la posición el menú principal y submenús
0 -> fuente
1 -> monitor
2 -> generador
3 -> ayuda
*/
void control_menu (void){
extern unsigned char menu;
extern unsigned char ban_flecha_press;
switch(menu){
case 1: imprime_teclado();
modo_monitor();
if(ban_flecha_press==1){
Comando_LCD(0x80);
Imprime_cadena("Fuente ");
Comando_LCD(pos_val_LCD);
Imprime_cadena(" ");
Comando_LCD(pos_cur_LCD);
Imprime_cadena(" ^ ");
ban_flecha_press=0;
}
break;
case 2: //modo_monitor();
if(ban_flecha_press==1 && BANDERA_BAN0==1){ //imprime la pantalla de
modo monitor
Comando_LCD(0x80);
Imprime_cadena("Monitor ");
Comando_LCD(pos_val_LCD-1);
Imprime_cadena(" Pres E");
Comando_LCD(pos_cur_LCD);
Imprime_cadena(" ");
ban_flecha_press=0;
}
105
menu_monitor();
//entrar en menú
break;
case 3:
if(ban_flecha_press==1 && BANDERA_BAN0==1){
Comando_LCD(0x80);
Imprime_cadena("Generador ");
Comando_LCD(pos_val_LCD-1);
Imprime_cadena(" Pres E ");
Comando_LCD(pos_cur_LCD);
Imprime_cadena(" ");
ban_flecha_press=0;
}
menu_generador();
modo_monitor();
break;
case 4:
if(ban_flecha_press==1){
Comando_LCD(0x80);
Imprime_cadena(" SAPAL ");
Comando_LCD(pos_val_LCD-1);
Imprime_cadena("Automatizacion");
Comando_LCD(pos_cur_LCD);
Imprime_cadena(" 4-20mA");
ban_flecha_press=0;
}
break;
}
}/*Fin control_menu*/
6.1.1 LCD.C
//librerías de Microcontrolador
106
#include <MC68HC908GP32.h>
//memoria reservada
#pragma DATA_SEG SHORT MY_ZEROPAGE /* place following variables into
zeropage */
unsigned char Contador;
#pragma DATA_SEG DEFAULT
/*******************************************************************/
//Función Espera de 1 ms
void Wait1ms(void){
asm {
PSHA
LDA #BUSFREQ
DLLoop:
DBNZA DLSub
BRA DLDone
DLSub:
MOV #0xFF,Contador
here1:
STA COPCTL
DBNZ Contador,here1
BRA DLLoop
DLDone:
PULA
}
}/*Fin de waint1ms*/
/*******************************************************************/
void Toggle(void){
/*mantiene estado en la línea E de (LCD). */
PTB &= 0xBF; /* (BCLR 6,PORTB) AND */
Wait1ms();
PTB |= 0x40; /* (BSET 6,PORTB) OR */
}/*Fin de toggle*/
/*******************************************************************/
107
void WaitNms(int n){
/* This function waits for N ms. */
int i;
for(i=1;i<=n;i++)
{
Wait1ms();
__RESET_WATCHDOG();
}
}/*Fin de waitnms*/
/*******************************************************************/
void LCD_Init(void)
{
/* Inicialización LCD */
/* DDRA = 0xF0; Inicialización de puertos, se hace desde Device initialization
DDRB = 0xC0;
*/
PTB = 0x40;
PTA = 0x00;
WaitNms(15);
PTA = 0x30;
Toggle();
WaitNms(5);
PTA = 0x30;
Toggle();
Wait1ms();
PTA = 0x20; /* function set: change to 4 bits format */
Toggle();
Wait1ms();
/* from here, 4-bit format used */
PTA = 0x28; /* function set: display 5x10, 2 lines */
Toggle();
PTA = 0xC0;
Toggle();
Wait1ms();
PTA = 0x00; /* display on/off control: display on, cursor off, blinking off */
Toggle();
PTA = 0xC0;
Toggle();
Wait1ms();
108
Wait1ms();
PTA = 0x10;
Toggle();
Wait1ms();
PTA = 0x00;
Toggle();
Wait1ms();
PTA = 0x60;
Toggle();
WaitNms(15);
}/*Fin LCD_init*/
/*******************************************************************/
void Imprime_cadena(char *str){
/* Función de impresión de cadena en forma de String */
char *strptr;
strptr = str;
PTB |= RS_D ; /* RS = 1 ESCRIBIR DATO */
while ((*strptr) != '\0'){
PTA = ((*strptr) & 0xF0); /* Write data to DDRAM */
Toggle();
PTA = ((*strptr) << 4);
Toggle();
Wait1ms();
strptr++;
}
} /*Fin imprime_cadena*/
/*******************************************************************/
void Comando_LCD(unsigned char comando) {
unsigned char Respcursor;
Respcursor = comando;
PTB &= RS_C ; /* RS = 0 ESCRIBIR comando */
PTA = ((Respcursor) & 0xF0);
Toggle();
PTA = ((Respcursor) << 4);
Toggle();
109
Wait1ms();
}/*Fin commando_LCD*/
/*******************************************************************/
void Imprime_numero(int numero){
unidades_millar = numero/1000;
centenas = (numero%1000)/100;
decenas = (numero%100)/10;
unidades = (numero%10);
if(unidades_millar!=0){
PTA = (0x30); /* Write data to DDRAM */
Toggle();
PTA = ((unidades_millar) << 4);
Toggle();
Wait1ms();
}
if(centenas!=0 || unidades_millar!=0){
PTA = (0x30); /* Write data to DDRAM */
Toggle();
PTA = ((centenas) << 4);
Toggle();
Wait1ms();
}
110
Toggle();
PTA = ((unidades) << 4);
Toggle();
Wait1ms();
}/*Fin imprime_numero*/
teclado.c
/*******************************************************************/
/*Función botones
Esta función reconoce el botón que fue presionado del Teclado
Matricial a Partir del valor en la variable boton_pta
*/
void botones (void){
switch(PTC_bajo) {
111
break;
case 0x02: //PTB=0x02; //Boton #2pin 5,2
b_car='2';
num_press=2;
ban_num_press=1;
break;
case 0x01: //PTB=0x01; //Boton #1pin 5,3
b_car='1';
num_press=1;
ban_num_press=1;
break;
case 0x00: //PTB=0x0f; //Boton #0pin 5,4
b_car='1';
num_press=0;
ban_num_press=1;
break;
112
//control de menu principal
if(BANDERA_BAN0==1)
menu++;
if(menu>4)
menu=4;
//control de menu de monitor
if(BANDERA_BAN1==1)
menu_mon++;
if(menu_mon>3)
menu_mon=3;
//control de menu de generador
if(BANDERA_BAN3==1)
menu_gen++;
if(menu_gen>3)
menu_gen=3;
case 0x0F: //PTB=0x0F; //Botón #NA pin 8y10,1, este botón no existe
fisicamente
b_car='F';
break;
case 0x0E: //PTB=0x0E; //Botón #E pin 8y10,2
b_car='E';
entrar=1;
break;
case 0x0D: //PTB=0x0D; //Botón #P pin 8y10,3
b_car='P';
//control de menú principal
113
if(BANDERA_BAN0==1)
menu--;
if(menu<1) //botón flecha abajo \/
menu=1;
//control de menú monitor
if(BANDERA_BAN1==1)
menu_mon--;
if(menu_mon<1)
menu_mon=1;
//control de menú generador
if(BANDERA_BAN3==1)
menu_gen--;
if(menu_gen<1)
menu_gen=1;
default: // PTB=0x00;
break;
}
}
}/*Fin de botones*/
BANDERA.H
typedef union {
byte Band;
struct {
byte BAN0 :1;
byte BAN1 :1;
byte BAN2 :1;
114
byte BAN3 :1;
byte BAN4 :1;
byte BAN5 :1;
byte BAN6 :1;
byte BAN7 :1;
} Bits;
} BANDER;
extern volatile BANDER _BANDERA;
LIBPERSONAL.H
/*LIBRERIAS personales*/
#include <bandera.h>
/*8-Bits Register*/
volatile BANDER _BANDERA;
115
A.2 ESQUEMÁTICOS
116
117
VCC
-10V
10nF -10V
10MΩ 10MΩ
1kΩ
1kΩ 8
100nF U3A
100nF 3
1
2
200.8Ω 10MΩ 4 LM358P
DAC0800 -10V 100Ω
10MΩ
E/S digital
LM741
-10V
lazo fuente tierra
TRANSMISOR 4-20mA
118
X
5V
1 18
2 17
3 16
10nF 4 15
5 14
6 13 3 1D 1Q 2 PTC0
7 12 4 2D 2Q 5
8 11 7 3D 3Q 6
9 10 8 4D 4Q 9
13 5D 5Q 12
100nF 74C922 14 6D 6Q 15
17 7D 7Q 16 PTC3
Y 74LS04D 18 19
8D 8Q
1 PTA_KBD0
~OC
11 ENG HDR1X5
5V
74LS373N
TECLADO MATRICIAL
ALIMENTACION
LM337H -12V
VREG LINE
VOLTAGE
COMMON
1mF
100Ω 700Ω
100Ω 700Ω
LM7805CT 12V
VREG LINE
VOLTAGE
COMMON
119
GENERADOR/MONITOR 4-20mA
X
5V
1 18
2 17
3 16
10nF 4 15
5 14
6 13 3 1D 1Q 2
7 12 4 2D 2Q 5
8 11 7 3D 3Q 6
9 10 8 4D 4Q 9
13 5D 5Q 12
100nF 74C922 14 6D 6Q 15
17 7D 7Q 16
Y 74LS04D 18 19
8D 8Q
1 ~OC
11 ENG
5V
74LS373N
5V
100nF
7 1 5
3
10MΩ
6
2
10MΩ 8
4 LM741CN 3 100nF
16
15
14
13
12
11
10
9
1
RCV420
2
1
2
3
4
5
6
7
8
200.8Ω 10MΩ 4 LM358P
100Ω
10MΩ
100nF
loopout_vloop_loopin
5V
10 V -10 V
voltaje
120
BIBLIOGRAFÍA
REFERENCIAS BIBLIOGÁFICAS
121
SZZA045 Application Report
Texas Instruments
IC BUILDING BLOCKS FORM COMPLETE ISOLATED 4-20mA
CURRENT-LOOP SYSTEMS
SBOA017 APPLICATION BULLETIN
BURR-BROWN
LAZO DE CORRIENTE ANALÓGICO
ADQUISICIÓN Y CONTROL MEDIANTE UN MÓDULO RIAC
NDA6 LAZO420 Rev. 050926
Micro axial
VOLTAGE TO CURRENT CONVERSION
APPLICATION NOTE 13
Power operational amplifier
APEX microtechnology
4-20mA CURRENT LOOP FOR PPT/PPT-R
AN102
HoneyWell
REFERENCIA NO BIBLIOGRÁFICA
http://www.isa.org/
www.ednmag.com
http://www.dataforth.com/
122