69
D edicado a mis mamá Amparo, a mi hermano H ector Iván; y a mis amigos por su apoyo inc ondicional.

Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

D edicado a mis mamá

Amparo, a mi hermano

H ector Iván; y a mis amigos

por su apoyo inc ond icional.

Page 2: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

AUTOMATIZACIÓN DE UN SISTEMA DE DOSIFICACIÓN DE LÍQUIDOS

VIVIAN R ENAT A BASTIDAS MARTÍNEZ

UNIVERSIDAD DE LOS ANDES

F ACULTAD DE INGENIERIA

DEPARTAMENTO DE INGENIERIA ELEC TRICA Y ELECTRONICA

BOGOTA, D.C.

2006 - I

AUTOMATIZACIÓN DE UN SISTEMA DE DOSIFICACIÓN DE LÍQUIDOS

Page 3: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

VIVIAN R ENAT A BASTIDAS MARTÍNEZ

Proyecto de Grado para op tar al título de

Ingeniera Electrónica

Director:

Iván Castillo Contreras

Ingeniero Electrónico

UNIVERSIDAD DE LOS ANDES

F ACULTAD DE INGENIERIA

DEPARTAMENTO DE INGENIERIA ELEC TRICA Y ELECTRONICA

BOGOTA, D.C.

2006 - I

Page 4: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

IEL2-I-06-08

4

AGRAD ECIMIENTOS

El autor agradece a :

Iv án Castillo Contreras, ingen iero elec trón ico y prof esor, por su direcc ión, apoyo y ayuda a lo largo

de es te proyecto.

A mis compañeros y amigos Germán Torres, Jesús Caro y Ja ime Ramírez, por todo su apoyo y la

ayuda prestada durante e l p royecto.

Page 5: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

IEL2-I-06-08

5

C ONTENID O

INTRODUCCIÓN..................................................................................................................................................................................9 OBJETIVO PRINCIPAL..................................................................................................................................................................11 OBJETIVOS ESPECÍFICOS.......................................................................................................................................................12 1. DISEÑO.........................................................................................................................................................................................13

1.1 DISEÑOS PRELIMINARES........................................................................................................................................13 1.2 CARAC TERÍSTICAS DEL BOTTLETOP BURET MODEL 25................................................................15

1.2 .1 Generalidades........................................................................................................................................................15 1.2 .2 Principio básic o de f uncionamiento...........................................................................................................16

1.3 DESCR IPCIÓN DEL PROCESO.............................................................................................................................19 1.4 DISEÑO DE INGEN IERIA ...........................................................................................................................................21

1.4 .1 Diseño de l hardware ..........................................................................................................................................21 1.4 .2 Diseño de l s of tware............................................................................................................................................30

2. IMPLEMENTACIÓN...............................................................................................................................................................45 1.5 PSoC ........................................................................................................................................................................................45 1.6 ...........................................................................................................................................................................................................45 1.7 5.2 ADAPTACIÓN DEL BOTTLETOP BURET................................................................................................45 1.8 5.3 IMPLEMENTAC IÓN DE LOS SUBSISTEMAS.......................................................................................48 1.9 5.4 RESU MEN....................................................................................................................................................................49

6. PRUEBAS Y VALIDACIÓN....................................................................................................................................................50 1.10 6.1 PRUEBAS DEL SOFTWARE Y HARDWARE...................................................................................50 1.11 6.2 PRUEBAS DE VERIF IC ACION DEL SISTEMA...............................................................................54

8. PRESUPUESTO...........................................................................................................................................................................56 CONCLUSIONES ..............................................................................................................................................................................57 BIBLIOGRAFIA Y R EFERENCIAS..........................................................................................................................................58

Page 6: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

IEL2-I-06-08

6

LISTA DE ANEXOS

Anexo A. Cod igo PSoC............................................................................................................ 59

Anexo B. Cod igo Formularios - Microsoft Visual Bas ic 6.0......................................................... 63

Anexo C. Cod igo Module - Micros of t Visual Bas ic 6.0 ............................................................... 69

Page 7: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

IEL2-I-06-08

7

LISTA D E TABL AS

Tab la 1 . Características e léctricas del CNY70........................................................................... 26

Tab la 2 . Conf igurac ión de las entradas y salidas del L293B....................................................... 28

Tab la 3 . Presupuesto de adqu is ición del s istema....................................................................... 56

Page 8: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

IEL2-I-06-08

8

L ISTA DE FIGURAS

Figura 1. Metodolog ía de Trabajo.............................................................................................................................................10 Figura 2. Alternativa 1 de diseño...............................................................................................................................................13 Figura 3. Alternativa 3 de diseño...............................................................................................................................................14 Figura 4. Alternativa 4 de diseño...............................................................................................................................................14 Figura 5. Bottletop Buret de Brinkmann................................................................................................................................15 Figura 6. Componentes del Bottle Buret Model 25.........................................................................................................16 Figura 7. Purga de aire....................................................................................................................................................................17 Figura 8. Proceso de dosific ación.............................................................................................................................................17 Figura 9. Curva de las Cantidades Dosif icadas en conteo.........................................................................................18 Figura 10 . Curv a de las Cantidades Dos ificadas en el tiempo.................................................................................19 Figura 11 . Desc ripc ión de l p roceso..........................................................................................................................................20 Figura 12 . P&D del proceso..........................................................................................................................................................20 Figura 13 . Sistema completo defin ido como ca ja negra ..............................................................................................21 Figura 14 . Diagrama de P irbhay del sistema......................................................................................................................22 Figura 15 . Visualización de la in te rfaz con el usuario....................................................................................................23 Figura 16 . Imagen v is ua lizada por e l usuario de la selección de c antidad.......................................................24 Figura 17 . Sensor Óptico CYN70..............................................................................................................................................24 Figura 18 . Dis ipación de Potenc ia del CNY70...................................................................................................................25 Figura 19 . Circu ito implementado para e l CNY70...........................................................................................................25 Figura 20 . Imagen v is ua lizada por e l usuario del estado de l proceso.................................................................27 Figura 21 . Circu ito de montaje del L293B............................................................................................................................28 Figura 22 . Diagrama interno de un MC78xx.......................................................................................................................29 Figura 23 . Circu ito de montaje del MC7805 y el MC7812 ..........................................................................................30 Figura 24 . Esquema de la Norma GEMMA .........................................................................................................................30 Figura 25 . Proced imiento de f uncionamiento en norma GEMMA ..........................................................................31 Figura 26 . Proced imiento de paro en norma GEMMA..................................................................................................31 Figura 27 . Proced imiento de f allo en norma GEMMA ...................................................................................................32 Figura 28 . Diagrama de bloques del proceso en el PSoC..........................................................................................33 Figura 29 . Implementac ión f inal de bloques en e l PSoC.............................................................................................36 Figura 30 . Diagrama de pines de PSoC................................................................................................................................36 Figura 25 . Sistema de control de dosif icac ión de líqu idos..........................................................................................45 Figura 26 . Adaptación f ísica del volante de la planta....................................................................................................46 Figura 27 . Sistema de adaptación del vo lante con el motorreductor....................................................................46 Figura 28 . Ensamble de l tanque de almacenaje con la planta (modelo)............................................................47 Figura 29 . Ensamble de l tanque de almacenaje con la planta (real)....................................................................47 Figura 30 . Modelo genera l del s istema ..................................................................................................................................48 Figura 31 . Implementac ión ob tenida del sistema.............................................................................................................48 Figura 32 . Sistema de a limentac ión.........................................................................................................................................49 Figura 33 . Sistema de a limentac ión de l sis tema..............................................................................................................49 Figura 34 . Error de inicialización del proceso.....................................................................................................................50 Figura 35 . Se lecc ión y apertura correcta del puerto seria l.........................................................................................51 Figura 36 . Se lecc ión incorrecta de la c antidad a dosific ar..........................................................................................52 Figura 37 . Av iso del estado actual del proceso.................................................................................................................53 Figura 38 . Fina lización correc ta del proceso.....................................................................................................................53 Figura 39 . Cantidad dosificada vs. Tiempo del proceso r equerido.............................................................54

Page 9: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

IEL2-I-06-08

9

INTRODUCCIÓN

En la actua lidad, en las industrias colombianas y ex trajeras, se ev idenc ia un claro problema en

cuanto a la dispensac ión y env asado de produc tos líquidos. El a lto índic e de enf ermedades

presentado en los operarios de está área, el incorrecto manejo de materias primas y la inexacta

cantidad f ina l dosif ic ada en a lgunos sistemas genera desconf ianza en los sistemas actua les

utilizados en los d iferentes campos de la industria [1 ].

En procesos actuales se ha d iseñado e imp lementado s is temas d ispens adores de c af é y gaseosa,

env asado de ac eite, agua, cerveza y para procesos químicos. PETRECO, EFD Company ,

DOSATRON, TECNUM, EUROTEK AUTOMATIZACIÓN son algunas de estas empresas que han

diseñado y of recen es tos sistemas [2].

En Colombia, a lmacenes de c adena, empresas de café y restaurantes de comidas rápidas poseen

actua lmente sistemas dos ificadores de líquidos en sus procesos . ÉXITO y HOMECEN TER

adquirie ron un sistema de dos if icación para la mezcla de pinturas. Por med io de un sof tware

especia lizado en donde el clien te s elecciona el c olor deseado, y un sistema electro-mec ánic o de

combinac ión de bombas y medidores de f lujo se efectúa la dos if icación ex acta del co lor. Su

inconvenien te, el alto costo de adquisición . Por o tro lado, NESC AFE posee un s is tema de

dos ificación para la producc ión de dife rentes pres entaciones de café . Se dosific a productos

lácteos, agua, esencias y tinto, con la f inalidad de obtener la mezc la c orrespond iente al producto

seleccionado. Su inconven iente, la inexactitud de las cantidades dosif icadas de cada produc to .

McDonalds tiene un s istema dis pensador de gaseos a automático. Su inexactitud en la c antidad de

gas eosa dosificada y su alto costo de adqu is ición hace de este sis tema una solución poco v iable

para las pequeñas y medianas empresas.

Todos estos s istemas presentan una soluc ión aceptab le a la prob lemática, s in embargo,

des pliegan d if icu ltades e inconv enientes que los hacen poco adsequib les. El alto costo de

adquisición y la inexactitud en la c antidad final dosif icada de algunos de es tos sistemas son los

principa les problemas que aún no han s ido so lucionados, además de ser necesaria en a lgunos

procesos la dos ificación de varios productos para ob tener el producto f inal [3 ].

Page 10: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

IEL2-I-06-08

10

Es por esta razón, es te proyecto consis te en el desarro llo de un prototipo de la automatización del

proceso de dos ificación de vo lumen en mililitros de líqu idos, teniendo en cuenta una so lución a los

problemas anteriormente ex puestos . Este prototipo, a futuro, podrá ser utilizado con f ines

indus triales, c omo en el área de la f armacéutica, perfumerías, o refinerías.

Este proy ecto esta orientado a l diseño, iniciando c on una etapa de investigac ión de procesos de

dos ificación actúa les, de los cuales s e partirán para generar un dis eño v ersá til [5 ]. Posteriormente

se in icia con el diseño graf ico preliminar y la selección del p roceso a imp lementar. Una vez

seleccionado e l proceso a implementar, se realizara el d iseño de ingeniería de l hardware y

sof tware. Consec uentemente se realizara la implementac ión. Finalmente se rea lizarán las pruebas

y validación de l p ro totipo . Es to deberá lograrse por med io de una metodo logía de d iseño [4] que

cumpla las ex pectativas .

El s iguien te esquema describe claramente los pasos que se s iguieron a lo largo del p royecto y los

cua les se estud ian detenidamente a lo largo de es te doc umento.

Figur a 1. Metodología de Trabajo

A través de este documento se ex plica cada una de las etapas del proyecto, de manera que e l

lector pueda comprender cada una de las ramas de la ingeniería que influyeron en el d iseño de

