Prueba de sensores remotos

Estoy trabajando en un proyecto sobre la necesidad de mover con precisión una herramienta en función de la distancia medida a un objeto. Bueno, sí, es una fresadora CNC. De todos modos, escuché sobre los sensores de tiempo de combate y decidí probar uno, pero también para ser minucioso, quería incluir también otros sensores de distancia: un sensor de distancia digital nítido y un sensor de proximidad / luz más sofisticado. . Los metí a todos en una tabla y los pasé por sus pasos, usando un marco construido con vigas de aluminio como una forma de mantener los materiales objetivo a una altura específica.

Sensores de luz reflejada

Comencé con el sensor de distancia digital Sharp GP2Y0D810Z0F en la placa de salida Pololu. Tiene una frecuencia de muestreo de 400 Hz, lo que parece más que apropiado; creo que mi proyecto no necesitaría nada tan rápido.

Es básicamente un reemplazo de formato pequeño para primeros planos basados ​​en la luz, funciona de la misma manera, iluminando una luz infrarroja y buscando que se recupere. La desventaja es que no devuelve la distancia al microcontrolador: es binario y se inicia solo cuando un objeto ingresa a su campo de visión entre 2 cm y 10 cm. Si tuviera este sensor en el cabezal de mi herramienta, podría saber si algo estaba bloqueando el rayo, pero no podría decir qué tan cerca estaba la herramienta del material.

Luego verifiqué el VCN4010 en un tablero de Adafruit. Al igual que el Sharp, es un sensor más cercano que un sensor de distancia. Los probadores de Adafruit encontraron que funcionaba mejor alrededor de 10 mm a 150 mm, o alrededor de 7.5 ″ y menos. Una ventaja sobre el Sharp, el VCN4010, tiene un sensor de luz incorporado. Tiene algunas características interesantes, como que el producto ahora es compatible con I2C e interrupciones, pero aún así lo encontré no adecuado para la aplicación.

Cuando usa el sensor, devuelve dos números: redondear y cerrar. El chip en la placa tiene un sensor de luz (el número circundante) y un sensor de proximidad infrarrojo (el otro número) y básicamente hace ping a ambos sensores continuamente y los datos son visibles en el monitor en serie.

Tiempo de vuelo

Olvídese de los infrarrojos y el paralaje, el sensor de tiempo-distancia VL53L0X utiliza un láser real y mide cuánto tiempo tarda la luz en rebotar. Adafruit lo ha colocado en una placa con un interruptor de nivel y un sensor de lujo, pero puedes encontrar placas de escape en eBay o construir las tuyas propias.

Debería proporcionar medidas precisas de hasta 1200 mm (aproximadamente 4 pies), que es claramente más de lo que necesito. Por otro lado, el VL52L0X no está clasificado para realizar mediciones de menos de 50 mm o dos pulgadas. No creo que sea un trato. Si tengo el sensor montado en el cabezal de la herramienta y brillando hacia abajo, con una risita y un poco en el medio, dos pulgadas podrían estar bien. Adafruit tiene otra fuga, que solo mide entre 5 mm y 200 mm. Honestamente, nunca tendré el sensor en una posición en la que necesitaría cuatro pies de espacio para funcionar.

Ambos sensores de flujo de tiempo tienen un cono de medición muy estrecho. Olvídese de la tendencia de los ultrasonidos a salpicar el sonido por todas partes, rebotando en las cosas incorrectas y teóricamente contaminando otros ultrasonidos. El ToF dispara un rayo láser y es muy unidireccional; siente lo que tiene enfrente y nada más.

En el lado negativo, también debe apuntar el láser a algo que lo refleje correctamente. Probé el ToF con una variedad de materiales, y ciertamente le gustan el blanco y el gris. Para mi proyecto, es posible que deba asegurarme de que haya algo reflectante pero no demasiado reflectante hacia el cual apuntar el láser. La luz ambiental y una superficie blanca reflectante mejoran la precisión en aproximadamente un +/- 3%, mientras que los entornos menos ideales la reducen a menos del 10%. Para mi proyecto, con una importancia precisa, el 10% podría significar la diferencia entre la herramienta que toca el material y falta por completo.

Otra desventaja, y esta es menor, es que solo puede conectar un sensor a su bus I2C porque tienen una única dirección codificada. Hay trucos para resolver esto, e incluso hay un chip de traducción de direcciones I2C dedicado que lo sacará de este atasco en particular. Sin embargo, la buena noticia es que no planeaba usar más de un sensor.

