Micro photometer`s automation for quantitative ...

147
//v/^ - /W V - { MX9700024 S.E.P. S.E.l.T. D.G.l.T. INSTITUTO TECNOLOGICO de Toluca AUTOMATIZACION DE UN MICROFOTOMETRO PARA ANALISIS ESPECTROGRAFICO CUANTITATIVO. TESIS RROFESIONAL QUE PARA OBTENER EL TITULO DE: INGENIERO ELECTRONICO PRESENTA: Citlalih Yollohtli Alejandro Gutidrrez Estrada ASESORES: ING. MARCO ANTONIO TORRES BRIBIESCA. ING. EFRAIN GONZALEZ REYES. TOLUCA, ESTADO DE MEXICO. OCTUBRE DE 1996.

Transcript of Micro photometer`s automation for quantitative ...

Page 1: Micro photometer`s automation for quantitative ...

//v/^ - /W V - {

MX9700024S.E.P. S.E.l.T. D.G.l.T.

INSTITUTO TECNOLOGICOde Toluca

AUTOMATIZACION DE UN MICROFOTOMETRO PARA ANALISIS ESPECTROGRAFICO

CUANTITATIVO.

TESIS RROFESIONALQUE PARA OBTENER EL TITULO DE:

INGENIERO ELECTRONICOPRESENTA:

Citlalih Yollohtli Alejandro Gutidrrez Estrada

ASESORES: ING. MARCO ANTONIO TORRES BRIBIESCA. ING. EFRAIN GONZALEZ REYES.

TOLUCA, ESTADO DE MEXICO. OCTUBRE DE 1996.

Page 2: Micro photometer`s automation for quantitative ...

flflf) INSTITUTO TECNOLOGICO iSlJFi de Toluca

DIVISldN DE ESTUDIOS PROFESIONALES

DEP-380-408/96

ASUNTO: Se autoriza Impresion de Trabajo Profesional

Septiembre 24, 1996

C. CITLAL1H YOLLOHTH ALEJANDRA GUTIERREZ ESTRADA PASANTE DE LA CARRERA DE INGENIERIA ELECTRONICA PRESENTE

De acuerdo con el Reglamento de Titulacion del Sistema Nacional de Institutes Tecnoldgicos, dependiente de la Subsecretaria de Educacion e Investigacion Tecnoldgica de la Secretaria de Educacion Publica y habiendo cumplido con todas las indicaciones que la Comision Revisora realize con respecto a su trabajo profesional denonunado. “AUTOMATIZACION DE UN MICROFOTOMETRO PARA ANAL1SIS ESPECTOGRAFICO CUANTITATIVO la Division de Estudios Profesionales concede su autorizacion para que proceda la impresion del mismo.

ATENTAMENTE

M.C. IRENE CARMONA CHIT JEFE DE LA DIVISION DE ESTUDIOS PROFESIONALES

c c p Expediente.

Apartado Postal 890 C.P. 50000 Toluca, M6x.

Telefonos: 71 21 91 71 12 91, 71 10 68 71 10 46, 71 21 85

Fax 71 12 92, 71 12 41

Page 3: Micro photometer`s automation for quantitative ...

INSTITUT'D TECNOLOGICOde Toluca

DIVISldN DE ESTUDIOS PROFESIONALES

DEP-380-409/96

ASUNTO: Dictamen Impresion Comision Revisora

Septiembre 24, 1996.

C. LIC. RAFAEL VERDEJO RUBIOCOORD IN ADOR DE APOYO A LA TITULACIONPRESENTS

Por este medio comunicamos a usted, que la comision revisora designada para analizar el trabajo profesional denominado: “AUTOMAT1ZACION DE UN M1CROFOTOMETRO PARA ANALIS1SESPECTOGRAFICO CUANTITATIVO”, que presenta la C.CITLALIH YOLLOHTLI ALEJANDRA GUTIERREZ ESTRADA , pasante de la carrera de Ingenieria Electronics y con No. de control 90280082, en la Option I. Tesis Profesional, para sustentar el Acto de Recqxion Profesional, ha dictaminado que dicho trabajo reune las caracteristicas de contenido y calidad necesarias para proceder a la impresion del mismo

Sin otro particular por el momento, quedamos de usted.

ATENTAMENTE

NG J DE JESUS GUADARRAMA GRANADOS

MC ONOFRE /A MORF1N GARDUNO

ICCH/RVR/rvr

Telefonos: 71 21 91 71 12 91, 71 10 68 71 10 46, 71 21 85

Fax 71 12 92, 71 12 41

Apartado Postal 890 C.P. 60000 Toluca, M6x.

Page 4: Micro photometer`s automation for quantitative ...

L o que imports verdaderamente en la vida no son los objetivos que nos marcamos ... sino los caminos que seguimos para lograrlo.

Peter Bamm.

Page 5: Micro photometer`s automation for quantitative ...

Dedico el presente trabajo:

A mi Padre, a Gelo y Beto:

Por que creyeron en mi y en reconocimiento a su apoyo y comprension que en todo momento me ban brindado.

A mis hermanos:

Que este sea un testimonio de gratitud por todo su apoyo.

A mis amigos.

Por los momentos compartidos y por que me distinguen con su amistad.

Page 6: Micro photometer`s automation for quantitative ...

AGRADECIMIENTOS.

Al Institute Nacional de Investigaciones Nucleares por las multiples facilidades otorgadas para el desarrollo de este trabajo.

Al Institute Tecnoldgico de Toluca por los conocimientos transmitidos, durante el transcurso de mi formacion profesional.

De manera muy especial al Ing. Marco Antonio Torres Bribiesca por compartir sus conocimientos y por la asesorla y amistad brindada para la realizacidn de un ideal.

Al Ing. Efrain Reyes Gonzalez por su buena disposicion y adecuada direccion en el desarrollo del presente trabajo.

A todas aquellas personas que de alguna u otra forma hicieron posible la realizacidn de un objetivo.

Page 7: Micro photometer`s automation for quantitative ...

OBJETIVO:

Automatizar la adquisicidn y procesamiento de informacion mediante el proceso de Analisis Espectrogrifico Cuantitativo, utilizado para la determinacidn de concentration de elementos en muestras, contenidas en una placa de espectro de emisidn, examinada por medio de un microfotdmetro.

Page 8: Micro photometer`s automation for quantitative ...

CONTENIDO.pr6logo. i

INTRODUCTION. 4

CAPITULO 1. ANTECEDENTES. 71.1. - ORIGEN DE LOS ESPECTROS. 81.2. - PRODUCTION DE LOS ESPECTROS. 111.3. - ESPECTROSCOPIOS. 121.4. - EMULSIONES FOTOGRAFICAS. 151.5. - MICROFOT6METROS. 151.6. - ANALISIS ESPECTROQUIMICO. 181.7. - TECNICAS DEL ANALISIS ESPECTROGRAFICO CUANTITATIVO. 22

1.7.1. - ANALISIS DE SOL'JCIONES . 22

CAPITULO 2. PROCESO DE AUTOMATIZACI6N. 242.1. - descripci6n del microfotOmetro. 25

2.1.1. - SISTEMA dPTICO DEL MICROFOTOMETRO. 252.1.2. - ELECTRdNICA DEL MICROFOTdMETRO. 272.1.3. - SISTEMA DESARROLLADO PARA LA AUTOMATIZACION. 282.1.4. - ACONDICIONAMIENTO DE SENALES. 29

2.1.4.1microfot6mf.tro MODELO RC-3. 292.1.4.2.- MICROFOTOMETRO MODELO RC-5. 3 3

2.1.5. -INTERFASE. 362.1.5.1.- CARACTERISTICAS DE LA INTERFASE EMPLEADA. 41

2.2. - PROGRAMACl6N. 44

CAPITULO 3. PRUEBAS Y RESULT ADOS. 523.1. - PROCEDIMIENTO PARA DETERMINAR CONCENTRACIONES. 53

3.1.L- CALIBRADO DE LA EMULSldN. 533.1.2 - CURVAS DE TRABAJO. 593.1.3.- RESULTADOS ANALlTICOS. 61

3.2. - PROCESO MANUAL. 673.3. - PROCESO AUTOMATICO. 67

CONCLUSIONES. 76

REFERENCIAS 78

ANEXOA. LIST ADO DEL PROGRAMA. 80

APENDICE A. PUENTES DE EXCITACldN. 127

APENDICE B. ESPECTRdGRAFOS. 130

APENDICE C ESPECIFICACIONES DE DISPOSITIVOS 133

Page 9: Micro photometer`s automation for quantitative ...

PROLOGO.

Page 10: Micro photometer`s automation for quantitative ...

Un Microfotometro es un instrumento utilizado para realizar medidas de densidad de ennegrecimiento en lineas espectrales impresas cn una placa fotografica. Al analizar las lineas espectrales, se puede determinar en una muestra “x” los elementos que la conforman y que concentracion de esos elementos contiene. Este tipo de analisis se denomina Analisis Espectrografico Cuantitativo.

Un atomo de un elemento puede ser excitado cuando se le proporciona la energia suficiente para provocar que uno o varies electrones pasen a niveles de mayor energia. En este caso se dice que el atomo se encuentra excitado. Posteriormente al suspender la energia, el electron excitado tendera a retomar lo mas rdpidamente posible a su estado original, esta fase va acompanada por la emisidn de radiacidn. Cada atomo tiene una radiacion con caracteristicas propias, de aqui que cada elemento de la tabla periodica cuente con un espectro unico.

El espectro de emisidn esta formado por lineas espectrales correspondientes a las diferentes longitudes de onda caracteristicas de cada elemento.

El procedimiento para realizar el analisis espectrografico cuantitativo se lleva a cabo mediante 3 pasos, los cuales son descritos a continuacidn.

7.- DETERMINACIONDE LA CURVA DE CALIBRADO DE LA EMULSION.

Consiste en calibrar una emulsion fotografica, con la finalidad de conocer su respuesta a las variaciones de la intensidad de la radiacidn incidente.

Para el procedimiento de calibrado de la emulsidn se aplica un ajuste con minimos cuadrados a los datos obtenidos que fmalmente He van a la formacion de una grafica. En esta grafica es posible determinar la densidad de ennegrecimiento de la linea espectral contra la intensidad de la luz incidente de la linea que proporciona el microfotometro.

2. - CUR VAS DE TRABAJO.

Consiste en obtener una curva en la que se grafican valores de concentracion conocida de un elemento contra intensidad de luz incidente. Como la muestra que se examina esta formada por varios elementos, es necesario encontrar para cada uno de ellos una curva de trabajo.

3. - RESULTADOS ANALiTICOS.

Los resultados analtticos se proporcionan auxiliandose de la curva de calibrado de la emulsion y curvas de trabajo. Este metodo permite determinar la concentracion del elemento que se estudia. Al igual que en curvas de trabajo, se debe realizar este proceso para cada elemento que conforma a la muestra.

2

Page 11: Micro photometer`s automation for quantitative ...

TRABAJO REALIZADO CON LA AUTOMATIZACION.

Mediante una computadora PC y un programa de compute se realiza la adquisicion automatica de dates, calculos y obtencion de resultados. Para ello se requirid de circuitos de acondicionamiento de senales y de una interfase paralela. Los circuitos de acondicionamiento tienen la funcion de entregar senales TTL (Logica Transistor Transistor) que hacen posible la comunicacion entre el Microfotometro y la computadora.

En la adquisicion de datos, se toman las senales provenientes del microfotometro, se acondicionan y se reciben por medio de la interfase a la computadora. Con un programa de compute se almacenan los datos, se realiza el procedimiento de cdlculos y ajustes en forma automatica, los resultados obtenidos se guardan automaticamente en el disco duro de la computadora y por ultimo se presentan en pantalla de la PC (os resultados y la ecuacion de la recta obtenida con todos los datos que se tomaron, asi como la grafica que muestra la inclinacion de la pendiente de la recta y la ordenada al origen.

Finalmente si el operador lo desea, se puede realizar la impresion de los resultados, ya que el programa esta provisto de las instrucciones necesarias que hacen posible esta opcion.

Los circuitos desarrollados son compactos, emplean cable blindado que protege contra medios externos que provocan fallas en el proceso o ruido cuando se toman los datos que proporciona el microfotometro, ademas estan colocados en lugares estrategicos que impiden el acceso al usuario o personal que labora en el area.

Page 12: Micro photometer`s automation for quantitative ...

INTROD UCCION.

Page 13: Micro photometer`s automation for quantitative ...

El Institute Nacional de Investigaciones Nucleates (ININ) esta formado por varias gerencias. entre las cuales forma parte la Gerencia de Servicios Tecnicos Nucleates, dentro de esta Gerencia se encuentra el departamento de analisis quimicos. Este departamento cuenta con la seccion de espectrometrla, que es el area donde se efectua la determinacidn de la concentracion de elementos en muestras de laboratorio mediante analisis espectrografico cuantitativo.

El proceso que se sigue para determinar la concentracion de elementos contenidos en una muestra es: a) imprimir una placa fotografica con el espectro de emisidn que se obtiene al excitar la muestra que se va examinar, b) analizar la placa por medio de un microfotdmetro el cual mide el ennegrecimiento de las lineas espectrales impresas en la placa, c) con las lecturas obtenidas, trazar las curvas de trabajo de intensidad de radiacidn incidente de las lineas espectrales contra concentracidn de cada elemento que se desea determinar y d) realizar los calculos necesarios para encontrar que concentracidn de cada elemento tiene la muestra.

Este trabajo se ha desarrollado desde hace tiempo en el departamento de analisis quimicos, pero dado que el proceso de captura y calculos es manual, resulta muy tardado y algunas veces inexacto. Por estas razones se observd que era necesario agilizar el procedimiento que se sigue, debido a que siempre hay exceso de trabajo y resulta dificil entregar resultados a tiempo.

Para resolver este problema, se propuso automatizar al Microfotometro, mediante una computadora PC y circuitos de acoplamiento de sedates.

Para la automatizacion se desarrollo un sistema que establece la comunicacidn entre el microfotdmetro y una computadora personal, por medio de una interfase paralela que conjuntamente con un programa de compute realiza el analisis espectrografico cuantitativo, haciendo posible la visualizacion de los datos en el microfotdmetro y en la computadora en forma simultanea.Antes de desarrollar la interfase fue necesario identificar las sefiales provenientes del microfotdmetro, una vez identificadas estas senales, se acondicionaron y ajustaron para ser trasmitidas a la interfase, la cual va conectada a una de las ranuras de expansion de la computadora, haciendo con ello posible la captura automatica de datos, la automatizacidn de los calculos y la entrega automatica de resultados.

Page 14: Micro photometer`s automation for quantitative ...

El programa de compute que forma parte del sistema, hace posible que el usuario elija los tres procesos principals para poder determinar elementos en muestras, estos son: Calibrado de la emulsion, Curvas de trabajo y Resultados analiticos. Al elegir cualquiera de ellos, se presenta en pantalla una portada que muestra las opciones que se pueden escoger. Asi mismo el programa esta provisto de rutinas, las cuales aseguran que de haber algun error por parte del usuario, esto no afecte a los resultados o el procedimiento que se realiza, para ello se muestran mensajes de error en pantalla con los pasos que hay que seguir nuevamente y continuar con el trabajo.

Page 15: Micro photometer`s automation for quantitative ...

CAPITULO 1ANTECEDENTES.

Page 16: Micro photometer`s automation for quantitative ...

Cai*. I Anteceoentes.

1.1 ORIGEN DE LOS ESPECTROS.

I lace mas de 2,400 afios Democrito dc Abdera intuyd que el numdo debia estar formado por simples y minusculos granos de materia primordial a los que dio el nombrc de atomos, que en griego quiere decir indivisibles. Cada lino seria distinto scgun la substancia a la que perteneciera, hasta alii el fildsofo tenia razdn, lo male es que, a la bora de explicar las difcrcncias entre unas particulas y otras, peed de ingenuidad: los atomos de agua serian suaves y redondeados; los de fuego estarian cubiertos dc espinas, y los de la tierra tendrian arrugas.

Tuvieron que pasar muchos afios para que, en 1803, el quimico ingles John Dalton reanudara con lo descrito por Democrito, segun su teoria la materia se podia dividir en dos grandes grupos: cl de los elementos y el de los compuestos. Los primeros serian unidades simples o fundainentales, dc las que existiria un numero reducido (hasta ahora se han descubierto 108) y a las que denomino atomos, en homenajc al pensador griego. Los segundos serian combinaciones de los primeros que, de acuerdo con cicrtas reglas, darian lugar a estructuras mas complejas denominadas moleculas.

A llnales del siglo XIX, en 1891, el fisico ingles J. J. Thompson iba a dar, sin pretenderlo, con una nueva clave de la coniposicion de la materia. Mientras estudiaba la naturaleza de los rayos catddicos, observe que estos estaban formados por enormes cantidades de pequenas particulas cargadas de electricidad negativa. La existencia de dichos corpusculos, los electrones, liabia sido predicha por el fisico irlandes Stoney, pero Thompson fue el primero en aislar uno de ellos, que resulto tener una masa dc 1.836 veces menor que la del atomo de hidrogeno, el menor dc todos. Asi que el atomo no podia scr la particula mas pequena y mucho menos era indivisible. El hecho de que el electron formara parte de el, plantcaba una interrogante: ^como se conforma la estructura atomica?. La primera gran aproximacion al concepto actual se debe a Ernest Rutherford, un fisico de la Universidad de Manchester que en 1911 propuso un modelo practicamente calcado del Sistema Solar: el atomo estaria formado por un nucleo central, con carga positiva, en el que se concentraria casi toda la masa y alrededor del cual girarian en orbitas concentricas los electrones con carga negativa desempenando un papcl seinejante al de los planetas. Esta teoria fue plenamente confirmada por el fisico danes Niels Bohr, quien propuso un nuevo modelo atomico que fue capaz de explicar adecuadamcnte los cspectros de la luz emitida por los atomos. Bohr presento un modelo planctario, similar a I propuesto antcriormentc por Rutherford, donde los electrones con carga negativa, giran alrededor del nucleo formado por particulas positivas llamadas protones. En 1932, el ingles James Chadwick reafirmo la teoria al descubrir el neutron que, junto con el proton, forman el nucleo atomico.

En la llgura I-1 se observa como una simple manzana nos sirve para mostrar de que sc com pone la materia. Si la dividieramos mas alia de lo que el ojo humane puede ver, cl primer escalon con que nos encontrariamos serian las moleculas, constituidas por atomos, los cualcs a su vcz se componen de electrones y nucleo, el nucleo esta formado por protoncs y neutrones.

Alulera. Traeia Region historic;! de I uropa. en el Sur -1 sle de los lt;ilc;mcs. hoy repartida entre Unlearnt. (irecia y I urt|uia

8

Page 17: Micro photometer`s automation for quantitative ...

Cap. I Anteceim-ntes.

Figura 1-1. Componentes Basicos de la Materia.

Se observe que los electrones trazan drbitas en torno al nucleo bajo la atraccion electrostatica de los protones, como planetas en un sistema en miniature; donde un atomo de cualquier elemento ticnc sus electrones ocupando niveles energeticos, estos se representan por las letras K, L, M, N, O, P, Q. El estado de menor energia para un electron dentro del atomo se le llamo estado base (figura l-2a). Al aplicar energia externa al atomo, uno o mas electrones se excitan pasando de un nivel de energia bajo a un nivel de energia mas alto, denominado estado excitado (figura I-2b). Posteriormente estos electrones excitados al suspenderle la energia aplicada tienden a volver a su estado original y al hacerlo emiten en forma de radiacion la energia que habian adquirido (figura l-2c) [I],

F.STADO BASE

NIVELES ENERGETICOS

(a)

ESTADO EXCITADO

NIVELES ENERGETICOS

(b)

ESTADO BASE

y*':

'

# O—6

NIVELES ENERGETICOS

(c)Figura 1-2. Proceso de Emisidn de Energia de un atomo.

La radiacion que emiten estos electrones al regresar a niveles de menor energia es caractcristica dc cada elemento, es decir, solamente pueden producir radiaciones dc determinadas longitudes de onda, creando con ello la posibilidad de identificar a cada elemento al analizar la energia que se emite. Al conjunto de energias o radiacion que emiten los electrones se le denomina espectro, y este puede scr anali/atlo por medio de los Microfotometros [2],

Para medir la Energia de la radiacion, en fisica nuclear se utiliza la unidad electron - volt (eV), el cual sc define como la energia que adquiere una carga elemental al ser sometida a una diferencia dc potcncial dc I volt:

I eV = |qc | x I volt ~ 1.6 x lO"'1' Cf x I volt = 1.6 x I0"1' Joules

la carga eleclrica se inidc en emilumhs ((). I a carga tie un proton (q,,) es tie +1 (is III 'V. y la tie un electron (qj es tie -I (isIII' '(

9

Page 18: Micro photometer`s automation for quantitative ...

Cap. 1 Antecedentes.

La radiacidn consiste de “paquetes” o cuantos que contienen y transportan una cantidad discreta de energfa, esto puede ser expresado por la fdrmula:

E = hv (E en Joule o McV)h = constante de planck = 6.625 x IO"34 Joules . seg v= frecuencia del cuanto (en seg'1 o hertz = I/seg)

Estos “paquetes” de energia o fotones no poseen masa en reposo ni carga e independientemente de su energi'a E, se mueven en el vacio a la velocidad de la luz c = 3 x 108 m/seg.Otra re lac ion que cumplen los fotones al moverse en vacio es :

vX= cc = velocidad de la luz en el vacio,X = longitud de onda (en cm, A, pm, etc.),1A= 10"1 m

La Energia de un foton queda entonces como:

E = hv y

EV~ h

igualindolas:E c

c = vX

c

La formula anterior indica la forma en que se producen fotones dentro de un cierto rango de energias, frecuencias o longitudes de onda, y como se menciono dan origen a un espectro, con ello se observa que la energia de un foton esta relacionada con la frecuencia, asi a mayor frecuencia mayor energia, en la figura 1-3 se describe un esquema de todas las radiaciones electromagneticas y al espectro visible, el cual se utiliza para realizar analisis espectroquimicos (cualitativo, semicuantitativo y cuantitativo).

(X) en metros107 107 10° 1 10* 10’ io’ io’ 10" io" io" io"

1 1 1 1 • 777 1 1 1 l 1 1 1

KAYOS KAYOSCdSMICOS GAMMA

KAYOS KAYOSX ULTRA VIOLETA 'h KAYOS ONDAS

INFKARKOJOS- HERTZIASASONDAS DE OSCILACIONES ELECTROMAGNETICAS

RADIO DE ORAN LONGITUD DE ONDA

2 000 3 000 5 000 6 000

(X) on metros

SOOO 9 000 I0 0O01 1 1 1 1 1 1 1 1 1

ULTRA VIOLETADE VACIO

ULTRAVIOLETA

1 u

ESPECTRO VISIBLE

J 1 1 -J

INFKARROJO

K4044 Ci4555 fuSUl BaSS35 NafUOO COM)* Lil.707(VIOLCTAI (AZUL) (VERDE) (VERDE) (AMARILLO) (ROK)| (ROR)I

Figura 1-3. Esquema de las Radiaciones Electromagneticas

10

Page 19: Micro photometer`s automation for quantitative ...

Cap. 1 Anteceuentes.

1.2 PRODUCCldN DE LOS ESPECTROS.

Una muestra es la parte a analizar bajo tecnicas y procedimientos que nos permiten conocer su composicidn.

El espectro de emision se obtiene a partir de que la muestra es excitada por medio de una fuente de excitacidn, la radiacion que se emite pasa a traves de una rejilla que la enfoca a un prisma el cual tiene como funcion descomponer la radiacion en sus diferentes longitudes de onda (conocida con el nombre de espectro), esta radiacion queda impresa en una placa fotogr&fica que permite analizar el espectro obtenido por medio de un microfotometro. Este proceso esta representado en la siguiente figura.

RENDIJAPRISMA

/ I \ ^MUESTRA EXCITADA

PLACA FOTOGRAFICA

ESPECTRO DE EMISIONFigura 1-4. Obtencidn de un espectro de emision .

FUENTES DE EXCITACldN

La manera ordinaria de que los atomos adquieran la energia suficiente para emitir sus radiaciones caracteristicas es mediante cheques inelasticos con otros atomos, moldculas o iones.

Las fuentes de excitacidn cumplen con las siguientes funciones: a) suministrar a los atomos la energia suficiente para su vaporizacion (volatilizacion) y b) proporcionar a dichos atomos la energia capaz de producir cheques que originen la emision de radiaciones (excitacidn).

Las fuentes de uso mas general son: flama, arco y chispa [2], Para mayor informacion acerca de estas fuentes de excitacidn, ver Apendice A.

ELECCION DEL T/PO DE DESCARGA.

Para la eleccion del tipo de descarga a utilizar, se debe tener presente los tres factores siguientes: naturaleza de la muestra, sensibilidad deseada y reproducibilidad, ya que la descarga a utilizar sera

Page 20: Micro photometer`s automation for quantitative ...

Cap. I Antecldf.ntes.

funcion del punto de fusion de la muestra o del grade de volatilidad de los elementos a determinar. Teniendose en cuenta la primera condicion se utilizaran descargas de arco o de chispa segun se desee gran sensibilidad o gran reproducibilidad.

1.3 ESPECTROSCOPIOS.La luz emitida al excitar un elemento esta compuesta de una serie de radiaciones monocromaticas de longitud de onda distintas por lo que es precise separar unas de otras para obtener el espectro deseado. Un espectroscopio es un instrumento destinado a producir este fendmeno.

Los espectroscopios pueden dividirse segun su elemento dispersor en espectroscopios de prisma y de red, y segun su elemento receptor en: Espectroscopios, espectrografos y en espectrometros. Los primeros poseen un ocular como elemento receptor, los segundos una emulsion fotografica y los terceros un tubo fotomultiplicador. De acuerdo al trabajo que se realiza en el area de espcctrometria, el aparato que nos interesa analizar es el espectrografo.

1.3.1 ESPECTRdGRAFO.

Hace mas de trescientos anos, Issac Newton demostro que un rayo de luz blanca dirigido hacia un lado de un prisma se refracta y dispersa, formando un espectro continue. Un segundo prisma y una lente pueden recoger la luz espectral dispersada y recombinada, dando lugar a un rayo de luz blanca [3].

Los espectrdgrafos utilizan prismas dispuestos de esta manera, se constituyen principalmente de una fuente de luz que pasa primero por un colimudor, compuesto por una estrecha ranura y una lente convexa, las cuales producen un rayo de luz. Este rayo se dirige en angulo hacia un elemento dispersor que puede ser un prisma o red, lo refracta y dispersa en sus colores espectrales y finalmente esos colores o li'neas espectrales quedan grabadas en una placa o pelicula fotografica. Siendo posible el analisis de estas por medio de un microfotometro.

COLIMADOR ELEMENTODISPERSORRENDIJA

____I

PLACAFOTOViRAI IC A.

Figura I -5. Esquema general de un espectrografo.

CARACTERiSTICAS GENE RALES DE LOS ESPECTROGRAFOS.

Para que la calidad de las li'neas espectrales en la placa fotografica sea excelente, hay que considerar ciertas caracteristicas, las cuales influyen cuando se analiza la placa fotografica por medio del

12

Page 21: Micro photometer`s automation for quantitative ...

Cap. 1 Antecedentes.

Microfotometro. Las principals caracteristicas a considcrar son: La dispersion, el poder de resolucion y la luininosidad. A continuacion se hace una breve descripcidn de cada una:

DISPERSION.

Los rayos de diferentes longitudes de onda que emergen del drgano dispersor del espectrografo forman entre ellos un cierto angulo (d0). Siendo dX la diferencia de longitud de onda entre dichos rayos, la dispersion angular del espectrografo esta dada por:

dOdX

Estos rayos una vez dispersados inciden en la emulsidn fotografica produciendo el espectro. Siendo dl la separacion de la placa de dichos rayos, se llama dispersion lineal del aparato a la relacion dl/dX. Generalmente la dispersion viene dada por la reciproca de la relacion anterior, o sea dX/dl es la diferencia en longitud de onda entre dos lineas separadas por una unidad de longitud, se expresa enA/mm.

PODER SEPARADOR Y PODER DE RESOLUCldN.

El poder separador de un espectrografo es su propiedad de separar dos radiaciones cuyas longitudes de onda difieren muy poco, dando dos imagenes distintas, se expresa por AX, 0 sea el intervale menor de X que puede separar. Poder de Resolucion R es la relacion entre el promedio de las longitudes de onda de un par de lineas que pueden ser separadas y se expresa:

L UMINOSIDAD.

La luininosidad de un espectrografo se caracteriza por la intensidad del espectro obtenido (ennegrecimiento sobre la emulsion fotografica). Depende principalmente de la abertura relativa del espectrografo, es decir, la relacion del diimetro del sistema optico de enfoque a la distancia focal de este dispositive, del espesor de las substancias refrigerantes atravesadas y del numero de ellas en el trayecto optico.

Al aumentar la distancia focal del dispositive, decrece la luininosidad del espectro, pues una misma energia luminosa se encuentra repartida sobre una superficie mayor. Esta caracteristica se puede observaren lafigura 1-8.

1.3.1.1 TIPOS DE ESPECTRdGRAFOS

Los espectrografos se dividen en :Espectrografos de Prisma y Espectrografos de Red.

ESPECTROGRAFOS DE PRISMA.

Un espectrografo de prisma consta en esencia de una rendija de entrada, una lente colimadora que transforma el liaz de luz en un haz paralelo que hace que incida en el prisma, un prisma dispersor y una lente de camara que vuelve a unir el haz dispersado paralelamente al foco situado en el piano focal.

Los materialcs de los prismas y lentes deben ser escogidos cuidadosamente segun la longitud de onda que deba estudiarse. Los mas utilizados son: el cuarzo fundido que es transparente desde 1850 A a 8000 A. el fluoruro de potasio y el fluoruro de litio que son transparentes hasta 1250 Ay 1050 A,

Page 22: Micro photometer`s automation for quantitative ...

Cap. 1 Antecedents.

respectivamente, el vidrio para la zona visible y el cloruro de sodio o cloruro de potasio para el infrarrojo.

Entre los principales montajes de prisma se encuentran el de Cornu y el espectrdgrafo tipo Litrow.

ESPECTROGRAFOS DE RED.

En los espectrdgrafos de red, en el lugar del prisma se utiliza una pieza de metal o vidrio sobre la que se ban grabado gran numero de lineas paralelas identicas. En espectroscopia se utilizan sobre todo las redes de reflexion compuestas de partes altemativamente mates y reflectantes. De acuerdo con el tipo de red, los espectrdgrafos de red se dividen en: Espectrdgrafos de red plana y Espectrdgrafos de red concava.

ESPECTROGRAFOS DE RED PLANA.

Los mas comunes son: Montaje de Littrow y Montaje de Gillieson.

ESPECTROGRAFOS DE RED CdNCAVA.

Los espectrdgrafos de red concava se clasifican segun el modo de montar la red, la rendija y el chasis fotografico. Entre estos se encuentra el mis usual que es el Tipo Eagle.

Si se desea mayor informacion de estos espectrdgrafos, ver Apendice B.

ESPECTRdGRAFO BAIR -ATOMIC.

En el siguiente dibujo se muestra al Espectrografo de red Baird - Atomic Modelo R.C-5 (Montaje Eagle modificado), con el cual se trabaja en el irea de Espectrometria.

Abertura

alimemacidn

MuestraProblemaRejilla cdncava de

Difraccidn de 3 m de Distancia Focal.

Figura 1-6. Espectrdgrafo Baird - Atomic Modelo RC-5.

El espectrdgrafo Baird - Atomic es utilizado para el analisis Semicuantitativo y Cuantitativo en muestras. Con este espectrdgrafo se determinan los elementos Ag, Al, B, Be, Bi, Ca, Cd. Co, Cr, Cu, Fe, Mg, Mn, Mo, Ni, Pb, Sb, Si, Ti, V, Zn y Zr; Tierras raras (Eu, Gd, Dy y Sin). Existen diferentes tecnicas con las cuales se analiza la muestra, entre ellas se aplica la del sector rotatorio.

La interpretacion de la placa fotografica que contiene el espectro se I leva a cabo en un microfotometro comparador de doble campo con el cual se mide el ennegrecimiento de las lineas espectrales, con las lecturas obtenidas, se trazan las curvas de Trabajo de Intensidad de la luz incidente contra concentracion para cada elemento que se desea determinar, finalmente se hacen los calculos espectroqui'micos y se obtiene el resultado analitico.

Page 23: Micro photometer`s automation for quantitative ...

Cap. 1 Antecedentes.

COMPARACldNENTRE ESPECTRdGRAFOS DE PRISMA Y RED.

Los espcctrdgrafos de red presentan mayor dispersidn y poder de resolucion, pero implican tener que efectuar mayores exposiciones para poder fotografiar todo el espectro. Tambidn presentan la ventaja de que la dispersidn es practicamente constante con la longitud de onda.

Los espcctrdgrafos de prisma son generalmente mas luminosos que los de red, utilizan distancias focales menores las cuales tienen una posicidn bien definida. Finalmente el costo de estos ultimos es menor que los de red.

1.4 EMULSIONES FOTOGRAFICAS.La radiacidn emitida por los atomos de una muestra al excitarse es impresa, despues de pasar a traves de un sistema dispersor del espectrdgrafo, sobre una emulsidn fotografica. Para el proceso fotografico se sigue el proceso tradicional de fotografia, que consiste en la reduccidn a plata metalica de la imagen por medio de un revelador y la eliminacidn del haluro de plata no reducido mediante un agente disolvente adecuado [4].

Las placas fotograficas constan de un soporte (vidrio) sobre el que se dispone una emulsion de gelatina, la cual contiene en suspensidn el haluro de plata.

El numero de granos de plata met&lica determinan la densidad de ennegrecimiento (D) de la imagen, producida por una intensidad de radiacidn dada (I), en una condicidn fija de revelado. Representando la densidad de ennegrecimiento frente al logaritmo de la exposicidn (producto de la intensidad por el tiempo) se obtiene una curva como la que se muestra en la figura siguiente.

E = Exposicidn = I x t

-» log E

Figura I-7. Curva Caracteristica de una Emulsidn.

En la curva se pueden distinguir 4 partes: la zona AB llamada sub - exposicidn, la BC recta denominada de exposicidn normal, la CD de sobre - exposicidn y la DE de solarizacion.

1.5 MtCROFO T0METROS.Un microfotometro es un instrumento que mide la densidad de ennegrecimiento de lineas espectrales presentes en una placa o pelicula fotografica. El principio en que esta basado el disefio de todos los tipos de microfotometros es esencialmente el mismo: comparar la intensidad de un haz de luz antes y despues de pasar a traves de la imagen de una linea espectral. Los diferentes tipos de instruments fabricados son muy variados en cuanto a su sistema optico, asi como los medios que emplean para convertir la intensidad de luz en una medida de corriente electrica. Comercialmente existen dos tipos de sistemas dpticos: el simple, el cual es un sistema en el que un haz angosto de luz enfoca las lineas espectrales sobre la placa fotografica y el tipo proyeccion en el cual la luz se enfoca sobre una imagen amplificada de las lineas espectrales. Estos dos sistemas se muestran en las figuras I-8 y I-9. En los

Page 24: Micro photometer`s automation for quantitative ...

Cap. 1 Antecedentes.

micro fotometros de tipo proyeccion se presen tan errores debidos a los efectos de la luz que se dispersa durante la proyeccion y pueden afectar seriamente la medicion, este efecto llamado Schwarz - Sc hied - Villiger se puede reducir considerablemente con el uso de lentes acromaticas y filtros.

Muchos microfotometros emplean una celda fotovoltaica, un fubo al vacio fotoemisor, o un tubo fotomultiplicador para convertir el haz de luz en una corriente eleclrica. La corriente es amplificada y luego medida por medio de un galvanometro, un microamperimctro o a traves de un puente de Wheatstone [5],

rendija .*! i

CELDA FOTOVOt.TAICA

GALVAN6METRO

Figura 1-8. Diagrama esquemitico de un microfotdmetro simple.

CELDAFOTOVOLTAICA

RENDIJADIAFRAOMA

LENTES

:PLACA

FUENTE DE LUZ

Figura 1-9. Diagrama esqueinatico de un microfotometro de tipo proyeccion.

Page 25: Micro photometer`s automation for quantitative ...

Cap. 1 Antecedpntrs.

ESPECIFICAClONES GENERALES DE LOS MICROFOTOMETROS.

Los requisites que deben cumplir los micro fotometros para realizar un buen trabajo se describen a continuacidn.

I - Litres cie luz dispersa. La densidad de las li'neas espectrales debe ser baja a menos que la luz que pasa a traves de las li'neas caiga sobre el receptor fotoelectrico.

2. - Sensibilidad adecuada. El instrumento debe ser capaz de proporcionar una deflexion a plena escala con una rendija no mayor a una tercera parte del ancho de la linea a ser medida (o de la imagen de la linea proyectada).

3. - Estabilidad. Las deflexiones del galvandmetro deben permanecer constantes dentro del 1% de un periodo minimo de 10 minutos, de tal forma que no se requiera del ajuste frecuente de lectura en la parte clara de la placa.

4. - Tiempo de respuesta. El tiempo de respuesta o del galvandmetro debe ser pequefio (de preferencia alrededor de 2 segundos) para no pasarse el valor maximo de la linea que se examina.

5. - Facil ajuste de la placa. Debe estar provisto de una forma facil de ubicacion para cualquier parte de la placa fotografica, con movimiento rapido y lento en el recorrido de las vias en las placas y debe ser posible ir de una parte a otra de las li'neas espectrales. La alineacion de las li'neas con la rendija debe ser paratela y se lleva a cabo con un movimiento rapido de la placa o las vias.

6. - Linealidad de la Respuesta. Debe existir una relacion lineal entre la intensidad de luz transmitida y la deflexion del galvandmetro.

7- Escala. Las escalas del galvandmetro deben, por conveniencia, estar graduadas directamente en porcentaje de transmitancia o densidad dptica.

8. - Ajuste del galvandmetro. La deflexion se ajusta en una parte clara de la placa a una transmitancia de 100, en forma similar, se hara el ajuste del galvandmetro a cero cuando se bloquea en absolute la luz.9. - Fatiga de la fotocelda. El fototubo o celda fotovoltaica debe mostrar “poca fatiga” *

En la figura 1-10 se observan las partes principals de un microfotometro tnarca Baird Atomic, en forma general su funcionamiento es el siguiente: Un haz estrecho de luz de intensidad constante se hace pasar sucesivamente por una regidn no impresionada, pero revelada (velo quimico) de la emulsion y por la zona cuya densidad se quiere medir. La luz transmitida en ambos casos (iQ e i) inciden sobre una fotocelda o tubo multiplicador, cuya respuesta amplificada es recogida por un galvandmetro en el que se obtienen unas desviaciones (d0 y d respectivamente) en su escala. La Densidad de ennegrecimiento (D) es igual al logaritmo de la relacidn i0/i; puesto que existe una relacion lineal entre las intensidades de luz incidente en la fotocelda y las deflexiones en la escala del galvandmetro [7], se tiene que:

D = log— = log— ec. (1)i d

* fatiga: L a fatiga se presenta en un tubo cuando hay variaciones o desviaciones en la lectura de transmitancia en la parte clara de la placa, en las lecturas de cero del galvandmetro o en valores de transmitancia de la linea despues de exponer el tubo a alias intensidades de luz.

Page 26: Micro photometer`s automation for quantitative ...

Cap. ] Antecedentes.