este sistema y de igual fo rma, pueda obtener sus propias conclus iones sobre la ef ectiv idad y

aplicabilidad de l mis mo.

Page 11: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

IEL2-I-06-08

11

OBJ ETIVO PRINCIPAL Esté proy ecto busca desarrollar una automatización en un sistema de dosif icac ión de v olumen en

mililitros de líqu idos . El prototipo será versátil, económic o y ef ectiv o para soluc ionar la problemática

de dosificac ión de líquidos que se presenta actua lmente tanto en las industrias colombianas como

extranjeras, apoyado en conocimientos de Ingeniería Electrónic a e Ingeniería Mecánica , haciendo

uso de herramientas de programación c omo Visual Basic, aprov echando tecnologías actúales a las

cua les tenemos acc eso como el circuito in tegrado PSoC y sis temas de giro c ontrolados

electrónicamente.

Page 12: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

IEL2-I-06-08

12

OBJETIVOS ESPECÍFICOS

Para alcanzar el ob je tiv o plan teado previamente, es necesario cumplir cada uno de los s iguientes

propósitos:

• Conocer la importancia de las v ariables presentes en el tema de dosif icac ión de líquidos y

a partir de esto, def inir las que s e van a us ar c omo base para el desarrollo del contro lador.

• Comple ta adquisición de datos de un sistema de dosif icac ión con la ayuda de instrumentos

de medic ión, para que, luego de caracterizar y comparar con datos f uturos, pueda

eva luarse la efectiv idad del sistema.

• Mode laje, simulac ión, diseño e implementac ión de l c ontrolador del sistema.

• Diseño, implementación, calibrac ión y validación del s istema de giro, necesario para e l

mode la je y diseño del controlador.

• Acoplamiento e in tegración del sistema de contro l y del s istema de g iro en integración en

caja negra para pruebas.

• Diseño e implementac ión de l sis tema de inte rf az con e l usuario.

• Acoplamiento del sistema de control (caja negra) y e l s is tema de in te rf az con e l usuario .

• Adquisición de nuev os datos para eva luar la ef ectividad de l sis tema de control.

Page 13: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

IEL2-I-06-08

13

1. DISEÑO

2.1 DISEÑOS PRELIMINARES Durante la búsqueda y se lecc ión de la soluc ión más viable se encontraron 5 pos ibles d is eños, cada

uno de ellos f ue surgiendo a partir de los inconv enientes y p roblemas presentados en los sistemas

actua les y f inalmente se e ligió la soluc ión que cumple con las expectativas de clien te .

In ic ialmente , se buscó una so lución empleando una bomba dosif ic adora. E l proces o de dosif icac ión

se realizaba por medio de una base giratoria conec tada con la bomba dosificadora (v er Figura 2).

Este diseño pres entaba el inconven iente de la construcción y contro l de l giro y s uministro de

productos , además de un problema de san idad, y del elev ado cos to de adquisic ión de la bomba

dos ificadora. Todo esto hac ia que esté sis tema no fuera versátil y de c os tos ba jos.

Figur a 2. Altern ativa 1 de diseño

Debido a los inc onv enientes encontrados en e l primer diseño, se c ambia este sistema giratorio y se

bos que ja uno en donde los tanques se enc uentren conec tados a una tubería principal (ver Figura

3).

Page 14: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

IEL2-I-06-08

14

Figur a 3. Altern ativa 3 de diseño

Tanto en la alte rnativa 2 c omo en la a lte rnativ a 1, se esta presentando un problema de sanidad, ya

que por la misma tubería f luyen líqu idos dif erentes los c ual podría llegar a contaminar las

cantidades aun a lmacenadas y el producto final. Además, se puede pres entar un problema de

represamiento de produc tos en la tubería , lo c ual podría dar como resultado una incorrecta

compos ic ión del producto fina l. Adic ionalmente, en a lgunos proc esos es necesario realizar la

dos ificación para e l envasado de mas de un recipiente y deb ido al d is eño de la tubería no se

tendría la seguridad que c ada uno de los recipientes s e llenara con la cantidad exac ta de cada uno

de los produc tos, por lo que s eria nec esario inc luir un medidor de f lujo en la boqu illa de expulsión ,

lo cual elevaría considerablemente los costos de l sistema, teniendo en cuenta que estas

alte rnativas fueron diseñadas y planeadas c on bombas dosif icadoras.

Se buscó una alterna tiva que reemplazara las bombas dosif icadoras , y un nuev o diseño para la

tubería, que f uera de menor costo y que lograra realizar la misma ta rea. Se determinó rea lizar la

dos ificación de cada uno de los productos independientemente, de esta forma ev itábamos

problemas de contaminación de produc tos, represamiento de productos en la tubería y una

cantidad de env asado incorrecta. De igual forma, se reemplazaron las bombas dos if icadoras por un

sistema de vá lv ulas de f lu jo y med idores de flujo.

Figur a 4. Altern ativa 4 de diseño

Aunque está alte rnativa so lucionada los problemas de sanidad y el de una inc orrecta cantidad

dos ificada, aun no reducía los costos de adquisic ión. El medidor adec uado para la unidad de

medida nec esitada, mililitros, pos ee un s istema muy especializado de medida, y además es un

Page 15: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

IEL2-I-06-08

15

instrumento de importación, por lo que su valor en el mercado es muy elevado, y por lo tan to esta

alte rnativa f ue de igua l f orma descartada.

Durante la búsqueda de los instrumentos adecuados para el p roceso, encontramos la ex istenc ia en

el merc ado un instrumento , el Bottle top Buret Mode l 25 de Brinkmann [5], que cumplía con las

nec esidades y caracterís tic as requeridas en el proyec to . Su costo de adqu is ición es

considerablemente menor al de las otras alte rnativas eva luadas, y una v ez analizado su principio

bás ico de f uncionamiento, encontramos que este era una s oluc ión aceptable y adecuada para ser

utilizado en la imp lementación del p ro to tipo. Pres entaba una soluc ión correc ta a l prob lema de

san idad, al de repres amiento de productos y adicionalmente s u adaptac ión e implementación es

más senc illa y menos cos tosa.

Figur a 5. Bottle top Bur et d e Brin kmann1.

2.2 CARACTERÍSTICAS DEL BOTTLETOP BURET MODEL 25

1.1.1 Genera lidades

A continuac ión se presenta inf ormación re levante sobre es té Bottletop Buret Model 252:

Índice de dispensado : 2,500 µl por rotación

Rango de l Display : 0.01 ml hasta 99 .9 ml

Coeficiente de Variación : ±0 .2%; ±50 µl

Imprecisión : ≤0.1%

Rango de Temperatura : 15°C hasta 40°C

Este instrumento es utilizable para la mayoría de los líqu idos , con las s iguien tes excepciones : 1 To mada de [6 ] 2 Información p rovenien te de [7]

Page 16: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

IEL2-I-06-08

16

Soluc iones ác idas f luorh ídricas.

Soluc iones que tienden a cristalizars e o que contienen o forman partículas sólidas.

Sus tanc ias inestables que reaccionan c atalític amente con e l irid io del platino (e .g. H 2

O 2).

Líquidos que atacan el c rista l del borosilic ate, PFA, ETFE, PTFE, iridio de l platino ,

FEP.

Soluc iones inorgán icas oxidables que pueden prec ipita r los óx idos de metal (e .g .

reactivo del biuret).

El Bottletop Buret posee una cánula de salida te lescóp ic a regulab le de 142 a 220 mm

horizontalmente y de 10 a 200 mm verticalmente. Esta d iseñado para colocar s obre f rascos y

permite ser girado 360° sobre e l f rasc o para su ajuste . Es de us o manual y f unciona con 2 baterías

AA estándar, las cuales son suf icientes para dosif icar aproximadamente 4.5 litros de líqu ido.

Figura 6 . Co mpon entes d el Bottle Buret Model 25

1.1.2 Principio básico de f unc ionamiento

Antes de iniciar cua lquier p roceso de dos ificado es necesario tener en cuenta la sigu iente

recomendación del f abric ante. Es necesario purgar el a ire , hasta que e l cilindro y la cánula de

valoración estén libres de burbu jas. Para esto se rea liza un llenado del aparato , la ve locidad de g iro

del volante debe ser moderada, evitando la f ormac ión de burbujas. U na vez es te lleno, s e realiza

Page 17: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

IEL2-I-06-08

17

una compens ación de la holgura en un rec ip iente dif erente al del proc eso, s e liberan gotas para

verific ar la no exis tencias de burbujas.

Figura 7 . Purg a de air e

Ya realizada la purga de aire, e l p roceso de dosif icación es in iciado al g irar el volante del Bottletop

Buret. El líquido es abs orbido de l tanque de almacenaje por una v álvula succionadora . El líqu ido

viaja a trav és de la tubería interna, y el s is tema de medición , el c ua l tiene un embolo que es

controlado por el giro del v olante, mues tra al usuario por medio del d isplay, la cantidad dos if icada

has ta e l momento. S imultáneamente, al g iro de l vo lante, la vá lvula ey ectora v a expulsando la

cantidad de liqu ido med ido ac tualmente por el embolo y mos trado en e l display .

Figura 8. Proceso de dosificación

Page 18: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

IEL2-I-06-08

18

Esté sistema de dosif icac ión, al igual que o tros sistemas también puede llegar a pres entar errores

en el volumen dosif icado. Estos pueden pres entarse durante la titu lación de líquidos con una a lta

presión del vapor o c on una densidad considerablemente dif erente a la del agua, por lo que los

líqu idos ha utilizar deben c umplir las carac terís ticas mencionadas anteriormente. De igual fo rma,

también puede presentarse errores c ausados por en trada de aire en el sistema, para lo cual es

nec esario rea lizar a l inicio del p roceso una purga en el sistema y de igual forma, se debe procurar

mantener e l tanque de almacenamiento lleno.

Antes de empezar con e l diseño electrónico en sí, era v ital hacer una caracterización de l

comportamiento de la planta para la cual se está diseñando el s istema; es por esto que se

programaron mediciones en d iferentes cantidades, para vis ualizar el c omportamiento de las

variables re levantes .

Giro de l Volante

0

20

40

60

80

100

120

0 5000 10000 15000

Numer o de Ran ura s

Mi l il i tr os

Figura 9 . Curva de las Cantidades Dosificadas en con teo

En la figura 9 , se aprec ia las cantidades de mililitros dos ificados realizando en conteo de ranuras

nec esarias. Se observó un patrón s imila r en cada una de las cantidades, se realizaron 40 pruebas ,

en donde aproximadamente 1ml equ iv alen a 150 ranuras c ontadas, y por ende, la lectura y e l

control de este conteo es un f actor muy relevante a la hora de escoger los componentes de l

sistema.

Page 19: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

IEL2-I-06-08

19

De igua l f orma, en algunos cas os se presenc ió un porcentaje de error considerable, en cuanto a l

volumen dosific ado ten iendo en cuenta el número de ranuras contadas, los c uales revelan la

presencia de aire en el sis tema como una perturbación.

Tiempo de Dosific ado

0

20

40

60

80

100

120

0 100 200 300

Se gun do s

Mil il i t ros

Figura 10. Curva de las Cantidad es Do sificadas en el tiempo

En cuanto al tiempo transcurrido en cada una de las titulaciones realizadas , a una ve locidad

promedio de 3 rpm, s e observa en la figura 10 que en e l 2% de las cantidades permitidas e l rango

de tiempo requerido no es muy alto, ten iendo en cuenta que este proc eso se realiza de f orma

manual.

Para conclu ir el análisis de los da tos de estas c antidades, se demues tra que el giro del volante de

la p lanta debe ser continuo hasta lograr la cantidad solicitada. De igual fo rma, se obs erva de la

figura 9 que al requerir c antidades superio res a 20 ml, el tiempo necesario que debe transcurrir

para ob tener es ta cantidad de líqu ido es a lto, generando cansancio en e l operario e interrumpiendo

