Sanchez Jose Dispensador Automatico Pastillas

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 50

PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ

FACULTAD DE CIENCIAS E INGENIERÍA

DISPENSADOR AUTOMÁTICO DE PASTILLAS

Tesis para optar el Título de Ingeniero Mecatrónico, que presenta el bachiller:

José Luis Sánchez Noriega

ASESOR: Elizabeth Villota Cerna, PhD

Lima, julio de 2015


Resumen

El presente trabajo consiste en el diseño de un dispensador automático de pastillas,


orientado principalmente a personas enfermas de la tercera edad que suelen tener
problemas para recordar el momento y la dosis exacta de pastillas que deben tomar para
cumplir con su tratamiento médico. El dispositivo permite almacenar pastillas en hasta 7
contenedores distintos e ingresar a través de una interfaz gráfica los horarios y dosis de
cada una de ellas. El sistema alerta al usuario cuando llega el momento establecido para
tomar las pastillas y además extrae las pastillas necesarias de cada contenedor, para
luego colocarlas en un compartimento final desde donde el usuario puede recogerlas.

En los siguientes capítulos se explicará el diseño del sistema mecatrónico planteado,


haciendo énfasis en su funcionamiento y lógica de control. Además se mostrarán los
planos mecánicos y eléctricos en los que se puede apreciar detalladamente el interior del
sistema y cómo es posible realizar las funciones descritas manteniendo un diseño
compacto (30 cm x 25 cm x 15 cm), de modo que se adecúe a distintos espacios.

2
Índice
1. Presentación de la problemática………………….………….4

2. Requerimientos del sistema mecatrónico


y presentación del concepto…………………………………..5
2.1 Requerimientos del sistema mecatrónico……………5
2.2 Concepto del sistema mecatrónico…………………....6

3. Sistema mecatrónico………………………………………….10
3.1 Estructura de funciones
del sistema mecatrónico………………………………..10
3.2 Sensores y actuadores………………………………...12
3.3 Planos del sistema mecánico….………………………18
3.4 Diagramas esquemáticos de los circuitos
del sistema mecatrónico……………………………….25
3.5 Diagramas de flujo del programa de control………...32

4. Presupuesto……………………………………………………45

5. Conclusiones…………………………………………………..48

Bibliografía………………………………………………………...49

3
Capítulo 1

Presentación de la problemática

Hoy en día es usual que las personas que sufren enfermedades, en su mayoría de la
tercera edad, posean extensas recetas de medicamentos los cuales se deben de tomar
en distintas dosis y horarios. Un problema recurrente que surge a raíz de esto es el
recordar el momento indicado y las pastillas que deben ser ingeridas. Las consecuencias
del olvido o confusión suelen ser perjudiciales para la salud, ya que dilatan el tiempo de
tratamiento o simplemente este no tiene los efectos esperados.

Esto repercute no solo en las personas enfermas, sino también afecta la economía del
estado. De acuerdo al PHMRA (Pharmaceutical Research and Manufacturers of America)
(2011) en Estados Unidos se generan pérdidas de hasta 100 millones anuales porque los
pacientes no siguen correctamente sus prescripciones médicas por motivos diversos.

Existen en el mercado distintos dispositivos que permiten al usuario clasificar y almacenar


la dosis de sus pastillas de muchas formas y notificarle cuando ha llegado el momento de
tomarlas; sin embargo, estos dejan en manos del usuario el proceso de dosificación de
las pastillas antes de ser almacenadas en compartimentos distintos.

El proyecto que aquí se presenta es un sistema mecatrónico que permite almacenar


pastillas en distintos contenedores y realizar automáticamente el proceso de dosificación
de estas. El sistema mecatrónico se configura a través de una interfaz amigable para el
usuario. En términos generales el uso del sistema propuesto no es excluyente, salvo en
el caso de niños pequeños; sin embargo, está orientado principalmente a personas de la
tercera edad, ya que en ellas el problema de olvido de tomar sus medicamentos es más
frecuente.

En los siguientes capítulos se explicará con detalle los requerimientos, el concepto,


diseño y funcionamiento de este sistema mecatrónico.

4
Capítulo 2
Requerimientos del sistema mecatrónico y
presentación del concepto
2.1 Requerimientos del sistema mecatrónico

De acuerdo a la problemática planteada y al contexto en la que esta se desarrolla el


sistema mecatrónico presenta los siguientes requerimientos:

 Interfaz visual amigable al usuario para el ingreso y configuración de datos.

 Entrada única de pastillas.

 Salida única de la dosis de pastillas correcta.

 Capacidad de dosificar pastillas de distintas formas y tamaños.

 Capacidad de almacenar hasta 7 tipos de pastillas.

 Sistema interno no debe quedar expuesto al usuario.

 Los contenedores deben permanecer cerrados.

 Se debe contar con un sistema de alarma.

 El sistema debe poseer un tamaño compacto.

 Sistema confiable que permita conocer al usuario el nivel del contenido de cada
contenedor y saber cuando sea necesario ingresar más pastillas.

5
2.2 Concepto de la solución

Las figuras 2.1, 2.2, 2.3 y 2.4 muestran la vista frontal, lateral, superior e isométrica
respectivamente del dispensador automático de pastillas, este presenta una cavidad
superior para el ingreso de pastillas y una cavidad de salida en la parte inferior frontal,
además de una pantalla LCD táctil de 7 pulgadas que sirve de interfaz hacia el usuario y
que permite configurar el horario en el que serán recogidas las dosis de pastillas.

La estructura exterior está conformada por 3 partes (tapa frontal, tapa lateral y tapa
posterior) que se juntan por uniones atornilladas y que están hechas de acrílico
(Polimetilmetacrilato [PMMA]).

Fig. 2.1: Vista Frontal. Fuente: Elaboración Propia. Fig. 2.2: Vista Lateral. Fuente: Elaboración Propia.

Fig. 2.3: Vista Superior. Fuente: Elaboración Propia. Fig. 2.4: Vista Isométrica. Fuente: Elaboración
Propia.

6
En la Fig. 2.5 se observan los elementos montados sobre la tapa frontal del dispositivo
desde una vista posterior, en ella se ubica la pantalla LCD (4DCAPE-70T), la cual es una
tarjeta electrónica que se acopla directamente a un BeagleBone Black, controlador usado
por el sistema, a través de uno de los dos sockets que la pantalla posee en la parte
trasera, de modo que el primero posibilita la comunicación entre la LCD y el controlador,
mientras que el segundo, que se muestra libre en la imagen inferior, permite conectar el
BeagleBone Black a los demás elementos electrónicos del dispensador. El piezo buzzer o
zumbador es el dispositivo que permite al sistema emitir el sonido de alarma. El
zumbador al igual que toda la parte posterior de la pantalla LCD y los componentes que
están montados en ella están protegidos por una cubierta de acrílico que posee una
abertura en la parte inferior derecha para la salida de cables de alimentación y control. En
la parte inferior de la tapa frontal se ubica la cavidad de salida de pastillas y en los
costados 3 bisagras y dos agujeros pasantes para uniones atornilladas, de modo que si
se desea acceder al interior del dispositivo, no se necesite desacoplar totalmente esta
parte del resto del cuerpo.

Fig. 2.5: Tapa Frontal. Fuente: Elaboración Propia.

En la Fig. 2.6 se observa una vista interior del dispensador automático de pastillas, este
presenta 7 contenedores que están apilados y distribuidos circularmente, ver Fig. 2.7. Los
contenedores giran alrededor de dos rodamientos a los cuales están acoplados mediante
ejes que pasan a través de los agujeros señalados en la Fig. 2.7 (círculos anaranjados) y
que son sostenidos a su vez por 2 estructuras internas de acrílico montadas a la tapa
lateral por brackets. El giro de los contenedores es controlado mediante un mecanismo
de transmisión de engranajes por un motor a pasos, el cual posiciona el contenedor con
las pastillas requeridas en la parte central inferior. En esta posición, un actuador lineal
hace descender a una ventosa conectada por una manguera a una bomba de vacío que,
al energizarse, produce la succión necesaria para levantar una pastilla. Un solenoide
ayuda a mantener la posición de los contenedores, estos ocupan las 7 octavas partes de
la circunferencia en la que se distribuyen, permitiendo de este modo dejar un espacio
vacío para que la pastilla pueda ser expulsada por la cavidad de salida cuando los
contenedores regresan a su posición inicial. Para expulsar la pastilla se retira el
7
suministro de energía a la bomba de modo que deje de producir succión sobre la pastilla
y esta caiga por gravedad. El ingreso de las pastillas a sus contenedores se da por la
cavidad de entrada, ver Fig. 2.8, la cual posee una compuerta conectada a un servomotor
que limita la cantidad de pastillas ingresantes y restringe el paso de las pastillas hasta
que el contenedor se posicione correctamente en la parte central inferior. Un sensor de
proximidad permitirá saber el nivel de llenado de los contenedores (valor aproximado), lo
cual ayudará al controlador a saber la posición a la cual el vástago del actuador lineal
deberá descender para succionar una pastilla, mientras que un emisor y receptor
infrarrojo comprobará si los contenedores están vacíos emitiendo una luz a través del
agujero que presentan los contenedores en la parte inferior (círculo rojo). Las partes
mencionadas que no son visibles en la Fig. 2.6 serán expuestas con mayor detalle en los
capítulos siguientes debido a la complejidad del sistema.

