Sie sind auf Seite 1von 20

CAPTULO III

DESARROLLO DEL PROYECTO

28

DESARROLLO DEL PROYECTO

3.1. Anlisis de posibles soluciones


Se pretende disear un sistema que permita capturar datos de un indicador de peso y que
tambin contenga un men de opciones con informacin del proceso como lo es el tipo de
harina y la procedencia permitiendo que el usuario pueda elegir estos datos, haciendo que el
sistema sea interactivo. Despus de seleccionarse la informacin es necesario poder imprimirla
para evitar copiarla manualmente, y as poder llevar el control del proceso de repaso de una
forma ms rpida.
El indicador de peso utilizado en el proceso, cuenta con un puerto serie RS-232, este utiliza un
conector DB-9 por el cual se puede enviar informacin, de aqu nace la idea de poder
comunicar este indicador con alguna interfaz y as poder obtener el peso sin necesidad de
copiarlo manualmente. Adems la empresa dispone de una impresora de matriz de puntos la
cual posee un puerto de comunicacin serial que utiliza el mismo protocolo RS-232, de esta
manera se puede comunicar estos dos equipos por medio de algn dispositivo intermedio con
el que se pueda capturar los pesos del indicador, generar un men de opciones e imprimir la
informacin del peso, tipo de harina y la procedencia.
La interfaz entre estos dos se equipos se puede realizar por medio de un microcontrolador ya
que muchos de estos dispositivos soportan comunicacin serial RS-232 de modo que existe la
posibilidad de comunicar el indicador con el microcontrolador para capturar el peso y luego
comunicando el microcontrolador con la impresora se podra imprimir la informacin, por esta
razn se decidi realizar el diseo por medio de un Arduino, el cual se basa en una placa que
integra un microcontrolador, siendo esto una gran ventaja, ya que evita el costo de construir un
circuito impreso solo para montar un microcontrolador.
El objetivo es programar el Arduino para que pueda comunicarse con el indicador de peso y la
impresora de matriz de puntos y que adems la programacin incluya un men de opciones

29

que se visualice en un display LCD y que por medio de un teclado se pueda elegir la
informacin que se muestra en el men.

3.2. Desarrollo de la solucin

3.2.1. Diseo
De acuerdo con lo propuesto anteriormente se ha decidido desarrollar el proyecto de la
siguiente forma:

Figura N7. Diagrama de bloques del diseo.

Como se puede observar en la figura N7 se debe comunicar el Arduino con la impresora y


con el indicador de peso, para ello el Arduino debe disponer de al menos dos puertos de

30

comunicacin serial, por esta razn se decidi utilizar el Arduino Mega, que posee 4 puertos
serie que soportan la comunicacin RS-232, adems tambin posee 54 entradas/salidas
digitales (de las cuales 14 proporcionan salida PWM) y 16 entradas analgicas. El Arduino
Mega tiene caractersticas similares al Arduino Uno e inclusive se puede decir que es una
versin ampliada del Arduino Uno.

Figura N8. Arduino Mega.

Cada puerto serie del Arduino est compuesto por dos pines RX y TX, donde se reciben y se
envan datos respectivamente, para la comunicacin RS-232 se utilizan niveles de tensin de
0.3V a 25V y de -0.3V a -25V, debido a esto es necesario utilizar alguna interfaz para poder
convertir estos niveles de tensin a niveles TTL que son los utilizados por Arduino, por esta
razn se decidi utilizar un mdulo convertidor de RS-232 a TTL.

31

Figura N9. Mdulo RS-232.

En la figura N9 se muestra un mdulo convertidor de RS-232 a TTL, la mayora de estos


mdulos estn basados en el circuito integrado MAX 232 que funciona como interfaz para
adaptar las seales RS-232 a niveles de tensin TTL, la ventaja de utilizar este tipo de
mdulos es que ya vienen completamente ensamblados incluso hasta incorporan el conector
DB-9 por lo que solo es necesario conectar la alimentacin y los pines de comunicacin RX y
TX. Con dos de estos mdulos se realizara la comunicacin con la impresora y el indicador
de peso.
Para crear la interfaz entre el usuario y el sistema se pretende utilizar un display de LCD con
el objetivo de mostrar la informacin que interviene en el proceso y por medio de un teclado
elegir la opcin correspondiente. Para llevar a cabo el diseo se realiz un anlisis de las
variables que intervienen en el proceso y con esto se logr determinar que bsicamente se
disponen de 9 variables distintas las cuales 5 pertenecen al tipo de harina y las otras 4
pertenecen a la procedencia, de modo que se decidi crear dos mens de opciones, el primero
corresponde al tipo de harina el cual incluira las siguientes opciones:

Harina Fuerte.

Harina Fuerte Exportacin.

Harina HRW.

Harina Semi-fuerte con Aditivos.

32

Harina Silver Winter F.

Por otra parte el segundo men sera el de la procedencia que lo formaran las siguientes
opciones:

Sacos Rojos.

Sacos Rojos Granel.

Sacos Rotos.

