sábado, 19 de mayo de 2012

Interfaz para monitoreo de parámetros en Java

Hola muchachos, esta es una interfaz desarrollada por nosotros para el monitoreo de parametros de un robot móvil.

Interfaz de Monitoreo versión 1.0 como parte de:
Proyecto: Robot para el transporte de productos con control de trayectoria mediante principios odométricos.
Interfaz desarrollada en java usando el IDE eclipse.

La falta de monitoreo es uno de los principales problemas al momento de implementar un sistema, ya que si no se visualizan los parámetros del proceso en la fase de pruebas o durante la ejecución no se podrá hacer un seguimiento en tiempo real del estado del sistema. El monitoreo se puede realizar con un LED, display, lcd, PC o cualquier otro dispositivo de visualización. Siendo la PC una de las más ventajosas ya que permite visualizar los valores de los parámetros en la pantalla y dichos valores pueden ser representados mediante gráficos, cuadros, etc. Además no sólo sirve para monitorear el proceso sino también puede controlarlo mediante un programa desarrollado en el mismo. Otra de las ventajas de utilizar una PC es que podemos almacenar la información monitoreada en una base de datos o en archivo de texto. 

Todo esto es posible sólo si hay una comunicación entre la PC y el sistema (específicamente con el microcontrolador). Uno de los tipos de comunicación más usados para este propósito es la serial. Esta comunicación ha sido estandarizada tanto a nivel comercial como industrial en los últimos años. 

Finalmente se necesita un programa en la PC para recibir los datos provenientes del microcontrolador. Este programa puede ser desarrollado en cualquier lenguaje de programación que soporte dichas características. Siendo los mas usuales C, C#, Visual basic, Labview, Labwindows y en esta ocasión JAVA. 

Java es un lenguaje de alto nivel orientado a objetos, lo cual le de una gran ventaja frente a otros lenguajes ya que permite la reutilización de código, trabaja sobre un JVM (java virtual machine) lo cual la hace compatible con cualquier sistema operativo. Otra de las ventajas es la gran cantidad de librerías que posee, prácticamente se puede hacer aplicación. 

En esta oportunidad presento la  versión 1.0 de la interfaz de monitoreo de un robot en java. Este proyecto es de un robot móvil con control de trayectoria. el cual es realimentado mediante encoders. Los parámetros de medición del robot son: 
-Angulo 
-Coordenada X 
-Coordenada Y 
-Velocidad instantánea 
-Nivel de batería 

Estos datos son registrados dentro del robot el cual posee un dspic30f4011 y se comunica por el puerto serial. EL robot envía cada 20ms una trama de información, ya que es mas eficiente que si desde el ordenador solicitáramos los datos al robot. Quiere decir que cada 20ms se enviarán todos esos parámetros. 
La trama es la siguiente: 

SMA05786X00201Y00302V0403B0505FIEE 
SMA05844X00203Y00305V0407B0510FIEE 
SMA05901X00205Y00308V0411B0515FIEE 
SMA05958X00207Y00311V0415B0520FIEE 
SMA06016X00209Y00314V0419B0525FIEE 
SMA06073X00211Y00317V0423B0530FIEE 
SMA06130X00213Y00320V0427B0535FIEE 
SMA06187X00215Y00323V0431B0540FIEE 
SMA06245X00217Y00326V0435B0545FIEE 
SMA06302X00219Y00329V0439B0550FIEE 
SMA06359X00221Y00332V0443B0555FIEE 
SMA06417X00223Y00335V0447B0560FIEE 
SMA06474X00225Y00338V0451B0565FIEE 

Analizaremos una de ellas. 

SMA06245X00217Y00326V0435B0545FIEE 

A06245         A = 62.45 grados 
X00217         X = 2.17 cm 
Y00326         Y = 3.26 cm 
V0435           V = 4.35 m/s 
B0545           B = 5.45 volts 

SM A  X   Y  V  B   FIEE  son caracteres de validación de trama, cuando se recibe la trama se verifican estos parámetros para poder validad que la información recibida es correcta. 

En lo referente a la interfaz en java lee esos datos seriales mediante THREADS (consiste en hacer tareas en paralelo) para que sea mas eficiente. Una vez que decodificamos la información enviada por el pic proseguiremos a plotearlo y mostrarlo en los indicadores en tiempo real mediante algunos algoritmos para generar ese movimiento continuo. Ademas se tiene la opción de generar un Datalogger y guardar toda la información en un .txt.   

También se puede controlar el robot desde la interfaz mediante los botones de la parte superior y también con el teclado. Ademas se puede variar la velocidad con el Slider. 
Finalmente contamos con la opción de abrir Bootloader con lo cual podemos actualizar el codigo desde la misma interfaz ejecutando el .exe RBL. 




Atte.
AyMsolution.

No hay comentarios:

Publicar un comentario