Fig. 2.6: Vista Interior del Dispensador. Fuente: Elaboración Propia.

Fig. 2.7: Distribución de Contenedores. Fuente: Elaboración Propia.

8
Fig. 2.8: Ingreso de Pastillas. Fuente: Elaboración Propia

9
Capítulo 3

Sistema mecatrónico
3.1 Estructura de funciones del sistema mecatrónico

La Fig. 3.1 muestra la estructura de funciones del sistema mecatrónico, el cual será
explicado a continuación.

Fig.3.1 Estructura de Funciones del Sistema Mecatrónico. Fuente: Elaboración Propia

El dispensador se alimenta directamente desde un tomacorriente (220 V AC), por lo que


es necesario transformar la energía suministrada y luego distribuirla a los distintos
componentes electrónicos, los cuales trabajan con voltaje DC (12 o 5 V).

Los datos ingresados (recetas) y opciones seleccionadas a través de la pantalla táctil son
almacenados y procesados por el controlador del sistema (BeagleBone Black) que a su
vez muestra en la pantalla LCD las ventanas y opciones que posee. De acuerdo a los
datos ingresados se activará la alarma en el horario establecido por el usuario y
empezará el proceso de dosificación.

10
Previamente es necesario ingresar pastillas a los contenedores. Cuando el usuario
selecciona esta opción a través de la pantalla táctil, debe introducirlas en el conducto de
entrada del sistema mecánico del dispensador, es entonces cuando se desbloquea los
contenedores de modo que pueda posicionarse el contenedor requerido en el lugar
donde recibirá las pastillas, seguidamente se vuelve a bloquear los contenedores para
mantener la posición y se abre la compuerta para que las pastillas caigan desde el
conducto de entrada y se almacenen en el contenedor establecido. Finalmente se cierra
la compuerta de ingreso y el sistema vuelve a su posición inicial.

El proceso de dosificación consiste en posicionar el contenedor con las pastillas


requeridas en la parte central inferior, cuando esto sucede un actuador lineal introduce
una ventosa en el contenedor, de modo que una bomba de vacío conectada a esta
produzca la succión necesaria para levantar una pastilla, entonces la ventosa vuelve a su
posición inicial con la pastilla succionada, los contenedores retornan y se quita la succión
a la pastilla, así esta cae libremente a través del conducto de salida hasta el lugar donde
será recogida por el usuario.

Adicionalmente, es indispensable sensar el nivel de llenado del contenedor y ya que este


es aproximado, verificar si el contenedor está totalmente vacío o no, esto permite conocer
el nivel al cual es necesario descender la ventosa para que pueda succionar la pastilla y
si el usuario necesita ingresar más pastillas.

11
3.2 Sensores y actuadores

Las hojas de datos de los sensores y actuadores se encuentran adjuntas en el Anexo 1.

3.2.1 Sensores

3.2.1.1 Sensor de Proximidad:

El sensor de proximidad utilizado para medir el nivel de las pastillas en los


contenedores se muestra en la Fig. 3.2 a); en la Fig. 3.2 b) se observa su
ubicación justo detrás de la suspensión y montado debajo del acople que une a
este con el vástago del actuador lineal.

Fig. 3.2 a) Sensor de Proximidad [14] b) Ubicación. Fuente: Elaboración Propia

El sensor de proximidad presenta las características descritas en la Tabla 3.1.

Tabla 3.1 Detalles técnicos del sensor de proximidad


Digital Distance Sensor 5cm
Marca y modelo Sharp GP2Y0D805Z0F
Voltaje de Operación 2.7 - 6.2 V DC
Corriente promedio (consumo) 5 mA (típico)
Rango de medición 0.5 – 5 cm
Salida Digital (Nivel bajo cuando detecta)
Dimensiones 13.6 mm × 7 mm × 7.96 mm
Masa 0.8 g

3.2.1.2 Sensor IR:

El sensor infrarrojo es usado para detectar si un contenedor está vacío o no, este
consta de 2 partes un emisor y un detector de luz infrarroja, el valor de voltaje en
la salida varía cuando un objeto se interpone entre los dos. Los componentes del
sensor infrarrojo se muestran en la Fig. 3.3 a), mientras que en la Fig. 3.3 b) se
observa su ubicación (círculo: amarillo (emisor), rojo (detector)), uno frente al otro
en la estructura interior frontal y posterior respectivamente.

12
Fig. 3.3 a) Emisor y detector infrarrojo [15] b) Ubicación. Fuente: Elaboración Propia

Las características de cada uno de ellos se presentan en la Tabla 3.2.


Tabla 3.2 Detalles técnicos del sensor IR
IR Emitter
Marca y modelo LTE-302
Potencia disipada 75 mW
Corriente continua 50 mA
Voltaje directo (ánodo - cátodo) 1.2 V (típico a 20 mA)
Longitud de Onda 940 nm
Dimensiones (encapsulado) 5.72 mm × 4.40 mm × 2.25 mm
IR Detector
Marca y modelo LTE-301
Potencia disipada 100 mW
Voltaje emisor-colector 5V
Longitud de Onda 940 nm
Dimensiones (encapsulado) 5.72 mm × 4.40 mm × 2.25 mm

3.2.2 Actuadores

3.2.2.1 Servomotor:

El servomotor tiene como función accionar la compuerta ubicada debajo del


compartimento de entrada para así permitir o restringir el pase de las pastillas
hacia los compartimentos, este se muestra en la Fig. 3.4 a). Se encuentra
montado en la tapa posterior, al lado del compartimento de entrada, ver Fig. 3.4
b).

13
Fig. 3.4 a) Servomotor [16] b) Ubicación. Fuente: Elaboración Propia

Sus características se presentan en la Tabla 3.3.

Tabla 3.3 Detalles técnicos del servomotor


Servomotor
Marca y Modelo Hitec HS-81
Voltaje de Operación 4.8 - 6.0 V DC
Velocidad (4.8V) 0.11 s / 60° (sin carga)
Torque (4.8V) 2.6 kg.cm
Corriente (4.8V) 220 mA (sin carga)
Pulso requerido 3-5 V PWM (1500 us neutral)
Dimensiones 29.8 mm × 12 mm × 29.6 mm
Masa 16.6 g

3.2.2.2 Actuador Lineal:

El actuador lineal, como ya se mencionó, permite descender la suspensión con la


ventosa acoplados por una barra de aluminio, para así poder recoger la pastilla.
La Fig. 3.5 a) muestra el componente. El actuador lineal está montado en la parte
central de la tapa posterior al lado izquierdo del compartimento de entrada, ver
Fig. 3.5 b).

Fig. 3.5 a) Actuador Lineal [17] b) Ubicación. Fuente: Elaboración Propia

14
El actuador lineal presenta las características descritas en la Tabla 3.4.

Tabla 3.4 Detalles técnicos del actuador lineal


Actuador Lineal
Marca y Modelo Firgelli L12-50-50-12-I
Voltaje de Operación 6 – 12 V DC
Corriente Máxima 200 mA (12 V)
Máxima Fuerza (Backdrive) 43 N
Señal de control 5 V PWM
Dimensiones (Retraído) 110 mm × 15 mm × 18 mm
Carrera 50 mm
Masa 40 g

3.2.2.3 Solenoide:

El solenoide utilizado se muestra en la Fig. 3.6 a). El rodamiento posterior posee 8


tornillos salientes ubicados al nivel de la parte central de cada uno de los
contenedores; el solenoide, cuya ubicación se muestra en la Fig. 3.6 b), posee en
la parte superior de su eje una ranura, de modo que esta mantiene en una
posición estable a los contenedores al restringir el movimiento de uno de los
tornillos, al energizar el solenoide el eje desciende, lo cual permite desbloquear el
tornillo y, por consiguiente, el grupo de contenedores.

Fig. 3.6 a) Solenoide [18] b) Ubicación (Vista Posterior). Fuente: Elaboración Propia

El solenoide presenta las características descritas en la Tabla 3.5

Tabla 3.5 Detalles técnicos del solenoide


Solenoide de tipo empuje
Marca y Modelo ZYE1-0837Z
Voltaje 12 V DC
Fuerza 0.8 N
Corriente 0.5 A
Carrera 10 mm
Dimensiones 37 mm × 26 mm × 20 mm
Masa 89 g

15
3.2.2.4 Motor a Pasos:

El motor a pasos utilizado se presenta en la Fig. 3.7 a). En la Fig. 3.7 b) se


observa su ubicación, el motor está montado sobre la base de la tapa lateral y
tiene acoplado en el eje un piñón mediante un prisionero. El tren de engranajes
(16-64-248 dientes) mostrado en la Fig. 3.7 b) produce una reducción de 15.5 a 1
de la velocidad angular del eje del motor, lo cual permite un movimiento más
pausado de los contenedores, pero a su vez incrementa el torque final entregado.