Bodega de Producto Terminado (BPT).

De esta forma se determinan las opciones que conforman los dos mens, y se decide crear un
teclado a base de pulsadores ya que solo es necesario 5 de estos para poder seleccionar cada
una de las opciones.

Figura N10. Mini pulsador.

En la figura N10 se muestra el tipo de pulsador que se utilizar en el diseo, con 5 de estos
pulsadores bastaran para poder elegir las opciones de cada men el objetivo es que cada
pulsador represente una opcin, de modo que para la seleccin del tipo de harina hay 5
opciones disponibles por lo tanto cada interruptor representara un tipo de harina,
seguidamente se procede con el siguiente men que corresponde a la procedencia del producto
el cual dispone de 4 opciones por lo tanto solo se necesitaran 4 de estos pulsadores para
representar cada una de las alternativas. La asignacin de cada pulsador se llevara a cabo por

33

medio de la programacin de manera que cada pulsador represente un nmero al igual que
cada opcin de los mens. El LCD utilizado es de 16X2 es decir 2 renglones de 16 caracteres,
debido a esto se deben de abreviar los nombres de cada una de las opciones de los mens para
que se puedan visualizar todas en el display, con el fin de dar a conocer el nombre y el nmero
que llevara cada opcin se dise la siguiente tabla que corresponde al tipo de harina:

Tipo de Harina

Representacin en el Men 1

Harina Fuerte

1.HF

Harina Fuerte Exportacin

2.HFE

Harina HRW

3.HRW

Harina Semi-fuerte con Aditivos

4.SFA

Harina Silver Winter F

5.SWF

Tabla N4. Opciones del men 1.

De igual manera se hizo lo mismo para la procedencia:

Procedencia

Representacin en el Men 2

Sacos Rojos

1.ROJO

Sacos Rojos Granel

2.ROJO_G

Sacos Rotos

3.ROTO

Bodega de Producto Terminado (BPT)

4.BPT

Tabla N5. Opciones del men 2.

34

Con estas dos tablas se define como quedaran los dos mens y sus respectivas opciones
aspectos que se tomaran en cuenta para elaborar la programacin. Tomando en cuenta todos
los componentes mencionados anteriormente, se decide realizar el diseo del sistema de la
siguiente forma:

Figura N11. Diagrama del circuito del sistema.

35

El diagrama de la figura N11 muestra el circuito del proyecto conformado por el Arduino
Mega, el display de LCD, los pulsadores y los dos mdulos RS-232, como se puede observar a
cada pulsador se le asign un nmero como se haba mencionado anteriormente, de forma que
en la programacin se trabajar con estos mismos valores. La impresora utilizada fue la
EPSON TM-U220D y el modelo del indicador de peso es el SGW-3015 los cuales por medio
de los mdulos RS-232 se comunicaran con el Arduino.

Figura N12. Impresora EPSON TM-U220U.

Figura N13. Indicador de peso SGW-3015

36

3.3. Implementacin

Con el fin de poner a prueba el funcionamiento del circuito y del programa se decidi
implementar el diseo en una protoboard (placa de pruebas), adems se realizaron ciertos
cambios en los componentes siendo el ms evidente la utilizacin de la placa Arduino Uno y
no la del Arduino Mega que es la que originalmente se tom en cuenta para la elaboracin del
proyecto, otro de los elementos que se cambiaron fueron los mdulos RS-232 que en lugar de
estos se utiliz el circuito integrado MAX 232 por lo cual se debi realizar el montaje de este
circuito y todos sus componentes necesarios de modo que se implement la siguiente
configuracin:

Figura N14. Diagrama de la configuracin del circuito MAX 232.

37

Como se puede observar en la figura N14 se utilizaron 5 capacitores de 1F y un conector


DB-9 para el montaje del circuito integrado MAX 232, esto es necesario para poder comunicar
el Arduino con la impresora y el indicador de peso.
Debido a que el montaje se realiz con el Arduino Uno, se debi probar el programa en dos
partes la cual la primera parte consisti en la captura de datos del indicador de peso y la
segunda parte fue el envo de datos de los mens hacia la impresora, el motivo de esto es
porque la palca Arduino Uno solo posee un puerto de comunicacin serie por lo tanto es
imposible conectar la impresora y el indicador al mismo tiempo. Con todas las modificaciones
que se mencionaron anteriormente, el circuito a implementar se muestra en la figura N15.

38

Figura N15. Diagrama del circuito implementado.

Siguiendo el diagrama de la figura N15, se realiz el montaje en una protoboard y a su vez se


tom una imagen del circuito ya ensamblado la cual se muestra a continuacin:

39

Figura N16. Imagen del circuito implementado.

40

3.4. Pruebas

La primera prueba realizada fue la de comunicar el indicador de peso con el Arduino, para ello
se realiz una ligera modificacin al programa la cual bsicamente consisti en quitar los
mens y dejar solo la captura de datos donde se obtuvieron los siguientes resultados:

Figura N17. Captura del peso inicial.

Figura N18. Captura del peso de la tarima.

