Seguimiento de rotación con una precisión extremadamente alta

13

Me gustaría rastrear la posición angular de un brazo giratorio motorizado bastante lento (transmisión directa; vea la ilustración a continuación), pero requiere una precisión angular inferior a 0.05 ° y una resolución similar.

Como @gbulmer señaló en los comentarios, eso es equivalente a seguir la punta del brazo en posición a lo largo de la circunferencia, con una precisión de (2 × π × 10cm) / (360˚ / 0.05) = 0.08 mm.

¿Existealgúnsensorométodoelectrónicoactualmenterealizablequepuedaalcanzaresteniveldeprecisiónenladetecciónrotacionalsingastarunafortuna?

Estoesloqueheintentadohastaahora,desdeelmássimplehastaelmáscomplejo:

  • Brújuladigital/magnetómetro:comencéconesto;pero,obviamente,noseacercaalrendimientoqueestoybuscando.

  • Codificaciónrotatoria:codificaciónbasadaenpotenciómetro/sensordeefectoHall:nosepudoobtenerunaresoluciónsuficienteyhayunerrordelinealidadsignificativo.

  • Visiónartificial:intentecolocarunmarcadorópticoenlapuntadelbrazo(yaquelapuntatrazaelarcomáslargo)yusarlacámara(OpenCV)pararastrearlaposicióndelmarcador:nosepudieronresolverrotacionesmuypequeñastanbien,dadalarotacióndelbrazoabarcaunáreade10x10cm.

  • Codificadormagnético:actualmenteestoyinvestigandoelusodeAS5048,uncodificadorgiratoriomagnéticodeAMS,colocadoconelcentrodelsensorenlaposicióndelejedelmotor.Algocomoesto:

    
pregunta sasha

12 respuestas

10

Lo que estás haciendo es posible, pero no veo cómo lo harás a un precio bajo.

.05 grados (3 minutos de arco) implica una resolución de 7200 cuentas / rev, o el equivalente de 13 bits (8192). Peor aún, ya que estás tratando de hacer un bucle de posición, necesitarás al menos un bit extra de resolución, o un sistema de 14 bits. El problema radica en el hecho de que su bucle de posición no puede detectar un error de menos de un bit, por lo que si el brazo comienza a desviarse, el sensor de ángulo no lo detectará hasta que la salida esté un poco desactivada. El bucle de posición hará retroceder el brazo hacia el otro lado y dejará de hacerlo cuando el error caiga a cero. Pero esto permitirá que el brazo gire hacia el otro lado hasta que obtenga un conteo en la dirección opuesta, etc. Entonces, por ejemplo, si desea que el brazo mantenga un conteo de sensores de 100, el sistema puede producir 100, 101, 100 , 99, 100, etc.

Sugiero que un codificador óptico es su mejor opción, pero un codificador de 14 bits (16,384 ppr) no será barato. Otra posibilidad es un resolutor o sincronizador, con un RDC o SDC (resolutor / convertidor digital o convertidor sincronizado / digital) como una segunda posibilidad, pero esto costará aún más. Los sincronizadores / resolutores tienen 2 inconvenientes. Primero, generalmente han sido reemplazados por los codificadores ópticos, por lo que lo que encontrará en el mercado son en su mayoría unidades excedentes. En segundo lugar, la precisión no suele ser adecuada. Los resolutores del tamaño 23 generalmente se clasifican a aproximadamente 5-10 minutos de arco, por lo que necesitará una unidad de alta precisión y buena suerte para encontrar uno.

Inductosyns le dará una resolución y precisión excepcionales, pero le costará incluso más que un codificador óptico. Esencialmente, necesitas un RDC de alta velocidad para leer la salida.

Su preocupación sobre la precisión del codificador óptico se basa en el papel de un fabricante específico, pero eso es esencialmente una pieza de miedo. Las posibilidades de error son las mismas para todos los fabricantes, y el fabricante vinculado no es mejor que otros fabricantes. En general, para los codificadores de precisión, la precisión es la misma que la resolución.

Si bien es posible obtener codificadores ópticos con salidas paralelas, probablemente esté mejor con un codificador incremental y con su propio contador ascendente / descendente. Si sigue esta ruta, usará la señal de "inicio" para restablecer el contador de posición cada vez que encienda el sistema.

    
respondido por el WhatRoughBeast
3