Fig. 3.7 a) Motor a Pasos [19] b) Ubicación (Vista Posterior). Fuente: Elaboración Propia

El motor a pasos presenta las características descritas en la Tabla 3.6.

Tabla 3.6 Detalles técnicos del motor a pasos


Motor a Pasos Bipolar
Marca y Modelo Mercury Motor SM-42BYG011-25
Voltaje 12 VDC
Corriente 0.33 A
Torque 2.3 kg.cm
Ángulo de paso 1.8°
Dimensiones NEMA 16
Masa 200 g

3.2.2.5 Bomba de Vacío:

La bomba de vacío es la que produce la succión necesaria para adherir la pastilla


a la ventosa mientras el vástago del actuador lineal asciende. La bomba se
muestra en la Fig. 3.8 a), mientras que su ubicación en la Fig. 3.8 b). La bomba se
encuentra sostenida sobre la base de la tapa lateral, en la parte posterior del
dispensador, y se conecta por una manguera de ¼” de diámetro interior a la
ventosa.

16
Fig. 3.8 a) Bomba de Vacío [20] b) Ubicación (Vista Posterior). Fuente: Elaboración Propia

La bomba de vacío presenta las características descritas en la Tabla 3.7.

Tabla 3.7 Detalles técnicos de la bomba de vacío


Bomba de Vacío de Aire
Marca y Modelo AIRPON D2028
Voltaje 12 VDC
Corriente 1A
Rango de Vacío 0 – 16” Hg
Flujo 12 – 15 LPM
Dimensiones 87 mm × 38 mm × 60 mm
Masa 295 g

17
3.3 Planos del sistema mecánico

En esta sección se mostrarán los componentes mecánicos de mayor importancia del


dispensador automático de pastillas.

3.3.1 Estructura Externa:

Como se mencionó inicialmente la estructura exterior se compone de 3 partes: tapa


frontal, tapa lateral y tapa posterior, las cuales serán expuestas continuación.

3.3.1.1 Tapa Frontal

La Fig. 3.9 muestra la tapa frontal del dispensador automático de pastillas. Como se
observa esta posee 296 mm de alto por 250 mm de ancho. La tapa está hecha en base a
una plancha de acrílico (PMMA) de 5 mm de espesor y posee dos aberturas
rectangulares, la más grande sirve para montar la LCD, de modo que la parte posterior de
la pantalla pueda ser conectada al controlador del sistema y demás elementos
electrónicos, mientras que la otra, que se encuentra en la parte inferior, sirve para que el
usuario tenga acceso a la dosis de pastillas expulsada. En la parte lateral izquierda
presenta 3 cortes rectangulares que sirven para colocar bisagras que la conecten con la
tapa lateral, de modo que para acceder al interior del dispositivo solo sea necesario
extraer los 2 tornillos que son fijados en los agujeros de 5,5 mm de diámetro que se
encuentran cerca al borde derecho.

Fig. 3.9 Tapa Frontal. Fuente: Elaboración Propia

18
3.3.1.2 Estructura Externa Lateral

La Fig. 3.10 muestra la tapa lateral del dispensador, cuyas dimensiones son 250 mm x
296 mm x 140 mm. La tapa está hecha en base a acrílico, el cual sigue un proceso de
termoformado para que pueda adoptar esa forma; presenta numerosos agujeros que
sirven para montar la estructura interna por medio de uniones atornilladas al igual que
otros componentes. En la parte superior presenta una abertura de 30 mm x 25 mm que
es por donde se da el ingreso de los comprimidos, mientras que como se observa, en la
parte lateral existen 2 rendijas, las cuales permiten la ventilación del convertidor AC/DC lo
cual le permite tener un funcionamiento más eficiente en términos de liberación de la
energía calorífica. El agujero que se encuentra a lado de estas permite el ingreso del
cable de alimentación proveniente del tomacorriente. En la parte inferior de esta
estructura se colocan 4 topes de goma que permiten soportar el peso del dispositivo así
como amortiguar las vibraciones.

Fig. 3.10 Tapa Lateral. Fuente: Elaboración Propia

3.3.1.3 Tapa Posterior

La Fig. 3.11 muestra la tapa posterior del dispositivo, esta tiene las mismas dimensiones
que la frontal, salvo que no posee aberturas rectangulares, lo que sí posee son múltiples

19
agujeros, ya que en ella están montados el servomotor, solenoide y actuador linear,
además del conducto de entrada. Los agujeros que se encuentran cercanos al borde
inferior y los costados sirven de unión con la estructura lateral mediante brackets,
mientras los que están distribuidos circularmente son atornillados a la tapa de los
contenedores.

Fig. 3.11 Tapa Posterior. Fuente: Elaboración Propia

3.3.2 Estructura Interna:

La estructura interna posee múltiples componentes; es por ello que se mostrarán solo los
principales, que son los que conforman la estructura que sostiene a los contenedores,
además de los canales de ingreso y salida. Los soportes y monturas que sirven para
acoplar los actuadores a la estructura externa se presentan en el Anexo 2.

3.3.2.1 Estructura Interior Frontal y Posterior

Las Fig. 3.12 a) y b) muestran la estructura interior frontal y posterior respectivamente del
dispensador automático de pastillas. Estas estructuras se acoplan a tapa lateral de forma
paralela, mediante brackets en ambos costados, las 2 poseen un agujero de 156,5 mm
de diámetro, cuya función es la de sostener un rodamiento que está acoplado mediante
ejes a la pila circular de contenedores. Ambas estructuras están hechas de una plancha
de acrílico de 4 mm de espesor y en la parte inferior poseen una pequeña muesca a la
que va acoplado el emisor y detector IR respectivamente, de modo que ambos se
encuentren en un mismo plano horizontal. Adicionalmente la estructura interior posterior

20
posee un agujero de 9,5 mm de diámetro que alberga a un pequeño rodamiento que sirve
de sostén del eje conectado al engranaje intermedio del sistema de transmisión.

Fig. 3.12 Estructura Interior a) Frontal y b) Posterior. Fuente: Elaboración Propia

3.3.2.2 Rodamiento Frontal y Posterior

Las Fig. 3.13 a) y b) muestran el rodamiento frontal y posterior respectivamente, cada


uno de ellos posee tres partes, las cuales se pueden observar con mayor detalle en el
Anexo 2. Los rodamientos poseen una parte exterior y 2 partes interiores unidas por
tornillos, de modo que entre el borde interno de la parte exterior y el borde externo de las
2 partes interiores existe un espacio de sección circular que es llenado por bolitas de
acero de 1/8” de pulgada, lo cual permite reducir la fricción y hacer mucho más fácil el
giro entre ambas partes del rodamiento. Ambos están hechos en una impresora 3D en
base a plástico ABS. En el caso del rodamiento posterior una de las partes internas
posee una parte saliente que forma un engranaje de 248 dientes, este es utilizado para
transmitir el movimiento giratorio a los contenedores. Adicionalmente los 8 tornillos que
unen ambas partes internas del rodamiento posterior poseen una longitud mayor a la
necesaria, lo cual permite a un solenoide, como se vio en el capítulo de sensores y
actuadores, bloquear el giro del rodamiento interior en 8 posiciones distintas de modo que
se pueda tener acceso a cada compartimento.

21
Fig. 3.13 Rodamiento a) Frontal b) Posterior. Fuente: Elaboración Propia

3.3.2.3 Contenedores

La Fig. 3.14 muestra la geometría del contenedor utilizado por el dispensador para
almacenar pastillas, este posee una capacidad 120 cm3 (100 utilizables), el número de
pastillas en el cual esta capacidad se traduce varía debido a que son de distintas formas
y tamaños y al ser cuerpos sólidos dejan espacios entre sí al ser acumulados; sin
embargo de acuerdo a pruebas caseras se podría estimar un aproximado de 40-50 de un
tamaño promedio. Cada contenedor posee 1 mm de espesor y está hecho en una
impresora 3D.

Fig. 3.14 Contenedor. Fuente: Elaboración Propia

22
Como se observa en la figura, el contenedor posee 2 agujeros en ambos costados en la
parte superior y uno en la parte central inferior. Los dos primeros sirven para sostener el
contenedor a través de ejes que van conectados a los rodamiento, mientras que el
inferior permite que la luz que produce el emisor infrarrojo pase a través de este y pueda
saberse si hay o no pastillas dentro del contenedor.

3.3.2.4 Tapa Interior de los Contenedores

Los contenedores tienen la parte superior descubierta para el ingreso y extracción de


pastillas, es por ello que es necesario usar una tapa, de modo que se cubra esta abertura
y las pastillas no se caigan cuando estos giren, o estén en cualquier posición. Esta se
muestra en la Fig. 3.15, se puede observar además que posee 2 guías, las cuales sirven
para dirigir las pastillas a su compartimento cuando estas lleguen provenientes del
conducto de entrada. La tapa interior de los contenedores está hecha de acrílico de 2 mm
de espesor.

