ElSholo
Investigación del error
- Batería recargable de Litio-polimero
- 3800 mAh
- 11.1v
- 3S1P (3 celdas conectadas en serie)
- 30 C
El encargado de suplir la línea de 3.3 V era el BBB. Dado que se encontró un daño en la línea de tierra que estaba junto a la línea de 3.3 V concluimos que lo que ocurrió fue un cortocircuito entre GND y 3.3V generándose una corriente muy grande capaz de fundir el protoboard y por obviamente quemar al BBB. El daño en el BBB fue muy grande ya que ni siquiera la tarjeta SD que contenía el software sobrevivió. Las razones del cortocircuito aun las desconocemos. La única hipótesis que tenemos al respecto, es que los cables que iban desde la línea de 3.3V y GND del BBB hacia el protoboard hayan hecho contacto. Por la actividad que había tenido el robot es un evento muy improbable, pero hasta ahora es la única hipótesis que tenemos.
Posibles causas del error... Reportar los fallos es importante
Teníamos dos opciones, remplazar la BBB con otra tarjeta como por ejemplo una Raspberry pi o investigar a fondo cual fue el error que llevó a que la tarjeta se quemara. Aunque la primera esta más de acorde a los objetivos del proyecto optamos por la segunda ya que considerando que los objetivos del proyecto estaban casi cumplidos, remplezar la BBB simplemente sería replicar lo que ya hicimos, al contrario investigando el error podríamos adquirir muchos más conocimientos. Lo primero que hicimos fue recopilar una serie de testimonios de gente que se le había quemado una BBB esperando encontrar un testimonio similar al nuestro. A continuación una lista de eventos que llevo a que personas quemara su BBB: 1. Alimentar la tarjeta con un voltaje mayor a 12 volts mediante el puerto USB 2. Cortocircuito entre una de las líneas de voltaje (5V o 3.3V) y tierra o entre un pin que está proporcionando un PWM y tierra. 3. Conectar un pin a un voltaje mayor a 3.3 V Lastimosamente no encontramos un testimonio similar al nuestro. Quizás a otra persona si le haya pasado lo mismo que a nosotros pero sin documentarlo ni publicarlo en la red es como si nada hubiese pasado. Consideramos que hacer conocer al mundo los errores y fallos que ocurren en este tipo de circuitos es importante para ampliar los conocimientos y llegar a conclusiones más científicas del porqué de las cosas, no simplemente quedarse en que ya no funciona sino que preguntarse porqué ya no funciona. La razón por la que se dañó la tarjeta pudo haber sido un error tanto del usuario como del fabricante, y al reportar los daños estamos colorando para que en las próximas generaciones de este tipo de tarjetas se corrijan posibles errores o se tenga un sistema más robusto para situaciones que puedan dañar el circuito. En varios de los blogs que leímos, sugerían como solución tratar de encontrar la parte de la tarjeta que sufrió los daños con el objetivo de remplazarla. Por ejemplo, un caso mencionaba remplazar el circuito encargado de la parte de potencia de la tarjeta, es decir remplazar aquel circuito que proporciona las líneas de tensión de 5 y 3.3 V. Los comentarios frente a esta solución mencionaban que era muy costosa y que no aseguraba que la tarjeta funcionaría de nuevo. A parte si comparamos el precio de la solución con una nueva BBB, consideramos que es mucho mejor comprar otra BBB. Otro aspecto importante que encontramos en los blogs es que la BBB cuenta con poca protección frente a errores del usuario en comparación de un Arduino o una Raspberry pi, lo cual lo convierte en un sistema poco robusto.
Un fallo inesperado...la BBB se quemó
Desafortunadamente cuando estábamos a punto de concluir el proyecto, el cerebro del robot, la BBB, se quemó. La situación en la que sucedió este error es muy extraña. Horas antes de detectar el error, se había estado trabajando en la tarjeta en el desarrollo de un código en php que nos servía para ejecutar un programa desarrollado en C++ a través de una página web, es decir la BBB jugaba un rol de servidor web . Los resultados obtenidos con el programa en php habían sido exitosos. Terminado la configuración de la tarjeta como servidor web se ejecutó el comando de apagar (sudo shutdown –h now) desde putty. Aproximadamente 9 horas después decidimos hacer las últimas pruebas con el robot para asegurarnos de que todo estaba marchando bien. Sorpresivamente, el led del convertidor de corriente directa, el mismo que indica si el sistema está encendido o apagado, se encontraba encendido, indicando que el sistema estaba en el mismo estado. La BBB se encontraba apagada. La única forma de que se llegue a este estado es cuando se apaga la BBB mediante línea de comandos y no se presiona el switch del convertidor para apagar el sistema. Supusimos que por descuido dejamos el sistema encendido, situación que simplemente podría descargar la pila una mínima cantidad ya que aunque el sistema está encendido, los componentes que consumen corriente considerablemente se encontraban inactivos. Apagamos el switch y lo volvimos a prender y sorpresivamente la BBB ya no encendía. Probamos la tarjeta por separado y no deba señales de vida. Después de breve investigación y por razones obvias concluimos que la tarjeta se había quemado. Tratamos de conseguir un remplazo para la tarjeta, pero fue imposible, ya que ninguna tienda de la ciudad contaba con la BBB y solo se podía conseguir una mediante pedido, el mismo que tardaría en llegar aproximadamente una semana.
Configuración de la BeagleBone Black
En un principio se había considerado trabajar con Ubuntu ya que es la distribución de Linux más usada, pero dado los problemas de conexion al internet con la antena de wifi(USB Wifi Adapter UWN200) decidimos utilizar Debian, ya que existe más información acerca de esta imagen y BBB. Al usar Debian todos los problemas de conectividad a Internet fueron resueltos. Para configurar la BBB se llevaron a cabo los pasos detallados en siguiente link: presione aquí.En la sección Update board with latest software se sugieren varias imagenes; para este proyecto se utilizó la siguiente: Debian (BeagleBone, BeagleBone Black - 4GB SD) 2015-03-01.
Montaje de los motores y las ruedas.
Una vez construído el chasis procedimos a montar las ruedas y los motores. Los siguientes componentes fueron empleados:
| Cantidad | Componente | Costo unitario ($US) |
|---|---|---|
| 2 | 50:1 Metal Gearmotor 37Dx54L mm with 64 CPR Encoder | 40 |
| 1 | Pololu Stamped Aluminum L-Bracket Pair for 37D mm Metal Gearmotors | 8 |
| 1 | Pololu Ball Caster with 1" Plastic Ball | 5 |
| 1 | Wheel with 100mm diameter for EMG30 motor | 16 |
La siguiente imagen muestra el lugar donde fueron colocada las ruedas y los motores.
Para el montaje del soporte de los motores(L - Brackets) y de la rueda loca(Caster Ball) se necesitan tornillos y tuercas, los cuales vienen incluídos en su compra. Desfortudamente los tornillos del soporte de los motores son muy cortos por lo tanto se necesitan comprar 12 tornillos y 12 tuercas extras, los cuales pueden ser conseguidos en una ferretaria por aproximadamente un dolar (El largo de los tornillos debe ser aproximadamente 2 cm). Además se requiere un taladro con sus respectivas brocas para hacer hoyos en el lugar donde serán colocados los componentes. El orden en el que se sugiere montar los componentes es el siguiente: Soporto de los motores, motores, rueda de 100 mm de diametro, rueda loca. Las rueda de 100 mm de diametro viene con los elementos necesarios para ajustarla a los ejes de los motores. Antes de montar la rueda loca, se hizo un pequeño hoyo en el lugar donde iba a ser colocada con el proposito de nivelarla con las otras ruedas. En la siguientes imagenes se muestra el trabajo realizado:
Elaboración del chasis
El primer paso en la construccion del robot fue el diseño del chasis. Existen varios materiales que se pueden utilizar, como por ejemplo policarbonato, acrilico, Mdf, triplay, etc. Los precios encontrados en el mercado de los materiales mencionados se encuentran en la siguiente tabla:
| Material | Costo ($MXN) | Dimensiones |
|---|---|---|
| Policarbonato | 73 | 8 x 10" |
| Acrilico | 42 | 11" x 14" |
| MDF | 205 | 2.44m x 1.22m x 6mm |
| Triplay | 139 | 0.61m x 1.22m x 9mm |
Considerando la rigidez del material, sus dimensiones, su precio y la facilidad para manipularlo (cortarlo, unirlo con otras piezas, etc.) el material que escogimos fue el triplay. La siguiente imagen muestra el diseño del chasis y sus dimensiones correspondientes.
Para realizar el chasis primero cortamos una circunferencia de radio de 16 cm y posteriormente realizamoslos demás cortes. Para esto utilizamos una sierra normal y una lija, lo cual no consideramos práctico ya que es muy tardado en comparacion a utilizar una herramienta especializada para cortes circulares.