Estoy tratando de conseguir un motor de alta precisión y no tan extremadamente alta resolución para trabajar.
Es un motor paso a paso con 200 pasos/revoluciones y el controlador del motor puede computar hasta 400x de microstepping. Tenemos un codificador óptico de alta precisión con 4700000 líneas por revolución (en realidad hay 23600 líneas físicas, pero 200x interpolación por la interfaz). Y hay una caja de cambios 1:360.
edit: El encoder está montado en el lado del actuador, DETRÁS de la caja de cambios, etc.
Nuestro objetivo principal es tener una precisión global superior a 1 m°. La resolución no es tan importante como la precisión. Por ello, puede haber posiciones que sólo se puedan alcanzar de forma discreta (dependiendo del motor y de los micropasos).
En este contexto, dejemos que \$N\$ sea el factor de micropaso y \$M\$ un preescalador (divisor) para el codificador que se puede ajustar en el controlador del motor. NO hay multiplicador.
La resolución del codificador es entonces \$\frac{360°\cdot M}{23600\cdot 200}\approx {76}\cdot{M} µ°\$ . mientras que la resolución del motor con engranaje es \$\frac{360°}{360 \cdot 200 \cdot N}=\frac{5}{N}\mathrm{m}°.\$ Hasta ahora no hay forma de que las resoluciones coincidan, es decir $$\frac{360°\cdot M}{23600\cdot 200}=\frac{360°}{360 \cdot 200 \cdot N}\Leftrightarrow M\cdot N=\frac{23600}{360}\approx65.55556.$$ No puedo elegir ninguna combinación de M y N (ambas enteras) para alcanzar los 65,56, ¿estáis de acuerdo? ¿La única manera es comprar otro codificador con un número de líneas diferente, por ejemplo 18000 líneas/rev?
Tengo algunas preguntas sobre el asunto:
- Si pudiera elegir: ¿Qué resolución debería ser mayor? ¿El codificador o el motor?
- ¿El hecho de no poder igualar las resoluciones es un problema en cuanto a la precisión o no? Entonces, ¿compramos otro codificador o no?
- Sólo puedo alcanzar posiciones que sean múltiplos de \$\frac{5}{N}\$ milidogrado, ¿correcto?
- ¿Qué pasa si quiero controlar el motor con un control PID que está incrustado en el controlador del motor, puede haber problemas? Porque no alcanzaré ninguna posición arbitraria con un 100% de precisión si 2. es correcto.
- Incluso si mi posición fija es un múltiplo de \$\frac{5}{N}m°\$ no hay garantía de que la posición eléctrica ESTABLE (es decir, una posición en la que el par de retención es alto) coincida con la posición de mi codificador debido a: a) los efectos de no linealidad en el micropaso, b) la desalineación del codificador y c) los efectos producidos por la caja de cambios (c es una edición, perdón por olvidarme de mencionarlo). Un control PID podría no llegar a descansar ya que la parte integral suma y en cualquier momento el motor hace un "paso" en la dirección "correcta". Pero luego hay un error con signo contrario. Así que oscila todo el tiempo, aunque la posición sea un múltiplo de \$\frac{5}{N}m°\$ . ¿Cómo se soluciona ese problema?
- (esta pregunta es opcional para mi tarea pero es interesante) ¿Existe una forma de fijar cualquier posición arbitraria con un motor paso a paso? He leído que los motores paso a paso no son otra cosa que motores síncronos con un elevado número de polos, ¿no? Así que un control vectorial podría ser apropiado, ¿es así?
¡Muchas gracias!
editar :
Por tus dos respuestas veo, que posiblemente no dije lo suficientemente claro cuáles son los problemas ;-)
La pregunta 6) es realmente opcional. Necesitamos posiciones precisas, pero no arbitrarias. Pero he leído (lamentablemente no recuerdo dónde), que los motores paso a paso en bucle cerrado puede se comportan como motores síncronos. Porque simplemente son motores síncronos con un elevado número de polos y más par de retención.
La cuestión principal aquí es cómo elegir la resolución del codificador y del motor. Tal vez queremos comprar un nuevo codificador y por lo que podría conseguir uno con algo más que 23600 líneas para que coincida con las resoluciones. Pero esto es un esfuerzo que podemos ahorrar si no hay ninguna ventaja.
¿El codificador aumenta la precisión en una configuración de micropasos? No lo creo, porque no hay un control "continuo", sino que sólo hay pasos. ¿Pero los pasos no son 100% precisos debido a la no linealidad, etc.?
Me pregunto si este montaje es tan especial. Sé que los steppers se usan frecuentemente en lazo abierto, pero un fabricante mundial de motores y herramientas mecánicas ofreció el sistema de lazo cerrado como si fuera estándar. Debe ser utilizado allí fuera, casi todos los conductores de motor tiene una entrada de codificador. Así que pensé que sería una simple pregunta :)
editar número 2 :
Sólo para aclarar: no quiero tirar el dinero, sólo intento mejorar un poco los sistemas existentes (5 o 6 estaciones de trabajo con 2 motores y codificadores para tareas de calibración de sensores).
No compré la primera versión del sistema ya que soy nuevo aquí. Hoy en día tal vez iría con servos para ser más flexible, pero son más caros. El encoder solo se utiliza para asegurar que se alcanza la posición final (en micropasos) más o menos. Como mejora quería habilitar el control PID embebido para lidiar con los cambios de velocidad y carga durante un movimiento. Pero parece que manejar el sistema con un controlador PID no es la mejor idea, porque siempre habrá alguna oscilación porque las resoluciones no coinciden?
Los sistemas son lo suficientemente preciso por el momento. Es más bien una cuestión de cómo mejorar el sistema en materia de velocidad y fiabilidad. Y para mí personal para entender mejor las cosas.
Ahora la cuestión de tirar el dinero: Compraremos otro sistema pronto. Para asegurar la compatibilidad nos quedamos con los mismos componentes (esta vez, la próxima vez esto podría cambiar debido a mi "investigación"). Pero existe la posibilidad de elegir otra resolución de codificador. Esto no significa que sea mejor, es más, es peor, pero sigue siendo lo suficientemente preciso. La principal ventaja que se me ocurre es que las resoluciones coinciden. Ya sea 1:1 o 1:2 (el codificador es más preciso). Estoy tratando de averiguar, si esto realmente es un beneficio o no.