Was macht AutoProber?
Automatisieren Sie die Hardware-Prüfung, indem Sie Computer Vision und Agenten einsetzen, um Zielpins auf Leiterplatten zu kartieren und zu testen.
Übersicht
AutoProber befähigt einen KI-Agenten, eine Leiterplatte (PCB) visuell zu analysieren, die Positionen der zu testenden Pins zu identifizieren und einen automatisierten Prüfablauf (Probing) durchzuführen. Dies eliminiert die manuelle Pin-für-Pin-Prüfung und beschleunigt die Fehlersuche und Validierung von Hardware-Prototypen.
Funktionsweise
- Bilderfassung: Der Agent nimmt ein hochauflösendes Bild der Leiterplatte auf (z. B. über eine USB-Kamera).
- Pin-Erkennung: Mithilfe von Computer Vision (z. B. OpenCV) werden die Konturen der Pins erkannt und ihre Koordinaten im Bild extrahiert.
- Probeerstellung: Basierend auf den erkannten Koordinaten wird eine Bewegungssequenz für ein motorisiertes Prüfsystem (z. B. ein XY-Tisch oder ein Roboterarm) generiert.
- Durchführung: Der Agent sendet die Sequenz an das Prüfsystem, das die Pins nacheinander kontaktiert und elektrische Messungen durchführt (z. B. Spannung, Widerstand, Signalintegrität).
- Ergebnisauswertung: Die Messdaten werden protokolliert und mit den erwarteten Werten (z. B. aus einer Netliste) abgeglichen. Abweichungen werden gemeldet.
Voraussetzungen
- Hardware:
- Kamera (z. B. USB-Kamera mit Makroobjektiv)
- Motorisiertes Prüfsystem (z. B. OpenPnP, DIY-XY-Tisch, oder Industrieroboter)
- Leiterplatte mit zugänglichen Testpunkten
- Software:
- Python 3.8+
- OpenCV (
cv2) - Kommunikationstreiber für das Prüfsystem (z. B. serielle Schnittstelle, gRPC oder ROS)
- Agenten-Plattform: Claude Code, Cursor, Codex oder ein anderer KI-Agent, der Shell-Befehle und Python-Skripte ausführen kann.
Installation
pip install opencv-python numpy pyserial
Konfiguration
Erstellen Sie eine config.yaml-Datei:
camera:
device: 0
resolution: [1920, 1080]
prober:
type: "serial"
port: "/dev/ttyUSB0"
baudrate: 115200
pin_detection:
min_area: 100
max_area: 10000
threshold: 127
Verwendung
Grundlegender Ablauf
- Legen Sie die Leiterplatte unter die Kamera.
- Führen Sie den folgenden Befehl im Agenten aus:
python auto_prober.py --config config.yaml
Der Agent öffnet dann das Kamerabild, erkennt die Pins und startet den Prüfprozess.
Integration in CI/CD
Sie können AutoProber in Ihre Hardware-Testsuite integrieren:
# .github/workflows/hardware_test.yml
jobs:
probe:
runs-on: self-hosted
steps:
- name: AutoProber Test
run: |
python auto_prober.py --config config.yaml --output results.json
Beispiel: Benutzerdefinierte Pin-Definition
import cv2
import numpy as np
# Bild laden
image = cv2.imread('pcb.jpg')
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
# Schwellwert und Konturen
_, thresh = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY)
contours, _ = cv2.findContours(thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
# Filtere Pins basierend auf Größe
pins = [c for c in contours if 100 < cv2.contourArea(c) < 10000]
print(f"Erkannte Pins: {len(pins)}")
Fehlerbehandlung
- Keine Pins erkannt: Überprüfen Sie die Kameraeinstellungen und die Beleuchtung der Platine.
- Kommunikationsfehler: Stellen Sie sicher, dass das Prüfsystem eingeschaltet und der richtige serielle Port konfiguriert ist.
- Messfehler: Kalibrieren Sie die Sonde regelmäßig und überprüfen Sie die elektrischen Anschlüsse.
Lizenz
MIT – siehe LICENSE für Details.