Flying probe compensation method and system based on PCB curved surface modeling

By using a flying probe compensation method based on PCB board surface modeling, and utilizing visual positioning and laser ranging technology to obtain a three-dimensional surface model of the PCB board, the problem of difficulty in balancing probe contact accuracy and testing efficiency caused by board warping is solved, achieving efficient and accurate testing results.

CN121385609BActive Publication Date: 2026-03-24合肥九川智能装备有限公司
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-12-25
Publication Date
2026-03-24

AI Technical Summary

Technical Problem

In existing PCB flying probe testing, it is difficult to balance probe contact accuracy and testing efficiency due to board warping, especially for complex local warping, where there is a lack of high-precision, high-efficiency non-contact measurement and adaptive compensation capabilities.

Method used

The flying probe compensation method based on PCB board surface modeling obtains the three-dimensional surface model of the PCB board through a visual positioning module and a laser ranging module, and generates the Z-axis height compensation value of the probe by using equilateral triangle mesh division and bilinear interpolation optimization.

Benefits of technology

It achieves significant optimization of testing efficiency while performing non-destructive testing, improves adaptability to complex warp morphologies and the smoothness and accuracy of probe movement, reduces mechanical errors and vibrations, and enhances the stability and accuracy of testing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121385609B_ABST
    Figure CN121385609B_ABST
Patent Text Reader

Abstract

The present application belongs to the technical field of PCB flying probe detection equipment, and particularly relates to a flying probe compensation method and system based on PCB plate curved surface modeling, which comprises the following steps: obtaining the size of a PCB plate and performing equilateral triangle grid division; in the visual alignment process, a laser ranging sensor is synchronously driven to quickly and non-contactly measure the height of the grid vertex; based on the three-dimensional coordinates of the vertex, a triangular facet is fitted through a spatial plane equation and spliced into a three-dimensional curved surface model; the area formed by the adjacent facets in the model is subjected to bilinear interpolation to smooth the curved surface; finally, an interpolation function is selected according to the position of a test point to calculate the accurate height thereof, and a probe Z-axis displacement compensation value is generated. The present application realizes high-precision measurement and adaptive compensation of the PCB plate warping, takes into account the efficiency and precision of the flying probe test, and effectively solves the problems of poor probe contact or overpressure damage caused by plate warping.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the technical field of PCB flying probe testing equipment, specifically relating to a flying probe compensation method and system based on PCB surface modeling. Background Technology

[0002] In the field of integrated circuit (IC) and printed circuit board (PCB) manufacturing, the flatness of the PCB board has a decisive impact on the precision mounting of components, soldering quality, and the electrical performance and reliability of the final product. Especially when using flying probe testing equipment for electrical verification, warping of the PCB board caused by thermal stress, uneven materials, or process fluctuations during production can directly lead to poor contact or excessive pressing of the test probes with the pads, resulting in signal acquisition failure, leaving probe marks that damage the board surface, and even causing probe wear, seriously affecting test accuracy, efficiency, and cost. According to PCB process standards and specifications, most industries default to a warping degree ≤0.75% (i.e., 0.75% of the diagonal length).

[0003] The current mainstream approach is to use closed-loop motion control in the Z-axis direction, which means that the probe moves in the Z-axis direction and contacts the pad, and then uses pressure feedback to achieve the control. However, this results in a sacrifice of testing efficiency (mainly because the controller constantly calculates and compares the feedback value with the preset target value during the Z-axis closed-loop motion control).

[0004] In addition, because the degree of warping of a PCB board is proportional to its size, and the types of warping are divided into bowl-shaped warping, saddle-shaped warping, edge warping, torsional deformation and local concave and convex warping, especially local concave and convex warping, is the most lacking and most difficult problem to solve in the current precision compensation solution for PCB board warping. Summary of the Invention

[0005] The purpose of this invention is to provide a flying probe compensation method and system based on PCB board surface modeling, so as to solve the problem that it is difficult to balance probe contact accuracy and testing efficiency due to board warping in existing PCB flying probe testing, especially the lack of high-precision and high-efficiency non-contact measurement and adaptive compensation capabilities for complex local warping.

[0006] The present invention achieves the above objectives through the following technical solutions:

[0007] Firstly, this invention proposes a flying probe compensation method based on PCB surface modeling, applied to a PCB flying probe testing device with a visual positioning module. The method includes:

[0008] Obtain the size information of the PCB board to be tested, and divide it into equilateral triangle grids within the test point area on its board surface;

[0009] During the visual alignment process of the PCB board under test, the visual positioning module controls the ranging module to move synchronously to the alignment point of the equilateral triangle grid to measure the distance and obtain the ranging information of each alignment point in the equilateral triangle grid.

[0010] The alignment points include grid vertices, and the ranging information includes the Z-axis height value of each alignment point;

[0011] Based on the distance measurement information of each pair of points, the corresponding triangular facets are fitted by the spatial plane equation, and all the triangular facets are spliced ​​together to form a three-dimensional curved surface model of the PCB board under test.