galvanGmetro

REJILLA

LENTE OBJETIVO

EMULSION FOTOGRAFICA

LENTE CONDENSADORA

PRISMAlAmpara

Figura 1-10. Esqucma B&sico de un Microfotometro.

1.6 anAlisis ESPECTROQUlMICO.El analisis espectroquimico es el proceso que se sigue para la identificacidn de Irneas espectrales y de esta forma poder determ inar los elementos que constituyen a una muestra.

El analisis espectroquimico puede dividirse en tres grupos segun su exactitud: Analisis Cualitativo, Analisis Semicuantitativo y Analisis Cuantitativo.

En la siguiente tabla se comparan estos tres grupos de analisis segun el grade de control y los aspectos que se deben tener en cuenta dependiendo del procedimiento que se va a seguir. De esta tabla se deduce que a medida que aumenta la exactitud, al pasar de un tipo de analisis a otro, tambien aumenta el control de las distintas variables y el tiempo invertido en el analisis.

GRADO DE CONTROL SEGUN EL TIPO DE ANALISIS.CUALITATIVO SEMICUANTITATIVO CUANTITATIVO

Preparation de la Muestra Ninguna Minima Rigurosamcnte Controlada

Preparation de Patrones Ninguna Generates Cuidadosamentcpreparados y estudiados

Condition de excitation v registro de espectros

Aproximadas Controladas Rigurosamcnte Controlada

Proceso Fotograftco Aproximado Controlado Rigurosamcnte controlado

Interpretation de los Espectros Comparador Comparador Microfotometro.

Page 27: Micro photometer`s automation for quantitative ...

Cap. 1 Antecedentes.

/. 6.1 DESCRIPCION DE LOS TIPOS DE ANALISIS ESPECTROQUIMICOS.ANAUSIS CUALITA TIVO.

Este analisis se basa en la identificacidn de las li'neas espectrales por su situacidn en el espectro, es decir, por la ubicacion de su longitud de onda.

Se basa en el principle de que el espectro de una sustancia cualquiera es la yuxtaposicion de los espectros de sus diferentes elementos constituyentes.

Los metodos mas usados para la identificacidn de las tineas espectrales son el de comparacion y el de longitud de onda, aunque hay otros que no son tan empleados. A continiiacidn se mencionan algunos de el los.

IDENTIFICACldNDE LAS LINEAS POR COMPARACldN.

Uno de los medios mas seguros para interpretar un espectro desconocido, consiste en compararlo con los elementos puros o los de sustancias de composition conocida. Dicha comparacion se efectua mediante el empleo de comparadores que permiten yuxtaponer sobre una pantalla, la proyeccion del espectro a estudiar y la de referenda.

En el analisis cualitativo se utilizan generalmente las lineas ultimas que son las lineas mas sensibles de los diversos elementos, es decir, las ultimas en desaparecer de un espectro cuando la concentration del elemento emisor disminuye. En la busqueda de dichas lineas ultimas, es necesario considerar las posibles coincidences con las de otros elementos presentes, por lo que es precise verificar la presencia de varias de las lineas de un elemento.

Cuando este metodo resulta insuficiente, es precise recurrir a las medidas de las longitudes de onda de las lineas.

METODO DE MEDIDA DE LONGITUD DE ONDA.

Para medir con precision la longitud de onda de una linea desconocida, es precise partir de otra con longitud de onda conocida, situada en sus proximidades. La distancia entre las lineas se determina mediante una regia inilimetrica, o una lente de aumento con una escala graduada en su piano focal, o un microscopic comparador con desplazamiento lateral capaz de medir distancias con una exactitud de una micra.

Este procedimiento de interpolation sera correcto siempre que el espectro se haya obtenido con un aparato cuya dispersion sea a su vez lineal (Espectrografo de Red), pero en el caso de los Espectrografos de Prisma se debe considerar solo como una aproximacion, siempre que el intervalo de longitud de onda considerado sea corto.

TAB LA DE LONGITUD DE ONDA Y ATLAS DE ESPECTROS.

Los atlas son libros que contienen dates de las principals lineas espectrales de cada uno de los elementos.

Los principals atlas publicados son: a) Atlas Der Restlinien, de Caterer y Junkes que da el espectro del liierro y de otros 30 elementos empleando un espectrografo de prisma y excitation con arco, b) Atlas Typischer Spektren, de Edler y Valenta, que da los espectros de 70 elementos obtenidos con un espectrografo de prisma, c) Chemical Spectroscopy, de Brode, que proporciona el espectro del hierro obtenido con un espectrografo de prisma y excitation con arco.

19

Page 28: Micro photometer`s automation for quantitative ...

Cap 1 Antix t;i)t:NTES.

ANALISIS SEMICUANTITATIVO.Tiene por finalidad poder determinar el orden de concentracion de un elemento en muestras diferentes, por comparacion de la densidad de ennegrecimiento de una de sus lineas caracteristicas con respecto a la de la misma linea en una serie de patrones, excitados en identicas condiciones que las muestras.

Los patrones sc preparan a partir de un material base, quc puede ser Sulfato Amdnico, Grafito, Oxido de cobre, Carbonate Sddico, etc., al que se le agrega los distintos elementos de interes, normalmente en forma de oxidos variando su concentracion segun un factor de 3 (por ejemplo: 10, 3, 1, 0.3, 0.1). Con dichos patrones se impresionan una a varias placas las cuales constituyen las placas patron que se utilizan cualquiera que sea el tipo de substancia a analizar.

Las muestras se mezclan en proporcidn adecuada, con el mismo material que se ha empleado como base de los patrones y se excitan empleando generalmente, arco de corriente continua, utilizandose excitacidn anodica o catddica segun convenga, como electrodes se emplea Carbono o Grafito y como elemento registrador mas comunmente placa de pellcula.

VARIABLES A CONSIDERAR EN EL ANALISIS SEMICUANTITA TIVO.

En el analisis Semicuantitativo se deben considerar ciertas variables, las cuales deben quedar perfectamente prefijadas, estas son:

Tipo de electrodes.Cantidad de Muestra.Intensidad de corriente y su polaridad.Separacion entre electrodes.Anchura de la rendija.Tipo de emulsion.Tiempo de exposicidn.Sector rotatorio.

METODOS DEL ANALISIS SEMICUANTITATIVO.

Para la realizacion del analisis semicuantitativo se siguen varies metodos los cuales pueden clasificarse de acuerdo con el procedimiento utilizado para la separacion de la densidad de ennegrecimiento de las lineas entre patrones y muestras. Los metodos que se siguen son los siguientes:

METODO DE COMPARACION DE LINEAS POR INTERPOLACION VISUAL.

Se basa en un examen visual comparative de un espectro desconocido con una serie de espectros patron. Para ello se utilizan comparadores que pueden estar provistos de un ocular o bien de una pantalla de proyeccion.

METODO DE DILUCION.

Se basa en una serie sucesiva de diluciones de la muestra, para que a traves de dichas diluciones la concentracion de los elementos constituyentes sea lo mas parecida posible a la de los patrones sinteticos preparados, en un intervalo de concentraciones que abarcan de 1000 a 1 partes por millon (ppm).

METODO BASADO EN LA APARICION DE LAS LiNEAS ULTIMAS.

Dicho metodo se funda en que el espectro de un elemento posee, en general varias lineas ultimas de diferente sensibilidad de forma que cada una de ellas no aparecera mas que a una concentracion dada del elemento en la muestra.

20

Page 29: Micro photometer`s automation for quantitative ...

Cap 1 Antecedentes.

UTILIDAD DEL ANALISIS SEMICUANTITATIVO:

Es de gran interes para realizar posteriorinente el analisis cuantitativo ya que al identificar los elementos se facilitan las determinaciones quimicas.

Por otra parte, en los casos en que no sea precisa una gran exactitud, si no solo un orden aproximado de concentracion, el analisis semicuantitativo, debido a su sencillez, permite la determinacion de varios elementos en grandes series de muestras con gran rapidez y tambien en muestras aisladas dificiles de analizar por via quimica y que implicaria la preparacion de patrones especiales en los analisis espectrograficos cuantitativos y como resultado un aumento en tiempo y costo.

ANALISIS CUANTITATIVO.

El analisis cuantitativo tiene por objeto determinar la cantidad relativa de uno o varios componentes de una combinacidn o mezcla. Los procedimientos que se emplean para dicho fin dependen, en parte, de la naturaleza de las sustancias sometidas al andlisis, de modo que, en general, debe preceder al analisis cuantitativo uno cualitativo, o por lo memos, se debe tener una idea de la composicion cualitativa de la sustancia. Las reacciones quimicas del analisis cuantitativo son, en su mayorta las que se emplean para ensayos cualitativos y se fundan en los mismos principios. Sin embargo, en el an&lisis cuantitativo es necesario medir exactamente la cantidad de muestra que se toma y la del reactivo que se emplea para producir una reaccidn determinada, o bien la cantidad de uno de los productos de la reaccidn. Por lo tanto, el analisis cuantitativo se diferencia esencialmente del cualitativo por la necesidad de medir exactamente las materias que se utilizan.

En el procedimientos que se sigue para conocer la intensidad de una linea espectral (densidad de ennegrecimiento en una linea espectral) hay que conocer el numero relative de atomos que participan en su formacion, es decir, las probabilidades de transicion entre los diferentes estados electrdnicos posibles.

El analisis cuantitativo se basa en el hecho de que la intensidad I0 de las lineas emitidas por un elemento convenientemente excitado es funcidn del numero N de itomos emisores [2]:

l„ = K, . Nm ec. (2)

siendo Ku y m constantes que dependen de la substancia considerada, de la linea espectral utilizada y de las condiciones de excitacion. I0 no puede medirse, puesto que la radiacidn ha de atravesar la capa gaseosa absorbente que rodea la zona de descarga. Si se opera con pequefias concentraciones del elemento a determ inar, el factor de absorcion resulta despreciable y por tanto I0 = Ie, siendo Ie la intensidad de la linea tal como se mide realmente, y N es proporcional a la concentracion C del elemento. Por lo tanto la ec. (2) se convierte en:

lc = Ke Ce ec. (3)

Obteniendo el logaritmo en am bos lados:

log Ie = log Kc + me log Ce. ec. (4)

si se representa log Ic frente a log Ce se obtiene una recta dependiente de me. De este modo si se miden las intensidades le correspondientes a varias muestras patron de concentraciones Ce del elemento a analizar, se obtiene la llamada curva de trabajo, que permite, midiendo Ie para una muestra problema, encontrar Cc

Page 30: Micro photometer`s automation for quantitative ...

Cap. 1 Antecedent!*.

patr6n interno.En el analisis cuantitativo se mide la intensidad de la linea emitida por el elemento, al efectuar esa medicidn ex is ten pequenas fluctuaciones inevitables que hacen variar la intensidad de radiation emitida, sin embargo estas fluctuaciones, ban podido ser superadas con el empleo de un patron interno; en lugar de operar con intensidades absolutas, se utiliza una relation de intensidades, es decir. se com para la intensidad de la linea escogida del elemento a determ inar con la intensidad de la linea de otro elemento presente en las muestras en proportion constante y conocida que se llama patron interno. De este modo se compensan gran numero de las dificultades o factores antes citados, los cuales son dificiles de controlar con exactitud.

Si se aplica la ec. (4) al elemento patron interno, se obtiene:

log Ip = log Kp + mp log Cp ec. (5)

Por definicidn si Cp es constante y tambien lo es Kp y mp , entonces, si se divide la ecuacion para el elemento ec.(4) por la ecuacion para el patron interno ec.(5):

log — = log K.+ m log C« ec. (6)■P

Por lo tanto la curva de trabajo log I/Ip frente a log Ce sera una recta de pendiente m.

1.7 t£cnicas del anAusis espectrogrAfico cuantitativo.ANALISIS DE MUESTRAS METALICAS.Las muestras metalicas pueden analizarse siguiendo tres procedimientos distintos: atacando el metal, evaporando la solution y analizando el residue; atacando la muestra y estudiando la solution resultante; o haciendo el an&lisis directamente sobre la muestra metalica, que se utiliza como electrode.

EXCITA CldN DE MUESTRAS METALICAS.

Los tipos de excitation habitualmente empleados son: arco de corriente alterna, arco interrumpido o chispa condensada de alta tension. La utilization de uno u otro dependent de la sensibilidad que se precise, pero debe tenerse en cuenta la naturaleza del metal, su capacidad calorifica, su punto de fusion y su susceptibilidad a la oxidation.

PA TRONES METALICOS.La principal dificultad que se presenta en el analisis de metales por la forma descrita, esta en la disponibilidad de muestras patron. Los mas usados son de hierro, aceros, aluminio. plomo, estano, zinc, aleaciones de magnesio, de aluminio, de plomo - estano, de cobre (bronce, laton) etc. Con el uso de un patron metalico se logra la obtencion de las curvas de trabajo necesarias para encontrar la concentracidn del elemento que se analiza en la muestra.

1.7.1 ANALISIS DE SOLUCIONES.TECNICA DE DISCO ROTA TORIO.Esta teen ica utiliza como electrode inferior un disco de grafito de 3 a 5 mm de espesor y de 10 a 15 mm de diametro, sumergido parcialmente en la solution contenida en una navccilla, y girando en un piano vertical mediante un rotor. El contraelectrodo (o electrodo inferior) es una varilla de grallto de 6

Page 31: Micro photometer`s automation for quantitative ...

Cap. 1 Antecedentes.

mm de diametro, terminada en punta hemisferica o troncoconica y colocada verticalmente a unos 2 o 4 mm del disco rotatorio. Dicho conjunto viene representado en la figura 1-11.

ELECTROLX) DE GRAFITO.

CONTRAELECTRODO

Figura 1-11. Dispositive con la Tdcnica del Disco Rotatorio.

La excitacion es por chispa, empleandose una preexposicidn de 15 a 20 segundos, tiempo necesario para regular la alimentacidn de la zona de descarga por la solucidn.Un factor que debe considerarse es la velocidad de rotacidn del disco, que sera funcion de su diAmetro y de su viscosidad y tension superficial de la solucidn, siendo lo normal operar con velocidades que oscilan desde 2 a 10 revoluciones por minuto (r.p.m.).

23

Page 32: Micro photometer`s automation for quantitative ...

CAPITULO 2PROCESO DE AUTOMATIZACldN.

Page 33: Micro photometer`s automation for quantitative ...

Cap. 2 Proceso de automatizacion.

2.1 DESCRIPCldN DEL MICROFOTdMETRO.En este capitulo se presenta una desc ripe ion detallada del microfotometro BAIRD - ATOMIC, en el cual se realize la automatizacion, al igual que el desarrollo de los circuitos (“hardware”) y del programa que gobierna y hace funcionar a los circuitos (“software”).

2.1.1 SISTEMA OPTICO DEL MICROFOTOMETRO.En la figura 2-1, se indica como esta formada la optica del instrumento. Consta de dos secciones basicas para el sistema optico: la iluminacion de las placas y un si stem a con un haz de cxploracion [6],

1Limpara incandescente de un s6lo fitamento. 2 - Lentes Condcnsadoras.3. * Espejo para la superficie frontal.4. - Lcntes de proyeccidn.5 Espejo mezclador de haz.6. - Lentes Condcnsadoras (Fresnel).7. - Difusor con Filtro amarillo.8. - Lentes Condcnsadoras.9. - Absorbedor de calor.10. - Limpara de Proyeccidn.11Interrupt or dptico de rotacidn.12. - Lentes condcnsadoras (Fresnel)13. - Placas espectrales.14. - Lentes de Proyecctdn.13 - Espejo para el Haz de luz de la placa patron. 16 - Espejo para el haz de luz de la placa muestra17. - Deflector del haz de luz18. - Lentes Coovergentes.19. - Altura de la abertura de la rendija para

iluminar la placa.20 - Reticula del haz explorador 21.- Filtro azul.22 - Satida dc la rendija.23 - Tube fotomultiplicador.24.- Deflector

Figura 2-1. Diagrama Optico del Microfotometro Baird - Atomic.

25

Page 34: Micro photometer`s automation for quantitative ...

Cap. 2 Proceso de automatizacion.

IL UMINA CION DE LAS PL A CAS.

La fuente de iluminacion para las placas es una lampara de 300 watts enfriada por aire (10), usa dos haces de luz iguales para la iluminacion de la placa muestra y la placa patron (13). La optica de cada canal es similar, el haz de la lampara es filtrado por un absorbedor de calor puesto como proteccion (9), postcriormente es colimado por unas lentes (8). La luz colimada pasa a travcs de un filtro amarillo y se difunde por un ensamble (7), de aqui la luz se refleja hacia abajo por un espejo mezclador de haz (5), donde convergen y se intensifica por el ensamble de las lentes Fresnel (6), (12). Las placas fotograficas (13) son iluminadas porestos haces de luz.

HAZ DE EXPLORA CION.

La fuente para el haz de exploracion es una lampara incandescente de un solo filamento de 75 watts enfriada por aire (I) con lentes condensadoras (2). Un modulador mecanico (11) corta la luz de la fuente a una frecuencia de 120 hertz con un filtro amarillo, este haz ilumina la abertura de una rendija (20) que es el objetivo de las lentes de proyeccidn (4). La imagen en la abertura de la rendija es amplificada por un factor de tres, enfocada por el haz en combinacion con el espejo (5) y operando a traves de las lentes Fresnel (6) sobre la placa muestra.

AJUSTE DE LA ABERTURA DE LA RENDIJA.

La configuracion para la exploracion del haz de luz en la placa se determina por una reticula contenida en cuatro aberturas rectangulares de precision. El ancho de la abertura debe ser tal que cubra los anchos de la emulsion que son de 3.5, 7, 10, o 17 micras. El operador puede selcccionav el ancho de la abertura manualmente por medio de un mecanismo el cual mueve la linea a la abertura en forma vertical o lateral. La alineacion se realiza con un control de rotacion en la parte frontal del instrumento. La altura de la abertura se selecciona por posicionamiento de la rendija que muestra la altura deseada en la placa, las variaciones de la altura pueden ser 0.5, 0.75, 1.0, 1.25 y 1.5 mm.

PANT ALLA DE PROYECCION

Provee una pan tal la de proyeccidn de 14 pulgadas por 14.5 pulgadas, con anti rreflecc ion y alto contraste. La pore ion iluminada de la placa patron es amplificada y enfocada a la mitad superior de la superficie de la pantalla de proyeccidn por las lentes de proyeccidn y un pequeno espejo diagonal. La pore ion iluminada de la placa muestra es amplificada y enfocada a la mitad inferior de la pantalla por medio de un espejo diagonal. La amplificacion de la placa de ambos canales es igualada a un valor nominal de 20. De esta manera el area presentada en pantalla para cada placa es de 9.2 mm de alto y 17.8 mm de ancho con una linea trazada en la pantalla para proporcionar una referenda que indique la formacion de las lineas espectrales. La linea divide a un circulo localizado a la mitad de la parte inferior en la pantalla, en este circulo se enfoca el haz que ilumina a las lineas espectrales. La lectura se observa en un indicador digital colocado en la parte frontal del Microfotdmetro.

FOTOMETRIA.

Un espejo largo diagonal (16) deflecta desde la parte mas baja (17) una porcion del campo quo permite el paso del haz de exploracion, el sistema optico de la luz transmitida es acortada por las lentes convergentes (18), la defleccion ocurre en la salida de la rendija (22) donde se bloquea la luz que permanece extraviada. Un filtro azul (21) absorbe la luz amarilla contenida en el haz de luz de exploracion. Esta luz finalmente se incide al tubo fotomultiplicador (23) que convierte los niveles de luz a corriente electrica.

26

Page 35: Micro photometer`s automation for quantitative ...

Cap. 2 Proceso de automatizac i6n

SOPORTE DE PLACAS Y VtAS.

La alineacion de las lineas espectrales con la pantalla sc puede llcvar acabo con el ajuste manual de cada placa quc se cncuentran dentro de cstos soportes. Los soportcs de las placas se pueden mover en forma individual.

2.1.2 ELECTRONICA DEL MICROFOTdMETRO.

+ I20V + 5V -I2V f 12V

SISTEMA OPTICO.

TIJBO FOTOMULTIPLICADOR

FUENTE DE ALIMENTACION

CONVERTIDOR ADC.

ETAPA DE AMPLIFICACION

DETECTOR DE PICO.

INDICADOR DIGITAL

Figura 2-2. Diagrama a bloques del Microfotdmetro Baird Atomic.

F.n la figura anterior se observan las etapas basicas que constituyen la electronica del microfotdmetro, a continuacion se explicara cada una de ellas.

FUENTE DE ALIMENTACION. Como el sistema esta constituido por diferentes bloques, esta etapa ticne coino funcion proporcionar la alimentacion necesaria para cada uno de ellos. Razon por la dial se observa que esta etapa tiene diferentes salidas de voltaje (+120v, +5v, -12v y +I2v).

SISTEMA OPTICO. De esta etapa se obtienen senales de corriente muy pcquenas que entrega el tubo fotomultiplicador y que son proporcionales a la intensidad de luz que incide en el.

27

Page 36: Micro photometer`s automation for quantitative ...

ETAPA DE AMPLIFICACION. La sefial del tube fotomultiplicador pasa por una etapa de amplificacion, la cual tiene la funcion de entregar senates analdgicas amplificadas.

CONVERT/DOR ADC. En esta parte se lleva a cabo la conversion de los niveles analogicos que entrega la etapa de amplificacion a senalcs digitales, que son mostradas por el indicador digital.

DETECTOR DE PICO. Esta etapa tiene como funcion proporcionar un nivel alto cuando el microfotometro detecta un maximo al momento de analizar una li'nea espectral, con objeto de que la lectura que se tom a no vane ni se tengan errores cuando se realiza el proceso del analisis espectrografico cuantitativo.

INDICADOR DIGITAL. Proporciona la lectura que indica el grado de ennegrecimicnto que posee la li'nea espectral que se esta analizando, denominado tambidn porcentaje de transmitancia (%T).

2.1.3 SI ST EM A DESARROLLADO PARA LA A UTOMA TIZACION.El sistema desarrollado para establecer la comunicacidn entre el microfotometro y una computadora personal (PC), se observa en la figura 2-3.

Cap. 2 Proceso de automai izacion.

MICROFOTdMETRO

Figura 2-3. Diagrama a bloques del sistema desarrollado.

28

Page 37: Micro photometer`s automation for quantitative ...

Cap. 2 Proceso de automatizaciAn.

En la figura anterior se muestran los bloques desarrollados para modificar las senates prescntes hasta lograr la automatization. Del panel digital ubicado en la parte frontal del microfotometro, sc tomaron las senales existentes cuando se analiza el ennegreciiniento de una linea espectral, a estas senales fue necesario acondicionarlas para obtener niveles TTL (Logica Transistor Transistor) que pudieran transmitirse a una tarjeta (interfase) que hace posible la comunicacion cntre el Microfotometro y la PC, posteriormente se realizd un programa de compute, este realiza la toma de datos, el proceso del analisis espectrografico cuantitativo y la obtencion de resultados en forma automatica, finalmente el programa permite imprimir los resultados.

A continuacidn se hace la description de los circuito de acondicionamiento, de la interfase y del programa desarrollado.

2.1.4 ACONDICIONAMIENTO DE SENALES.En el area de espectrometria se cuenta con dos ntodelos de microfotometros los modelos RC-3 y RC-5 en los que, aun cuando el sistema interne es el mismo, la electronica de am bos es dlferente, por tal motive fue necesario el desarrollo de un circuito de acondicionamiento especifico para cada microfotometro.

2.1.4.1 MICKOFOTdMETRO MODELO RC-3.

Anteriormente se mencionaron las etapas electrdnicas que forman al microfotometro, y se explica como la lectura del ennegrecimiento de la tinea espectral que se analiza es observada en el indicador digital, el cual tiene dos y medio digito, un digito para las unidades, el otro para las decenas y el medio digito para las centenas, las salidas que proporciona se encuentran en codigo BCD correspondiente a cada digito.

Para el acondicionamiento de seflales primero se identificaron los bits pertenecientes a cada digito, estos se tomaron del conector IBMJ3 colocado en la parte posterior del indicador digital. Estas senales se observan en la figura 2-4 y en la tabla 1.

Al ubicar cada uno de los bits, se encontrd que las seflales presentaban niveles de voltaje de+3.8 y -9.2 (que corresponden al “1” y “0” logico respectivamente), las cuales no son compatibles con TTL. para solucionar este problema se utilizaron diodos los cuales eliminan la componente negativa de la serial, obteniendo niveles de 0 y 3.1 volts. Como es obvio, estas seflales resultaban debiles para ser tomadas como niveles TTL, en este caso se hizo uso de un circuito de reforzamiento bidireccional (74HC245) que toma como niveles bajos hasta un valor maximo de 2 volts. Con esto se lograba obtener 5 volts cuando habia un nivel de 3.1 volt consiguiendo de esta forma senales TTL en las decenas y centenas. Para el bit de las centenas o medio digito, se tenia una serial de 0 a 3.8 volts, solo que presentaba pulsos que provocaban ruido al sistema, esta serial se muestra en la figura 2-5, para anular esos pulsos se hizo uso de un circuito Flip - Flop tipo D (74LS74) como serial de reloj se utilize una serial presente en el mismo conector, con lo cual se obtienen niveles de “0” y “I” logicos que corresponden a 0 y 5 volts respectivamente.

29

Page 38: Micro photometer`s automation for quantitative ...

Cap. 2 Prockso de- automatizacion.

I>2 b, b„0 0 0

0 0 I0 I 0

II I I1 II III 0 II I 0

I I III II (III II I

Decimal0

12345678 9

b„ 1.3,5. 7,9b, 2, 3, 6, 7b2 4, 5, 6, 7b3 8,9

CONECTOR IBMJ3: SALIDAS BCD DEL DISPLAY (VISTA POSTERIOR).

dlgito 2 dfgito I decimal36 35 34 33 32 31

•>330b2

29 28 27 26bj

25b2

24 23 22 21

b2

20

bo19

1 2 3b»4 5

b,6

b0

7 8 9 10

b,11

bo12 13 14 15

b3

16b,17 18

W dfgito dfgito 2 dfgito 1 decimal

Figtira 2-4. Identificacion de seflales.

IDENTIFICA CION DE SEN ALES.

BOSK'IONSAi.ims Bn. Dii, CONKCTOR IBMJJ 1)1125 - 8255

1 GNI)2.1-1 l)„ '/i (ligilo I'll,, - 185(} h, digilo 2 I'A. - V)

l>„ digilo 2 PA, - 40

V10ii I), digilo 1 PA, - 112 h„ digilo 1 PA„ - 4131115If. h, decimal17 b, decimal18V)20 b„ decimal21 b2 decimal222.1 CI.K2-125 b, digilo 1 PA, - 226 b, digilo 1 PA, - 1272*2030 b, digilo 2 PA* - 18ii b, digilo 2 PA, - 1712 VCC33343516

tabla I.

30

Page 39: Micro photometer`s automation for quantitative ...

Cap. 2 Proct.so de automatizacion.

TEKTRONIX 2252

ACQUISITION MODE: SAMPLE %ns

'A DlGITO.

CLK

Figura 2-5. Scfiales obtenidas antes del acondicionamiento. Cuando hay un “I” logico en el medio dlgito del indicador digital.

Para cl acondicionamiento de seiiales, se diseno un diagrama esquematico del circuito con el ayuda del paquete ORCAD SDT, el cual se muestra en la figura 2-6.

Figura 2-6. Dibujo esquematico del circuito acondicionador de sefiales.

31

Page 40: Micro photometer`s automation for quantitative ...

Cap. 2 Procfso df. automatizacion .

Mediantc cl diagrama esquematico se realizaron algunas pruebas en una tarjeta experimental en conjunlo con la programacion del procedimiento, al verificar su buen funcionamiento, se llevo a calx) cl diseno de la tarjeta en un circuito impreso con el paquete ORCAD SDT.Id circuito discnado cumplc con las siguicntcs caractcristicas:

- Facilidad en el mantenimiento.- Un sistema de tamano pequeno y de facil instalacion.- De acceso restringido para el usuario.

I .os circuitos imprcsos se observan en la figura 2-7, donde se indica como se encuentran ambas caras de las pistas, asi como la localizacion de los componentes requeridos.

LA DO DF, COMPONENTES LA DO DE SOLDADURAS

