CROSS-REFERENCE TO RELATED APPLICATION(S)

The present application claims priority from Korean Patent Application Nos. 10-2018-0023093 (filed on Feb. 26, 2018) and 10-2018-0154834 (filed on Dec. 5, 2018), the entire subject matters of which are incorporated herein by reference.

TECHNICAL FIELD

The present disclosure relates to an apparatus, a recording medium, and a method for generating a control parameter of a screen printer that prints solder paste on a substrate.

The present disclosure is derived from research conducted under the Robot Industry Fusion Core Technology Development Project of the Ministry of Trade, Industry, and Energy of Korea [Project number: 10077589, Project title: Development of technology for machine learning-based SMT optimization system].

BACKGROUND

Generally, a process of mounting electronic components on a printed circuit board is performed in such an order that a solder is applied to a pad of a printed circuit board through a solder printer (i.e., a screen printer), the state of the applied solder is inspected using a solder inspection device, and then electronic components are mounted on the printed circuit board with the solder applied.

The screen printer positions the printed circuit board on a table for fixing the printed circuit board (bare board) and arranges a stencil mask on the printed circuit board so that an opening of the stencil mask is located on the corresponding pad of the printed circuit board. Next, the screen printer moves a squeegee blade by controlling a pressure and moving speed of the squeegee blade based on a control parameter, and separates the stencil mask from the printed circuit board by controlling a separation speed between the stencil mask and the printed circuit board.

SUMMARY

In printing the solder paste using the screen printer, a larger or smaller amount of solder paste than a reference amount may be printed on pads of a printed circuit board or solder paste may be printed at an inappropriate position depending on control parameters. Further, a defect may occur in a solder printed on pads of the printed circuit board depending on the ambient conditions (e.g., temperature or humidity) of the screen printer or the type of the stencil mask.

Various exemplary embodiments of the present disclosure have been made in order to solve the above-mentioned problems and other problems and may provide an apparatus, a recording medium, and a method for generating a control parameter to control a screen printer using a simulation model that simulates actual conditions of the screen printer.

In accordance with one exemplary embodiment of the present disclosure, an apparatus for generating a control parameter for a screen printer may include: a memory that stores a simulation model configured to derive predictive inspection information on printed states of a plurality of virtual solder pastes based on a plurality of control parameters of the screen printer; a communication circuit configured to receive first inspection information on printed states of a plurality of solder pastes, the plurality of solder pastes being printed by the screen printer based on a first control parameter; and a processor electrically connected to the memory and the communication circuit, wherein the processor is configured to: obtain first predictive inspection information on a printed state of a first virtual solder paste by applying the first control parameter to the simulation model; generate a plurality of candidate control parameters based on the first predictive inspection information; determine a plurality of second control parameters among the plurality of candidate control parameters based on the first inspection information and the first predictive inspection information; and transmit the plurality of second control parameters to the screen printer via the communication circuit.

According to one exemplary embodiment, each of the first control parameter and the second control parameter may include at least one of a pressure applied to a squeegee blade of the screen printer, a moving speed of the squeegee blade, and a separation speed between a stencil mask of the screen printer and a substrate.

According to one exemplary embodiment, the first inspection information may include at least one of a volume, an area, a height, a width, and a slope of each of the solder pastes.

According to one exemplary embodiment, the first predictive inspection information may include at least one of the volume, the area, the height, the width, and the slope of each of the first virtual solder pastes.

According to one exemplary embodiment, the processor may be further configured to: calculate a difference between the first inspection information and the first predictive inspection information; compare the calculated difference with a predetermined threshold value; update the simulation model using the first inspection information and the first predictive inspection information if it is determined that the calculated difference is greater than the predetermined threshold value.

According to one exemplary embodiment, the simulation model may include a machine learning-based regression model that is trained to derive predictive inspection information indicating predicted printed states of the plurality of virtual solder pastes based on the plurality of control parameters of the screen printer.

According to one exemplary embodiment, the memory may further store an optimization algorithm and a search algorithm to generate the plurality of candidate control parameters for the screen printer, and the processor may be further configured to: generate a plurality of first candidate control parameters by applying the first predictive inspection information to the optimization algorithm; and generate a plurality of second candidate control parameters by applying the first predictive inspection information to the search algorithm.

According to one exemplary embodiment, the processor may be further configured to: calculate a difference between the first inspection information and the first predictive inspection information; compare the calculated difference with a predetermined threshold value to generate a comparison result; and determine the plurality of second control parameters among the plurality of first candidate control parameters and the plurality of second candidate control parameters based on the comparison result.

According to one exemplary embodiment, the processor may be further configured to: select a first number of first candidate control parameters from among the plurality of first candidate control parameters, if it is determined that the calculated difference is greater than the predetermined threshold value; select a second number of second candidate control parameters from among the plurality of second candidate control parameters, wherein the second number is greater than the first number; and determine the plurality of second control parameters based on the selected first candidate control parameters and the selected second candidate control parameters.