la titu lación del líquido, c ausando es to , retraso en todo el p roceso y en a lgunos casos se hace

nec esario inic ia r de nuevo y que, por ende, es necesario tomar acción c orrectiva s obre este tema.

2.3 DESCRIPCIÓN DEL PROCESO

Una v ez identif icadas las neces idades del c liente y según la p roblemática actual, se estab leció una

estructura del p roceso, cuya desc ripción se plas ma en la f igura 11.

Page 20: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

IEL2-I-06-08

20

F igura 11. Descr ipción del proceso

En la f igura 12, se observa el P&D del p roceso, en e l cual se d if erencias las conex iones al proceso, las señales eléc tricas y la conex ión de sof tware.

F igura 12. P&D del proceso

Page 21: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

IEL2-I-06-08

21

2.4 DISEÑO DE INGENIERIA

Con una completa caracterizac ión y un c onocimiento de l comportamiento del Bottletop Bure t, se

puede dar inicio a la e tapa de diseño de l d is positiv o para tratar este prob lema.

1.1.3 Diseño del hardware

El sis tema completo puede vis ualizars e como una ca ja negra con entradas y sa lidas como se

mues tra en la F igura 13, que in te rnamente está c ompues ta , a su v ez, por dif erentes subsistemas

con f unción específ ica.

F igur a 13. Sistema completo definido como caja negra

En es te c aso cinco subsistemas princ ipales que deberán funcionar con juntamente para garantizar

la conf iab ilidad y ef ectiv idad del sistema g loba l:

i. In te rf az con e l usuario

ii. Procesamiento de entrada

iii. Sistema de control y proces amiento de datos.

iv . Procesamiento de s alida

v . Alimentac ión

El o rden en que f ueron enunc iados los cuatro primeros sis temas evidencia la s ecuencia que siguen

los eventos de l proc eso de control comple to , iniciando por una interf az con e l usuario, una

eva luac ión de la cantidad actua l dosif icada, procesada por el contro lador para tomar la decisiones ,

y la activac ión el sistema de giro para que se inicie la dosific ación del líquido teniendo en cuenta

los datos de entrada del sensor, para que de es ta f orma el controlador pueda tomar la dec is ión

adecuada.

Mirando hacia adentro de la caja negra , s e puede v er la f orma en que se enc uentran organ izados

los subsistemas por medio de un diagrama de Pirbhay (v er F igura 14) para v isua lizar la inf luencia

de cada uno de ellos sobre el sistema completo.

Page 22: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

IEL2-I-06-08

22

Figur a 14. Diagrama de Pirbhay del sistema

Cada uno de los subs is temas ya mencionados, los cuales , al igua l que el sistema completo, tienen

sus propios c omponentes internos que les permite funcionar de manera adecuada. Cada uno de

estos componentes será analizado indiv idualmente para as í poder mos trar y ex plicar cada una de

sus partes y su func ionamiento, de manera que se logré obtener una v isión global de l

funcionamiento del sistema completo.

1.1.3.1 Sistema de interfaz con el usuario

Tal v ez una de los subsistemas más importantes de este proyecto es la interf az con el usuario ,

pues los operadores o us uarios que utilic en este sistema querrán e legir la cantidad que se desea

dos ificar y saber el estado en que se encuentra el proceso.

Se buscó d iseñar una interf az v isua l senc illa, donde e l usuario pueda in iciar un proc eso fácilmente

y de igua l f orma pueda s aber cuando el p roceso iniciado anteriormente ha terminado correcta o

incorrectamente. Por med io de es ta in te rf az, el us uario podrá se lecc ionar la cantidad que se desea

dos ificar y ob tener inf ormación acerca de l proces o, c uanta cantidad de liquido sea ha dosif icado.

De igual f orma, en caso de presentarse errores en e l proc es o esta interf az brinda la inf ormac ión

correspondiente.

Está interfaz se realizo en Mic rosoft V is ua l Basic 6.0 con la ay uda del p rograma realizado por

Alejandro Lav arello [9 ], en donde se establece como medio de comunic ación el puerto serial en tre

el dis pos itivo y el computador, por esta razón es neces ario un d ispositivo con capacidad de

Page 23: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

IEL2-I-06-08

23

comunicars e serialmente con un computador a través del puerto serial. Esta comunicación puede

ser p rogramada en d ife rentes ve locidades, teniendo en cuenta la v eloc idad de l dispositivo

electrónico que se use.

Figura 15. Visualización de la inter faz con el usuario

La interfaz diseñada presenta con la opción de se lecc ionar el puerto serial del computador que

utilizará y e l es tado del mismo y la v eloc idad a la cual esta transmitiendo y recibiendo. Tiene un

botón de ayuda, el cual b rinda una asesoria al cliente de cómo u tilizar esta herramienta. Además

cuenta con una pos ibilidad de rea lizar una parada de emergencia.

1.1.3.2 Sistema de proc esamiento de entrada

El módulo de procesamiento de entrada esta compuesto por una etapa de selección de la cantidad

de referenc ia y un sensor óp tico, que permita llevar una adquisición de datos adecuada para su

pos terio r análisis en e l s is tema de control.

Cantidad de referencia

La se lecc ión de la c antidad de ref erencia es tablece cual es la cantidad f inal dosif icada des eada por

le usuario . Cabe aclara que esta v ariable es esencia l para realizar un proceso de dosif icación.

Para es tablecer esta variab le se utilizó la in te rfaz con e l usuario , en donde el usuario tiene acceso

a la se lecc ión de la cantidad de ref erencia (ver f igura 16). El v alor seleccionado es env iado a l

Page 24: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

IEL2-I-06-08

24

dispositivo electrónico por medio de la comunic ación RS-232, en donde es te dispositivo realiza la

correspondiente v erif icación de la cantidad.

Figura 16. Imagen v isualizada por el usuar io d e la selección de can tidad

Sensor óptico

El giro del vo lante es una fo rma de cuantif icar la cantidad de líqu ido dosif icado. Para rea lizar la

medición de es ta variable que controla el g iro de l v olan te, se dec id ió u tilizar un sensor óptico . De

esta f orma, se realiza uno conteo de los grados que ha girado hasta el momento el v olan te .

Debido a que s e busca que el sistema de adquis ic ión sea de producción masiva, es c onven iente

utilizar sensores que sigan patrones de ba jo consumo, de tal modo que se puedan acop lar

fácilmente a dis positiv os de procesamiento (mic rocontro ladores, e tc .) sin mucho d iseño elec trón ico

complejo. Se implemento un s ens or de ba jo consumo y alta reso lución : el sens or óptico CNY70.

Figur a 17. Sensor Óptico CYN703

3 To mado de [10]

Page 25: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

IEL2-I-06-08

25

El CNY70 es un sens or óptic o reflexivo que tiene una cons trucción compacta donde el emisor de

luz y el receptor s e co locan en la misma d irección para detectar la presenc ia de un objeto utilizando

la ref lex ión de l inf rarro jo sobre e l objeto. Su detector consiste en un f ototrans istor.

Por ser un sens or que no necesita ningún ambiente especial, por ser de bajo costo, bajo consumo

de potencia y buena reso lución , es te sensor es el indicado para la aplicación que se está

des arro llando.

Figura 18. D isip ación de Potencia del CNY704

Este mismo c ircuito de ca lib ración (Figura 19) es e l que se usa en la ta rjeta de adquisic ión de datos

del modulo de procesamiento de entrada.

Figura 19. Circuito implemen tado para el CNY705

4 To mado de [10] 5 To mado de [11]

Page 26: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

IEL2-I-06-08

26

Tabla 1. Características e léctricas del CNY706

En la Tab la 1, s e resumen a lgunas de las principa les c aracterísticas del CNY70.

1.1.3.3 Sistema de contro l y p rocesamiento de datos

El sis tema de c ontrol y p rocesamientos de datos requiere de un s istema capaz de comparar los

datos recibidos con los da tos de ref erencial y tenga la capacidad de tomar dec is iones con respecto

a las acciones que hay que llevar a cabo para obtener la cantidad de líquido solicitada.

El d is positiv o debe ser programable de tal forma que la implementac ión de l controlador sea senc illa

y que igualmente lo sea la generac ión de seña les de s alida para el contro l de l s is tema de g iro e

infe rf az con e l usuario .

Para suplir todas estas nec esidades se necesita un dis positiv o versá til, sencillo y eficaz. Por esta

razón s e se lecc ionó e l dis pos itivo PSoC (Programmable Sy stem on Chip) CY8C27443 de Cypress

Mic rosy stems .

El PSoC de Cypress Microsystems es un microcontrolador c on un con junto de recursos ana lógic os

y dig itales c onfigurables según las neces idades de la ap lic ac ión a desarrollar. Posee un

mic rocontro lador de 8 bits, un procesador con una ve locidad máxima de 24 MHz, un oscilador

in te rno programable. Puede operar con un vo lta je de 3.0 V hasta 5.25 V. Es tas son algunas de las

carac terís ticas que hacen del PSoC un dis pos itivo programable versátil y robusto.

De igua l f orma v iene con un kit de des arro llo y p rogramación f ácil de manejar, e l c ual es de bajo

costo lo que lo hac e de fácil adquisic ión. Su arquitectura hace pos ib le implementar desde

configuraciones comple jas hasta requerimientos s imples donde so lo sea nec esaria la utilizac ión de l

mic rocontro lador.

6 To mada de [10]

Page 27: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

IEL2-I-06-08

27

1.1.3.4 Sistema de proc esamiento de salida

El s is tema de procesamiento de salida requ iere las señales de ac tiv ación del sistema mecánic o de

giro y e l estado del proc eso. Este modu lo debe ser capaz de enviar las seña les correspondien tes a

las decisiones tomas por el control y proces amiento de datos; para que de esta fo rma las acciones

realizadas c onc uerden con las decis iones tomadas anterio rmente.

Estado del proc es o

Permitir la v isualización de l estado del p roceso al usuario u operario y cual ha sido la cantidad

dos ificada hasta el momento se utilizara la interf az con e l usuario an terio rmente desc rita.

Desde el dispositiv o s e env ia rá la inf ormación c orrespond iente al c omputador por medio de l

protoco lo RS-232.

Figura 20. Imag en visualizada por el usuario del estado d el pro ceso

Sistema mecán ico de giro

El s is tema mecán ic o de g iro esta compuesto inicialmente por un motorreductor, pero debido a que

el dis pos itivo e lectrónico no tiene la capacidad de proveerle al motorreductor el voltaje ni la

corriente que neces ita para func ionar correctamente , f ue necesario realizar un sistema de potenc ia.

Page 28: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

IEL2-I-06-08

28

Se us o un puente H, el L293B, para el sistema de potencia del motorreduc tor. Cuenta con voltaje

de alimentación de las cargas y de la lógic a has ta de 36 voltios independientes, y con una corriente

de sa lida has ta de 1 Amperio por canal, de ta l f orma que la corriente y el voltaje del motorreduc tor

serán provistos por la fuente de a limentac ión directamente. Ahora , c omo s on necesarios 12 V para

activar el v oltaje de a limentac ión del motorreductor, de igual f orma es necesario que su f uente de

alimentac ión sea de 12 V.

Pos ee cuatro canales de s alida, cada uno de ellos es contro lado por señales de entrada

compatibles TTL, dispon iendo para cada par de c ana les con una señal de hab ilitación que

desconec ta las salidas de los mis mos . En la tabla 2 mues tra las posibles conf igurac iones según e l

valor de la seña l de entrada y del habilitador c orrespond iente a e llas.

Tab la 2 . Configuración de las en tradas y salidas del L293B7

Este mismo c ircuito de ca lib ración , f igura 21, es el que se usa en la tarje ta del sistema mec ánico de

giro .

Figura 21. Circuito de montaje del L293B8

7 To mada de [12] 8 To mada de [13]

Page 29: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

IEL2-I-06-08

29

1.1.3.5 Sistema de mantenimiento

Por s er un proy ecto de prototipo se esc ogió c omo f uente de alimentación un adaptador que f uese