[0012] In the three-dimensional surface model, interpolation calculations are performed on the region composed of multiple adjacent triangular patches to generate a smoothed three-dimensional surface model.

[0013] Based on the smoothed 3D surface model, the height value of each test point on the PCB board under test is determined, and the Z-axis height compensation value of the flying probe test device is generated.

[0014] Furthermore, the step of dividing the test point area on the plate surface into equilateral triangular meshes includes:

[0015] Based on the position coordinates of all test points on the PCB board under test, determine the smallest rectangular area that covers all test points;

[0016] Using the diagonal of the smallest rectangular area as a reference, the area is divided according to the preset side length of the equilateral triangle grid, wherein the side length of the equilateral triangle grid is determined according to the size information of the PCB board to be tested;

[0017] During the meshing process, the vertices of the generated equilateral triangle mesh are controlled to coincide with the physical corners, the centers of the positioning holes, and the centers of the densely distributed test point groups of the PCB board under test.

[0018] For the portion located at the edge of the minimum rectangular region that cannot be completely covered by a complete equilateral triangle, non-equilateral triangles are added or the side lengths of the equilateral triangles are locally adjusted to ensure that the generated mesh continuously covers the entire minimum rectangular region.

[0019] Furthermore, the ranging module is fixedly mounted on the visual positioning module, and controlling the synchronous movement of the ranging module includes:

[0020] During the process of the visual positioning module moving from the Nth optical alignment marker point to the (N+1)th optical alignment marker point, the ranging module is controlled to move and measure distances according to a pre-planned motion trajectory covering all the vertices of the grid to be measured within this moving interval; where N is an integer greater than or equal to 1.

[0021] Furthermore, before fitting the triangular facets, the method further includes:

[0022] If the vertex distance measurement information exceeds the over-limit threshold of the corresponding vertex, then an auxiliary measurement point is added in the equilateral triangle grid. The auxiliary measurement point is used as the alignment point, and the distance measurement information of the auxiliary measurement point is repeatedly obtained to update the distance measurement information of each alignment point.

[0023] Furthermore, the step of fitting the corresponding triangular patch based on the ranging information of each pair of points using a spatial plane equation includes:

[0024] For any triangle formed by vertices P1(x1,y1,z1), P2(x2,y2,z2), and P3(x3,y3,z3), calculate two edge vectors:

[0025] vector ,vector ;

[0026] Calculate the cross product of the two edge vectors to obtain the normal vector of the plane containing the triangle. As shown in the following formula:

[0027] ;

[0028] According to the normal vector Given the coordinates of any vertex, the spatial plane equation of the triangular facet is determined as follows: .

[0029] Furthermore, the interpolation calculation for the region composed of multiple adjacent triangular patches specifically involves bilinear interpolation, including:

[0030] From the three-dimensional surface model, identify the four adjacent triangular facets that constitute the arbitrary quadrilateral region;

[0031] Extract the four corner points A, B, C, D and their three-dimensional coordinates of any quadrilateral region enclosed by four triangular patches;

[0032] Constructing a bilinear interpolation function ;

[0033] Substitute the coordinates of the four corner points A, B, C, and D into the interpolation function to obtain the coefficients a, b, c, and d.

[0034] Using the solved interpolation function, recalculate the height Z of all points within the quadrilateral region.

[0035] Furthermore, the identification of four adjacent triangular facets constituting an arbitrary quadrilateral region specifically involves:

[0036] The four vertices of the convex quadrilateral region are used as interpolation nodes;

[0037] Identify the four triangular facets formed by the convex quadrilateral region;

[0038] The four triangular facets share a side with each other and together cover and enclose the convex quadrilateral region.

[0039] Furthermore, based on the smoothed 3D surface model, the height values ​​of each test point on the PCB board under test are determined. For test points at the boundaries, the centroid coordinate method is used to determine the triangular patch or interpolation calculation region to which they belong. Specifically, this includes:

[0040] Obtain a candidate triangle patch or the base triangle of the interpolation calculation region consisting of vertices P1(x1,y1,z1), P2(x2,y2,z2), and P3(x3,y3,z3);

[0041] For test points Calculate its centroid coordinates relative to the basic triangle. ,in ;

[0042] like If so, the test point Q is determined to be located within the candidate triangle facet or interpolation calculation region;

[0043] like If a negative value exists, the test point Q is determined not to belong to the current candidate region, and the adjacent triangular facet or interpolation calculation region is switched as the new candidate region. The above calculation and judgment process is repeated until the region to which it belongs is determined.

[0044] Furthermore, generating the Z-axis height compensation value of the flying probe testing device includes: using the height value Z of the test point as the displacement compensation amount for controlling the Z-axis movement of the corresponding probe in the flying probe testing device.

[0045] Secondly, this invention proposes a flying needle compensation system based on PCB board surface modeling, used to implement the steps of the flying needle compensation method described above. The system includes:

[0046] The mesh generation module is used to obtain the size information of the PCB board under test and to divide it into equilateral triangle meshes within the test point area on the board surface.

[0047] The ranging control module is used to control the ranging module to move synchronously to the alignment point of the equilateral triangle grid during the visual alignment process of the visual positioning module on the PCB board to be tested, so as to obtain the ranging information of each alignment point in the equilateral triangle grid.

[0048] The surface modeling module is used to fit the corresponding triangular facets based on the distance measurement information of each alignment point through the spatial plane equation, and to stitch all the triangular facets together to form a three-dimensional surface model of the PCB board under test.

[0049] The interpolation optimization module is used to perform interpolation calculations on the region composed of multiple adjacent triangular patches in the three-dimensional surface model to generate a smoothed three-dimensional surface model.

[0050] The height compensation generation module is used to determine the height value of each test point on the PCB board under test based on the smoothed three-dimensional surface model, and generate the Z-axis height compensation value of the flying probe test device.

[0051] The beneficial effects of this invention are as follows:

[0052] 1. This invention combines a non-contact single-laser ranging sensor with a simplified equilateral triangular mesh, significantly optimizing testing efficiency while ensuring non-destructive testing. Compared to traditional full-surface high-density scanning, this invention achieves high-precision modeling of the board surface morphology using discrete measurement points with controllable density, greatly reducing data acquisition and processing time. This effectively matches the fast-paced demands of flying probe testing equipment in small-batch, multi-variety production models. Crucially, the laser ranging process is cleverly integrated into the visual alignment window for parallel execution, minimizing the time overhead introduced by additional scanning procedures.

[0053] 2. This invention exhibits excellent adaptability to various complex warping patterns. The equilateral triangular mesh possesses good geometric flexibility and continuity, and can cover irregular areas at the PCB edge without blind spots by supplementing with non-equilateral small triangles or locally adjusting the side lengths, effectively eliminating measurement blind spots that may exist in traditional rectangular meshes. This particularly improves the compensation accuracy for difficult problems such as local concave and convex warping.

[0054] 3. The smooth three-dimensional curved surface model constructed in this invention fundamentally ensures the stability and contact reliability of the probe movement. Through bilinear interpolation optimization, the height jumps that may occur at the boundaries of the piecewise planar model are eliminated, enabling the probe to achieve a continuous and smooth transition in Z-axis height when crossing different regions. This significantly reduces mechanical errors and vibrations caused by frequent fine-tuning, thereby improving the overall stability and accuracy of flying probe testing. Attached Figure Description

[0055] Figure 1 This is a flowchart of a flying needle compensation method based on PCB board surface modeling in this invention;

[0056] Figure 2 This is another flowchart of the flying needle compensation method based on PCB board surface modeling in this invention;

[0057] Figure 3 This is a system block diagram of the flying needle compensation system based on PCB board surface modeling in this invention;

[0058] Figure 4 This is a schematic diagram of a rectangular area formed on a PCB board in this invention;

[0059] Figure 5 This is a schematic diagram illustrating the mesh division within a rectangular area formed on a PCB board in this invention. Detailed Implementation

[0060] The present application will now be described in further detail with reference to the accompanying drawings. It should be noted that the following specific embodiments are only used to further illustrate the present application and should not be construed as limiting the scope of protection of the present application. Those skilled in the art can make some non-essential improvements and adjustments to the present application based on the above application content.

[0061] This disclosure provides a flying probe compensation method and system based on PCB board surface modeling. Please refer to the attached figures. Figures 1-3 The method and system described herein can be applied to PCB flying probe testing equipment equipped with a visual positioning module and a laser ranging module, as well as corresponding computer program products and computer-readable storage media. Example

[0062] This embodiment uses the method applied to a flying probe testing device that integrates the above modules as an example. The following will be combined with the attached... Figures 1-2 This paper elaborates on the flying needle compensation method based on PCB surface modeling.

[0063] A flying probe compensation method based on PCB surface modeling is applied to a PCB flying probe testing device with a vision positioning module. The method includes the following steps:

[0064] S1. Obtain the size information of the PCB board to be tested, and divide it into equilateral triangle meshes within the test point area (effective test area) on its board surface.

[0065] Specifically, the host computer obtains the dimensions, thickness, and boundary coordinates of the Board Under Test (BUT) area by reading the CAD design file of the PCB board under test or through operator input. Meshing aims to subsequently construct a discrete but regular 3D surface model of the PCB board. Equilateral triangles are chosen because they are the simplest polygons capable of seamlessly tiling a plane, covering arbitrarily complex areas with minimal side length while ensuring geometric continuity between adjacent faces.

[0066] In a preferred embodiment, equilateral triangular meshing is performed within the test point area on the plate surface, including:

[0067] Combination Figure 4 and Figure 5 Based on the position coordinates of all test points on the PCB board to be tested (the position of each test point on the PCB is known), the smallest rectangular area covering all test points is determined; using the diagonal of the smallest rectangular area as a reference, it is divided according to the preset side length of the equilateral triangle grid. The side length of the equilateral triangle grid is determined according to the size information of the PCB board to be tested. Specifically, the size and thickness of the board to be tested can be obtained by importing the PCB data of the board to be tested into the flying probe machine.

[0068] During the partitioning process, the vertices of the generated equilateral triangle mesh are controlled to coincide with the physical corners, the centers of the positioning holes, and the centers of the densely distributed test points on the PCB board under test. For the parts located at the edge of the minimum rectangular area that cannot be completely covered by a complete equilateral triangle, non-equilateral triangles are added or the side lengths of the equilateral triangles are locally adjusted so that the generated mesh continuously covers the entire minimum rectangular area.

[0069] Specifically, during mesh generation, the generated mesh vertices are actively aligned with key physical feature points on the PCB under test. These feature points include: physical corner points of the board, the centers of positioning holes used for mechanical positioning, and the geometric centers of densely distributed test points (pads). This minimizes the spatial distance between the measurement points (mesh vertices) and the actual test points requiring compensation, thereby reducing the deviation introduced by plane equation fitting and interpolation calculations, and directly improving the accuracy of the final compensation value.

[0070] Since the PCB board under test may not be a regular rectangle, or the boundaries of the effective test area may be irregular, complete equilateral triangles may not be generated in the edge areas. Therefore, this embodiment employs two flexible strategies to ensure full mesh coverage:

[0071] (1) Supplement with non-equilateral triangles, usually smaller right triangles or acute triangles, to fill irregular boundaries;

[0072] (2) The side lengths of the equilateral triangles at the edges are locally adjusted to shorten them to fit the boundary contour. These processes ensure that the generated mesh model can continuously and completely cover the entire area to be measured, avoiding compensation blind spots.

[0073] S2. During the visual alignment of the PCB board under test, the visual positioning module controls the ranging module to move synchronously to the alignment point of the equilateral triangle grid to measure the distance and obtain the ranging information of each alignment point in the equilateral triangle grid; the alignment point includes the grid vertex, and the ranging information includes the Z-axis height value of each alignment point.

[0074] Specifically, after the device is started, the visual positioning module (usually a high-precision CCD camera) finds and precisely positions the PCB board according to a preset path (usually based on the position planning of optical alignment marks in the PCB design file). The key is that the movement of the ranging module (preferably a single-point laser displacement sensor) fixedly installed next to the visual positioning module is synchronized with the camera's alignment process.

[0075] In a preferred embodiment, the ranging module is fixedly mounted on the visual positioning module, and controlling the synchronous movement of the ranging module includes:

[0076] (1) Hardware calibration: The ranging module is connected to the vision positioning module through a rigid structure. The spatial relative position between the two (including the fixed offset in the X and Y directions and the installation height difference in the Z direction) has been accurately measured and stored in the system through a pre-calibration process. This allows the coordinates of any point identified by the vision system to be converted into the accurate theoretical coordinates of the light spot of the ranging module in real time.

[0077] (2) Segmented Parallel Measurement: The visual positioning module sequentially positions multiple (usually 4) optical alignment marks on the PCB board. During the time interval between the camera's alignment from the Nth mark point and its movement towards the (N+1)th mark point, the motion control system drives the ranging module to move along an optimal path pre-planned by the host computer. This path is specifically designed to pass through and cover all the grid vertices to be measured in the space near the line connecting the current two mark points. The ranging module moves along this path, briefly pausing (e.g., 1-4ms) at each vertex coordinate position and triggering laser ranging to record the three-dimensional coordinates (X, Y, Z) of that point, where the Z value is the height relative to the device reference plane. This design utilizes the inherent device movement time during the alignment process, enabling the data acquisition of almost all grid vertices to be completed simultaneously with the alignment of the last mark point. This is the key to the efficiency breakthrough of this method compared to traditional sequential scanning or contact feedback.

[0078] In a preferred embodiment, the method further includes outlier detection and data augmentation before fitting the triangular facets:

[0079] The system compares the real-time collected height values ​​(Z values) of each vertex with a preset global or local height threshold range. This threshold range can be set based on the nominal thickness of the PCB board, historical warpage data, or process specifications.

[0080] If the height value of a vertex is found to significantly exceed the threshold (e.g., an unusual peak or valley), it is determined that there may be severe local warping (such as a bulge or depression) in that area. One or two auxiliary measurement points (e.g., the centroid of the triangle or the midpoint of a side) will be automatically added inside the equilateral triangle containing the abnormal vertex to refine the data on local warping.

[0081] Subsequently, the control ranging module performs supplementary measurements on these newly added auxiliary measuring points and updates and integrates the obtained more refined height data into the original vertex ranging information set.

[0082] S3. Based on the distance measurement information of each pair of points, the corresponding triangular facets are fitted by the spatial plane equation, and all the triangular facets are spliced ​​together to form a three-dimensional curved surface model of the PCB board to be tested.

