jueves, 10 de enero de 2013

It is aliveeee! (Montaje Enero 04-05/13)

Dead line

Después de contar con casi 20 días de vacaciones, el día 03 de Enero me llamó el gerente del contrato, que requerían mis servicios debido a una emergencia presentada; debía estar el día 08 en la mina, así que me apresure a retomar el proyecto Arduino, no iba volver al trabajo sin ver mi carro RC andando!

Comencé probando el mando RF y un motor eléctrico, que me representaba el de avance del carro





ya que el tiempo apremiaba +Jair Navaja Galindo me sugirió montar el servo que me llegó de china, y pues me pareció lógico, aunque eso me generaba otro conflicto (que ya sabía de antemano), ya  que la librería usada para la comunicación vía RF link no se llevaba con la super librería servo de Arduino, debido a que utilizan el mismo timer.

Al final decidí cambiar un problema por otro y accedí a montar el servo en la dirección, cosa que quedo a cargo de Jir, ya que obviamente ahorraría tiempo, pues la realización del servo casero, se complicó por cierto problemas mecánicos con el servo, entre los cuales estaba el que se giró el potencio metro del feedback.





Realice pruebas manuales con el servo y un potenciometro para saber los ángulos de trabajo para la posición central y para los giros a izquierda o derecha, esto lo hice con el ejemplo de la servo library, modificado para que diera la lectura del ángulo por el puerto serial.


Ahora quedaba el chicharrón de la compatibilidad entre las librerías virtualwire y la de servo, en muchos foros recomendaban la servotimer2, y la encontré pero la última actualización era de mucho tiempo anterior a la salida del IDE 1.0 de Arduino así que ya no compilaba, trate de actualizar la librería con tips también sacados de la Web y no tuve éxito.

Al fin cuando ya desesperaba encontré este foro en adafruit donde daban un link para descarga con una librería que si compilaba para los actuales IDE http://forums.adafruit.com/viewtopic.php?f=31&t=25372&sid=56b4d3eb042810ef0939b63274b7f592&start=30; la descargue y compilo el ejemplo sin problemas; Así que realice las modificaciones correspondientes al sketch del receptor (el que controla el carro)

Esta librería tiene un detalle es el que la posición del servo no se especifica en ángulos como en la servo library, si no en milisegundos (PWM) encontré una conversión, pero estaba lejos de ser exacta...al final hice los ajustes manuales.

Nos dieron las 12:00 a.m. realizando las pruebas de campo en la sala de mi casa. todo estaba funcionando, solo restaba cambiar uno de los stick, que era de segunda, el cual se estaba pegando (el que controla el sentido: avanzar o retroceder)

Ley de Murphy


Al día siguiente cuando me preparo para los ajustes y la toma del vídeo  paso lo impensable el perfduino del control sacó la mano, el funcionamiento fue intermitente  probé el atmega en la placa del Uno R3 y funciona, se revisaron las conexiones, se rehicieron puentes y nada..se hizo nuevamente y tampoco. al fin desistí. Intuyo que el cristal paso a mejor vida (ya había tenido una falla similar  en el perfduino 1) además solicite un nuevo Arduino uno R3 para irme seguro.

Quedo debiendo el vídeo y los sketchs, tanto del Receptor como del emisor...escribo estás líneas desde la mina (aprovechando mi descanso).  apenas regrese a casa realizare los ajustes y montare un video de navegación y verificare el alcance de los RF links.

1 comentario:

  1. Can you send me the code please? I am working on a project with this kind of application, but I do not have the experience for Arduino, nor the time right now, so the fastest way for now will be to learn from an already written code. tudor7033@yahoo.co.uk, thank you.

    ResponderEliminar