Creo que lo que sugiere OP no es una mala idea. Lo que él quiere usar es un anillo ya hecho: enlace , tiene 128 polos = 64 pares de polos. La resolución es de 16 bits = 65536, máx. 305 rpm.
Si desmonta un codificador óptico de alta resolución, descubrirá que es casi imposible alinear el detector sin herramientas especiales, de hecho, el uso de este nuevo método lo hace muy simple. Necesitaría una máquina de tornear para hacer un ajuste adecuado para el anillo y luego colocar el sensor a una distancia cercana, no se requiere una alineación especial. El sensor viene en versiones de kit ya soldadas en la placa de ruptura, lo que necesitaría es un sensor de referencia adicional, un hueco con fotodetector, luego puede hacer referencia al codificador dentro de un par de polos con una combinación de salida de índice + sensor de referencia ext.

    
respondido por el Marko Buršič
2

Ya que es una pregunta de lluvia de ideas, y WhatRoughBeast ya ha mencionado todo lo que consideraría, ¿por qué no agregar las unidades armónicas a la lista? En teoría (no he comprobado con estimaciones empíricas, o primeros cálculos), le permite obtener fácilmente una relación de engranaje de 20: 1 sin ningún tipo de contragolpe (100: 1), lo que hace que el número de pasos necesarios descienda a 720 / rev. . Podría ser algo que valga la pena echarle un vistazo. Los accionamientos armónicos no son baratos, pero generalmente son mucho más baratos que los sensores de alta resolución, especialmente para esta relación de engranajes.

    
respondido por el Mister Mystère
1

Tratar con la mecánica, comience con la mecánica primero.

Algirarelengranajegrande(R2)paraunángulo,elengranajepequeño(R1)giraparaunánguloR2/R1másgrande.

Porlotanto,sitrataconunaprecisióndeángulomuyextremaenunradiodado(R),podríahacerloconunaprecisióndeángulonmásgruesaenunradionmenor(esdecir,R/n).

Ensucaso,puedeinstalarunengranajegrandeenelejedelbrazoycolocarleunengranajemáspequeñoyluegoconectarunsensormásgruesoalpequeño.

Seconocenysonútilesmuchosotrosmétodosdeengranaje,comiencedesde wiki .

    
respondido por el asndre
1

Si necesita una resolución en el eje de salida correspondiente a 13 bits, necesita más bits adicionales, es necesario al menos 1 bit para el control de bucle cerrado. El siguiente problema es que los fabricantes anuncian la resolución pero no anuncian la precisión . Es necesario pedir persistentemente para la exactitud. Si el error es repetible, puede mejorar utilizando la corrección de software.

Otro problema si necesita una solución para exteriores para trabajo pesado. Si es así, entonces el codificador magnético es una opción. Pero el codificador magnético puede tener un error periódico repetible significativo, que debe eliminar en el proceso de calibración con otro codificador extenso óptico. Pero necesitas una plantilla de precisión incluso mayor.

La interpolación Sin / cos (de óptica o magnética) aumenta la resolución pero también agrega algún error aleatorio.

Debe ser capaz de fabricar con la precisión deseada, particularmente la concentricidad. También debe considerar el ancho de banda, ya que cuando aumenta la resolución, un movimiento más rápido puede exceder el ancho de banda permitido (por ejemplo, la frecuencia de salida en cuadratura). Al contrario, el control de cámara ultra lenta es otra disciplina en la que se pueden encontrar temas interesantes no publicados.

Si necesita la rotación del brazo de control (no solo la posición de la pista), la resolución del accionamiento directo y el par es un problema. El bucle doble ayuda con el control, pero requiere un motor (codificador en caso de caja de cambios o pasos de conteo en caso de paso a paso) y detección de posición del eje.

El codificador incremental vs. absoluto también es una decisión fundamental.

El consejo general es: si desea finalizar el proyecto, utilice componentes profesionales que sean caros (por ejemplo, los codificadores ópticos ATOM de Renishaw). Si juega por placer y el tiempo no es importante, entonces puede disfrutar reinventando problemas (cul-de-sac), descubriendo problemas irrecuperables, etc. Compruebe si puede fabricar aparatos con la precisión requerida.

    
respondido por el TMa
1