[0083] Specifically, after acquiring the 3D coordinates of all mesh vertices, the process moves to the surface modeling stage. The core of this stage is transforming discrete vertex measurement data into a mathematical model that can continuously characterize the warping morphology of the entire PCB board surface. Since each equilateral triangle can be considered a tiny local region on the PCB board surface, and the three vertices can uniquely define a spatial plane, this method employs a piecewise plane fitting strategy to construct a global surface model.

[0084] In a preferred embodiment, based on the ranging information of each pair of points, the corresponding triangular patches (each patch representing a local microplane) are fitted using a spatial plane equation, including:

[0085] For the vertex For any triangle formed, calculate the two side vectors (non-collinear vectors), usually taking the first one from the second side. point to and point to vector:

[0086] vector ,vector .

[0087] Calculate the cross product of two edge vectors to obtain the normal vector of the plane containing the triangle. As shown in the following formula:

[0088] ;

[0089] The calculated (A,B,C) is the normal vector coordinate of the plane containing the triangle, which defines the spatial orientation of the local plane.

[0090] In three-dimensional space, a plane can be uniquely determined by its normal vector and any point on the plane. Using the normal vector obtained in the previous step... Given the coordinates of any vertex, the spatial plane equation of the triangular facet is determined as follows: .

[0091] If the vertex ( (Number any vertex) Substitute into the plane equation ,get .

[0092] Understandably, through the steps described above, each triangle in the mesh is assigned a mathematical description, representing a tiny planar region. Subsequently, these independent triangular faces are logically connected and associated through their shared vertices. Internally, this is typically achieved using a data structure (such as a "vertex-face" index table): the coordinates of all unique vertices form a list, and each triangular face records the index numbers of its three vertices in this list and their corresponding plane equation coefficients (A, B, C, D). Thus, a three-dimensional surface model, composed of numerous tiny planes, completely covering the effective test area of ​​the PCB board, is constructed. This model can intuitively and quantitatively reflect the overall warping trend of the PCB board (such as bowl-shaped or saddle-shaped) and local height variations.

[0093] S4. In the three-dimensional surface model, interpolation calculations are performed on the region composed of multiple adjacent triangular patches to generate a smoothed three-dimensional surface model.

[0094] It should be noted that after constructing the initial 3D surface model by piecing together triangular facets, since each facet is an independent spatial plane, there may be abrupt changes in height (Z value) at the common boundary of adjacent facets. This results in a noticeable angularity on the surface. To eliminate this discontinuity, this disclosure performs interpolation smoothing optimization on the model. Specifically, a local region consisting of four adjacent triangular facets is selected. These four facets surround a central vertex, forming a convex quadrilateral region. Within this quadrilateral region, based on the known coordinates of its four corner points, the height Z-values ​​of all points within the region are recalculated using a bilinear interpolation method. This method effectively achieves a continuous and smooth transition of Z-values ​​at the common boundary, significantly eliminating the angularity caused by discretization modeling while preserving the local warped morphological characteristics. Ultimately, it generates a smooth, abrupt, and physically realistic 3D surface model, providing a data foundation for subsequent probe motion compensation.

[0095] In a preferred embodiment, interpolation calculations are performed on a region composed of multiple adjacent triangular patches, specifically bilinear interpolation, including:

[0096] From the 3D surface model, suitable local regions for smoothing are identified. A preferred identification method is as follows: using the four vertices of the convex quadrilateral region as interpolation nodes; identifying four triangular facets formed by the convex quadrilateral region; wherein each of the four triangular facets shares an edge and collectively covers and encloses the convex quadrilateral region. These four triangles together constitute a local region containing a potential boundary intersection point (i.e., a common vertex) that needs to be smoothed. This approximately rhomboid quadrilateral region is the basic unit for the smoothing operation in this method.

[0097] For a quadrilateral region identified as being enclosed by four triangles, its four corner points (i.e., outer vertices) A, B, C, D and their three-dimensional coordinates are extracted. The three-dimensional coordinates of these four corner points are known (from the measurement data in step S2), and they will be used as control points for bilinear interpolation.

[0098] Within the two-dimensional planar projection region (XY plane) defined by points A, B, C, and D, construct a bilinear interpolation function to describe the height corresponding to any point (x, y) within this region. .

[0099] Here, a, b, c, and d are the coefficients to be determined. To determine these four coefficients, the coordinates of the four corner points A, B, C, and D are substituted into the above equations, resulting in a system of four linear equations. By solving this system of equations, the values ​​of the coefficients a, b, c, and d can be uniquely determined. Thus, a continuous and smooth surface function that can accurately fit the heights of the four corner points of the quadrilateral region can be obtained.

[0100] Using the solved bilinear interpolation function, the height Z of all points of interest within the quadrilateral region (especially the locations where subsequent test points might fall) is recalculated. This newly calculated height field is continuous and smoothly varying throughout the quadrilateral region, covering the previously calculated height values, which might have abrupt changes, derived from four independent plane equations within the region. This step mathematically smooths the height transition within the region without altering the measurements of the boundary vertices (A, B, C, D).

[0101] S5. Based on the smoothed 3D surface model, determine the height value of each test point on the PCB board to be tested, and generate the Z-axis height compensation value of the flying probe tester.

[0102] Specifically, when the flying probe testing equipment needs to test a specific location (pad) on the PCB board, it can quickly and accurately query the theoretical height of that point from the smoothed three-dimensional surface model and convert it into control commands to drive the probe movement.

[0103] In a preferred embodiment, the height value of each test point on the PCB board under test is determined based on the smoothed 3D surface model. For test points at the boundaries, the centroid coordinate method is used to determine the triangular facet or interpolation calculation region to which they belong. Specifically, this includes:

[0104] Get a set of vertices The candidate triangular patch or the base triangle of the interpolation calculation region; for the test point Calculate its centroid coordinates relative to the basic triangle. ,in ;like and Then it is determined that the test point Q is located within the candidate triangle facet or interpolation calculation region; if If a negative value exists, the test point Q is determined not to belong to the current candidate region, and the adjacent triangular facet or interpolation calculation region is switched as the new candidate region. The above calculation and judgment process is repeated until the region to which it belongs is determined.

[0105] In a preferred embodiment, generating the Z-axis height compensation value of the flying probe testing device includes: using the height value Z of the test point as the displacement compensation amount for controlling the Z-axis movement of the corresponding probe in the flying probe testing device.

[0106] To compensate for board warping, the target Z-axis position of the flying probe needs to be adjusted based on this height when it moves to the testing point. Therefore, this height value Z is used directly (or after simple coordinate transformation and unit conversion) as the displacement compensation amount for controlling the corresponding probe's Z-axis servo motion in the flying probe testing equipment. The equipment control system receives this compensation amount and adds it to the probe's preset motion trajectory.

[0107] According to the above embodiments, during technical implementation, the effective test area of ​​the PCB board is first divided into equilateral triangular meshes. A laser rangefinder integrated into the vision positioning module is used to simultaneously collect height data of all mesh vertices during alignment. Subsequently, based on the discrete vertex data, each triangular facet is fitted using a spatial plane equation and stitched together to form a preliminary surface model. To eliminate the sharp edges and height jumps caused by the piecewise plane fitting, a bilinear interpolation optimization step is further introduced to smooth the area formed by adjacent triangular facets, generating a transitionally continuous and physically realistic 3D surface. Finally, for any test point, the centroid coordinate method is used to accurately locate its corresponding smooth area. The precise height value is calculated using the corresponding mathematical function (plane equation or interpolation function) and directly converted into the Z-axis motion compensation amount of the flying probe. Example

[0108] One embodiment of the present invention proposes a flying probe compensation system based on PCB board surface modeling to implement the steps of the flying probe compensation method as described in Embodiment 1. In practical applications, the flying probe compensation system is typically embedded as a software module within the host computer control system of the flying probe testing equipment. In one specific implementation, the system is implemented as a set of executable instructions stored in the non-volatile memory (such as a solid-state drive or FLASH chip) of the flying probe testing equipment. When the equipment starts the testing process, the central processing unit loads and executes these instructions, thereby driving the hardware to complete the fully automated operation from PCB board warpage modeling to probe compensation.

[0109] The system includes:

[0110] The mesh generation module is used to obtain the size information of the PCB board under test and to divide it into equilateral triangle meshes within the test point area on the board surface. Its execution process includes: using the diagonal of the effective test area as a reference, dynamically calculating and determining the side length parameters of the equilateral triangles according to preset rules (such as a mapping relationship table between side length and board size) or user input; generating an equilateral triangle mesh covering the entire area, and performing alignment optimization between vertices and physical feature points.

[0111] The ranging control module is used by the vision positioning module to control the ranging module to move synchronously to the alignment points of the equilateral triangle grid during the visual alignment process of the PCB board under test, and to obtain the ranging information of each alignment point in the equilateral triangle grid. Its execution process includes: receiving the Mark point coordinates and device movement status provided by the vision positioning module in real time; and, based on pre-stored calibration parameters and planned paths, synchronously triggering laser ranging during the intervals of camera alignment movement. After the ranging is completed, this module is responsible for receiving and verifying the raw height data returned by the sensor, binding it with the corresponding vertex plane coordinates (X, Y) to form a ranging information dataset.

[0112] The surface modeling module is used to fit corresponding triangular facets based on the distance measurement information of each alignment point, using spatial plane equations, and then stitching together all triangular facets to form a 3D surface model of the PCB board under test. Its execution process includes: traversing all triangular elements in the mesh; for each element, calculating the plane normal vector according to the cross product formula based on the 3D coordinates of its three vertices, and then deriving the plane equation coefficients (A, B, C, D). Subsequently, a data model relating "facets to vertices" is constructed, and all triangular facets and their plane equation coefficients are represented as a set, forming a discrete 3D surface model that can characterize the warping of the entire board surface.

[0113] The interpolation optimization module is used to perform interpolation calculations on regions composed of multiple adjacent triangular patches in a 3D surface model to generate a smoothed 3D surface model. Its execution process includes: first, performing region identification by scanning the entire mesh to find all groups of four adjacent triangles that share a common vertex and form a convex quadrilateral. For each identified quadrilateral region, the 3D coordinates of its four corner points are extracted, and a system of four linear equations with bilinear interpolation coefficients a, b, c, and d is constructed and the coefficients are calculated. Subsequently, within the planar projection area covered by the quadrilateral region, the module uses the obtained interpolation function... The height of all interpolation points in the region is recalculated, and the smoothed height values ​​are used to cover the original values ​​calculated based on the plane equations, thereby generating a smoothed 3D surface model.

[0114] The height compensation generation module is used to determine the height value of each test point on the PCB board under test based on the smoothed 3D surface model, and generate the Z-axis height compensation value of the flying probe test equipment.

[0115] The height compensation generation module is invoked in real time during the flying probe test. When the test program specifies the coordinates (X, Y) of the next test point, this module first performs a spatial query in the smoothed surface model. The query process implements the centroid coordinate method in Example 1: based on the test point coordinates, it quickly locates the quadrilateral interpolation region (or its basic triangle) in the model, and confirms its affiliation by calculating the centroid coordinates. Once the region is confirmed, the corresponding interpolation function (or plane equation) is called, and the accurate Z value is calculated by substituting (X, Y). Finally, this module uses this Z value as the displacement compensation amount and sends it to the Z-axis servo driver corresponding to the flying probe, driving the probe to perform a contact test with the compensated Z-axis height when it reaches the target X, Y position.

[0116] It should be noted that each module in the above-mentioned flying needle compensation system corresponds to a step in implementing the above-mentioned flying needle compensation method. The instances and application scenarios implemented by multiple modules and their corresponding steps are the same, but are not limited to the content disclosed in the above-mentioned embodiment 1.

[0117] In another embodiment of the present invention, a computer-readable storage medium is also provided, which stores a computer program that, when executed by a processor, implements the steps of any of the above-described flying needle compensation methods.

[0118] In another embodiment of the present invention, a computer program product containing instructions is also provided, which, when run on a computer, causes the computer to perform the steps of any of the flying needle compensation methods described above.

[0119] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of the present invention are generated.

[0120] The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions may be transmitted from one website, computer, server, or data center to another via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium may be any available medium that a computer can access, or a data storage device such as a server or data center that integrates one or more available media. The available medium may be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., a solid-state drive (SSD)).