Fig. 3.15 Tapa Interior de los Contenedores. Fuente: Elaboración Propia

3.3.2.5 Conducto de Entrada

La Fig. 3.16 muestra el conducto de entrada que es donde se almacenan


momentáneamente las pastillas al ingresar por la cavidad superior del dispensador. Este
conducto está conectado a una compuerta accionada por un servo que permite que las
pastillas no desciendan hasta que el controlador se los indique, cuando esto pasa las
pastillas se deslizan a través de la rampa y se dirigen a su compartimento. Está hecho en
base a una plancha de acrílico de 2mm de espesor.

23
Fig. 3.16 Conducto de Entrada. Fuente: Elaboración Propia

3.3.2.6 Canal de Salida

El canal de salida de acrílico se presenta en la Fig. 3.17, básicamente consiste en una


rampa que permite que las pastillas al caer se acerquen a la cavidad de salida para que
puedan ser recogidas por el usuario. Posee dos ranuras cerca a la parte frontal debido a
que es necesario retirar el canal si requiere acceder al interior de dispensador, de lo
contrario este chocaría con el motor a pasos; es por ello que el uso de ambas ranuras
tiene como finalidad que el canal pueda mantener su posición y que a su vez si se desea
pueda ser retirado con facilidad.

Fig. 3.17 Canal de Salida. Fuente: Elaboración Propia

24
3.4 Diagramas esquemáticos de los circuitos del sistema mecatrónico

La Fig. 3.18 muestra el diagrama de bloques de la parte electrónica y eléctrica del


dispensador automático de pastillas. El convertidor AC/DC (NLP40-7629J) (véase Anexo
1) proporciona 2 salidas (12 V (2 A máx) y 5 V (4 A máx)) las cuales son distribuidas a los
componentes electrónicos según sus requerimientos.

Fig.3.18 Diagrama de Bloques. Fuente: Elaboración Propia

3.4.1 BeagleBone Black

La Fig. 3.19 muestra las 2 columnas de “headers” que posee el BeagleBone Black (tarjeta
controladora del sistema), el cual es una plataforma de desarrollo que posee un
procesador de 1 GHz, 512 MB de memoria SDRAM y 4 GB de memoria interna flash,
esto me permite que el sistema sea bastante rápido y no tenga problemas en controlar la
LCD y el proceso de dosificación al mismo tiempo. Además posee 65 pines de entrada
salida (GPIO) (3.3 V) y 7 pines de entrada analógica (1.8 V), requiere una alimentación
directa de 5 V, tal y como se observa. En la figura se muestran los pines usados por los
sensores y actuadores, la conexión entre ambos se mostrará en cada uno de sus
diagramas esquemáticos respectivos. Por otra parte, el LCD se conecta directamente al
BeagleBone Black (BBB), ya que justamente es un “cape” (capa) diseñado
exclusivamente para esta tarjeta, esto y los pines que usa para la comunicación entre
ambos puede observarse en su hoja de datos (Anexo 1).

25
Fig. 3.19 BeagleBone Black [21]

3.4.2 Controlador del Motor a Pasos

La Fig. 3.20 muestra el diagrama de conexiones del controlador del motor a pasos
(EasyDriver V4.4) basado en el circuito integrado A3967. Los pines M+ y GND son los de
alimentación (12V y GND). Para el control del motor a pasos se usan 3 pines: DIR, STEP
e ENABLE, los cuales están conectados a los pines (P8_4, P8_5 y P8_3) del BBB
(BeagleBone Black) respectivamente, DIR se usa para controlar la dirección de giro del
eje del motor (horario u antihorario) (‘1’ o ‘0’ lógico), STEP es el pin por el cual el BBB
envía al controlador del motor los pulsos que representan el número de pasos (1,8° cada
paso) que el motor debe girar, mientras que ENABLE permite energizar el motor cuando
se establece en ‘0’ el pin P8_3 lo cual produce que el eje del motor mantenga su posición
aun cuando exista carga de por medio cuando está en posición de reposo.
Los cuatro cables del motor a pasos bipolar son conectados a los pines B1, B2, A2 y A1
del controlador.

26
Fig. 3.20 Controlador del Motor a Pasos [22]

3.4.3 Controlador del Solenoide y Bomba de Vacío

La Fig. 3.21 muestra el diagrama esquemático del controlador (TB6612FNG) del


solenoide y bomba de vacío, básicamente este posee 3 pines de control para cada uno
de los dos actuadores (PWMA, AIN1 y AIN2) y (PWMB, BIN1 y BIN2) respectivamente,
adicionalmente un pin STBY que se establece en ‘1’ (P8_14) para sacar a los actuadores
del modo “standby”. PWM(A y B) son los pines que controlan la cantidad de energía que
es enviada a cada actuador modificando el ciclo del trabajo; sin embargo, en ambos
casos se trabaja a 100% por lo que los pines (P8_6 y P8_15) del BBB se establecen en
‘1’. Los pines IN1 e IN2 para (A (P8_11, P8_12) y B (P8_16, P8_17)) sirven para el
control del actuador, cuando ambos están en ‘0’ el controlador no suministra energía al
actuador, para energizarlos basta con establecer uno de los pines (P8_11 para A y P8_16
para B) en ‘1’ esto permite que entren en funcionamiento manteniendo el otro en ‘0’
(P8_12 y P8_17) , la opción inversa es para invertir la polaridad, lo cual sirve para
cambiar el giro de motores; sin embargo para el solenoide y la bomba de vacío esto no
tiene sentido; por otra parte, estableciendo ambos en ‘1’ el actuador se desactiva
inmediatamente. Como se observa en el circuito esquemático es necesario conectar a 12
V el pin VM, a 3.3 V el pin VCC y a tierra el de GND (JP1_6), estos representan el voltaje
de alimentación de los actuadores, el de control del circuito integrado y la referencia a
tierra respectivamente. Las salidas que van conectadas a los actuadores son (AO1 y
AO2) para el caso del solenoide y (BO1 y BO2) para el caso de la bomba de vacío.

27
Fig. 3.21 Controlador del Solenoide y Bomba de Vacío [23]

3.4.4 Conexión del Actuador Lineal

La Fig. 3.22 muestra la conexión entre el BBB y el actuador lineal. El actuador lineal
posee 6 cables de control y alimentación, debido a que presenta distintas opciones de
control; sin embargo, solo se usarán 4 de ellos. La alimentación del actuador lineal se da
por el pin V+ que está conectado a 12 V mientras que el pin GND se conecta a tierra, el
control de la posición del vástago se da ingresando al pin INPUT una señal PWM (5V)
con un ciclo de trabajo proporcional (100% -> 50 mm(carrera)); no obstante, el BBB me
brinda una señal PWM de 3.3 V es por ello que es necesario que la señal proveniente del
pin (P8_13) del BBB sea convertida (3.3 V->5 V) antes de ingresar al actuador; por otra
parte, el actuador lineal posee una señal de retroalimentación que me permite conocer la
posición real del vástago, esta señal varía entre 0 y 3.3 V, mientras que los pines
ADC(Convertidor Analógico Digital) del BBB soportan un voltaje máximo de 1.8 V; por
ello, es necesario usar primeramente un divisor de voltaje que reduzca los 3.3V antes de
ingresar al pin (P9_33) del BBB.

Fig. 3.22 Conexión del actuador lineal. Fuente: Elaboración Propia

28
3.4.5 Conexión del Servomotor

La Fig. 3.23 muestra la conexión entre el BBB y el servomotor, el servomotor posee 3


pines, el primero VCC es conectado a 5 V para energizarlo, mientras que GND se
conecta a tierra, el pin de control (INPUT), requiere de una señal cuadrada cuyo ancho
de pulso varíe entre 1500 y 2400 μs, de modo que el eje del servo pueda moverse entre
0° y 90° que es lo necesario, está conectado al pin (P8_19) del BBB, en este caso el
servomotor utilizado acepta recibir una señal de 3.3 V, de modo que no se requiere
cambiar el nivel de voltaje como para el actuador lineal.

Fig. 3.23 Conexión del Servomotor. Fuente: Elaboración Propia

3.4.6 Emisor y Detector Infrarrojo

La Fig. 3.24 muestra el diagrama esquemático del emisor y detector infrarrojo y la


conexión de estos a los pines del BBB. La corriente que requiere el emisor (LED1 en la
figura) para que produzca luz infrarroja es de aproximadamente 50 mA; por ello, se
requiere hacer uso de un transistor (2N3904), ya que supera el límite de corriente que
puede proporcionar el controlador, la base de este transistor NPN está conectada al pin
(P8_21) del BBB, el cual controla el emisor enviando un ‘1’ o ‘0’ a P8_21 para activarlo o
desactivarlo respectivamente. Por otra parte, el detector funciona como una resistencia
variable que cambia de acuerdo a la luz infrarroja que recibe, junto a R12 forma un divisor
de voltaje cuya salida va conectada a otro que permite regular que la entrada al pin ADC
(P9_35) del BBB sea menor a 1.8 V.

Fig. 3.24 Emisor y detector infrarrojo. Fuente: Elaboración Propia

