← Volver a Proyectos

Controlador para Bobinadora de Filamento

Categoría: Freelance
Fecha: Abril 2025
Portada del proyecto Controlador para Bobinadora de Filamento

Sobre este proyecto

Este proyecto freelance consistió en el diseño de una PCB y el desarrollo de un firmware a medida para automatizar una bobinadora de filamento de cobre. El sistema debía sincronizar con precisión el giro del carrete y el desplazamiento de un vástago guía, además de medir la longitud del filamento.

La principal complejidad residió en el software: programé desde cero un algoritmo de control de movimiento con perfil trapezoidal para los motores paso a paso, asegurando arranques y paradas suaves. Adicionalmente, desarrollé una librería no bloqueante para el display TM1637, ya que las soluciones existentes interferían con el control en tiempo real de los motores.

Características Clave

  • Control de Movimiento Trapezoidal: Implementación de un algoritmo para motores paso a paso con rampas de aceleración y desaceleración, programado desde cero usando los timers del STM32 para un movimiento preciso y sincronizado.
  • Librería de Display No Bloqueante: Desarrollo de una librería de comunicación a medida para el integrado TM1637, utilizando interrupciones para evitar el bloqueo del bucle principal y garantizar el rendimiento en tiempo real.
  • Metodología de Desarrollo Remoto: Todo el firmware fue desarrollado y depurado sin acceso físico al hardware final, utilizando un entorno de pruebas con un analizador lógico y una estructura de proyectos "gemelos" en WSL para compilar el mismo código para dos microcontroladores diferentes.
Imagen de galería para Controlador para Bobinadora de Filamento
Imagen de galería para Controlador para Bobinadora de Filamento
Imagen de galería para Controlador para Bobinadora de Filamento

Desafíos

El mayor reto fue desarrollar y depurar el firmware completamente a ciegas, sin acceso a la máquina. Esto exigió crear un entorno de simulación y validación de señales con un analizador lógico, además de una estructura de compilación dual para asegurar la compatibilidad del código entre mi plataforma de pruebas y la del cliente.

Aprendizajes

Este proyecto consolidó mis habilidades en programación de bajo nivel con STM32 HAL y me enseñó a crear soluciones robustas bajo restricciones extremas. La necesidad de un desarrollo remoto me impulsó a diseñar un flujo de trabajo de software altamente estructurado y verificable.