[0121] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0122] In addition, the functional modules in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.

[0123] The above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application.

Claims

1. A flying probe compensation method based on PCB surface modeling, applied to a PCB flying probe testing device with a vision positioning module, characterized in that, The method includes: Obtain the size information of the PCB board to be tested, and divide it into equilateral triangle meshes within the test point area on its board surface; During the visual alignment process of the PCB board under test, the visual positioning module controls the ranging module to move synchronously to the alignment point of the equilateral triangle grid to measure the distance and obtain the ranging information of each alignment point in the equilateral triangle grid. The alignment points include grid vertices, and the ranging information includes the Z-axis height value of each alignment point; Based on the distance measurement information of each pair of points, the corresponding triangular facets are fitted by the spatial plane equation, and all the triangular facets are spliced ​​together to form a three-dimensional curved surface model of the PCB board under test. In the three-dimensional surface model, interpolation calculations are performed on the region composed of multiple adjacent triangular patches to generate a smoothed three-dimensional surface model. Based on the smoothed 3D surface model, the height value of each test point on the PCB board under test is determined, and the Z-axis height compensation value of the flying probe test device is generated.

2. The flying probe compensation method based on PCB board surface modeling according to claim 1, characterized in that, The process of dividing the test point area on the plate into equilateral triangular meshes includes: Based on the position coordinates of all test points on the PCB board under test, determine the smallest rectangular area that covers all test points; Using the diagonal of the smallest rectangular area as a reference, the area is divided according to the preset side length of the equilateral triangle grid, wherein the side length of the equilateral triangle grid is determined according to the size information of the PCB board to be tested; During the meshing process, the vertices of the generated equilateral triangle mesh are controlled to coincide with the physical corners, the centers of the positioning holes, and the centers of the densely distributed test point groups of the PCB board under test. For the portion located at the edge of the minimum rectangular region that cannot be completely covered by a complete equilateral triangle, non-equilateral triangles are added or the side lengths of the equilateral triangles are locally adjusted to ensure that the generated mesh continuously covers the entire minimum rectangular region.