En las figuras N17 y N 18 se muestra los valores que se visualizaron en el display luego de
colocar un peso de prueba en el indicador de peso. Con esto se comprueba que la captura de
datos en el programa funciona por lo tanto se procede a probar las otras partes de la
programacin las cuales corresponden a los mens y a la comunicacin entre el Arduino y la
impresora, esta se comprobar si se logra imprimir la informacin que se eligi en el men.

41

Para esta parte se quit del programa la captura de datos y se utiliz los mens de opciones y
la impresin de los datos, los resultados obtenidos son los siguientes:

Figura N19. Visualizacin del men 1.

Figura N20. Visualizacin del men 2.

La visualizacin de los dos mens se logra observar en las figuras N 19 y N20, de igual
forma se tomaron imgenes de las opciones que se eligieron en cada men.

42

Figura N21. Opcin elegida en el men 1.

Figura N22. Opcin elegida en el men 2.

Figura N23. Impresin de los datos elegidos en los mens 1 y 2.

43

3.5. Discusin de Resultados

Observando las figuras N17 y N18 se logra comprobar la comunicacin entre la placa
Arduino y el indicador de peso con lo que se puede determinar que esta parte del programa
funciona de manera correcta ya que se obtiene el resultado esperado de acuerdo a la
programacin. Segn las figuras N19 y N20 la visualizacin de los mens tambin es
correcta tambin se comprueba la seleccin de datos mediante las figuras N21 y N22 que
muestran las opciones que se eligieron en sus respectivos mens. Tambin se realiz una
impresin de la informacin con lo que tambin se logra determina que la comunicacin entre
el Arduino y la impresora es correcta, en la figura N23 se muestran impresos los datos que se
eligieron por medio de los dos mens.

44

3.6. Problemas Encontrados y su Solucin

El primer problema encontrado fue un fallo en la comunicacin entre el Arduino y el indicador


de peso, el cual tras realizar la primera prueba no se obtuvieron los resultados esperados ya
que la informacin que se visualizaba en el display no coincida con la que se mostraba en el
indicador, realizando ms pruebas se logr determinar que el origen del problema radicaba en
la forma de transmisin de datos que utiliza el indicador de peso, pues este trabaja con una
transmisin de 7 bits, paridad par y un bit de parada, a una velocidad de 9600baudios, de
manera que fue necesario establecer esta configuracin en el Arduino, esto se llev a cabo
configurando la comunicacin serial con el siguiente comando:
Serial.begin(9600,SERIAL_7E1).
Inicialmente solo se coloc la velocidad por lo que el Arduino establece su configuracin
predeterminada que es a 8bits, sin paridad, y un bit de parada, por esta razn se sustituy el
comando Serial1.begin(9600) por Serial1.begin(9600,SERIAL_7E1), con esto se solucion el
problema de la comunicacin entre estos dos dispositivos.
Otro problema encontrado fue en la captura de datos, inicialmente se haba realizado el
siguiente procedimiento en la programacin:
if(Serial.available()>0) {
valor=Serial.read();
lcd.print(valor);
}
De este procedimiento se obtuvo el siguiente resultado:

45

Figura N 24. Primera captura de datos.

El procedimiento antes descrito simplemente se basa en copiar los datos que enva el indicador
y desplegarlos en el display, como se puede observar aparte del peso el indicador enva otros
caracteres ms, lo cual signific un inconveniente ya que no se puede realizar ninguna
operacin aritmtica si el dato obtenido es una mezcla de nmeros y letras, es por esta razn
que se sustituy este procedimiento por el actual, presente en la rutina captura_datos_1() y
captura_datos_2() que simplemente extraen solo el peso de todo los caracteres que enva el
indicador dejando de lado los dems trminos que no son nmeros y con esto, se puede
realizar la resta entre el peso inicial y el peso de la tarima.
Por ltimo se encontr un problema en la comunicacin con la impresora ya que esta no
imprima los datos que se le enviaban a travs del Arduino, investigando en el manual de la
impresora se logr determinar que el problema se deba al tipo de cable utilizado para conectar
la impresora al Arduino. El inconveniente se dio debido a que el conector utilizado en la
interfaz con el MAX 232 es un DB-9 y la impresora utiliza un conector DB-25 de modo que se
debe utilizar un cable adecuado para adaptar esta conexin, en la figura N25 se muestra la
configuracin requerida para el tipo de cable que se debe utilizar, adems se puede visualizar
que la impresora utiliza las seales DTR y DSR aparte de las seales RX y TX que son las
nicas que utiliza el Arduino, de modo que fue conveniente unir el pin 4 con el pin 6 del
conector DB-9 que va hacia el Arduino para que de esta manera queden unidas las seales
DTR y DSR ya que son seales de control y sin estas la impresora no funciona.

46

Figura N25. Configuracin del tipo de cable para la impresora.

Realizando la configuracin que se muestra en la figura N25 y uniendo las seales DTR y
DSR, se solucion el problema de comunicacin entre la impresora y el Arduino.

Das könnte Ihnen auch gefallen