sábado, abril 22, 2006

Concurso en categoría seguidor de líneas.


Mis compañeros no han venido muy seguido y no hemos avanzado lo que sería conveniente, pero al fin y al cabo hemos avanzado...

Se trata de un concurso en Guanajuato en el que queremos participar. Entraremos en la competencia del seguidor de líneas. Es un carrito autónomo que tiene que seguir por una carretera sin salirse mediante sensores y todo eso. El carrito que complete el circuito (5 vueltas) en menor tiempo (y sin salirse) gana.

El sábado antes de semana santa nos organizamos y fuimos a México los integrantes del equipo que mas al pendiente del proyecto hemos estado. Allí conseguimos los pares ópticos para sensar la "carretera" (cny70) en una tienda de mayoreo. Resulta que preguntamos en un localito y nos los querían dar a $35, y en la tienda costaron $12. También compramos puentes H (L293) e incluso encontramos el controlador para motor a pasos (L297). Ese día gastamos mas de mil pesos en componentes y partes.

El primer día de trabajo nos reunimos todos y comenzamos a trabajar en el piso de mi cuarto... como era de esperarse, éramos demasiados en muy poco espacio y con "poco" qué hacer.

Los desacuerdos en el diseño surgieron a las pocas horas e intentamos hacer un reductor de velocidad para unos motores que habíamos comprado especialmente para la ocasión.
Este reductor nos tomó toda la tarde hacerlo.





Área de trabajo de desbaste.
Resulta que como el día anterior estuvimos trabajando en el piso, ocupamos casi toda la extensión de mi cuarto y de plano ni pude dormir en él, así que me apropié de las mesas del comedor y sala para implementar áreas de trabajo mas productivas y eficientes.
Claro que entre mas horas de trabajo pasaban mas desordenado quedaba todo.


El diseño de la dirección es un mecanismo de barras paralelas. Usamos plastiloka para la dos de ellas y madera para las otras 2.

Estas piezas serán perforadas y llevarán clavos para funcionar como pivotes, y básicamente serán los bujes que mantendrán las llantas delanteras en su posición.



En esta foto se puede distinguir el mecanismo que controlará la dirección, la fuente de energía y las herramientas para implementar los mecanismos. Los engranes los conseguimos en una tienda de reparación de fotocopiadoras. Fueron 5 o 6 piezas y nos los regalaron, pero nos son muy útiles por el tamaño y fuerza que pueden transmitir.



Aquí podemos ver la primera parte del mecanismo de dirección implementado e instalado. Posteriormente nos pusimos a ver el desarrollo de la transmisión.







Para que las llantas no se "abrieran" como las patas de un potrillo al nacer, adapto ese pedacito de madera para intentar mantener fijo el eje en donde estará la transmisión... pero me quedó chueco.





La solución parece ser mantener los 2 ejes fijos con el mismo madero, así que después de unos cálculos de longitud y luego de haber ido a la maderería tenemos lo que vemos aquí.






Especialmente para mostrar el funcionamiento de los mecanismos, tomé esta foto con acermiento. Se puede apreciar la primera parte de la transmisión, el mecanismo con el motor a pasos y el riel de un láser de grabadora y un abatelenguas montado para transmitir el movimiento hacia adelante. Ahora sólo falta fijar esa pieza para que funcione.



La última etapa hasta el día de hoy. Una abrazadera como las que se usan para sellar las mangeras de radiador de un carro mantiene al motor en su posición, pasando por un par de ranuras en el metal. Debajo de él, un par de taquetes de madera lo separan lo suficiente para que tenga espacio para funcionar. La distancia del "gran" engrane al metal es de menos de un milímetro y se puede calibrar aflojando la abrazadera y girando el motor.


Foto tomada de improviso, minutos antes de que recogiera las cosas para irse. Alejandro lleva horas trabajando en la parte electrónica, peleando con los pares ópticos y pasamos a usar leds ultrabrillo con fotoresistores y transistores.







Domingo 23 de abril del 2006 4 am


Por fin!
lo decodifiqué!
me costó casi 3 horas, pero lo logré.
Se trata del controlador de motor a pasos.
Ahora falta conectarlo al pte H para que pueda manejar la demanda de corriente del motorcillo.
Dentro de un rato, probablemente antes del amanecer estará funcionando el mecanismo de la dirección!


5:45 am
Por fín, una secuencia de fotos mostrando el resultado de 4 horas de trabajo.
Atención visitante no observador: mira el segundero del reloj.

































































3 PM

Habiéndo visto muchos diseños diferentes, me da la impresión de que el diseño de nuestro carro en lo que respecta a tamaño está excedido en prestaciones... así q estoy pensando en la conveniencia de usar un juguete pequeño como éste para sustituír la parte mecánica

28 de abril 13:36
Algunas fotos del trabajo del grupo.












14:43