3. The flying probe compensation method based on PCB board surface modeling according to claim 2, characterized in that, The ranging module is fixedly mounted on the visual positioning module, and controlling the synchronous movement of the ranging module includes: During the process of the visual positioning module moving from the Nth optical alignment marker point to the (N+1)th optical alignment marker point, the ranging module is controlled to move and measure distances according to a pre-planned motion trajectory covering all the vertices of the grid to be measured within this moving interval; where N is an integer greater than or equal to 1.

4. The flying probe compensation method based on PCB board surface modeling according to claim 1, characterized in that, Before fitting the triangular facet, the method further includes: If the vertex distance measurement information exceeds the over-limit threshold of the corresponding vertex, then an auxiliary measurement point is added in the equilateral triangle grid. The auxiliary measurement point is used as the alignment point, and the distance measurement information of the auxiliary measurement point is repeatedly obtained to update the distance measurement information of each alignment point.

5. The flying probe compensation method based on PCB board surface modeling according to claim 1, characterized in that, The process of fitting the corresponding triangular patch based on the ranging information of each pair of points using a spatial plane equation includes: For any triangle formed by vertices P1(x1,y1,z1), P2(x2,y2,z2), and P3(x3,y3,z3), calculate two edge vectors: vector ,vector ; Calculate the cross product of the two edge vectors to obtain the normal vector of the plane containing the triangle. As shown in the following formula: ; According to the normal vector Given the coordinates of any vertex, the spatial plane equation of the triangular facet is determined as follows: .

