Stress calculation method for circuit board soldering process
By using Python scripts and the TCL script of Hypermesh software to automate the processing of boundary conditions and loads in the circuit board soldering process, the problem of cumbersome thermal analysis operations in the circuit board soldering process is solved, and rapid stress calculation is achieved.
Patent Information
- Application Number
- CN202411318039.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-20
- Publication Date
- 2025-12-26
- Estimated Expiration
- 2044-09-20
AI Technical Summary
In existing technologies, thermal analysis of circuit board soldering processes is cumbersome, time-consuming, and affects soldering quality.
Information is extracted from the INP model files of circuit boards and components using Python scripts. Then, the boundary conditions and loads are automatically processed using the TCL scripts and ABAQUS of the Hypermesh software to perform stress calculations during the circuit board soldering process.
It simplifies stress analysis in the circuit board soldering process, improves operational efficiency, and shortens analysis time.
Smart Images

Figure CN119089752B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The application belongs to the technical field of computer-aided design, and particularly relates to a stress calculation method for a circuit board welding process. BACKGROUND
[0002] When the stress value in the circuit board welding process exceeds the allowable range, the welding quality will be affected, so the circuit board welding process needs to be simulated and adjusted according to the simulation result to preclude the case of excessive stress value. In the current method of thermal analysis by computer, most of them are still through the interface of ABAQUS software to apply boundary conditions, and then use ABAQUS to calculate, or through the interface of hypermesh software to apply boundary conditions to the model, and then import ABAQUS for direct calculation. The two methods are tedious in modeling operation and require a long time. SUMMARY
[0003] In view of the problem of tedious operation and long time required in the thermal analysis process of the circuit board welding simulation, the application provides a stress calculation method for a circuit board welding process.
[0004] The stress calculation method for the circuit board welding process comprises the following steps.
[0005] S31: A python script extracts information of the circuit board and components from INP model files of the circuit board and components;
[0006] S32: Apply solder to the bottom of the pin shell unit component and apply solder to the bottom of the entity unit component that needs to add solder;
[0007] S33: Assemble the components on the circuit board;
[0008] S34: In the TCL script, set Tie contact between the components and the circuit board;
[0009] S35: Import the temperature curve of the whole circuit board assembled with the components in the TCL script;
[0010] S36: Create a load in the TCL script;
[0011] S37: According to the temperature curve in S34, create a static analysis step of the corresponding components to calculate the stress of the circuit board welding process.
[0012] In one embodiment, S31 comprises extracting information of the circuit board and components from INP model files of the circuit board and components.
[0013] S311: Read the grid node position information of the components, save all the node position information of the bottom and top of the components;
[0014] S312: reading the components of the component, judging the type of the component, the type of the component including the entity class, the pin shell unit class and the beam unit class;
[0015] S313: saving the name of each component of the component, the corresponding material and the local coordinate system name;
[0016] S314: judging the contact type of the component, including judging whether the component has contact and judging whether there is point and surface contact type in the contact of the pin shell unit model of the component;
[0017] S315: judging whether there is a special mark, if so, reading the special mark.
[0018] In an embodiment, S31 further includes deleting the repeated component name and material name.
[0019] In an embodiment, the application of solder on the bottom of the pin shell unit class component in S32 includes:
[0020] S321: judging whether the pin direction of the pin shell unit class component is along the X axis or the Y axis;
[0021] S322: for the pin shell unit class component with pin direction along the Y axis:
[0022] In the positive X coordinate of the bottom coordinate of the pin shell unit class component: the point P1(Xpmax, Ypmax, Zpmin) with maximum X coordinate and Y coordinate, the point P2(Xpmin, Ypmin, Zpmin) with minimum X coordinate and Y coordinate, the height of the solder layer is set to a, and a solder layer with P2(Xpmin, Ypmin, Zpmin) as the base point and length, width and height of (Xpmax-Xpmin, Ypmax-Ypmin, a) is created;
[0023] In the negative X coordinate of the bottom coordinate of the pin shell unit class component: the point N1(Xnmax, Ynmax, Znmin) with maximum X coordinate and Y coordinate, the point N2(Xnmin, Ynmin, Znmin) with minimum X coordinate and Y coordinate, the height of the solder layer is set to a, and a solder layer with N2(Xnmin, Ynmin, Znmin) as the base point and length, width and height of (Xnmax-Xnmin, Ynmax-Ynmin, a) is created;
[0024] S323: for the pin shell unit class component with pin direction along the X axis:
[0025] In the positive Y coordinate of the bottom coordinate of the pin shell unit class component: the point P3 (X`pmax, Y`pmax, Z`pmin) where the X coordinate and the Y coordinate are both maximum values, the point P2 (X`pmin, Y`pmin, Z`pmin) where the X coordinate and the Y coordinate are both minimum values, the height of the solder layer is set as a, and a solder layer with a base point of P2 (X`pmin, Y`pmin, Z`pmin), length, width and height of (X`pmax-X`pmin, Y`pmax-Y`pmin, a) is created.
[0026] In the negative Y coordinate of the bottom coordinate of the pin shell unit class component: the point N1 (X`nmax, Y`nmax, Z`nmin) where the X coordinate and the Y coordinate are both maximum values, the point N2 (X`nmin, Y`nmin, Z`nmin) where the X coordinate and the Y coordinate are both minimum values, the height of the solder layer is set as a, and a solder layer with a base point of N2 (X`nmin, Y`nmin, Z`nmin), length, width and height of (X`nmax-X`nmin, Y`nmax-Y`nmin, a) is created.
[0027] In an embodiment, in S32, the maximum and minimum values of the X coordinate and the Y coordinate of the component bottom are directly identified when the solder is applied to the bottom of the solid unit class component that needs to add solder, the length, width and height are calculated, and a solder layer with corresponding length, width and height is established with the point where the X coordinate and the Y coordinate are both minimum values as the base point.
[0028] In an embodiment, S33 includes assembling the component on the circuit board.
[0029] S331: The X and Y coordinates of the component on the circuit board are obtained from the information of the component extracted from the INP model file of the component in S31 by the python script.
[0030] S332: The Z coordinate of the beam unit class component and the solid unit class component without a solder layer is the absolute value of the Z coordinate value of the bottom of the component.
[0031] S333: The Z coordinate of the pin shell unit class component with a solder layer is the sum of the absolute value of the Z coordinate value of the bottom of the component, half of the thickness of the pin shell unit class component, and the height of the solder layer.
[0032] S334: The Z coordinate of the pin shell unit class component without a solder layer is the sum of the absolute value of the Z coordinate value of the bottom of the component and half of the thickness of the pin shell unit class component.
[0033] S335: The Z coordinate of the solid unit class component with a solder layer is the sum of the absolute value of the Z coordinate value of the bottom of the component and the height of the solder layer.
[0034] In one implementation, the load created in the TCL script in S36 includes: a fixed constraint on one side of the XZ plane of the circuit board; an initial temperature load on the component nodes; and a temperature profile imported in S35 that is applied to the circuit board and components.
[0035] In one implementation, the time point in the temperature curve where the falling segment is greater than the melting point temperature of the solder ball is T0, and the static analysis step of the component in S37 takes T0 as the node.
[0036] When the time is less than T0, the connection structure between the component and the circuit board is set to be inactive; when the time is greater than T0, the connection structure between the component and the circuit board is activated.
[0037] In one embodiment, the method for obtaining the temperature profile in S35 includes:
[0038] S21: Create the internal cavity model of the hot blast reflow oven;
[0039] S22: Select the overall INP file of the internal cavity model of the hot air reflux furnace;
[0040] S23: The Python script reads the position information of the internal cavity model of the hot blast reflow oven from the overall INP file of the internal cavity model of the hot blast reflow oven;
[0041] S24: Use a Python script to create the preprocessing TCL script for the Hypermesh software. Calculate the midpoint (X1, Y1, Z1) using the maximum and minimum values of the X, Y, and Z coordinates of the inner cavity model of the hot blast reflow oven. Create six points: P7(X1, Y1, Z1), P8(X1+1, Y1, Z1), P9(X1, Y1+1, Z1), P10(X2, Y2, Z2), P11(X2+1, Y2, Z2), and P12(X2, Y2+1, Z2). The plane (P10, P11, P12) represents the initial welding position of the hot blast reflow oven.
[0042] The finite element model of the overall circuit board with components is moved from the plane (P7, P8, P9) to the plane (P10, P11, P12) corresponding to the initial welding position of the hot air reflow oven.
[0043] S25: generating a 2D grid in the finite element model INP file of the overall circuit board assembled with components, generating a geometric outer surface of the overall circuit board model through the 2D grid, generating a 3D geometric entity of the overall circuit board model from the geometric outer surface of the overall circuit board model, performing a Boolean operation on the geometric model of the area where the overall circuit board model is located in the inner cavity model of the hot air reflow oven by using the geometric entity of the overall circuit board model, then performing tetrahedral meshing on the area in the inner cavity model of the hot air reflow oven that has been subjected to the Boolean operation, obtaining a grid model of the inner cavity of the hot air reflow oven with the finite element model of the overall circuit board assembled with components, and outputting the grid model file calculated in the Fluent software;
[0044] S26: the python script reads each component and its material information, and obtains the process parameters of the hot air reflow soldering;
[0045] S27: the python script generates a UDF and a TUI pre-processing script of the Fluent software, performs solving in the Fluent software, and obtains a temperature curve.
[0046] In an embodiment, the method for obtaining the INP file of the finite element model of the overall circuit board assembled with components in S24 comprises:
[0047] S11: establishing a database of finite element grid models INP files of various components;
[0048] S12: selecting a finite element grid model INP file of a circuit board, and establishing a coordinate system;
[0049] S13: reading the setting information of the components by using a python script, identifying and saving the height of the components, the corresponding local coordinate system, and the material in the finite element grid model INP file of the components;
[0050] S14: creating a pre-processing TCL script of the hypermesh software by using a python script, and rotating and moving the local coordinate system of each component according to the design position;
[0051] S15: renaming the material and the local coordinate system of different components according to the order of reading the components, realizing automatic assembly of the components, and outputting the finite element model INP file of the overall circuit board assembled with components.
[0052] The stress calculation method of the circuit board welding process provided in the application extracts information of the circuit board and the component from the INP model file of the circuit board and the component through a python script, then writes a script of hypermesh by using the python script, applies boundary conditions to the model in the script, and then writes a calculation script of ABAQUS by using the python script to import ABAQUS calculation. The technical solution provided in the application automatically processes information by writing scripts, quickly models, applies boundary conditions, and finally calculates the stress of the circuit board welding process, so that the stress analysis process is simple and fast.
[0053] For further clarity, aspects and advantages of the embodiments disclosed in the application will become apparent from the following description, or will be appreciated by practice of the embodiments disclosed in the application. BRIEF DESCRIPTION OF DRAWINGS
[0054] The accompanying drawings are included to provide a further understanding of the application, and constitute a part of the specification, and are used together with the following detailed description to explain the application, but do not constitute a limitation on the application.
[0055] Figure 1 The logic flow chart of the stress calculation method of the circuit board welding process provided in embodiment 1 of the application;
[0056] Figure 2 The temperature curve diagram of two positions obtained by the temperature curve acquisition method of hot air reflow soldering provided in embodiment 1 of the application;
[0057] Figure 3 The schematic diagram of the coordinate system established in S12 in the embodiment for obtaining the INP file of the finite element model of the overall circuit board assembled with components provided in embodiment 1 of the application;
[0058] Figure 4a The schematic diagram of the entity unit type component to which no solder is applied in embodiment 1 of the application;
[0059] Figure 4b The schematic diagram of the entity unit type component after the solder is applied to the component by S32;
[0060] Figure 5 The schematic diagram of the fixed constraint on one side of the X-Z plane of the circuit board in S36 of embodiment 1 of the application;
[0061] Figure 6 The schematic diagram of the initial temperature load applied to all component nodes in S36 of embodiment 1 of the application;
[0062] Figure 7The stress cloud map obtained in Embodiment 1 of the present application. DETAILED DESCRIPTION
[0063] The principles and features of the present application are described below in conjunction with the accompanying drawings, which are only used to explain the present application and are not intended to limit the scope of the present application.
[0064] Embodiment 1
[0065] The present embodiment provides a stress calculation method of a circuit board welding process, which uses the temperature curve of the circuit board in the welding process to simulate the heat of the circuit board welding process.
[0066] The welding method of the circuit board can use hot air reflow soldering or vapor phase soldering. The present embodiment first provides a method for obtaining a temperature curve of hot air reflow soldering, comprising:
[0067] S21: creating an inner cavity model of the hot air reflow oven;
[0068] S22: the inner cavity model of the hot air reflow oven can contain multiple temperature zones, and in the present embodiment, the inner cavity model of the hot air reflow oven can contain 10 temperature zones. Select the INP file of the inner cavity model of the hot air reflow oven as a whole;
[0069] S23: the python script reads the position information of the inner cavity model of the hot air reflow oven in the INP file of the inner cavity model of the hot air reflow oven as a whole;
[0070] S24: create a pre-processing TCL script of the hypermesh software using a python script, calculate the midpoint (X1, Y1, Z1) through the maximum and minimum values of the X coordinate, Y coordinate and Z coordinate of the inner cavity model of the hot air reflow oven; use the "position" function to create six points P7(X1, Y1, Z1), P8(X1+1, Y1, Z1), P9(X1, Y1+1, Z1), P10(X2, Y2, Z2), P11(X2+1, Y2, Z2), P12(X2, Y2+1, Z2), wherein the plane (P10, P11, P12) is the initial welding position of the hot air reflow oven;
[0071] Move the finite element model of the whole circuit board assembled with components from the plane (P7, P8, P9) to the plane (P10, P11, P12) corresponding to the initial welding position of the hot air reflow oven;
[0072] S25: The "find faces" function in the tcl is used to generate a 2D mesh for the grid of the whole circuit board in the finite element model INP file of the whole circuit board assembled with components, a geometric outer surface of the whole circuit board model is generated through the 2D mesh, and a 3D geometric entity of the whole circuit board model is generated from the geometric outer surface of the whole circuit board model. The geometric model of the area where the whole circuit board model is located in the inner cavity model of the hot air reflow oven is subjected to a Boolean operation by using the geometric entity of the whole circuit board model. Then, the area subjected to the Boolean operation in the inner cavity model of the hot air reflow oven is subjected to tetrahedral meshing, so as to obtain a grid model of the inner cavity of the hot air reflow oven in which the whole circuit board assembled with components is arranged. An MSH format grid model file calculated in the Fluent software is output.
[0073] In this step, the grid model of the inner cavity of the hot air reflow oven in which the whole circuit board assembled with components is arranged is obtained without grid overlapping.
[0074] S26: A python script reads each component and its material information, and obtains the process parameters of the hot air reflow soldering.
[0075] S27: A UDF and a TUI pre-processing script of the Fluent software are generated through a python script, and a solution is performed in the Fluent software to obtain a temperature curve. As shown in the following formula, the hot air reflow soldering process parameters are adjusted according to the temperature curve. Figure 2 The velocity of the movement of the whole circuit board is defined in the UDF file and is loaded to the boundary condition, and the material information of the components is contained in the TUI file and is loaded to the material properties of the corresponding entity in the MSH file.
[0076] In this embodiment, the material information of each component is read by searching for a keyword in S26.
[0077] In S26 in this embodiment, the name, density, thermal conductivity and specific heat capacity of each component are saved after reading the material information of each component.
[0078] The obtained process parameters of the hot air reflow soldering include the air speed and temperature of each temperature zone in the 10 temperature zones in the inner cavity model of the hot air reflow oven, and the velocity of the movement of the whole circuit board in the inner cavity model of the hot air reflow oven, and there are 21 parameters in total.
[0079] The hot air reflow soldering process analysis method provided in this embodiment can improve the welding quality by simulating the temperature and velocity in the process to obtain a temperature curve of the process, and adjusting the hot air reflow soldering process parameters according to the temperature curve.
[0080] Compared with clicking operation through a software interface, the embodiment creates a pre-processing TCL script of the hypermesh software by using a python script, and an operation process is simple and fast.
[0081] The simulation model simulating the environment in the hot air backflow furnace can use the method described in the patent document with publication number CN116151067A.
[0082] The embodiment also provides an implementation of obtaining an INP file of a finite element model of an overall circuit board assembled with components, which comprises:
[0083] S11: a database of finite element grid model INP files of multiple components is established;
[0084] Some operations are performed by using a script provided internally by the hypermesh software, which comprises:
[0085] S12: a finite element grid model INP file of a circuit board used is selected, and a coordinate system is established;
[0086] S13: a python script is used to read setting information of the components, and the height of the components, the corresponding local coordinate system and the material in the finite element grid model INP file of the components are identified and saved;
[0087] S14: a python script is used to create a pre-processing TCL script of the hypermesh software, and the local coordinate system of each component is rotated and moved according to a design position; the model of each component is placed on the model of the circuit board according to the design position; specifically, a "rotate" function can be used, the origin of the component is selected, and the component is rotated by an angle alpha around the Z axis; a "position" function is used to create six points P1(0, 0, 0), P2(1, 0, 0), P3(0, 1, 0), P4(X, Y, Z), P5(X+1, Y, Z), and P6(X, Y+1, Z), and the component is moved from a plane (P1, P2, P3) to a plane (P4, P5, P6);
[0088] S15: the material and the local coordinate system of different components are respectively renamed according to the order of reading the components, the components are automatically assembled, and a finite element model INP file of an overall circuit board assembled with the components is output.
[0089] The above implementation is based on the hypermesh software for circuit board assembly, information reading of an INP format file is performed by using python, and then an internal script of the hypermesh software is written, so that the circuit board assembly process is fast and convenient, and multiple component assembly can be processed.
[0090] In this embodiment, the database of the finite element mesh model INP file of the component contains material information and position information of the component;
[0091] The position information of the component, with the bottom center of the component as the coordinate origin.
[0092] In this embodiment, the coordinate system established in S12 takes the lower left corner of the plane where the top of the circuit board is located as the coordinate origin, and takes the length and width directions of the circuit board as the X and Y axes, respectively, as shown in Figure 3 .
[0093] In this coordinate system, the X coordinate, Y coordinate, and rotation angle a around the Z axis passing through the origin of each component are set.
[0094] The heights of different components in the database are not uniform, and the height information of each component cannot be ensured to be known during the assembly of the circuit board, so in S13 of this embodiment, the height of the component in the finite element mesh model INP file of the component is identified. Specifically, the information of all nodes of the component in the INP file is read through a script, and the absolute value of the difference between the maximum and minimum values of the Z coordinate is taken as the height of the component, providing a more accurate circuit board model for subsequent process analysis.
[0095] In S14 of this embodiment, the components are moved from the planes (P1, P2, P3) to the planes (P4, P5, P6) in the corresponding order.
[0096] After obtaining the temperature change curve of the circuit board model, thermal analysis is performed, and during thermal analysis, the components and the circuit board are automatically assembled again through a python script.
[0097] The stress calculation method of the circuit board soldering process refers to Figure 1 , and includes:
[0098] S31: A python script extracts information of the circuit board and the component from the INP model file of the circuit board and the component; in computational fluid dynamics calculation software Fluent, the information required is different from that required in the script of finite element analysis software ABAQUS, and in order to speed up efficiency, two scripts are divided in this embodiment.
[0099] S32: Apply solder to the bottom of the pin shell unit class component; apply solder to the bottom of the solid unit class component that needs to add solder;
[0100] S33: Assemble the component on the circuit board;
[0101] The TCL script file of hypermesh is created through the above steps.
[0102] S34: In the TCL script, Tie contact is set between the component and the circuit board; the "AutoContact" command can be used to set the Tie contact;
[0103] S35: The temperature curve of the whole circuit board assembled with the component is imported in the TCL script; the temperature curve of the whole circuit board assembled with the component can be obtained by the temperature curve obtaining method of the aforementioned hot air reflow soldering; the file format of the temperature curve obtained by the temperature curve obtaining method of the aforementioned hot air reflow soldering is out format, and the temperature curve of the whole circuit board assembled with the component imported in the TCL script in this step can also be imported in the out format file;
[0104] S36: The load is created in the TCL script;
[0105] S37: According to the temperature curve in S34, the static analysis step of the corresponding component is created to calculate the stress of the circuit board soldering process.
[0106] After the above steps, the stress analysis process is completed through the script, and the stress cloud map can be obtained, as shown in Figure 7 .
[0107] In the stress cloud map, a range is input, the script automatically marks the result stress cloud map, the stress value exceeding the range is considered to possibly cause the circuit board to fail, and is marked in red, the rest is white and considered normal, and the stress of all nodes is output, the nodes with stress values exceeding the range are screened out, the position of the node is judged through the saved coordinate information of the node, then the component to which the node belongs is judged through the position of the component, and the component is directly prompted to exceed the stress range at this time, so that the stress warning effect is realized.
[0108] In the stress calculation method of the circuit board soldering process of the embodiment, the information of the circuit board and the component is extracted from the INP model file of the circuit board and the component through the python script, then the script of hypermesh is written by the python script, the boundary conditions are applied to the model in the script, then the calculation script of ABAQUS is written by the python script to import ABAQUS calculation, the technical solution provided in the embodiment automatically processes information by writing the script, quickly models, applies boundary conditions, and finally calculates the stress of the circuit board soldering process, so that the stress analysis process is simple to operate and the analysis process is faster.
[0109] In the embodiment, S31 comprises:
[0110] S311: Read the grid node position information of the component, save all the node position information of the bottom and top of the component;
[0111] S312: Read the composition of the component, determine the type of the component, which includes solid class, shell unit class and beam unit class; in an embodiment, the model with the keyword "Shell" is the shell unit class, which will record the thickness parameter of the shell unit, the model with the keyword "Beam" is the beam unit class, and the rest are considered as the model of solid class;
[0112] S313: Save the name, corresponding material and local coordinate system name of each component of the component;
[0113] S314: Determine the contact type of the component, including determining whether the component has contact and determining whether the contact of the component of the shell unit model has point-to-surface contact type; in an embodiment, whether the component has contact (i.e. whether all grids share nodes) is determined by whether there is a Tie keyword, and whether the contact of the shell unit component has point-to-surface contact type is determined by the "*SHELL TO SOL ID COUPLI NG" keyword;
[0114] S315: Determine whether there is a special mark, if so, read the special mark and save the corresponding mark data for subsequent processing data.
[0115] In a preferred embodiment, S31 further comprises deleting the repeated component name and material name. Since the component parts of the model in ABAQUS are unique, one attribute and material can be assigned to different parts at the same time, and this embodiment screens and deletes the repeated attribute name and material name to avoid subsequent repeated operation on one attribute or material.
[0116] In this embodiment, the application of solder at the bottom of the shell unit class component in S32 includes:
[0117] S321: Determine whether the pin direction of the shell unit class component is along the X axis or the Y axis;
[0118] S322: For the shell unit class component with pin direction along the Y axis:
[0119] In the positive X coordinate of the bottom coordinate of the pin shell unit class component: the point P1 (Xpmax, Ypmax, Zpmin) with both X coordinate and Y coordinate being maximum value, the point P2 (Xpmin, Ypmin, Zpmin) with both X coordinate and Y coordinate being minimum value, the height of the solder layer is set as a, and the solder layer with the length, width and height of (Xpmax-Xpmin, Ypmax-Ypmin, a) is created with P2 (Xpmin, Ypmin, Zpmin) as the base point;
[0120] In the negative X coordinate of the bottom coordinate of the pin shell unit class component: the point N1 (Xnmax, Ynmax, Znmin) with both X coordinate and Y coordinate being maximum value, the point N2 (Xnmin, Ynmin, Znmin) with both X coordinate and Y coordinate being minimum value, the height of the solder layer is set as a, and the solder layer with the length, width and height of (Xnmax-Xnmin, Ynmax-Ynmin, a) is created with N2 (Xnmin, Ynmin, Znmin) as the base point;
[0121] S323: for the pin shell unit class component along the X axis direction of the pin direction:
[0122] In the positive Y coordinate of the bottom coordinate of the pin shell unit class component: the point P3 (X`pmax, Y`pmax, Z`pmin) with both X coordinate and Y coordinate being maximum value, the point P2 (X`pmin, Y`pmin, Z`pmin) with both X coordinate and Y coordinate being minimum value, the height of the solder layer is set as a, and the solder layer with the length, width and height of (X`pmax-X`pmin, Y`pmax-Y`pmin, a) is created with P2 (X`pmin, Y`pmin, Z`pmin) as the base point;
[0123] In the negative Y coordinate of the bottom coordinate of the pin shell unit class component: the point N1 (X`nmax, Y`nmax, Z`nmin) with both X coordinate and Y coordinate being maximum value, the point N2 (X`nmin, Y`nmin, Z`nmin) with both X coordinate and Y coordinate being minimum value, the height of the solder layer is set as a, and the solder layer with the length, width and height of (X`nmax-X`nmin, Y`nmax-Y`nmin, a) is created with N2 (X`nmin, Y`nmin, Z`nmin) as the base point.
[0124] In the embodiment, the maximum value and the minimum value of all X coordinates and Y coordinates of the component bottom are directly identified when the solder is applied to the bottom of the entity unit class component which needs to add solder in S32, the length, width and height are calculated, the solder layer with the corresponding length, width and height is established with the point with both X coordinate and Y coordinate being minimum value as the base point. The component without applying solder, as shown in FIG. 1, is applied with solder 1 through S32, as shown in FIG. 2. Figure 4a )Figure 4b ) as shown.
[0125] When assembling components on the circuit board, the X and Y coordinate positions of the components can be obtained after reading the input information, while the Z coordinate needs to be determined. Because of the existence of the solder layer, different components need to move different distances in the Z direction when being assembled into the circuit board. When the height of the solder layer is set to 0.1 mm, the S33 of the embodiment contains the following steps for assembling the components on the circuit board:
[0126] S331: The X and Y coordinates of the components on the circuit board are obtained from the information of the components extracted from the INP model file of the components by the Python script in S31;
[0127] S332: The Z coordinate of the beam element type component without a solder layer and the solid element type component is the absolute value of the Z coordinate value of the bottom of the component;
[0128] S333: The Z coordinate of the pin shell element type component with a solder layer is the sum of the absolute value of the Z coordinate value of the bottom of the component, half of the thickness of the pin shell element type component, and the height of the solder layer 0.1 mm;
[0129] S334: The Z coordinate of the pin shell element type component without a solder layer is the sum of the absolute value of the Z coordinate value of the bottom of the component and half of the thickness of the pin shell element type component;
[0130] S335: The Z coordinate of the solid element type component with a solder layer is the sum of the absolute value of the Z coordinate value of the bottom of the component and the height of the solder layer 0.1 mm.
[0131] In the embodiment, the load created by the TCL script in S36 contains: a fixed constraint on one side of the X-Z plane of the circuit board, as shown in Figure 5 ; an initial temperature load on the nodes of the components, which can be set to 20 degrees Celsius, as shown in Figure 6 ; and the temperature curve imported in S35 loaded on the circuit board and the components.
[0132] When the temperature is higher than the melting point of the solder ball, which is 183 degrees Celsius, the solder ball is a fluid with a certain viscosity and is considered to have no stress and strain. The time point T0 in the descending section of the temperature curve is greater than the melting point temperature of the solder ball. The T0 value of different components is different. The statics analysis step of the components in S37 of the embodiment takes T0 as the node;
[0133] When the time is less than T0, the solder ball is in a molten state, and the connection structure (including the solder layer and the solder ball) between the components and the circuit board is set to be inactive. When the time is greater than T0, the solder ball solidifies and starts to bear stress, and the connection structure between the components and the circuit board is activated.
[0134] In the description of the present application, it should be understood that the terms "upper", "lower", "front", "back", "left", "right", "vertical", "horizontal", "top", "bottom", "inner", "outer", "circumferential", and the like are directions or positional relationships based on the orientations or positional relationships shown in the drawings, and are merely intended to facilitate the description of the present technical solution and simplify the description, and are not intended to indicate or imply that the device or element referred to must have a particular orientation, be constructed and operated in a particular orientation, and therefore cannot be understood as limiting the present technical solution.
[0135] In the present technical solution, unless otherwise explicitly specified and limited, the terms "mounting", "connection", "connecting", "fixing" and the like should be understood broadly, for example, can be fixed connection, can also be detachable connection, or integral; can be mechanical connection, can also be electrical connection; can be directly connected, can also be indirectly connected through an intermediate medium, can be the internal communication of two elements or the interaction relationship of two elements, unless otherwise explicitly limited. For those skilled in the art, the specific meanings of the above terms in the present technical solution can be understood according to the specific circumstances.
[0136] In the description of the present application, the description of the terms "one embodiment", "some embodiments", "example", "specific example", or "some examples" means that the specific features, structures, materials or characteristics described in connection with the embodiment or example are included in at least one embodiment or example of the present technical solution. In the present specification, the illustrative description of the above terms does not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described can be combined in any appropriate manner in any one or more embodiments or examples. In addition, those skilled in the art can combine and combine the different embodiments or examples described in the present specification and the features of the different embodiments or examples without contradiction.
[0137] Although the embodiments of the present application have been shown and described above, it should be understood that the above embodiments are exemplary and cannot be understood as limiting the present application, and those skilled in the art can make changes, modifications, replacements and variations to the above embodiments within the scope of the present application.
Claims
1. A stress calculation method for a circuit board soldering process, characterized by, Comprise: S31: python script extracts information of circuit board and components from INP model file of circuit board and components; S32: apply solder to the bottom of the pin shell unit class component; apply solder to the bottom of the entity unit class component that needs to add solder; S33: assemble the components on the circuit board; S34: in the TCL script, set Tie contact between components and circuit board; S35: import the temperature curve of the whole circuit board assembled with components in the TCL script; S36: create load in TCL script; S37: create static analysis step of corresponding components according to temperature curve in S34, and calculate stress of circuit board soldering process; Wherein, the method for obtaining temperature curve in S35 comprises: S21: create the inner cavity model of hot air reflow oven; S22: select the INP file of the inner cavity model of hot air reflow oven as a whole; S23: python script reads the position information of the inner cavity model of hot air reflow oven in the INP file of the inner cavity model of hot air reflow oven as a whole; S24: create the pre-processing TCL script of hypermesh software with python script, calculate the midpoint (X1, Y1, Z1) through the maximum and minimum values of X coordinate, Y coordinate and Z coordinate of the inner cavity model of hot air reflow oven; create P7 (X1, Y1, Z1), P8 (X1+1, Y1, Z1), P9 (X1, Y1+1, Z1), P10 (X2, Y2, Z2), P11 (X2+1, Y2, Z2), P12 (X2, Y2+1, Z2) six points, wherein, the plane (P10, P11, P12) is the initial soldering position of hot air reflow oven; Move the finite element model of the whole circuit board assembled with components from the plane (P7, P8, P9) to the initial soldering position of hot air reflow oven corresponding to the plane (P10, P11, P12); S25: generate 2D grid of the whole circuit board in the finite element model INP file of the whole circuit board assembled with components, generate geometric outer surface of the whole circuit board model through 2D grid, then generate 3D geometric entity of the whole circuit board model, perform Boolean operation on the geometric model of the area where the whole circuit board model is located in the inner cavity model of hot air reflow oven, then perform tetrahedral mesh division on the area in the inner cavity model of hot air reflow oven which has been subjected to Boolean operation, obtain the grid model of the inner cavity of hot air reflow oven with the finite element model of the whole circuit board assembled with components, and output the grid model file for calculation in Fluent software; S26: python script reads each component and its material information to obtain the process parameters of hot air reflow soldering; S27: generate UDF and TUI pre-processing script of Fluent software through python script, solve in Fluent software, and obtain temperature curve.
2. The stress calculation method according to claim 1, characterized by, S31 comprises extracting information from INP model file of circuit board and components: S311: read the grid node position information of the component, save all the node position information of the bottom and top of the component; S312: read the composition of the component, judge the type of the component, the type of the component includes entity class, pin shell unit class and beam unit class; S313: save the name, corresponding material and local coordinate system name of each composition of the component; S314: judge the contact type of the component, including judging whether the component has contact and judging whether there is point and surface contact type in the contact of the pin shell unit model of the component; S315: judge whether there is a special mark, if yes, read the special mark.
3. The stress calculation method according to claim 2, characterized by, S31 also includes deleting repeated composition names and material names.
4. The stress calculation method according to claim 1, characterized by, S32 includes applying solder to the bottom of the pin shell unit class component, including: S321: judge whether the pin direction of the pin shell unit class component is along the X axis or the Y axis; S322: for the pin shell unit class component with pin direction along the Y axis: In the positive X coordinate of the bottom coordinate of the pin shell unit class component: the point P1(Xpmax, Ypmax, Zpmin) with maximum X coordinate and Y coordinate, the point P2(Xpmin, Ypmin, Zpmin) with minimum X coordinate and Y coordinate, the height of the solder layer is set to a, and a solder layer with base point P2(Xpmin, Ypmin, Zpmin), length, width and height of (Xpmax-Xpmin, Ypmax-Ypmin, a) is created; In the negative X coordinate of the bottom coordinate of the pin shell unit class component: the point N1(Xnmax, Ynmax, Znmin) with maximum X coordinate and Y coordinate, the point N2(Xnmin, Ynmin, Znmin) with minimum X coordinate and Y coordinate, the height of the solder layer is set to a, and a solder layer with base point N2(Xnmin, Ynmin, Znmin), length, width and height of (Xnmax-Xnmin, Ynmax-Ynmin, a) is created; S323: for the pin shell unit class component with pin direction along the X axis: In the positive Y coordinate of the bottom coordinate of the pin shell unit class component: the point P3(X`pmax, Y`pmax, Z`pmin) with maximum X coordinate and Y coordinate, the point P2(X`pmin, Y`pmin, Z`pmin) with minimum X coordinate and Y coordinate, the height of the solder layer is set to a, and a solder layer with base point P2(X`pmin, Y`pmin, Z`pmin), length, width and height of (X`pmax-X`pmin, Y`pmax-Y`pmin, a) is created; In the negative Y coordinate of the bottom coordinate of the pin shell unit class component: the point N1(X`nmax, Y`nmax, Z`nmin) with the maximum X coordinate and Y coordinate, the point N2(X`nmin, Y`nmin, Z`nmin) with the minimum X coordinate and Y coordinate, the height of the solder layer is set as a, and a solder layer with the base point of N2(X`nmin, Y`nmin, Z`nmin), the length of (X`nmax-X`nmin), the width of (Y`nmax-Y`nmin), and the height of (a) is created.
5. The stress calculation method according to claim 1, characterized by, In S32, the maximum and minimum values of the X coordinate and the Y coordinate of the component bottom are directly identified when the solder is applied to the bottom of the solid unit class component that needs to add solder, the length, width, and height are calculated, the point with the minimum X coordinate and Y coordinate is taken as the base point, and the solder layer with the corresponding length, width, and height is established.
6. The stress calculation method according to claim 1, characterized by, S33 includes the following steps: S331: the X and Y coordinates of the component on the circuit board are obtained from the information of the component extracted from the INP model file of the component by the python script in S31; S332: the Z coordinate of the beam unit class component without a solder layer and the solid unit class component is the absolute value of the Z coordinate value of the bottom of the component; S333: the Z coordinate of the pin shell unit class component with a solder layer is the sum of the absolute value of the Z coordinate value of the bottom of the component, half of the thickness of the pin shell unit class component, and the height of the solder layer; S334: the Z coordinate of the pin shell unit class component without a solder layer is the sum of the absolute value of the Z coordinate value of the bottom of the component and half of the thickness of the pin shell unit class component; S335: the Z coordinate of the solid unit class component with a solder layer is the sum of the absolute value of the Z coordinate value of the bottom of the component and the height of the solder layer.
7. The stress calculation method according to claim 1, characterized by, The load created by the TCL script in S36 includes: a fixed constraint on one side of the X-Z plane of the circuit board; an initial temperature load on the component node; and the temperature curve imported in S35 loaded on the circuit board and the component.
8. The stress calculation method according to claim 1, characterized by, The time point at which the descending section of the temperature curve is greater than the melting point temperature of the solder ball is T0, and the statics analysis step of the component in S37 takes T0 as the node; When the time is less than T0, the connection structure between the component and the circuit board is set to be inactive, and when the time is greater than T0, the connection structure between the component and the circuit board is activated.
9. The stress calculation method according to claim 1, characterized by, The method for obtaining the INP file of the finite element model of the overall circuit board assembled with components in S24 includes: S11: a database of finite element grid model INP files of various components is established; S12: a finite element grid model INP file of the circuit board is selected, and a coordinate system is established; S13: the height, corresponding local coordinate system, and material of the component in the finite element grid model INP file of the component are identified and saved by using a python script to read the setting information of the component; S14: a pre-processing TCL script of the hypermesh software is created by using a python script, and the local coordinate system of each component is rotated and moved according to the design position; S15: Renaming the materials and local coordinate systems of different components in the order of reading the components, realizing automatic assembly of the components, and outputting the finite element model INP file of the whole circuit board assembled with the components.
Citation Information
Patent Citations
Simulation model establishment method for environment in hot air reflow oven and simulation model
CN116151067A
Method for setting reflow soldering loading curve parameters
CN103345539A
Thermal stress damage simulation method for electronic component surface mounting process
CN111209720A