Saltar al contenido principal

Fallo en la Detección de Fiduciales en OpenPnP: 5 Soluciones que Realmente Funcionan

· 5 min de lectura
PikkoBot Team
Precision Robotics

Si OpenPnP no puede encontrar los fiduciales de su PCB, todo el trabajo se detiene. Tras operar máquinas PikkoBot con cientos de placas, estas son las cinco soluciones que resuelven casi todos los errores de "fiducial no encontrado".

1. La superficie de la placa es demasiado reflectante

La máscara de soldadura brillante refleja la luz del anillo de vuelta a la cámara, saturando el círculo del fiducial. La solución es mecánica, no de software:

  • Limpie la PCB con alcohol isopropílico para eliminar residuos de manipulación.
  • Si la placa tiene máscara de soldadura verde o roja brillante, incline ligeramente la fuente de luz del anillo usando un difusor fino (imprimible en PETG, ángulo de ~30°).
  • Reduzca la exposición de la cámara superior entre un 20-30% en Machine Setup → Cameras → Top Camera → Device Settings. El pico del histograma debe situarse aproximadamente al 60% de brillo, no al 95%.

Una señal reveladora de este problema: la detección funciona en las esquinas de la placa pero falla cerca del centro, donde el reflejo es más intenso.

2. Los umbrales del detector de manchas del pipeline de visión son incorrectos

El pipeline de detección de fiduciales predeterminado de OpenPnP utiliza una etapa BlobDetector con valores conservadores. Para fiduciales de cobre de 1.0 mm sobre máscara de soldadura estándar, esos valores funcionan. Para cualquier cosa no estándar, no.

Abra el editor del pipeline: Job → PCB Fiducials → clic derecho en un fiducial → Edit Pipeline.

Ajuste estas etapas en orden:

EtapaQué verificarValor típico
ImageCaptureCámara seleccionada = Top Camera
ThresholdthresholdValue coincide con el brillo de su máscara de soldadura100–140 (verde), 60–80 (rojo)
BlobDetectorminArea y maxArea deben enmarcar el tamaño de su fiducial en píxeles²Para fiducial de 1.0 mm a 0.05 mm/px: ~400–2000
BlobDetectorminCircularity0.85 (relajado para placas mate)
MaskCircleRadio de búsqueda alrededor de la posición esperada20–40 px

Después de cada cambio, haga clic en Process Pipeline con una imagen fija de la placa para ver qué sobrevive en cada etapa.

3. La cámara está desenfocada

La lente de la cámara superior tiene una distancia focal fija establecida durante la fabricación. Si la ha ajustado para visión de componentes (enfoque más cercano), la detección de fiduciales a la altura de la PCB se verá borrosa y BlobDetector rechazará los bordes suaves.

Prueba rápida:

  1. Desplace la cámara superior sobre un fiducial.
  2. Observe la imagen en vivo: ¿bordes nítidos o borrosos?
  3. Si está borroso, tiene dos opciones:
    • Ajuste el anillo de enfoque de la cámara para la altura del fiducial (pierde nitidez para la verificación de recogida de componentes; generalmente no vale la pena).
    • Mejor: reduzca minCircularity de BlobDetector a 0.7 para aceptar bordes más suaves y ajuste MaskCircle para compensar falsos positivos.

4. La calibración mm/píxel se ha desviado

OpenPnP necesita saber cuántos milímetros representa un píxel de la cámara. Si este valor es incorrecto aunque sea en un 5%, la ventana de búsqueda en MaskCircle no estará centrada en la posición real del fiducial.

Recalibre usando una referencia conocida: un fiducial que haya medido con un calibrador:

  1. Coloque la placa de referencia a la altura de la plataforma de montaje.
  2. Machine Setup → Cameras → Top Camera → Calibration → mm/Pixel Calibration.
  3. Siga el asistente con el diámetro conocido del fiducial.
  4. Guarde. Vuelva a ejecutar la detección de fiduciales.

Síntoma que apunta a esto: la detección encuentra algo, pero está desplazado del fiducial real de manera consistente entre 1 y 3 mm.

5. El fiducial no está donde OpenPnP cree que está

Si ha importado una PCB pero las coordenadas del fiducial en el archivo de la PCB no coinciden con la placa física (por ejemplo, origen incorrecto, diseño reflejado, o ha girado la placa), OpenPnP busca en el espacio vacío.

Verifique:

  • Abra el archivo de la PCB en OpenPnP y anote las coordenadas X/Y del fiducial.
  • Desplace manualmente el cabezal a esa coordenada.
  • Observe la imagen en vivo de la cámara. El fiducial debería estar aproximadamente centrado.

Si está desplazado exactamente por el ancho o alto de la placa, tiene un desajuste de origen. Vuelva a exportar la PCB con el origen establecido en el fiducial inferior izquierdo.

Lista de verificación rápida

Cuando falle la detección de fiduciales, revise esto:

  • PCB limpiada con IPA
  • Luz anular no apuntando directamente a la cámara
  • Exposición de la cámara superior no al máximo
  • Threshold y BlobDetector del pipeline de visión revisados en el editor del pipeline
  • Cámara enfocada a la altura de la PCB
  • Calibración mm/píxel realizada en el último mes
  • Coordenadas del archivo de la PCB verificadas contra la placa física

Si ha marcado todas las casillas y aún falla, el problema suele ser la propia máscara de soldadura. Pruebe con una placa de prueba diferente o con una forma de fiducial distinta (círculo de 1.5 mm en lugar de 1.0 mm).


Para una configuración de máquina que viene precalibrada para detección de fiduciales lista para usar, consulte la configuración PikkoBot JUKI — incluye un pipeline ajustado para máscaras de soldadura verde y negra estándar. Para pruebas prácticas de cámara e iluminación fuera de OpenPnP, use la Herramienta de Depuración PikkoBot.