lunes, 1 de octubre de 2012

Progreso días 20 - 23/Sep (Perfduino) - Parte 1 de 2

Para estos días recibí mi pedido de sparkfun.com  (Servo motor, módulos RF, accesorios varios) y otro de una tienda nacional microcontroladores.com (Atmega328-PU, kit de condensadores y resistencias)


Expectativas:

  • Probar módulos RF link
    • Ensamblar otro Arduino (stripduino ó perfduino, clones)
    • Aprender sobre la libreria virtualwire (leí que era perfecta para estos módulos)
    • Realizar pruebas de conectividad y alcance.
  • Probar servo motor
    • Implementar la libreria Servo incluida en Arduino.
    • Desarrollar el código para interactuar con el joystick. 
    • Armar sistema de dirección sobre el sujeto de pruebas.
  • Realizar montaje preliminar
  • Realizar pruebas en el sujeto de manera alámbrica inicialmente.

 Al llegar a casa, aparte del recibimiento de mis amores, me encontré con 2 paqueticos! con las provisiones para el fincho!



  1.  Al investigar y encontrar en la red el uso de los módulos de radio frecuencia (A.M.) ví que los trabajaban con unos integrados (codificador y decodificador) los HT12E y HT12D los cuales tambien adquirí, pero que más tarde encontre que transmiten 1 ó 0 en palabras claras, como de pronto me quedarñia corto a la hora de mandar información, encontre sobre el uso de la librería virtualwire (la cual es la hora y no he probado, ya les diré x q) pero para esto necesito otro Arduino, y claro como no pensaba invertir en otro más (sale acá como en unos 40 US$) y podía esperar otras 2 semanas, decidí emprender el viaje hacia la fabricación de mi propio Arduino (de hecho eso estaba contemplado, para la versión final del sistema) y ahí vamos.
    • Teniendo como guía los esquemas que se encuentran en la red y la guía de este blog: http://txapuzas.blogspot.com/2010/07/paperduino-perfboard.html y con la ayuda de mi mejor amigo, se inició la fabricación, aunque en la página citada se puede descargar un imprimible para usar de patrón sobre el cual ubicar los diferentes componentes, yo opté por variarlo, ya que no necesitaba algunas conexiones incluidas y quería una versión más pequeña. El método de conexión al PC es por medio de un cable FTDI cuyas instrucciones sacamos del anterior blog y que se construye con base al cable BKU- 5 de Nokia, aunque yo encontré el cable DKU-50 y lo adaptamos de igual manera (esto lo desarrollaré en otro post)
    • Versión 1.0 Perfduino Maturana/Navaja


      Después de un largo día, ya noche y con unas cervezas encimas, lo logramos, aunque debo comentar que antes tuvimos varias trabas, entre ellas: al querer cargar el primer programa, el famoso blink, tuvimos el siguiente error:

       avrdude: stk500_getsync(): not in sync: resp=0xf0


      buscando en Internet y verificando, encontramos que el chip que había comprado no tenía el bootloader (configuración inicial del chip, para carga los programas y operar) probamos el método de carga usando mi Arduino uno y nos apareció otro error:

      Avrdude: usbdev_open() did not find any USB device "usb

      de ese la información fue difusa y al fin no aclaramos nada, cuando ya me iba de "a orillas del rio piedras me sente y lloré" se me ocurrió salir de dudas si el error era el chip* o si la c**amos en la fabricación, así que le desmonté el chip a mi Arduino uno y se lo monté al Perfduino, probamos con el cable hechizo la carga y gualá!!!! está blink blink!!


       
      Perfduino con sketch BLINK cargado


       también se cargó el ejemplo de manejo de servos y funcionó sin problemas..solo que me quedé con un solo arduino disponible.. :(
    • Al no poder contar con otro Arduino, se fue al piso el objetivo de realizar pruebas de funcionamiento de los módulos RF.

Aprendizaje:

  •  Comprobar inicialmente el bootloader del chip, si no lo tiene, utilizar el método de carga montando todo en protoboard.


sábado, 29 de septiembre de 2012

Progreso Sep 6 - 9


Este fue el primer fincho con Arduino y bueno, tenía las siguientes metas:


  1. Materializar lo estudiado de programación en Arduino. estructura de programas, uso de condicionales, creación y carga de sketches (programas) en el Arduino.
  2. Probar y practicar con el uso de los joysticks (sacados de controles de PS3, que Danielito pasó a mejor vida...3 hasta esta fecha... :'c)
  3. Montar y probar el circuito del puente H
  4. Probar el sistema de transmisión y recepción de datos con lso módulos RF de 315 Mhz.


 Resultados:

  1. Puse en práctica lo aprendido, mecanice la estructura y el uso de condicionales, de hecho conseguí buena literatura (de la mano de Morgan, en 4shared.com) dentro de esos libros destaco:
      • Beginning Arduino Programming
      • beginning arduino 2011
      • Make: bots and gadgets
      • arduino robotics 2011
    En estos libros encontré muy bueno ejemplos, desarrollados y explicados paso a paso, los cuales no desarrollé, debido a la falta de tiempo y de los elementos requeridos (transistores, sensores etc) pero que el estudiarlos te clarifica acerca del uso de la estructura y de las posibilidades del Arduino.




  2. Desmonté los stick de uno de los controles, para comenzar a trabajar algo que encontré es que estos traen 4 patas, después de probar con el tester escogí, algo curioso el rango no es muy amplio tiene una zona muerta en el centro donde al moverlo para alguno de los lados la señal varía muy poco de hecho y de repente sube ya al tope en uno de los extremos.
  3. El stick es como el de la foto, en este paso, con ayuda de la conexión puerto serial, encontré los valores mostrados al desplazar el stick y ya con estos valores y un pequeño circuito de 2 LEDs dí mis primeros pininos!






    con este esquema continuo, básicamente encendía un LED de acuerdo hacia adonde de movía el joystick (derecha o izquierda) en la mitad los dos LEDs deben quedar apagados. esto era para probar el envío de las dos señales que comandarían el IC L293D para control el motor.



    Dibujo realizado en fritzing - software open source.

  4. Realice el montaje según el esquema del IC L293D que trae 2 puentes H para controlar el sentido de 2 motores DC o un paso a paso, en mi caso un motor DC para ser comandado por el joystick aunque previamente lo probé con pulsadores:


para revisar: me gustaría usar el control de velocidad por medio de PWM (Pulse Width Module) que se aplica al pin Enable del correspondiente puente H

4. Este punto si fue perdida, no llegó mi pedido de sparkfun.com, los módulos RF link de 315 Mhz, un chip SN754410NE (equivalente al L293D pero soporta más amperaje) un servo pequeño y otros accesorios.

ya que no llegó el servo, trate de utilizar el motoreductor de un carro de control viejo (perteneció a mi hermano menor) cuya placa ya pasó a mejor vida y ya no existe el control; este tiene un potenciometro doble, hacia como de servo, y por eso intente leer la salida del potenciometro para ver si podía controlarlo, pero me fue imposible, no se por que razón se desconectaba el puerto serial...y al final desistí, a esperar el servo.

Hasta aquí se hizo en este descanso...creo que fue muy fructífero.

jueves, 27 de septiembre de 2012

Inicios del proyecto - Conceptos


Una vez con la idea o intención de manejar remotamente el carrito de Danielito, salieron varios aspectos del que y como.. del hacer...



1. CONTROL - PROGRAMACION

Aunque he tenido algo de experiencia en programación desde LOGO, BASIC y VISUAL BASIC, aparte de que siempre me ha gustado el cuento, no sabia nada de PICS de los que habia leido algo pero siempre me pareció dificil!

hasta que cacharreando encontró con Arduino!! la panacea para los amantes del bricolaje! que ya lleva un tiempo haciendo de las suyas pero del que yo desconocia siquiera su existencia a pesar de que un Colombiano desarrollo el lenguaje de programación. (si quieres saber más de arduino entrar a www.arduino.cc)

En fin despúes de ver vainas que pelaos hacían me dije esto es lo mío y muy pronto me vi averiguando donde conseguía esto en mi ciudad, Barranquilla, la cual esta atrasado en todo lo que tiene que ver con el Open Source, y es más o menos lo mismo en el resto del país..al final termine comprandolo en www.amazon.com y por lo que lo conseguía acá saque una buena proto board!








1.1 Programación: pese a que tuve en mis manos el ansiado Arduino 2 semanas después de comprarlo (llegó en una semana, por cuestiones laborales lo pude tenes 1 más tarde) adelante leyendo mucho sobre el tema, viendo ejemplos y bajando desde libros hasta tutoriales, de estos recomiendo:

  • Beginning Arduino Programming
  • make: arduino bots and gadgets
y a aprender el cuento, de mis 4 días de descanso (trabajo 10 x 4) destine casi 2 a realizar pruebas con botones, joystick, LEDs y un pequeño motor y un chip L293D (puente H) el resto a organizar la fiesta del primer añito de Danielito (que lío fue)






CONTROL DE DIRECCIÓN

Este es el gran dilema...no quiero alterar mucho el carro, ni quitarle espacio a mi hijo ni mucho menos tener un elemento mecánico en movimiento cerca a sus pies...


hasta ahora me decidí por un servo motor "pequeño" primero esperemos que llegue.. si llega, lo compré en ebay a los chinos :s y segundo que tenga el torque para mover el eje de las ruedas..


INVERSION DE GIRO DEL MOTOR DC.

Investigando encontré como, pese a que sabia que se realizaba invirtiendo la polaridad en la conexión es decir el polo + pasa a - y viceversa, la vaina era como hacerlo, ya cuando estaba apunto de diseñar algo con relays, los cuales ya había manejado antes encontré los chips L293D y SN754410NE los cuales tienen integrados 2 puentes.


En la práctica logre de acuerdo hacia donde se movía el joystick así mismo el motor iba en sentido horario o anti horario.


METODO DE COMUNICACION A DISTANCIA

En Spark fun conseguí unos emisores RF realemnte económicos, usan radio frecuencia A.M y cuestan los 2 (Emisor y receptor) 9 U$ los conseguia por acá en Colombia, pero no de veian con buen acabado..

Estos no los he probado, encontré que para utilizarlo con Arduino, se requieren 2 Arduino :'( lo bueno es q Arduino es Open Source y se pude hace fabricar versión DIY (Do It Yourself)


Estos posts están atrasados ya he adelantado algo más, trataré de ponerme al día esta semana....




sábado, 15 de septiembre de 2012

Primera entrada y porque de este blog...


proyecto personal poder adaptar el Power wheel de mi hijo a un control remoto..casero.

Mi primer hijo estaba próximo a cumplir su primer añito, como ya habia detectado que le gustaban los carritos (desde los que se ponen en los carritos de supermercado, centro de atracciones hasta mi propio auto..) así que decidí comprarle un carro eléctrico, claro, primero opte por uno tipo "picapiedras" ya saben esos andar con los pies; después de analizar costos y pro y contras opte uno eléctrico, importado directamente desde los USA un mater de la película car, 6V sin reversa.

 Pero ya que me gusta investigar lo que no conozco y más si el costo es considerable, googleando, dí con la página www.modifiedpowerwheels.com y descubrí toda una comunidad de padres gringos locos por hecharle mano a los carritos y tunearlos, de ahí saque la idea de poder controlarlo con un radio control, tengo conocimientos básicos de electrónica y electricidad por mi carrera (Mi background es de Ingeniero Mecánico) y por que me gusta la onda como bricolaje, DIY (Do It Yourself) me empecine a ver si lo podía realizar; ya no me recuerdo como dí con Arduino! y así empezó a coger forma la vaina!

El 20 de Agosto compré un Arduino Uno R3 y una protoboard por U$ 34.90 en www.amazon.com tardó una semana en llegar al país, el día 06 de Septiembre inicie con el proyecto, en entradas posteriores iré explicando mi avance. saludos.