capaz de suplir las necesidades del mode lo y, a su vez, del dispos itivo e lectrónic o. Con la ay uda de

dos reguladores MC78xx se d iseñó es té s istema.

El MC78xx es un regulador de voltaje c apaz de alcanzar una corriente de sa lida de 1A. Su rango

de voltaje de sa lida es amplio, de 5 has ta 24 voltios. Internamente posee un generador de

corriente y un s istema de protección e l cual lo hac e prácticamente indes truc tib le . En la f igura 22 se

presenta el diagrama interno de la f amilia de reguladores MC78xx.

F igur a 22. Diagrama interno d e un MC78xx9

Para regulación del v oltaje de alimentación del d ispositiv o, la c ual era 5 V, se u tilizo e l MC7805,

mientras para la alimentación del s istema de potencia de l motorreductor se utilizo el MC7812, de

esta f orma teniendo los voltajes independientes se pro tegió la integridad del dispositivo.

En la f igura 23 se presenta el circuito de montaje utilizado de igual fo rma para cada uno de los

reguladores implementados , el MC7805 y el MC7812.

9 To mada de [14]

Page 30: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

IEL2-I-06-08

30

Figura 23. Circuito de montaje del MC7805 y e l MC781210

1.1.4 Diseño del software

1.1.4.1 Metodología GEMMA

El d iseño del software tuv o en cuenta los parámetros de la Norma GEMMA11. De acuerdo a está, e l

proceso de automatizac ión de un sistema de dosif icac ión es taría dado por el siguiente esquema:

Figura 24. Esqu ema de la Norma GEMMA

10 Tomada de [14 ] 11 Tomada de [8]

Page 31: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

IEL2-I-06-08

31

Procedimiento de funcionamiento

Es la operación normal de l sistema de dosific ación. En es te caso, e l proc esamiento de

funcionamiento es el proc eso en el cual se realiza la dos ificación de la cantidad se lecc ionada pro e l

usuario .

Figur a 25. Procedimiento de fun cionamiento en n orma GEMMA

Este modulo inicia con la s elección c orrecta de la cantidad a dos if icar hasta que se indica que e l proceso ha terminado. Una vez se termina el p roceso, se el sistema queda en espera de una nueva se lección de la cantidad. La permanencia en es te estado es hasta cuando el PSoC ind ica que el proceso ha terminado ó has ta cuando el operario de la autorizac ión de una para de emergenc ia . Procedimiento de paro

Figur a 26. Procedimiento de paro en norma GEMMA

Tiene tres estados principales . El primero es el estado inicial, donde se espera la in ic ializac ión de l proceso por parte del operario, paro en estado in ic ial. El segundo cons is te en el estado de f in de ciclo, demanda de paro a f in de ciclo, e l en trar a es te c iclo indica que e l proces o total de dos ificación ha te rminado correctamente y se queda a la espera de la nueva inicialización de un proceso. El te rc er estado consis te en la preparación del sistema des pués de un f allo en el proc eso. Procedimiento de fa llo

Page 32: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

IEL2-I-06-08

32

En es te proced imiento hay un ev ento de gran importancia. Paro de emergencia, el cual se activa por o rden de l operario y da lugar a la desactivación de todas las acc iones del sistema. Se des activan las señales eléctricas para el s ensor y el motor, y al interf az con e l us uario es des activada del PSoC .

Figur a 27. Procedimiento de fallo en norma GEMMA

1.1.4.2 PSoC

La programación del PSoC se realizó usando dif erentes componentes para rea lizar todos los

procesos enunc iados en s ecc iones anteriores, y una f recuencia de reloj de 12 MHz.

In ic ialmente s e implementará un contador a 8 bits que tenga la capacidad de generar una señal de

re lo j interna para la UART encargada de la transmis ión seria l.

Este contador se ac tiv a indefinidamente y se c onf igura de manera que se genere una seña l de relo j

de 153.6kHz aproximadamente, para que así la U ART envíe da tos a una ve locidad adecuada para

que e l computador reciba satisfactoriamente lo que se le ha env iado. En este c aso se conf iguró

esta UART a una tasa de 19200bps. Igua lmente, es por esta razón que se escogió que la

frecuencia de trabajo de l dis pos itivo fuera de 12MHz.

Finalmente, s e generaron rutinas de prueba del sistema de dosif icac ión para poder v erificar al inicio

del proceso si es te s istema func iona correctamente, para continuar luego c on cada uno de los

procesos indicados en la Figura 28, donde s e puede v er c laramente cada uno de los procesos que

se llevaron a cabo y como s e pasa de un proc eso a otro a lo la rgo del programa.

Page 33: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

IEL2-I-06-08

33

Figur a 28. Diagrama de bloques del proceso en e l PSoC

La programac ión del PSoC se realizó en lengua je C. Internamente cuenta c on c uatro func iones, a l

primera de ellas cumple la ta rea de recib ir, analizar y va lidar a l cantidad a dos if icar se lecc ionada

por el usuario des de el PC por medio de la interf az con el usuario.

void r ecibir _r x(int dator ){

if ((UART_1_bReadRxSt atus() & UART_1_RX_REG _F ULL)) { //ver ific ac ión de ex istencia de dat o en pin conectado c on el puert o s erial.

cantidad_pc = UART_1_bReadRxData(); //lect ur a del dat o enviado desde la interfaz

dat or= 1; cantidad_ingr esada_1 = (int)c antidad_pc; //conver sión del dat o r ecibido en ent er o

if(( cantidad_ingresada_1 > = 1)&&(cantidad_ingresada_1 < = 20)) { // v erificac ión s i la cantidad es corr ect a

Dat o_1= 1; env iar _tx (D at o_1); //envia el aviso de cantidad correcta

Page 34: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

IEL2-I-06-08

34

conteo_final=cant idad_ingres ada_1; act ivar_giro_m ot or( c onteo_f inal); // inicia pr oceso de dosif ic ación

}

els e{ Dat o_1= 2;

env iar _tx (D at o_1); //envia el aviso de cantidad inc orr ect a

recibir _r x _2(dator); // est a a la es pera par a una nuev a v er ificación

}

}

}

En el caso en el que el usuario ha seleccionado una cantidad incorrecta, f uera de los parámetros

estab lecidos por e l f abricante del s istema, la segunda f unción realiza la misma tarea que la

primera , pero con la d iferencia que es te ya es el segundo intento por inic ia r un proceso.

void r ecibir _r x_2(int dator) {

if ((UART_1_bReadRxSt atus() & UART_1_RX_REG _F ULL)) { //ver ific ac ión de existencia de dat o en pin conect ado c on

el puert o s erial. cantidad_pc = UART_1_bReadRxData();//lect ura del dato enviado des de la int erf az

cantidad_ingr esada_1 = (int)c antidad_pc; //conver sión del dat o r ecibido en ent er o

dat or= 2; if(( cantidad_ingresada_1 > = 1)&&(cantidad_ingresada_1 < = 20)) { // v erificac ión s i la cantidad es corr ect a

Dat o_1= 1;

env iar _tx (D at o_1); //envia el avis o de cantidad correcta

conteo_final=cant idad_ingres ada_1;

act ivar_giro_m ot or( c onteo_f inal); // env ia el aviso de cantidad cor recta

} els e{

Dat o_1= 2;

env iar _tx (D at o_1); //envia el aviso de cantidad inc orr ect a recibir _r x(dator); //esta a la espera par a una nuev a v er ific ación

}

} }

La tercera de las func iones es la encargada de env iar datos del proceso a l PC, y de esta f orma por

medio de la in te rf az con e l usuario , ind ic arle al mismo el estado de l p roceso.

void env iar _tx (int dato_enviar){

dat o_transmit ir[0] = 0; itoa( dat o_tr ansmitir, dato_enviar, 10); // se conviert e el dat o a enviar en char

contador _env iar = 0;

while (dato_tr ansmiti r[ contador _enviar]){ while (!(bUART_1_R eadT xS tat us() & UART _1_T X_BUFF ER_EMPTY) ) {}//se ev it a err or

UART_1_SendData( dato_tr ansmitir[ c ontador _enviar]);//s e env ia el dato

contador _env iar+ +; }

}

Page 35: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

IEL2-I-06-08

35

La cuarta y ú ltima f unción que compone es te programa, es la encargada de realizar el contro l de l

proceso. Es ta f unción rea liza la activación y desactivación del sistema de giro del vo lante, realiza y

ana liza la lectura del número de ranuras por med io del sensor, y es la encargada de l control to ta l

del proceso.

void act ivar _giro_motor(cont eo_final) { ret ar do_motor=0;

act ivar_gir o=0;

dat o_sensor_new = (PRT 2DR&0x 01);//prim er a lect ura del sens or dat o_sensor_old = (PRT2DR&0x01);// pr imera lectur a del sensor

contador _s ens or = 0;

conteo_inic ial= 0; while( conteo_inicial < cont eo_final){ //contr ol de no s uper ar el c ont eo requerido

while (activ ar _giro < numero_gir o){

if ((UART_1_bReadRxSt atus() & UART_1_RX_REG _F ULL)) {//v er ific ación de dat o en pin

cantidad_pc = UART_1_bReadRxData(); //lect ur a del dat o

cantidad_ingr esada[ 0]= cantidad_pc; par o_er = at oi(cantidad_ingr esada); //conversión a ent ero del dato

}

if( par o_er = = 0){ //ver ific ac ión de activación de par ada de emergencia act ivar_giro = numer o_giro + 1;// desactiv a el giro del mot or

conteo_inic ial = c ont eo_final + 1;// des actva el proces o

} //si no hay par a de emergencia se continua con el pr oc eso

PRT1DR=0x00; // act ivacion del gir o del mot or

dat o_sensor_new =(PRT2DR&0x01); //lectura act ual del s ens or if(( dat o_s ensor _new )!= (dato_sens or_old) ){ //v erificac ion de c ont eo de ranur as

act ivar_giro++ ; //aumenta el numero de r anuras act uales

dat o_sensor_old= dato_sens or_new; // act ualiz acion del dat o }

//retar do

cualquier a= 0; while( cualquier a < 1000){

cualquier a+ +;

}

}

act ivar_gir o = 0; conteo_inic ial+ +; //aum ent o en lso m il ilitr os act ualment e dosif ic ados

enviar _tx (c ont eo_inicial);// envio de inf ormación del estado del pr oc es o

par o_er = 1;

}

conteo_inic ial = 0;

act ivar_gir o=0; PRT1DR=0xF F;//desactivacion de motor

conteo_final=0;

} En el anexo A encuentra el programa completo de l PSoC.

Page 36: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

IEL2-I-06-08

36

Tanto la organización de cada uno de los b loques que f orman parte del sistema de procesamiento

completo como la p rogramación de cada uno de ellos se pres entan en la Figura 29; de igua l f orma

en la Figura 30 se presenta la d istribución fina l de pines del circu ito integrado CY 8C27443.

Figur a 29. Implemen tación final de bloques en el PSoC

F igura 30. Diagrama d e pines de PSoC

Page 37: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

IEL2-I-06-08

37

1.1.4.3 In te rfaz con el usuario

La programac ión de la interfaz con el usuario , al igua l que la programación del PSoC , cuenta con

una descripción interna de las rutinas que se generan. La f igura 31 mues tra claramente cada una

de al ru tinas que se llev an a c abo y el orden de ejecuc ión de las mismas .

F igura 31. Diagrama d e bloqu es del proceso de la in terfaz con el usuario

La programación de la interfaz con e l us uario tiene in te rnamente f unciones las cuales s erán

descritas a continuación. Cada uno de los vinc ulos, bo tones y demás observ ados en la interf az son

programados individualmente.

Botón para abrir e l puerto serial

El usuario elige el puerto serial que desea u tilizar para el p roceso, una v ez se lecc ionado, se

preparan los parámetros de c omunicación e inten to abrir el puerto . Si no ex iste o si ya esta siendo

Page 38: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