29
3.4.7 Conexión del Sensor de Proximidad

La Fig. 3.25 muestra la conexión entre el sensor de proximidad y el BBB, básicamente el


sensor se alimenta por VIN con 3.3 V mientras que su pin GND está conectado a tierra, el
pin OUT se establece en ‘0’ cuando el sensor ha detectado algún objeto (para este caso
pastillas); de lo contrario se mantiene en ‘1’, este va conectado al pin (P8_18) del BBB.

Fig. 3.25 Conexión del Sensor de Proximidad. Fuente: Elaboración Propia

3.4.8 Piezo (zumbador)

La Fig. 3.26 muestra el Piezo o Buzzer, que es el dispositivo que produce el sonido de la
alarma, y su conexión con el BBB. Una de sus patas va conectada a 5 V mientras que la
otra está conectada al colector de un transistor NPN, el BBB envía un tono (señal de
pulsos) por su pin (P8_20) a la base del transistor permitiendo que el Piezo produzca el
necesario para alertar al usuario.

Fig. 3.26 Piezo. Fuente: Elaboración Propia

3.4.9 Reloj de Tiempo Real

La Fig. 3.27 muestra el diagrama esquemático del reloj de tiempo real (RTC, Real Time
Clock) que usa el BBB para saber la hora y fecha actual, la comunicación entre ambas
tarjetas se produce usando I2C, que es un tipo de bus de comunicaciones; para ello es
necesario primeramente convertir el voltaje de 3.3 V a 5 V y viceversa. La comunicación
usando I2C requiere de 2 señales, SCL que es la señal de reloj y que va conectada al pin
(P9_17) del BBB y SDA que es por donde se transmiten los datos y va conectada al pin
(P9_18).

30
Fig. 3.27 Reloj de Tiempo Real [24]

31
3.5 Diagrama de flujo del programa de control e interfaz de usuario

En la Fig. 3.28 se muestra el diagrama de flujo principal del sistema mecatrónico.


Cuando se energiza la dispensadora automática de pastillas se carga el sistema, la
configuración de parámetros, puertos de entrada/salida (GPIO) del BeagleBone Black
preestablecida y se inicializan las variables. Si es el primer ingreso se muestra
directamente la ventana 1 (Fig. 3.29).

INICIO 1

No
CARGA DEL
SISTEMA
CONFIGURACIÓN
¿TOCÓ
DE PARÁMETROS
PANTALLA?
PUERTOS (GPIO) E
INICIALIZACIÓN DE
VARIABLES

¿PRIMER
ventana = 3
INGRESO?

MOSTRAR MOSTRAR
VENTANA VENTANA
1 3
LCD LCD

INGRESO ¿10 SEGUNDOS


No
DE DATOS No SIN TOCAR Sí ventana = 2
PANTALLA?
No

No

¿SELECCION
Ó ACEPTAR? ¿SELECCIONÓ
OPCIÓN?

ESTABLECER Sí
HORA Y FECHA
AL RTC DIRIGIRSE A
I2C (SDA, SCL) VENTANA DE
OPCIÓN
SELECCIONADA
HASTA
RETORNO
ventana= 2

ESTABLECER
INTERVALO
INTERRUPCIÓN
(5 segundos,
Func1)

Fig. 3.28 Diagrama de Flujo Principal del Sistema Mecatrónico. Fuente: Elaboración Propia

32
Fig. 3.29 Ventana 1. Fuente: Elaboración Propia

En esta ventana se da el proceso de configuración de la fecha y hora actual, además del


nombre del usuario. El ingreso de datos se produce seleccionando el campo de texto
para el caso de NOMBRE o los “combobox” (cuadro de diálogo con lista de opciones)
para el caso de FECHA y HORA. La selección se produce tocando la pantalla táctil. Para
llenar el campo de texto que está limitado a 25 caracteres se despliega un teclado virtual
en la parte inferior que desaparece al seleccionar ‘enter’, mientras que en el caso de los
“combobox” se despliega una lista de opciones al seleccionar el triángulo invertido. Para
el caso de DÍA los valores se actualizan dependiendo del AÑO y MES seleccionados, el
rango de valores de AÑO está entre 2014 y 2100. Cuando se selecciona ACEPTAR se
actualiza el RTC (Real Time Clock) a esos valores de FECHA y HORA, el sistema se
comunica con este usando I2C por los pines (SDA y SCL). Si no es el primer ingreso se
obvia esta parte del proceso tal y como se observa en el diagrama de flujo principal.

El siguiente paso es asignar a la variable ‘ventana’ el número 2, esta representa el


número de ventana activa que es mostrada en la pantalla o que va a ser mostrada. Luego
se establece un intervalo de interrupción que hace que el sistema ejecute la función
‘Func1’ una y otra vez después de 1 segundo de finalizada la ejecución. Esta es la
función en la que se activa la alarma y se realiza el proceso de dosificación, además de
mostrar y actualizar los datos de la ventana 2 (Fig. 3.30).

Fig. 3.30 Ventana 2. Fuente: Elaboración Propia

Salvo que se apague la pantalla usando el botón que dispone la LCD en la parte inferior,
esta es la ventana que se mostrará normalmente. Para acceder a las distintas opciones

33
que presenta el sistema basta con tocar la pantalla, si esto sucede se activará y mostrará
la ventana 3, la cual se muestra en la Fig. 3.31, esta posee tres opciones, la primera de
ellas, “PASTILLAS”, sirve para configurar los horarios, dosis e ingreso de pastillas; la
segunda opción, “CONFIGURACIÓN”, permite retornar a la ventana 1 y modificar los
datos inicialmente ingresados; mientras que la tercera opción, “ACCEDER A UN
CONTENEDOR”, posibilita el acceso a un contenedor en específico, para lo cual es
necesario abrir la tapa frontal del dispensador.

Fig. 3.31 Ventana 3. Fuente: Elaboración Propia

Como se observa en el diagrama de flujo principal, el sistema si es que el usuario no toca


la pantalla durante 10 segundos, regresa a la ventana 2, en caso contrario si es que se
seleccionó una de las opciones se dirige a esta , hasta que se retorne a la ventana 3 y se
repita el proceso.

En el caso de seleccionar PASTILLAS se dirige y muestra en la LCD la ventana 4 (Fig.


3.32).

Fig. 3.32 Ventana 4. Fuente: Elaboración Propia

Básicamente es aquí donde se modifican los horarios y dosis de pastillas, además de


seleccionar el ingreso de estas, en la parte izquierda existen 07 campos de texto donde
se ingresan el nombre de las pastillas almacenadas en cada uno de los contenedores, a
lado suyo la dosis requerida por cada pastilla (rango: 1-3). Los horarios del día se dividen
en mañana, tarde y noche, los cuales son modificados en la parte superior, el sistema
limita que posean una mínima diferencia de 3 horas entre cada uno de modo que el
proceso de dosificación de uno no interfiera con el otro. Para asignar un tipo de pastilla a

34
uno de los 3 horarios basta con seleccionar el recuadro correspondiente y aparecerá un
símbolo de “check” tal y como aparece en la Fig. 3.32, si se desea quitar esa asignación
se repite el proceso. La columna de estado representa el nivel de cada uno de los
contenedores (CRÍTICO < 5 %), a lado de esta se presenta una columna de botones que
permite ingresar pastillas a cada compartimento. Todos los parámetros mencionados se
guardan en registros, los cuales pueden ser modificados si el usuario selecciona
ACEPTAR, en caso contrario (selecciona CANCELAR) las modificaciones no se guardan,
regresando en ambos casos a la ventana 3. El diagrama de flujo de la función ingresar se
presenta en la Fig. 3.33.

INICIO
1

ABRIR ABRIR CUADRO


¿REG_ESTADO[
No CUADRO DE DE DIALOGO 3
n] <=50%?
DIÁLOGO 1


ACTIVAR MOTOR
POSICIONAR A PASOS
SERVO ¿SELECCION
CERRAR enable = ‘0’
No Sí CUADRO DE
SERVO_PWM >> Ó ACEPTAR?
DIÁLOGO 1

No ENERGIZAR
SOLENOIDE
PWMA >> 100%
¿SELECCIONÓ AIN1 = ‘1’
RETORNAR 2 AIN2= ’0’
ABRIR CUADRO STBY= ’1’
DE DIÁLOGO 2 PASTILLAS?


MotorAPasosMov
CERRAR er[7,n]
CUADRO DE
No DIÁLOGO 1
¿SELECCIONÓ
CANCELAR?

DESENERGIZAR
No Sí SOLENOIDE
CERRAR AIN1 = ‘0’
CUADRO DE AIN2 = ‘0’
DIÁLOGO 2 STBY = ‘0’
¿SELECCIONÓ
ACEPTAR?

Sí DESACTIVAR
2 MOTOR A
PASOS
enable = ‘1’
ocupado = 1

Fig. 3.33 a) Diagrama de Flujo Función Ingresar (Parte 1). Fuente: Elaboración Propia

35
1 2