29 de abril, 19:07
El avance del día de hoy:
Se instaló el pic en el protoboard con sus respectivos aditamentos: cristal, capacitores, leds para verificar salidas y botones para emular los sensores.
En la foto podemos apreciar: en el protoboard de izquierda a derecha: el pic y compañía, el pte H L298, el controlador de motor a pasos L297 y por último el pte H L293 (de menor potencia); también aparecen el agraciado motor a pasos y mi celular (sólo para dar idea de proporciones).

El asunto es como sigue: El microcontrolador que estamos usando, el pic16f84a, enciende la patita 8 (que corresponde al bit 2 del puerto b) para activar el puente H que se encargará de energizar el motor de la transmisión, posteriormente, de acuerdo con las entradas que vaya 7recibiendo de los sensores (los botones blancos por el momento) activará la pata 7 (que corresponde al bit 1 del puerto b) para mandar los pulsos al controlador L297 y que el motor vaya girando y simultáneamente activará o desactivará la patita 6 (que corresponde con el bit 0 del puerto b) para indicar al controlador la dirección en que se desea el giro.

El diseño actual requiere que el motor a pasos gire en sentido antihorario (como si se comparase con el giro de las manecillas de un reloj) para virar hacia la izquierda y en sentido horario para girar a la derecha.

Contratiempos del día de hoy:
  • Tenemos la falta casi absoluta de material, casi caímos en el caso del soldado que va a la guerra sin fusil: no teníamos repuestos y nos faltaba material escencial como leds, protoboard extras, pic de repuesto, sensores de repuesto, multímetro, etc.
  • Los sensores pasaron a mejor vida y hubo que implementar en su lugar los botones.
  • Al llegar de la tienda en una auténtica odisea buscando un mosfet de matrícula mc3055 (que por cierto no hubo) saqué felizmente los capacitores para comenzar a ensamblar el circuito y perdí uno de los dos capacitores que se aterrizan en el cristal, quedando capacitivamente desbalanceado el circuito al usar un repuesto distinto.
  • Al finalizar el ensamblaje el circuito no funcionaba como era esperado.
    1. El pic permanecía como en un estado de "Stand By" hasta que tocara la patita del capacitor que se conecta al cristal en la patita 16.
    2. Al activar el sensor izquierdo respondía correctamente girando el motor en contrahorario, pero sólo por aproximadamente una vuelta, y posteriormente la señal de giro (activada para giro antihorario) se apagaba comenzando a girar en dirección no deseada.
    3. El giro en sentido horario simplemente no funcionó.
    4. Al activar 2 sensores simultáneamente (izquierda y centro/derecha y centro) no giraba hacia ningun lado.
    5. Funcionamiento sospechoso.
  • Aparentemente el pic sufrió una descarga electrostática que lo dejó en condiciones fuera de nuestro alcance (en pocas palabras se quemó) pues no funcionaba con un programa de luces secuenciales muy sencillo.
  • Al recojer todo para retirarnos de las instalaciones de nuestra institución educativa apareció el capacitor perdido dentro de mi zapato.
A futuro:
  • El diseño incluirá una variable en el programa del pic restringir el # de pasos que se le manda al motor girar, para evitar "forzar" la dirección al ésta llegar al límite. Aún no sabemos cuántos pasos tiene la dirección del centro a los extremos ni de extremo a extremo.
  • Sería conveniente manejar 5 sensores en lugar de 3 para aprovechar la resolución de giro que el controlador del motor a pasos (L297) permite. Así, en caso de ser detectada la línea en uno de los sensores externos podría encender el bit3 del puerto b en el pic y mandarlo al controlador para activar la función "Full Step" y que el ciclo se cumpla en 4 pasos en lugar de 8. Por supuesto, habría que implementar el asunto de que como ahora cada paso vale por dos, llegaría al límite de la dirección en la mitad de pulsos y se tendría que aplicar en el contador aún pendiente.
  • De manera utópica, se podría programar el pic para manejar la velocidad del motor de la transmisión de manera proporcional a la curva: si la curva es muy cerrada, que el motor no gire muy rápido, si la curva afloja que acelere, si la curva ya terminó y va en recta que vaya a todo vapor. Podría implementarse con un decodificador a la salida del puerto B y resistencias y/o transistores de diferentes valores para cargar a diferentes velocidades el capacitor del circuito 555 que propiamente daría el PWM. La salida del 555 se mandaría al puente H para la conmutación correspondiente.
30 de abril 13:30
Otras fotos grupales




Fotos del sumo de Rodrigo y cía.






Mario mostrando una tarjeta para controlar motores.

Oscar fabricando sus engranes.
Es bueno trabajar con una sonrisa!


El seguidor de líneas de Marco, Hugo y cía.

Irel y Katanna, encargándose de la pista con la que probaremos los carros.

Un sensor de presencia infrarrojo.

Marco en la calibración de la distancia de sus sensores.


Rodrigo probando la programación de su pic.

Marco con los sensores entre las manos.

