Este es el momento del proyecto en el que por fin disponemos del diseño definitivo. A partir de ahora, la mayor parte del tiempo lo se dedicará al software de control. Aunque en las páginas anteriores vimos que ya existe conectividad NFC, Bluetooth, etc. en realidad, los servicios que habrán de estar disponibles para que el proyecto sea un éxito, están todavía en fase embrionaria.
En la imagen ya se ve como la pantalla táctil conecta correctamente con la placa en desarrollo. También se aprecia un módulo Bluetooth, una etiquete NFC, y un móvil Android, con una aplicación de ejemplo, funcionado.
En el vídeo se muestra que el sistmea modular ya está operativo, y que las funcionalidades básicas ya están en servicio. Ahora hay que construir aplicaciones útiles -más complejas- a partir de ellas.
Como es habitual tener que trasladar el entorno de pruebas de un lugar a otro, he construido una base en metacrilato, y he atornillado la placa con tornillos de plástico.
Se aprecia que he colocado el conjunto tumbado. Esta posición
En la primera foto vemos que no es necesario dedicar un espacio en exclusiva al desarrollo de este producto, y esto a pesar de su enorme complejidad. hoy en día, basta con un computador y un dispositivo JTAG (mostrado al principio de este proyecto) para cargar y depurar el programa.
En la parte inferior de la placa base, he dibujado la distribución de los diferentes módulos que componen el sistema de control. Todo en aras de facilitar la mayor cantidad de información posible, que ayude a tomar decisiones, en este caso, de montaje.
He trabajado duro durante semanas, hasta conseguir que las funcionalidades básicas funcionen siempre bien, sin excepciones. Llamo funcionalidades básicas a aquellas que ejecutadas en un determinado orden, permiten construir acciones complejas. Por ejemplo, una funcionalidad básica sería lograr que al introducir una longitud a recorrer por un eje, el motor paso a paso gire el número exacto de micro-pasos, para que el desplazamiento sea el esperado. Posteriormente, ejecutando esta funcionalidad sobre fiferentes ejes, y diferentes logitudes, la máquina fabricará piezas.
En resumen, ya he conseguido que funcionen correctamente estos sistemas:
En el largo proceso de pruebas del software, estoy empleando un indexador CNC, con un motor paso a paso de 3.0 Amperios. Este consumo de corriente encaja con los sistemas típicos a los que va destinado este proyecto.
Este montaje me ha servido para depurar los casos más difíciles. Uno de ellos es cuando se giran muy pocos grados. En el indexador de las imágenes, la reducción es tan solo de 6:1, por lo que para hacer girar el plato de garras 1º, solo es necesario que el motor paso a paso gire 6º.
Debido a ello, no hay tiempo suficiente para crear y mostrar la barra de avance, antes de que termine el movimiento.
Cuando por fin la barra de avance está en pantalla, disponible para recibir mensajes con el % de avance, resulta que el movimiento ya ha terminado. Si no se hace nada, la barra mostrada en pantalla quedará paralizada en el valor 0%, esperando a recibir unos valores que ya nunca llegarán.
Resolver este problema ha sido trabajoso, pero una vez logrado, me garantiza que una de las funcionalidades básicas, sea muy robusta.
A partir de ahora, emplearemos estas funcionalidades básicas para construir movimientos complejos. Por ello, es importante ajustarlos al máximo, antes de seguir avanzando.