IEL2-I-06-08

38

utilizado por otro programa, ocurre un error y la etiqueta de manejar erro res es activ ada. De lo

contrario, se ac tiv a el mens aje el cua l indica que la apertura del puerto esta correcta . Una v ez la

apertura de l puerto es correc ta, s e activa e l mensa je de in icio del proc eso, y se indica a l usuario

que debe seleccionar una cantidad a dosif icar.

Privat e Sub B ot on_Abr ir_Click( )

'A l puls ar aquí abr e un puert o s er ial

On E rror G oT o m anejar_err ores

MSComm1.CommPort = nr o_puert o 'P as o 1: eli jo el puerto

Figur a 32. Bo tón par a abrir puer to seria l

MSComm1.Sett ings = S tr$( velocidad) + ",N,8,1" 'P as o 2: ' prepar o par ámetr os de c omunicación

MSComm1.PortOpen = True ' Paso 3: I nt ento abrir el

'puert o. Puedo no lograrlo: si no ex ist e, o si otr o 'pr ograma lo está us ando. Aquí puede oc urr ir un err or

'y s altarí a a la etiquet a " manejar _er ror es "

MsgBox ( "Puert o COM" + Str$(nr o_puert o) + ": abierto O K") E tiq_Puerto.Caption = "CO M" + Str$(nr o_puert o) + ":"

E tiq_Velocidad.Capt ion = S tr$(veloc idad) + " bauds"

E tiq_Estado.For eC olor = &HFF00& 'C olor v er de E tiq_Estado.Capt ion = "Abierto"

GoT o Sal ir 'T odo Ok, continuar.

Figura 33. Mensaje de aper tura correcta del puerto serial

manejar_er r or es:

MsgB ox ("E rror al int ent ar abr ir

CO M" + Str$(nr o_puert o))

MsgB ox ("E rror detectado por

Vis ual Basic: " + E rr.Des cr ipt ion) Resume Sal ir ' Resume me permit e

cont inuar con el programa.

Fig ura 34. Men saje de apertura incorrecta del puer to ser ial

Salir: MsgB ox "Por fav or seleccione la c antidad que se quier e dosific ar"

'Aquí puedo poner algo que quier a que se ejec ute en

'c ualquier situación. End Sub

Privat e Sub B ot on_Ac ept ar_Click()

End Sub

Figur a 35. Men saje d e seleccion ar cantidad

Page 39: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

IEL2-I-06-08

39

Botón de ay uda

Este bo tón brinda la apertura de un arch iv o de tex to, e l c ual brindara ayuda al operador del objetivo

de es te programa y de como utilizarlo.

Privat e Sub B ot on_Ay uda_C lick ()

'Abre el texto Leeme.txt que se encuentr a en el m ismo 'dir ectorio que el ejecut able "E jemplo de us o de MSCO MM.EXE"

Dim r uta_leeme As String

rut a_leeme = " " + App.Path + "\" + "leeme.txt " On E rror G oT o E rror_Abriendo

Shel l "C:\W indows\ not epad.exe" + ruta_leeme, v bN ormalFoc us

GoTo Seguir Error_Abriendo:

MsgBox "No se pudo abrir LEEME.T XT en el B loc de Notas"

MsgBox "V is ual Basic detectó: " + E rr.Description Res ume S eguir

Figura 36. Botón de ayud a

Botón de cerrar puerto seria l

Cuando el proc eso ha finalizado y el operador des ea apagar el sistema, para evitar daños en e l

puerto, da la decisión de cerrar el puerto.

Privat e Sub B ot on_Cerrar _C lick () 'A l pulsar aquí cierr a un puerto serial

On E rror G oT o m anejar_err ores 'P rot ejo fr ent e al er ror.

MSComm1.PortOpen = Fals e 'Puede haber err or s i

'intento cerrar un puert o que está en us o por otr o

'programa, entr e otr as caus as.

Figura 37. Botón de cerrar el puerto serial

MsgB ox ("Puert o COM" + S tr$(nr o_puerto) + ": c err ado O K")

E tiq_Estado.For eC olor = &HFF& 'Rojo E tiq_Estado = "CERRADO"

G oT o Salir

F igur a 38. Men saje de puerto serial cerrado correctamente

Botón de enviar de informac ión al PSoC

Una vez el usuario selecciona la cantidad, debe enviar este valo r hacia el PSoC . El valor escrito

por el usuario es convertido en tipo Byte y posteriormente es enviando. Se ac tiv an el mensaje que

indica que la cantidad ha sido seleccionada. En el caso que e l usuario desea s eleccionar una

cantidad pero aun no ha seleccionado e l puerto seria se activara e l e rror de envio.

Page 40: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

IEL2-I-06-08

40

Privat e Sub B ot on_Env iar _C lick ()

' La propiedad Output r equiere un Var iant Dim text o_sal ida As Byte

texto_salida = Val(s eleccion_cant idad.T ext)

Figur a 39. Bo tón de enviar cantidad a dosificar al PSoC

Text o_M ensajes.Text = "Env iando..."

MsgB ox "H a s elecc ionado la cant idad a dosificar " 'A l escribir en la propiedad O utput, s e envian

'los dat os desde el puert o al ext er ior.

'debo pr ot eger fr ent e a err or es par a que el pr ogr ama 'no abort e.

On E rror G oT o E rror_Enviando

MSComm1.Output = Chr (texto_salida) GoTo Salir

Error_Enviando: MsgBox "Ocurr ió un er r or al intentar enviar el t ext o. V is ual Basic detectò: " + E rr.D es cr iption

' MsgB ox "Visual Bas ic det ect ó: " + Err.Desc ript ion

Texto_Mens ajes.T ext = "O cur rió er r or al enviar, por f avor s eleccione y abrà el puerto " Res ume Sal ir

Salir:

End Sub

Lista de selección del puerto seria l

En la lis ta s e han predeterminado has ta cuatro posib les puertos seriales. Privat e Sub C om bo_Puert o_Click () 'Aquí selec ciona el numer o del puert o a us ar.

Dim viejo_puert o As Int eger

viejo_puert o = nr o_puert o 'M e fi jo si el usuario

'intent a c ambiar de puerto.

nr o_puerto = Combo_Puert o.ListI ndex nr o_puerto = Combo_Puert o.It emDat a(nro_puerto)

'G racias a la v ar iable mensajes _c ambios puedo suprim ir 'el mens aje c uando ar ranca el programa.

If (nr o_puerto <> viejo_puert o) And (mensajes _cambios = T rue) _

Then Ms gB ox "D ebe abr ir este puert o antes de usarlo"

End Sub

Page 41: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

IEL2-I-06-08

41

Botón de Emergenc ia

Existe la posibilidad que el usuario nec esite o requ iera parar e l proceso y este botón brinda esta

opc ión. Una vez el usuario lo pres ione, la in te rf az da avis o al PSoC, y pos teriormente cierra e l

puerto seria l para evitar daños. Finalmente la in te rf az quedara como si no s e hubiera dando inic io ,

y será necesario empezar de nuevo.

F igura 40. Botón de parad a de emerg encia

Privat e Sub Emergenc ia_Cl ick()

' La propiedad Output r equiere un Var iant Dim text o_sal ida_er As Variant

texto_salida_er = "0" Text o_f inal = "Oc urr io un err or, el pr oces o no t erm ino c orr ect amente, por f avor inicie de nuev o"

Text o_dosif ic ada = "ERROR"

'A l escribir en la propiedad O utput, se envian 'los dat os desde el puert o al ext er ior.

'debo pr ot eger fr ent e a err or es par a que el pr ogr ama

'no abort e. On E rror G oT o E rror_Enviando

MSComm1.Output = text o_sal ida_er

Text o_M ensajes = " " Text o_dosif ic ada = " "

Text o_f inal = " "

Text o_c antidad = " "

'A l pulsar aquí cierr a un puerto serial

On E rror G oT o m anejar_err ores 'P rot ejo fr ent e al er ror.

MSComm1.PortOpen = Fals e 'Puede haber err or s i 'intent o c err ar un puert o que est á en uso por otro

'pr ograma, entr e otr as c ausas.

MsgBox ("Puert o COM" + S tr$(nr o_puerto) + ": cerr ado O K") E tiq_Estado.For eC olor = &HFF& 'Rojo

E tiq_Estado = "CERRADO"

G oT o Salir Error_Enviando:

MsgBox "Ocurr ió un er r or al intentar enviar el t ext o"

MsgBox "Vis ual Basic det ect ó: " + Err.Descr iption Texto_Mens ajes.T ext = "O cur rió er r or al enviar "

GoTo Sal ir

manejar _er ror es: MsgBox ("Err or al intent ar c err ar COM" + Str$(nro_puert o))

MsgBox ("Vis ual basic detectó: " + E rr.Des cr iption)

Res ume S al ir

Page 42: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

IEL2-I-06-08

42

Salir: End Sub

Configuración de la comunicación serial

Esta rutina del programa realiza la conf igurac ión de l al comunicación, la v e locidad de transmisión ,

así como también prepara a l programa para recibir y transmitir datos .

Privat e Sub F orm_Load( )

'**** P rogr ama de demostrac ión del c ontrol MSCOMM **** ' Se usa el MSCOMM en su f orma más sim ple:

' 1) Sólo en modo "t ext o" ( no "binario")

' 2) Sólo se manejan los ev ent os de r ecepción y ' transmis ión (ignora err ores de datos, ring del

' modem, etc.)

' Var iables globales, definidas en Module1:

' mensajes _cambios as boolean S uprime mensajes al iniciar pr ogr ama.

' v elocidad As I nteger Bauds ' nro_puert o As I nt eger Cual puerto us o

' inc luy e_s alt o_c ar r o As Boolean Enviar o no CR+ LF (0x0D y 0x0A)

' c adena_entr ada As Variant R ec ibe el texto del contr ol.

mens ajes_cambios = Fals e

veloc idad = 19200

nr o_puerto = 9600

cant idad = 1 Combo_Puert o. ListI ndex = 0

mens ajes_cambios = True

'*** P repar ación del objet o MSCOMM1 par a r ecibir *******

'*** y transmiti r ******* MSComm1.InputLen = 0 ' E l valor 0 hac e que se lea t odo

' el cont enido del buffer de r ecepcion que pos ee

' el contr ol MSComm. ' S i Input Len v al iera 6, se r ecibir ian los prim er os 6

'caracter es de es e buff er, ignor ando el r est o.

MSComm1.RThres hold = 1 ' al rec ibir uno o m as caracteres 'se gener ará el ev ento OnComm y la pr opiedad

'CommEvent c ont endr á el valor comEvR ec eiv e.

'La constant e comEvReceive vale 2 .

MSComm1.SThr eshold = 1 ' al enviar uno o mas caracter es

'se gener ar á el ev ent o OnComm y la propiedad 'ComEvent c ontendr á el v alor comEvSend

'La const ant e c omEvSend vale 1.

'*** Par a tr abajar con MSCO MM, falt an los siguient es pas os:

' 1) E specif ic ar c ual port va a usar:

' MSComm1.C ommPort = 1

Page 43: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

IEL2-I-06-08

43

' 2) E stablecer parámetr os de la c om unicación: ' MSComm1.S ettings = "9600,N, 8, 1"

' veloc idad= 9600, paridad= No usada,

' cant idad de bits= 8, ' cant idad de bits de par ada (stop bits) = 1

' 19200 baudios, sin paridad, 8 bits de datos y 1 bit de par ada.

' 3) A br ir el puerto:

' MSComm1.PortOpen = True

' Estos 3 pasos s e l lev an a c abo en el botón llamado

' Bot on_A br ir '

MsgB ox "Por f av or s eleccione y abra el puert o antes de empez ar a ut iliz arlo"

Etiq_Est ado.F or eColor = &HFF & 'Rojo Etiq_Est ado.C aption = "CERRADO"

'Boton_Ay uda_O culto.SetFocus

End Sub

Privat e Sub MSC omm1_OnComm()

'Aqui se int er c eptan los ev entos que se pr oducen

'durante la comunic ación RS 232. 'Cada vez que pasa algo r elativ o al puerto CO M

'en us o, cambia el v alor de la pr opiedad CommEvent

'E jem plo: S i s uena el t elef ono, y el modem 'está conectado a la linea, y se est á uti lizando el

'puert o COM c orr es pondient e al m odem, s e generar á el

' evento O nComm y la pr opiedad CommEv ent valdr á 6 . ' ( 6 es el v alor de la const ant e c ommEvRing, y a def inida

' inter nament e por V is ual Basic ).

Dim envio As Boolean envio = False

If MSComm1.CommEvent = comEvR ec eiv e T hen

'Label1 = " "

text o_llego = Int(MSComm1.Input )

' Label1 = texto_llego

If text o_l lego = "98" Then Texto_final = "Ocurrio un error, el pr oces o no term ino c orr ect ament e, por fav or inicie de nuev o"

av iso_recibido = 0

End If

If avis o_r ecibido = 2 Then

If text o_l lego = cantidad_ej T hen Texto_dosificada = S tr$(texto_l lego) + " MILILITROS"

Texto_final = "El proc es o ha t erm inado ex it osamente"

avis o_rec ibido = 0

End If

If text o_l lego < cantidad_ej T hen Texto_dosificada = S tr$(texto_l lego) + " MILILITROS"

Texto_final = "El proc es o se enc uentr a aun en ejecutación"

Page 44: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

IEL2-I-06-08

44

avis o_rec ibido = aviso_r ec ibido End If

End If

If avis o_r ecibido = 1 Then If text o_l lego = "1" T hen

Texto_cant idad = "Es v alida. El P roces o c ontinua satisfact oriament e"

avis o_rec ibido = aviso_r ec ibido + 1

End If

If text o_l lego = "2" T hen

Texto_cant idad = "No es v alida. Por f avor ingr ese de nuev o la c antidad s olicitada" avis o_rec ibido = 0

End If

End If 'Label2 = avis o_rec ibido

End If

If MSComm1.CommEvent = comEvSend T hen Texto_Mens ajes = "Se ha inic iado el proces o c on la cantidad selec cionada"

Texto_dosif icada = " "

Texto_final = " " Texto_cantidad = " "

avis o_recibido = avis o_r ecibido + 1

cantidad_ej = Int( selecc ion_c antidad) End If

End Sub

Page 45: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

IEL2-I-06-08

45

2. IMPLEMENTACIÓN Una v ez se lecc ionado la instrumentación, y teniendo ya e l diseño del hardware y del software que

se va a proseguir con la implementac ión de l proy ecto , y teniendo en c uenta la desc ripción de l

proceso que se requiere obtener, podemos proc eder a rea lizar la implementación de l d ispositiv o.

In ic iando con la implementación del d ispositiv o elec trón ico PSoC, posteriormente realizando la

adaptación física de la plan ta a l sis tema y finalizando con la imp lementación de los subsistemas

restantes.

2.5 PSoC

Como resultado f inal se ob tuvo entonc es un d ispositivo compuesto por una etapa de acople de l

PSoC c on el sis tema de v entilación y una segunda parte que incorpora los s ubs istemas de control,

de interfaz con el usuario y de proces amiento de datos de entrada. E l s istema completo se puede

ver en al f igura 41 .

Figura 41. Sistema de control d e dosificación de líquido s

2.6 AD APTACIÓN DEL BOTTLETOP BUR ET Ten iendo un conocimiento básico sobre e l comportamiento de l Bottle top Buret y sobre la

instrumentación y software por adoptar, se proced ió a evaluar sus carac terís ticas físic as de l

Bottletop Buret.

Se realizó un mode lamiento de la p lanta c on la ay uda de un Ingeniero Mecánico y una Diseñadora

Indus trial para realizar su adaptac ión al hardware . El objetivo, la adaptación de la planta a la

automatización no realizará daños f ísicos que pud ieran perjud icar en un f uturo s u proceso manual.

Para es to , se busco una so lución económic a, de fácil manipu lación humana y que en un futuro no

perjudic ara el estado f ís ico de l v olante y del Bottle top Bure t.

Page 46: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

IEL2-I-06-08

46

Tomando las medidas de l Bottletop Buret, se modeló un sistema mecánico res is tente a la fuerza

del motorreductor necesaria para realizar el movimiento del vo lante, y que a su vez es té se pudiera

adaptar a l sis tema elec trónico dis eñado anterio rmente. Se modeló un c ilindro de diámetro igual a l

del volan te (2” de diámetro), y se f ijo esté al v olan te por medio de ay uda de una abrazadera

metálica, de esta fo rma se f ija e l c ilindro a l Bottletop Buret.

Figur a 42. Ad aptación física del volante de la planta

El modelo obtenido cumplía las c arac terísticas solicitadas, ya que s i es necesario realizar un

proceso manualmente, el operario simplemente sue lta la abrazadera metá lica y se ob tiene

nuevamente la plan ta para us o manual. Otra fo rma de v isualizar la ef ectiv idad de este modelo, es

que debido a l material del cilindro, en este c aso s e escog ió PVC, esté no causa ningún tipo de

des gaste o deterioro sobre el vo lante de l Bottletop Buret.

Figur a 43. Sistema de ad aptación del volante con e l motorreductor

De igual fo rma se modelo la planta con su respec tiv o tanque de almacenamiento. Para ev itar la

entrada de aire como una perturbación en el sistema, fue necesario adquirir un tanque de

almacenamiento para líqu idos que a justara perf ec tamente con e l Bottletop Buret.

Page 47: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

IEL2-I-06-08

47

F igur a 44. Ensamble d el tanque de almacenaje con la plan ta (mod elo)

F igur a 45. Ensamble d el tanque de almacenaje con la plan ta (r eal)

Adicionalmente, c omo s e debe conservar el estado f ís ico de la p lanta en perfecto estado, s e diseñó

la ins ta lación del s ensor a la planta por medio de plastilina, de esta fo rma aseguramos que e l

materia l u tilizado es no toxico, no conductor y de f ácil separac ión, para el caso de quererse realizar

un proc eso de f orma manua l.

Finalmente se modeló e l sistema de automatización completo en su estado f ís ico, el cua l s e realizó

pensando en las neces idades del c liente.

Page 48: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

IEL2-I-06-08

48

Figura 46. Modelo general de l sis tema

Figur a 47. Implementación obtenida del sistema

Todos los mode los se rea lizaron en Microstation.

2.7 IMPL EMENTACIÓN DE LOS SUBSISTEMAS

Finalmente para realizar las v alidac iones corres pondien tes del sistema era necesario imp lementar

el s istema de mantenimiento. La f igura 31 muestra el sistema de alimentación obten ido.

Page 49: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

IEL2-I-06-08

49

F igura 48. Sistema de alimentación

2.8 RESUMEN

Finalmente s e obtuv o el sistema mostrado en la figura 49. Tiene dimensiones de 20cm de

prof und idad, 40c m de ancho y 40 cm. de alto y un peso aproximado de 5 Kg. Por s us

carac terís ticas f ís icas es de fácil trans portac ión.

Figur a 49. Sistema d e alimentación del sistema

Page 50: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

IEL2-I-06-08

50

3. VAL IDACIÓN DE PROTOTIPO

2.9 PRUEBAS DEL SOF TWARE Y HARDWARE

Para la comprobación de l buen funcionamiento de l software y del hardware diseñados e

imp lementados, se rea lizaron pruebas ten iendo en cuenta mal uso de l software por parte de l

usuario , la dos ificación del produc to en d ife rentes cantidades y el caso de ser nec esario una

parada de emergencia.

Para el primero de los c asos, asumimos como primer erro r, que el usuario no se lecc ionaba ni abría

correctamente el puerto s erial del PC que se va a ser usado durante e l proces o. Como res ultado e l

sof tware dio avis o al usuario de l error y posterio rmente dio indicaciones . Las figuras 50 y 51

mues tran cuando s e intenta inicializar un proceso sin haber realizado la apertura y se lecc ión de l

puerto seria l correspondiente, una v ez es correcto e l puerto, s e da las s iguientes ind ic ac iones para

al continuac ión del proc eso.

Figura 50. Error d e inic ia lización del pro ceso

Page 51: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

IEL2-I-06-08

51

Figura 51. Selección y aper tura correcta del puerto serial

El segundo de los errores posibles tomados en cuenta , es cuando el usuario selecciona una

cantidad invá lida. Inmediatamente el software analiza y da av is o del error y posteriormente de las

indicaciones que debe s egu ir para poder realizar un proceso de dosif icac ión. Ver figura 52.

Page 52: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

IEL2-I-06-08

52

Figura 52. Selección incorrecta de la can tidad a dosificar

En el segundo de los casos , una vez el usuario se lecc iona c orrectamente la cantidad a dosif icar, e l

sistema, da inf ormac ión al usuario de la condic ión actua l de l proces o y de igual fo rma ind ica

cuando e l proceso a te rminado y s i f ue un proceso ex itoso o no . Las f iguras 53 y 54 muestran

como es la inte rf az v isua lizada por el usuario mientras un proces o esta en e jecución y cuando e l

mismo f inaliza.

Page 53: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

IEL2-I-06-08

53

F igura 53. Aviso d el estado actual del proceso

Figur a 54. Finalización correcta del proceso

Page 54: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

IEL2-I-06-08

54

El tercer caso analizado, es cuando el usuario rea liza una parada de emergenc ia. El sistema se

enc uentra realizando la dosif icación en estado normal y una vez activada es ta opc ión, e l s is tema

de giro s e des activó y el software para ev ita r daños f uturos inactiva y cierra e l puerto seria l

utilizado.

2.10 6 .2 PRUEBAS DE VERIF ICACION DEL SISTEMA.

Para realizar las pruebas y v alidac iones del sistema completo se u tilizó tres dif eren tes líqu idos ,

agua, leche y k umis, de esta fo rma verific ábamos la exac titud del p roceso cuando la densidad de l

fluido cambia.

Se realizaron pruebas se lecc ionando c antidades de 2ml, 8ml, 13ml, 18ml, 23ml, 28ml, 36ml y

40ml.

0

20

40

60

80

100

120

0 10 20 30 40 50

Mililitros

Segu

ndos Kumis

AguaLeche

F igura 55. Cantidad dosificad a vs. Tiempo del proceso r equ erido

Como podemos v er en la f igura 38, los tiempos obten idos de dosific ado c on los d ife rentes líquidos

presentaron resultados simila res para los tres líquidos. Sin embargo es necesario tener en cuenta

que estas pruebas se hicieron c on los líqu idos a temperatura ambiente .

Igualmente en las pruebas se obtuvo en promedio un porcenta je de error de menos de 0.05 ml.

Adicionalmente se presento una pertu rbación en las pruebas, en algunos casos el tubo telescóp ico

succionador tomaba aire, generando en estas mediciones un porcentaje de error cons iderab le .

Esta perturbación es causada por el bajo niv el de líquido en el tanque almac enador o por e l cie rre y

apertura de la palanca de la v álvu la. Una so lución ef ic az a esta perturbación , es diseñar un s is tema

de contro l realimentado, para lo cual es necesario realizar una medic ión de niv el sobre e l envase

Page 55: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

IEL2-I-06-08

55

fina l de l líquido , ya s ea por med io de un proces amiento de imágenes o por una re lación peso-

mililitros.

Page 56: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

IEL2-I-06-08

56

4. PRESUPEST O

Una v ez realizada toda la imp lementación del sistema, identificamos e l cos to total de inversión para

la rea lización de es te pro totipo. La tabla 3 muestra un resumen de la instrumentación necesario y

su correspondiente costo.

Tabla 3. Presupuesto d e adquisición d el s is tema

C omentario: Horas d e ingeniería

Page 57: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

IEL2-I-06-08

57

CONCL USIONES

Como primera conclusión, se cumplió el objetivo princ ipal de este proy ec to y cada uno de s us

objetivos espec íf icos, pues to que se desarrolló un dispos itivo efectivo y versátil, dado que las

pruebas lo demos traron y , a s u vez, es adaptab le a nuevas mod if icaciones gracias a los elementos

que s e eligieron para su implementación.

Se realizo una revis ión de l estado del arte en cuanto los sistemas de dosif icación de líquidos .

Se logró una caracterizac ión de ta llada y conf iable del c omportamiento de v ariables de un s is tema

de dosificac ión, entradas, salidas y pos ibles pertu rbaciones, demostrando así la necesidad de una

acc ión correctiv a y al mismo tiempo, dando una base para in ic iar e l dis eño del dispositivo.

Se implementó un dispositivo con recursos suf icientes para hacerlo adaptable a nuev as

tecno logías .

Se realizaron pruebas de va lidac ión satisf ac torias que demuestran que el d is positiv o puede ser

imp lementado en proces os reales para hacer nuev as pruebas y concluir def in itivamente si es

aplicable a la problemática de la Indus tria.

Se realizo un diseño de bajo c osto de adquisic ión, comparado con los sistemas actuales.

Se abrió camino para pos ib les nuev as líneas de inves tigación que bus quen mejorar el d ispositivo y

que lo hagan ver como un d ispositiv o de posib le p roducción.

Page 58: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

IEL2-I-06-08

58

BIBLIOGRAFIA Y REF ERENCIAS [1] La nuev a plan ta de jarabes de C.I. Súper de A limentos S .A. El dulc e sabor de Co lombia.

http://www.c olciencias .gov .c o/agenda/pdfs/pn_35.pdf [2 ]

PETRECO: http://www.c -a-m.com/ EFD: http://www.efd-inc.com/espano l/xyz/ DOSATRON: http ://www.dosatron.com.mx /docs/HYGSP20050113.pdf TECNUM: h ttp://www.tecnum.com.ve/tc%5Cnosotros_proy ectos.htm#s ubir EUROTEK AUTOMATIZACION:

http://www.interempresas.net/Quimica /FeriaVirtual/Res eny aProduc to .asp?R=9836 [3 ] http://www.dosatron .com.mx /docs/HYGSP20050113.pdf [4 ] Cas tillo C ontreras, Iv án. Soto Sánchez, Jhon Jairo. Metodología para el Desarrollo de

Diseños en Ingen iería . Bogota D.C., 2002, 72 paginas. Proyecto Espec ia l. Univ ersidad de ls o Andes . Facu ltad de Ingenierpia. Departamento de Ingeniería Elec trón ica y Electrica .

[5 ] http://www.latinpack .com/sp/produ its /p roduits06.html [6 ] http://brinkmann.c om/products/buret_bottletop_de.as p [7 ] Brinkmann Bottle Top Buret 25/50, Instruction Manual. [8 ] Cas tillo Contreras ., Iván. METODOLOGIA GEMMA [9 ] http://www.geoc ities .com/ejemplo_mscomm/index.html [10] http://acm.asoc.f i.upm.es/sigbot/docus /cny 70.pdf [11] http://www.x -robotics.com/robots _simples_ ing.htm [12] http://www.terra .es/personal/fremiro/Archiv os/L293b.pdf#search=%22L293B%22 [13] http://www.s t.com/stonline /books/pdf /docs/1328.pdf#search=%22L293%22 [14]

http://www.lou tre.org/schemas _chaine_hif i/data_sheet_composants/MC78XX.pdf #search=%22MC7805%22

Page 59: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

IEL2-I-06-08

59

Anexo A. Co digo PSoC

//---- ------ --- --- ------------- --- --- ------ --- --- --------- --- --- ------ --- --- --

// C main line

//---- ------ --- --- ------------- --- --- ------ --- --- --------- --- --- ------ --- --- --

#include <m8c.h> // part spec ific const ant s and macr os

#include "PSoCAPI.h" // PSoC API def init ions f or all User Modu #include "st dl ib. h"

//dec lar acion de var iables y f unciones

int Dato, dator;

char cantidad_ingresada[ 1]; int cantidad_ingr es ada_1;

int i, numer o_gir o, D at o_1,c antidad; unsigned giro;

char cantidad_pc;

unsigned int dat o_11, par o_er; int v erifica_c antidad;

char dat o_transmit ir[20];

int dato_enviar; int c ontador_enviar;

int c antidad_dosific ar;

int c onteo_sens or; int c onteo_inicial;

char dat o_sensor _old;

char dat o_sensor _new; int dato_fin;

char dat o_new;

char dat o_old; int c ontador_sensor;

int activ ar _giro;

int r etar do_mot or, c ualquiera; int c onteo_final;

int c onteo_actual;

int accionar_mot or; int c ontr ol_inicial;

int f in_dosific acion;

void identificar(int);

void r ecibir _r x(int );

void r ecibir _r x_2(int); void env iar _tx (int);

void act ivar _giro_motor(int);

void main( ){

//inic ial iz acion del PSoC Counter 8_1_W rit ePeriod( 156);

Count er 8_1_DisableInt();

Page 60: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

IEL2-I-06-08

60

Counter 8_1_S tart(); UART_1_S tart (UART_PARITY_NONE);

M8C_EnableG Int ;

verific a_cantidad = 0; conteo_inic ial= 0;

contador _s ens or=0;

numero_gir o = 120;

ac cionar _m ot or = 0;

control_inic ial = 0;

conteo_s ensor = 0; control_inic ial = 0;

ret ar do_motor = 0;

dat or=0; par o_er= 1;

PRT1DR=0xF F;

whi le (1) { //sist ema pr epar ado para r ec ibir la cantidad a dosific ar

recibir _r x(dat or);

} }

void r ecibir _r x(int dator ){

if ((UART_1_bReadRxSt atus() & UART_1_RX_REG _F ULL)) { //ver ific ac ión de ex istencia de dat o en pin conectado c on el puert o s erial.

cantidad_pc = UART_1_bReadRxData(); //lect ur a del dat o enviado desde la interfaz

dat or= 1; cantidad_ingr esada_1 = (int)c antidad_pc; //conver sión del dat o r ecibido en ent er o

if(( cantidad_ingresada_1 > = 1)&&(cantidad_ingresada_1 < = 20)) { // v erificac ión s i la cantidad es corr ect a

Dat o_1= 1; env iar _tx (D at o_1); //envia el aviso de cantidad correcta

conteo_final=cant idad_ingres ada_1;

act ivar_giro_m ot or( c onteo_f inal); // inicia pr oceso de dosif ic ación }

els e{

Dat o_1= 2;

env iar _tx (D at o_1); //envia el aviso de cantidad inc orr ect a

recibir _r x _2(dator); // est a a la es pera par a una nuev a v er ificación }

}

} void r ecibir _r x_2(int dator) {

if ((UART_1_bReadRxSt atus() & UART_1_RX_REG _F ULL)) { //ver ific ac ión de existencia de dat o en pin conect ado c on

el puert o s erial. cantidad_pc = UART_1_bReadRxData();//lect ura del dato enviado des de la int erf az

cantidad_ingr esada_1 = (int)c antidad_pc; //conver sión del dat o r ecibido en ent er o

dat or= 2; if(( cantidad_ingresada_1 > = 1)&&(cantidad_ingresada_1 < = 20)) { // v erificac ión s i la cantidad es corr ect a

Dat o_1= 1;

env iar _tx (D at o_1); //envia el avis o de cantidad correcta conteo_final=cant idad_ingres ada_1;

act ivar_giro_m ot or( c onteo_f inal); // env ia el aviso de cantidad cor recta

} els e{

Dat o_1= 2;

Page 61: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

IEL2-I-06-08

61

env iar _tx (D at o_1); //envia el aviso de cantidad inc orr ect a recibir _r x(dator); //esta a la espera par a una nuev a v er ific ación

}

} }

void env iar _tx (int dato_enviar){

dat o_transmit ir[0] = 0;

itoa( dat o_tr ansmitir, dato_enviar, 10); // se conviert e el dat o a enviar en char

contador _env iar = 0;

while (dato_tr ansmiti r[ contador _enviar]){ while (!(bUART_1_R eadT xS tat us() & UART _1_T X_BUFF ER_EMPTY) ) {}//se ev it a err or

UART_1_SendData( dato_tr ansmitir[ c ontador _enviar]);//s e env ia el dato

contador _env iar+ +; }

}

void act ivar _giro_motor(cont eo_final) { ret ar do_motor=0;

act ivar_gir o=0;

dat o_sensor_new = (PRT 2DR&0x 01);//prim er a lect ura del sens or dat o_sensor_old = (PRT2DR&0x01);// pr imera lectur a del sensor

contador _s ens or = 0;

conteo_inic ial= 0; while( conteo_inicial < cont eo_final){ //contr ol de no s uper ar el c ont eo requerido

while (activ ar _giro < numero_gir o){

if ((UART_1_bReadRxSt atus() & UART_1_RX_REG _F ULL)) {//v er ific ación de dat o en pin cantidad_pc = UART_1_bReadRxData(); //lect ur a del dat o

cantidad_ingr esada[ 0]= cantidad_pc;

par o_er = at oi(cantidad_ingr esada); //conversión a ent ero del dato }

if( par o_er = = 0){ //ver ific ac ión de activación de par ada de emergencia

act ivar_giro = numer o_giro + 1;// desactiv a el giro del mot or conteo_inic ial = c ont eo_final + 1;// des actva el proces o

}

//si no hay par a de emergencia se continua con el pr oc eso

PRT1DR=0x00; // act ivacion del gir o del mot or

dat o_sensor_new =(PRT2DR&0x01); //lectura act ual del s ens or if(( dat o_s ensor _new )!= (dato_sens or_old) ){ //v erificac ion de c ont eo de ranur as

act ivar_giro++ ; //aumenta el numero de r anuras act uales

dat o_sensor_old= dato_sens or_new; // act ualiz acion del dat o }

//retar do

cualquier a= 0; while( cualquier a < 1000){

cualquier a+ +;

}

}

act ivar_gir o = 0; conteo_inic ial+ +; //aum ent o en lso m il ilitr os act ualment e dosif ic ados

enviar _tx (c ont eo_inicial);// envio de inf ormación del estado del pr oc es o

par o_er = 1; }

conteo_inic ial = 0;

Page 62: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

IEL2-I-06-08

62

act ivar_gir o=0; PRT1DR=0xF F;//desactivacion de motor

conteo_final=0;

}

Page 63: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

IEL2-I-06-08

63

Anexo B. Codigo Formu larios - Microsoft Visual Basic 6 .0

Privat e Sub B ot on_Abr ir_Click( )

'A l puls ar aquí abr e un puert o s er ial

On E rror G oT o m anejar_err ores MSComm1.CommPort = nr o_puert o 'P as o 1: eli jo el puerto

MSComm1.Sett ings = S tr$( velocidad) + ",N,8,1" 'P as o 2:

' prepar o par ámetr os de c omunicación MSComm1.PortOpen = True ' Paso 3: I nt ento abrir el

'puert o. Puedo no lograrlo: si no ex ist e, o si otr o

'pr ograma lo está us ando. Aquí puede oc urr ir un err or 'y s altarí a a la etiquet a " manejar _er ror es "

MsgBox ( "Puert o COM" + Str$(nr o_puert o) + ": abierto O K")

E tiq_Puerto.Caption = "CO M" + Str$(nr o_puert o) + ":" E tiq_Velocidad.Capt ion = S tr$(veloc idad) + " bauds"

E tiq_Estado.For eC olor = &HFF00& 'C olor v er de E tiq_Estado.Capt ion = "Abierto"

GoT o Sal ir 'T odo Ok, continuar.

manejar _er ror es:

MsgBox ("Err or al intent ar abr ir COM" + S tr$( nr o_puerto) ) MsgBox ("Err or det ectado por Vis ual Basic: " + Err.Descr iption)

Res ume S al ir ' R es ume me permit e continuar con el programa.

Salir:

MsgB ox "Por fav or seleccione la c antidad que se quier e dosific ar"

'Aquí puedo poner algo que quier a que se ejec ute en 'c ualquier situación.

End Sub

Privat e Sub B ot on_Ac ept ar_Click()

End Sub

Privat e Sub B ot on_Ay uda_C lick ()

'Abre el texto Leeme.txt que se encuentr a en el m ismo

'dir ectorio que el ejecut able "E jemplo de us o de MSCO MM.EXE"

Dim r uta_leeme As String

rut a_leeme = " " + App.Path + "\" + "leeme.txt " On E rror G oT o E rror_Abriendo

Shel l "C:\W indows\ not epad.exe" + ruta_leeme, v bN ormalFoc us

GoTo Seguir

Error_Abriendo:

MsgBox "No se pudo abrir LEEME.T XT en el B loc de Notas" MsgBox "V is ual Basic detectó: " + E rr.Description

Res ume S eguir

Seguir:

'Cont inuar con el pr ograma

Page 64: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

IEL2-I-06-08

64

End Sub

Privat e Sub B ot on_Cerrar _C lick ()

'A l pulsar aquí cierr a un puerto serial On E rror G oT o m anejar_err ores 'P rot ejo fr ent e al er ror.

MSComm1.PortOpen = Fals e 'Puede haber err or s i

'intent o c err ar un puert o que est á en uso por otro

'pr ograma, entr e otr as c ausas.

MsgBox ("Puert o COM" + S tr$(nr o_puerto) + ": cerr ado O K")

E tiq_Estado.For eC olor = &HFF& 'Rojo E tiq_Estado = "CERRADO"

G oT o Salir

manejar _er ror es:

MsgBox ("Err or al intent ar c err ar COM" + Str$(nro_puert o))

MsgBox ("Vis ual basic detectó: " + E rr.Des cr iption) Res ume S al ir

Salir:

End Sub

Privat e Sub B ot on_Env iar _C lick ()

' La propiedad Output r equiere un Var iant

Dim text o_sal ida As Byte texto_salida = Val(s eleccion_cant idad.T ext)

Text o_M ensajes.Text = "Env iando..."

MsgB ox "H a s elecc ionado la cant idad a dosificar " 'A l escribir en la propiedad O utput, s e envian

'los dat os desde el puert o al ext er ior.

'debo pr ot eger fr ent e a err or es par a que el pr ogr ama 'no abort e.

On E rror G oT o E rror_Enviando

MSComm1.Output = Chr (texto_salida)

GoTo Salir

Error_Enviando:

MsgBox "Ocurr ió un er r or al intentar enviar el t ext o. V is ual Basic detectò: " + E rr.D es cr iption ' MsgB ox "Visual Bas ic det ect ó: " + Err.Desc ript ion

Texto_Mens ajes.T ext = "O cur rió er r or al enviar, por f avor s eleccione y abrà el puerto "

Res ume Sal ir

Salir:

End Sub

Privat e Sub C om bo_C ant idad_Cl ic k() Dim viejo_c antidad As Int eger

viejo_cantidad = cantidad 'Me f ijo si el usuario 'intent a c ambiar la c antidad s eleccionada.

cant idad = Combo_Cantidad.ListI ndex

Page 65: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

IEL2-I-06-08

65

cant idad = (Combo_Cant idad.It emData(cantidad)) End Sub

Privat e Sub C om bo_Puert o_Click () 'Aquí selec ciona el numer o del puert o a us ar.

Dim viejo_puert o As Int eger

viejo_puert o = nr o_puert o 'M e fi jo si el usuario

'intent a c ambiar de puerto.

nr o_puerto = Combo_Puert o.ListI ndex nr o_puerto = Combo_Puert o.It emDat a(nro_puerto)

'G racias a la v ar iable mensajes _c ambios puedo suprim ir 'el mens aje c uando ar ranca el programa.

If (nr o_puerto <> viejo_puert o) And (mensajes _cambios = T rue) _

Then Ms gB ox "D ebe abr ir este puert o antes de usarlo"

End Sub

Privat e Sub Emergenc ia_Cl ick()

' La propiedad Output r equiere un Var iant Dim text o_sal ida_er As Variant

texto_salida_er = "0"

Text o_f inal = "Oc urr io un err or, el pr oces o no t erm ino c orr ect amente, por f avor inicie de nuev o" Text o_dosif ic ada = "ERROR"

'A l escribir en la propiedad O utput, s e envian

'los dat os desde el puert o al ext er ior. 'debo pr ot eger fr ent e a err or es par a que el pr ogr ama

'no abort e.

On E rror GoTo E r ror _Enviando MSComm1.Output = text o_sal ida_er

Text o_M ensajes = " "

Text o_dosif ic ada = " "

Text o_f inal = " "

Text o_c antidad = " " 'A l pulsar aquí cierr a un puerto serial

On E rror G oT o m anejar_err ores 'P rot ejo fr ent e al er ror.

MSComm1.PortOpen = Fals e 'Puede haber err or s i 'intent o c err ar un puert o que est á en uso por otro

'pr ograma, entr e otr as c ausas.

MsgBox ("Puert o COM" + S tr$(nr o_puerto) + ": cerr ado O K") E tiq_Estado.For eC olor = &HFF& 'Rojo

E tiq_Estado = "CERRADO"

G oT o Salir

Error_Enviando: MsgBox "Ocurr ió un er r or al intentar enviar el t ext o"

MsgBox "Vis ual Basic det ect ó: " + Err.Descr iption

Texto_Mens ajes.T ext = "O cur rió er r or al enviar " GoTo Sal ir

Page 66: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

IEL2-I-06-08

66

manejar _er ror es: MsgBox ("Err or al intent ar c err ar COM" + Str$(nro_puert o))

MsgBox ("Vis ual basic detectó: " + E rr.Des cr iption)

Res ume S al ir

Salir:

End Sub

Privat e Sub F orm_Load( ) '**** P rogr ama de demostrac ión del c ontrol MSCOMM ****

' Se usa el MSCOMM en su f orma más sim ple:

' 1) Sólo en modo "t ext o" ( no "binario") ' 2) Sólo se manejan los ev ent os de r ecepción y

' transmis ión (ignora err ores de datos, ring del

' modem, etc.)

' Var iables globales, definidas en Module1:

' mensajes _cambios as boolean S uprime mensajes al iniciar pr ogr ama. ' v elocidad As I nteger Bauds

' nro_puert o As I nt eger Cual puerto us o

' inc luy e_s alt o_c ar r o As Boolean Enviar o no CR+ LF (0x0D y 0x0A) ' c adena_entr ada As Variant R ec ibe el texto del contr ol.

mens ajes_cambios = Fals e

veloc idad = 19200

nr o_puerto = 9600 cant idad = 1

Combo_Puert o. ListI ndex = 0

mens ajes_cambios = True

'*** P repar ación del objet o MSCOMM1 par a r ecibir *******

'*** y transmiti r *******

MSComm1.InputLen = 0 ' E l valor 0 hac e que se lea t odo ' el cont enido del buffer de recepcion que posee

' el contr ol MSComm.

' S i Input Len v al iera 6, se r ecibir ian los prim er os 6 'caracter es de es e buff er, ignor ando el r est o.

MSComm1.RThres hold = 1 ' al rec ibir uno o m as caracteres

'se gener ará el ev ento OnComm y la propiedad 'CommEvent c ont endr á el valor comEvR ec eiv e.

'La constant e comEvReceive vale 2 .

MSComm1.SThr eshold = 1 ' al enviar uno o mas caracter es

'se gener ar á el ev ent o OnComm y la propiedad

'ComEvent c ontendr á el v alor comEvSend 'La const ant e c omEvSend vale 1.

'*** Par a tr abajar con MSCO MM, falt an los siguient es pas os:

' 1) E specif ic ar c ual port va a usar: ' MSComm1.C ommPort = 1

' 2) E stablecer parámetr os de la c om unicación:

Page 67: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

IEL2-I-06-08

67

' MSComm1.S ettings = "9600,N, 8, 1" ' veloc idad= 9600, paridad= No usada,

' cant idad de bits= 8,

' cant idad de bits de par ada (stop bits) = 1 ' 19200 baudios, sin paridad, 8 bits de datos y 1 bit de par ada.

' 3) A br ir el puerto:

' MSComm1.PortOpen = True

' Estos 3 pasos s e l lev an a c abo en el botón llamado

' Bot on_A br ir

' MsgB ox "Por f av or s eleccione y abra el puert o antes de empez ar a ut iliz arlo"

Etiq_Est ado.F or eColor = &HFF & 'Rojo

Etiq_Est ado.C aption = "CERRADO" 'Boton_Ay uda_O culto.SetFocus

End Sub

Privat e Sub Image1_C l ic k()

End Sub

Privat e Sub MSC omm1_OnComm() 'Aqui se int er c eptan los ev entos que se pr oducen

'durante la comunic ación RS 232.

'Cada vez que pasa algo r elativ o al puerto CO M 'en us o, cambia el v alor de la pr opiedad CommEvent

'E jem plo: S i s uena el t elef ono, y el modem

'está conectado a la linea, y se est á uti lizando el 'puert o COM c orr es pondient e al m odem, s e generar á el

' evento O nComm y la pr opiedad CommEv ent valdr á 6 .

' ( 6 es el v alor de la const ant e c ommEvRing, y a def inida ' inter nament e por V is ual Basic ).

Dim envio As Boolean

envio = False

If MSComm1.CommEvent = comEvR ec eiv e T hen 'Label1 = " "

text o_llego = Int(MSComm1.Input )

' Label1 = texto_llego

If text o_l lego = "98" Then

Texto_final = "Ocurrio un err or, el proces o no term ino c orr ect ament e, por favor inicie de nuev o" av iso_recibido = 0

End If

If avis o_r ecibido = 2 Then

If text o_l lego = cantidad_ej T hen

Texto_dosificada = S tr$(texto_l lego) + " MILILITROS" Texto_final = "El proc es o ha t erm inado ex it osamente"

avis o_rec ibido = 0

End If

If text o_l lego < cantidad_ej T hen

Page 68: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

IEL2-I-06-08

68

Texto_dosificada = S tr$(texto_l lego) + " MILILITROS" Texto_final = "El proc es o se enc uentr a aun en ejecutación"

avis o_rec ibido = aviso_r ec ibido

End If End If

If avis o_r ecibido = 1 Then

If text o_l lego = "1" T hen

Texto_cant idad = "Es v alida. El P roces o c ontinua satisfact oriament e"

avis o_rec ibido = aviso_r ec ibido + 1

End If If text o_l lego = "2" T hen

Texto_cant idad = "No es v alida. Por f avor ingr ese de nuev o la c antidad s olicitada"

avis o_rec ibido = 0 End If

End If

'Label2 = avis o_rec ibido End If

If MSComm1.CommEvent = comEvSend T hen Texto_Mens ajes = "Se ha inic iado el proces o c on la cantidad selec cionada"

Texto_dosif icada = " "

Texto_final = " " Texto_cantidad = " "

avis o_recibido = avis o_r ecibido + 1

cantidad_ej = Int( selecc ion_c antidad) End If

End Sub

Privat e Sub T ext o_c antidad_dosificada_Change()

End Sub

Page 69: Dedicado a mis mamá Amparo, a mi hermano Hector Iván; y a

IEL2-I-06-08

69

An exo C. Codigo Module - Microsoft V isual Basic 6.0

Public v eloc idad As In teger ' Bauds

Public nro_puerto As Integer 'Cua l puerto us o

Public c antidad As Integer

Public inc luye_salto_c arro As Boo lean 'nv iar o no CR+LF (0x0D y 0x 0A)

Public c adena_entrada As Variant ' Texto recibido por el puerto seria l

Public mensa jes_cambios As Boo lean 'Suprime mensajes al in ic iar p rograma.

Public aviso_recibido As Integer

Public tex to_llego As Integer

Public c antidad_e j As In teger