POSICIONAR RETORNAR
SERVO VÁSTAGO
SERVO_PWM >> InputSignal_PWM
90° >> 0%

No

POSICIONAR
SERVO ¿feedback ==
SERVO_PWM >> 0?

Calcular_REG_ESTAD
x=0 O
(n,REG_2[n][0],REG_3[
n])

ACTIVAR
EMISOR
ACTIVAR MOTOR
INFRARROJO
A PASOS
IR_emitter = ‘1’
enable = ‘0’

ENERGIZAR
DETECCIÓN DE SOLENOIDE
PASTILLAS PWMA >> 100%
¿IR_detector < AIN1 = ‘1’
nivel? AIN2= ’0’
STBY= ’1’


MotorAPasosMov
er[n,7]
No
REG_2[n][0] = 1

DESENERGIZAR
SOLENOIDE
AIN1 = ‘0’
AIN2 = ‘0’
DESACTIVAR STBY = ‘0’
EMISOR
INFRARROJO
IR_emitter = ‘0’
DESACTIVAR
MOTOR A
PASOS
enable = ‘1’
DESCENDER
VÁSTAGO
ACTUADOR
InputSignal_PWM ACTUALIZAR
>> x% DATOS
VENTANA 4
No

¿feedback == DESCENDER CERRAR


4096*x%? 2mm CUADRO DE
x +=4 DIÁLOGO 3

No

DETECCIÓN DE
PASTILLAS ocupado = 0
No ¿x==96?
¿sensor_output ==
2
‘0’?


FIN
REG_3[n] = x

Fig. 3.33 b) Diagrama de Flujo Función Ingresar (Parte 2). Fuente: Elaboración Propia

36
Las Fig. 3.33 a) y b) muestran el diagrama de flujo de la función “ingresar”, se accede a
esta al seleccionar alguno de los botones que se encuentran en la columna del mismo
nombre y que hace referencia a cada uno de los 7 contenedores de pastillas.

El compartimento de entrada posee aproximadamente el 50% de capacidad de


almacenamiento que un contenedor, esto permite limitar mecánicamente que las pastillas
ingresadas no excedan en volumen al que dispone cada contenedor y tener
disponibilidad de ingreso de más pastillas cuando el volumen de pastillas en el
contenedor es de 50% o menos, los botones de la columna ingresar que cumplen con
esta condición se presentan en color verde.

Como se observa en el diagrama de flujos (Parte 1) al iniciar se compara el nivel del


contenedor seleccionado n (0-6) el cual es almacenado en un registro (REG_ESTADO[])
para analizar si cumple o no la condición, si el resultado es negativo se abre un cuadro de
diálogo que muestra la siguiente información: “Nivel de pastillas mayor a 50 %, ingreso no
disponible”, y presenta en la parte inferior 2 botones: ACEPTAR, y RETORNAR
PASTILLAS, si se selecciona ACEPTAR se cierra el cuadro de diálogo y finaliza la
función, si la opción seleccionada es la de RETORNAR PASTILLAS; por otro parte, la
función continúa como si el contenedor cumpliese con la condición inicialmente descrita.
La segunda opción permite retornar pastillas que el dispositivo dispensó y el usuario
finalmente no ingirió, pero corre bajo su propio riesgo el no ingresar más pastillas ya que
se podría exceder los límites del contenedor.

El proceso siguiente es el de preparar al servo posicionándolo en 0°, de modo que pueda


sostener el peso de las pastillas y estas no se caigan y dirijan al canal, luego se abre un
segundo cuadro de diálogo que indica al usuario que ingrese las pastillas y seleccione
ACEPTAR cuando haya finalizado, en caso contrario seleccione CANCELAR, si
selecciona ACEPTAR se asigna el valor de 1 a la variable “ocupado”, el uso de esta se
verá más adelante, en caso contrario se cierra el cuadro de diálogo y finaliza la función.

Si la opción seleccionada es ACEPTAR se abre un tercer cuadro de diálogo que muestra


un símbolo de espera el cual aparecerá mientras se llena el contenedor, el siguiente paso
es posicionar el contenedor deseado en la parte central inferior, para ello es necesario
habilitar el motor a pasos de modo que mantenga la posición, luego se energiza el
solenoide para desbloquear el sistema de movimiento, se mueve el contenedor a la
posición deseada y se vuelve a bloquear el sistema quitando la energía suministrada al
solenoide y deshabilitando el motor a pasos, es entonces cuando el servo gira 90° y las
pastillas son liberadas para poder ser almacenadas en el contenedor, luego el servo
regresa a su posición inicial (0°). El proceso siguiente se resume en bajar el vástago
hasta que el sensor de proximidad detecte las pastillas para así obtener el nivel actual de
estas y utilizar el emisor y detector IR para saber si el contenedor está o no vacío, de
modo que se puedan actualizar los registros y valores de la ventana 4. Luego ser retorna
el vástago a su posición inicial, al igual que el contenedor usando el mismo procedimiento
ya explicado, finalmente se cierran los cuadros de diálogo y se asigna 0 a la variable
‘ocupado’ indicando que el proceso ha concluido.

La tercera opción en la ventana 3, como ya se ha mencionado es la de acceder a uno de


los contenedores en la dispensadora. Al seleccionarla se accede a la ventana 5 mostrada
en la Fig. 3.35, esta posee 8 botones, 7 de ellos para cada uno de los contenedores y el
inferior para regresar a la ventana anterior. El diagrama de flujo se presenta en la Fig.
3.34 y se explicará a continuación.

37
INICIO

actual = 7

¿SELECCIONÓ
No Sí ¿actual == 7?
RETORNAR?

No Sí

ocupado = 1
¿SELECCIONÓ ACTIVAR MOTOR
ALGÚN A PASOS
CONTENEDOR enable = ‘0’
?

Sí ENERGIZAR
SOLENOIDE
PWMA >> 100%
ASIGNAR
AIN1 = ‘1’
SELECCIONADO:
AIN2= ’0’
n >> (0,1,..,6)
STBY= ’1’

No
¿actual != n? MotorAPasosMov
er[actual,7]

Sí No
ocupado = 1
ACTIVAR MOTOR DESENERGIZAR
A PASOS SOLENOIDE
enable = ‘0’ AIN1 = ‘0’
AIN2 = ‘0’
STBY = ‘0’
ENERGIZAR
SOLENOIDE
PWMA >> 100% DESACTIVAR
AIN1 = ‘1’ MOTOR A
AIN2= ’0’ PASOS
STBY= ’1’ enable = ‘1’

MotorAPasosMov
er[actual,n] ocupado = 0
actual = 7

DESENERGIZAR
SOLENOIDE
AIN1 = ‘0’ RETORNAR A
AIN2 = ‘0’ VENTANA 3
STBY = ‘0’

DESACTIVAR
MOTOR A FIN
PASOS
enable = ‘1’

actual = n
ocupado = 0

Fig. 3.34 Diagramas de flujo “Acceder a Contenedor”. Fuente: Elaboración Propia

38
Fig. 3.35 Ventana 5. Fuente: Elaboración Propia

En términos generales se sigue el mismo procedimiento de posicionamiento de un


contenedor en la parte inferior del dispensador como ya se ha explicado anteriormente, la
variable “actual” guarda el número del contenedor que se encuentra en esa posición (0-
6), esta se inicializa en 7 el cual representa la disposición inicial que es cuando la parte
inferior está vacía. El sistema analiza si se ha seleccionado algún contenedor o el botón
de volver, si el caso es el primero se compara la posición actual con la seleccionada para
ver si es diferente e iniciar el desplazamiento, entonces se posiciona el contenedor
deseado en la parte inferior y se repite el lazo, al seleccionar la opción VOLVER si el
mecanismo se encuentra en una posición distinta a la inicial se ejecuta nuevamente el
proceso de desplazamiento a esta posición, en caso contrario, se retorna directamente a
la ventana 3. En ambos casos se asigna 1 a la variable “ocupado” mientras dure el
proceso de desplazamiento.

Ahora que se conoce internamente las opciones que presenta la interfaz de usuario y
para qué y cómo se ejecutan cada una de ellas se procederá a explicar la “Func 1” la cual
se mencionó en el diagrama de flujo principal inicialmente. Esta función, como ya se dijo,
se ejecuta cada 1 segundo, este lapso se establece entre el momento en que terminó de
ejecutarse y el momento en el que vuelve a realizarlo, la Fig. 3.36 muestra el diagrama de
flujo de la función. Básicamente en esta función se lee periódicamente el reloj establecido
en el RTC (Real Time Clock) de modo que se compara los valores de hora y minutos
actuales con los horarios ingresados de mañana, tarde y noche para ver si se encuentra
en alguno de ellos y empezar a realizar la dosificación de pastillas requerida. El diagrama
de flujo empieza preguntando si el valor de la variable “retraso” es igual a 1 y el de
“ocupado” igual a cero, estas 2 variables cumplen la función de indicar cuando el sistema
está llevando a cabo alguna acción que involucre el cambio de estado de algún actuador,
lo que esto permite es que si en caso se esté; por ejemplo, ingresando pastillas y el
momento en que esto pase concuerde con uno de los horarios no se interrumpa la acción
y se espere a que esta termine (ocupado = 0) para que se active la alarma y el proceso
de dosificación. La variable “retraso” se asigna a 1 cuando el sistema está ocupado y ha
llegado el momento de activar la alarma, de este modo cuando deja de estarlo (retraso =
1 && ocupado = 0) se procede directamente activar la alarma, de lo contrario como esta
función es periódica y el tiempo sigue avanzando podría pasar el minuto siguiente
mientras el sistema esté ocupado y obviar la activación de la alarma y proceso de
dosificación incluso cuando el sistema deje de estar ocupado.
Cuando el momento de dosificación ha llegado se asigna el valor (0-2) a la variable
tiempo, este valor representa el momento del día (mañana, tarde o noche).
39
INICIO 1