According to one exemplary embodiment, the processor may be further configured to: select a first number of first candidate control parameters from among the plurality of first candidate control parameters, if it is determined that the calculated difference is less than or equal to the predetermined threshold value; select a second number of second candidate control parameters from among the plurality of second candidate control parameters, wherein the second number is smaller than the first number; and determine the plurality of second control parameters based on the selected first candidate control parameters and the selected second candidate control parameters.

According to one exemplary embodiment, the memory may further store an optimization algorithm and a machine learning-based reinforcement learning algorithm to generate the plurality of candidate control parameters for the screen printer, and the processor may be further configured to: generate a plurality of first candidate control parameters by applying the first predictive inspection information to the optimization algorithm; and generate a plurality of second candidate control parameters by applying the first control parameter and the first predictive inspection information to the machine learning-based reinforcement learning algorithm.

According to one exemplary embodiment, the processor may be further configured to: calculate a difference between the first inspection information and the first predictive inspection information; compare the calculated difference with a predetermined threshold value to generate a comparison result; and determine the plurality of second control parameters among the plurality of first candidate control parameters and the plurality of second candidate control parameters based on the comparison result.

According to one exemplary embodiment, the processor may be further configured to: select a first number of first candidate control parameters from among the plurality of first candidate control parameters. if it is determined that the calculated difference is greater than a predetermined threshold value; select a second number of second candidate control parameters from among the plurality of second candidate control parameters, where the second number is greater than the first number; and determine the plurality of second control parameters based on the selected first candidate control parameters and the selected second candidate control parameters.

According to one exemplary embodiment, the processor may be further configured to: select a first number of first candidate control parameters from among the plurality of first candidate control parameters, if it is determined that the calculated difference is less than or equal to the predetermined threshold value; select a second number of second candidate control parameters from among the plurality of second candidate control parameters, where the second number is smaller than the first number; and determine the plurality of second control parameters based on the selected first candidate control parameters and the selected second candidate control parameters.

According to one exemplary embodiment, if it is determined that the calculated difference is less than or equal to the predetermined threshold value, the processor may be configured to update the machine learning-based reinforcement learning algorithm based on the simulation model.

According to one exemplary embodiment, the memory may further store a search algorithm and a machine learning-based reinforcement learning algorithm to generate the plurality of candidate control parameters for the screen printer, and the processor may be further configured to: generate a plurality of first candidate control parameters by applying the first predictive inspection information to the search algorithm; and generate a plurality of second candidate control parameters by applying the first control parameter and the first predictive inspection information to the machine learning-based reinforcement learning algorithm.

According to one exemplary embodiment, the processor may be configured to: calculate a difference between the first inspection information and the first predictive inspection information; calculate a difference between the first inspection information and the first predictive inspection information; compare the calculated difference with a predetermined threshold value to generate a comparison result; and determines the plurality of second control parameters among the plurality of first candidate control parameters and the plurality of second candidate control parameters based on the comparison result.

According to one exemplary embodiment, the processor may be configured to: select a first number of first candidate control parameters from among the plurality of first candidate control parameters, if it is determined that the calculated difference is greater than the predetermined threshold value; select a second number of second candidate control parameters from among the plurality of second candidate control parameters, where the second number is greater than the first number; and determine the plurality of second control parameters based on the selected first candidate control parameters and the selected second candidate control parameters.

According to one exemplary embodiment, the processor may be configured to: select a first number of first candidate control parameters from among the plurality of first candidate control parameters, if it is determined that the calculated difference is less than or equal to the predetermined threshold value; select a second number of second candidate control parameters from among the plurality of second candidate control parameters, where the second number is smaller than the first number; and determine the plurality of second control parameters based on the selected first candidate control parameters and the selected second candidate control parameters.

According to one exemplary embodiment, the processor may be configured to update the machine learning-based reinforcement learning algorithm based on the simulation model, if it is determined that the calculated difference is less than or equal to the predetermined threshold value.

According to one exemplary embodiment, the memory may further store an optimization algorithm, a search algorithm, and a machine learning-based reinforcement learning algorithm to generate the plurality of candidate control parameters for the screen printer, and the processor may be further configured to: generate a plurality of first candidate control parameters by applying the first predictive inspection information to the optimization algorithm; generate a plurality of second candidate control parameters by applying the first predictive inspection information to the search algorithm; and generate a plurality of third candidate control parameters by applying the first control parameter and the first predictive inspection information to the machine learning-based reinforcement learning algorithm.

According to one exemplary embodiment, the processor may be configured to: calculate a difference between the first inspection information and the first predictive inspection information; compare the calculated difference with a predetermined threshold value to generate a comparison result; and determine the plurality of second control parameters among the plurality of first candidate control parameters, the plurality of second candidate control parameters, and the plurality of third candidate control parameters based on the comparison result.

