jueves, 17 de noviembre de 2011

Ya va quedando el asunto (mi proyecto de grado, parte 2)

Bueno, dicho y hecho, el asunto tuvo una segunda "digievolución" (ojalá Wargreymon y su bola de digimones no me cobre regalías por decir eso) y finalmente ya tenía otro aspecto, Para acomodarme al diseño anterior algunos LEDs cambiaron de funcionalidad pero ya para un modelo final se corregirían estas y otras cosas. La necesidad de ver que numero de elemento se estaba pesando se hizo presente y bueno, la mas reciente y tergiversada idea que pude poner hasta ahora en un proyecto de estos: un lector de código de barras. En fin, era como si una balanza y una caja registradora hubieran tenido descendencia solo que el híbrido tenía capacidades industriales:

(1) Captura de datos: Dado que en el anterior modelo había que decirle al programa que listas iba a ir mostrando secuencialmente, el lector de código de barras adquiría el código de la lista, el módulo lo decodifica, lo envía al software de control, este lo busca en la base de datos, devolvía el nombre de la lista y luego cargaba automáticamente los componentes de la receta en sus tablas internas para irlos mostrando en secuencia automáticamente a medida que el operario los fuera requiriendo...y todo esto sin tocar la computadora.

(2) LED indicador de lectura de datos: Que levante la mano quien ha leído los términos y condiciones de Hotmail cuando se crea un correo!...nadie? (:I`m watching you) bueno, ni yo lo hago, asi que supongo que muchos tampoco lo harán. Si ese pensamiento lo aplico a mi proyecto pues mejor le puse un LED extra para indicarle al operario que esta haciendo una operación de lectura y simplificarle la tarea (ademas que se ve mas bonito. Me gusta mucho la luz blanca), para este modelo (borrador aun) tomé prestado el de "error" pero luego le añadí otro mas, como se verá mas abajo.

(3) LED de error de datos: Este es un sistema para indicar que ha ocurrido un error en el vínculo PC-módulo, así que si en caso se rompiera el cable, o se reiniciara la computadora, o cualquier cosa en esa parte de la conexión se le indicaría al operario para que tome las medidas pertinentes (osea que sepa que esta pasando antes de manosear otras partes del proyecto y aumentar el error). Otro LED rojo se enciende cuando ocurra un problema en el funcionamiento normal del módulo que normalmente se soluciona dándole un "reset" al módulo, con un botón rojo que se añadió en la parte trasera del mismo.

(4) Software mejorado: Al hacer las conexiones por código de barras, ahora el software ya es capaz de vincularse a bases de datos SQL externas y buscar información ahí aunque la base de datos no este en el directorio del proyecto ni en la computadora donde este conectada para dar conexión remota de datos. Bueno, confieso que salió pero que quedó algo primitivo. Aun estoy aprendiendo SQL pero al menos se logró hacer.

Finalmente el asunto tomó otra visión, y funcionando quedó algo así:



Bueno, no es por halagar pero el proyecto gustó y encantó (bueno si, estaba como padre orgulloso) hacerle un manual de 2 hojas era exagerar explicaciones. Y llego un buen día en que me pidieron no uno ni dos, sino tres modulos de estos ya listos y adaptados para el trabajo (Ahora el Shrek soy yo con sus ogritos trillizos) y bueno, las adaptaciones fueron el cambiar la caja de plástico por una de acero inoxidable, ponerle botones mas grandes y de uso industrial y acomodar los LEDs para que se noten mejor. Estas mejoras convirtieron a este proyecto en el Iron Man de mis creaciones. Y así quedaron:
Modelo a escala en papel, para la construcción de la caja metálica
En plena producción..se nota que es mi taller, no?
Pero siempre las buenas rachas tienen la costumbre de echarse a perder cuando mas las estas disfrutando. Luego de recopilar algunos gigabytes de datos en fotos y videos un error inexplicable en la tarjeta de memoria de mi cámara hizo que todo eso se perdiera, tras varios intentos de recuperación lo único que se salvó fue la foto que mostré anteriormente justamente porque mi pareja la guardó en su computadora. Me hubiera gustado poner la prueba que hice a los 3 módulos en simultáneo en mi laptop. Funcionaron perfectamente y en la empresa los recibieron con honores (hasta el gerente general vino a verlos, aun recuerdo cuando dijo "la innovación nace en las mesas chicas y sucias y luego recién se va a los laboratorios"...chale...de donde conocía mi taller el señor??) y bueno, finalmente la cuestión para la empresa finalizó en esa parte. Cuando me permitan volver a tomarles fotos para cuando toque su mantenimiento preventivo, veré de retratar a mis queridos ogritos.

Pasaron unos días, pude descansar un poco después de la agitación que me llevó preparar los módulos y luego del buen descanso me senté en la computadora y a terminar el  formato de mi proyecto para presentarlo en la escuela y acabar con este asunto de una buena vez...cuando me di cuenta de un problema muy muy feo: no tenía las fotos del módulo metálico ya que se habían borrado!. Me quería ahorcar en ese rato usando el cable del mouse, pero bueno, luego de escuchar a Tin Tan haciendo la voz del oso Balú en el libro de la selva me di cuenta que no iba a lograr nada haciendo eso (salvo quedarme sin mouse, el cable es tan delgadito que no me sirve ni para pulsera) recuperé la compostura y bueno, solo me quedaban dos opciones: O le sigo tomando fotos al borrador o mejor hago otro nuevo y le hacemos fotos a ese bandido?... así que bueno, luego de exprimir mi ya mermado presupuesto logré hacer otro nuevo. Este módulo contaba con las características del anterior, pero una muy jugosa y recién estrenada cualidad, la cual vendrá en la tercera parte. Por ahora pongo una foto de como quedo este pequeño...jejeje
Finalizado y trabajando, quedó bonito el bandido (la mejora de este modelo esta atrás)
(Nota mental: si ya tengo el módulo, y ya tengo mi balanza...sería mala idea ponerlo en mi cocina???)

Después de no se cuánto tiempo...(mi proyecto de grado, parte 1)

Bueno bueno...hoy mas relajado y tranquilo con respecto a mi situación (mentira, estoy menos estresado en realidad...pero hay que ver el vaso medio lleno en vez de medio vacío) escribo de algo que me ha estado consumiendo la cabeza por estos últimos meses salpicados de travesuras: mi proyecto de grado. Ya ayer fue presentado en la institución donde estudié y bueno, luego de todos los meses de arduo derrame cerebral finalmente el hijo esta listo para ser presentado en sociedad, aunque ya habían varios que lo conocían.
La historia de mi ogrito tecnológico comenzó ya hace algún tiempo. La necesidad de buscar ideas viables e implementables con orientación industrial dió un giro inesperado cuando en una empresa solicitaron una idea para automatizar el pesaje de las balanzas. De hecho la idea no era nueva, un indicador como el Mettler Toledo LynxBatch hacía el trabajo, pero su mayor desventaja era su costo, y si a eso le sumamos la antigüedad del equipo tenemos un dinosaurio en boga...fuerte, robusto, pero destinado a la extinción. Con decir que el software de control corre en DOS ya tengo mucho y la computadora con la que trabajaba parecía ser descendiente directo de mi 386. Un par de fotos de este asunto para echar una idea de lo que se viene.
Mettler Toledo Lynxbatch

Software de control
En fin, la idea era mejorarlo a fondo. A esto se podría decir "y porque no ejecutas el software desde el símbolo de sistema y cambias la computadora?" (de hecho mi conciencia me lo dijo) pero la cosa era darle mas mejoras (y mi conciencia dijo "Mas potencia!!" como cuando Tim Allen gruñía en "Mejorando la casa") y bueno, a falta de ideas propias los encargados de reemplazar el equipo me dieron una lluvia entera de ellas. Ciertamente no se puede decir "si" a todo así que primero debía evaluar el asunto. Pero claro, una buena dotación de horas frente a la computadora hacen milagros cuando de PICs se trata y la automatización era posible... pero dicho esto: a que automatización me refiero? pues básicamente el proceso de pesado depende de esa balanza que puse al comienzo, la pantalla indica al operario que insumo debe pesar y cuanto, ademas que le va indicando cuanto de ese producto le falta en comparación con el peso que hay en la plataforma y cuando llega a cero se va por el siguiente elemento...fácil, verdad. Bueno, si había que mejorarlo, había que hacerlo con estilo.

Primer paso: La balanza: Dado que en la empresa ya tienen balanzas adecuadas para la mejora (CAS IE-116, como el que aparece en otro post) no iba a ponerme a diseñar una nueva balanza pudiendo aprovechar esas (aunque para ser sinceros, ya construí la mía, funciona bastante bien y ya otro día la publicaré). La característica de salida de datos iba a ser suficiente para añadirle este proyecto. Además es un equipo robusto, confiable y bonito...ademas de mas actual y fácil de encontrar en el mercado.

Segundo paso: El software: La desventaja de correr en DOS permanentemente hacía inviable que la computadora se utilizara para otra labor diferente de estar en comunicación permanente con el equipo. Bueno, ahi es donde entra el Visual Basic, aunque la vi medio compleja al comienzo (en la empresa usan bases de datos SQL basadas en FoxPro) el nuevo software debía superar otra limitación: Los datos se ingresan manualmente. Bueno, si había que automatizar el asunto, pues debía integrarse directamente a esas bases de datos. Al trabajar en windows el programa podría ejecutarse minimizado y así lograr utilizar la computadora para otra labor, ahorrándose la computadora que estaba permanentemente encendida antes.

Tercer paso: Las conexiones: Estas balanzas utilizan comunicación por RS232 y esa es otra variable para mejorar dado que las computadoras actuales no tienen este tipo de puertos. Afortunadamente, adaptadores USB-RS232 me sacaron de apuros ya desde tiempo atrás. Implementar un puerto USB directo no era viable dadas las distancias que existirían entre el módulo y la computadora, de hasta 10 metros. Ademas que me permitiría conectar mas de estos módulos a una sola computadora sin añadir muchas cosas.

Cuarto paso: Facilidades de uso: Nadie me supo explicar para que servían los botones de la Lynxbatch mas que nada porque no los utilizaban. Ya luego viendo el manual vi que era un equipo bastante completo incluso con capacidades de llenado y otras cosas mas (para cosas como esas fue que dejé los pines libres). Para la labor desempeñada no se requería de tanta cosa sin embargo internamente este proyecto es expandible dado que aun tengo memoria disponible en el microcontrolador y algunos pines dejados libres a fin de mejorarla posteriormente. Una pantalla con mas capacidad de texto y LEDs indicadores del peso hacían que mi ogrito sea mas como Shrek (osea, puede que sea feo al comienzo pero la idea es que te vaya cayendo mejor a medida que lo conoces).

Hasta ahi el asunto pintaba bonito, se iba a mejorar mucho y de hecho me daba la posibilidad de mi proyecto de grado al fin...pero había algo que faltaba: hacerlo. Bueno, un tiempo después presenté este video.


Como se ve, es un borrador hecho en una simpática cajita de plástico bastante resistente (doy fe de eso, se me cayó de la mesa varias veces y no se hizo gran cosa) y las mejoras eran satisfactorias para los requerimientos que se habían realizado. Agradó a todos pero luego salieron una serie de proposiciones (no indecentes por suerte...ademas que todos eran hombres) y bueno, surgió una que fue la que me daría el apelativo honoris causa de "loco" en la empresa donde fue implementado...pero ya esa parte la explicaré en la segunda parte del post, ademas que se corrigieron varios errores de este borrador y lejos de las pérdidas y tragedias que hubieron en su construcción llegó a buen puerto el asunto este...jejeje

Como dijo Brozo: "si tienen tele, pos ahi se ven"

martes, 1 de noviembre de 2011

Mostrando ideas

Bueno, ya ha pasado algo de tiempo desde el ultimo post. Hoy aquí en Perusalén se celebra el dia de todos los santos, y tambien de los difuntos. Desde ya mis respetos para todos aquellos que un dia caminaron por este terrenal mundo y que ahora flotan en nuestros recuerdos para acompañarnos en nuestras buenas acciones...o jalarnos los pies si nos portamos mal. En fin, ya es el karma de cada quien.

Hoy hablaré de lo ultimo que he estado recuperando para darle algo de sentido a mi ya electrónica vida, aunque esta vez con fines algo comerciales.Resulta que esta idea no es nueva, de hecho nació cuando un amigo me dejó un panel de estos acá en la casa para reutilizar los LEDs. Meses despues los LEDs literalmente invadieron Lima en los semáforos, autobuses y tiendas. Así que no perdía mucho al intentar subirme a la ola y a ver si la surfeada me traia algo. Tras escarbar en el almacén la encontré, algo oxidada pero reparable, así que le eche manos a la obra y aparte de completarla (me la dieron sin integrados, así que tuve que estudiarla para ver que se le podía poner, sin mencionar que había que reprogramarla desde cero) me di cuenta que podría funcionar. Le puse los LED faltantes y la bandida ya estaba funcionando. Aca la muestra.




Ya hasta ese momento estaba contento, viendo como mostraba las palabras una y otra según la iba programando. Pero tenia muchas carencias, en especial de puertos. Tras conseguirle nuevos LEDs finalmente el panel tenía otra posibilidad. Pero su diseño era muy caro para lo que me ofrecía y finalmente quedó relegado a ser uno de los que "pudo ser", Termine vendiendo muchas de sus piezas para recuperar algo de lo invertido en el. acá la muestra de como quedó finalmente.

(Moncho, aun tengo tu tarjeta, puedes venir por ella cuando gustes...si no vienes la reciclaré...jejeje)


Pasaron muchos meses (y muchos proyectos tambien) hasta que un día alguien me preguntó ¿y sabes hacer de esos paneles que se ven en la calle? bueno, pues recordé el viejo panel que había hecho, pero se desanimó un poco cuando le dije cuanto podría costarle el que había reparado. Así que me puse a trabajar en estos dias en eso y finalmente logré hacerme un panel mas eficiente, con menos componentes, mas delgado y mas a mi gusto (sin mencionar que mucho mas barato, así que ya puede ser comercializable). Le agregué un RTC para la fecha y hora, un sensor de temperatura, un puerto serie para comunicación a PC o balanza (o cualquier cosa que tenga puerto serie) un puerto PS/2 para programarlo sin PC y aun asi me quedan 3 pines y casi la cuarta parte de memoria del PIC (16F876A) libres para cualquier cosa que se me ocurra ponerle. En fin, al menos este bandido ya esta dando sus primeros pasos en este mundo cruel...jejeje