LEER HORA Y ¿ventana ==


¿retraso == 1 &&
No FECHA DEL RTC 2?
ocupado == 0?
I2C (SDA,SCL)


ACTUALIZAR
¿HORARIO DE: VENTANA 2
ABRIR CUADRO MAÑANA||
DE DIÁLOGO 4 TARDE||
NOCHE?
No
No
MOSTRAR
Sí VENTANA
ACTIVAR
ALARMA 2 EN LCD
speaker >> señal ASIGNAR VALOR
de pulsos A:
tiempo >> (1||2||3)

FIN

¿PASÓ 2
MINUTOS?

¿ocupado ==
No 1?

¿SELECCIONÓ
CANCELAR? Sí

No
retraso = 1
¿SELECCION
Ó ACEPTAR?

APAGAR
Sí ALARMA
speaker >> 0


EMPEZAR:
Dosificacion
(tiempo)

No
MOSTRAR
DOSIS
REQUERIDA Y
ENTRE GADA
EN CUADRO
DE DIALO GO,
DELAY 5
SEG UNDOS

APAGAR
ALARMA
speaker >> 0

retraso = 0

CERRAR
CUADRO DE
DIÁLOGO 4

Fig. 3.36 Diagrama de flujo “Func1”. Fuente: Elaboración Propia

40
Si el sistema no está ocupado o deja de estarlo se abre un cuadro de diálogo que
muestra lo siguiente: “Empezar proceso de dosificación” junto a 2 opciones en la parte
inferior ACEPTAR y CANCELAR, seguidamente se envía una señal de pulsos al pin que
está conectado al zumbador (“speaker”) de modo que se genere el ruido de alarma.

La alarma suena durante un máximo de 10 minutos hasta que se seleccione una de las
opciones, si pasa este tiempo o el usuario selecciona CANCELAR, la alarma se apaga y
se cierra el cuadro de diálogo no llevándose a cabo el proceso de dosificación. Por otra
parte, si el usuario selecciona ACEPTAR se apaga la alarma y llama a la función
“Dosificación” indicándole el tiempo (0-2) como parámetro de entrada, cuando termina
este proceso se muestra durante 5 segundos en el cuadro de diálogo, la dosis requerida
y la que ha sido entregada, las cuales pueden diferir si es que algún contenedor se ha
quedado vacío. Finalmente se restablece el valor de la variable “retraso” (0), se cierra el
cuadro de diálogo y si en caso se encuentre actualmente la ventana 2 activa, que es la
que muestra la fecha y hora actual, se procede a actualizarla y mostrarla en la pantalla
con los valores leídos del RTC.

La función “Dosificación” es en sí la que realiza el proceso principal, la que dosifica las


pastillas y las expulsa por el ducto de salida para que el usuario pueda recogerlas e
ingerirlas, el diagrama de flujo de esta se presenta en la Fig. 3.37 a) y b). Se manejan 4
registros (REG_1, REG_2, REG_3 Y REG_4). El REG_1 es un arreglo de 3x7 que
representa el estado (véase Fig. 3.32) de cada una de las pastillas (0-6) para cada uno
de los horarios (0-2), en otras palabras si para un determinado horario (mañana, tarde o
noche) se ha establecido que se debe de dispensar una pastilla X el valor de su estado
es igual a 1 de lo contrario adopta el valor de 0, entonces; por ejemplo, si la pastilla A es
tomada solamente en la mañana y noche, el valor de REG_1 [][0] será igual a {1;0;1}, lo
cual representa la columna de estados de la pastilla A para los 3 horarios disponibles. El
REG_2 es un arreglo de 7x2 que representa el estado del contenedor (si está vacío o no
(0 y 1 respectivamente)) y la dosis necesaria (1-3) para cada pastilla, mientras que el
REG_3[7] guarda el valor de la distancia que ha bajado el vástago en el contenedor antes
de detectar pastillas, lo cual sirve para obtener el nivel de llenado de cada contenedor a
partir de este y guardarlo en el REG_ESTADO que es el que actualiza el valor del estado
de los contenedores en la ventana 4. Finalmente el REG_4[7] almacena la dosis real de
pastillas que ha sido entregada.

Básicamente para el tiempo indicado (mañana, tarde o noche) se realiza un “loop” para
cada contenedor de pastillas (n) (0-6), si el valor de REG_1[tiempo][n] es igual 1 significa
que es necesario extraer la dosis (1-3) de pastillas del contenedor “n” y expulsarlas por la
cavidad de salida, de lo contrario se analiza el estado del siguiente contenedor (n++), el
proceso de dosificación de cada tipo de pastilla se encuentra en otro “loop” que se repite
(REG_2[n][1]) veces que es la dosis necesaria del tipo de pastillas almacenadas en el
contenedor “n” en caso de que el contenedor esté vacío (REG_2[n][0]=0) se termina el
“loop” y analiza el estado del siguiente contenedor de pastillas para ese tiempo
establecido.

41
INICIO 1

ENERGIZAR
SOLENOIDE
PWMA >> 100%
n=0 AIN1 = ‘1’
AIN2= ’0’
STBY= ’1’

No ¿n<7? MotorAPasosMov
er[actual,n]

Calcular_REG_ESTAD
O Sí
(n,REG_2[n][0],REG_3[
n])
DESENERGIZAR
¿REG_![tiemp SOLENOIDE
o][n] ==1? AIN1 = ‘0’
ACTUALIZAR AIN2 = ‘0’
DATOS STBY = ‘0’
VENTANA 4

FIN No
num=0 DESACTIVAR
MOTOR A
6 PASOS
enable = ‘1’

¿num<REG_2[
No n++
n][1]?
x=0
3

¿REG_2[n][0]= DESCENDER
No REG_4[n]=num VÁSTAGO
=1?
ACTUADOR
InputSignal_PWM
>> x%

No
ACTIVAR MOTOR
A PASOS
enable = ‘0’ ¿feedback ==
4096*x%?

2
1

Fig. 3.37 a) Diagrama de flujo “Dosificación” (Parte 1). Fuente: Elaboración Propia

42
4
DESCENDER
2 2mm
x +=4

3
No
DETECCIÓN
CONTENEDOR
DETECCIÓN DE VACÍO
PASTILLAS ¿IR_detector >
No ¿x==96?
¿sensor_output == nivel?
‘0’?




No REG_2[n][0] = 0
DESCENDER
2mm
InputSignal_PWM
>> (x+4)%

DESACTIVAR
EMISOR
INFRARROJO
IR_emitter = ‘0’
REG_3[n] = x

ACTIVAR MOTOR
A PASOS
ENERGIZAR enable = ‘0’
BOMBA
PWMB >> 100%
BIN1 = ‘1’
BIN2 = ‘0’
STBY = ‘1’ ENERGIZAR
SOLENOIDE
PWMA >> 100%
AIN1 = ‘1’
AIN2= ’0’
RETORNAR
VÁSTAGO
InputSignal_PWM 5
>> 0%
MotorAPasosMov
er[n,7]
No
DESACTIVAR
MOTOR A
PASOS
¿feedback == enable = ‘1’ DESENERGIZAR
0? BOMBA
BIN1 = ‘0’
BIN2 = ‘0’

num ++
ACTIVAR DESENERGIZAR
EMISOR SOLENOIDE
INFRARROJO AIN1 = ‘0’
IR_emitter = ‘1’ AIN2 = ‘0’
STBY = ‘0’

6
4

Fig. 3.37 b) Diagrama de flujo “Dosificación” (Parte 2). Fuente: Elaboración Propia

43
El proceso empieza posicionando el contenedor “n” en la parte central inferior, de modo
que la ventosa pueda tener acceso a este. Luego se baja el vástago del actuador hasta
que el sensor de proximidad detecte las pastillas, cuando esto ha pasado se guarda el
valor de la distancia descendida en el REG_3[n] y se desciende 4 mm más por
precaución, debido a que el sensor está posicionado unos milímetros detrás del eje
vertical de la ventosa y el nivel de pastillas no es tan uniforme en toda la superficie, luego
se activa la bomba de modo que la pastilla se adhiera a la ventosa, seguidamente se
retorna el vástago a la posición inicial, se activa el emisor y detector IR lo cual me permite
saber si el contenedor está vacío, y se posiciona el contenedor en su posición inicial, de
este al desactivar la bomba de vacío la pastillas tiene libre camino para caer al ducto de
salida. Cuando finaliza el “loop” principal se actualizan los registros de los datos que se
muestran en la ventana 4.