6. The flying probe compensation method based on PCB board surface modeling according to claim 5, characterized in that, The interpolation calculation for the region composed of multiple adjacent triangular patches is specifically bilinear interpolation, including: From the three-dimensional surface model, identify the four adjacent triangular facets that constitute the arbitrary quadrilateral region; Extract the four corner points A, B, C, D and their three-dimensional coordinates of any quadrilateral region enclosed by four triangular patches; Constructing a bilinear interpolation function ; Substitute the coordinates of the four corner points A, B, C, and D into the interpolation function to obtain the coefficients a, b, c, and d. Using the solved interpolation function, recalculate the height Z of all points within the quadrilateral region.

7. The flying probe compensation method based on PCB board surface modeling according to claim 6, characterized in that, The identification of four adjacent triangular facets constituting an arbitrary quadrilateral region specifically involves: The four vertices of the convex quadrilateral region are used as interpolation nodes; Identify the four triangular facets formed by the convex quadrilateral region; The four triangular facets share a side with each other and together cover and enclose the convex quadrilateral region.

8. The flying probe compensation method based on PCB board surface modeling according to claim 6, characterized in that, Based on the smoothed 3D surface model, the height values ​​of each test point on the PCB board under test are determined. For test points at the boundaries, the centroid coordinate method is used to determine the triangular facet or interpolation calculation region to which they belong. Specifically, this includes: Obtain a candidate triangle patch or the base triangle of the interpolation calculation region consisting of vertices P1(x1,y1,z1), P2(x2,y2,z2), and P3(x3,y3,z3); For the test point Q(x, y), calculate its centroid coordinates relative to the basic triangle. ,in ; like and If so, the test point Q is determined to be located within the candidate triangle facet or interpolation calculation region; like If a negative value exists, the test point Q is determined not to belong to the current candidate region, and the adjacent triangular facet or interpolation calculation region is switched as the new candidate region. The above calculation and judgment process is repeated until the region to which it belongs is determined.

9. The flying probe compensation method based on PCB board surface modeling according to claim 8, characterized in that, The method of generating the Z-axis height compensation value of the flying probe testing device includes: using the height value Z of the test point as the displacement compensation amount for controlling the Z-axis movement of the corresponding probe in the flying probe testing device.

10. A flying probe compensation system based on PCB board surface modeling, used to implement the steps of the flying probe compensation method as described in any one of claims 1-9, characterized in that, The system includes: The mesh generation module is used to obtain the size information of the PCB board under test and to divide it into equilateral triangle meshes within the test point area on the board surface. The ranging control module is used to control the ranging module to move synchronously to the alignment point of the equilateral triangle grid during the visual alignment process of the visual positioning module on the PCB board to be tested, so as to obtain the ranging information of each alignment point in the equilateral triangle grid. The surface modeling module is used to fit the corresponding triangular facets based on the distance measurement information of each alignment point through the spatial plane equation, and to stitch all the triangular facets together to form a three-dimensional surface model of the PCB board under test. The interpolation optimization module is used to perform interpolation calculations on the region composed of multiple adjacent triangular patches in the three-dimensional surface model to generate a smoothed three-dimensional surface model. The height compensation generation module is used to determine the height value of each test point on the PCB board under test based on the smoothed three-dimensional surface model, and generate the Z-axis height compensation value of the flying probe test device.

Citation Information

Patent Citations

  • Method and device for controlling motion of flying probe tester on the basis of measure point distance

    CN106019122A

  • Flying probe machine correction assembly and correction method for detecting PCB

    CN115480151A