Placa de control USB de motores paso a paso usando una placa Bluepill con un microcontrolador STM32

editado 18 de marzo en Prototipos
Aunque el hilo principal sea:
Placa electrónica de control de respirador con motor paso a paso usando un microcontrolador STM32
Se crea este hilo para que los desarrolladores de la impresión 3D puedan comprobar la efectividad de su diseño, sobre todo la velocidad máxima con la que podrían desinflar el balón.

Este montaje constaría de:
1.- Una fuente industrial de 32V y 200W (a priori), aunque para pruebas se pueden usar fuentes de ordenador ATX de 12V.
2.- Placa Bluepill con microcontrolador STM32F103C8T6 y un puerto USB que vamos a usar.
3.- Driver de motores paso a paso (TB6560, TB6600, etc.)

Un protocolo de comunicaciones maestro-esclavo.
- Maestro: PC con puerto USB (se crea un puerto serie virtual COMx o /dev/ttyACM0).
- Esclavo: la placa Bluepill.

En un principio no hará falta desarrollar un software de comunicaciones en el PC, vamos a utilizar un hyperterminal (cutecom) y una serie de comando enviados como cadenas ASCII.

Cada línea enviada (acabada en 0x0D, 0x0A) sería una orden específica.
Se puede codificar la cadena enviada en base64, añadirle CRC32, etc.

En este apartado algún informático se puede entretener y crear una interfaz gráfica para poder realizar ciertos ensayos.

De esta manera los diseñadores de respiradores 3D podrían tener rápidamente una herramienta con la que trabajar y poder comparar (aunque sea en vacío, sin balón, ni presión) diferentes diseños.

A falta de balón AMBU se pueden usar cosas medianamente equivalentes, como una botella estandard de 2L de fanta (con o sin tapon).

En un firmware definitivo, cuando el dispositivo maestro deje de ser el PC y sea la placa principal del respirador, el puerto USB se reconfiguraría para que fuera una de las UARTS.
Ya he comprobado que el puerto USB genera interrupciones que en determinado tipo de programas pueden ser inadecuadas.
En cambio, las UARTs suelen ser más fáciles de manejar, no requiriendo obligatoriamente interrupciones.

Quienes puedan estar interesado en esta línea, ya sea por que sean programadores, electrónicos o creadores de respiradores 3D, que lo digan. Para así poder ver tipos de motores, colaboraciones, etc.

Comentarios

  • Hola Jose, soy luis, programador. Por supuesto el tiempo que pueda disponer para ayudar en lo que pueda. No he trabajado en esa plataforma pero como cualquier programador he usado terminales de comunicación, buses serie Uarts, I2C etc. Solo decirte que ahora el tiempo que tengo lo dedico a una App que me ha sugerido Naia de este foro, para poner en contacto hospitales y proveedores. No soy profesional de desarrollo Android pero si he hecho Apps sencillas y ahora estoy en esta. De todas formas si hay en el foro algun programador profesional de Apps serie mejor que la desarrollara él y yo hacer algo con la electrónica. Saludos
  • Buenos dias Luis
    Gracias por el apoyo. Voy a empezar o priorizar el desarrollo del controlador USB de motores paso a paso para que haya una herramienta de testeo de motores.
    Hay por internet controladores comerciales que permiten poner en funcionamiento motores paso a paso, pero a veces no a la velocidad suficiente de forma adecuada.
    Tampoco hay una herramienta que nos indique la potencia instantánea que está consumiendo el motor paso a paso en cada momento.
    Habiendo indicado esto, podrias empezar por ejemplo, en el diseño una interfaz gráfica para PC, o en librerías de comunicaciones, o definiendo un protocolo de comunicaciones, etc.
    Yo ya he creado funciones en C por ejemplo que codifican/decodifican en base64 para que toda la transmisión de datos sea en ASCII, usando CRC32 de forma rápida con los nuevos algoritmos que hay disponibles.
    Ya me comentas si pudieras ponerte con la parte del programa de test para el PC, por ejemplo.
  • Lo siento jose, aparte de que mi fuerte es la programación embebida en el micro, no en el PC, estoy dedicando mi tiempo a la App de contacto de hospitales. Bueno pues eso, seguimos en contacto.
  • Gracias Luis.
    En este momento la experiencia en esta plataforma en concreto es un factor muy importante, no porque los programadores no estén capacitados para el desarrollo en esta plataforma, sino por el tiempo que le van a dedicar en el aprendizaje y en solventar los problemas que surjan.
    Ánimo con la App, todo suma.
  • Buenos días.
    Los administradores de este foro no han cumplido con su cometido.
    Con lo fácil que hubiera sido poner algo de orden.
    Debido al completo desorden del foro, la descoordinación y la falta de control de los administradores de este foro he decidido no aportar nada mas al mismo.
    - He tenido que dedicarle tiempo a corregir a otros colaboradores comentarios inciertos para que los lectores no se basaran en ellos.
    - He duplicado hilos por haberlos ensuciado otros miembros con comentarios no relacionados con estos hilos.
    - He reportado a los administradores comentarios que debieran de eliminarse de hilos y éstos no han hecho nada, dejando el hilo inservible, al dejar éste "sucio", lleno de tanta "basura".
    El estar haciendo el doble o el triple de trabajo para mantener la información en este foro me ha estado quitando el tiempo necesario para el desarrollo de un respirador viable.
    Este foro ha sido una carga, en el que aportaba, aportaba y aportaba, y nadie me ha echado una mano.
    31 hilos abiertos y más de 160 comentarios en estos días, mientras que otros se dedicaban a sus montajes (y utilizaban el foro cuando se encontraban con algún problema), yo tenía que estar redactando y documentando todo muy clarito para que los lectores lo entendieran.
    La colaboración de los demás ha sido casi nula, sólo ha servido para dedicarle mi tiempo a otros, y no para avanzar en un desarrollo factible.
    Las pocas cosas que solicitaba en las colaboraciones, que hasta estudiantes de instituto pudieran haber realizado, no la ha realizado nadie, como por ejemplo, las búsquedas en sitios específicos y la realización de listados.
    Todo el mundo se ha centrado en sus intereses, en sus desarrollos propios y no en ver todo esto desde una perspectiva mas amplia.
    Como suelo decir "el que no aporte, que se aparte", veo que para las personas de este foro no "aporto", si no hubieran permitido por ejemplo que administrara mis propios hilos o hubieran hecho relevantes estos hilos.
    Debido a que lo que estoy haciendo no le interesa a nadie, por la nula colaboración que estoy recibiendo de este foro, me aparto.
    Como siempre han decidido centrarse en otros desarrollos, se que la decisión que he tomado es la mejor decisión, por muy dura que sea.
    Después de tantos días, al igual que en un trabajo, sólo queda despedirme de mis compañeros.
    "Ánimo compañeros".
    Atentamente
    Jose_Pizarro

Accede o Regístrate para comentar.