Me divertí mucho probando los sensores y averiguando cuáles son sus capacidades. Y aunque estoy fascinado por las funciones de proximidad de Sharp y VCN4010, siento que mi aplicación necesita más precisión. Necesito saber exactamente cuánto bajar el cabezal de la herramienta, y la precisión del ToF parece perfecta para mis propósitos.

  • fowkc dice:

    Este es un problema interesante que también he estado buscando resolver. La medición de distancia precisa en el rango de menos de 10 mm parece difícil de lograr. Me gustaría ver algunas soluciones.

    • luiz iria de abbadia dice:

      No estoy seguro, pero tal vez puedas usar varios espejos para reflejar y aumentar el tiempo de vuelo,

    • TGT dice:

      ¿Un par de medidores de espesor digitales? Chico, pero también me pregunto si podrías hackearlos y hacer que envíen su medida a un dispositivo externo. Y hacer que sigan lo que miden méicamente. Ciertamente tendrían razón.

      ¿Cómo funcionan, de todos modos? Codificador óptico?

      • Erik Johnson dice:

        Hay varios proyectos aquí en HaD que han utilizado cálices digitales adjuntos a sus molinos. Todas las especialidades chinas tienen una puerta de serie.

        https://la-tecnologia.com/2016/07/24/super-cheap-super-simple-dro
        https://la-tecnologia.com/2014/01/19/three-axis-position-indicator-wit-digital-calipers/
        https://la-tecnologia.com/2010/02/18/lathe-modification/

    • smerrett79 dice:

      Vale la pena explorar la sugerencia de TGT. Los medidores de espesor digitales usan detección de capacitancia que es absoluta y me gustaría mucho usar algo como MPR121 y PCB estándar para crear un eje cnc de lazo cerrado de ~ 200 mm.

      La gente hackeó los grosores, así que solo busca en Google para ver si es algo que quieres tomar.

      • JohnU dice:

        Y si está estimando su tiempo, puede comprar un DRO efectivo y darlo por terminado.

        • smerrett79 dice:

          Realmente, tal vez sea mejor que los medidores de espesor, pero no pude ver un puerto de comunicación más fácil en el visualizador para un controlador de circuito cerrado. Además, el control deslizante móvil de los visualizadores no parece tan ligero y la masa es bastante baja para las partes móviles de una impresora 3D. ¡Obviamente voy a tomar una canoa basada en la fotografía!

  • Grifón de cobalto dice:

    Si está construyendo un CNC personalizado, ¿por qué diablos intentaría rehacer la electrónica inferior? Ya existe el escudo GRBL para el Arduino Uno para operación conectada, y el paquete de impresora 3D estándar RAMPS 1.4 funciona si lo necesita para máquinas pequeñas.

    • TGT dice:

      A algunas personas simplemente les gusta reinventar la rueda. ¿Por qué no pedir sus piezas a una empresa con un CNC profesional? ¿Por qué hacer algo tú mismo?

      Pero sí, yo mismo iría con tu itinerario.

    • Luke Weston dice:

      Porque RAMPS es basura.

  • Miguel dice:

    Escuché cosas maravillosas sobre esto: http://www.escher3d.com/pages/order/products/product1.php
    Utiliza un doble haz de infrarrojos para evitar lecturas falsas.

    • Grifón de cobalto dice:

      Tengo esto en mi impresora 3D, es un sensor cercano, la distancia máxima de detección es inferior a 3 mm.

  • Nathan dice:

    Las direcciones I2C de los sensores VL53L0X no están codificadas. A priori, a un valor fijo cuando el sensor se reinicia y se puede cambiar escribiendo en uno de los registros. Puede usar pines GPIO para restablecer los sensores de modo que pueda asignar a otra dirección, restablecer el resto y luego asignar a la siguiente otra dirección. Puede leer más sobre esto aquí: https://forum.pololu.com/t/vl53l0x-address-programming/11395

  • Felix Penzlin dice:

    El VL53L0X ofrece la opción de cambiar la dirección i2c durante el tiempo de ejecución, pero el cambio no se guardará.
    http://www.st.com/resource/en/application_note/dm00280486.pdf

  • David Metz dice:

    También existe la opción de utilizar sensores de capacidad.
    En el video a continuación, se han probado bastantes sensores diferentes para la impresión 3D.
    https://youtu.be/qQu8P0DoUIE

    • smerrett79 dice:

      Bueno, eso suena como un jugoso anuncio ...

  • Derek dice:

    Un maquinista utiliza una herramienta llamada buscador de bordes para fresas para encontrar puntos de hasta cien fresas. Así es como funciona: https://m.youtube.com/watch?v=f0od-cp_9dg

  • ajo listo dice:

    Por medición de distancia
    Recomendaría usar inicialmente algunos sensores de cierre inductivos (los que generalmente tienen la tapa azul)
    para la parada final, para obtener una posición 0.0 precisa desde donde comenzar
    Aquí hay una revisión de diferentes tipos de sensores.
    https://www.youtube.com/watch?v=il9bNWn66BY
    Aunque tendrás que optar por aislarlos, ya que suelen funcionar alrededor de 12V

    • ajo listo dice:

      Para medición constante a lo largo del eje
      En general, esto no parece que se haga en la actualidad, pero

      1. Vi a algunas personas piratear un par de medidores de espesor digitales existentes con una interfaz en serie.
      como DRO a lo largo del eje.
      Sin embargo, las capacidades más baratas tienden a ser más sensibles a las tonterías entre el medidor de espesor
      Los inductores más caros cuestan bastante y probablemente no sean algo que desee piratear.
      Aunque tengo algunas ideas propias para recrear la PCB / diseño de un sensor de calibre inductivo

      2. Otro enfoque es utilizar uno de los controladores de paso TMC como TMC2660
      Tienen una interfaz SPI para que las reacciones indiquen si, por ejemplo, se saltaron un paso.
      Creo que también podrían indicar la cantidad de fuerza / torsión aplicada al motor por una interfaz estable de guardia / espía
      https://www.trinamic.com/products/integrated-circuits/details/tmc2660-pa/

      • smerrett79 dice:

        ajo ya estoy interesado en su idea de escala de inducción / DRO. ¿Puedes compartir algo? La-Tecnologia.io? Gracias.

        • ajo listo dice:

          prueba Google "Sylvac Inductive Sytem"
          http://www.usinages.com/attachments/sylvac-inductive-system-pdf.11864/

          • smerrett79 dice:

            ¡Gracias!

          • Sheldon dice:

            Otro término que encontré (después de leer sobre el sistema Sylvac) es "transformador diferencial de variable lineal" (LVDT), que parece ser la técnica generalizada utilizada por Sylvac (que usa una escala de escalera, consulte http://www.holyinstrument.com /service.asp?keyno=12 para algunos otros estilos)

    • ajo listo dice:

      Para electrónica
      Encontré 3 tipos

      1. Grbl: esto es bueno para empezar, pero tuve algunos problemas.
      Debido a que es un microcontrolador de 16 bits, creo que es un poco limitado para los cálculos de movimiento.
      Un problema que tuve (podría ser solo la versión que usé) es que el eje Z a veces comenzaba en la placa
      Creo que a veces ignoraría el código G para establecer el eje de la máquina en 0,0,0
      Otra es que con chillipepr no puede habilitar / deshabilitar la potencia del motor a través de la interfaz de Internet para mover manualmente la cabeza

      2. El siguiente paso es TinyG2 o ahora se llama G2Core
      tienen una placa especial para ello, aunque actualmente uso Arduino Due con shield Radds
      y configuración adicional personalizada para el firmware G2Core, con controladores RAPS128
      Esto se siente un poco más confiable que grbl y usa un procesador ARM para los cálculos
      también puede encender / apagar manualmente los motores a través de la guía en línea

      3. El diseño al que me dirijo usa una máquina (originalmente llamada linuxcnc, creo)
      en BeagleBone negro o verde, ya que puede utilizar los coprocesadores PRU a bordo para mover el control.
      Creo que admite más códigos G (los no estándar) y se puede vincular con otras cosas.
      como la interfaz RS485 para controlar la velocidad del eje, etc.en VFD
      También espero usar algunos controladores paso a paso TMC (porque tengo motores nema23) para una corriente óptima y ver si puedo reaccionar a la maquinaria el par que usa

      • Kyle dice:

        La maquinaria tangente es una forma de LinuxCNC para tabletas individuales. LinuxCNC todavía existe y tiene como objetivo llenar computadoras.

  • Kyle dice:

    En el poco tiempo que aprendí sobre la fabricación con equipos CNC, generalmente medían la longitud de cada herramienta y almacenaban esos datos en una matriz, por lo que no necesita un sensor para medir la distancia. La mejor alternativa de bricolaje que he visto fue un simple probador de continuidad. Me pregunto si un servicio que * golpeara * un cable pequeño y simple en el eje sería suficiente para hacer una prueba de continuidad simple.

  • Ene. dice:

    Este artículo y Adafruit dice que VL53L0X tiene un rango de 1200 mm, mientras que la hoja de datos ST indica 200 mm.

  • fossel dice:

    Para medidas inferiores a 10 mm, ¿qué tal los sensores de efecto halo?

  • smerrett79 dice:

    @John Baichtal, ¿podría describir sus casos de uso del sensor? Ayudaría a los comentaristas porque la cancelación (nivelación literal en la impresión 3D y alineación de la herramienta de parte para los procesos de sustracción) tiene un conjunto de requisitos diferente al de un sistema de movimiento lineal de circuito cerrado en los ejes. ¿Tu sensor es para uno de esos?

  • Narg dice:

    ¿Qué tal una cámara? Quería probar eso yo mismo para mediciones submilimétricas. Algo tan simple como la omnipresente cámara rpi, junto con una lente macro para enfocarla de cerca y algunos LED para iluminar, debería dar suficiente resolución para medir un ángulo de 0.2 grados, o aproximadamente 0.4 mm a una distancia de 10 cm. Esto devalúa un factor de 10 con respecto a las especificaciones en bruto, por lo que la eficiencia probablemente podría elevarse de 3 a 10 veces más que un procesamiento cuidadoso.

    • Nate B dice:

      En realidad, esta es una gran idea. Muchos arreglos de macroobjetivos tienen una profundidad de campo abominablemente estrecha, pero en este caso eso podría ser una ventaja. Suponga que la pieza de trabajo tiene algunas características de superficie y utilice un procedimiento de búsqueda estándar de "enfoque automático" para encontrar la altura Z que desea. Y si el trabajo es demasiado significativo, colóquele una pegatina de escudo.

      • smerrett79 dice:

        ¡Es una gran idea, solo me pregunto si necesitas una calcomanía de alta precisión!

  • reinicia dice:

    La hoja de datos del VL52L0X parece mostrar un rango de ventanas variables de 1 cm en el mejor de los casos, dentro de los 10 cm. Parece una falla de herramienta esperando a que ocurra a menos que sea mucho más precisa (o al menos reproducible) en el mundo real.

  • stefan_z dice:

    Si necesita precisión repetible, elija codificadores ópticos absolutos. O haga la parte "absoluta" usted mismo con un codificador óptico relativo y µC dedicado - ~ € 10, - en Ali con 400 ticks / rev - que le da 1600 / rev a través de la biblioteca de códigos. Los arduinos parecen demasiado lentos para esta cantidad si se interrumpen, pero el ESP lo maneja bien.

    • smerrett79 dice:

      Un buen punto sobre los codificadores rotativos, pero no le brindan una ventaja completa si hay juego mecánico en la interfaz tornillo / tuerca o en los cojinetes de tornillo. Aquí es donde los codificadores de línea tienen una ventaja potencial y por qué son un objetivo atractivo.

  • AP dice:

    Pido disculpas por mi pedantería, pero la "precisión" es una medida de prejuicio y la "precisión" es una medida de resolución. Intente utilizarlos correctamente.

  • reinicia dice:

    Me pregunto si es posible medir la distancia usando el ángulo de retorno de un láser desde un objetivo reflectante en la pieza de trabajo y una mesa CCD lineal:

    https://la-tecnologia.com/2016/07/31/la-tecnologia-prize-entry-a-linear-ccd-breakout/

    La resolución de la matriz podría ser un factor limitante, pero la salida es análoga, por lo que con algún procesamiento sería posible obtener una resolución de subpíxeles. O quizás un objetivo difractivo produciría una señal de retorno con más detalles. La implementación sería similar a los muchos proyectos de espectrómetros presentados aquí en HaD.

    • Narg dice:

      Buena idea y probablemente una buena solución para el artículo original. No solo es posible utilizar el método que sugirió, sino que los sensores de distancia infrarrojos nítidos funcionan. Por ejemplo, consulte "Teoría de funcionamiento" en esta página:
      https://acroname.com/articles/sharp-infrared-ranger-comparison
      Al crear el suyo propio, podría agregar fácilmente varias fuentes para abordar un conjunto más amplio de rangos operativos. Para un proyecto específico como una máquina CNC, puede montar el láser de lado para que el rayo se cruce con el objeto en movimiento en un ángulo relativamente poco profundo, creando así un gran cambio en la posición del punto láser para un pequeño cambio en la posición del objeto en movimiento. . O puede montar el láser en el propio objeto en movimiento. Y ni siquiera necesita un CCD lineal ... podría hacer prototipos rápidos con punteros láser y cámaras web.

  • keith de canadá dice:

    Aquí tienes una idea extraña: refleja un láser de varios espejos, uno en el marco y el otro en el carro, en un sensor de luz. A medida que cambia la distancia, la cantidad de veces que rebota cambia y el rayo solo golpeará el sensor con frecuencia, por lo que para asegurarse de que el rayo láser siempre golpee el sensor, coloque el láser en una instalación de servicio de alta precisión. El ToF y el ángulo necesarios para que golpee el sensor le indicarán la distancia. ¿Loco? Muta? Dígame usted.

  • Jacobo dice:

    Trabajo en un movimiento preciso. Creo que estará mucho más contento con un codificador rotatorio porque estos otros sensores son mucho menos precisos y repetibles en su posición absoluta. Necesitará saber su tipo de motor, probablemente DC pero posiblemente más gradual. Calcule los cables al motor si no está seguro. La CC suele ser de 2 cables y el paso suele ser de 6 u 8. Necesitará un controlador de motor PID adecuado.

América Aguilar
América Aguilar

Deja una respuesta

Tu dirección de correo electrónico no será publicada.