According to one exemplary embodiment, the processor may be configured to: select a first number of first candidate control parameters from among the plurality of first candidate control parameters, if it is determined that the calculated difference is greater than the determined threshold value; select a second number of second candidate control parameters from among the plurality of second candidate control parameters, where the second number is greater than the first number; select the second number of third candidate control parameters from among the plurality of third candidate control parameters; and determine the plurality of second control parameters based on the selected first candidate control parameters, the selected second candidate control parameters, and the selected third candidate control parameters.

According to one exemplary embodiment, the processor may be configured to: select a first number of first candidate control parameters from among the plurality of first candidate control parameters, if it is determined that the calculated difference is less than or equal to the predetermined threshold value; select a second number of second candidate control parameters from among the plurality of second candidate control parameters, where the second number is smaller than the first number; select the second number of third candidate control parameters from among the plurality of third candidate control parameters; and determine the plurality of second control parameters based on the selected first candidate control parameters, the selected second candidate control parameters, and the selected third candidate control parameters.

According to one exemplary embodiment, the processor may be configured to update the machine learning-based reinforcement learning algorithm based on the simulation model, if it is determined that the calculated difference is less than or equal to the predetermined threshold value.

According to one exemplary embodiment, the communication circuit may be configured to receive second inspection information corresponding to each of the plurality of second control parameters, and the processor may be further configured to obtain second predictive inspection information on a printed state of a second virtual solder paste by applying each of the plurality of second control parameters to the simulation model.

According to one exemplary embodiment, the processor may be further configured to: calculate an average value of the differences between the second inspection information and the second predictive inspection information; select one of the plurality of second control parameters if the calculated average value corresponds to a predetermined value; and transmit the selected second control parameter to the screen printer through the communication circuit.

According to one exemplary embodiment, the processor may be configured to: calculate a Z-score of each of the plurality of second control parameters; and select a second control parameter having the highest Z-score among the calculated Z-scores.

In accordance with another exemplary embodiment of the present disclosure, a non-transitory computer-readable recording medium may record a program to be implemented on a computer, wherein the program may include an executable command, when executed by a processor, to cause the processor to perform: obtaining first predictive inspection information on a printed state of a virtual solder paste by applying a first control parameter of the screen printer to a simulation model, the simulation model being associated with generating predictive inspection information on printed states of a plurality of virtual solder pastes based on a plurality of control parameters of the screen printer; receiving first inspection information on printed states of a plurality of solder pastes, the plurality of solder pastes being printed by the screen printer based on the first control parameter; generating a plurality of candidate control parameters based on the first predictive inspection information; determining a plurality of second control parameters among the plurality of candidate control parameters based on the first inspection information and the first predictive inspection information; and transmitting the plurality of second control parameters to the screen printer.

According to one exemplary embodiment, the program may further include an executable command to cause the processor to perform: an operation of calculating a difference between the first inspection information and the first predictive inspection information; an operation of comparing the calculated difference with a predetermined threshold value; and an operation of updating the simulation module using the first inspection information and the first predictive inspection information if it is determined that the calculated difference is greater than the predetermined threshold value.

According to one exemplary embodiment, the operation of generating the plurality of candidate control parameters based on the first predictive inspection information may include: an operation of generating a plurality of first candidate control parameters by applying the first predictive inspection information to an optimization algorithm; an operation of generating a plurality of second candidate control parameters by applying the first predictive inspection information to a search algorithm; and an operation of generating a plurality of third candidate control parameters by applying the first control parameter and the first predictive inspection information to a machine learning-based reinforcement learning algorithm.

According to one exemplary embodiment, the program may further include an executable command to cause the processor to perform: an operation of receiving second inspection information on the plurality of solder pastes printed by the screen printer based on each of the plurality of second control parameters; an operation of obtaining second predictive inspection information on the printed state of the solder paste by applying each of the plurality of second control parameters to the simulation model; an operation of calculating an average value of differences between the second inspection information and the second predictive inspection information; an operation of selecting one of the plurality of second control parameters if the calculated average value corresponds to a predetermined value; and an operation of transmitting the selected second control parameter to the screen printer.

In accordance with still another exemplary embodiment of the present disclosure, a method of generating a control parameter of a screen printer may include: obtaining first predictive inspection information on a printed state of a virtual solder paste by applying a first control parameter of the screen printer to a simulation model, the simulation model being associated with generating predictive inspection information on printed states of a plurality of virtual solder pastes based on a plurality of control parameters of the screen printer; receiving first inspection information on printed states of a plurality of solder pastes, the plurality of solder pastes being printed by the screen printer based on the first control parameter; generating a plurality of candidate control parameters based on the first predictive inspection information; determining a plurality of second control parameters among the plurality of candidate control parameters based on the first inspection information and the first predictive inspection information; and transmitting the plurality of second control parameters to the screen printer.