Parece perfectamente adecuado para un calibrador digital, normalmente utilizado para medir distancias precisas, ver:

¿Cómo funciona un calibrador electrónico?

Son similares a los codificadores capacitivos (que ya viste en enlace ).

La parte electrónica de un calibrador digital lineal probablemente se puede reutilizar, por lo que solo necesita hacer un cuarto de disco con el patrón correcto.

PS: La precisión incluso le permitiría trabajar con uno lineal disponible.

    
respondido por el user103185
0

No sé lo que consideras una fortuna, pero deberías considerar enlace

    
respondido por el EM Fields
0

Otra opción muy interesante, si su brazo entra regularmente en una posición inicial (de reposo), es usar un ratón óptico (de juego) o, más específicamente, su sistema de detección.

Monte su sensor en la punta de su brazo y proporcione un fondo bueno (de grano fino, no reflectivo) para deslizarlo. Lea los datos a través de una interfaz de mouse usb estándar.

Necesitará un sensor simple para calibrar la posición inicial. Tendrías que experimentar para ver si esto funciona lo suficientemente bien. Debe funcionar principalmente sin importar el polvo y es fácil de mantener.

    
respondido por el user103185
0

Debes hacer un segundo mecanismo en el borde de la mano, para dividir los pasos del centro mediante un mecanismo lineal como el que se encuentra en el sistema óptico del controlador de CD-ROM. De esta manera, podría ser más fácil y suficiente implementar todo el sistema como un circuito abierto utilizando también un motor paso a paso en el centro y manejarlo por microaspping para evitar magnitudes de aceleración muy altas.

    
respondido por el Ayhan
0

Tal vez pueda considerar usar un codificador óptico lineal al final de su brazo de pivote, y usar una guía de código flexible como éste , que tiene hasta 2000 líneas por pulgada. Si quieres ir súper barato, puedes usar un codificador lineal como éste , pero solo sube a 150 líneas por pulgada, por lo que tiene una resolución de 40 micrones (ya que es un codificador de cuadratura). Si no es sensible a algunos temblores en el sistema de la unidad, entonces puede usar esto directamente. De lo contrario, podría extender el brazo debajo de su aplicación y colocar el código srip más lejos. Incluso puede imprimir su propia transferencia de código si tiene una impresora con un DPI de 1000 o más.

¡Buena suerte!

    
respondido por el Madcowswe
0

Las limitaciones físicas en el espacio alrededor del brazo móvil pueden excluir esta solución, pero aquí está, otro enfoque barato de visión artificial. La precisión se puede ajustar cambiando la ampliación de la lente.

    
respondido por el szulat
0

Aquí está mi nueva idea, sin embargo, otra historia de motor paso :-)

Hagaclicenlaimagenanimadaparaverlaresolucióncompleta.Aquíseutilizaelmotorpasoapasocomounaregladeviaje.Hayunimánenlapuntadelamanoprincipal.Laslíneasrojasmuestranladirecciónesperadadelflujomagnético.Suponiendoqueelmotorpasoapasoescomoeldelawikipedia.Tieneun3.6gradosdeunpasocompleto.Paraunapartesupuestamentelinealdelcampo,necesita3.6/0.05=72combinacionesde7bits.EsosignificaqueunADCde10bitsdeunaMCUordinariafuncionarámuybienparaunmayorrangonolineal.Unavezquehizoelmecanismo,analiceelpatróndeaproximaciónyelijalapartemáslineal,conalgunosmapasdesoftware,alinéelosyelijalosbordesdelareglaparaesaconfiguraciónenparticular.

Losmotorespasoapasonosonperfectos.Según wikipedia pueden tener hasta un 5% de variación entre los dientes. Para medir el error, puede extender los bordes primarios de la regla con bordes secundarios, que solo deben seguir el patrón de degradado del análisis anterior de su borde vecino.

Además, es mejor que conduzcas el motor paso a paso con microstepping para evitar las aceleraciones +/- que pueden impactar las escalas de configuración, creo que al menos debes hacer la mitad del paso.

    
respondido por el Ayhan

Lea otras preguntas en las etiquetas