Ahora probando su circuito.
18:50



1º de mayo, 21:42
Ya medio funciona, tanto mecánica como electrónicamente
El pic no está muerto, pero el problema radica en q con vuelta a la derecha se apaga la tracción y
con a la izq no. también hay uno q otro detalle sospechoso, pero parece no ser problema.
Tendríamos q implementar lo del # de pasos, digamos 20 a la izq y 20 a
la der y claro, hacer y deshacer. El cny derecho está quemado, y x lo demas todo ya funciona.


23:03
Fotos de la sesión de hoy:

En la siguiente foto aparece el pic en el rincón de la derecha y los sensores cny70 con sus transistores de amplificación 548. El sensor que sería el de hasta abajo (en el plástico gris) está quemado en el fototransistor. Las resistencia se calienta un montón y no funciona correctamente. Aparentemente un transistor está dañado.


Nuevamente una foto similar pero en la que aparece el diagrama de conecciones para ir rectificando qué es lo que pasa. Ya salió que el transistor no es pues al intercambiarlo con los otros el resultado es el mismo y al intercambiar cables, siempre el negro es el q no prende.

Apareció el error finalmente. Resulta que anteriormente se conectaban todos los dispositivos mediante una sola resistencia y eso arruinaba el efecto de consumo total del aparato, así que tuve que soltar resistencias independientes. Me tardé un par de horas en ésto por las distracciones constantes a la hora de intentar entender cómo carambas estaba el asunto. El azul es tierra, el verde corriente, los otros son las señales del sensor.
Una foto con todo instalado y funcionando. Las resistencias se siguen calentando un montón, pero por lo menos no se queman y el circuito ya funciona como debe ser.


Aquí estoy yo documentando el código del programa y aprendiendo el ensamblador del pic al mismo tiempo, ya que al explicar algo que desconoces terminas por absorber el conocimiento, aunque estoy lejos de ser un experto.

2:20 am (2 de mayo)





Estas sospechosas imágenes me impiden decidirme por cuál de la lista de grabadores disponibles inclinarme. Me metí a la página de solaris-digital para ver si decían cual seleccionar con su grabador pero los enlaces están rotos.

8:30 am
No he podido grabar el mentado pic. Seleccioné el JDM que parece ser el único compatible con la familia y en puerto en serie, pero x alguna razón no puede ni grabar ni acceder a los datos allí guardados, a pesar de que la luz indicadora diría lo contrario. Nunca obtuve algo diferente del "blanco".

2 de Mayo 11pm
El día de hoy hubo un grán avance.
Luego de habérme dormido muy tarde y fallado en despertar todo lo temprano que quería, terminé por llegar a la escuela aproximadamente a las 10. Luego de buscar computadora para depurar el código resulta q sergio había dejado la suya y pude aprovechar todo el potencial de la pentium que és.



Luego pasaron las horas e incluso mi compañero Marco Antonio Arellano (el de azul con rojo en la fotografía jejeje) me apoyó muchísimo en la cuestión de la sintaxis y la programación pues ya tiene un poco mas de experiencia. Salió allí la 7ª versión del programa (en la q el primero ni siguiera estaba comentado) en la que se corregían asuntos como variables jamás inicializadas, errores de lógica, excepciones de manejo de isntrucciones, etc.



No somos el único equipo intentando terminar (muy a la mexicana) justo antes de la fecha límite, y aquí pongo unas fotos de compañeros de otros 2 o 3 equipos en acción.

















Por último, aproximadamente a las 9 de la noche, luego de un par de horas de esfuerzo exclusivo, Alex logró depurar los pequeños errores de diseño y rediseño que tenía el programa, obteniendo así la 8ª versión del programa que ahora sí es funcional y cumple con las necesidades originales. Aquí está su cara de festejo.



5 de mayo, 11 pm
Luego de muchísimas horas de trabajo y desvelo, nos fuimos al concurso en Querétaro. Aquí están algunas fotos (pues no las tengo todas).

7 de mayo 17:24

Debido a que aún cuando el concurso ya ha pasado no nos hemos rendido, justo ahora acabo de terminar el adaptador para la batería que probablemente usemos. Se trata de una batería recargable de litio del celular Motorola t120 (el q se puede hackear con menú 073887*) y como ya mayoría de las baterías de celular, tiene unos contactos de laminita. La adaptación consistió en usar un pedacito de plástico (no se a qué pieza pertenecía), cortarle los sobrantes y poner un par de clavos para convertirlos en las terminales.

22:41
Luevo de cortar el eje del motor a pasos (y arrepentirme en el proceso) y tardarme muchísimo (acero) pasaron algunas horas sin que supiera yo cómo es q iba a manejar el peso sin forzar el motor. La inspiración vino en mi ayuda y obtuve la respuesta pronto: mediante un engrane sinfin que mueva el engrane conectado al eje vertical de la llanta. aquí en la foto pongo los 3 candidatos.