Como se ptiede observar en el diseno, ninguna pista llega a algun circuito integrado por el lado de componentes, con esto se evita tener conflictos al momento de soldar los componentes, dejando csla (area unicamente para el lado de soldaduras.

O QO QO QO rSO QO QO QO Q

DISTRIBUCION DE COMPONENTES

Figura 2-7. Circuitos impresos del Microfotometro modelo RC - 3.

32

Page 41: Micro photometer`s automation for quantitative ...

Cap. 2 Proceso de automatizacion

2.1.4.2 MICROFOT&METRO MODELO RC-5.

En el microfotometro modelo RC-5 se obtuvieron las sefiales, al igual que del modelo anterior, del conector posterior del indicador digital. La localizacion de las sefiales se indican en la tabla 2, en este modelo todos los niveles de voltaje en cada bit se tern'an de 0 a 4.5 volts pero con pulsos (ver figura 2-8), para ello que fue necesario hacer uso de circuitos Flip - Flop tipo D (74LS373) los cuales son circuitos “latches” donde la salida sigue a la entrada cuando su serial de control OE (terminal 1) es baja y cuando la senal de habilitacion LE (terminal 11) es alta, la serial de reloj para activar este dispositive, se tomo del conector. Los valores que se obtuvieron finalmente fueron de 0 y +5 volts sin pulsos y con ello se lograba obtener las sefiales con niveles de voltaje TTL necesarios para establecer la comunicacion con la computadora. En el Apendice C se proporciona mayor informacion de los dispositivos utilizados en los circuitos disefiados.

LOCALIZACldN DE LAS SENALES DIGITALESCABLE COLOR POSIClON CON CABLE

COLORPOSlCidN SAL!DAS BCD.

(DISPLAY)cafE 34 ROJO 33 b2 dlgilo 2CAFE 34 NARANJA 32CAFE 34 AMARILLO 31 b, dlgilo 1CAFE 34 VERDE 30 b, dlgilo 2CAFE 34 AZUL 29CAFE 34 MORADO 28cap! 34 GRIS 27 b2 dlgilo 1CAFE 34 BLANCO 26 bo dlgilo 1CAFE 34 NEGRO 25CAFE 34 CAFE 24 bj dlgilo 1CAFE 34 ROJO 23 GNDCAFE 34 NARANJA 22 bj dlgilo 2CAFE 34 AMARILLO 21CAFE 34 VERDE 20 be dlgilo 2CAFE 34 AZUL 19CAFE 34 MORA DO 18CAFE 34 GRIS 17 ClkCAFE 34 BLANCO 16 bg % dlgiloCAFE 34 NEGRO 15CAFE 34 CAFE 14CAFE 34 ROJO 13CAFE 34 NARANJA 12CAFE 34 AMARILLO 11CAFE 34 VERDE 10CAFE 34 AZUL 9CAFE 34 MORADO 8CAFE 34 GRIS 7CAFE 34 BLANCO 6CAFE 34 NEGRO 5CAFE 34 cafIT 4CAFE 34 ROJO 3CAFE 34 NARANJA 2CAFE 34 AMARILLO 1 GNI)

Tabla 2.

Page 42: Micro photometer`s automation for quantitative ...

Cap. 2 Proceso de automat!zaci6n

TEKTRONIX 2252

ACQUISITION MODE SAMPLE

bo

b,

bz

CLK

Figure 2-8. Sefiales producidas antes del acondicionamiento con un “1”Idgico en los bits del indicador digital y un “0" 16gico en la seflal de reloj.

De la misma forma que se hizo con el modelo RC - 3, en el Microfotometro inodelo RC - 5 se hicieron algunas pruebas para el circuito de acondicionamiento de sefiales con una tarjeta experimental, posteriormente cuando se obtuvieron las senates con las caracteristicas deseadas, se diseno el diagrama esquematico del circuito requerido, la siguiente figura muestra como queda este circuito.

Figura 2-9. Diagrama esquematico de acondicionamiento de sefiales.

34

Page 43: Micro photometer`s automation for quantitative ...

Cap. 2 Prochso di: automatizacion.

El circuito impreso desarrollado y el diagrama

LADO DE COMPONENTES

de componentes se representa en la figura 2-10.

LADO DE SOLDADURAS

oocooocoro o o o o n c o o c onh 71LS37S ijj - 77 J -■ 1

DOOOC .: tiOCO

DISTRIBUCldN DE COMPONENTES

Figura 2-10. Circuito impreso y de componentes.

En la tabla 3 se observan las conexiones realizadas desde el panel digital del microfotometro liasta la interfase conectada a la computadora.

Page 44: Micro photometer`s automation for quantitative ...

Cap. 2 Proceso de automatizaciOn.

CONEXIONES DEL MICROFOT6 METRO

A LA COMPUTADORA.

DISPLAY CABLE DB25 825526 CAFE 1 I’Aq 431 ROJO 14 PA, 327 NARANJA 2 PA, 229 AMARILLO 15 PA, 120 NEGRO 3 pa4 4030 AZUL 16 PA, 3933 VERDE 4 PA* 3822 VIOLETA 17 PA, 3716 GRIS 21 PB„ 18

Tabla 3 .

2.1.5 INTERFASE.En el interior de una computadora existen dispositivos que hacen posible la comunicacidn entre la CPU (Unidad Central de Proceso) y las unidades perifericas. A estos dispositivos se les llama puertos de entrada/salida (input/output port).

Se conoce como interfase o interconexion al dispositive mediante el cual existe el dialogo entre la CPU y una unidad externa, en este caso la unidad externa es el Microfotometro.

Las interfases se dividen en serial y paralela, dependiendo de la conexion existente entre el puerto de entrada/salida y el periferico, este nombre se da debido a la condicion en que viajan los datos entre el controlador de interfase y el dispositive externo [8], las caracteristicas mas comunes de cada una son:

INTERFASE SERIAL.

Con la interfase serial los bits de informacion viajan uno despues del otro y por la misma linea se envia toda la informacion, es decir en serie. En una interfase serial los datos que la CPU envia llegan al controlador en forma paralela por el “bus” de datos, el controlador los memoriza y posteriormente a cada pulso de reloj los va transmitiendo uno tras otro. La informacion viaja a traves de un solo hilo. De igual manera si el controlador recibe informacion de un periferico externo, estos datos le Megan en forma serial, posteriormente cuando la palabra o el byte se ha completado lo envia en forma paralela a la CPU por medio del “bus” de datos.

INTERFASE PARALELA.

Con la interfase paralela todos los bits de informacidn viajan simultaneamente hacia el periferico. En esta interfase en cada pulso de reloj se envia un byte al periferico. De la misma manera el controlador de la interfase paralela recibe los datos en forma paralela de la unidad conectada al mismo. Este tipo de conexion es recomendable para distancias cortas y cuando se requiere de altas velocidades de transmision de informacion.

Debido a las caracteristicas antes mencionadas y de acuerdo a las condiciones existentes al realizar el trabajo, se utilizo la interfase tipo paralela.

En la realizacion de cualquier interfase, es necesario tener conocimiento de las partes internas que forman una computadora, con el proposito de determinar en que condiciones es posible trabajar sin generar problemas, algunas de ellas son:

Page 45: Micro photometer`s automation for quantitative ...

Cap. 2 Proclso Dt automatizacion

TARJETA MADRE.

La tarjeta mad re es la parte principal de la PC donde sc encuentra la unidad de procesam icnto central del sistema (CPU), que realiza las funciones inteligentes de control, las funciones aritmcticas Idgicas, asi como el adecuado funcionamiento de la transference de datos a los demas dispositivos del sistema para su dptimo funcionamiento. En cl la se encucntran tambien memorias de almacenamiento de informacion, tcmporizadores, controladores y circuitos intcgrados (Cl) que permiten la transferencia de entrada y salida de los datos.

La tarjeta madre contiene conectores de expansion, que son utilizados para la conexion de dispositivos perifdricos, uno de estos no tiene salida al panel posterior de la maquina porque se destina para la tarjeta controladora del disco duro, cuenta ademas con bases en las que se puede instalar mas memoria en circuitos integrados de 256 Kbytes de RAM.

CONECTOR DE EXPANSION.

La computadora cuenta con conectores de expansion y cada uno de estos cuenta con terminates por las cuales se realiza la transmisidn de las sefiales perifericas hacia la CPU de la computadora. Para el manejo de instrucciones, cuenta con lineas de datos, de direcciones y de control.

En la siguiente tabla se muestran las terminates del conector de expansion.

CONECTOR DE EXPANSION DE UNA PC.

LA DO DE SOLDADURA Terminates LADO DE COMPONENTESNombre de la sefial Nombre de la sefial

GND B, A, -I/O CH CKRESET DRV B, A, +D,

+5V B, A,+IRQ2 b4 a4 +D,

-5V B, A) +D4

+DRQ2 B„ A* +D,-I2V B, A? +d2

NO USADO B, A, +D,+ I2V B, Aq +D„GND Bio A|o +1/0 CH RDY

-MEMW B,i An +AEN-MEMR b,2 A12 +A,„

-IOW B„ A[} +A„-IOR 8,4 A |4 + A,7

-DACK3 B„ A„ +A|d+DRQ3 B |6 A„, +A,<-DACkl B„ A17 +AU+DRQI B„ Am +AI3

-DACKO B|<j A|y +A|,CLOCK B2o A 2o +A,,+IRQ7 b2i A]i +Am+IRQ6 b22 Aii +A.,+IRQ5 b23 A23 +A%

+IRQ4 B24 A24 +A,+IRQ3 b2, Ai< +aa

-DACK2 b2„ Air, +A,+T/C b2, Ai? +a4+ALE b2, A?x +At

+5V B2v A,u +A>+OSC b,„ Ain +A|GND B„ A?i +A„

Tabla 4.

37

Page 46: Micro photometer`s automation for quantitative ...

Cap. 2 Proceso de automatizacion.

Ln la tabla 4 se observa que el collector de expansion cuenta con:

- 8 lineas del “bus” de datos, bidireccionales.- 20 lineas de direcciones.- 6 niveles de interrupcion.- 3 canales para lineas de control DMA.- un canal para pruebas de linea.- 4 lineas de polarizacion de voltaje directo.- Lineas de control para lectura de memoria.- Lineas para entrada/salida de lectura o escritura.

Todas las sefiales manejan voltajes de 0 a 5 volts tipicos en TTL.

En la tabla anterior se muestran las senates disponibles para realizar la interfase con la PC, conteniendo las lineas de direccion, de datos y de control. El collector de expansion cuenta con doslineas de 31 senates cada una, la tabla 4 muestra las senates que contiene en el lado de soldadura yen el lado de los componentes para una tarjeta que realiza la interfase con la PC.

DESCRIPCION DE LAS TERMINALES DEL CONECTOR DE EXPANSION.

Serial D0 a D7 que se encuentra en las terminales A9 a A2:

Son 8 lineas que constituyen el “bus” de datos bidireccional de 8 “bits” para la transferencia de datos, comandos e informacion entre el microprocesador, memoria y puertos. D0 es el bit menos significative (LSB) y D? el bit mas significative (MSB). Estas lineas son activas en 1 logico.

Serial An a A t9 que se encuentra en las terminales AJt a A t2:

Son las lineas del “bus” de direcciones de los “bits” 0 al 19 que se utilizan para direccionar a la memoria y a los dispositivos de entrada/salida en el sistema, estas lineas pueden ser generadas o manejadas por el controlador de DMA (Direct Memory Access) o por el microprocesador. Son activas en uno logico.

Serial -I/O CH CK que se encuentra en la terminal A t:

(I/O Channel ckeck):

Es la serial generada por una tarjeta externa en el conector de expansion que informa a la CPU de una Falla. Esta linea provee al microprocesador una condicion de error de paridad sobre la memoria o dispositivos instalados en el conector de expansion. Cuando es activada en cero logico un error ha ocurrido.

Sena/ +I/O CH RDY que se encuentra en la terminal A/n:

(I/O Channel ready):

Esta es una serial de entrada usada para extender la longitud del ciclo del “bus” para que la memoria o algun dispositive de entrada o salida mas lentos de lo que se requiere pueda responder a I ciclo normal de 4 pulsos de reloj del sistema.

Serial de RESET DRV que se encuentra en la terminal B2:

Esta serial es usada para restablecer o inicializar el sistema logico en el encendido de la maquina o durante una falla de suministro de energia, esta active en uno logico.

38

Page 47: Micro photometer`s automation for quantitative ...

Cap. 2 Prockso de automatizaciPn.

Serial +IRQ 2-7 que se encuentra en las terminates B4 - B25.21'

(Interrupt Request Channels). Estas senales de entrada son canales de peticion de interrupcion para el microprocesador provenientes del “bus” del sistema. Estas senales van directainente al circuito manejador de interrupciones para interrumpir el control del proceso de la tarjeta. Estas tineas son usadas como seriates al microprocesador indicandole que un dispositive de E/S requiere atencion.

Serial -MEMW que se encuentra en la terminal Bp:

(Memory Write). Serial de salida baja usado para escribir dates del “bus” del sistema a la memoria. Esta serial es controlada por el manejador de bus (XT) y el CPU la habilita en bajo cuando realiza una escritura en la memoria.

Serial -MEMR que se encuentra en la terminal Bl2:

(Memory Read). Es la serial de salida usada para leer los dates en memoria, esta serial es controlada por el manejador de bus. Serial que el CPU habilita en bajo para realizar una lectura a memoria.

Serial -IOW que se encuentra en la terminal Bt}:

(I/O Write). Esta serial es de salida y controlada por el manejador de bus. El CPU activa en bajo esta serial para realizar una escritura hacia un dispositivo periferico del sistema.

Serial -I/OR que se encuentra en la terminal Bp:

(I/O Read). Serial de salida del manejador de bus utilizada para indicar las entradas de salidas de los puertos. El CPU activa en bajo esta serial para realizar una lectura hacia un dispositivo periferico del sistema.

Serial +DRQ 1-3 que se encuentran en las terminates Bt8, B6 y Bt6:

DRQ1 a DRQ3 (DMA requests). Estas lineas de entrada son canales asincronos y de peticion. Se usan por los dispositivos perifericos para obtener servicio del DMA.

Serial -DACK 0-3, que se encuentra en las terminates Bl9, Bp, B26 y Bp:

DACKO a DACK3 (DMA acknowledge signals). Son senates activas de reconocimiento del DMA, notifican a dispositivos perifericos individuates cuando se ha otorgado un servicio del DMA y refresca la memoria dinamica.

Serial CLOCK que se encuentra en la terminal B2n:

Reloj del sistema con una frecuencia de 4.77 MHz, la cual es un tercera parte de la frecuencia del oscilador. Esta es la frecuencia de operacion del microprocesador, este tiene un periodo de 210 nanosegundos y un ciclo de trabajo del 33% producido por el generador de reloj para una maquina XT.

Serial +T/C que se encuentra en la terminal B2j:

(Terminal/Count). Esta linea provee un pulso cuando sc presenta la terminacion de un servicio del DMA.

Serial +ALE que se encuentra en la terminal B28:

(Addres Latch Enable). Esta serial de salida proporcionada por el controlador del “bus". Indica que el “bus” de direcciones es valido para el comienzo de un ciclo. Esta senal esta en active alto justo antes de que el “bus” de direcciones sea valido y cac a nivel bajo justo despues que el “bus” de direcciones ha side valido.

to

Page 48: Micro photometer`s automation for quantitative ...

Cap. 2 Prockso de automatizaci(!>n

Serial AEN que se encuentra en la terminal An:

(Addres Enable). Esta sefial es usada por el controlador DMA, inhibe al controlador del “bus” y a los acondicionadores de las direcciones para permitir que el DMA asuma el control del “BUS”.

La serial de AEN puede ser utilizada para habilitar a otros dispositivos de E/S, indicando que una direccion ha sido generada y es valida cuando esta activa en uno logico. El controlador DMA ticne el control del “bus” de direcciones, “bus" de datos y los comandos de Icctura y escritura (mcmoria y dispositivos de E/S).

Serial de OSC que se encuentra en la terminal B}n:

Sefial de salida cuya frecuencia es equivalente a 14.31818 MHz, con un periodo de 70 nanosegundos y utilizado para la circuiteria de video.

MAPA DE DIRECCIONAMIENTO DE PUERTOS DE LA PC PARA EL CONECTOR DE EXPANSION.

La PC contiene un mapa de memoria y de direccionamiento para el conector de expansion, dividido de la siguiente forma: el mapa de direccionamiento del puerto de entradas y sal Idas esta form ado por una primera parte con 512 puertos direccionables contenida entre 0000H al 0IFFH en hexadecimal, esta es asignada para el sistema principal de la tarjeta (sistema de la tarjeta madre). En esta parte reside el sistema base de la tarjeta. Estas direcciones del puerto son usadas para direccionar la CPU y el soporte de dispositivos que integran a la tarjeta madre. La segunda parte es el espacio de las direcciones de 0200H al 03FFH con 512 puertos direccionables que est&n disponibles en la tarjeta para los conectores de expansion.

MAPA DE DIRECCIONAMIENTO PARA UNA PC IBM

DIRECCION EN HEXADECIMAL

FVNCION DEA CCESO

0000 - 001F CONTROLADOR DE DMA 82370020 - 003 F CONTROLADOR DE INTERRUPCIONES MAESTRO 82590040 - 005F FIEMPO 82540060 - 006F CONTROLADOR DE TECLADO 89420070 - 007 F RELOJ DE TIEMPO REAL0080 - 009F REGISTRO DE PAGINA00A0 - 00BF CONTROLADOR DE INTERRUPCIONES 825900C0 - 00DF CONTROLADOR DE DMA 823700F0 LIMPIADOR BUSY 8928700FI RESET 99287OOFS - 00FF COPROCESADOR 992870IF0-01F8 TARJETA ADAPTADORA DE DISCO DURO0200 - 0207 ADAPTADOR DE JUEGOS E/S0278 - 027F PUERTO 2 IMPRESORA PARALELO02F8 - 02FF PUERTO SERIAL 20300-03IF TARJETA PROTOT1PO0360 - 036F RESERVADO0378 -037F PUERTO 1 IMPRESORA PARALELO0380 - 038F SDLC, BISINCRONO 203A0 - 03AF DISlNCRONO 103 B0 - 03 BF TARJETA ADAPTADORA DE MDA03( 0 - 03CT RESERVADO03DO - 03 DF TARJETA ADAPTADORA CGA03F0 - 03F7 CONTROLADOR DE DISCOS FLEXIBLES03F8-03FF PUERTO SERIE 10400 - FFFF DIRECTION ABIERTA E/S "

Tabla 5.

Page 49: Micro photometer`s automation for quantitative ...

Cap. 2 Procp.so dp. automatizacion.

2 1.6 CARA CTERiSTICAS DE LA INTERFASE EMPLEADA.

Para cl analisis espectrografico cuantitativo se emplea una PC AT Modelo 30286 con la cual sc capturan los datos de las transmitancias obtenidas en el microfotometro y se realize el proccdiniiento requerido por medio de un programa de compute. Para la capture de los datos se utilize una tarjeta (interfase) de la cual se obtienen datos en forma paralela, el circuito de la interfuse sc represenla en la figura 2-13. En este circuito se emplea un puerto PPI 8255 de Entrada/Salida (E/S), de 3 puertos (A, B y C) y un puerto de comunicacion con el “bus” (D). Este puerto cs direccionado en el mapa de puertos de la computadora en el segmento reservado a puertos E/S.

Figura 2-11. Puertos disponibles en el PPI.

Para programar los puertos con sus respectivas senates se deben tener los siguientes niveles:

RD VVR CS A„ A,0 10 0 0

0 I 0 0 10 10 10

0 10 11

RD WR CS A0 A,1 0 0 0 0 1 0 0 0 1 10 0 10

10 0 11

Escribiendo de:Bus de datos al Puerto A. Bus de datos al Puerto B. Bus de datos al Puerto C. Bus de datos a Control.

Lcyendo de:Puerto A al Bus de datos. Puerto 13 al Bus de datos. Puerto C al Bus de datos. No valido.

41

Page 50: Micro photometer`s automation for quantitative ...

Cap. 2 Prockso i>k automatizaci6n.

La palabra de control requerida para programar al PPI se determina a partir de la siguiente configuracion:

Las caracteristicas necesarias en el sistema son: Puerto A como entrada, Puerto B como entrada y Puerto C (parte baja y alta) no importa. For lo tanto la palabra de control queda 10010010 que en hexadecimal es 92H.

Para decodiHear el PPI dentro del espacio de memoria usado para puertos E/S se requieren los siguientes bits del bus de direcciones:

Aq Ag | A7 A(, A5 A4 | A3 A; AI Ao

La direccion a la cual se decodifico fue la 300H, para ello las direcciones Aq y Ag toman el valor de un “1” logico y las direcciones A7 a A2 toman un valor de un “0” logico.

Como dispositivo decodificador se utiliza un 74LS688, que es un comparador de 8 bits cuvas entradas P son las direcciones de A2 a Aq, las cuales son comparadas con las entradas Q que a la vez se seleccionan con las posiciones del microinterruptor para dar la direccion base del dispositivo E/S. Este circuito es habilitado con la h'nea AEN del bus de expansion, la cual indica que una direccion ha sido generada y es valida. Dado que esta h'nea es activa en “uno’" logico durante los ciclos de DMA, se previene un direccionamiento de puerto invalido durante estos ciclos.

Las direcciones A0 y A, forman parte de las entradas del 8255 y conjuntamente con las senales de lectura (OR y de escritura lOW, controlan la seleccion de uno de los tres puertos o el registro de la palabra de control.

La terminal 35 del 8255 se conecta a la serial de RESET DRV del conector de expansion. Esta serial es activa alta y se usa para inicializar al sistema al momento de habilitar la alimentacion o en el momento de una falla de suministro de energia. Cuando esta serial es activa en el 8255, borra el registro de control y I leva a todos los puertos (A, B y C) al modo de entrada.

La tinea de lectura (RD) del 8255 es activa baja y se conecta a la sefial IOR del bus de expansion. Esta serial habilita al dispositivo de E/S para enviar la informacion de datos o estado a traves del bus de datos.

La entrada de escritura (WR) del 8255 se conecta a la serial 10W del bus de expansion. Esta serial habilita al dispositivo de E/S para que accpte palabras de datos o de control provenientes del CPU .

Page 51: Micro photometer`s automation for quantitative ...

Cap. 2 Proceso he automatizacion

La entrada de seleccion de dispositivos (CS) del 8255 se conecta a la linea de salida del 74LS688, la cual es activa baja cuando se genera un direccionamlento valido.

El bus de dates (D0 - D7) del bus de expansion se coloca en un circuito reforzador bidirectional (74LS245), para que la computadora vea sobre el bus de dates una carga TTL, este dispositive es habilitado con la linea de salida del comparador (74LS688) cuando una direccion es valida. Para seleccionar la direccion del circuito reforzador se utiliza la serial IOR del collector de expansion, cuando esta serial es activa baja, los dates son enviados del lado A liacia el lado B.

Los resistores colocados en las entradas Q del comparador hacia el voltaje de alimentacion, sirven para que al conmutar algun microinterruptor de un estado alto a un estado bajo no se pongan en corto las fuentes.

Por ultimo se utiliza un conector DB25F entre el PPI y el mundo exterior.

Figura 2-12. Diagrama de la interfase paralela.

Page 52: Micro photometer`s automation for quantitative ...

Cap 2 Proceso de automatizacion.

2.2 PROGRAMACION.El programa para el Analisis Espectrografico Cuantitativo fue realizado en lenguaje “C”, consta de 3 rutinas principales: Calibrado de la emulsion, Curvas de trabajo y Resultados analiticos; los resultados obtenidos en cada rutina se presentan en codigo ASCCI.

Se eligio “C” por ser un lenguaje de programacidn de empleo general, por su generalidad se vuelve mas eficaz y conveniente para muchas tareas, entre ellas se tiene la de elaborar interfases con la PC.

El diagrama a bloques del programa se indica en la figura 2-13.

EJECUCION DE LA PROGRAMACION.

La programacidn para la automatizacion se explica por rutinas, con la final idad de simplificar la interpretacion para la obtencion de resultados. El funcionamiento de cada rutina se explicara a continuacion, si se requiere mayor comprension, el listado del programa se incluye en el anexo A.

PORTADAS.

Esta rutina presenta en pantalla 3 portadas; la primera es para indicar el lugar donde fue realizada la tesis; la segunda aclara el area y departamento para quien se realize y la tercera indica el Menu Principal de opciones en las que el usuario elegira que procedimiento se ha de realizar: Calibrado de la Emulsion, obtencion de las Curvas de Trabajo, la adquisicion de Resultados Analiticos y Salir del Programa, este procedimiento se representa en la figura 2-14.

CALIBRADO DE LA EMULSldN.Al elegir esta opcion en el Menu Principal, se presentara la portada para realizar calibrado de la emulsion en la que se indica si se requiere dar caracteristicas del elemento hierro y realizar el procedimiento, leer algun archive que fue grabado con anterioridad y por ultimo regresar al Menu Principal. La figura 2-15 representa el diagrama de flujo correspondiente. Observese que si por algun motive el usuario no indica correctamente los dates solicitados, el programa esta provisto de rutinas que muestran mensajes de error y regresa a pedir nuevamente alguna opcion sin dafiar el procedimiento que se realiza [9].

44

Page 53: Micro photometer`s automation for quantitative ...

Figura 2-13. Diagram

s a bloques del Program a para el andlisis espectrogrdfico cuantitativo

CARACTERiSTICAS

C4UBRADO DE LA EMULSION.

TONLAR DATOS DESDE EL MICROFOTOMETRO.

LEER ALGUN ARCHIVO

HACER C.ALCUL05 DE C.ALIBRADODELA

EMULSION.

ENTREGA RESULTADOS DE LA CURV.A FINAL Y

GUARDAEN DISCO.

CURVTRAl

ASDEIAJO.

'

LLENAR ENCABEZADO

TOMARLECTURAS DESDE EL

microfotOmetro

REALIZAR C.ALCULOS DE CURVAS DE 7RAB.AJ0

MUESTRAEN PANT.AIXA LOS RESULTADOS

OBTENIDOS YGRABA EN DISCO

LLEN AR ENCABEZADO LEER ALGUN ARCHIVO

OPCIONES DEL PROCRAMA.

LEER ALGUN ARCHIVO

SAUR.

TOMAR DATOS DEL ELEMENTO PATRON

INTERNO Y MUESTRA PROBLEMA

HACER CALCULOS PARA DETERMINAR LA

CONCENTRAClON DEL ELEMENTO

ENTREG A RESULTADOS DE LA CONCENTRAClON

YGRABA EN DISCO

Ca

p 2 Pr

oc

f.so de a

uto

ma

t izac

iOn

Page 54: Micro photometer`s automation for quantitative ...

Cap. 2 Proceso de automatizacion.

OPCldN

AN ALlTICOS

LEE LA OPCION QUE

ura 2-14. Diagrama de Flujo para el programa que muestra en pantalla las portadas.

Page 55: Micro photometer`s automation for quantitative ...

Cap. 2 Procf so di automati/.acion

Figura 2-15. Diagrama de flujo para realizar calibrado de la emulsion.

d7

Page 56: Micro photometer`s automation for quantitative ...

Cap. 2 Proceso of. automatizacion

CURVASDE TRABAJO.

Las figures 2-16 y 2-17 denotan los diagram as de flujo para realizar el proceso en el que se obtienen las curvas de trabajo. El procedimiento a seguir es indicar las caracteristicas de los elemento que se analizaran (Elemento Patron Interne y Elemento Base), si ya antes se realize un procedimiento de curvas de trabajo, entonces es posible elegir la opcion de leer datos de algiin archive, finalmente se tiene la opcion de regresar al Menu Principal [10].

Figura 2-16. Diagrama de flujo para realizar curvas de trabajo.

Page 57: Micro photometer`s automation for quantitative ...

Cap. 2 Proceso de automatizaci6n

PRESENTA RESUL- TADOS EN PANTALLA.

REALIZA PETtCldN DE LAS CARACTERiSTICAS

DEL ELEMENTO PATR6N

INTERNO Y ELEMENTO CON FONDO

TOMA LECTURAS DE %T PARA LOSPATRONES

TOMA LECTURAS DE %T PARA LOS PATRONES

REALIZA PROCEDIMIENTO DE CURVAS DE TRABAJO.

REALIZA PROCEDIMIENTO DE CURVAS DE TRABAJO.

REALIZA PETICldN DE LAS CARACTERiSTICAS

DEL ELEMENTO PATR6N

INTERNO Y ELEMENTO BASE

Figura 2-17. Diagrama de flujo para realizar curvas de trabajo (continuacidn).

E;n esta rutina puede haber elementos que al analizarlos contengan lecturas de fondo, lo cual afecta los resultados finales; para solucionar este problema se sigue dentro de la misina rutina otro proceso para realizar los ajustes necesarios y proporcionar las curvas correctas, el unico requisite, es indicar que el elemento que se analiza tiene fondo y automaticamente se realizara el procedimiento correspondiente.

Page 58: Micro photometer`s automation for quantitative ...

Cap. 2 Prockso ok automatizacion

RESUL TADOS ANALITICOS.Esta option proporciona los resultados finales de concentration encontrados en algun elemento. Para que sea posible determinar los resultados analiticos de los elemcntos, es preciso haber realizado el procedimiento de calibrado de la emulsion y el de curvas de trabajo, ya que esta rutina emplea los datos obtenidos de la ecuacion de la recta para am bos procesos, en caso contrario de no haber realizado los dos procedimientos mencionados, se despliega un mensaje de error que indica que no es posible realizar el procedimiento.

Las opciones que contiene esta rutina son: proporcionar las caracteristicas de los elemento a analizar, leer datos de algun archive (si ya fueron grabados) y regresar al Menu Principal. El diagrama de flujo de la siguiente figura corresponde a esta rutina.

Figura 2-18. Diagrama de flujo para hallar resultados analiticos

Page 59: Micro photometer`s automation for quantitative ...

Cap. 2 Proceso de automatizacion

SALIR DEL PROG RAMA.Esta es la ultima opcion que es posible elegir del menu principal, en ella se da por terminado el programa y retorna al sistema operative.

En todas las opciones descritas es posible imprimir los resultados obtenidos de cada una, pulsando la tec la “PRINT SCREEN” del teclado.

Ademas los datos adquiridos son almacenados en codigo ASCII, de modo que pueden ser transportados y utilizados por otros paquetes de analisis matematico, con el proposito de imprimir las graficas que se obtienen en los resultados de cada proceso.

51

Page 60: Micro photometer`s automation for quantitative ...

CAPITULO 3PRUEBAS YRESULTADOS.

Page 61: Micro photometer`s automation for quantitative ...

Cap. 3 Pruf.bas y resultados.

Las pruebas consistieron en efectuar el proceso de Analisis Espectrografico Cuantitativo en forma manual y posteriormente en forma automatica. El proposito de las pruebas fue determinar el tiempo que se emplea en am bos procesos, ademas de la exactitud y precision que se obtienen en los resultados. En la siguiente seccion se indicara en que consiste este procedimiento, despues se muestra un ejemplo realizado en forma manual y por ultimo en forma automatica.

3.1 PROCEDIMIENTO PARA DETERMINAR CONCENTRACIONES.Con el analisis espectrografico y la ayuda del Microfotometro, es posible determ inar la concentracion de elementos en muestras (la cual puede ser: muestras de uranio y sus compuestos, asi como metales, aleaciones, soluciones residuales, aguas naturales y residuales, etc ).El Analisis Espectrografico Cuantitativo se realiza en tres pasos, los cuales son: Calibrado de la emulsion, Curvas de Trabajo y Resultados Analiticos. Para cada uno se hace a continuacion una descripcion.

3.1.1 CALIBRADO DE LA EMULSION.

Mediante la ec. (1) (Seccion 1.5) se puede deducir el valor de la densidad de ennegrecimiento (D) a traves de los valores de la desviacidn en la parte clara de la placa (d0) y la desviacidn de la tinea espectral (d) obtenidos con el microfotometro. Por otra parte se tiene la ec. (6) (Seccidn 1.6), que relaciona la intensidad de radiacion (VIp) con la concentracion del elemento en la muestra (Ce), por lo tanto para poder ligar ambas formulas es precise encontrar una relacion entre la densidad de ennegrecimiento y la intensidad. Esta relacion proporciona la curva caracteristica de la emulsion de la cual se hablo en la seccion 1.4 que viene representada en la figura 1 -7.Como se observa una buena porcion de la misma es lineal y operando en ella disminuyen los errores. Con objeto de extender dicho tramo lineal hacia valores pequenos de la exposicion (o de la intensidad, puesto que am bos son proporcionales ya que se opera generalmente a tiempo constante), se sustituye D por otra funcion, como la de Seidel en la que:

El calibrado de la emulsion solo se realiza para el elemento Hierro.El procedimiento necesario para realizar el calibrado de la emulsion, es el siguiente:

OBTENCIONDEL ESPECTRO DE EMISIONDEL HIERRO.

Para la determinacion espetrografica cuantitativa en el ININ se sigue un procedimiento acreditado ante la direccion general de normas, el cual indica paso a paso que proceso hay que seguir. A continuacion se ira indicando cuales son esos pasos y los cuidados que se deben tener en cuenta.Por medio de un sector rotatorio logaritmico el cual esta formado por un disco (ver figura 3-1) cuya periferia esta cortada en escalones, se hace girar frente a la rendija del espectrografo que es iluminada con un haz uniforme (arco de corriente continua entre electrodos de hierro), se dan tiempos de exposicion correspondientes a las fracciones del haz luminoso que atraviesan el sector que son proporcionales a las aberturas angulares de los escalones [II]. En este procedimiento se hace uso de la formula E = I x t, como I es constante (el haz es uniforme), las exposiciones E correspond ientes a los diferentes escalones del sector, producen en la emulsion fotografica un escalonamiento en las tineas de Hierro que estan en funcion de 5, 15, 25 y 35 segundos, las cuales finalmente son medidas las densidades de ennegrecimiento de los distintos escalones de una de las lineas del espectro de Hierro por medio de un Microfotometro.

53

Page 62: Micro photometer`s automation for quantitative ...

Cap. 3 Pruf.iias y rfsiji.tados.

Figura 3-1. Sector rotatorio logaritmico.

La placa quo contiene a I cspectro obtenido con el proceso de calibrado de la emulsion queda como sc obscrva en la siguiente figura.

I IKMI'O l)E

25 seg

35 seg

2779.30 A 2954.7 A2709.06A 2759.82 A

Figura 3-2. Placa de Calibrado de la Emulsion.

TOMA DE LECTURAS DENSITOMETR1CAS.

En la placa de la figura anterior se identifican las 4 lineas espectrales (longitudes de onda) del Hierro para el rango espectral de 2700A como son: 2709.06A, 2759.82A, 2779.30A y 2954.7A, a continuacion cada una de estas lineas espectrales se divide en 7 partes, a las cuales con ayuda del microfotometro se tom a la lectura de porcentaje de transmitancia (%T) en cada tiempo de exposicion (5, 15, 25 y 35 seg.), para cada linea espectral se tienen 28 lecturas y como son 4 lineas en total daran 112 lecturas [7],

54

Page 63: Micro photometer`s automation for quantitative ...

Cap. 3 Prijeiias y rfsultados

LINEA DE Fe 2709.06Aporckntaje > 5seg 15seg 25seg 35segDl TRANSMI- L-> %T */.T %TTANCIA. 62.5 11.1 7.9 3.6

74.8 20.8 15.5 6.789.1 39.2 29.9 12.598.2 71.8 69.2 28.5100 87.8 88.8 61.8100 97.4 96.8 84.1100 97.2 97.8 92.3

Total 28 lectures

LINE A DE Fe 2759.82A5seg 15seg

%T "»T28.1 1.039.6 5.853.5 9.985.0 20 294.5 35.298.1 55 6100 71.8

Total

25seg 35scg•oT %T2.5 1.83.5 2.84.9 3.910.6 6.2196 10.238.7 19.656 0 29.9

8 lectures

LINEA DE Fe 2779 30A LINEA DE Fe 2954.7A5seg 15seg 25seg 35seg 5seg 15seg 25seg 35seg%T °/.T */.T %T %T %T %T •/.T19.1 3.5 3.2 2.3 57.8 8.0 5.5 3.626.1 4.8 4.3 3.5 75.9 13.5 8 2 5.737.2 7.1 6.1 5.0 84.4 20.7 12.8 8.158.5 15.9 10.8 8.7 96.4 36.5 19.1 13.277.1 25.2 23.2 16.6 too 60.8 44.9 23.591.3 49.9 39.2 30.0 100 84.7 72 9 46.096.9 69.8 68.5 51.3 100 91.7 86.0 65.2

Total 28 lectures Total 28 lectures

TOTAL = 112 LECTURAS.CORRECCION DE SEIDEL.

En la curva caracteristica de una emulsion (figura 1-7, Section 1.4), Seidel [4] encontro que una pequena portion de la curva poseia una linea recta en la cual era posible trabajar. Con ello dedujo la formula:

Df=100 ec.(8)

donde: Df es igual a la Correction de Seidel ydes igual al %T (lectura tomada con el Micro (btometro).

Para el proceso que se sigue a cada una de las 112 lecturas de %T tomadas, se aplica Correction de Seidel.

En las siguientes tablas se muestra como quedan las lecturas tomadas con la correction de Seidel.

CORRECCltiN DE SEIDEL LJNEA DE Pe 2 70g QgJ

5seg I 15seg 25seg 35seg%T SEIDEL %T SEIDEL %T SEIDEL %T SEIDEL62.5 0.6 11.4 7.77 7.9 11.66 3.6 26.7774.8 0.34 20.8 3.81 15.5 5.45 6.7 13.9389.1 0.12 39.2 1.55 29.9 2.34 12.5 7.098.2 0.018 71.8 0.39 69.2 0.15 28.5 2.51100 0 87.8 0.14 88.8 0.13 61.8 0.62100 0 97.1 0.027 96.8 0.033 84.1 0.19100 0 97.2 0.029 97.8 0.022 92.3 0.083

Page 64: Micro photometer`s automation for quantitative ...

Cap. 3 Pruebas y resultaoos.

LINEA DE Fe 2759.82ASseg 15seg 2Sseg 35seg

%T SEIDEL %T SEIDEL %T SEIDEL %T SEIDEL28.1 2.56 4.0 24.0 2.5 39.0 1.8 54.5539.G 1.53 5.8 16.2 3.5 27.6 2.8 34.7153.5 0.87 9.9 9.1 4.9 19.4 3.9 24 6185.0 0.18 20.2 3.95 10.6 8.43 6.2 15.1394 5 0.06 35.2 1.84 19.6 4.1 10.2 8.898.4 0.02 55.6 0.798 38.7 1.58 19.6 4.1too 0 71.8 0.39 56.0 0.79 29.9 2.34

LINEA DE Fe 2779.30ASseg ISseg 2Sseg 3Sseg

%T SEIDEL %T SEIDEL %T SEIDEL %T SEIDEL19.1 4.24 3.5 27.6 3.2 30.25 2 3 42.526.1 2.83 4.8 19.83 4.3 22.3 3.5 27.637.2 1.7 7.1 13.1 6.1 15.4 5.0 19.058.5 0.71 15.9 5.3 10.8 8.26 8.7 10.577.1 0.30 25.2 2.97 23.2 3.31 16.6 5.0291.3 0.1 49.9 1.0 39.2 1.55 30.0 2.3396.9 0.032 69.8 0.43 68.5 0.46 51.3 0.95

LtNEADEFe 29S4.7ASseg ISseg 2Sseg 35seg

%T SEIDEL %T SEIDEL %T SEIDEL %T SEIDEL57.8 0.73 8.0 11.5 5.5 17.2 3.6 26.7775.9 0.32 13.5 6.41 8.2 11.2 5.7 16.584.4 0.18 20.7 3.83 12.8 6.8 8.1 11.396.4 0.04 36.5 1.74 19.1 4.24 13.2 6.6100 0 60.8 0.64 44.9 1.23 23.5 3.26100 0 84.7 0.18 72.9 0.37 46.0 1.17100 0 91.7 0.1 86.0 0.16 65.2 0.534

Es importante aclarar que hay dates que resultan menores a 0.1, dichos valorcs no se tomaran en cuenta para los calculos siguientes. Debido a que en el papel doble logaritmico se toman las coordenadas desde 0.1 hasta 100 para los ejes X y Y.

CORRELACIONDE PUNTOS DE LA CURVA PRELIMINAR.

Graficar en papel doble logaritmico todos los dates producto de la correccion de Seidel de cada valor de %T obtenido, los valores seran denominados en el eje X como FUERTE y en el eje Y como DEBIL ejemplo: LINEA 2709.06A

LINE A DE Fe 2709.06A

fuerteddbil k fuerte

<d6bil k fuerte %d6bil

“St%T SEIDEL62.5 0.60074.8 0.34089.1 0.12098.2 0.018100 0.000100 0.000100 0.000

El dato obtenido de Seidel para 62.5 es 0.6, este es el primer valor fuerte (eje X) y el dato de 74.8 obtenido es 0.34 que pasa a ser el primer valor debit (eje Y), posteriormente el segundo valor fuerte es 0.34 y el debit es 0.12 y asi sucesivamente se hace para todos los datos obtenidos en la correccion de Seidel. Los datos y la grafica quedan de la siguiente forma:

Page 65: Micro photometer`s automation for quantitative ...

Cap. 3 Prupbas y rpsui.tados.

X (FUERTE) 0.600 0.340 0.120 0.000

0.000

0.000

7.770 3.810I. 550 0.390 0.140 0.000

II. 66 5.450 2.340 0.450 0.130 0.000

26.77 13.937.000 2.510 1.041 0.620 0 190 2.560 1.530 0.870 0.180 0.000

24.00

Y (DEBIL) 0.340 0.120 0.000

0.000

0.000

0.000

3.810 1.550 0.390 0.140 0.000

0.000

5.450 2.340 0.450 0.130 0.000 0.000 13.93 7.000 2.510 0.620 0.667 0.190 0.000 1.530 0.870 0.180 0.000 0.000 9.100 ....

CURVA PRELIMINAR DE 2700A

100 _

10 _

d6bil i -

0.1 —

■ ■

■ "■V? +

m

m #k ■ ■ *

■-

r11 n 1111| i i i i r iTTf] r rr T-nm[ i 1111 n it|0.1 1 10 100

FUERTE

Figura 3-3. Dates y Curva obtenida con la correccidn de Seidel.

MINIM OS CUADRADOS.

En los datos anteriores se observa que se tienen varies puntos los cuales no todos coinciden en caso de que se quiera trazar una Itnea por ellos, por lo que es razonable pedir que la funcion aproximante coincida exactamente con los datos; en realidad tal funcion aproximante introduciria oscilaciones que no ocurririan originalinente, haciendo mas dificil la solucion al problema. Un mejor enfoque para el problema de este tipo es encontrar la “mejor” (en algun sentido) recta que se pudiera usar como funcion aproximante, aun cuando pudiera no coincidir precisamente con los datos en cada punto.

El enfoque de minimos cuadrados a este problema requiere de la determinacion de la mejor recta aproximante cuando el error involucrado es la suma de los cuadrados de las diferencias entre los valores de la recta aproximante "y” por "y/' al i-esimo valor dado, se necesita encontrar las constantes a y b que son tales que minimizan el error de minimos cuadrados:

Z[y - (ax, +b)] ec. (9)

Para nuestro problema esto se reduce a encontrar las constantes a y b que minimicen los valores que se presentan. Si se considera la ec. 3 como una funcion de las dos variables a y b, un resultado elemental del calculo de las variables implica que. para que un minimo ocurra en (a. b) es necesario que:

57

Page 66: Micro photometer`s automation for quantitative ...

Cap 3 Pruebas y resuetados

0 = ^"£[y‘'(a’,'*b)l

0 ■ ^ S [y. -(>*. + >>)]

Derivando ambas ecuaciones se obtiene:

2Z (> ,-axi- bX- xi)

2i (y i-axi - bX™1)

ec. (10)

ec. (11)

ec. (12)

ec. (13)

Finalmente sdlo es necesario asignar valores a yj y x, para obtener el resultado de a y b, y expresar la ecuacion de la recta como sigue:

y = ax + b ec. (14)

La ec. (14) es una expresidn lineal, pero como en nuestro caso se trabaja en una zona Iogaritmica, es necesario hacer el ajuste de logaritmos:

log y = a logx+6

Graficamente se tendrla:

ec. (15)

LOGARJTMICA.

Al aplicar la formula de la ec. (15), se obtiene la grafica:

Fi<zura 3-4. Curva Preliminar del Calibrado de la Emulsion.

58

Page 67: Micro photometer`s automation for quantitative ...

Cap. 3 Prukbas y resultados.

CURVA FINAL DEL CALIBRADO DE EMULSION.De la curva preliminar del Calibrado de la emulsion tomar un valor de 100 en el eje x (fuerte) e interceptarlo a la curva, obtener el valor correspondiente en el eje debit, luego el valor obtenido en el eje debit se intercepta a la curva correspondiendo a este punto un valor para el eje y (debit), esta secuencia se repite hasta encontrar 10 pares de puntos que representan la Intensidad contra Correccion de Seidel.

CORRELA CldN DE PUNTOS DE LA CURVA FINAL DE 2700A

INTENSIDAD“X”

SEIDEL“Y”

100 69.5069.50 45.045.0 28.028.0 16.516.5 9.29.2 4.84.8 2.32.3 1.0

1.0 0.390.39 0.135

TT]—r i'T T'T 11Tl|—rriTITUT)i fi 111111 n-i-rn v

Figura 3-5. Curva Final de 2700A

3.1.2 CURVAS DE TRABAJO.

Para encontrar la concentracion del elemento en una muestra se emplea una curva de trahajo correspondiente al elemento patron interne tornado como base y al elemento en cuestion.

59

Page 68: Micro photometer`s automation for quantitative ...

Cap. 3 Pruebas y resultados.

METODO DE OBTENCION DE LAS CURVAS DE TRABAJO.PATRON tNTERNO.

Es el elemento que sirve de referenda, se agrega en proporcion constante tanto a patrones como muestras para determinar la intensidad de radiacion incidente entre el elemento de la muestra problema y el elemento que se analiza (elemento base).

Se utiliza un patrdn debido a la dificultad de encontrar en muchos casos un patron interim adecuado presente en las muestras en proporcidn constante.

A pesar del empleo del patron intemo y de procurar trabajar en condiciones siempre identicas, se ha observado que las curvas de trabajo obtenidas sufren un desplazamiento con el tiempo. Esta traslacion constituye uno de los problemas mis importantes que quedan por resolver en el campo

del analisis espectrografico; se debe probablemente a la inestabilidad residual de los generadores, a las variaciones en la temperatura, presidn en el laboratorio y a variaciones en el estado estructural de las muestras. Elio obliga a una revision periddica de las curvas de trabajo, aunque es preferible impresionar en la misma placa los espectros de las muestras a analizar y los de varios patrones, construyendose la curva de trabajo para cada placa.

PROCEDIMIENTO A SEGUIR.

1. Obtener en una placa fotografica el espectro del Hierro (que sirve como referenda) en seguida se imprimen los espectros de cada patrdn y finalmente los espectros de la muestra problema.

2. Tomar con el microfotometro las lecturas de transmitancia del elemento patron intemo (Estado).

3. Hacer correccidn de Seidel a cada lectura tomada.

4. Cada valor obtenido con la correccion de Seidel se intercepta en la curva final del calibrado de la emulsion (Figura 3-5) y se va obteniendo un valor para la intensidad del elemento patrdn interne denominado Ip.

5. Tomar con el microfotometro las lecturas de transmitancia del elemento base (Boro: de concentracion conocida). Repetir el procedimiento del punto 3.

6. Cada valor obtenido con la correccidn de Seidel se intercepta en la curva final del calibrado de la emulsion y se va obteniendo un valor para la intensidad del elemento denominado IE.

7. Con los dates obtenidos en el inciso 4 y los dates del inciso anterior se calcula la relacidn IE/IP.

(S’. Hallar la media (promedio) para cada patrdn. Estos valores representaran al eje Y.

9. Por ultimo en papel doble logaritmico se interrumpir los puntos Media contra Concentracion, se aplica el metodo de minimos cuadrados con el cual finalmente se obtiene la pendiente que representa a la curva de trabajo.

Este procedimiento se realiza para cada elemento que se requiere analizar, con ello se obtiene una curva de trabajo por elemento.

A continuacion se muestra un ejemplo del procedimiento para el elemento Boro y se indica como queda representada la curva de trabajo para este elemento.

Page 69: Micro photometer`s automation for quantitative ...

Cap. 3 Prukbas y resultaixjs.

Inciso 2

Inciso 3

Inciso 4

Inciso 6

Inciso 7

Inciso 8

Fv Patron Entcnio: ESTANO (2863.33A) Eleinento Base: BORO (2497.7.U).

Petrdn %T Seidel It* V.T Seidel IE ■ E/ll' MEDIA CONCENT.9 . 14 6.143 10.607 58 0.724 1.198 0.1129 0 1719 0.05

* 16 5.250 9.037 56 0.786 1.302 0.144121 3.762 6.432 50 1.000 1.665 0.2588

8 17 * 4.882 8.392 47 1.128 1.882 0.2243 0.2292 0.1021 3.762 6.432 54 0.852 1.414 0.219817 4.882 8.392 45 1.222 2.043 0.2435

7 19 4.263 7.307 40 1.500 2.518 0.3445 0.2918 0.2019 4.263 7.307 *43 1.326 2.219 0.303715 5.667 9.769 43 1.326 2.2,9 0.2272

6 12 7.333 12.708 26 2.846 ^ 4.839 0.3808 0.4538 0.5013 6.692 11.576 29 2.448 4.150 „ 0.358522 3.545 6.055 31 2.226 3.766 * 0.6219

5 20 4.000 6.848 21 3.762 6.432 0.9393 1.0881 1.0024 3.167 5.396 18 4.556 7.819 1.449118 4.556 7.819 20 4.000 6.848 0.8758

4 18 4.556 7.819 11 8.091 14.048 1.7967 1.5321 2.0021 3.762 6.432 13 6.692 11.576 1.799713 6.692 11.576 13 6.692 11.576 1.0000

3 12 7.333 12.708 6 15.667 27.566 2.1692 2.0603 5.0016 5.250 9.037 9 10 III 17.635 1.9514

2 17 4.882 8.392 4 24.000 42 591 5.0754 5.0754 10 0017 4.882 8.392 4 24.000 42 591 5.0754

1 16 5.250 9.037 2 49.000 88.213 9.7616 9.7616 50.0016 5 250 9.037 2 49.000 88.213 9.7616

Inciso 9

y = 0.6!8649x- 0.033091

CONCENTRATION

Figura 3-6. Curva de Trabajo del Boro.

NOT A:La Concentracion puede estar dada cn cualquiera dc las siguientcs unidadcs: ppm (panes por milldn). mg/mml (microgramos por mililitro) y % (porcentaje).

3.1.3 RESUL TADOS ANALITICOS.

Esta es la ultima etapa a realizar para determinar la concentracion de elementos en muestras, el procedimiento es el siguiente:/. Preparar al Elemento Patron Interne contenido en las Muestra y la Muestra problema e imprimir en una placa los espectros correspondientes a cada una.

61

Page 70: Micro photometer`s automation for quantitative ...

Cap. 3 Pruebas y resultados

2. Toma de Icctmas del % de transmitancia con el micro fbtometro a cada linea espectral del elemento patron interno.

3. Hacer corrcccion de Seidel a cada una de las lecturas toinadas.

4. Interceptar en la curva final del calibrado de la emulsion (Figura 3-5) y obtener para cada una el valor correspondiente de !P.

5. Tomar la lectura del % de transmitancia para cada linea espectral de la muestra problema. Repetir el inciso 3.

6. Los valores obtenidos de Seidel se interceptan a la curva de calibrado de la emulsion y se localiza IE.

7. Con los datos de IP e IE, se encuentra la relacion lE/IP

8. Obtener la media de las muestras.

9. Interceptar los valores de las medias en la curva de trabajo del Boro (Figura 3-6). De esta manera se obtiene la concentracion de cada muestra del elemento analizado.

E. P. Intemo en muestras: ESTASlO. Muestra Problema: BORO

Patr6n */«T Seidel IP %T Seidel IE IE/IP MEDIA CONCENT.2 14 6.143 10.607 78 0.282 0.458 0.0432 0.0284 0.004

II 8.091 14.048 81 0.235 0.379 0.027012 7.333 12.708 79 0.266 0.431 0.03399 10 111 17.635. 81 0.235 0.379 0.021510 9.000 15.660 82 0.220 0.355 0.022613 6.692 11.576 79 0.266 0.431 0.0372IS 5.667 9.769 82 0.220 0.355 0.0363II 8.091 14.048 82 0.220 0.355 0.02528 11.500 20.109 86 0.163 0.261 0.013010 9.000 15.660 81 0.235 0.379 0.0242

1 13 6.692 11 576 71 0.408 0.668 0.0577 0.0797 0.01912 7.333 12.708 65 0.538 0.885 0.069714 6.143 10 607 70 0.429 0.701 0.06619 10.111 17.635 66 0.515 0.846 0.048010 9.000 15.660 63 0.587 0.967 0.061814 6.143 10.607 61 0.639 1.055 0.099510 9.000 15.660 67 0.493 0.808 0.051617 4.882 8.392 51 0.961 1.598 0.190515 5.667 9.769 64 0.562 0.926 0.094811 8.091 14.048 67 0.493 0.808 0.0575

RESULTADO DE LAS CONCENTRACIONES

LECTURAS CON FONDO.

Se presentan en el proceso de Curvas de Trabajo y Resultados analiticos, cuando algunas veces la linea del elemento que se analiza presenta una lectura de fondo ya sea a la izquierda o a la derecha. En este caso se toma la lectura de la linea del elemento y la lectura del fondo a ambas se les hace correccion de Seidel, encontrar l del elemento e I del fondo, encontrar la relacion (Ieicmento - lfondo = lc/lp) y aqui se prosigue con el mismo procedimiento que cuando no hay fondo. Este proceso se realiza en Curvas de Trabajo y Resultados analiticos (unicamente).

62

Page 71: Micro photometer`s automation for quantitative ...

Cap. 3 Pruebas y resultados.

3.2 PROCESO MANUAL.Consistio en determinar la concentracion en partes por milldn (ppm) del elemento Hierro (Fe) contenido en una muestra de U3Og (Otoxido de Triuranio). En la preparacion de las muestras se utilize como patron interne al Estafio (Sn). Para ello se desarrolld el proceso de calibrado de la emulsion en el que se obtuvieron los dates de porcentaje de transmitancia (%T) con el microfotometro anotando todos estos datos en tablas, con las cuales se obtiene la curva de calibrado de la emulsion. Los valores vienen representados en la tabla 6, con la cual al correlacionar puntos, se obtiene la grafica de la figura 3-7. Una vez obtenidos los datos de la curva de calibrado de la emulsion se realize el proceso que determina la curva de trabajo para el elemento Hierro, este se obtiene al analizar las lineas espectrales del Elemento Patron Interno y las muestras del Elemento base de concentracion conocida, en las figuras 3-8, 3-9, 3-10 y 3-11 se indica cuales son los datos obtenidos al analizar el Estafio (elemento patron interno) y el Hierro (elemento base). Con los datos que se obtienen de las medias y concentracion de las figuras 3-10 y 3-11 se traza la curva de trabajo que se muestra en la figura 3-12. Finalmente se desarrolld el proceso que determina la concentracion del hierro en la muestras de U3Og, los datos adquiridos se indican en las figuras 3-13 y 3-14, en la figura 3-14 se observan los valores de concentracion de las muestras dc U3Og que contienen Hierro, estos valores se obtienen por medio de la curva de trabajo del Hierro.

3.3 PROCESO AUTOMATICO.Para la Automatizacion se desarrolld un programa de compute, con el que se toman los datos, realizan calculos y presentan resultados, todo en forma automatica. El proceso ha seguir es el mismo que se describe en el Capitulo 3, Seccion 3.2, unicamente hay que indicar las caracteristicas del elemento. Los resultados obtenidos despues de efectuar el calibrado de la emulsion, se observan en la figura 3-15, que indica cuales son los datos tornados desde el microfotometro y cual es la ecuacion de la recta obtenida con estos datos. A continuacion se efectuo el proceso para encontrar la ecuacion de la curva de trabajo para el hierro, donde hay que proporcionar los datos del elemento patron interno (Sn) y elemento Base, los resultados obtenidos corresponden a la figura 3-16. Para finalizar. se efectuo el proceso de resultados analiticos, al que nuevamente hay que indicar cuales son las caracteristicas del elemento Hierro (elemento a analizar) y del elemento Estafio (patron interno en muestras), la figura 3-17 muestra los resultados obtenidos, en ella se observa el valor de las concentraciones del hierro en cada muestra.

Con los resultados se verifica que con el proceso automatico se tienen mayores ventajas, entre las cuales se pueden mcncionar: mayor precision, el tienipo empleado es menor, el trabajo y cuidados que se siguen ban disminuido considerablemente.

Page 72: Micro photometer`s automation for quantitative ...

Cap. 3 Pkuebas y resui.tados.

LINEA DE Fe 2709.06 AUseg- __25 scg, . 3.5 seg.

%T 100/d-l %T 100/d-l %T 100/d-l %T 100/d-l

62.5 0.60.6 11.4 7.77 7.9 11.66 3.6 26.7774.8 0.34 20.8 3.81 15.5 5.45 6.7 13.9389.1 0.12 39.2 1.55 29.9 2.34 12 5 7.098.2 0.018 71.8 0.39 69.2 0.45 28.5 2.51

87.8 0.14 88.8 0.13 61.8 0.6297.4 0.027 96.8 0.33 84.1 0.1997.2 0.029 97.8 0.022 92 3 0.083

LINEA DE Fe 2754.7 A15^eg .....25 .seg,... ,._35 xg.

%T 100/d-l %T 100/d-l %T 100/d-l %T 100/d-l

28.1 2 56 4.0 24.0 2.5 39.0 1.8 54.55396 1.53 5.8 16.2 3.5 27.6 2.8 34.7153.5 0.87 9.9 9.1 4.9 19.4 3.9 24.6485.0 0.18 20.2 3.95 10.6 8.43 6.2 15.1394.5 0.06 35.2 1.84 19.6 4.1 10.2 8.898.4 0.02 55.6 0.798 38.7 1.58 19.6 4.1

71.8 0.39 56.0 0.79 29.9 2.34

LINEA DE Fe 2779.30 A.5,s,c& —LSjsg.__ __25-seg. . ....35 ssg.

%T 100/d-l %T 100/d-l %T 100/d-l %T 100/d-l

19.1 4.24 3.5 27.6 3.2 30.25 2.3 42.526.1 2.83 4.8 19.83 4.3 22.3 3.5 27.637.2 1.7 7.1 13.1 6.1 15.4 5.0 19.058.5 0.71 15.9 5.3 10.8 8.26 8.7 10.577.1 0.30 25.2 2.97 23.2 3.31 16.6 5.0291.3 0.1 49.9 1.0 392 1.55 10.0 2.3396.9 0.032 69.8 0.43 68.5 0.46 51.3 0.95

LINEA DE Fe 2754.7 A15jsg^ _21seg,™ .. ISjscg.

%T 100/d-l %T 100/d-l %T 100/d-l %T 100/d-l

57.8 0.73 8.0 11.5 5.5 17.2 3.6 26875.9 0.32 13.5 6.41 8.2 11.2 5.7 16.584.4 0.18 20.7 3.83 12.8 6.8 8.1 11.396.4 0.04 36.5 1.74 19.1 4.24 13.2 6.6

60.8 0.64 44.9 1.23 23.5 3 2684.7 0.18 72.9 0.37 46.0 1.1791.7 0.1 86.0 0.16 65.2 0.0533

Nota .- Todos los valorcs mcnorcs dc 0.1 no I'ueron graficados.

Tabla 6.

64

Page 73: Micro photometer`s automation for quantitative ...

Cap. 3 Pruebas y resui.taoos.

Figura 3-7. Curva de Calibrado dc la Emulsion (Proceso Manual).

65

Page 74: Micro photometer`s automation for quantitative ...

Cap. 3 Pruebas v resultados

ININ

institute nacional de investigaciones nucleares

GERENCIA DE SERVICIOS TECNICOS NUCLEARES DEPARTAMENTO DE ANALISIS QUtMICOS

SECCldN DE ESPECTROMETRIA Placas No: 955

ANALISIS ESPECTROGRAFICO CUANTITATIVO HOJA DE RESULTADOS

Metodo: SatcctM&utfie* flAuuauatiua tU ‘ImtmepA «U U<&t Referenda:_____________ VA2. - 004_____

Operadon____ SvaaMa, SauUa ______________ Fecha:________________6 4t ‘Diciemfae ale 1995

Micrafotometro.

Altura de la abertura:_______ !. 25 miUmetM*_________ Anchura de la abertura:___________ 7 munaa

Elemento: Sat*** (Patti* 'haeuta) Linea:______2X63.33t4________ Filtro:___________%>

Observadones: ____________________________________________________________________________

No.Espectro

Muestra dl+f Dp Il+F If Ip kIP

Media Cone. Factor Cone.M.O.

l 3 32.33 9U so % 622 US - 9 2 49 V V 74 V

3 3 32.33 V V so x/4 US - S 3 32 33

—q V so V SO5 3 32.33 V V so V

6 4 24 V V 39 V7 US - 7 3 32 33 V V 50 V 46 332 3 32.33 V r

SO V

9 3 32 33 V V SO V10 ■US - 6 4 24 V V 39 V 46 331/ 3 32.33 V “7” SO V

12 3 32.33 V V SO V13 US - 5 2 49 V V 74 V 5714 3 32 33 V “7“ SO V

IS 4 24—J—

~T~ 39 —3

16 ■US - 4 4 24 V V 39 V 36 6617 5 19 V V 32 V

12 4 24 V V 39 V19 US - 3 4 24 V V 39 V 39

Figura 3-8. Datos del Elemento Patron Interne.

66

Page 75: Micro photometer`s automation for quantitative ...

Cap 3 Pkiiphas yrksui iaix>n

ININ

institute nacional de investigaciones nucleares

GERENCIA DE SEKVICIOS TECNICOS NUCLEARES DEPARTAMENTO DE ANALISIS QUIMICOS

SECCldN DE ESPECTROMETRIA

ANAUSIS ESPECTROGRAFICO CUANTEEATIVO HOJA DE RESULTADOS

Metodo: fiua»UMu>o <6 Vmimetat de ft*0. Referenda:_____________ P/42 - 004_____

Ope radon______ Suauut Stude* /4tma*dH______________ Fecha:_______________ 6 <6 'Diuw<(te >U 1445

Microfotometro.

Altuva de la abertura:_______ 1.25 miUmOtM_________ Andiura de la abertura:___________ 7mceiat

Elemento: S*taHo Oitenml Linea:______ 2X63.33/4_______ Filtro:___________"H»

Observaciones:____________________________________________________________________________

No.Espectro

Muestra Du+F Dr Il+F It Ip I,

IP

Media Cone. Factor Cone.M.O.

20 4 24 % % 34 %

21 3 32 33 V V 50 V22 US - 2 3 32 33

—~T~ SO 46.33

23 4 24 V ~7~ 34 V

24 3 32.33 V 50 V25 KS - 1 3 32.33 V ~T~ SO

—-p-50

26 3 32.33 V SO—y

Figura 3-9. Datos del Elemento Patron Interno (Continuacion).

67

Page 76: Micro photometer`s automation for quantitative ...

Cap 3 Pruebas y resui.taoos

institute nacional de investigaciones nucleates

GERENCIA PE SERViCIOS TECNICOS NUCEEARES DEFARTAMENTO DE ANAlISIS QUIMICOS

SECCiON DE ESPECTROMETRIA

ANALISIS ESPECTROGRAFICO CUAffTITATIVO HOJA DE RESULTADOS

Metodo: Sapectio&uific* AtaiUMum de Irntmenu 4'e U^O, Referenda:_____________ PA2 - 004

ININ

Operador:_______ Saiaxa. sHmevui*______________Fecha:_______________ 6 wk ‘PoutMtu <U 199S

Microfotometro.

Altura de la abertura:_______ 1.25 nduMtioA__________Anchura de la abertura:___________ 7 miouu

Elemento: ‘Tfiema (Stemaao &ue) Linea:_______2599.4A_______ Filtro:_________ %>

Observadones:____________________________________________________________________________

No.Espectro

Muestra dl+f Df Il+F Ie •p kIp

Media Cone. Factor Cone.M.O.

I 90 out TU 0.33 9U 0.00662 US - 9 90 out ~T~ 0.33 V 0.0044 0.0055 2.5 ppm

3 7g 0.222 ~~T~ 0.76 V 0.01524 US - 2 75 0.333 V 0.24 V 0.0162 o.ots 5 ppm5 7g 0.222 T" 0.76 V 0.0152

6 69 0.449 V 1.15 V 0.0297 US - 7 61 0.639 T” 1.7 V 0.034 0.030 lOppmg 63 0 527 V 1.45 V 0.029

9 36 1.777 V 3.2 V 0.076to US - 6 36 1.777 T~ 3 2 V 0 097 0.070 25 fifimn 56 0.72 V 1.9 V 0.032

tz 22 3.545 V 7.1 V 0.14213 US - 5 16 5.25 V 10.05 V 0135 o.tst 50 ppm14 19 4.26 V 2.2 V 0.176

IS 7 13.2g V 23.0 V 0.52916 US - 4 7 13.22 V 23.0 V 0.529 0.522 100 ppm17 t3 6.69 V 12.5 V 0.39

/f 6 IS 66 V 27.0 V 0.692/f US - 3 4 24.0 V 39.0 V 1.0 0.237 250 ppm

Figura 3-10. Datos del Elemento Base.

68

Page 77: Micro photometer`s automation for quantitative ...

Cap 3 Priji.uas y rksultatos

ININ

institute nacional de investigaciones nuclearesGERENCIA DE SERVICIOS TECNICOS NUCLEARES

DEPARTAMENTO DE ANAMSIS QUIMICOS SECCION DE ESPECTKOMETRiA

ANALISIS ESPECTROGRAFICO CUANTITAT1VO HOJA DE RESULTADOS

Metodo: 0Ma«tu«tu» <U dt H=Ot Referenda:____________ P/42 - 004_ _ _ _ _ _

Operador:_______SatUi /ttmofd*___________________Fecha:______________ 6 'Duiemtne cU 1495

Microfotometro.

Altura de la abertura:_______1.25 meUmetw*_________ Ancliura de la abertura:__________ 7

Elemento: 'View* (£u»uMt» Stue! Linea:_______2S94.4A______ Filtro:_________ %

Observadones:____________________

No.Espectro

Muestra Du+F DF Il+F Ie Ip h

Ip

Media Cone. Factor Cone.M.O.

20 5 19.0 %> 32 n» 0.72

21 7 13.27r

23 V 0.4622 ns - 2 6 15 66 V 25 V OS 0.763 500/l fun23 3 32.33 V 52 V 1.333

24 4 24.0 V 37 V 0 76 .25 ns -1 2 49.0 V 76 V 1.52 1.14 2500 fifun.26 1 99.0 V ---- V —

Figura 3-11. Dates del ElementoBase (Continuacion).

69

Page 78: Micro photometer`s automation for quantitative ...

Cu

m* ot

btv titt

tto

Cap. 3 Pruebas y resijltados.

&

Figura 3-12. Curva de Traliajo (Proceso Manual).

70

tow

ctw

mci

o'io

ppw

Page 79: Micro photometer`s automation for quantitative ...

Cap 3 Pruebas y kesui.tados

institute national de investigaciones nucleates

GERENCIA DE SERVICIOS TECNICOS NUCLEARES DEPARTAMENTO DE ANALISIS QUIMICOS

SECCldN DE ESPECTROMETRIA

ANALISIS ESPECTROGRAFICO CUANTITATIVO HOJA DE RESULTADOS

Metodo: pjuuaiUtiM At ‘Imiwieuu tU UjOt Referenda:_____________ V>42 - 004_____

Operador:______ Stutua. StutUt _______________Fecha:____________ 12 tU Duiemine de 1995

Microfotometro.

Altura de la abertura:_______ 1.25 mttimecno*_____ ____ Anchura de la abertura:___________ 7mieuu

Elemento: CPatzon c*Uw» e* muettvu) Linea:______ 2263.33*4_______ Filtro:_________ %»

Observadones:____________________________________________________________________________

ININ

No.Espectro

Muestra dl+f Df Il+F If Ip Ie

IP

Media Cone. Factor Cone.M.O.

t 2 49 %> * 732 95-406 2 49 A V 733 2 49 V A 73

4 3 32.33 V V 505 95-905 3 32.33 V V 506 3 32.33 V V 50

7 3 32.33—

V SOf 9S-904 3 32.33 V V SOf 3 32.33 V A SO

to 3 32.33 —3 A SOIt 95-903 2 49

—^ A 73tz 2 49 A A 73

Figura 3-13. Dates del Elemento Patron Interne en muestras.

71

Page 80: Micro photometer`s automation for quantitative ...

Cap 3 Pruebas y resultados

ININ

institute nacional de investigaciones nucleates

C.ERENCIA DE SERVICIOS TECNICOS NUCLEARES DEPARTAMENTO DE ANALISIS QLMMICOS

SECCION DE ESPECTROMETRIA Placas No: 957

ANALISIS ESPECTROGRAFICO CUANTITATIVO HOJA DE RESULTADOS

Metodo: EtAeefrowuifao PmmuMuiq eU ‘imfumcvu eU UjO, Referenda:_____________ 7>/f2 - 004_____

Operador:_______Smomt S<udet AOkoma______________ Fecha:_______________ tZ etc 'DicCemtnc 1445

Microfotometro.

Altura de la abertura:_______ tZ5 mdimau*_________ Anchura de la abertura: 7 mieuu

Elemento: (SUmwU a. Linea:_______ Z544 4/4________ Filtro: %>

Observadones:__________________________________________________________________________

No.Espectro

Muestra D, +F DF I,+F Ie Ip h

ip

Media Cone. Factor Cone.M.O.

I 16 s.zs % to % 0.135z 45-406 ZO 4 V 3 T~ 0.105 0.tt4 43 % 433 13 4.555 V 4 V O.tlS

4 sz 0.4Z3 V ZZ V 0.0445 45-405 34 t.44t V 4.Z ~~r™ 0.034 0.034 3t V 316 Z4 3166 V 6 25 V 0. tzs

7 54 0.3St V Z V 0.04f 45-404 36 t. 777 —3— 3.4 0.073 0.054 ZO.S V ZOSf 43 t.3Z5 V 3.05 ~~T~ 0.06/

to ZZ 3.545 V 7 Z ~r~ 0t44ft 45-403 tz 7.333 ~~~1— 13 5 ~~^r~ om 0 166 70 V 70IZ IZ 7.333 V t3.5 ~~T~ Ot77

Figura 3-14. Uatos del Elemento a analizar.

72

Page 81: Micro photometer`s automation for quantitative ...

Figura 3-15. R

esultados del Calibrado de la Em

ulsidn (Proceso automdtico).

RESULTADOS DEL CAUBRADO DE Li EMUISON.OPERfiDOB: SUSM SAULES mZfiN FECHA: 7 DE ITOEIRE DE 1995 NUTERO.DE PLflCfl: 373-971 fILTURfi DE Lfi fflEHTURft: 1.25 HIUEIR0S

LINEA DE 2709.06A

SECTOR ROTATORIO: 1.4H NOMBRE DEL ARCHIVO 8:2700 NUI1ER0 DE LOTE: 156-7387 ANCHURA DE LA ABERTURA: 7 MICRAS

LINEA DE 2759.82A

I.N.I.N

5 seg 15seg 25seg 35seg 5 seg 15seg 25seq 35seq% T Seidel /. T Seidel % T Seidel % T Seidel % T Seidel % T Seidel % T Seidel % T Seidel62.5 0.60 11.4 7.77 7.9 11.66 3.6 26.78 28.1 2.56 4.0 24.00 2.5 39.00 1.8 54.5674.8 0.34 20.8 3.81 15.5 5.45 6.7 13.93 39.6 1.53 5.8 16.24 3.5 27.57 2.8 34.7189.1 0.12 39.2 1.55 29.9 2.34 12.5 7.00 53.5 0.87 9.9 9.10 4.9 19.41 3.9 24.6498.2 0.00 71.8 0.39 69.2 0.45 28.5 2.51 85.0 0.18 20.2 3.95 10.6 8.43 6.2 15.13100.0 0.00 87.8 0.14 88.8 0.13 61.8 0.62 94.5 0.00 35.2 1.84 19.6 4.10 10.2 8.80100.0 0.00 97.4 0.00 96.8 0.00 84.1 0.19 98.4 0.00 55.6 0.80 38.7 1.58 19.6 4.10100.0 0.00 97.2 0.00 97.8 0.00 92.3 0.00 100.0 0.00 71.8 0.39 56.0 0.79 23.9 2.34

LINEA DE 2779.30A LINEA DE 2954.70A

5 s/9 , 15seg 25seg 35seg 5 seg ISseg 25seq 35seq% T Seidel /. T Seidel % T Seidel /. T Seidel % T Seidel % T Seidel % T Seidel % T Seidel19.1 4.24 3.5 27.57 3.2 30.25 2.3 42.48 57.8 0.73 8.0 11.50 5.5 17.18 3.6 26.7826.1 2.83 4.8 19.83 4.3 22.26 3.5 27.57 75.9 0.32 13.5 6.41 8.2 11.20 5.7 16.5437.2 1.69 7.1 13.08 6.1 15.39 5.0 19.00 84.4 0.18 20.7 3.83 12.8 6.81 8.1 11.3558.5 0.71 15.9 5.29 10.8 8.26 8.7 10.49 96.4 0.00 36.5 1.74 19.1 4.24 13.2 6.5877.1 0.30 25.2 2.97 23.2 3.31 16.6 5.02 100.0 0.00 60.8 0.64 44.9 1.23 23.5 3.2691.3 0.00 49.9 1.00 39.2 1.55 10.0 9.00 100.0 0.00 84.7 0.18 72.9 0.37 46.0 1.1796.9 0.00 69.8 0.43 68.5 0.46 51.3 0.95 100.0 0.00 91.7 0.00 86.0 0.16 65.2 0.53

Lfi PENDIENTE DE Lfi CURUA FINAL ES: y = 1.131853x + (-0.1178%)

Ca

p. 3 P

ru

eba

s y resulta

do

s.

Page 82: Micro photometer`s automation for quantitative ...

Figura 3-16. R

esultados dc la Curva de Trabajo del Fe (Proceso autom

atico).

RESULTADOS DE LAS CURUAS DE TRABAJO.OPERADOR: SUSANA SAULES ALMAZAN FECHA: 3 DE DICIEMBRE DE 1995 ALTURA DE LA ABERTURAs 1.25 MI LIMETROS FILTRO: NOTIRO DE REJILLA: 30K OBSERVACIONES: NO HAY.

NOMBRE DEL ARCHIUO B: HIERRO ARCHIUO DE CURVA FINAL B: 2700.PEN ANCHURA DE LA ABERTURAi 7 MICRAS TIRO DE EMULSION: SA#1

I.N.I .N

E. PATRON INTERNO: ESTAfSo . ELEMENTO BASE: HIERROL0N6ITUD DE ONOA: 2863.33 A L0N6ITUD DE ONDA: 2599.4 ANUMERO DE PLACA: 955-956 NUMERO DE PLACA: 955-956

PATRON % T SEIDEL Ip % T SEIDEL le le/Ip MEDIA CONCENT.9 3.0 32.333 50.465 90.0 0.111 0.336 0.0067 0.0056 2.50

2.0 49.000 72.862 90.0 0.111 0.336 0.00468 3.0 32.333 50.465 78.0 0.282 0.765 0.0152 0.0160 5.00

3.0 32.333 50.465 75.0 0.333 0.886 0.01763.0 32.333 50.465 78.0 0.282 0.765 0.0152

7 4.0 24.000 38.782 69.0 0.449 1.154 0.0298 0.0300 10.003.0 32.333 50.465 61.0 0.639 1.576 0.03123.0 32.333 50.465 63.0 0.587 1.462 0.0290

6 3.0 32.333 50.465 36.0 1.778 3.890 0.0771 0.0716 25.004.0 24.000 38.782 36.0 1.778 3.890 0.10033.0 32.333 50.465 56.0 0.786 1.891 0.0375

5 3.0 32.333 50.465 22.0 3.545 7.159 0.1419 0.1493 50.002.0 49.000 72.862 16.0 5.250 10.127 0.13903.0 32.333 50.465 19.0 4.263 8.425 0.1670

4 4.0 24.000 38.782 7.0 13.286 23.000 0.5931 0.5280 100.004.0 24.000 38.782 7.0 13.286 23.000 0.59315.0 19.000 31.549 13.0 6.692 12.549 0.3978

3 4.0 24.000 38.782 6.0 15.667 26.605 0.6860 0.8332 250.004.0 24.000 38.782 4.0 24.000 38.782 1.00004.0 24.000 38.782 5.0 19.000 31.549 0.8135

2 3.0 32.333 50.465 7.0 13.286 23.000 0.4558 0.7614 500.003.0 32.333 50.465 6.0 15.667 26.605 0.52724.0 24.000 38.782 3.0 32.333 50.465 1.3012

1 3.0 32.333 50.465 4.0 24.000 38.782 0.7685 1.6333 2500.003.0 32.333 50.465 2.0 49.000 72.862 1.44383.0 32.333 50.465 1.0 99.000 135.630 2.6876

LA PENDIENTE DE LA CURVA DE TRABAJO ES: y = 0.852644x + (-2.353244)

Ca

p. 3 P

ru

eba

s y resulta

do

s.

Page 83: Micro photometer`s automation for quantitative ...

Figura 3-17 . R

esultados Anallticos del Fe (Proceso autom

&ico).

RESULTADOS ANALITICOS.OPERADOR: SUSANA SAULES ALMA2AN FECHA: 3 DE DICIEMBRE DE 1995 ALTURA DE LA ABERTURA: 1.25 MI LIMETROS FILTROs NOARCHIUO DE LAS CURVAS DE TRABAJO B: HIERRO.PEN OBSERUACIONES: NO.

NOMBRE DEL ARCHIUO BsCONC-FE ARCHIUO DE CURUA FINAL B: 2700.PEN TIPO DE REJILLA: 30K ANCHURA DE LA ABERTURA: 7 MICRAS TIPO DE EMULSION: SA#1 UNIDAOES DE CONCENTRACION: ppm

I.N.I.N

E.P.I EN MUESTRAS: ESTAfio MUESTRA PROBLEMA: HIERRO „L0NGITUD DE ONDA: 2863.33 A LONGITUD DE ONDA: 2599.4 ANUMER0 DE PLACA: 955-956 NUMERO DE PLACA: 955-956

# MUESTRA % T SEIDEL Ip % T SEIDEL le Ie/Ip MEDIA CONCENT.4 906 2.0 49.000 72.862 16.0 5.250 10.127 0.139C 0.1236 49.565

2.0 49.000 72.862 20.0 4.000 7.964 0.10932.0 49.000 72.862 18.0 4.556 8.934 0.1226

3 907 3.0 32.333 50.465 52.0 0.923 2.180 0.0432 0.0850 31.9253.0 32.333 50.465 34.0 1.941 4.204 0.08333.0 32.333 50.465 24.0 3.167 6.479 0.1284

2 908 3.0 32.333 50.465 54.0 0.852 2.031 0.0402 0.0589 20.7883.0 32.333 50.465 36.0 1.778 3.890 0.07713.0 32.333 50.465 43.0 1.326 3.002 0.0595

1 909 3.0 32.333 50.465 22.0 3.545 7.159 0.1419 0.1718 72.8902.0 49.000 72.862 12.0 7.333 13.605 0.18672.0 49.000 72.862 12.0 7.333 13.605 0.1867

Ca

p. 3

pRU

FBA

S Y RESU

l. TAD

OS

Page 84: Micro photometer`s automation for quantitative ...

CONCLUSIONES.

Page 85: Micro photometer`s automation for quantitative ...

Se logro el objetivo planteado, ya que ahora se cuenta con un sistema automatico para determinar la concentracion que poseen los elementos que conforman una muestra.

El sistema desarrollado para el Analisis Espectrografico Cuantitativo en la determinacion de la concentracion de elementos en muestras cumple con todos los requisites solicitados por el usuario.

Con el trabajo desarrollado, el proceso puede ser realizado por cualquier persona que tenga conocimientos de espectrometria, esto antes no era posible ya que se requerian de ciertos conocimientos. Ahora con el programa desarrollado se incluyeron mensajes y rutinas que van indicando al usuario los pasos que hay que seguir y sin que para ello realice algun calculo o procedimiento.

Ademas los circuitos de acondicionamiento son de acceso restringido para el usuario, evitando con ello problemas al trabajar.

El proceso que se sigue para la determinacion, como son toma de datos, calculos matematicos y obtencion de curvas se logro agilizar, rediciendo el tiempo hasta aproximadamente un 70%.

Al disminuir el tiempo empleado en el analisis, se redujo el costo del proceso que emplea el espectroscopista.

Con este trabajo se modernize el equipo, evitando la necesidad de adquirir un microfotometro comercial de costo elevado (aproximadamente 40,000 ddlares).

Mediante los avances logrados con el sistema desarrollado al equipo, se observa que la siguiente fase que resultana importante automatizar es la identificacion de las tineas espectrales caracteristicas de cada elemento, ya que actualmente solo el espectroscopista especializado identifica las lineas que corresponden a cada elemento.

Page 86: Micro photometer`s automation for quantitative ...

REFERENCIAS.

Page 87: Micro photometer`s automation for quantitative ...

1. - Centro de Capacitacion y Adiestramiento del ININ, “Curso de Protection Radioidgica para Becarios”, Institute Nacional de Investigaciones Nucleares, 1994.

2. - Capdevila C„ “ESPECTROMETRIA DE EMISION Y DE ABSORCION ATOMICA Y SUS APLICACIONES AL ANALISIS QUIMICO”, Comision Nacional de Energia Nuclear, Mexico, D.F. Julio de 1969.

3 - Ardley N. and Mattews R., “Life and Science. Matter and Energy”, Verlagsgruppe Bertelsmann International GmbH, 1985.

4. - Brode W. R., “Chemical Spectroscopy”, John Wiley & Sons. INC, London: Chapman & Hall, Limited, February 1956.

5. - Nachtrieb N. H., Principles and Practice of Spectrochemical Analysis, McGraw-Hill book company, INC., 1950.

6. - Recording Microphotometer, “Operating and Maintenance Manual Microphotometer” , Model RC-3, Baird Atomic.

7. - Martinez F. G., “Automatizacion de Microfotdmetro (la Parte)”, Reporte Tecnico.

8. - Vilchis P. A., “Disefto de un Monitor Portal de Radiation Gamma para Vehiculos”, Toluca, Mexico, 1994.

9. - Pappas C. H., Murray W. H., “Manual de Borland C++”, Osbome/McGraw Hill, 1993.

10. - Garcia H. J.M ., “Sistema de Medicion de Radon”, Toluca Edo. De Mexico, Abril de 1994.

11. - Harrison, Lord and Loofbourow, “Practical Spectroscopy”, Prentice-Hall, INC., March, 1959.

12. - Murray R. Spiegel “Metodos Numericos”, Me Graw Hill, 1989.

79

Page 88: Micro photometer`s automation for quantitative ...

ANEXO A.LIST ADO DEL PROGRAMA

Page 89: Micro photometer`s automation for quantitative ...

En el programs se define todas las funciones y variables que se utilizan:

► ^**«**'*iMrW**- i * * *********** +«

:•**»« «n»**iMt***»**»«*i*»***4:**********«o»**'’ DEFINICIdN DE FUNCIONES Y PROTOTIPOS

^include <como.h>#include <ctype.h> include <dos.h>#include (graphics h>#include <math.h>^include <stdio.h>^include <stdlib h> include (string h>#define OPCION 1 #define OPCION1 1 #define OPCION2 1 #define OPCION3 1 #defme NUMERO 2 ^define TRUE 1 #defme M_MAX 4 #defmeM_MAX1 3 #defme coT_i 160 #define RengJ 220 int portada(void); void lectura(void); void principal(void); void concentl (void); void inic_menu(void); void calibra(void); void menu(void); int car_e(); void pedir(void); void linl(void); void lin2(void); void texto(int *, int *, int *); void peticion(int *,int *,int *,int *); void inicia_graficos(void); void inin(int x, int y, int radio); void detecta(void); void margen(int Q); void correc_seidel(void); void graba r_datos_calibr(void); int indicador(int x,int y.int porciento); void lee_datos(void); extern void salir(void); void lont(void); void lon2(void); void lon3(void); void lon4(void); void tex(int *,int *, int'); void impresion(int", int", int *); void trabajo(void); void lee_tecla(int "a, int *b); void prepara(int "reng); void reporta(int y); int mueve(int "actual); void preparaa(int "rengg); void reportaa(int y); int muevee(int "actuall); extern void lee_tecta(int "a,int *e);extern int abre_arch(t_arch *__a);nt abre_arch(t_arch *__a);int llena_arch_r(FILE "__ap,t_arch a);int busca_r(FILE *__ap, long int__n_reg, t_reg *_int lee_r(t_arch a, t_reg r); void resultados(t_arch a, t_reg r);

/* NUMERO TOTAL DE OPCIONES A ELEGIR (MENU PRINCIPAL) */ r NUMERO TOTAL DE OPCIONES A ELEGIR EN CADA SUBMENU */ /* POSIClON DE X PARA ESCRIBIR OPCIONES "Z /* POSIClON DE Y PARA UBICAR LOS RENGLONES */

Page 90: Micro photometer`s automation for quantitative ...

Tambien se define la clave de cada tecla que se utilizara y se indica la palabra de control de la interfase, con las direcciones del 8255:

: y*: **:**♦**•**»**«*•*••»*♦********•****•****•*******»**»A*^*»**********»*«r«*********•*******•**•***: *^; ;r «•*«*♦**»**** DEFINtClON DE TECtAS Y VARIABLES GIOBALES **««•**•**«•*' 7

;r*:*■♦*********#-•*• *n»************V*"ih»A"******V****i*:*rli******>**»: iti»**********i»*»* *■•***■ i

#include <conio.h> #indude <stdlib.h> ^include <conio.h>include <dos.h> #include <stdio.h> #define ESC 27 #define F_ARR 72 Sdefme F_ABA 80 #define F_IZQ 75 Adeline F_DER 77 Adeline END 79 Adeline HOME 71 Adeline P_ARR 73 Adeline P_ABA 81 Adeline ENTER 13 Adeline PTOA 0x300 Adeline PTOB 0x301 Adeline PTOC 0x302 Adeline CTRL 0x303 Adeline PALABRA 0x92 int a; int num2;

r A CADA TECLA SE LE ASIGNA LA CLAVE CORRESPONDENTS*/

/* DIRECCIONADO EN LA 300 7

r 10010010 PALABRA DE CONTROL A=IN, B=IN Y C=OUT 7 r VARIABLES GLOBALES */

int clave; int clavel;int indice;int longitud; int lon_onda; int patrones; nt arreglo[10]; int arreglo1[10]; double lac;char nom_arc(20]; /* GUARDA EL NOMBRE DEL ARCHIVO DE LA CURVA FINAL Vchar nombre_a[20]; r GUARDA EL NOMBRE DEL ARCHIVO DE LA CURVA DE TRABAJO 7char nom_archivo[20];float guarda[30];float debil[120J;float lineas[120];float guarda 1(30];float guarda7[30];float concent[10];float luerte[120];float k>ng_onda[4];float pendiente[31;float pendiente1[7];typedel struct{ /* ESTRUCTURA PARA GUARDAR DATOS DEL ELEMENTO 7

char lecha[25]; char lote[25]; char serie_placa[25J; char operadortSO]; char nom_arch[25]; char alto_abertI20]; char anch_abertI20);

}t_reg;struct t_menn{ /* ESTRUCTURA PARA COLOCAR EL MENU 7

int po_x,po_y;char etique[36);

};typedel struct t_menn t_menuu; t_menuu cuals[M_MAX];

Page 91: Micro photometer`s automation for quantitative ...

La primera parte del programa consta de funciones importantes para la presentacidn de portadas en pantalla, cstas funciones se Iran describiendo e indicando en que consiste cada una:

y* :**t*«»****^*»**iHr****ii!**ie****il:*)He**«»*eiMc»*<r»«f*»**lNoMl!*>MC**«»**»***<***»ir**r»t**-lc***»'*#»«**«»*

r ’“**’" RUTfNA CUE OETERMINACUAL EL LA RESOLUCtON DEL MONITOR **** 7 r ****** SIRVE PARA DETERMINAR CON OUE MONITOR SE VA A TRABAJAR ***** 7

’•**»****# it *****«<**i-***t

void detecta(void){

if(getmaxy()==349) fac=0 75;

elsefac=l; if(getmaxy()==199) fac=0.375;

}

/* MONITOR EGA 7 /* MONITOR VGA 7

r MONITOR CGA V

w;WAVW.V.%W.V/.VW.V.VA'AV.^7Pm^^^^^7>^■AV> ■̂A^VVVAV.VAV/.V.V’/Vr’,

ft **.**,****t*tt*ttt*ttt*t f%mNA QUE tNICIALIZA GfiApjCOS »*»*»«««*««*«*»*** */

/* "“‘SIRVE PARAHACER LAPRESENTACI6N DE 0RAFICOS EN PANTALLA**** 9ft •ttttf*tttm*t*i*ttt*tt*ttttttt\tttn<*thtnmtttt.*tttt<'*ttt<nt\*ttttii*ttt*t*t‘*t**ttHntn*> tf

void micia_graficos(void)

r............... peticiOn de autodetecciOn ................../int gdriver = DETECT, graphmode, errorcode;/" .......... INICIALIZAR GRAFICOS Y VARIABLES LOCALES ••***•***“ */

/* ABRE MODO GRAFICO 7 initgraph(&gdriver, Igraphmode, "a:\\turbo\\bgi\\");/* ........... LEER EL RESULTADO DE INICIALIZAClON ********— •/errorcode = graphresultQ;if (errorcode != grOk) /* CUANDO OCURRE UN ERROR 7{

printff Error en mode grdfico: %s\n", grapherrormsg(errorcode));printffPresione cualquier tecla para continuar:");getchQ;exit(1); /* SALE DEL ERROR 7

}>

ft ............... DIBUJA LOS 3 PRIMEROS ClRCULOS 7drcte(x, y, radio); circle(x, y, (radio/4)*4.5); circle(x, y, (radio/4)*5.0);r ...........— DIBUJA LA LlNEA VERTICAL (|)line(x,y+(radio/4)*2.55*fac,x.y-(radio/4)*2.6*fac); r DIBUJA LA LlNEA HORIZONTAL (-)line(x-((radio)/4)*2.5,y,x+((radio)/4)*2.5,y);/* ***.................. DIBUJA LA LlNEA DIAGONAL (V)line(x-(radio/4)*2.5*.7071 ,y-(radio*facM)*2.5* 7071, x*(radio/4)*2 5* 7071,y+(radio*fac/4)*2.5*.7071);/* **********....... DIBUJA LA OTRA LlNEA DIAGONAL (/) *****line(x+(radio/4)*2.5*.7071 ,y-(radio*fac/4)*2.5*.7071, x-(radio/4)*2.5*.7071,y+(radio*fac/4)*2.5*.7071);r ............. DIBUJA LOS ClRCULOS PEQUENOS DEL SlMBOLOcircle(x-(radio/4)*3*.7071,y-(radio*fac/4)*3*.7071,(radio/4)*0.5); circle(x+(radio/4)*3* 7071 ,y+(radio*fac/4)*3*.7071 ,(radio/4)*0.5); circle(x+(radio/4)*3*.7071,y-(radio*fac/4)*3*.7071,(radio/4)*0.5); circle(x-(radio/4)*3*7071,y+(radio*fac/4)*3*.7071,(radio/4)*0 5); circle(x,y+(radio"fac/4)*3,(radio/4)*0.5);

7

7

7

7

7

Page 92: Micro photometer`s automation for quantitative ...

drde(x,y-(radio*fac/4)*3,(radio/4)*0.5);drde(x-(radio/4)'3,y,(radk>/4)'0.5);drde(x+(radio/4)*3,y,(radio/4)*0.5);/* **'* IMPRIME EN PANTALLA EL TEXTO: I N I N......... /outtextxy(x-28,y+(radio"fac/4)"5+10"fac."I.N.I.N");

}

/• ••**•**••••*................................................ ....................... ...... . v/........ ********* FUNClON QUE LEE EL CODIGO DE LA TECLA PULSAOA......................*/

void Iee_teda(int *a jnt'e) "{

while(!kbhit()); /* MIENTRAS NO SE PULSE ALGUNA TECLA */*a=getch(); /'EN APUNTADOR a (*a) COLOCA QUE TECLA ESVif(*a==0) *e=getch(); else e=0;

}

;ei^***4rA«r***: »******4t***3Hk*i ***/

r ********** RUTINA QUE IMPRIME LAS PRtNCIPALBS PORTAOAS EN PANTALLA '"*"' */ /' **'**"'***’*'*"* POSTERIORMENTE PRESENTA UN MEND DE OPClONES*----- -"/

:y»- ^»**^eA*$*^*eiW:***^*)Hx**e**»iMi^*^#^**4i**e********^*****e*4i:e**»**)Mk$**'»«»*'***»)»******#*«**-*:»**»*#' ■

y* *********************************************************************************************** ty

/* " FUNClON QUE IMPRIME LA PORTADA DEL DEPARTAMENTO DE DISENO. " Vyw *»-••***»**•*****•*•***«******•****•«-•»•»*******»*••***•**»•*♦•**•***»**••**•**•»*****»****•**** *yint portada(void)

{int midx, midy, maxy;

midx = getmaxx()/2; /* CALCULA PARTE MEDIA DEL EJE X (EN PIXELS) 12 Vmaxy = getmaxy(); /* CALCULA PARTE MEDIA DEL EJE Y (EN PIXELS) */midy = maxy / 2; /* DIVIDE EN 2 LA PARTE MEDIA DEL EJE Y */setcolor(BLUE);r ---------.............. dibuja el sImbolo del inin ***—*/inin(midx, (midy-midy/4)-15, midy/2);r ..... DIBUJA LOS 3 RECTANGULOS DE LA PORTADA.........................../setcolor(WHITE); rectangle(3,3,getmaxx()-3,getmaxy()-3);setcolor(BLUE); rectangle(8,8,getmaxx()-8,getmaxy()-8)setcolor(WHITE); rectangle! 13,13,getmaxx()-13,getmaxy()-13);/..............COLOCA UN TEXTO CON EL COLOR INDICADO (BLANCO) .............../setcolor(WHITE);/.................... TIPO DE LETRA, HORIZ.(O) O VERT (1), TAMANO ..................../settextstyle(SMALL FONT,HORIZ_DIR.O);ZTAMANO DE LA LETRA: EJE X (LOS 2 PRIMEROS), EJE Y (LOS OTROS DOS) */ setusercharsize(1,1,2,0),/'IMPRIME EL TEXTO, EN LAS COORDENADAS INDICADAS'/ Outtextxy(mkJx-65,maxy-150*fac,”GERENCIA DE INGENIERlA"); settextstyle(TRIPLEX_FONT,0,1); setcolor(BLUE);outtextxy(midx-120,maxy-127*fac,"DEPARTAMENTO DE DISENO"); setcolor(WHITE); settextstyle(2,0,0),setusercharsize(2,2,3,0);outtextxy(midx-200.maxy-105'fac,"SISTEMA AUTOMATICO PARA EL ANALISIS ESPECTROGRAFICO CUANTITATIVO"); setcolor(BLUE); settextstyle(4,0,3);setusercharsize(2,3,15,27);outtextxy(midx-140,maxy-70*fac,"Citlalih Y A Gutierrez Estrada");

84

Page 93: Micro photometer`s automation for quantitative ...

setcolor(WHITE); settextstyle(2,0,0);selusercharsize(1.1,2,0);outtextxy(midx-90,maxy-45*fac,”ING. MARCO A. TORRES BRIBIESCA"); getch(); return 0;

}

p **•*•*******••*#**••***••»••*•■*******•«♦•***•***********••********•*»***♦*****•****■************ *l

r * funciOn que imprime la portada del DEPTO. DE ESPECTROMETRlA. * *zp ****w****»***w****»*******tr**«**e*»*»**w»*ee*****»•****»*»••«►•#*******#*****#****•***«***♦«**•*___________ ~

{inicia_graficos(); setbkcolor(LIGHTGRAY); setcolor(BLUE);inin(310,108,24); Z* POSIClON DE. X, Y, y TAMANO DEL RADIO *Zsetcolor(DARKGRAY); rectangle(3,3,getmaxx()-3,getmaxy()-3);setcolor(LIGHTBLUE); rectangle(8,8,getmaxx()-8,getmaxy()-8);setcolor(DARKGRAY);rectangle( 13,13,getmaxx()-13,getmaxy()-13);setcolor(LIGHTBLUE); settextstyle(TRIPLEX_FONT,0,1);0uttextxy(72,52*fac,"INSTITUTO NACIONAL DE INVESTIGACIONES NUCLEARES"); settextstyle(SANS SERIF FONT.0,1);outtextxy(115,218*fac,"GERENCIA DE SERVICIOS TECNICOS NUCLEARES"); outtextxy(163,248*fac,"DEPARTAMENTO DE ANALISIS QUlMICOS”); outtextxy(190,278*fac,"SECCldN DE ESPECTROMETRlA"); settextstyle(SMALL_FONT,0,5);outtextxy(170,355*fac,"ANALISIS ESPECTROGRAFICO CUANTITATIVO");setcotor(BLUE); settextstyle(SMALL_FONT,0,4);outtextxy(170,415*fac,"*** PULSE CUALQUIER TECLA PARA CONTINUAR... ***“); getchQ;

}

p ♦****«*M***t**t*»m**M*m»*M***m«****»*********M****»**m*iNr»M*»*********»»*»*****»

r —***••* funciOn que IMPRIME EL MENU DE opciones principales. ****** •/p *•**************•**•**•*••*•*♦•*#*♦•*****•♦♦**»»»•******«*•*♦•*******•*******•****••****•***♦• *i

void principal){

int cual=0,i,bandera;

do {

closegraphQ; iniciajgraficosQ;setbkcolor(LIGHTGRAY);inic_menu(); /* PARA INICIALIZAR LA ESTRUCTURA */settextstyle(1,0,2); setcolor(LIGHTBLUE);prepara(&cual); Z* PREPARA LA PANTALLA *Zsetcolor(BLUE); settextstyle(TRIPLEX_FONT,0,4);outtextxy(173,118*fac,"MEN0 PRINCIPAL :"); settextstyle(SMALL_FONT,0,4);outtextxy(215,405*fac,”*** ELIJA LA OPCION DESEADA ***");

Z* CICLO REPETITIVO (HASTA DAR ENTER) *ZZ* DIBUJA LOS 3 RECTANGULOS DEL MENU DE DIFERENTE COLOR'Z

setcolor(CYAN); rectangle(3,3,getmaxx0-3,getmaxy()-3);setcolor(BLUE); rectangle(8,8,getmaxx()-8,getmaxy()-8);setcotor(CYAN); rectangle(13,13,getmaxx()-13,getmaxy()-13);

Z* DIBUJA EL SlMBOLO DEL ININ CON LAS COORDENADAS Y TIPO DE LETRA INDICADA *Zsetcolor(BLUE);inin(60,48,24);reporta(cual);

)while (bandera !=13); switch(cual){

case 0:calibra();

case 1:. trabajo();

case 2:final();

settextstyle(DEFAULT_FONT,0,1);Z* POSIClON DE: X.Y, y TAMAfiO DEL RADIO */ bandera=mueve(&cual);Z*EN LA VARIABLE CUAL SE QUEDA POS. DE Y */

85

Page 94: Micro photometer`s automation for quantitative ...

case 3:salir();break; }

/* —*----- *............. ******...................................................................................Z/* *******-------FUNClON QUE INICIALIZA LOS TEXTOS QUE LLEVARA LA................. Z/* *************—***** RORTADA DEL MENU PRINCIPAL. *****....................................... Zr *****-------------*****............................................***................................ *Zvoid inic_menu(void)

{inti; Z* CONTADOR *Zchar *nom[M_MAX]={" Calibrado de la Emulsidn ",

" Curvas de Trabajo " Resultados Analiticos " Salirdel Programa

}:/* RUTINA PARA LA DETECCI6N DE LA RESOLUCI6N DEL MONITOR *Z

detecta();r PREPARA EL ARREGLO DE ESTRUCTURAS PARA SU USO *Z

for (i=0; i<M_MAX; i++K cuales[i].pos_x = colj; cuales[ij.pos_y = Reng_i+i*40; strcpy (cua les[i], etiq, nom[i]);

}}

/...................... *****---------------.............................—.........— .............../Z* **********.......... FUNClON QUE COLOCA LAS OPCIONES EN LAS *•***•*•****••**•* *//*....... *—******* POSICIONES INDICADAS POR LA ESTRUCTURA.............................. Z

void prepara(int *reng) "{

int contador;

for (contadon=0, contador<M_MAX; contador++){

outtexb<y( cuales[contador].pos x,cualesfcontador].pos_y*fac, cuales[contador] etiq);}

reng=reng;}

z* *********.......... . FUNCI6N QUE ILUMINA LA OPClON A ELEGIR ****....... . •/

void reporta(int y){

r setfillstyle LLENA LA BARRA: TODO ILUMINADO. DE COLOR CYAN *Z setfillstyle(SOLID FILL,CYAN);Z* bar LLENA UNA BARRA, CON LAS COORDENADAS INDICADAS *Z bar((cuales[y].pos_x)-10,((c'jales[y].pos_y)+4)*fac, (cuales[y).pos_x)+320,((cualesty].pos_y)+30)*fac); settextstyle(1,0,2); setcolor(LIGHTBLUE); outtextxy(cuales[y].pos_x, cuales[y].pos_y*fac,cualesIy] etiq);

}

86

Page 95: Micro photometer`s automation for quantitative ...

j* ****»*•**»*•******•************»****#••***«*•*•**••***•****•»**•***•******•**•********»****** *y

/* FUNCltiN QUE POSICIONA A LA BARRA QUE ILUMINA LA OPCldN DESEADA 7

int mueve(int ‘actual){

int a,e;int previo=*actual; lee_tecla(&a,&e);if(a); r ‘actual GUARDA LA POSIClON DE Y 7

else{switch(e){

case F ARR if (*actual==0) ‘actual=M_MAX-1; else (‘actual)-; break;

case FABA: if (*actual==(M_MAX-1)) ‘actuakO; else (‘actual)**; break;

case HOME: ‘actual = 0; break;

case END: ‘actual = M_MAX-1;

if (previo k ‘actualXHLUMINA EL FONDO EN BLANCO DE LA OPClON ANTERIOR YPOSTERIORMENTE ILUMINA DE AZUL LAS LETRAS DE ESA MISMA OPClON 7setfillstyle(SOLID_FILL,LIGHTGRAY);bar((cuales[previo].pos_x)-10,((cuales[previo].pos_y)+4)‘fac,(cuales[previo].pos_x)*355,((cuales[previo].pos_y)*30)‘fac);settextstyle(1,0,2);setcolor(LIGHTBLUE);outtextxy(cualesIprevio].pos_x, cuales[previo].pos y‘fac,cuales[previo] etiq);

}:return a;

}

y* **••**•*•*******«?♦****•*•♦*••*•*•*»*♦*****»*■•*•*♦•****»**•*••*•*********»*****•*•**•**•*♦♦**«* *j

r ***“*““***'* FUNClON QUE IMPRIME EN PANTALLA UN MARCO. 7y* •**•**•**#•******•*•♦«*******•*»**•*#***•*•*»•*#**#*»**•**#*»•#«*»**»***»»**•******#*******• *y

void margen(int *c){

int i.y.x;

r ESQUINA SUPERIOR IZOUIERDA 7 gotoxy(1,1); cprintf(“%c",‘(c+0));

r ESQUINA SUPERIOR DERECHA 7 gotoxy(79,1); cprintfr%c",‘(c*1»;

r MARGEN SUPERIOR 7for (i=2;i<79;i++) {gotoxy(i,1);cprintf(”%cM,*(c+4)); }

r MARGEN IZQUIERDA 7for (i=2;i<25;i*+) { goloxy(f.i); cprintf(”%c”, *(c+5)); )

/• ESQUINA INFERIOR IZQUIERDA 7 gotoxy(1,25); cprintf("%c",*(c+2));

/* MARGEN INFERIOR 7for (i=2;i<79;i++) { gotoxy(i,25);

87

Page 96: Micro photometer`s automation for quantitative ...

cprintf("%cY(c+4)); }

Z* ESQUINA INFERIOR DERECHA *Z gotoxy(79,25); cprintf(”%c", *(c+3));

Z* MARGEN DERECHA *Zfor (i=2;i<25 ;i++) { gotoxy(79,i); cprintf("%c",*(c+5)); }

}

Z* ******—* FUNClON PRINCIPAL PARA REALIZAR EL PROCEDIMIENTO ................Z/* ********--------*---------- DE CALIBRADO DE LA EMULSION. ••*•••«—♦*♦♦•••—**** •/

void calibra(void) {

dosegraph();Z* RUTINA PARA LA DETECClON DE LA RESOLUClON DEL MONITOR */

deteclaO;

Z* RUTINA PRINCIPAL PARA INICIO DEL PROGRAMA *Z dave=0, dave1=0, dave2=0; menu(); calibradolQ;fac=fac;

y* *********************************************************************************************** *y

Z* *............. LA FUNClON calibradol JUNTO LA FUNClON menu, IMPRIMEN ******— "ZZ* *•*•**♦**•* EN PANTALLA EL MENO DE CALIBRADO DE LA EMULSION. ********** *Zye *»»•■••***»*****•*•••***•***•**•»*•*•*•**********•**•*•**#•*•**»*•*••*#•*•**•********••****»**»* ey

void calibradol (void){

int cuall=0,i,banderaa;t_arch a; Z* PARAMETROS PARA ARCHIVO *Zt_reg r; Z* APUNTADOR A ESTRUCTURA *Z

Z* LLAMA A RUTINA PARA TRABAJAR EN MODO GRAFICO *Zinitia_graficos();setbkcolor(LIGHTGRAY);menu(); Z* PARA INICIALIZAR LA ESTRUCTURA *Zsetcolor(RED);settextstyle(TRIPLEX_FONT.0.1); setcolor(1);preparaa(Acuall); Z* PREPARA LA PANTALLA *ZZ* COLOCA EN PANTALLA LOS SIG TEXTOS: "Zsetcolor(LIGHTBLUE);settextstyle(TRIPLEX_FONT,0,4);outtextxy(93,118*fac," CALIBRADO DE LA EMULSION ");setlextstyle(SMALL_FONT,0.4);outtextxy(215,405*fac,”*** ELIJA LA OPClON DESEADA ***"):Z* CICLO REPETITIVO (HASTA DAR ENTER) "Z

do{Z* DIBUJA LOS 3 RECTANGULOS DEL MENU DE DIFERENTE COLOR *Z setcolor(RED); rectangle(3,3,getmaxx()-3,gelmaxy()-3);setcolor(BLUE); rectangle(8,8,getmaxx()-8,gelmaxy()-8);setcolor(WHITE); redangle(13,13,getmaxx()-13,getmaxy()-13);Z* DIBUJA EL SlMBOLO DEL ININ CON LAS COORDENADAS Y TIPO DE LETRA INDICADA *Z setcolor(BLUE); settextstyle(DEFAULT FONT.0,1);inin(60,48,24); Z* POSIClON DE: X.Y, y TAMANO DEL RADIO *Zsetcolor(LIGHTRED); settextsty le(TRIPLEX_FONT.0.1); reportaa(cuall); banderaa=muevee(&cuall);

)while (banderaa !=13); Z*EN LA VARIABLE CUALL SE QUEDA POSIClON DE Y *Z switch(cuall){

88

Page 97: Micro photometer`s automation for quantitative ...

case 0:car_e():calibrado1();

case 1:

menuQ;

grabar_datos_calibr();menu();

case 2:calibrado1();

lee_r(a,r);calibrado1(),

case 3:principalQ;

)

menu();

' FUNClON QUE INICIALIZA LOS TEXTOS QUE LLEVARA LA ............ portada DELMENO PRINCIPAL.

**••***•*••*•*••***•»«*

..*/...

.../"•/

void menu(void){

int i;

char *nom[M_MAX]={" Caracterlsticas del Elemento" Grabar los Resultados obtenidos",* Leer datoa de algun archive "," Regresar al Menii Principal

}:/* PREPARA EL ARREGLO DE ESTRUCTURAS PARA SU USO */

for (i=0; i<M_MAX; i++)(cuals[i]po_x = colj; cuals[ij.po_y = Reng_i+i*40*fac; strcpyfcualspl.etique.nomp]);

**************************r COLOCA LAS OPCIONES EN LAS POSICIONES INDICADAS POR LA ESTRUCTURA "/p> **************************************************************************************************** *y

void preparaa(int "rengg){

int contador;

setcolor(RED);for (contador=0; contador<M_MAX; contador-f-*)(

outtextxy( cuals(contador).po_x,cuals[contadorlpo_y*fac,cuals[contador].etique);}rengg=rengg;

}

.................................----....................................—............... v/* ..........................FUNClON QUE ILUMINA LA OPClON A ELEGIR *•"*♦*♦♦**•**•**** •/r ................... ................................../void reportaa(int y)

(setcolor(BLUE);setfillstyle(CLOSE_DOT_FILL,LIGHTBLUE);bar((cuals[y].po_x)-10,(cuals[y].po_y*fac)+2, (cuals[y].po_x)+340,(cuals[y] po_y*fac)+25),settextstyle(TRIPLEX_FONT,0,1):setcolor(LIGHTRED);outtextxy(cuals[y].po_x, cuals[y].po_y*fac,cuals[y].clique);

89

Page 98: Micro photometer`s automation for quantitative ...

Z* ................................................................................ ./I-------------- FUNClCN QUE DETERM INA DUAL FLECHA SE PULSA..................... *Z/................... ***— .......................................................................................................... /

int muevee(int 'actual!){

int a,e,previo=*actuall,

lee_tecla(&a,&e);if(a); Z* ‘actuall GUARDA LA POSIClON DE Y Velse{switch(e){

case F_ARR:if (*actuall==0) *actuall=M_MAX-1;else ('actuall)--;break;

case F_ABA:if (*actuall==(M_MAX-1)) *actuall=0;else (*actuall)++;break;

case HOME:'actuall = 0; break;

case END.'actuall = M_MAX-1; break;

}}

if (previo != 'actuallyZ* ILUMINA EL FONDO EN BLANCO DE LA OPCldN ANTERIOR Y POSTERIORMENTEILUMINA DE ROJO LAS LETRAS DE ESA MISMA OPClCN */setfillstyle(SOLID_FILL,LIGHTGRAY);bar((cuals[previo].po_x)-10,(cuals[previo].po_y*fac)+2,(cuals[previo).po_x)+340,(cuals[previo].po_y*fac)+25);settextstyle(TRIPLEX_FONT,0,1);setcolor(RED);outtextxy(cuals[previo].po_x, cuals[previo).po y*fac,cuals[previo].etique);};return a;

Z*'**....................******............... *------- *...............*.................. ............................................... /Z........ FUNClON PARA OBTENER LOS DATOS NECESARIOS DEL ELEMENTO......... /z* ........................................................... ................................................................................ .int car_e()

{char cad[20];int i; Z* CONTADOR *Zint c2[]=Ce','e'.l.l.e’.l}: /* SlMBOLOS USADOS PARA EL MARCO */Larch a; Z* parimetros para archive */t_reg r; Z* apuntador a estructura */

closegraph(); clrscr();textcolor(LIGHTRED); margen(c2);clave=1; Z* DETERMINA SI HAY O NO DATOS EN EL REGISTRO */clave!=1;Z* LLENA ESTRUCTURA t_arch LA CUAL CONTIENE TODAS LAS CARACTERlSTICASDEL ARCHIVO: NOMBRE, TIPO Y LA INDICAClON SI CREA O NO AL ARCHIVO */gotoxy(32,7); textcolor(LIGHTRED);cprintf("ELEMENTO: ”),textcolor(WHITE); cprintff HIERRO. *);gotoxy( 18,10); textcolor(LIGHTRED);cprintffDame el nombre del archive a grabar “);strcpy(a.nom,gets(cad));Z* NOMBRE DE ARCHIVO *Zstrcpy(a tipo, "wb"); Z* TIPO DE ARCHIVO */if (clave2==1)

90

Page 99: Micro photometer`s automation for quantitative ...

{clrscrQ; textco)or(LIGHTRED);margen(c2); textcolor(LIGHTRED),cprintffELEMENTO: "); textcolor(WHITE); cprintff HIERRO ");gotoxy(18,10); textColor(UGHTRED);cprintf("Dame el nombre del archive a grabar..."); strcpy(a. nom.gets(cad));

>

strcpy(a.tipo, "wb"); Z* TIRO DE ARCHIVO 7strcpy(nom_archivo,a.nom); Z* SE GUARDA EL NOMBRE DEL ARCHIVO 7 strcat(a.nom," TXT"); Z* FOR COMODIDAD TODOS LOS ARCHIVOS CREADOS

TENDRAN LA EXTENSION TXT 7 a.crea = 1; Z* CREA UNO NUEVO 7

if (!abre_arch(&a)) { menu(); calibrado1(); }

if ((llena_arch_r(aar,a))==0) { printffError para abrir!!"); menuQ;calibradolQ; }

fclose(a.ar);

Z* DESPUES DE QUE GRABA, ES NECESARIO TOMAR LECTURA DE TRANSMITANCIAS 7 pedir();

I" SE PROSIGUE CON EL PROCEDIMIENTO PARA EL CALIBRADO DE LA EMULSION 7correc_seidel();resultados(a, r);clave2=1;/* FINALMENTE SE REGRESA AL MENU DE CALIBRADO DE LA EMULSION PARA QUE SE PUEDA ELEGIR OTRA OPClON 7menuQ; calibradolQ;return(1);

r ***•*•*•*••*•*-«* FUNClON PARA LA TOMA DE TRANSMITANCIAS *••“**—•***•*• •/ /* ESTA FUNClON TRABAJA JUNTO CON UN1,LIN2,LIN3,LIN4,TEXTO Y PETIClON 7j* *****************************«*»******•»****••***•'****•»*•***»***a******-!#***********************

void pedir(void){

int n,i,numero;int ca={,iVi'.'l,.'l,>,1'|'); r SlMBOLOS USADOS PARA EL MARCO 7

clrscrQ;longitud=a=0; numero=lon_onda*4;num2=numero*7; Z* num2: GUARDA EL NUMERO TOTAL DE TRANSMITANCIAS7 clrscrQ;textattr(WHITE+(BLUE«4));margen(c);switch(lon_onda){

case 1: lin1Q; break;case 2: linlQ; lin2Q; break;case 3 Iin1(); Iin2(); lin3Q; break;case4: linlQ; Iin2(); Iin3(); lin4Q; break;

}textattr(WHITE*(LIGHTBLUE«4»;gotoxy(30,25);cprintf(" Pulse cualquier tecla para continuar...");textattr(WHITE+(BLACK«4));getchQ; clrscrQ;}

9I

Page 100: Micro photometer`s automation for quantitative ...

void lint (void){

int A1 ,B1 ,C1 ,D1 ,XX, YY.LON;

LON=0,XX=12,YY=3; /* FUNClON EN LA CUAL SE IMPRIME 7 texto(&XX,&YY,4LON); Z* LOS DATOS DE LA PRIMERA LONGITUD DE ONDA, 7 C1=6,D1=6; Z* ADEMAS SE LLAMA A LA FUNClON PETIClON 7peticion(&A1 ,&B1 .&C1.&D1):

}

void lin2(void){

int A1.B1.C1.D1,XX, YY.LON;

LON=1,XX=53,YY=3; /* FUNClON EN LA CUAL SE IMPRIMEN LOS DATOS DE 7texto(&XX,&YY,&LON);Z* LA SEGUNDA LONGITUD DE ONDA 7C1=47,D1=6;peticion(&A1 ,&B1,&C1,&D1);

}

void lin3(void){

int A1,B1,C1,D1,XX,YY.LON:

LON=2,XX=12,YY=14; Z* FUNClON EN LA CUAL SE IMPRIME LOS DATOS DE 7 texto(&XX,&YY,&LON); Z* LA TERCERA LONGITUD DE ONDA 7 C1=6,D1=17;peticion(&A1 ,&B1 ,&C1 ,&D1):

}

void lin4(void){

int A1,81,C1.D1,XX, YY.LON;

LON=3,XX=53,YY=14; Z* FUNClON EN LA CUAL SE IMPRIME LOS DATOS DE LA 7 texto(&XX,&YY,&LON); Z* CUARTA LONGITUD DE ONDA. 7C1=47,D1=17; peticion(&A1 ,&B1 ,&C1 ,&D1);

>

void texto(int *X,int *Y, int *L) Z* FUNClON PARA COLOCAR LOS TEXTOS SEGUN LAS 7{ Z* COORDENADAS QUE SE LE INDICAN ANTES DE SER LLAMADA 7

int b,c,l;

b=*X,c=*Y,l=*L,gotoxy(b.c);textattr(WHITE+(BLACK«4)); cprintffLlNEA DE Fe %.2f',long_onda[l]); b=b-6,c=c+1;textattr(LIGHTBLUE+(BLACK«4));gotoxy(b.c),cprintf("5 seg 15seg 25seg 35seg");

}

void peticion(int “AA.int *BB,int ‘CC.int *DD){

int i,n,A2.B2,unidades,decenas, centenas; float transmitancia; unsigned int DATOt, DAT02; chare,outportb(CTRL.PALABRA);

*AA=*CC,*BB=*DD,A2=*AA B2=‘BB;DAT01=0,DAT02=0,unidades=0,decenas=0.centenas=0 transmitancia=0: for (n=0:n<4;n++)

Page 101: Micro photometer`s automation for quantitative ...

(for (i=0;i<7;i++)

{textattr(LIGHTGRAY+(BLACK«4)); while (kbhit()) getch();

do{DAT01 =inportb(PTOA);DAT02=inportb(PTOB); unidades=0ATO1%16;

decenas=DAT01/16; decenas=decenas* 10; centenas=DAT02 * 100; transmitancia=centenas+decenas+unidades, transmitancia=transmitancia; gotoxy(A2,B2); cprintf("%. 1 f'.transmitanda); printff ");gotoxy(6,24);printff** Si la Lectura es correcta, presione Enter para guardarla... **");

}while (!kbhit()); switch(getch())

{case ENTER:

indice=7*longitud+a+i;lineas[indice]=transmitancia;B2=B2+1;break;

}}A2=A2+8,B2=*BB; longitud=longitud+1;

>}

I* *********************************************** ****e***w**»*******»»»«*t**«e ***»**•■•***»*»** #y

r FUNCldN QUE DETECTA SI EXISTS O NO EL REGISTRO QUE SE LE INDICA 7y* ******************** ***«*****»*♦*********•«***•* **#*»**•*»•**** ***************************** *y

t busca r(FILE *ap, long int num, t_reg *r){

7 PRIMERO SE COLOCA EN EL REGISTRO 7(fseek(ap, num*sizeof(t_reg), SEEK_SET)) { fprintf(stderr,"No pudo colocarse en registro %li\n\n",num); return(O); }

/* POSTERIORMENTE LEE EL CONTENIDO DEL ARCHIV07 if (fread(r, sizeof(t_reg), 1, ap) != 1) { fprintf(stderr, "Error al leer archive...\n\n"); return(O); }return/1);

y* ••*•*••••••••**•••••••**•»*•#*••**♦#*•••*»*•**•****••♦«******•***•*•**•*•■••••♦•**•**♦*•#•♦• *y

/* FUNCldN QUE DETECTA SI EXISTS O NO EL ARCHIVO QUE SE LE INDICA 7y* »••*•**••**•*••*******•*••*•**•**************#**»**•****•*****•******«•*»#*»**•*«r*»******** *y

int abre_arch(t_arch *ar)

if (ar->crea) { /* AUN NO DEBE EXISTIR 7if (!access(ar->nom, 1)) {

closegraph/); r PRESENTA MENSAJE DE ERROR SI YA EXISTS EL ARCHIV07fprintf/stderr, "Ya existe %s. . An\n", ar->nom); delay/1000); return(0); }

}else { /* YA DEBE EXISTIR 7

Page 102: Micro photometer`s automation for quantitative ...

if (access(ar->nom, 0)) {closegraph(); Z* PRESENTA MENSAJE DE ERROR SI NO EXISTS EL ARCHIVOVfprintf(stderr, "No exisle %s...\n\n", ar->nom); delay( 1000); return(O); }

}if ((ar->ar = fopen(ar->nom, ar->tipo» == NULL) {

closegraphQ;fprintf(stderr, “No pude abrir %s...\n\n", ar->nom); delay! 1000); retum(O);

}elsereturn(1);>

y* ******************e****»**********e***e*e***»**»***e»****»»»»<i****e*e**»e********************* *y

/................FUNCltiN QUE GUARDA TODOS LOS DATOS DEL REGISTRO................. Z

int llena arch_r(FILE *ap,t arch a){

t_reg r; int i;char cad[40]; float lon_o;

textcolor(LIGHTRED); gotoxy(27,13); cprintffFecha:");strcpy(r fecha.gets(cad)); gotoxy(27,14); cprintff'Lote:");strcpy(r.lote,gets(cad));gotoxy(27,15); cprintffNumero de Placa:");strcpy(r.serie_placa,gets(cad));gotoxy(27,16); cprintf("Nombre del Operador: ");strcpy(r.operador,gets(cad));strcpy (r. nom_a rch, a. nom);gotoxy(27,17); cprintff'Altura de la Abertura:”);strcpy(r.alto_abert,gets(cad));gotoxy(27,18); cprintff'Anchura de la Abertura: ”);strcpy(r.anch_abert,gets(cad)); if (fwrite(&r,sizeof(t_reg),1 ,ap)!=1);gotoxy(27,19); cprintffDa el numero de Longitudes de Onda. ');scanf(”%i",&lon_onda);if (lon_onda<0 || Ion onda>4)

{gotoxy(10,24);textcolor(WHITE);printf(”*“ ERROR!: EL VALOR NO DEBE SER MAYOR A 4 Nl MENOR A 0 —);clrscr(); gotoxy(27,19);cprintffDa el numero de Longitudes de Onda:");scanf("%i'',&lon_onda);textcolor(LIGHTRED);

}for(i=0,i<lon_onda;i++)

{gotoxy(55.20);clreolQ; Z*LIMPIA LA LlNEA DESDE(55,20)*Zgotoxy(79,20);cprintfCl'); Z*PARA VOLVER A VER EL MARCO "Z gotoxy(27,20);cprintffCual es la Longitud de Onda %i: ”,i+1); scanf("%f,&lon o); long_onda[i]=lon_o;

}textcolor(LIGHTGRAY);; gotoxy(30,25);cprintf(“ Pulse cualquier tecla para continuar. ."):

94

Page 103: Micro photometer`s automation for quantitative ...

textattr(LIGHTGRAY+(BLACK«4));getch();_setcursortype(_NOCURSOR); /* FUNClON QUE OCULTA EL CURSOR '/clrscr(); clave1=3;return(1);

/* FUNClON QUE REALIZA EL PROCEDIMIENTO DE CALIBRADO DE LA EMULSION */

void correc_seidel(void)

/•DECLARAClON DE VARIABLES LOCALES*/ini espec,o,b,e,c,x,y,x1 ,y1 ,num,b1 ,i,numero;int b3,b4,A,B,b2,c1 ,d1 ,conta,c2,d2,num5;float sum_x2,sum_x,sum_y,sum_xy, fuertee[200];float debill[200], seidel.seieU .graficat [200], grafica2[200],ff,bb;

/* PROCEDIMIENTO PARA LA CORRECClON DE SEIDEL Ve=1 ,b=7,o=0,a=0,num5=0; /* INICIALIZAClON DE VARIABLES Vnumero=lon_onda*4;numero=numero+1 ,espec=0;

while (espec!=num2){ for (c=e; c<numero; C++)

{for (a=o; a<b; a++)

{if(lineas[a]<1)

{lineas[a]=100;

seidel=(100/lineas[a])-1; /"CORRECClON DE SEIDEL*/if (seidel<0,1)

{seidel=0;

grafica[a]=seidel; /* grafica GUARDA TODOS LOS SEIDEL */}

0=0+7, b=b+7, espec=espec+7, e=e+1;}

numero=numero-1 ,c1 =0,d 1 =6,a=0,b2=0; while (b2!=numero)

{ for(bt=c1; bt<d1; b1++){grafica 1[b1]=graRca[a); a=a+1;

}c1 =c1 +6,d1 =d 1 +6,b2=b2+1 ,a=a+1;

}c2=0,d2=6,a=1 ,b3=0; while (b3!=numero)

{ for (b4=c2; b4<d2; b4++){grafica2[b4]=grafica[al; a=a+1;

}c2=c2+6,d2=d2+6,b3=b3+1 ,a=a+1;}

numero=num2/7,x=0,y=0,x1=6,y1 =6,num=0; while (num!=numero)

{ for (a=x;a<x1;a++){fuerte[a]=grafica1 [a];

}for (a=y;a<y1;a++)

95

Page 104: Micro photometer`s automation for quantitative ...

{debit[aj=grafica2[a];

}x=x+6,y=y+6,x1 =xt +6,y 1 =y1+6,num=num+1;

}x=0,y=0;for (i=0;i<num2-1 ;i++)

{if (debil[i]!=0.0)

{fuertee[num5]=fuerte[i], fuertee[num5]=log 10(fuertee[num5J); debill[num5J=debil[i]; debilljnum5]=log10(debiil[num5]); num5=num5+1;

}}

/* ............. *** PROCEOIMIENTO DE MlNIMOS CUADRADOS ......................... /sum_x=0,sum_y=0,sum_xy=0,sum_x2=0,ff=0,bb=0; for (i=0; i<num5; i++)

{sum_x2=sum_x2+(fuertee[i]*fuertee[i]); sum_x =sum_x +fuertee[i]; sum_xy=sum_xy+(fuertee[i]*debill[i]); sum_y =sum_y +debill[i];

>r LA PENDIENTE(a) ES ff Y EL OFFSET (b) ES bb V r LA ECUACI6N SE ESCRIBE: y = ax + b. V

ff= ((num5*sum_xy)-(sum_x*sum_y))/((num5*sum_x2)-(sum_x*sum_x)); bb= ((sum_x2*sum_y)-(sum_xy*sum_x))/((num5*sum_x2)-(sum_x*sum_x)); pendiente[0]=ff; pendiente[1J=bb;

/* --------------------- - FUNClON OUE GRABA TRASMITANCIAS, •*♦**—*«**•——“ */r ***************** la PENDIENTE y las longitudes DE ONDA ******************** •/

void grabar_datos_calibr(void){

int i;char nombre a[30],nom_archi[30],n_archivo[30],nom_arc[30]:FILE *fs,*fsa; /* PUNTERO PARA GRABAR, DEFINE VARIOS */FILE *oulfile,*fsal; /* ASPECTOS DE UN ARCHIVO. */

if (dave==1){strcpy(nombre_a,nom archive);strcat(nombre_a,".TRA“); r PARA LAS TRANSMITANCIAS V strcpy(nom_archi,nom archive);strcat(nom_archi,".OAf'); Z* PARA EL PAQUETE ORIGIN */ strcpy(n_archivo,nom_archivo);strcat(n_archivo1".PEN''); r PARA LA PENDIENTE */strcpy(nom_arc,nom_archivo);strcat(nom_arc,".LON"); /"PARA LAS LONGITUDES */

r RUTINA PARA GUARDAR TODAS LAS TRANSMITANCIAS OUE SE LEYERON */ fs = fopen(nombre_a,"wT); for (i=0; i<num2; i++)

{fprintf(fs,-%10.4f\n",lineas[i]);

} r fprintf: SALIDA FORMATEADA OUE FACILITA */fclose(fs); Z* CREAR GRAFICOS,INFORMES O TABLAS 7

96

Page 105: Micro photometer`s automation for quantitative ...

r RUTINA DONDE SE GUARDAN LOS DATOS D£BIL CONTRA FUERTE 7 fsa = fopen(nom_archi,"wt”); for (i=0; i<num2; i++){

fprintf(fsa,"%.3f %.3An“,fuerte[i],debil[i]);)fdose(fsa);

/* RUTINA EN LA QUE SE GUARDAN LOS DATOS DE LA PENDIENTE DE LA CURVA FINAL 7 outfile = fopen(n_archivo,*wt*); for (1=0; i<2; i++)

{fprinlf(outfile,H%.6An",pendiente(il);

}fctose(outfile);foal = fopen(nom_arc1”wf);for (i=0; i<lon onda; i++)

{fprintf(fsal,"%.2f\n",long_onda[i]);

}fclose(feal);}if (clave != 1)

{closegraph();gotoxy(25,13);printffError no hay datos qua grabar!!"); delay(3500);

}}

/* *** FUNCI6N QUE LEE EL CONTENfDO DEL REGISTRO, TRASMITANCIAS, *** 7 r **************** LA PENDIENTE Y LAS LONGITUDES DE ONDA............. *********** 7y# ••****••*•**♦••**•#****•*•••*«#***••***•**•****•*••**«*••♦•*♦«*•••**♦•***»******•*•*♦•#***•**

int lee_r(t_arch a, t_reg r){

char nombre a(30],nom_archi[30],n archivo[30],nom_arc(30),cad[80]; int c1Q={f',ll'.'l'—I •>, r SIMBOLOS USADOS PARA EL MARCO 7int i,contador.no reg.numero;FILE *fe.*fen;FILE "infile,"font;float Iineas5[150],long_ondaa[4];

closegraphQ;contador=0;margen(ct);gotoxy(13,12);gets(cad);if (clave 1==0)

{clrscr();margen(ct);gotoxy(13,12);gets(cad);

drscr();textattr(WHITE+(RE0«4)); textattr(LIGHTRED+(BLACK«4)); cprintffDame el nombre del archive a leer...");

textattr(WHITE+(RED«4));textattr(LIGHTRED+(BLACK«4));cprintf("Por favor da nuevamente el Nombre del archive...");

}if (clave 1==1 || dave1==3)

{drscr();margen(ct);gotoxy(13,12);gets(cad);

textattr(WHITE+(RED«4)); textattr(LIGHTRED+(BLACK«4)); cprintf("Dame el nombre del archive a leer... "); clave1=2;

}gotoxy(45,24); cprintffEspera un poco"); strcpy(a nom.cad); A* NOMBRE DE ARCHIVO 7

97

Page 106: Micro photometer`s automation for quantitative ...

strcpy(a.tipo, "r+b"); Z* TIRO DE ARCHIVO */slrcpy(nom_archivo,cad);strcat(a.nom,“.TXT);acrea = 0; /* YA EXISTE */no_reg = atol(0); Z* REGISTRO A LEER Vif (!abre_arch(&a))

{menu(); Z* POR SI HAY ERROR AL ABRIRLO... *Zcalibrado1();

}if (!busca_r(a.ar, no_reg, &r))

{fclose(a.ar);menu();calibrado1();

}fclose(a.ar);strcpy (nombre_a, nom_archivo);strcat(nombre_a,".TRA"); Z* PARA LEER LAS TRANSMITANCIAS */ strcpy(nom_arc,nom_archivo);strcat(nom_arc,".LON"); Z* PARA LEER LAS LONGITUDES *Z Z* RUTINA PARA LEER LAS TRANSMITANCIAS *Z infile = fopen(nombre_a,"r+t"); while(fgetc(infile)!=EOF)

{contador++;

}fclose(infile);num2=contadorZ11;infile = fopen(nombre_a,"r+t");for (i=0; i<num2; i++)

{fscanf(infile,"%f”,lineas);Iineas5[i]=lineas[0);

}fclose(infile);numero=num2Z7;for (i=0; i<num2; i++) {Iineas[ij=lineas5[i); } lon_onda=numeroZ4;Z* RUTINA PARA LEER LAS LONGITUDES DE ONDA V fent = fopen(nom_arc,"r+t"); for (i=0; i<lon_onda; i++)

{fscanf(fent,"%r,long_onda); long_ondaa[i]=long onda[0];

}fclose(fent);for (i=0; i<lon_onda; i++) {

long_onda[i]=long_ondaa[i]; } correc_seidel(); resultados(a, r); return(1);

Z........ .—*........................................... .— .......................................................................... *ZZ........... FUNCltiN QUE IMPRIME EN PANTALLA TODOS LOS RESULTADOS........... /Z* ********* OBTENIDOS JUNTO CON lon1, lon2, lon3. lon4, tex E impresion.........*** */Z* *******............. ...................................................................................................................... . ./void resultados(t_arch a, tjreg rj

{char cad[80); int no_reg;

Z* LEE DATOS DEL ARCHIVO Y EL CONTENIDO DEL REGISTRO PARA DESPUES IMPRIMIR 7 strcpy(a.nom,nom_archivo); Z* NOMBRE DE ARCHIVO 7

Page 107: Micro photometer`s automation for quantitative ...

strcpy(a tipo, "r*b“); Z* TIPO LECTURA V strcat(a.nom,".TXT"); Z* CON LA EXTENSION TXT */ a crea = 0; Z" QUE VEA QUE YA EXISTE Vno_reg = atol(O); Z" NLIMERO DE REG. A LEER */ if (!abre_arch(&a)) Z* FOR SI HAY ERROR AL ABRIRLO V

{menu();calibrado1(); }if (!busca_r(a.ar, no reg, 4r)) /* por si no existe el registro */

{fclose(a.ar);menu();calibration);

}}

Z* RUTINA PARA TRABAJAR EN MODO GRAFICO */ inicia_graficos(); setcolor(BLUE);inin(570,58,24); Z‘ POSICION DE: X,Y, y TAMANO DEL RADIO */setbkcolor(CYAN); Z* COLOR DE FONDO DE LA PORTADA FINAL *Z setcolorfWHITE); rectangle(1,1 ,getmaxx()-1 ,getmaxy()-1);setcotor(BLUE); rectangle(4,4,getmaxx()-4,getmaxy()-4);setcolor(WHITE); rectangle(7,7,getmaxx()-7,getmaxy()-7);setcolor(BLUE), reclang le(10,10,getmaxx()-10,getmaxy()-10);setcolor(WHITE); rectangle(13,13,getmaxx()-13,getmaxy(>-13);setcolor(LIGHTCYAN); settextstyle(TRIPLEX_FONT,HORIZ_DIR,4);Z*TAMANO DE LA LETRA: EJE X (LOS 2 PRIMEROSJ.EJE Y (LOS OTROS DOS) *Zsetusercharsize(1,2,Vfac,1*fac);outtextxy(140,18*fac," RESULTADOS DEL CALIBRADO DE LA EMULSION. ");setlextslyle(SMALL_FONT,HORIZ_DIR,4);setcolor(BLUE);setusercharsize(2,2,2*fac, 1 *fac); outtextxy(33,50*fac,"OPERADOR:"); outtextxy(33,70'fac,"FECHA:"); outtextxy(310,70*fac,"NOMBRE DEL ARCHIVO"); outtextxy(33,90*fac,"NUMERO DE PLACA:"); outtexlxy(310,90‘fac "NUMERO DE LOTE:"); outtextxy(33,110"fac,"ALTURA DE LA ABERTURA:"); outtextxy(310,110*fac,"ANCHURA DE LA ABERTURA:"); setcolor(WHITE); sprinlf(cad,"%s",r.operador); outtextxy(100,50*fac,cad); sprintf(cad ,"%s", r.fecha); outlextxy(83,70‘fac,cad); sprinlf(cad,"%s",nom_archivo); outlextxy(430,70*fac,cad); sprintf(cad, "%s“, r. serie_placa); oultexlxy(140,90*fac,cad); sprintf(cad,"%s",r.lole); outtextxy(410,90‘fac, cad); sprintf(cad,"%s",r.allo_abert); outlexlxy( 173,110*fac,cad); sprintf(cad,"%s",r.anch_abert); outtextxy(460,110'fac.cad); settextstyle(SMALL_FONT,HORIZ_DIR,4);

switch(lon_onda){case 1: lon1(); break;case 2: lon1(); lon2(); break;case 3: lon1(); lon2(); lon3(); break;case 4: lon1(); lon2(); lon3(); lon4(), break;}

setcolor(BLUE); settextstyle(SMALL_FONT,HORIZ_DIR,4); setusercharsize(2,2,2‘fac,1*fac);outtextxy(210.400‘fac,"LA PENDIENTE DE LA CURVA FINAL ES:"); setcolorfWHITE);sprintf(cad,"y = %fx + (%f)",pendiente[0],pendiente[1]); outtextxy(240,425*fac,cad);setcolor(LIGHTCYAN); settextstyle(SMALL_FONT,HORIZ_DIR,4);

Page 108: Micro photometer`s automation for quantitative ...

}

outtextxy(395,450*fac,"PULSE CUALQUIER TECLA PARA CONTINUAR "); getch(); closegraphO;

void Ion 1 (void){

int A1,B1,CON,XX,YY,LON;

LON=0,XX=113,YY=140;tex(&XX,&YY,&LON);settextstyle(SMALL_FONT,0,4*fac);A1 =33,B1 =YY+20,CON=0; impresion(&A1 ,&B1 ,&CON);

}

void lon2(void)(

int A1,B1,CON,XX,YY,LON;

LON=1 ,XX=420,YY=140; tex(&XX,&YY,&LON);A1 =343,81 =YY+20,CON=28; impresion(&A1 ,&B1 ,&CON);

>

void Ion3(void){

int A1 ,B1 ,CON,XX,YY,LON;

LON=2,XX=113,YY=280; tex(&XX,&YY,&LON);A1=33,B1 =YY+20,CON=56; impresion(&A1 ,&B1 ,&CON);

}

void lon4(void)(

int A1,81.CON,XX,YY,LON;

LON=3,XX=420,YY=280;tex(&XX,&YY,&LON);A1 =343,81 =YY+20,CON=84; impresion(&A1 ,&B1 ,&CON);

}

void tex(int *X,int *Y, int *L){

int b,c,l,i,m,n,pos,sig; char cadena[40);

b='X,c=*Y,l=*L; setcolor(LIGHTCYAN);sprintf(cadena,”LINEA DE %.2f “,long_onda[l]); outtextxy(b,c*fac,cadena); b=b-65,c=c+20; setcolor(BLUE);outtextxy(b,c*fac,"5 seg"); b=b+69; outtextxy(b,c*fac,H15seg");b=b+69; outtextxy(b,c*fac,“25seg");b=b+69; outtextxy(b,c*fac,"35seg");*X=b,*Y=c; setcolor(WHITE);

>

void impresion(int *G, int *H, int *l){

int x,y,x1 ,y1 ,cont,i,n,A2,B2,longitud; char CAD(40J;

Page 109: Micro photometer`s automation for quantitative ...

x=*G,y=*H,cont=*l; for (n=0;n<4;n++)

{setcolor(LIGHTCYAN); outtextxy(x,(y-lO),fac,"% T“); outtextxy(x+30,(y-10)*fac,"Seidel"); setcolor(WHITE); for (i=0;i<7;i++)

{sprintf(CAD,"%. 1 f',lineas[cont]); outtextxy(x,y*fac,CAD); x1=x+32; y1=y;

sprintf(CAD,"%.2f',grafica[cont]); outtextxy(x1 ,y 1 *fac,CAD); y=y+10; cont=cont+1;

}x=x1+37,y=*H;

}*1 = coni;

/***ft»»**(»*«*«lfm)(«*<HHW*<Hl*HMW*rt*Wllt««*»**»*«IMH»(l*<l*»*««**«fl*+M*«******»*A»***)l<Ht*«t*««***»» *f

r '****«******M*,H,t,**t***»* RETINA QiUe RGAUZA PROCEOiMIENTO »«*****«**«**«»*»»** y t* w************************** pARA HMi^GORVAS PE TRABAJO "»«*«»«««»'«««« •//* <*H»***A**H:««*mn*»****|Hl***«lfA|H,*»*«*A'te)tlN*«*»*Aif*ialA'iHI*«*****♦*»**»*#**»**»*»*****«*#**»***»**«»**»» *f

typedef struct{char operador(50], fecha[25], alto_abertJ20], anch_abert[20], rejilla[20; char nom_elem[30), linea[20], filtro[20), emulsion[30), serie_placa[20J; char nom_arch[30], nom_arch1[30], observac(150];

}t_registro1;

y* **********************************»**»*********«**»*w**»***********»iy********»************** *y

r FUNClPN QUE INICIALIZA EL PROCEDIMIENTO PARA HALLAR LAS CURVAS */y* *+*************** a***^**************************** ******************************** »*•**-******* *y

Tnt carac_e1(void){

char cad[20];int i; /* CONTADOR 7int c2[]=feye\W.l.*\S}; r sImbolos usados para EL MARCO V Larch a; /* PARAMETROS PARA ARCHIVO 7t registro e; /* APUNTADOR A ESTRUCTURA */Larch 1 b; /* PARAMETROS PARA ARCHIVO Vt_registro1 g; /* APUNTADOR A ESTRUCTURA 7char s;

closegraph();r LLENA ESTRUCTURA Larch LA CUAL CONTIENE TODAS LAS CARACTERlSTICAS

DEL ARCHIVO; NOMBRE, TIPO Y LA INDICACION SI CREA O NO AL ARCHIVO 7 clrscrQ; textcolor(LIGHTRED);margen(c2); gotoxy(18,12);cprintffDame el nombre del archive a grabar...");strcpy(b.nom,gets(cad)); /* NOMBRE DE ARCHIVO 7 zif (clave==1 && clave2==2)

{strcpy(b.nom,gets(cad));

}strcpy(nombre_a,b.nom); strcat(b nonV.TXT); strcpy(b.tipo,"wb"),b crea = 1; /* CREA UNO NUEVO V

Page 110: Micro photometer`s automation for quantitative ...

if (!abre_arch1(&b)) { menu1();curvas_trabajo(); }

gotoxy(18,13); cprintffNombre del archive de la Curva Final. "); strcpy(nom_arc,gets(cad)); intensidad_patron(); gotoxy( 18,14); if ((Ilena_registro1(b.br,b))==0) {

printffError para abrir!!"),}

fclose(b br);r despuEs DE QUE GRABA, TOMA LECTUFiAS de transmitancias •/

peticion2(b,g),

/* SE PROSIGUE CON EL PROCEDIMIENTO PARA EL CALIBRADO DE LA EMULSION 7 clave=5; /* DETERMINA SI HAY O NO DATOS EN EL REGISTRO 7resultados2(b, g);

r FINALMENTE SE REGRESA AL MENU DE CALIBRADO DE LA EMULSION PARA PODER ELEGIR OTRA OPClON 7

menu1(); curvas_trabajo();return(1);

}

I............FUNClON QUE GUARDA TODOS LOS D^TOS DE LOS ELEMENTOS............./

int llena_registro1(FILE *bp,t_arch1 b) { t_registro1 g; int patron, array,n; float cone, trans; char cad[40J;int c2Q=fB'.WD; <’ SiMBOLOS USADOS PARA EL MARCO 7

clrscr(); textcolor(LIGHTRED);margen(c2); gotoxy(28,5);textcolor(LIGHTRED);cprintffELEMENTO:");textcolor(WHITE);cprintffCON FONDO. ");textcolor(LIGHTRED);gotoxy(20,7); cprintffNombre del Operador ");strcpy(g.operador,gets(cad)); gotoxy(20,8); cprintffFecha ");strcpy(g.fecha,gets(cad»;gotoxy(20,9); cprintffAttura de la Abertura: ");strcpy(g.alto_abert,gets(cad));gotoxy(20,10); cprintf("Anchura de la Abertura: ");strcpy(g.anch_abert,gets(cad));gotoxy(20,11); cprintffNombre del Elemento :-);strcpy(g nom_elem,gets(cad)),gotoxy(20,12); cprintffLinea : "):strcpy(g linea ,gets(cad));gotoxy(20,13); cprintffFiltro:");strcpy(g.filtro,gets(cad));gotoxy(20,14), cprintffTipo de emulsidn:");strepy(g emulsion.gets(cad));gotoxy(20,15); cprintffNumero de la Placa:");strcpy(g serie_placa,gets(cad));strcpy(g.nom_arch,nombre_a);strcpy(g.nom_arch1 ,nom_arc);gotoxy(20,16); cprintffTipo de Rejilla. ”),strcpy(g.rejilla,gets(cad));gotoxy(20.17); cprintffDa el numero de patrones a analizar: ”); scanf("%i”,&patrones); patron=patrones; if (patrones<0 || patrones>10)

102

Page 111: Micro photometer`s automation for quantitative ...

{gotoxy(20,23); textcolor(WHITE);printfr** ERROR!: EL VALOR NO DEBE SER MAYOR A 9 Nl MENOR A 0 '"""):delay(1500); gotoxy(20,23):printff "),gotoxy(20,17); cprintffDa el numero de patrones a analizar:");cscanff%i",&patrones);

}patron=patrones; b=b;

for(n=0;n<patrones;n++){gotoxy(32,18), printff ”);gotoxy(20,18), cprintffEspectros a analizar en el Patrdn %d:",patron):scanff%d",&array); arreglo[n]=array;patron=patron-1;

}patron=patrones;for(n=0;n<patrones;n++){gotoxy(32,19); printff ");gotoxy(20,19); cprintffCiial es la concentration en el Patrdn %d: ".patron); scanff%r,*conc); concent(n]=conc; patron=patron-1;

}gotoxy(20,20); cprintffObservaciones:");strcpyfg. observac.gets(cad));strcpy(g.observac,gets(cad));if (fwrite(&g ,sizeof(t_registro1), 1 ,bp)!=1);textcolor(WHITE); gotoxy(45,24);cprintff ** Espera un poco **..");retum(1);

r.......... ****** FUNClON QUE REAUZA LA PETIClON DE LOS DATOS.......... ............. I**««»****ww****•*»*****»*•**♦•*»*•****♦#*•***•*•*»***«•♦***•♦*** **«w***********»***#*********w *j

void peticion2(t_arch1 b. t registrol g){

int i, n, o, c, cc ,d, ee, A, AA. B. C, D, E, n_re, patron; char cad[80]; float trans=0.0;int c1D={f',,f.i.’/J-.'—?,* I'}; f* SlMBOLOS USADOS PARA EL MARCO */ int c2[]=C.'Vf.l.®.l}: /* SlMBOLOS USADOS PARA EL MARCO V unsigned int DATO1, DAT02; int unidades=0, decenas=0, centenas=0; outportb(CTRL.PALABRA):

r LEE LOS DATOS DEL ARCHIVO Y SU CONTENIDO */ strcpy(b.nom,nombre_a); f NOMBRE DE ARCHIVO */strcpy(b tipo, "r+b"); 7‘ TIPO LECTURA */ strcat(b nom,".TXT");/* CON LA EXTENSION .TXT V b.crea = 0; /* QUE VEA QUE YA EXISTS Vn_re = atol(0); f NClMERO DE REG. A LEER */

if (!abre_arch1(&b)) /* FOR SI HAY ERROR AL ABRIRLO */{

menu1(); curvas_trabajo();}

if (!busca_registrot(b.br, n re. &g)) f FOR SI NO EXISTS EL REGISTRO */{

fclose(b.br);menut(); curvas_trabajo();

}clrscr(); AA=0, d=ee=0;

103

Page 112: Micro photometer`s automation for quantitative ...

textattr(LIGHTRED+(BLACK«4));drscr(); margen(c2); gotoxy(30,25); gotoxy(30,2); textcolor(WHITE); gotoxy(18,4); patron=patrones; for (o=0;o<patrones;o++)

{

textcolor(LIGHTRED);textcolor(LIGHTGRAY);cprintff *** Pulse ENTER para Tomar la Lectura ' cprintf("ELEMENTO: “); cprintff %s",g.nom_elem); cprintf("% T“);A=43, B=5, C=8, D=5, E=43;

if (patrones<5){A=8,E=8;}

if (patron==4 && AA==1){textcolor(WHITE); gotoxy(53,4); cprintff % T);

}if (patron<5)

{textcolor(LIGHTRED); gotoxy(A,B); cprintff Patrdn %d:",patron); A=A+11; c=0;while(c<arreglo[d])

{textcolor(LIGHTGRAY); gotoxy(A,B); do {

DAT01=inportb(PTOA); DAT02=inportb(PTOB); unidades= DAT 01 % 16; decenas=DAT01/16; decenas=decenas*10; centenas=DAT02 & 1; centenas=centenas*100; trans=centenas+decenas+unidades; trans=trans;gotoxy(A,B); cprintff ");gotoxy(A,B); cprintff % 1f,trans);)while(!kbhit());

switch(cc=getch()){case ENTER:

guarda[ee]=trans; ee=ee+1, c=c+1, B=B+1; break;

case F_ARR:gotoxy(A.B); cprintff ");ee=ee-1, c=c-1, guarda[ee]=0.0, B=B-1; break;

default:gotoxy(A.B);ee=ee, c=c, B=B, guarda[ee]=guarda[ee]; break;

}}

d=d+1, patron=patron-1, A=E, B=B+1;}

if (patron>4){textcolor(LIGHTRED);gotoxy(C.D); cprintffPatron %d "patron);C=C+11. c=0;while(c<arreglo[d])

Page 113: Micro photometer`s automation for quantitative ...

{textcolortUGHTGRAY). gotoxy(C.D); do {

DATOI =inportb(PTOA); DATG2=inportb(PTOB); unidades= DAT01%16; decenas=DAT01Z16; decenas=decenas*10; centenas=DAT02 & 1; centenas=centenas*100; trans=centenas+decenas+unidades; trans=trans;gotoxy(C.D); cprintf(” *); gotoxy(C.D); cprintff %.ir,trans);

)while(!kbhit()); switch(cc=getch())

{case ENTER:

guarda[ee]=trans, ee=ee+1, c=c+1, D=D+1; break;

case F_ARR:gotoxy(C.D);cprintff ");ee=ee-1 ,guarda[ee]=0.0, D=D-1, c=c-1; break;

default:gotoxy(C.D);ee=ee, D=D, c=c, guarda[ee]=guarda[ee); break;

})

d=d+1, patron=patron-1, C=8, D=D+1;}AA=1;

}pendiente1[3]=ee, ee=0, AA=0, d=0;clrscr(); textattr(LIGHTBLUE+(BLACK«4));textcolor(LIGHTBLUE); clrscrf);margen(cl); gotoxy(30,25); gotoxy(30,2); textcolor(WHITE); gotoxy(18,4); patron=patrones; for (o=0;o<patrones;o++)

{

textcolor(LIGHTGRAY);cprintff *** Pulse ENTER para Tomar la Lectura *** cprintffLECTURAS DE:"); cprintff FONDO”); cprintff % r);A=43, B=5, C=8, 0=5. E=43;

if (patrones<5){A=8,E=8;

}if (patron==4 && AA==1)

(textcolor(WHITE); gotoxy(53,4), cprintff% T);

}if (patron<5)

{textcolor(LIGHTBLUE);gotoxy(A.B); cprintff Patron %d:",patron); A=A+11;c=0;while(c<arreglo[d))

{textcolor(LIGHTGRAY); gotoxy(A.B); do {

DATO1 =inportb(PTOA), DAT02=inportb(PTOB);

Page 114: Micro photometer`s automation for quantitative ...

unidades= DAT01%16; decenas=DAT01 /16; decenas=decenas*10; centenas=DAT02 & 1; centenas=centenas*100; trans=centenas+decenas+unidades; trans=trans;gotoxy(A,B); cprinlff ");gotoxy(A,B); cprintff%. 1 f'.trans);

}while(!kbhit());switch(cc=getch())

{case ENTER:

guardat [ee)=trans, ee=ee+1, B=B+1. c=c+1; break;

case F_ARR:gotoxy(A.B); cprintff ");ee=ee-1, guardat [ee]=0.0, B=B-1, c=c-1; break;

default:gotoxy(A,B);ee=ee, B=B, c=c, guardat [ee]=guarda 1 [ee]; break;

)}d=d+1, patron=patron-1, A=E, B=B+1;

}if (patron>4)

{textcolor(LIGHTBLUE);gotoxy(C.D); cprintffPatrdn %d ”,patron);C=C+11, c=0; while(c<arreglo[d])

{textcotor(LIGHTGRAY); gotoxy(C.D); do {

DAT01 =inportb(PTOA);DAT02=inportb(PTOB); unidades= DAT01%16; decenas=DAT01/16; decenas=decenas*10; centenas=DAT02 & 1; centenas=centenas*100; trans=centenas+decenas+unidades; trans=trans;gotoxy(C.D); cprintff "); gotoxy(C.D); cprintf(”%.ir,trans);

}while(!kbhit());switch(cc=getch())

{case ENTER:

guardat[ee]=trans, ee=ee+1, c=c+1, D=D+1; break;

case F_ARR:gotoxy(C.D); cprintff ”);ee=ee-1, guardat[ee]=0.0, D=D-1, c=c-1; break;

default.gotoxy(C.D);ee=ee, D=D, c=c, guardat[ee]=guardat[ee], break;

Page 115: Micro photometer`s automation for quantitative ...

d=d+1, patron=patron-1, C=8, D=D+1;}AA=1;

}textattr(LIGHTGRAY*(BLACK«4));gotoxy(30,25); cprlntff Pulse cualquier teda para continuar ");textattr(LIGHTGRAY+(BLACK«4));gotoxy(70,25); cc=cc;getch(); drscr();

}

/........ ***** FUNCldN QUE VERIFICA SI EXISTS O NO EL ARCHIVO PEN *********** */

void intensidad_patron(void){FILE *fe;float pendientee[2]; int i;

strcat(nom_arc,".PEN*); if ((fe = fopen(nom_arc,"r+t")) == NULL)

{gotoxy(18,18);cprintf("Ese Archivo NO existe !!");

}

gotoxy(18,19); gotoxy(18,20); getch(); menu1();

}for (i=0; i<2; i++)

{fscanf(fe,"%r,pendiente);pendientee[i]=pendlente(0];

)fdose(fe); for (1=0; i<2; i++)

{pendiente[i]=pendientee[i];

}

cprintffEs necesario que ahora des otro nombre al archive"); cprintffque vas a grabar....despu6s de pulsar cualquier teda"); dosegraph(); curvas_trabajo{);

y# *********************************************************************************************** *yZ* "* FUNCiGN QUE IMPRIME EN PANTALLA LOS RESULTADOS OBTENIDOS *** */z* .................................................................................. ../void resultados2(t_arch1 b, t_registro1 g)

{double z; char cad[80];int c,n_re,i,patron, em,o,d;float guarda9[50), I, seidel, sum_x, sum_y, sum_xy, sum_x2, (final; float media, guarda2[30], guarda3[30), guarda4(30], guarda5(30], float guarda6[30], guarda8[50], A, B;

I' LEE DATOS DEL ARCHIVO Y EL CONTENIDO DEL REGISTRO */ Z* PARA DESPUtS IMPRIMIR LOS RESULTADOS OBTENIDOS'Z

strcpy(b nom,nombre_a); strcpy(b tipo, "r+b"); strcat(b nom," TXT"); b.crea = 0; n_re = atol(0);

Z* NOMBRE DE ARCHIVO *Z Z* TIPO LECTURA *Z Z* CON LA EXTENSION TXT *Z Z* QUE VEA QUE YA EXISTE *Z Z* NOMERO DE REG A LEER *Z

if (!abre_arch1(&b)) Z* POR SI HAY ERROR AL ABRIRLO *Z

Page 116: Micro photometer`s automation for quantitative ...

menu1();curvasJrabajo();

}

if (!busca_registrot(b.br, n_re, &g)) Z* POR SI NO EXISfE EL REGISTRO '/{

fclose(b.br);menu1(); curvas trabajof);

}dosegraph();

{

Z.................................. CORRECClON DE SEIDEL........... ........................... /for (c=0;c<pendiente1[3];c++)

{seidel=(100/guarda[c])-1;guarda2[c]=seidel; Z" SEIDEL DEL ELEMENTO *Z seidel=(1 OOZguardaf [c))-1, guarda3[c]=seidel; Z* SEIDEL DEL FONDO *Z

}

Z* *** INTENSIDAD DEL ELEMENTO E INTENSIDAD DEL FONDO *** *Z for (c=0;c<pendiente1[3];c++)

{z=(log10(guarda2[cl)-pendiente[1])Zpendiente[0];l=pow(10,z); guarda4[c]=l; Z* INTENSIDAD DEL ELEMENTO *Zz=(log10(guarda3[c])-pendiente[1])Zpendiente[0];l=pow(10,z); guarda5[c]=l; Z* INTENSIDAD DEL FONDO 7

}

Z* •* INTENSIDAD FINAL Ifmal = INTENSIDAD DEL ELEMENTO - INTENSIDAD DEL FONDO " for (c=0;c<pendiente1[3];c++)

{Ifmal=guarda4[c]-guarda5[cl;guarda6[c]=lfinaf; /* guardaS TIENE EL VALOR DE LA I final "Z

}Z* ........—.......... MEDIA DE CADA PATRON ********....... ........ . •/

media=0,em=0,d=0; for (o=0;o<patrones;o++){for (c=0;c<arreglo[d];c++)

(media=media+guarda6[em]; em=em+1;

}media=mediaZarreglo[d);guarda7[o]=media: Z* guards? TIENE EL VALOR DE CADA media *Zd=d+1; media=0;

}

Z...................... MlNIMOS CUADRADOS Y PENDIENTE............................Zsum_x = 0.0; sum_y = 0 0; sum_xy= 0.0; sum_x2= 0 0;

for (c=0;c<patrones;c++)

guarda8[c]=concent[c]; /* CONCENTRAClON DEL ELEMENTO *Z guarda8[cj=log 10(guarda8[c]);guarda9[c]=guarda7[c]; Z* VALOR DE LAS MEDIAS DE CADA PATRON "Z guarda9[cj=log10(guarda9[c]);

}for (c=0;c<patrones;c++)

{sum_x = sum_x + guarda8[c]; sum_y = sum_y + guarda9[cj; sum_xy= sum_xy +(guarda8[c]*guarda9[c]); sum_x2= sum_x2 +(guarda8[c]*guarda8[c]);

Page 117: Micro photometer`s automation for quantitative ...

A=((patrones"sum_xy)-(sum_x*sum_y))/((patrones*sum_x2)-(sum_x"sum_x)); B=((sum_x2‘sum_y)-(sum_xy*sum_x))/((patrones"sum_x2)-(sum_x"sum_x)); pendiente1[0]=A; pendiente1[1)=B;pendiente1[2J=2.000000; pendiente 1 [4]=patrones;pendiente1[5]=pendiente[0]; pendiente 1 [6]=pendiente[ 1 ].

r RUTINA PARA GUARDAR AUTOMATICAMENTE LOS RESULTADOS */ if (clave == 5)

{grabar();

}

}

/* —•*****♦♦* RUTINA PARA TRABAJAR EN MODO GRAFICO *—•*—** */ inicia_graficos(); setcolor(BLUE);inin(570,42,20); /" POSIClON DE: X, Y, y TAMANO DEL RADIO 7setbkcolor(CYAN); /* COLOR DE FONDO DE LA PORTADA FINAL 7setcolor(WHITE); rectangle(1,1 ,getmaxx()-1 ,getmaxy()-1);setcolor(BLUE); rectangle(3,3,getmaxx()-3,getmaxy()-3);setcolor(WHITE); rectangle(5,5,getmaxx()-5,getmaxy()-5);setcolor(BLUE); rectangle(7,7,getmaxx()-7,getmaxy()-7);setcolor(WHITE); rectangle(9,9,getmaxx()-9,getmaxy()-9);settextstyle(SMALL_FONT,HORIZ_DIR,6);outtextxy(140,11," RESULTADOS DE LAS CURVAS DE TRABAJO ");setusercharsize(2,2,1,1); setcolor(BLUE);outtextxy(33,35*fac,"OPERADOR:”);outtextxy(33,45*fac,"FECHA:");outtextxy(310,45*fac,"NOMBRE DEL ARCHIVO");outtextxy(33,55*fac,"ALTURA DE LA ABERTURA:”);Outtextxy(310,55*fac,"ANCHURA DE LA ABERTURA:");outtextxy(33,65*fac,"FILTRO:");outtextxy(310,65*fac,"TIPO DE EMULSION "),0uttextxy(33,75*fac,'TIPO DE REJILLA:"); outtextxy(33,85*fac,"NOMBRE DEL ELEMENTO:"); outtexUy(310,75*fac,”LONGITUD DE ONDA:"); outtextxy(33,95*fac,"NUMERO DE PLACA:"); outtextxy(310,85fac,"ARCHIVO DE CURVA FINAL"); outtextxy(33,105‘fac,"OBSERVACIONES:"); setcolor(WHITE); sprintf(cad,"%s",g.operador);outtextxy(92,35*fac,cad); outtextxy(77,45*fac,cad); outtextxy(430,45*fac,cad) outtextxy(173,55*fac,cad) outtextxy (455,55*fac, cad) outtextxy(80,65*fac,cad); outtextxy(420,65*fac,cad); outtextxy(135,75*fac,cad);outtextxy(155,85*fac,cad);outtexbcy(425,75*fac,cad); outtextxy(135,95*fac,cad); outtextxy(450,85*fac,cad); outtextxy (120,105*fac,cad); line(28, 120‘fac, 610,120‘fac); line(28. 420‘fac, 610,420‘fac); line(610, 120’fac. 610, 420*fac);

sprintf(cad,"%s",g.fecha); sprintf(cad,"%s",nombre_a); sprintf(cad,"%s",g.alto_abert); sprintf(cad,"%s",g.anch_abert); sprintf(cad,"%s",g.filtro); sprintf(cad,"%s",g emulsion): sprintf(cad ,"%s",g. rejilla); sprintf(cad,"%s",g.nom_elem); sprintf(cad,"%s ".g.linea); sprintf(cad,”%s",g.serie_placa); sprintf(cad,"%s",g nom_arch1); sprintf(cad,"%s",g.observac);

/"llnea horizontal ARRIBA */ /"linea horizontal ABAJO */ /"llnea vertical DERECHA 7 /"linea vertical IZQUIERDA7line(28, 120*fac, 28, 420‘fac);

setcolor(BLUE); outtextxy(37,130"fac,"PATRON");outtextxy(95,130*fac,"% T elem."); outtextxy( 160,130*fac,"SEIDEL"); outtextxy(215,130*fac,"l elem."); outtextxy(270,130*fac,"% Tfondo"); outtextxy(335,130‘fac,"SEIDEL"); outtextxy(390,130*fac,"lfondo“); outtextxy(443,130*fac,"lfinal"); outtextxy(505,130*fac,"MEDIA"); outtextxy(555,130'fac,"CONCENT.");

Page 118: Micro photometer`s automation for quantitative ...

A=53,B=140,i=0,patron=patrones;setcolor(WHITE);for (c=0;c<patrones;c++)

{sprintf(cad,"%i",patron); outtextxy(A,B*fac,cad);A=502; /* Media 7sprintf(cad,"%.3f",guarda7[c]); outtextxy(A,B*fac,cad);A=565; /*Concentraci6n*/sprintf(cad,"%.2f,concentIc]); outtextxy(A,B*fac,cad);A=108; patron=patron-1; for (o=0;o<arreglo[c];o++)

{ /* % T ELEMENTO*/sprintf(cad,"%. 1 f,guarda[i]); A=160; Z*seidel de %T 7 sprintf(cad,"%.3f,guarda2[i]); A=215; r I elemento 7sprintf(cad,“% 3f,guarda4{i]); A=283; /* %T fondo 7sprintf(cad,“%.1f”,guarda1[i]); A=335; /*sei. de fondo 7sprintf(cad,"%.3f',guarda3[i]); A=390; /* I fondo 7sprintf(cad,"%.3f",guarda5[i]); A=440; r I final 7sprintf(cad,*% 3f,guarda6[i]); B=B+10, i=i+1,A=108;

outtextxy(A,B*fac,cad);

outtextxy(A,B*fac,cad);

outtextxy(A,B*fac,cad);

outtextxy(A,B*fac,cad);

outtextxy(A,B*fac,cad);

outtextxy(A,B*fac,cad);

outtextxy(A,B*fac,cad);

}A=53;

}setcolor(BLUE);outtextxy(210,430*fac,“LA PENDIENTE DE LA CURVA DE TRABAJO ES:"); setcolor(WHITE);sprintf(cad,"y = %fx + (%f)",pendtente1[0],pendiente1[1));outtextxy(240,440*fac,cad);setcolor(LIGHTCYAN);outtextxy(395,455*fac,"PULSE CUALQUIER TECLA PARA CONTINUAR getchQ; clave=1;dosegraph(); graficar1();

}

r —*******..........*---- *****—**********................................*...................... * *//* **•—*«♦••••••• FUNClON DUE GRABA TODOS LOS RESULTADOS ......................../

.......... /void grabar(void)

{int i;char nom_archivo[30),nom archi[30],n_archivo[30],nom arc{30];FILE *fs,*fsa; /* PUNTERO PARA GRABAR, DEFINE VARIOS 7FILE *outfile,*fsal; /* ASPECTOS DE UN ARCHIVO 7

strcpy(nom_archivo,nombre_a);strcat(nom_archivo,".TRA"); /* PARA LAS TRANSMITANCIAS 7 strcpy(nom_archi,nombre a);strcat(nom_archi,”.DAT“); /* PARA EL PAQUETE ORIGIN 7 strcpy(n archive,nombre a);strcat(n_archivo,".PEN"); /‘PARA LA PENDIENTE 7 strcpy(nom_arc,nombre_a);strcat(nom_arc,".CON“); /* PARA EXCITACIONES Y CONCENTRACIONES 7

r............RUTINA PARA GUARDAR LAS TRANSMITANCIAS ********* */fs = fopen(nom_archivo,"wt"); for (i=0; i<pendiente1[3]; i++)

{fprintf(fs,"%.2f %.2f\n",guarda[i],guarda1[il);

Page 119: Micro photometer`s automation for quantitative ...

>fclose(fs);

Z* fprintf: SALIDA FORMATEADA QUE.FACILITA 7 Z* CREAR GRAFICOS,INFORMES O TABLAS.*/

r RUTINA DONOE SE GUARDAN LOS DATOS EJE "X" CONTRA EJE "Y" 7 fsa = fopen(nom_archi,”wt"); for (i=0; i<patrones; i++)

{fprintf(fsa,"%.2f %.4f\n",concent[IJ,guarda7[i]);

}fclose(fsa);

Z* LUGAR DONDE SE GUARDAN LOS DATOS DE LA PENDIENTE DE 7 r LA CURVA FINAL, LA CLAVE (1 O 2) PARA SABER SI HAY FONDO, */ r TOTAL DE DATOS Y No. PATRONES 7

outfile = fopen(n_archivo,Hwr); for (i=0; i<7; i++)

{fprintf(outfile,"%.6An",pendiente1[i]);

}fclose(outfile);

Z* LUGAR DONDE SE GUARDAN LAS EXCITACIONES POR PATR6N V Z* Y LAS CONCENTRACIONES 7

fsal = fopen(nom_arc,"wT); for (i=0; Kpatrones; i++)

{fprintf(fsal,"%i %.2f\n",arreglo[i),concenl[i]);

}fclose(fsal); closegraphQ;

}

***************************************************************************** FUNCI6N OUE LEE TODOS LOS RESULTADOS. -----------------k* •****•**•«•*«***•**••*••»**•• A***-****************************************

777

void leerQ{

char nom_archi[301,n_archivo{30],nom_arcI30],cad[80];int /• SiMBOLOS USADOS PARA EL MARCO 7int '.'H; /* SiMBOLOS USADOS PARA EL MARCO 7int i,n_re,numero; FILE *fe,7en;FILE "infile,"fent;float pendientee[3],guardaa[50J;float guardaa1[50J,mom;t_arch a; /* PARAMETROS PARA ARCHIVO 7t registro e; /* APUNTADOR A ESTRUCTURA 7t_arch 1 b; Z* PARAMETROS PARA ARCHIVO 7t registrol g; Z* APUNTADOR A ESTRUCTURA 7

closegraphQ; clrscrQ;textattr(WHITE+(RED«4));margen(c); textattr(LIGHTRED+(BLACK«4»;mom=0; gotoxy(20,13);cprintffDame el nombre del archive ..");strcpy(nombre_a,gets(cad));gotoxy(45,24); cprintf("“ Espera un pocostrcpy(nom_archivo,nombre_a);strcat(nom_archivo,".TRA“); Z* PARA LAS TRANSMITANCIAS7 strcpy(nom_archi,nombre_a);strcat(nom_archi,".DAT“); Z* PARA EL PAQUETE ORIGIN 7 strcpy(nom_arc,nombre_a);strcat(nom_arc,".PEN"); Z* PARA LA PENDIENTE 7 strcpy(n_archivo,nombre_a);strcat(n_archivo,".CON"); Z* PARA EXCIT. Y CONCENT 7

Page 120: Micro photometer`s automation for quantitative ...

/* LUGAR DONDE SE EFECTUA LA LECTURA DE LA PENDIENTE 7 if ((fe = fopen(nom_arc,"r+t")) == NULL)

{dosegraph(); drscrQ;textattr(WHITE+(RED«4));margen(c1); textattr(LIGHTRED+(BLACK«4));gotoxy(24,13); cprintffERROR: Ese Archive NO exisle !!"); delay(1600); clrscrQ;fdose(fe); menu1();curvasJrabajo();

}for (i=0, i<7; i++)

{fscanf(fe,"%r,pendiente1); pendientee[i]=pendiente1 [0];

}fdose(fe); for (i=0, i<7; i++){

pendientel [i]=pendientee[i],

mom=pendiente1 [2], if (mom == 2.000000)

{strcpy(b.nom,nombre_a); strcpy(b.tipo, "r+b"); strcat(b.nom,".TXT); b.crea - 0; n_re = atol(0);

r NOMBRE DE ARCHIVO V r tipo LECTURA 7

/* CON LA EXTENSION TXT*/ A* OUE VEA QUE YA EXISTS 7 r N0MERO DE REG. A LEER V

if (!abre_arch1(&b» /* si hay error al abrirlo */{

menu1(); curvas_trabajo();)

if (Ibusca registro1(b br, n_re, &g)) rPOR SI NO EXISTS EL REGISTRO*/{fclose(b br);menu1(); curvas_trabajo();

}

r LUGAR DONDE SE EFECUTUA LA LECTURA DE TRANSMITANCIAS */ /* DE ELEMENTO PATRON INTERNO Y BASE, O ELEMENTO Y FONDO */

infile = fopen(nom_archivo,"r+t"); for (i=0, i<pendiente1[3); i++)

{fscanf(infile,"%f %hn",guards,guardal);guardaa[i]=guarda[01;guardaa1[i]=guarda1[0];

}fdose(infile);

for (i=0; i<pendiente1[3]; i++) ( guarda[i]=guardaa[i]; guarda 1 (i]=guardaa 1 (i); )

r LUGAR DONDE SE LEEN LAS EXCITACIONES POR */ r PATRON Y LAS CONCENTRACIONES */

font = fopen(n_archivo."r+t"); for (i=0; i<pendiente1[4], i++)

{fscanf(fent,”%i %An", a rreglo, concent);guardaa[i]=arreglo[0]; guardaa1[i]=concentl0);

}fclose(fent);for (i=0; i<pendiente1(4]; i++) {

Page 121: Micro photometer`s automation for quantitative ...

arreglo[i]=guardaa[il; concent[i)=guardaa 1 [i]; }

patrones=pendiente 1 [4];pendiente[0]=pendiente1 [51; pendiente[1]=pendiente1[6]; resultados2(b, g);

if (mom == 1.000000)(

strcpy(a.nom,nombre_a); strcpy(a tipo, "r+b"); strcatta.nom.-.TXT); a.crea * 0; n_re = atol(O);

if (!abre_arch(4a)){

menu1();}

Z* NOMBRE DE ARCHIVO V r TIRO LECTURA */Z* CON LA EXTENSION TXT *Z Z* QUE VEA QUE YA EXISTE */ Z* NOMERO DE REG. A LEER *Z

Z* si hay error al abrirto.. *Z

curvas_trabajo();

if (!busca_registro(a.ar, n re, &e)) Z*por si no exisle el regislro'Z {fclose(a.ar);menu1(); curvasJrabajoQ;

}

r LUGAR DONDE SE EFECUTUA LA LECTURA DE TRANSMITANCIAS *Z Z* DE ELEMENTO PATRON INTERNO Y BASE, 0 ELEMENTO Y FONDO "Z

infile = fopen(nom_archivo,"r+H: for (i=0; i<pendiente1[3); i++)

{fscanf(infile,"%f %f\n",guarda,guarda1);guardaa[i]=guarda[0); guardaaf [i]=guarda 1 [0],

}fclose(infile);

for (i=0; i<pendiente1[3); i++) (guarda[i]=guardaa[i); guardal [i)=guardaa1 [i]; }

r LUGAR DONDE SE LEEN LAS EXCITACIONES FOR *ZZ‘ PATRON Y LAS CONCENTRACIONES V

fenl = fopen(n_archivo,"r+r);for (i=0; i<pendiente1[4); i+>)

{fscanf(fent,"%i %f\n",arreglo,concent); guardaa[i]=arreglo[01; guardaa1[i]=concent[0);

)fclose(fent);for (i=0; i<pendienle1[4]; i++) {

arreglo[i]=guardaa[i], concent[i]=guardaa1[iJ; }

patrones=pendienle1[4]; pendiente[0]=pendiente1[5l;pendiente[1]=pendiente1[6]; resultados1(a, e);

}clave1-1. clave2=2, dave=3;

}

Page 122: Micro photometer`s automation for quantitative ...

f* ******** funciOn que imprime EN PANTALLA LA grAfica obtenida •—**** 7I ******«*»*♦. ************

void graficarl (void) {

int i, x, y, maxy, x_y, x_y1; float guarda8[30), guarda9[30];

inicia_graficos(); maxy = getmaxy(); setcolor(WHITE); for (i=0;i<patrones;i++)

{guarda8[i]=concent[i]; guarda9[i]=guarda7[i];guarda8[ij=log10(guarda8[ij); guarda9[ij=log10(guarda9[i]);guarda8[ij=(guarda8[i]*100)+ 230; guarda9[ij=guarda9[i]*100: guarda9[ij=(maxy-guarda9[i])- 250; putpixel(guarda8[i],guarda9[i]*fac,WHITE);

}x_y=((tog 10( 1 5)-pendiente 1 [1 l)/pendiente 110])* 100; x_y1 =((log 10(99)-pendiente1 [1 j)/pendiente1 [0])*100;setcolor(CYAN); settextstyle(SMALL_FONT, HORIZ_DIR, 6);Iine(x_y,(maxy-123)*fac,x_y1+73,(maxy-353*fac));outtextxy(180,20*fac,"PENDIENTE DE LA CURVA DE TRABAJO ");outtextxy(275,maxy-45*fac,"CONCENTRACION“);settextstyle(SMALL_FONT, VERT_DIR, 6);outtextxy(30,maxy-300*fac,"M E D I A");setcolor(LIGHTGRAY);line(50,maxy-55*fac,600,maxy-55*fac); /* linea horizontal*/line(70,maxy-30*fac,70,maxy-430*fac); /* linea vertical 7getch(); dosegraph();

}

f **•*«**♦**♦**“•**«"*»* RUT1NA CtUE REALIZA PROCEDIMfENTO »*♦**•*«*•«»*****•*"“**•*« •/ r »****«♦»***•**• PARA HAtLARLA CONCENTRACitiN EN ELEMENTOS *“«•**»«•»—•**♦**♦* */

/•ESTRUCTURA PARA GUARDAR DATOS DEL: ELEMENTO PATRON INTERNO EN MUESTRAS 7typedef struct]

char operador[50);char fecha[25], alto_abert[20], anch_abert[20], nom_elem1[30), unidades[10); char Iinea1[20], filtro[20], emulsion[30J, nom_elem2[30] unidades[10); char Iinea2(20j, serie_placa1[20], serie_placa2[20], rejilla[20); char nom_arch[30]; r NOMBRE DEL ARCHIVO A GRABAR 7 char nom_arch1[30]; /* NOMBRE DEL ARCHIVO DE LA C.F. 7 char nom_arch2[30]; /* NOMBRE DEL ARCHIVO DE LA C T. 7

}t_registro2;

r ♦♦****♦•****♦♦** ESTRUCTURA PARA COLOCAR EL MENU ........... *................/struct t_cor{

int pos2_x,pos2_y; char etiq2[36];

):

typedef struct t_cor t_cord; t_cord lugar[M_MAxT);

II4

Page 123: Micro photometer`s automation for quantitative ...

/* #******»*****»*»»M*MM**t«***t*#***M*##*****m*m****»t»»*»*#***t*»***»***t***»**m*M**« »f

l‘ **•♦**“ FUNClON PRINCIPAL PARA QETERMINAR CONCENTRACIONES---------7

void final(void){

closegraph(); detecta();menu2(); clave=0;dave1=0; analisis(),

>

********»»**»***»»**»»»**»*******»»********M*****#*******»»»M*lr**m»***#«****#*»*»**#***#»»»* *1r ........................FUNClON QUE INICIAUZA EL PROCEDIMIENTO PARA...................... 7/* HALLAR LA CONCENTRACION de ELEMENTOS. *••**•*•***•*•**** */

••♦•♦****i> **•*♦**♦♦♦*♦***•»*»»»»* **»»•»»♦*»»•» * iint carac_e2(void) "™ ™ —™

{char cad[20J; int i;intc2a=fe’,W.l.l.*.t);t_archh a1; t_registro2 e1; chars;

r CONTADOR 7r SlMBOLOS USADOS PARA EL MARCO */r parAmetros para archivo •/r APUNTADOR A ESTRUCTURA 7

closegraph();r LLENA ESTRUCTURA t arch LA CUAL CONTIENE TODAS LAS CARACTERlSTICAS 7 r DEL ARCHIVO: NOMBRE, TIPO Y LA INDICAClON SI CREA O NO AL ARCHIVO 7 clrscr(); textcolor(LIGHTBLUE);margen(c2); textcolor(LIGHTGRAY);gotoxy(17,6); cprlntff"*** NOMBRES DE ARCHIVOS YA GRABADOS *****");gotoxy(14,14); cprlntffDame el nombre del archive a grabar...strcpy(a1 .nom.gets(cad)); strcpy(nombre_a,a1 nom); strcat(a1 .nom.’.TXT); strcpy(a1 .tipo.Twb"); al.crea = 1;

/* NOMBRE DE ARCHIVO 7

Z* CREA UNO NUEVO 7

if (!abre_arch2(&a1)) { menu2(); analisisQ; }

gotoxy(14,15); cprintfC'Nombre del archivo de la Curva Final..");strcpy(nom_arc,gets(cad));intensidad_patronQ; gotoxy(14,16);cprintfC'Nombre del archivo de las Curvas de Trabajo.. ");strcpy(nom_archlvo,gets(cad));pendiente_trabajo<);

if ((Hena_registro2(a1 .a1 r,a1))==0){

printf("Error para abrir!!"): menu2(); analisis();

}fclose(al.alr);

r DESPUES DE QUE GRABA.TOMA LECTURA DE TRANSMITANCIAS 7 peticion3(a1,e1);

r REALIZA PROCEDIMIENTO PARA EL CALIBRADO DE LA EMULSION 7 clave=5; /* DETERMINA SI HAY O NO DATOS EN EL REGISTRO 7resultados3(a1, e1);

/* FINALMENTE SE REGRESA AL MENU DE CALIBRADO DE LA EMULSION 7 /* PARA PODER ELEGIR OTRA OPClON 7

menu2(); analisisQ;return(1);

)

115

Page 124: Micro photometer`s automation for quantitative ...

z*........ *............................. ................................................... .................. .........................Z* ***** FUNClON PARA LEER LA PENDIENTE DE LAS CURVAS DE TRABAJO........../Z* —...................................... .................................................................. .......................... /

void pendiente_trabajo(void){

FILE *fe;float pendientee[21; int i;

strcat(nom_archivo,".PEN"); if ((fe = fopen(nom archive,*r+t*)) == NULL)

{gotoxy(10,18) gotoxy(10,19) gotoxy(10,20); getch(); menu2();

}for (i=0; i<2; i++)

{fscanf(fe,"%f',pendiente1); pendientee[il=pendiente1 [0];

cprintffEse Archive NO existe !!");cprintffEs necesario quo ahora des nuevamente los nombres de los"); cprintffarchivos que vas a grabar.despuds de pulsar cualquier tecla"); closegraph(); analisis(),

}fclose(fe); for (i=0; i<2; i++)

(pendientel [i]=pendientee[ij;

}}

y* **********************************************************************************************

Z* ******** FUNCldN QUE GUARDA TODOS LOS DATOS DEL ELEMENTO..................ZZ* ***** PATRON INTERNO EN MUESTRAS Y DE LA MUESTRA PROBLEMA............../

int llena registro2(FILE *a1p,t archh at){

t_registro2 e1;int i, array, n. b. c, ee, A, AA, B, C, D, E, patron; float cone, trans; char cad[401;int cio={f'r,i\'; I•}; z* sImbolos usados para el marco *z

drscr(); textcolor(LIGHTGRAY);margen(cl), gotoxy(15,7);cprintff’**** ELEMENTO PATRON INTERNO EN MUESTRAS *..... ),textcolor(LIGHTRED); gotoxy(22,10);cprintff’Nombre del Operador:");strcpy(e1 operador,gets(cad));gotoxy(22,11); cprintffFecha; ");strcpy(e1 fecha.gets(cad));gotoxy(22,12); cprintffAltura de la Abertura: ");strcpy(e1 alto_abert,gets(cad));gotoxy(22,13); cprintf("Anchura de la Abertura: ”);strcpy(e1 anch_abert,gets(cad));gotoxy(22,14); cprintf("Nombre del Elemento :");strcpy(e1 nom_elem1 ,gets(cad));gotoxy(22,15); cprintf(”Linea :");strcpy(e1. lineal,gets(cad));gotoxy(22,16); cprintffFiltro:");strcpy(e1 .filtro.gets(cad));gotoxy(22,17); cprintf("Numero de Placa:");strcpy(e1 serie_placa1 .gets(cad));gotoxy(22,18); cprintffDa el numero de Muestras a analizar: ");scanf("%i",&patrones); patron=patrones;if (patrones<0 || patrones>10)

Page 125: Micro photometer`s automation for quantitative ...

gotoxy(22,18); textcolor(WHITE);printff*** ERROR!: EL VALOR NO DEBE SER MAYOR A 9 Nl MENOR A 0delay(ISOO);gotoxy(22,18);cseanff%i”,&patrones);

clrscit);cprintffDa el nEmero de Muestras a analizar: ");

printff ”);cprintff Espectros a analizar en la Muestra %&. ".patron);arregk>[n]=array;

textattr(UGHTGRAY+(BLACK «4)); clrscrQ; gotoxy(25,7);cprintff***** MUESTRA PROBLEMA. ***""");

patron=patrones; cprintffNombre del Elemento : “);

}patron=patrones; for (n=0,n<patrones,n++)

(gotoxy(32,19); gotoxy(22,19), scanff%d",&array); patron=patron-1;

)drscr(); margen(cl); textcotor(LIGHTGRAY); textcolor(LIGHTBLUE); gotoxy(22,10); strcpy(e1 nom_elem2,gets(cad)); strcpy(e1 nom_elem2,gets(cad)); gotoxy(22,11); cprintff Linea :");strcpy(e1 Iinea2,gets(cad));gotoxy(22,12); cprintff Numero de Placa: ");strcpy(e1 serie_placa2,gets(cad));strcpy(e1 nom_arch,a1 .nom);strcpy(e1 nom_arch1 ,nom_arc);strcpy(e1 nom_arch2,nom_archivo);gotoxy(22,13); cprintffTipo de emulsidn: ");strcpy(e1 emulsion, gets(cad));gotoxy(22,14); cprintffTipo de Rejilla: ");strcpy(e1. rejilla,gets(cad)); patron=patrones;gotoxy(22,15); cprintff Unidades de concentracidn:");strcpy(e1 unidades,gets(cad));for (n=0;n<patrones;n++)

(gotoxy(32,16);gotoxy(22,16);scanff%d",&array);patron=patron-1;

)

printff 1;cprintffCuil es el Registro de la Muestra %d: ".patron);arreglo1(n]=array;

cprintff Observaciones:");gotoxy(22,17); strcpy(e1 .observac.gets(cad)); strcpy(e1 observac,gets(cad)); textcolor(LIGHTGRAY);gotoxy(45,24); cprintff** Espera un poco **..");if (fwrite(&e1 ,sizeof(t_registro2),1,a1p)!=1);return(1);

}

r.........******* funciOn que realiza la peticiOn DE LOS DATOS. *****•"“**•* •//*.................................................. ........................... ../void peticion3(t_archh a1 t_registro2elj

{char cad[80); float trans=0.0;int i, n, b, c, cc, d, ee, A, AA, B, C, D, E, n_re, patron;int C2IK,'./* SlMBOLOS USADOS PARA EL MARCO */ unsigned int DATOt, DAT02; int unidades=0, decenas=0, centenas=0; outportb(CTRL.PALABRA);

r **“ LEE DATOS DEL ARCHIVO Y EL CONTENIDO DEL REGISTRO **** */ strcpy(a1 ,nom,nombre_a); /* NOMBRE DE ARCHIVO */ strcpy(a 1 tipo. "r+b"); /* TIPO LECTURA */

117

Page 126: Micro photometer`s automation for quantitative ...

strcat(a1 .nom,".TXT"); al.crea = 0; n_re = atol(0);

/* CON LA EXTENSION TXT */ /* QUE VEA QUE YA EXISTS V /* NUMERO DE REG A LEER V

if (!abre_arch2(&a1)) /' POR SI HAY ERROR AL ABRIRLO V{

menu2(); analisis();)

/‘POR SI NO EXISTS EL REGISTRO 7if (!busca_registro2(a1 air, n_re, &e1))

{fclose(al.alr);menu2(); analisis();

)clrscr(); AA=0, d=ee=0;textattr(LIGHTRED+(BLACK«4)); clrecr(); margen(c2);textcolor(LIGHTGRAY); gotoxy(30,25);cprintff *** Pulse ENTER para Tomar la Lectura *** ");gotoxy(15,2); textcolor(WHITE); gotoxy(18,4); gotoxy(52,2); patron=patrones; for (b=0;b<patrones;b++)

{if (patrones<5)

{A=8,E=8;

cprintffELEMENTO PATRON INTERNO EN MUESTRAS:");

cprintf("% T);cprintf("%s",e1 ,nom_elem1);A=43, 8=5. C=8, 0=5. E=43;

>if (patron==4 && AA==1)

{textcolor(WHITE); gotoxy(53,4); cprintf(''% T”);

}if (patron<5)

{textcolor(LIGHTRED);gotoxy(A.B); cprintf("Muestra %d:",patron);A=A+11; c=0;while(c<arregk>[dj)

{textcolor(LIGHTGRAY); gotoxy(A.B); do {

DAT01=inportb(PTOA); DAT02=inportb(PTOB); unidades= 0ATO1%16; decenas=DAT01/16; decenas=decenas*10; centenas=0ATO2 & 1; centenas=centenas*100; trans=centenas+decenas+unidades; trans=trans;gotoxy(A.B); cprintf(" ”);gotoxy(A,B); cprintf("%. 1 f.trans);

)while(!kbhit()); switch(cc=getch())

{case ENTER:

guarda[ee]=trans, ee=ee+1, B=B+1, c=c+1; break,

case F_ARR:gotoxy(A.B); cprintf(" “):ee=ee-1, guarda[ee]=0 0, c=c-1, B=B-1; break;

Page 127: Micro photometer`s automation for quantitative ...

default:gotoxy(A.B);ee=ee, B=B, c=c, guarda[ee)=guarda[ee]; break;

}}

d=d+1, patron=patron-1, A=E, B=B+1;}if (patron>4)

{textcolor(LIGHTRED);gotoxy(C.D); cprintffMuestra %d:", patron);C=C+11; c=0;while(c<arreglo[d])

{textattr(LIGHTRED+(BLACK«4)); textcolor(LIGHTGRAY); gotoxy(C.D); do {DAT01 =inportb(PTOA);DAT02=inportb(PTOB); unidades= DAT01%16; decenas=DATG1 /16; decenas=decenas* 10; centenas=DAT02 & 1; centenas=centenas*100; trans=centenas+decenas+unk)ades; trans=trans;gotoxy(C.D); cprintff ");gotoxy(C.D); cprintff%.1f\trans);

}while(!kbhitO);switch(cc=getch())

{case ENTER:

guarda(eel=trans, ee=ee+1. D=D+1, c=c+1; break;

case F_ARR:gotoxy(C.D); cprintf(" *);ee=ee-1, guarda[ee)=0.0, c=c-1, D=D-1; break;

default:gotoxy(C,D);ee=ee, D=D, c=c, guarda[ee]=guarda[ee]; break;

}}

d=d+1, patron=patron-1, C=8, D=D+1;}AA=1;

}pendiente2[3]=ee, ee=0, AA=0, d=0; clrscr();textattr(LIGHTBLUE+(BLACK«4));textcolor(LIGHTBLUE);clrscr(); margen(c2);textcolor(LIGHTGRAY); gotoxy(30,25);cprintff “* Pulse ENTER para Tomar la Lecture " ");gotoxy(27,2); cprintff MUESTRA PROBLEMA:");textcolor(WHITE);gotoxy(18,4); cprintff % T’);gotoxy(45,2); cprintf("%s",e1 nom_elem2);patron=patrones; A=43, B=5, C=8, D=5, E=43;for (b=0,b<patrones;b++)

{if (patrones<5)

Page 128: Micro photometer`s automation for quantitative ...

{A=8,E=8;

if (patron==4 && AA==1){

textcolor(WHITE);gotoxy(53,4); cprintff% T"),

}if (patron<5)

{textcolor(LIGHTBLUE);gotoxy(A,B); cprintffMuestra %d", patron);A=A+11,c=0;while(c<arreglo[d])

{textcolor(LIGHTGRAY);gotoxy(A.B);do {

DATG1 =inportb(PTOA);DAT02=inpoitb(PTOB); unidades= DAT01%16; decenas=DAT01/16; decenas=decenas*10; centenas=DATG2 & 1; centenas=centenas*100; trans=centenas+decenas+unidades; trans=trans;gotoxy(A.B); cprintff ");gotoxy(A,B); cprintf("%.ir,trans);

}while(!kbhit());switch(cc=getch())

{case ENTER:

guarda1[ee]=trans, ee=ee+1, B=B+1, c=c+1; break;

case F_ARR:gotoxy(A.B), cprintff ");ee=ee-t, guarda1[eej=0 0, c=c-1, B=B-1; break;

default:gotoxy(A.B);ee=ee, B=B, c=c, guarda 1 [ee]=guarda[ee]; break;

}}d=d+1, patron=patron-1, A=E, B=B+1;

}if (patron>4)

{textcolor(LIGHTBLUE);gotoxy(C.D); cprintffMuestra %d:",patron);C=C+11, c=0; while(c<arreglo[dl)

{textcolor(UGHTGRAY);gotoxy(C.D);do {

DAT01 =inportb(PTOA);DAT02=inportb(PTOB); unidades= DAT01%16; decenas=DATO1/16; decenas=decenas*10; centenas=DAT02 & 1; centenas=centenas*100; trans=centenas+decenas+unidades; trans=trans;

}

120

Page 129: Micro photometer`s automation for quantitative ...

gotoxy(C,D); cprintf(" ");gotoxy(C.D); cprintf("%.1f",trans);

}while(!kbhit());switch(cc=getch())

{case ENTER:

guarda1[ee]=lrans, ee=ee+1, D=D+1, c=c+1, break;

case F_ARR:gotoxy(C.D); cprintff *);ee=ee-1, guarda1[ee]=0.0, c=c-1, D=D-1; break;

defaultgotoxy(C.D);ee=ee, D=D, c=c, guarda1[ee]=guarda[ee]; break;

}>d=d+1, patron=patron-1. C=8, D=D+1;

}AA=1;

}textattr(LIGHTGRAY+(BLACK«4));gotoxy(30,25); cprintff Pulse cualquier tecla para continuar ");textattr(LIGHTGRAY+(BLACK«4));gotoxy(70,25); getchO;clrscr(); cc=cc;

}y» *#*#*#*#*#*»*&#****#*##**#*##****»»******#***«*»**»****##*#'*A###****-****#**#**#*#***»*#*#*#**** njr *** FUNClON QUE IMPRIME EN PANTALLA LOS RESULTADOS OBTENIOOS. *** V

void resultados3(t_archh a1 ,t_registro2 e1){double z;char cad[80);int c,n_re,i,patron.em,b,d;float I. seidel, sum_x, sum_y, sum_xy, sum_x2, lejp, A, B, media, guarda8[50]; float guarda2[30], guarda3[30], guarda4[30], guarda5[30], float guarda6[30];

f LEE DATOS DEL ARCHIVO Y EL CONTENIDO DEL REGISTRO */ r PARA DESPUES IMPRIMIR V

strcpy(a1 nom,nombre_a); r NOMBRE DE ARCHIVO */ strcpy(a1 tipo, "r+b”); /* TIPO LECTURA */strcat(a1 nom.-.TXT); /* CON LA EXTENSION TXT */al.crea = 0; /* QUE VEA QUE YA EXISTS */n_re = atol(0); /* NOMERO DE REG. A LEER V

if (!abre_arch2(&a1)) /* POR SI HAY ERROR AL ABRIRLO... */{

menu2(); analisis();}

if (Ibusca registro2(at.a1r, n re, &e1))/* POR SI NO EXISTE EL REGISTRO V{fclose(a1.a1r),menu2(); analisis();

}dosegraphO;

Z* *****--------********* CORRECClON DE SEIDEL....................................... Ifor (c=0;c<pendiente2[3];c++)

{seidel=(100Zguarda[c])-1;guarda2[c]=seidel; Z* SEIDEL DEL E P I. *Zseidel=( 10OZguarda 1 [c])-1;

I2I

Page 130: Micro photometer`s automation for quantitative ...

/..........INTENSIDAD DEL ELEMENTO PATRON INTERNO EN MUESTRAS......... Z/...........................E INTENSIDAD DE LA MUESTRA PROCLEMA ............................../

for (c=0;c<pendiente2[3];c++){

z=(log 10(guarda2[c])-pendiente[ 1 ])/pendiente[0]; l=pow(10,z);guarda4[c]=l; /* Ip INTENSIDAD DEL E P. 1.7z=(log10(guarda3[c]>-pendiente[1 ])/pendiente[0]; l=pow(10,z);guarda5[c]=l; /* le INTENSIDAD DE LA M P.7

}

r RELACION I E/IP (INTENSIDAD DE LA M P/ELEMENTO PATRON INTERNO EN M ) 7 for (c=0;c<pendiente2[3];c+*)

{Ie_lp=guarda5{c]/guarda4[c];guarda6[c]=l<# Ip; /* guardaO TIENE EL VALOR DE LAS le/lp 7

}

r ..................... . MEDIA DE CADA MUESTRA........................................./media=0,em=0,d=0; for (b=0;b<patrones;b++)

{for (c=0;c<arreglo[d];c++)

{media=media+guarda6[em);em=em+1;

}media=media/arreglo[d];guarda7[b]=media; /* guarda? tiene el valor de cada media 7d=d+1; media=0;

}

guarda3[c]=seidel; r SEIDEL DE LA M R. 7}

/* ** PROCEDIMIENTO FINAL PARA HALLAR LA CONCENTRACION DE LA ** 7 /• ............................. MUESTRA PROBLEMA. ..... ................ .. .. •/

for (c=0;c<patrones;c++){

z=(log10(guarda7[c))-pendiente1 [1 ))/pendlente1 [0]; l=pow(10,z);guarda8(c]=l; r CONCENTRACION DE LA M. P.7

}pendiente2[0]=pendiente[01; pendiente2[1 l=pendiente[1 ]; pendiente2[2]=1.000000; pendiente2(4J=patrones; pendiente2(5]=pendiente 1 [0); pendiente2(6]=pendiente1 [1 ];

/* *** RUTINA PARA GUARDAR AUTOMATICAMENTE LOS RESULTADOS *** 7 if (clave==5)

{grabar_resul();

}

r ............... RUTINA PARA TRABAJAR EN MODO GRAFICO......................../inicia_graficos(); setcolor(BLUE);inin(570,42,20); /* POSIClON DE: X.Y, y TAMANO DEL RADIO 7setbkcolor(CYAN); /* COLOR DE FONDO DE LA PORTADA FINAL 7setcolor(WHITE); recta ngle( 1,1 ,getmaxx()-1 ,getmaxy()-1);setcolor(BLUE); rectangle(3,3,getmaxx()-3,getmaxy()-3);setcolor(VVHITE); rectangle(5,5,getmaxx()-5.getmaxy()-5);setcolor(BLUE); rectangle(7,7,getmaxx()-7,getmaxy()-7);setcolor(WHITE); rectangle(9,9,getmaxx()-9,getmaxy()-9);settextstyle(SMALL_FONT,HORIZ_DIR,6); outtextxy(200,11RESULTADOS ANALITICOS."); setusercharsize(2,2,1,1); setcolor(BLUE);outtextxy(33,35*fac,"OPERADOR:“);

Page 131: Micro photometer`s automation for quantitative ...

outtextxy(310,35*fac,"NOMBRE DEL ARCHIVO");outtextxy(33,45*fac,"FECHA:");outtextxy(310,45fac,"ARCHIVO DE CURVA FINAL”);outtextxy(33,75*fac,"ARCHIVO DE LAS CURVAS DE TRABAJO");outtextxy(33,55*fac,"ALTURA DE LA ABERTURA:");outtextxy(310,65”fac,"ANCHURA DE LA ABERTURA:");outtextxy(33,65*fac,"FILTRO:"),outtextxy(310,75*fac,"TIPO DE EMULSION:”);outtextxy(310,55*fac,“TIPO DE REJILLA:”);outtextxy(33,85*fac,"OBSERVACIONES:");outtextxy(310,85”fac,*UNIDADES DE CONCENTRACION:");outtextxy(63,115*fac,"E.P.I EN MUESTRAS:");oultextxy(370,115*fac,"MUESTRA PROBLEMA:");outtextxy(63,125*fac,"LONGITUD DE ONDA:”);outtextxy(370,125*fac,"LONGITUD DE ONDA;");outtextxy(63,135*fac,*NClMERO DE PLACA:");outtextxy(370,135*fac,"NClMERO DE PLACA:");setcolor(WHITE); sprintf(cad,"%s",e1 .nom_elem1); sprintf(cad,"%s",e1 .nom_elem2); sprintf(cad,"%s ",e1 lineal); sprintf(cad,”%s ,e1.linea2); sprintf(cad,"%s",e1 serie_placa1); sprintf(cad,“%s",e1 .serie_placa2); sprintf(cad,“%s",e1 .operador); sprintf(cad,"%s",e1 .fecha); sprintf(cad,"%s".nombre_a); sprintf(cad,"%s",e1 .nom_arch1); sprintf(cad,"%s",e1 alto_abert); sprintf(cad,"%s",e1 anch_abert); sprintf(cad,"%s",e1 filtro); sprintf(cad,"%s",e1 emulsion); sprintf(cad,"%s",e1 .rejilla); sprintf(cad,"%s",nombre_a); sprintf(cad,"%s",e1 .nom_arch2); sprintf(cad,”%s",e1 unidades); sprintf(cad,"%s",e1 .observac); line(33, 113‘fac, 590,113*fac); line(33, 425*fac, 590,425'fac); line(265,113*fac, 265, 425*fac); line(590, 113*fac, 590, 425‘fac); line(33, 113*fac, 33, 425*fac); setcolor(BLUE);outtextxy(40,150*fac,"# MUESTRA"); outtextxy(150,150*fac,"SEIDEL"); outtextxy(290,150*fac,"% T'); outtextxy(390,150*fac,"le"); outtextxy(485.150*fac,"MEDIA"); A=40,B= 160,i=0,patron=patrones;

outtextxy(171,115"fac,cad); outtextxy(476,115*fac,cad); outtextxy(170,125*fac,cad); outtextxy(475,125*fac, cad); outtextxy(165,135*fac,cad); outtextxy(470,135*fac,cad); outtexlxy(92,35*fac,cad); outtexlxy(77,45*fac,cad); outtextxy(430,35"fac,cad); outtextxy(450,45*fac,cad);

outtextxy(173,55*fac,cad); outtextxy(455,65*fac,cad), outtextxy(82,65*fac,cad); outtextxy(420,75*fac,cad); outtextxy(415,55*fac,cad); outtextxy(430,35*fac,cad); outtextxy(227,75*fac,cad); outtextxy(475,85*fac,cad); outtextxy(120,85*fac,cad);

/"linea horizontal ARRIBA */ Z*linea horizontal ABAJO */

Hlnea vertical DIVISORA*/Hinea vertical DERECHA"//"linea vertical IZOUIERDAV

outtextxy(110,150*fac,”% T“); outtextxy(225,150"fac,"lp"); outtextxy(325,1 S0*fac,"SEIDEL"); outtextxy(440,150*fac,"le/lp"); outtextxy(540,150*fac,"CONCENT."); setcolor(WHITE);

for (c=0;c<patrones;c*+){sprintf(cad,"%i",patron);A=62;sprintf(cad,"%i",arreglo1[cl);A=485;sprintf(cad,"%.4r,guarda7[c]);A=542;sprintf(cad,"%.3r,guarda8[c]);

A=107;for (b=0;b<arreglo{c];b++)

(

r No. de Patrdn */ outtextxy(A,B*fac,cad); /•Registro de la muestra*/

outtextxy(A, B*fac, cad); r Media V outtextxy(A,B*fac,cad); /•ConcentracidnV outtextxy(A,B‘fac,cad); patron=patron-1;

r % T E P I. EN MUESTRAS */sprintf(cad."%. 1 f',guarda[il); outtextxy(A,B*fac,cad); A=150; /"seidel de %TVsprintf(cad,"%.3f',guarda2[i]); outtextxy(A,B*fac,cad); A=210; /" Ip Vsprintf(cad,"%.3f“,guarda4[i]); outtextxy(A,B*fac,cad);

Page 132: Micro photometer`s automation for quantitative ...

A=287; Z* %T MUESTRA PROBLEMA*/sprintf(cad,"% 1 r.guarda 1 [i]); outtextxy(A,B*fac,cad);A=325; Z-sei. M P.Vsprintf(cad,"%.3f',guarda3Ii]); outtextxy(A,B*fac,cad);A=380; Z* le *Zsprintf(cad,"%.3f',guarda5[il); outtextxy(A,B*fac,cad);A=435; Z* le/lp *Zsprintf(cad,"%.4f',guarda6[i]); outtextxy(A,B*fac,cad);B=B+10, i=i+1, A=107;

}A=40;

}setcolor(LIGHTCYAN);oultexlxy(395,440*fac,"PULSE CUALQUIER TECLA PARA CONTINUAR ”); getch();clave=1, clave1=2, closegraph();

}

Z* ******** FUNClON QUE GUARDA EN DISCO TODOS LOS RESULTADOS.................. /Z" ****••—•**»*••*•••***•*♦*•♦*»•*•*••••*.......................................... .................................. ./

void grabar resul(void){int i;char nom_archivo[30],nom_archi[30],n_archivo[30],nom_arcI30];FILE *fs,*fsa;FILE *outfile,*fsal;

Z* PUNTERO PARA GRABAR, DEFINE VARIOS "Z r ASPECTOS DE UN ARCHIVO V

strcpy(nom_archivo,nombre_a);strcat(nom_archivo,".TRA”);strcpy (n_a rch ivo, nombre_a);strcat(n_archivo,’'.PEN");strcpy(nom_arc,nombre_a);strcat(nom_arc,".EXC");

Z* PARA LAS TRANSMITANCIAS '/

Z‘PARA LA PENDIENTE *Z

Z* PARA EXCITACIONES POR MUESTRAS "Z

Z* **“• RUTINA PARA GUARDAR LAS TRANSMITANCIAS DEL E P I Y DE LA ***** *ZZ................................................... MUESTRA PROBLEMA........................................................Z

fs = fopen(nom_archivo,"wt"); for (i=0; i<pendiente2[3]; i++)

{fprintf(fs,"%10.4f %10.4f\n",guarda[i],guarda1[i]);

}fclose(fs);

Z* LUGAR DONDE SE GUARDAN LOS DATOS DE LAS PENDIENTE DE LA CURVA *Z Z* FINAL, CLAVE (1 O 2) PARA SABER SI HAY FONDO, TOTAL DE TRANSMITANCIAS*/ Z* ,# DE PATRONES Y PENDIENTE DE LAS CURVAS DE TRABAJO. *Z

outfile = fopen(n_archivo,"wt");

for (i=0; i<7; i++){

fprintf(outfile,"%.6f\n",pendiente2[i]),}

fclose(outfile);

Z* ** RUTINA PARA GUARDAR LAS EXCITACIONES POR PATRON O MUESTRA ** *Z fsal = fopen(nom_arc,"wT);

for (i=0; i<patrones; i++)(

fprintf(fsal,"%i %i\n",arreglo[i],arreglo1 [i]);}

fclose(fsal);closegraph();

}

Page 133: Micro photometer`s automation for quantitative ...

Z* *****............. **** funciOn para leer archivos guardados *— -------* 7z* ....................................................................................................................... .void leer archivo(void)

Cchar nom_archi[30],n_archivo[30],nom_arc{30],cadl80]; ini cD=f r’.v.’'I'}; Z* SlMBOLOS USADOS PARA EL MARCO 7ini cin={V,7,V:.r,'—\'l y. Z* SlMBOLOS USADOS PARA EL MARCO 7ini i,n_re,numero;FILE *fe,*fen,*infile,*fent;float pendientee[3],guardaa[50],guardaa1[50];Larchh a1; Z* PARAMETROS PARA ARCHIVO 7t_registro2 e1; Z* APUNTADOR A ESTRUCTURA 7

dosegraphO; cltextattr(WHITE+(RED«4)); margen(c); tegotoxy(20,13); qstrcpy(nombre_a,gets(cad)); if (clave! ==2)

{strcpy(nombre_a,gets(cad)); clave=0;

}textcolor(LIGHTGRAY); gotoxy(45,24);

strcpy(nom_archivo,nombre_a); strcat(nom_archivo,".TRA”); strcpy(nom_arc,nombre_a); strcat(nom_arc,".PEN"); strcpy(n_archivo,nombre_a); strcat(n_archivo,".EXC");

lrscr();

jxtattr(LIGHTRED+(BLACK«4)); printffDame el nombre del archive... ”);

cprintff’** Espera un poco

/* PARA LAS TRANSMITANCIAS7

r PARA LAS PENDIENTES 7

Z* PARA EXCITACIONES PZMUE 7

Z* ******* LUGAR DONDE SE EFECTUA LA LECTURA DE LA PENDIENTEif ((fe = fopen(nom_arc,"r+n) == NULL)

{dosegraphO;textattr(WHITE+(RED«4));margen(cl);gotoxy(24,13);delay(1500);fdose(fe);analisis();

}

clrscrQ:

textattr(LIGHTREO+(BLACK«4)); cprintffERROR: Ese Archive NO existe M“);

clrscr();menu2();

7

for (i=0; i<7; i++){

fscanf(fe,”%f',pendiente2); pendientee(i]=pendiente2[0);}

fclose(fe);

for (i=0; i<7; y++){

pendiente2(i)=pendientee[i];}

strcpy(a! nom,nombre_a); strcpy(a! tipo, *r+b“); strcat(a1 nom.'TXT); al.crea = 0; n_re = atol(0);

Z* NOMBRE DE ARCHIVO 7 Z* TIPO LECTURA 7 Z* CON LA EXTENSION TXT 7 Z* QUE VEA QUE YA EXISTE 7 Z* NUMERO DE REG. A LEER 7

if (!abre arch2(&a!)) /* SI HAY ERROR AL ABRIRLO 7(menu2(); analisis();

Page 134: Micro photometer`s automation for quantitative ...

}

if (Ibusca registro2(a1 .air, n_re, &e1)) /*POR SI NO EXISTE EL REGISTR07{

fclose(al.alr);menu2(); analisis();

}

/* LUGAR DONDE SE EFECTUA LA LECTURA DE TRANSMITANCIAS 7 /• DE ELEMENTO PATRON INTERNO Y BASE, O ELEMENTO Y FONDO 7

infile = fopen(nom_archivo,"r+r); for (i=0; i<pendiente2[3]; i++)

{fscanf(infile,"%f %An",guarda,guarda1); guardaa[iJ=guarda(0]; guardaal [i]=guarda 1 [0};

}fdose(inftle);

for (i=0; i<pendiente2[3]; i++) {guarda[i)=guardaa[i); guarda1li)=guardaa1[i]-, }

r * LUGAR DONDE SE LEEN LAS EXCITACIONES POR PATRON O MUESTRA * 7font = fopen(n_archivo,’r+0;for (i=0; i<pendiente2[4]; H-+)

{fscanf(fent,''%i %i\n",arreglo,arreglo1);guardaa[ij=arreglo[0);guardaal [i]=arreglo1[0];

}fdose(fent);

for (i=0; i<pendient#2[4J; i++) {arreglo[i]=guardaa[i]; arreglo1[i]=guardaa1[il; )

pendiente[0]=pendiente2[0]; pendiente[1]=pendiente2[l],patrones=pendiente2[4], pendientel [0]=pendiente2[5];pendiente1[1]=pendiente2[6]; resultados3(a1, el);dave2=3, dave1=1; dosegraphO;

}

Page 135: Micro photometer`s automation for quantitative ...

FUENTES DE EXCITACION.

Page 136: Micro photometer`s automation for quantitative ...

TIPOS DE FUENTES DE EXCITACIONFLAMA.Es una fuente de excitacion de baja energia, por lo que se utiliza para el analisis de elementos de baja volatilidad y potencial de excitacion, como los materiales alcalinos y alcalinoterreos.

ARCO DE CORRIENTE CONTINUA.El arco electrico se produce por el paso de corriente entre dos electrodes, volatilizandosc la substancia y produciendo la excitacion de la misma, en la siguiente figura se muestra este circuito.

R

electrodes

ARCO

Figura 1. Esquema del Circuito para Arco de Corriente Continua.

En este circuito la intensidad del arco se regula mediante la resistencia variable R. La tension de entrada varia generalmente entre 100 y 250 volts y la intensidad del arco de 5 a 15 amperes.Esta fuente de excitacion es de gran sensibilidad debido a su gran poder ca|orifico, pero es de poca reproducibilidad por la tendencia de la descarga a saltar en uno o pocos lugares del electrodo.

ARCO DE CORRIENTE ALTERNA.La figura 2 muestra un circuito sencillo de este tipo de descarga. En ella se observa como la probabilidad de que la descarga tenga lugar preferentemente entre dos puntos es muy pequciia, lo cual da lugar a una reproducibilidad mejor que con el circuito de la figura 2.4, sin embargo su sensibilidad es inferior.

Los generadores de corriente alterna requieren tensiones elevadas (2,000 a 4,000 volts), tension proporcionada por un transformation La intensidad del arco es de l a 5 amperes y se puede controlar mediante una autoinduccion variable situada en el circuito primario o con una resistencia variable en el secundario. Tanto en este tipo de arco como en el anterior es importante la separacion entre los electrodes ya que influye en la temperatura del arco y en la radiacion que llega al espectrografo, afectando todo a la intensidad de las lineas espectrales.

L

ARCO220 V4000 V

(3-5 KVA)

Figura 2. Esquema del Circuito de Arco de Corriente Alterna.

128

Page 137: Micro photometer`s automation for quantitative ...

CHISPA CONDENSADA DE ALTA TENSION.Es una descarga a traves de dos electrodes entre los cuales existe una gran diferencia de potencial. El gencrador mas sencillo es el representado en la figura 3. Un transformador capaz dc proporcionar de 15000 a 50000 volts carga un condensador C hasta alcanzar cl potencial de ruptura del espacio entre los electrodos. En este memento la energia del condensador se disipa en forma dc chispa oscilante a traves del espacio entre electrodos; los atomos de la substancia se volatilizan y excitan por el impacto de electrones de gran velocidad. Coinunmente una chispa condensada puede proporcionar de 10 a 20 descargas por medio ciclo del priinario. La duracidn de cada descarga depende de la constante de tiempo del circuito (valores de la autoinduccion, capacidad y resistencia), de dicha constante de tiempo dependen, tambien sus caracteristicas. El numero de descargas por medio ciclo depende de la separacidn entre electrodos y de su forma.

15000CHISPA220 V

50000 V

Figura 3. Esquema de un Circuito de Chispa de alta tensidn.

En este circuito, el numero de descargas varia erraticamente y se producen en el condensador otras de cargas parasitas que pasan a los electrodos.

ARCOINTERRUMPIDO.Es un circuito de arco en el cual se interrumpe la descarga varias veces, iniciandose cada vez mediante un circuito de chispa acoplado al mismo. De esta forma se evita que la descarga de arco salte entre dos puntos fijos, ya que la probabilidad de que esto ocurra al interrumpirse es minima, y se consigue que el calentamiento de los electrodos sea menor. Mediante este circuito es posible la excitacion de muestras metalicas sin peligro de que lleguen a fundirse, obteniendose una reproducibilidad parecida a la del circuito de chispa de la figura 3 y una sensibilidad semejante a la de arco de la figura 2.

129

Page 138: Micro photometer`s automation for quantitative ...

APENDICE BESPECTROGRAFOS.

Page 139: Micro photometer`s automation for quantitative ...

PRINCIPALES ESPECTRdGRAFOS.ESPECTRdGRAFOS DE PRISMA

Montaje de Cornu, mostrado en la ftgura l. En este tipo de espectrdgrafo el prisma se situa entre dos lentes, colimadora y de camara. Este montaje proporciona pequeila dispersion, cubriendose ordinariamente el espectro con una placa de 10 pulgadas. La lente colimadora tienc generalmente 500 milimetros de longitud focal a 2100 A y la camara 700 milimetros a 7000 A: Este espectrdgrafo, asi como los de montaje Littrow, estan corregidos por la aberration y el astigmatismot.

RENDIJA

LENTE DE CAMARA.

LENTECOLIMADORA

EJE dPTICO DELCUARZO.

CHASISFOTOORAFICO.

Figure 1. Esquema del Montaje de Cornu de un Espectrdgrafo de Prisma

Otro espectrdgrafo de prisma importante es el Montaje de Littrow mostrado en la figure 2, consta de un prisma de reflexidn total y una sola lente que hace de colimadora y de camara. Se construye generalmente qon una longitud focal de 1800 milimetros y cubre un intervalo de longitudes de onda de 2000 a 8000 A sobre tres placas de 10 pulgadas.

CHASISFOTOORAFICO.

PRISMA

LENTECOLIMADORA

Figure 2. Esquema del sistema dptico del espectrdgrafo tipo Littrow.

ESPECTRdGRAFOS DE RED PLANAMontaje de Littrow. Una red plana se puede montar segun el esquema de tipo Littrow de un espectrdgrafo de prisma, sustituyendo este por la red, figure 3. Este sistema es estigmatico.

aberracidn: Degradation de una imagen producida por una lente o un espejo. I.a producen los rayos de luz al incidir en un foco en diferentes posiciones.

astixiiuititmo: ocurrc si uno de lo> eomponentes del sistema dptico tiene forma ovoidc o no esferica. No se puede enfocar con claridad ningun objeto en cualquiera que >ea la distancia a la cual se cncuentra el objeto.

131

Page 140: Micro photometer`s automation for quantitative ...

LENTECOLIMADORA

RENDIJA

A

(7V I'RISMA

CHASISFOTOGRAFICO

JFigura 3. Esquema de un Espectrografo de Red Plana tipo Littrow.

Montaje de Gillieson. En este tipo de montaje se ilumina la red plana enfocando la luz por medio de un espejo concavo. Figura 4. De esta forma se obtiene un espectro sin interponer ninguna optica, dicho espectro es estigmatico y de curvatura constante.

RENDIJA

; ESPEJO ■CONCAVO

CHASISFOTOGRAFICO

Figura 4. Montaje de un Espectrdgrafo de Red Plana segun Guillieson.

ESPECTROGRAFO DE RED CdNCAVA.

Montaje de Eagle. Este montaje es equivalente al diseno de Littrow solo que adaptado a este tipo de espectrografos. La rendija se situa dentro del circulo, utiliza un prisma de reflexion total para reflejar liacia la red la luz como si procediera de un rendija virtual situada en el circulo, figura 5.

RENDIJA

CHASISFOTOGRAFICO

PRISMA

Figura 5. Montaje de Eagle.

Page 141: Micro photometer`s automation for quantitative ...

APENDICE CESPE Cl FICA CIONES DE DISPOSITIVOS.

Page 142: Micro photometer`s automation for quantitative ...

8255A/8255A-5Intel"8255A/8255A-5

PROGRAMMABLE PERIPHERAL INTERFACE

Intel

8255A FUNCTIONAL DESCRIPTION CPU Address and Control bueaee and In turn, issuescommands to both of the Control Group#

■ MCS-85T* Compatible 8255A-5 ■■ 24 Programmable I/O Pine■ Completely TTL Compatible m

m Fully Compatible with Intel ■Microprocessor Families ■

■ Improved Timing Characteristics

Direct Bit Set/Reset Capability Easing Control Application Interface Reduces System Package Count Improved DC Driving Capability Available In EXPRESS— Standard Temperature Range— Extended Temperature Range40 Pin DIP Package or 44 Lead PLCCIS— Inw P—** Oder N-Ser Z313de|

GeneralTlw 8255A Is a programmable peripheral Interlace (PPI) device designed lor use in Intel microcomputer systems. Its function Is that ol a general purpose I/O component to interface peripheral equipment to the microcomputer system bus. The functional configu­ration of the 8255A Is programmed by the system software so that normally no external logic Is neces­sary to interface peripheral devices or structures.

Data Bus BufferThis 3-state bidirectional 8-btt buffer Is used to inter­lace the 8255A to the system data bus. Data la transmitted or received by the buffer upon execution it Input or output Instructions by the CPU. Control sords and status Information are also transferred trough the data bus buffer.

(55)

Chip Select A "tow" on this Input pin enables the communication between the 8255A and the CPU.

(fiD)Read. A "low" on this Input pin enables the 6255A to send the data or status Information to the CPU on the data bus. In essence. It allows the CPU to “reed from" the 8255A

(Wr)

Write. A "tow" on this Input pin eoabtofL the CPU, to write data or control words told the 82S5A

The Intel 8255A Is a general purpose programmable I/O device designed lor use with total microprocessors. I has 24 I/O pins which may be individually programmed to 2 groups ot 12 and used to 3 major modes d operation. In the first mode (MODE 0), each group ol 12 I/O pins may be programmed to sets ol 4 to be input or output. In MODE 1, the second mode, each group may be programmed to have 8 tinea ot input or output 01 the remaining 4 pets, 3 are used lor handshaking and interrupt control signals. The third mode of operation (MODE 2) Is a bidirectional bus mode which uses 8 lines lor a bidirectional bus. and 5 tinea, borrowing one from the other group, for handshaking.

Figure 1. #255# Block Diagram

Figure 2. Pin Configuration

Resd/Wrlte and Control LogicThe function ot this block Is to manage all of the internal and external transfers of both Data and Control or Flatus words. It accept'Tinput;, from the

(Ao and Ai)Port Select 0 and Port Select 1 These "Input sty nato. in conjunction with the RD and WR Inputs, coo trol the selection ol one.of jh^tiyea.pprtopr jhe control word registers. They are normally connected to the least significant bits ot the address bus (Ao end A,).

Figure 3.8266A Block Diagram Showing Data Bus Buffer and Resd/Wrfte Control Logic Functions

Page 143: Micro photometer`s automation for quantitative ...

8255A/8255A-5

8255A BASIC OPERATIONA, *C RB WR C5 Input Operation (READ)0 0 0 1 0 Port A —» DetaBus0 1 0 1 0 PortB —* Data Bus1 0 0 1 0 PortC —» Data Bus

Output Operation (WRITE)

0 0 0 0 DetaBus —» Port A0 1 0 0 Data Bps -» PortB

0 1 ■ 0 0 DetaBus —► PortC1 0 0 Data Bus —» Control

Disable FunctionX X X X 1 DetaBus —► 3-Statef 1 0 1 0 Illegal CondWonX X t 1 0 Data Bus —» 3-State

(RESET)Reeel'A “high" on this Input dean the control reg­ister and all porta (A, 8, C) are set to the Input mode.

Group A and Group B Controls

The functional configuration of each pert la pro­grammed by the systems software, in essence, the CPU "outputs" a control word to the 8255A. The control word contains Information such as "mode", "bit set", "bit reset", etc., that Initializes the func­tional configuration of the 8255A.

Each of the Control blocks (Group A and Gre«p 6) accepts "commands" from the Reed/Wrttc ConUol Logic, receives "control words" from tht ivAemal data bus and Issues the proper commands l» iH as­sociated porta.

Control uroup A—Port A and Port C upper (C7-C4) Control Group B-Port B and Port C lower (C3-C0)

The Control Word Register can only be written Into. No Read operation o« the Control Wort1 nfqtster Is allowed.

Ports A, B, and CT w 8255A contains three p-blt ports (A, B, end C). Al can be configured In a wlde variety of functional characteristics by the system software but each has Its own special features or "personaMy" to further enhance the power and fleidb<*v of the 8255A

Port A. Or* 8-blt data output latch/bufler and one 8-bN data input latch.

Port B. One 8-bN data inpft/odtput latch/buffer and one 8-bit Cats Input buffer.

Port C. One dald'ptNtXiClatch/bulfef and one 8-bN data Input buffer (no latch for Input). This port can be divided Into two 4-bit ports Under the mode control. Each 4-bit port contains a 4-btt latch and II can be used for the control signal outputs and statue signal Inputs h coryuncdon with ports A and B.

B2S5A/6255A-6iny

Figure 4.8225A Block Diagram Showing Group A and Group B Control Functions

Pin Configuration Pin NamesDy-Dg Data Bus (Bi-Directional)RESET Reset Input

Chip SelectRB Read InputWR Write InputAO. At Port AddressPA7-PA0 Port A (BIT)PB7-PB0 . Port B (BIT)PC7-PC0 PortC (BIT)

VCC + 5 VoltsGND 0 Volta

82SSA OPERATIONAL DESCRIPTION

Mode Selection

Thera are three basic modes of operation that cai be selected by the system software:

Page 144: Micro photometer`s automation for quantitative ...

(M) MOTOROLA

DESCRIPTION — The SN54LS/74LS245 is an Octal Bus Transmitter/ Receiver designed for 8 -line asynchronous 2-way data communication between data buses. Direction Input (OR) controls transmission of Data from bus A to bus B or bus B to bus A depending upon its logic level The Enable input (E| can be used to isolate the buses.

# HYSTERESIS INPUTS TO IMPROVE NOISE IMMUNITY# 2-WAY ASYNCHRONOUS DATA BUS COMMUNICATION# INPUT DIODES LIMIT HIGH SPEED TERMINATION EFFECTS

SN54/74LS245

OCTAL BUS TRANSCEIVER

LOW POWER SCHOTTKY

TRUTH TABLE

HIGH V oiia?* tew*L ■ LOW voltage Level X ■ Immaterial

LOGIC AND CONNECTION DIAGRAM DIP (TOP VIEW)

"E**G«G

«G

"G-«G■

3*3"3-g»i3-

3-3-3”

J Suffix — Case 732-03 (Ceramic) N Suffix — Case 738-03 (Plastic)

Page 145: Micro photometer`s automation for quantitative ...

(^) MOTOROLA

DESCRIPTION — The SN54LS/74LS373 consists of eight latches with 3 state outputs for bus organized system applications. The flip- Hops appear transparent to the data (data changes asynchronously) when Latch Enable (LE) is HIGH. When LE is LOW, the data that meets the setup times is latched. Data appears on the bus when the Output Enable (OE) is LOW. When OE is HIGH the bus output is in the high impedance state.

The SN54LS/74LS374 is a high-speed, low-power Octal 0 type Flip- Flop featuring separate D type inputs for each flip-flop and 3-state outputs for bus oriented applications. A buffered Clock (CP) and Output Enable (OE) is common to all flip-flops. The SN54LS/74LS374 is manufactured using advanced Low Power Schottky technology and is compatible with all Motorola TTL families.

• EIGHT LATCHES IN A SINGLE PACKAGE• 3-STATE OUTPUTS FOR BUS INTERFACING• HYSTERESIS ON LATCH ENABLE• EDGE TRIGGERED O-TYPE INPUTS• BUFFERED POSITIVE EDGE TRIGGERED CLOCK• HYSTERESISONCLOCKINPUTTOIMPROVE NOISE MARGIN• INPUT CLAMP DIODES LIMIT HIGH SPEED TERMINATION

EFFECTS

PIN NAMES LOADING (Note a)

HIGH LOW00-07 Data Inputs 0.5 U.L 0 25 U.L.LE Latch Enable (Active HIGH) Input 0 5 U L. 0 25 U LCP Clock (Active HIGH going edge) Input 05 UL 0.25 U.LOE Output Enable (Active LOW) Input 0.5 U.L 025 U LOq—0? Outputs (Note b) 6S(25)U.L |l 5(7.5) UL

• t TTL UnH Load (U.U - 40 HIGH/1 6 mA LOW.fc The Output LOW drive lector * 7 5 U L tor Military and 25 UL tor Commercial (74)

Temperature Ranges. The Output MlGHdrive lector Is 25U-L for Military (54) and 65 U L •or Commercial (74) Temperature Ranges.

TRUTH TABLE

LS373On LE OE On

H H l H

L H L L

X X H Z*

H = HIGH Vohage Level L ■ LOW Voltage Level * ■ Immaterial 2 ■ High Impede nee

•Note Contents of fi<p-ftopa unaffected by the

LS374On CP OE On

H r L H

L s L L

X X H v

o# the Output Enable input (OE)

SN54/74LS373SN54/74LS374

OCTAL TRANSPARENT LATCH WITH 3 STATE OUTPUTS;

OCTAL O-TYPE FLIP FLOP WITH 3-STATE OUTPUT

low power scMorrxY

CONNECTION DIAGRAM DIP (TOP VIEW)

SN54LS/74LS373

°oC 1 °0 C 1 0,C. o, [ S

<hC«O, C 7

O, C «o, [ ,

'*3 °7

"3 "717 3 o, 1.3 0,

n 3 °s..30. 113 °« "i 3°«„ 3u

CONNECTION DIAGRAM DIP (TOP VIEW)

SNS4LS/74LS374

J Suffix — Cne 732-03 (Ceramic! N Suffix — Case 738-03 (Plastic)

NOTE:The Ftatpak ver sion has the same pinouts (Connection Diagram) as the Dual In-Line Package

Page 146: Micro photometer`s automation for quantitative ...

SN54/74LS373 # SN54/74' S374

LOGIC DIAGRAMS

SNS4LS'74LS)73

SNMIS 7418374

GUARANTEED OPERATING RANGESSYMBOL PARAMETER MINvcc Supphr Vottege 46

476 60Ta Operating Ambient Temperature Range

ton Output Current — Vhgh

*OL Output Current — Lew

SN54Z74LS373 # SN54/74LS374

DC CHARACTERISTICS OVER OPERATING TEMPERATURE RANGE (un'ess whwwf specified)

PARAMETER UNITS

V Guaranteed Input HIGH VeRege All Inputs

Vll Intuit LOW VoltageGuaranteed input LOW Voyage fAll Inputs

V,K Input Clamp Diode Vottege Vcc - MW. It* - -18 mA

Output HIGH VoltageVcc * MIN. Kx • MAX. vw =Of VfL per Truth Table

Vot Output LOW Voflage Vcc-Vcc min.

74 v IQL = 24 mA

Output OH Current HIGH yA Vcc - max. VOUT -27 V

tQZL Output OH Cumin LOW VCC = MAX. VqlIT -04V

Hh Input HIGH CurrentpA VCC - MAX. V,N = 2 7 V

vCc-max. vw* 7ov

'ii Input LOW Cunem Vcc-MAX. V|N-04 V

'os Short Circuit Current

'cc Pnwei Suptih Current itxA

AC CHARACTERISTICS: TA = 2S«C. Vcc - 6 0 V

SYMBOL PARAMETER TtST CONDITIO

•max Maximum Clock Freouency

Cu-«5pf. Ru-6d7 0

’PLH Propagation Delay. Data to Output -

Clock or Enable to Output

ne

Output Enable Tune -

IPMZ‘PLZ

Output Disable Time 1 Ct-SOpf

AC SETUP RECURREMENTSe Ta e 2S*C, Vcc » » 0 V

CWick PuHe W»dlh

DEFINITION OF TERMS:SETUe TIME |i*) — is defined if the minimum time required for the correct logic level to be present et the logic input prm transition Irom HIGH to VOW m order to be recognized end transferred to the outputs

HOLD TIME (th) - is defined as the minimum time following »he LE transition Irom HlGH-to-LOW that the logic level m maintained at the input m order to ensure continued reconnmon

Page 147: Micro photometer`s automation for quantitative ...

SN54/74LS74A

(M) MOTOROLA

DESCRIPTION The SN64LS/74LS74A duel edge triggered flip flop Si r>oitky TTL circuitry to produce high speed O-type flip-flops

C,xh -i.p i iot> has mdwiduei clew end set inputs, and also complementary 0 arnt Q outputsininr manon at input D is transferred to the Q output on the pose we going edge of the clock pulse Clock triggering occur* at a voltage level of the ciot.k pulse and isnot directly related to the transition time of the positive gnmq pu's#- When the clock -ntHit i$at either the HIGH or the LOW level r.i 0 mjii.t Mgnal has nu rtfi-c*

DUAL O-TYPE POSITIVE EDGE-TRIGGERED FUP-FLOP

tOW POWER SCMOTTKV

DC C HAMA CTE RimCS OVER OPE RATING TEMPERATURE RANGE (unless otherw.se spenfiat#

SYMBOLLIMITS UNITS TEST CONDITIONS

tnpvi HIGH Vohage V Guaranteed Input HIGH Vohage for

input LOW VoltageGuaranteed Input LOW Vohage for

08 All inputs

V,K input Clamp Otode Vohage Vcc = MIN. I(n * -18 mA

Output wi'.H v >ttage Vcc = MW. Iqh » MAX V* - Vjmor Vil per Truth Table

O-.tput LOW Voltage!ql 4 0 mA | Vcc * VCC MIN.

74 O'- VK „A VCC *■ MAX Vw 2 7V

r7‘ o; mA Vcc - max. v,n -- 70 V

ink'll LOW ) .mentOat.) Otn.ii

-04 ,nA Vcc - max v,n = 0 4 V

'OS ■ 0'i*|iut Vn»i Curinl f , 20 "-A Vcc* MAX1 Power Supply C.mem 80 L_"-a. .. Vcc - max________________

SN54/74LS74A

MODE SELECT - TRUTH TABLE

OPtRAjNG 55 r0 ~r o i 6SetReset (Clear)‘Undetermined

Load 0 (Reset) ..ijL? j L > j _M_

•Rrth mitpul> will tie HIGH wh.(e butu 5p AND eis Util ‘he output Mates are wnpretSti.iWe «f 5q and

Cu go HIGH simultaneously If ihe levels .<? the sei and clear a<e neat V#i maximum then we cannot guarantee to n-eei live minimum level tor Vqm

M h high voltage Level it-LOW voltage Level

■ hiot LuwetcaM letters uvhcateitie state of the reletencmf mput (Of OUtpul) one S«t >«0 Um« |H vor to theLOW to HIGH dock iiarwtim

GUARANTIEE OPCNATIMO HANOeS

parameter UNIVcc Supply Vohage

r* Operating Ambient Temperature Range

'OH Output Current — High mA'OL Output Current — Low

AC CHARACTERISTICS: TA *• 2S"C Vcc = 50V

SYMBOL PARAMETER UNITS r- TEST CONDITIONSMaximum Clock Frequency j MH, f*g 1Clock. Cii-iii Set to Output '3 25 ns

25

AC SETUP REQUIREMENTS 1A ?S“C VCc SOV