44
Capítulo 4

Presupuesto
Tabla 4.1 Presupuesto de Parte Electrónica
Dólar Venta 2.96
Parte Electrónica
Precio Precio
Costo
Ítem Nombre Unitario Unitario Cantidad Proveedor
(S/.)
(USD) (S/.)
1 SparkFun Real Time 14.95 44.252 1 Sparkfun 44.252
Clock Module
Resistor 10K Ohm 1/6th
2 0.95 2.812 1 Sparkfun 2.812
Watt PTH - 20 pack
Transistor - NPN
3 0.5 1.48 2 Sparkfun 2.96
(2N3904)
Infrared Emitters and
4 1.95 5.772 1 Sparkfun 5.772
Detectors
5 Stepper Motor with Cable 14.95 44.252 1 Sparkfun 44.252
SparkFun Logic Level
6 2.95 8.732 1 Sparkfun 8.732
Converter - Bi-Directional
Piezo Speaker - PC Mount
7 1.95 5.772 1 Sparkfun 5.772
12mm 2.048kHz
SparkFun EasyDriver -
8 14.95 44.252 1 Sparkfun 44.252
Stepper Motor Driver
SparkFun Motor Driver -
9 8.95 26.492 1 Sparkfun 26.492
Dual TB6612FNG (1A)
Beaglebone Black Cape -
10 89.95 266.252 1 Sparkfun 266.252
LCD (7.0")
11 Vacuum Pump - 12V 14.95 44.252 1 Sparkfun 44.252
12 HS-81 Servo 12.69 37.5624 1 Servocity 37.5624
Pololu Carrier with Sharp
13 GP2Y0D805Z0F Digital 5.95 17.612 1 Pololu 17.612
Distance Sensor 5cm
Push Type Open Frame
14 9.49 28.0904 1 Ebay 28.0904
Solenoid ZYE1-0837Z
L12-I Linear Actuator -
15 90 266.4 1 Firgelli 266.4
50mm - 50:1 - 12 volts
BEAGLEBONE
16 54.95 162.652 1 Jameco 162.652
BLACK,1GHZ,REV.C
PWR SPLY,SW,OPEN
17 12.95 38.332 1 Jameco 38.332
FRAME,40W
PWR CORD,6',AWG
18 2.95 8.732 1 Jameco 8.732
18/2,SPT-2,BLK
Coste
Total:
1055.1808

45
Tabla 4.2: Presupuesto de Parte Mecánica

46
Tabla 4.3 Costos Totales
Precio en Precio en Soles (S/.)
Dólares(USD)
Parte Electrónica - 1055.2
Parte Mecánica - 2255.3
Pagos Extras(shipping) 120 355.2
Total - 3665.7

Del presupuesto presentado en las tablas 4.1, 4.2 y 4.3 se observa que el costo
total de la fabricación del dispensador es de 3665,7 soles, este se divide en la
parte electrónica y mecánica, e incluye los gastos de envío de los ítems
importados. La parte más cara de la fabricación (más del 30% del total) es la de
los componentes elaborados en una impresora 3D, principalmente debido al costo
del material; probablemente esto pueda reducirse usando otros métodos de
fabricación, pero esto solo sería conveniente si se considera una producción
masiva.

47
Capítulo 5

Conclusiones

 El sistema mecatrónico satisface los requerimientos del sistema preestablecidos


en el capítulo 2.

 La corriente requerida por el sistema es bastante grande; esto hace que no se


pueda usar una batería, ya que para esos requerimientos energéticos las
disponibles en el mercado son grandes y pesadas, lo cual va en contra de la
búsqueda de diseñar un sistema compacto.

 La interfaz gráfica es bastante amigable, comunicándose con el usuario cada vez


que se va a realizar una acción a través de cuadros de diálogo.

 El sistema diseñado es compacto (30 cm x 15 cm x 25 cm) y de peso moderado


(3-4 kg).

 El diseño de los contenedores, los cuales poseen una pendiente mínima de 25°
en la parte inferior permite dar mayor seguridad al proceso de dosificación
haciendo que las pastillas sobrantes puedan establecerse en un punto central que
es donde la ventosa succiona el comprimido.

 La velocidad del giro de los contenedores (1 vuelta cada 2 segundos) permite que
el proceso de dosificación sea rápido pero al mismo tiempo sea estable, ya que
todos los contenedores de pastillas están movimiento.

 La capacidad del controlador usado hace que el procesamiento, sobre todo la


comunicación con la LCD y el RTC sea rápido de modo que las interrupciones
programas en el sistema no afecten en lo más mínimo el funcionamiento general.

 La tarjeta controladora utilizada posee la capacidad de poder ser conectada a


Internet de modo inalámbrico, simplemente agregándole un adaptador wi-fi; esto
le da mayor proyección al diseño elaborado, ya que sin ser necesario tener que
cambiar mucho el hardware se pueden agregar muchas más funcionalidades.

48
Bibliografía
[1] Stepper motor quick start guide, online: https://www.sparkfun.com/tutorials/ 400
[Consulta: martes, 05 de noviembre de 2014]

[2] Azega web page, online: http://www.azega.com/arduino-servo-motor-part-1/


[Consulta: miércoles, 30 de octubre de 2014]

[3] Bildr web page, online: http://bildr.org/2011/06/easydriver/


[Consulta: lunes, 5 de diciembre de 2014]

[4] Boylestad, Robert L., and Louis Nashelsky. “Electrónica: teoría de circuitos y
dispositivos electrónicos”. Pearson Educación, 2003.

[5] “Dibujo Mecánico 1”, Pontificia Universidad Católica del Perú, 2000

[6] Grabcad web page, online: http://grabcad.com/


[Consulta: viernes, 25 de octubre de 2014]

[7] Isermann, Rolf. “Modeling and Design Methodology for Mechatronic Systems”.
IEEE/ASME Transactions on Mechatronics, Vol1, NO.1, March 1996.

[8] “Mechatronics: Designing intelligent machines” in Proc. IEE-Int. Conf., Univ. of


Cambridge, Sept. 12-13, 1990.

[9] Niemann. “Elementos de máquinas, Barcelona”, Labor, 1973.

[10] Sandier, B. Z. “Robotics: Designing the Mechanisms for Automated Machinery”,


Second Edition, Academic Press, 1999.

[11] Tracepartonline web page, online: http://www.tracepartsonline.net/


[Consulta: sábado, 2 de diciembre de 2014]

[12] Ullman, David. “The Mechanical Design Process”, 4 Edition, McGraw Hill, 2010.

[13] Pill dispenser Prototype, online: https://www.youtube.com/watch?v=BwP2v5Mhuf8


[Consulta: martes, 10 de octubre de 2014]

[14] Pololu Carrier with Sharp GP2Y0D805Z0F, online:


https://www.pololu.com/product/1132
[Consulta: lunes, 20 de octubre de 2014]

[15] SPARKFUN, Infrared Emitters and Detectors, online:


https://www.sparkfun.com/products/241
[Consulta: martes, 10 de octubre de 2014]

49
[16] Servocity, HS-81 Micro, online:
https://www.servocity.com/html/hs-81_micro.html#.VRJsU_mG91Z
[Consulta: martes, 30 de setiembre de 2014]

[17] Store Firgelli, L12-I Micro Linear Actuator, online:


http://store.firgelli.com/Firgelli_L12_I_p/l12-i.htm?1=1&CartID=1
[Consulta: lunes, 06 de octubre de 2014]

[18] Amazon, DC 12V Push Type Open Frame Solenoid, online:


http://www.amazon.com/Generic-Solenoid-Electromagnet-Holding-ZYE1-
0837Z/dp/B00EQ1ZMQQ
[Consulta: sábado, 01 de noviembre de 2014]

[19] Sparkfun, Stepper Motor with Cable, online:


https://www.sparkfun.com/products/9238
[Consulta: viernes, 17 de octubre de 2014]

[20] Sparkfun, Vacuum Pump - 12V, online:


https://www.sparkfun.com/products/10398
[Consulta: jueves, 23 de octubre de 2014]

[21] Easy Eda, BeagleBone outline, online:


https://easyeda.com/component/BEAGLEBONE_OUTLINE-p3WQ8qkCU
[Consulta: jueves, 18 de octubre de 2014]

[22] Schmalzhaus, Eagle Part Library EasyDriver, online:


http://www.schmalzhaus.com/EasyDriver
[Consulta: jueves, 20 de octubre de 2014]

[23] Sparkfun, Sparkfun Motor Driver – Dual TB6612FNG, online:


https://www.sparkfun.com/products/9457
[Consulta: jueves, 15 de octubre de 2014]

[24] Sparkfun, Sparkfun Real Time Clock Module, Eagle Files, online:
http://www.schmalzhaus.com/EasyDriver
[Consulta: jueves, 02 de octubre de 2014]

50

También podría gustarte