métodos para el control multieje sincronizado por servo o paso a paso [cerrado]

3

He diseñado un robot de 6 ejes. El principal requisito del robot es que todos los ejes deben estar altamente sincronizados para crear trayectorias precisas (sub-milímetro, sub-grados) 6DOF (x, y, z, guiñada, inclinación, balanceo) en el espacio. Implementé este robot usando:

Hardware: controlador NI PCI-7358, amplificadores NI MID-7604, steppers

Software: NI Labview

Sin embargo, me gustaría alejarme de los productos de NI a algo más compacto para no tener que cargar con un carrito de computadora. Un ejemplo que encontré en github es un robot donde el creador utilizó lo siguiente:

Hardware: Arduino, unidades de pasos A4988, motores de pasos

Software: python

Sin embargo, con una configuración de este tipo me preocupa que el control multieje sincronizado no se mantenga debido al retraso del procesamiento de Arduino. ¿Alguien puede recomendar si la solución Arduino es adecuada o presentar soluciones alternativas (enumere su hardware y software específico)?

    
pregunta spitz

3 respuestas

1
  

Así que mi pregunta es ¿alguien puede recomendar algunos buenos hardware / métodos para   lograr esto?

Sí, toma todos tus bloques en laboratorio y encuentra o escribe piezas de código que repliquen las funciones de los bloques. Incluso puede escribir el código C en labview y crear bloques personalizados , por lo que puede probar cada bloque uno a uno Tiempo y reemplazarlos con los tuyos.

O hay un generador de código C para labview (que nunca he usado y probablemente cuesta más dinero y probablemente no hace un gran trabajo en la conversión).

Yo usaría C, porque no se interpreta y probablemente se ejecutaría mejor en tiempo real. Si sientes la necesidad de usar python, primero escribiría la C y luego la convertiría.

    
respondido por el laptop2d
-1

Necesitarías un sistema operativo con capacidad de tiempo real. El sitio CNC de código abierto es LinuxCNC para construir la máquina CNC. El proyecto bifurcado es Machinekit, que está destinado a construir una máquina personalizada, no relacionada con el intérprete de código G estándar.

Si tiene suficientes recursos, entonces lo mejor serían las unidades y las IO basadas en el protocolo de comunicación Ethercat. Ofrece sincronismo de tal manera que todos los dispositivos toman una instantánea de los valores reales al mismo tiempo, y también los valores de punto de ajuste se emiten al mismo tiempo. Además, la fluctuación de la interrupción del sistema operativo no tiene relevancia hasta que los nuevos valores se calculan dentro de cada ciclo de comunicación, por lo que el sistema operativo de prioridad de Linux hace el truco.

    
respondido por el Marko Buršič
-1

Es una tarea para profesionales, en realidad para una empresa servo. A menos que tenga dos o tres años para el desarrollo y un equipo de ingenieros de hw / fw, no empiece. Mire los sitios web de Elmo o Yaskawa o Bekhof para comprender lo que se necesita.

Puedes lograr algo ... Pero hacer un producto competitivo es mucho más que lo que un hombre puede hacer. Así que sugiero tomar soluciones servo listas. Para un robot de seis ejes debe ser un sistema de control centralizado. Galil o Agito (yo conozco mejor a esta compañía ...) vienen primero a la mente, pero hay más, por supuesto.

Agregado: la razón para no comenzar es una complejidad seria, no en los algoritmos (que son parte del sistema), sino en la infraestructura. Hacer que el sistema sea sintonizable, fácil de usar (o al menos no demasiado difícil) requiere años de experiencia. Tienes que saber cómo se ven otros sistemas y qué hacen para hacer algo similar.

Incluso si está haciendo algo muy específico para su aplicación, a menos que este sea su negocio principal, las soluciones ya hechas son mejores.

    
respondido por el Gregory Kornblum

Lea otras preguntas en las etiquetas