Technique for aligned printing of permanent layers with improved speed and accuracy.
By using real-time detection and software-hardware adjustments for substrate alignment and droplet control, the challenges of precise layer deposition on varied substrates are addressed, achieving high-speed and accurate printing with reduced defects and increased throughput.
Patent Information
- Application Number
- JP2024044324
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2015-04-07
- Filing Date
- 2024-03-20
- Publication Date
- 2025-10-20
- Estimated Expiration
- 2035-06-30
AI Technical Summary
Existing manufacturing processes face challenges in achieving precise alignment and high throughput for depositing layers on substrates, particularly in high-density microelectronic or optical structures, due to substrate variations and alignment errors, leading to visible defects and increased production time.
A detection mechanism identifies fiducials on substrates to correct position errors, and adjusts nozzle firing decisions and droplet characteristics in real-time using software and hardware, enabling precise layer registration without mechanical repositioning, through techniques such as anti-aliasing and parallel processing.
This approach ensures high-speed, accurate printing with minimal variation, reducing production time and enhancing manufacturing throughput while maintaining product quality, particularly for applications like OLED displays and solar panels.
Smart Images

Figure 0007756449000003 
Figure 0007756449000004 
Figure 0007756449000005
Abstract
Description
[Background technology]
[0001] (CROSS-REFERENCE TO RELATED APPLICATIONS) This application claims priority to U.S. Provisional Application No. 62 / 059,121, entitled "Techniques For Arrayed Printing Of A Permanent Layer With Improved Speed And Accuracy," filed October 2, 2014, in favor of Michael Baker, the first inventor, and U.S. Provisional Application No. 62 / 021,584, entitled "Techniques For Arrayed Printing Of A Permanent Layer With Improved Speed And Accuracy," filed July 7, 2014, in favor of Michael Baker, the first inventor. Additionally, this application also claims priority to, and is a continuation-in-part of, U.S. Utility Patent Application No. 14 / 680960, filed April 7, 2015, in favor of first inventor Nahid Harjee, for "Techniques for Print Ink Volume Control To Deposit Fluids Within Precise Tolerances," U.S. Utility Patent Application No. 14 / 340403, filed July 3, 2014, in favor of first inventor Nahid Harjee, for "Techniques for Print Ink Droplet Measurement and Control to Deposit Fluids within Precise Tolerances," and U.S. Utility Patent Application No. 14 / 627186, filed February 20, 2015, in favor of first inventor Eliyahu Vronsky, for "Encapsulation Of Components Of Electronic Device Using Halftoning To Control Thickness."
[0002] U.S. Utility Patent Application No. 14 / 680960 is a continuation of U.S. Utility Patent Application No. 14 / 162525 (now U.S. Patent No. 9,010,899, issued April 21, 2015). U.S. Utility Patent Application No. 14 / 162525 in turn claims priority to Taiwan Patent Application No. 102148330, filed December 26, 2013, for "Techniques for Print Ink Volume Control To Deposit Fluids Within Precise Tolerances," first inventor Nahid Harjee, and PCT Patent Application No. PCT / US2013 / 077720, filed December 24, 2013, for "Techniques for Print Ink Volume Control To Deposit Fluids Within Precise Tolerances," first inventor Nahid Harjee.PCT Patent Application No. PCT / US2013 / 077720 is a subsidiary of U.S. Provisional Patent Application No. 61 / 746,545, filed December 27, 2012, for "Smart Mixing," first inventor Conor Francis Madigan; U.S. Provisional Patent Application No. 61 / 822,855, filed May 13, 2013, for "Systems and Methods Providing Uniform Printing of OLED Panels," first inventor Nahid Harjee; U.S. Provisional Patent Application No. 61 / 842,351, filed July 2, 2013, for "Systems and Methods Providing Uniform Printing of OLED Panels," first inventor Nahid Harjee; and U.S. Provisional Patent Application No. 61 / 842,351, filed July 23, 2013, for "Systems and Methods Providing Uniform Printing of OLED Panels," first inventor Nahid Harjee. This application claims priority to U.S. Provisional Patent Application No. 61 / 857,298, entitled "Systems and Methods Providing Uniform Printing of OLED Panels," filed November 1, 2013 in favor of first inventor Nahid Harjee; and U.S. Provisional Patent Application No. 61 / 920,715, entitled "Techniques for Print Ink Volume Control To Deposit Fluids Within Precise Tolerances," filed December 24, 2013 in favor of first inventor Nahid Harjee.
[0003] U.S. Utility Patent Application No. 14 / 340403 is, in turn, a continuation-in-part of PCT Patent Application No. PCT / US2014 / 035193, filed April 23, 2014, in favor of first inventor Nahid Harjee, for “Techniques for Print Ink Droplet Measurement and Control to Deposit Fluids within Precise Tolerances,” and U.S. Utility Patent Application No. 14 / 162525, filed January 23, 2014, in favor of first inventor Nahid Harjee, for “Techniques for Print Ink Volume Control To Deposit Fluids Within Precise Tolerances,” and is also a continuation-in-part of U.S. Utility Patent Application No. 14 / 162525, filed April 26, 2013, in favor of first inventor Alexander Sou-Kang Ko, for “OLED Printing Systems and Methods Using Laser Light Scattering for Measuring Ink Droplet Size, Velocity and The company claims the benefit of U.S. Provisional Patent Application No. 61 / 816,696, entitled "OLED Printing Systems and Methods Using Laser Light Scattering for Measuring Ink Drop Size, Velocity and Trajectory," filed August 14, 2013 in favor of first inventor Alexander Sou-Kang Ko, and Taiwanese Patent Application No. 102,148,330, entitled "Techniques for Print Ink Volume Control To Deposit Fluids Within Precise Tolerances," filed December 26, 2013 in favor of first inventor Nahid Harjee.
[0004] PCT Patent Application No. PCT / US2014 / 035193 is, in turn, a subsidiary of U.S. Provisional Patent Application No. 61 / 816696, filed on April 26, 2013, in favor of first inventor Alexander Sou-Kang Ko, for "OLED Printing Systems and Methods Using Laser Light Scattering for Measuring Ink Drop Size, Velocity and Trajectory," U.S. Provisional Patent Application No. 61 / 866031, filed on August 14, 2013, in favor of first inventor Alexander Sou-Kang Ko, for "OLED Printing Systems and Methods Using Laser Light Scattering for Measuring Ink Drop Size, Velocity and Trajectory," and U.S. Provisional Patent Application No. 61 / 866031, filed on January 23, 2014, in favor of first inventor Nahid Harjee, for "Techniques for Print Ink Volume Control To Deposit Fluids Within Precise This application claims priority to U.S. Utility Patent Application No. 14 / 162,525, entitled "Comparative Tolerances."
[0005] U.S. Utility Application No. 14 / 627186 is a continuation of U.S. Utility Application No. 14 / 485005 (now U.S. Patent No. 8,995,022, issued March 31, 2015). U.S. Utility Patent Application No. 14 / 485005 is, in turn, a subsidiary of U.S. Provisional Patent Application No. 61 / 915149, filed December 12, 2013, for "Ink-Based Layer Fabrication Using Halftoning Variation," for first inventor Eliyahu Vronski; U.S. Provisional Patent Application No. 61 / 977939, filed April 10, 2014, for "Ink-Based Layer Fabrication Using Halftoning To Control Thickness," for first inventor Eliyahu Vronski; U.S. Provisional Patent Application No. 62 / 005044, filed May 30, 2014, for "Ink-Based Layer Fabrication Using Halftoning To Control Thickness," for first inventor Eliyahu Vronski; and U.S. Provisional Patent Application No. 62 / 005044, filed June 30, 2014, for "Ink-Based Layer Fabrication Using Halftoning To Control Thickness," for first inventor Eliyahu Vronski. This application claims priority to U.S. Provisional Patent Application No. 62 / 019076 entitled "Thickness."
[0006] Priority is claimed to each of the foregoing applications, and each of the foregoing patent applications is hereby incorporated by reference.
[0007] (background) Some manufacturing techniques use printing processes to deposit layers of material onto a substrate as part of the assembly process. For example, multiple solar panels or organic light-emitting diode (OLED) displays can be fabricated together on a common glass or other substrate, with the multiple panels ultimately cut from the common substrate to create individual devices. The printing process deposits a liquid (e.g., similar to an "ink") with a solvent that suspends or carries the material from which each permanent layer is formed, e.g., by hardening, drying, or otherwise "processing" the liquid to a permanent form. The liquid is deposited for each product in a carefully controlled manner so that each deposited layer closely aligns in place with underlying layers on the substrate and with the desired product location. Such alignment is particularly important when high manufacturing precision is required, such as when the process is used to fabricate high-density patterns of microelectronic or optical structures, where each layer of each structure has carefully controlled dimensions (including thickness). Summary of the Invention [Problem to be solved by the invention]
[0008] Returning to the example of an OLED display for illustrative purposes, each flat-panel device fabricated in parallel on a common substrate typically features individual pixel color components fabricated within fluid wells that hold light-generating elements and electrodes. Each deposition layer helps determine the proper operation of each individual pixel; the more precise (and well-matched and controlled) each deposition process is, the smaller pixels can be created, and the more reliable the operation of the completed optical or electrical structure will be at that particular size dimension. Variations in a given panel (including thickness variations) from pixel to pixel are undesirable because they can result in visible defects in the finished product. For example, a typical OLED display (e.g., used as an HDTV screen) can involve millions of pixels in a compact space, and if a pixel has even a slight variation in the liquid deposited via the printing process, this can potentially be perceived by the human eye as a difference in brightness or color. Therefore, for such manufacturing applications, precise printer control is required, e.g., at micron or finer resolution, with a maximum variation of less than half a percent in total fluid deposition volume per area.
[0009] Additionally, it is desirable to maximize manufacturing throughput in order to produce products at an acceptable consumer price. If a given manufacturing device (including, for example, an industrial printer) requires a significant amount of time for each layer, this translates into slower production and increased consumer prices, which threaten the viability of the manufacturing process. [Means for solving the problem]
[0010] The present disclosure provides techniques, processes, apparatus, devices, and systems that can be used to more quickly and reliably produce products via printing processes, as well as products made according to such processes.
[0011] The assembly line process uses a printer to print (i.e., deposit) droplets of liquid onto each substrate in a series of substrates. The liquid is then cured, dried, or otherwise treated to form a permanent layer (i.e., a permanent thin film) of material. Each substrate is used to fabricate one or more products, and a layer will typically be formed for each product carried by the substrate. Once printing is complete, the substrate is advanced, a new substrate is loaded, and the process is repeated. For example, processing to cure the liquid can occur in situ in some embodiments or at another location in the assembly line; typically, printing and processing are performed in a controlled atmosphere to minimize particulate, oxygen, or moisture contamination. In the application considered in detail, the printer is used to deposit a single layer of an organic light-emitting diode ("OLED") display panel or solar panel. For example, in the production of high-resolution OLED television screens, such a process can be used to deposit one or more light-generating layers for each pixel (i.e., each discrete light-generating element) of the display. While the described techniques can be applied to many types of materials and many types of products other than flat panel displays, the use of printers and related processes has proven particularly useful for depositing layers of organic materials that cannot be easily deposited using other processes, and therefore many of the examples presented herein will focus on these materials. As with other types of products and manufacturing processes, printing and layer thickness matching must be achieved with a high degree of precision to facilitate small, reliable electronic components (e.g., micron-scale) with low variation and high manufacturing throughput.
[0012] As substrates are moved into and through the printer, each substrate may vary slightly in position, rotation, scale, tilt, or other dimensions due to various process corners associated with different substrates, assembly line equipment, human handling, and numerous other factors. Some forms of error may be specific to the substrate (e.g., substrate warp or edge nonlinearity), while other forms of error may represent repeating system errors (e.g., a substrate being incorrectly edge-guided through the printer with repeatable motion errors caused by the system itself). Whatever the source, it is generally desirable to detect and mitigate position errors because the printing process is intended to print the same product on each substrate in a series.
[0013] Thus, in one embodiment, a detection mechanism is used to detect fiducials on each substrate as it approaches the printer. The fiducials are used to identify product position despite substrate-to-substrate errors or other deviations from expected product position, orientation, and / or dimensions. The detected product position is compared to the expected position and used to identify the errors so as to transform or adjust (in software) the printer control data (i.e., modify either the data or how it is rendered to print) to precisely align the printed layer with any underlying product dimensions. As used herein, "position" or "product position" should be understood to generally include any of tilt, scale, orientation, etc., even if these are not individually listed beyond the description of "position."
[0014] It should be noted that in conventional printing processes, an assembly including one or more printheads, each with a nozzle, is transported relative to the substrate being printed in one or more raster sweeps. Each sweep defines an "in-scan" dimension of the substrate, and after each sweep, the printhead and / or substrate are repositioned in the "cross-scan" dimension of the substrate in preparation for the next sweep. Each printhead can have hundreds to thousands of nozzles, each ejecting droplets of liquid, the liquid being similar to ink and including a material that will be cured or otherwise treated to form the desired permanent layer. For example, using one known technique, the liquid is a monomer or polymer, and following printing, a UV curing process is used to treat the deposited liquid to form the permanent layer.
[0015] In more detailed variations of this first embodiment, several mechanisms can be used to balance the goals of high speed printing, accurate printing, and precise layer thickness and registration.
[0016] In a first implementation, once an error (e.g., a linear or non-linear shift in position, rotation, tilt, or scaling) is identified, new nozzle firing decisions can be generated in a manner that depends on the detected deviation from ideal position and that does not require shifting or altering pre-planned raster sweeps between the printhead assembly and the substrate. That is, because printing time (and therefore manufacturing throughput) is directly related to the number of raster sweeps required to cover all areas of the substrate that will receive fluid, the number of raster sweeps and their respective positions are not changed in one embodiment, but rather, potentially new nozzles and / or drive parameters are individually assigned in a manner that allows printing to occur to deposit the intended density and pattern of droplets from the printhead assembly, but in a manner in which the nozzle assignments and / or drive parameters (e.g., drive waveforms) are transformed or rendered relative to the original printer control data to precisely align with any underlying product layer or to precisely match the intended product geometry. It should be noted that this processing style is optional; that is, in other contemplated embodiments, the raster sweep is reassessed to potentially employ a different offset of the print head assembly relative to the substrate (e.g., a different advancement pattern in the cross-scan direction and / or a different number of scans or sweeps).
[0017] Depending on the environment, simply "shifting" nozzle firing decisions may not necessarily result in the desired deposition parameters. For example, in one considered environment where printing is used to deposit light-generating elements into fluid "wells" that contain the deposition liquid until it is cured, errors may not neatly align with nozzle spacing or nozzle firing timing, such that a linear shift in nozzle firing allocation may place too many or too few deposition drops in a pixel's well. To address this, in one embodiment, an "anti-aliasing" process is used, whereby One or more processors acting under the control of instruction logic test the expected location of each pixel well (given the detected error) against the expected liquid volume, and if the total expected volume exceeds an ideal value or range of acceptability by more than a threshold amount, selectively reconsider the "shifted" nozzle assignments and adjust one or more of the numbers of nozzles that can fire droplets into the pixel well. This, in turn, helps to ensure that precisely the intended amount of liquid is being deposited in the intended location.
[0018] In another embodiment, droplets produced by each nozzle are experimentally measured in situ, and the measured droplet characteristics, which may vary between nozzles or depend on the drive parameters used to eject droplets from the nozzle, are stored and factored into nozzle assignment. For example, in a first variation, individual nozzles can be qualified / disqualified depending on whether the associated experimentally measured droplet parameters of the nozzle (and the applied drive parameters) meet criteria for acceptable droplet production. Thus, if position errors and associated alignment suggest that an unverified nozzle should not be used for deposition, the command logic can use the validation data to assign the nozzle to use another nozzle or different droplet ejection parameters (e.g., a different drive waveform for controlling the selected nozzle) instead. In a second variation, each given nozzle (and each one of multiple alternative drive waveforms that can be used to drive the given nozzle) is measured for expected droplet volume, trajectory, and / or droplet landing position, and this data is then factored into error processing or initial nozzle assignment. To cite a simple example, if substrate error suggests that two adjacent nozzles will be relied upon to deposit 9.97-10.03 picoliter (pL) droplets each into a fluid well for a total volume of 20.00 pL of liquid, and two other nozzles will be used to perform the deposition, then (a) a non-adjacent nozzle expected to produce 9.90-10.10 pL droplets can be assigned to perform the deposition (reserving the expected 20.00 pL total volume), and / or (b) the nozzle drive details (e.g., drive waveform) of one or more nozzles can be adjusted to produce droplets with adjusted volume or trajectory characteristics from a preselected nozzle to maintain the expected total volume in the fluid well despite the detected error. These types of processes are also optional and not required for all embodiments.
[0019] It should be noted that printer control data can take many forms, depending on the embodiment. In one implementation, “recipe” information describing the desired dimensions (e.g., including thickness) of the desired layers for each product can be stored as a cached template and then rendered in an adjustable manner to accommodate run-time errors. In a second implementation, this recipe information can be partially preprocessed and similarly pre-stored in object (vector) or other representation as a cached template for use in processing each substrate. As position or alignment errors are detected for each new substrate, the template is retrieved and modified accordingly when rendering the final printer control data (i.e., nozzle firing decisions, raster sweeps, and associated timing, as appropriate). To cite another example, in another implementation, recipe data is received for a product (and / or array) and rendered into a bitmap representing printing decisions. The bitmap is essentially an array or equivalent of nozzle firing decisions at each node of a printing grid, representing triggers that will cause nozzles to fire or not fire drops at discrete locations on the substrate during the scanning motion of the printhead relative to the substrate. This information can also include variable per-nozzle drive waveform definitions or selections. The bitmaps are cached as templates and, at run-time, are read and modified via direct processing on the bitmaps to distort the print to match the errors, and then used to control the print. Naturally, other embodiments exist, i.e., with each variation, detected errors are processed in some way to achieve layer registration, customizing the print to take into account the detected errors. It is taken into account in the rendering process.
[0020] In embodiments, detected misalignment of the substrate (or any individual product represented thereon) in any given manufacturing iteration can be corrected, at least partially in software, in real time to facilitate highly accurate printing without increasing printing time. This correction then reduces the need for time-consuming, highly accurate mechanical alignment or repositioning, as well as the need for highly accurate alignment mechanisms. This reduces costs and increases manufacturing throughput without sacrificing accuracy and reliability. In one specifically considered application related to the array printing of multiple large OLED TV screens, a single large substrate may contain six to eight HDTV screens (e.g., panels or sub-panels, which may be used interchangeably). Currently, it is contemplated that for a successful manufacturing process, the layers printed on the substrate should require only 90 seconds per substrate. In some embodiments, this maximum printing time is expected to be 45 seconds or less. Because each screen or panel involves millions of pixels, alignment must be precise for the production of high-quality displays. Therefore, it would be desirable to print fluid onto a substrate using a process that requires less than a few seconds (e.g., 2 seconds) to detect and correct substrate and / or product misalignment or other errors. The disclosed embodiments facilitate the speed (and manufacturing throughput) of manufacturing and help produce smaller, more precisely aligned products.
[0021] Many manufacturing applications are relatively robust to coarse mechanical alignment of products during assembly. For disclosed embodiments, fine precision alignment, performed by one or more processors (i.e., machines) acting under the control of software (instructions or instruction logic stored on a non-transitory, machine-readable medium), typically adjusts for millimeter to sub-millimeter (e.g., nanoscale to hundreds of microns or less) errors in position offset, rotation offset, tilt, scaling error, or other distortion. It should be noted that for some applications featuring very dense precision structures (e.g., HDTV applications with millions of pixels) and / or involving thousands of printhead nozzles, error processing can require significant computational resources. As noted above, in one embodiment, it is desirable to perform error compensation using hardware and / or software logic in a few seconds, e.g., two seconds or less. To further this objective, certain embodiments below present techniques for hardware design relying on parallel processing (e.g., multiple processors or multi-core processing) and process thread allocation that enable this computation to occur rapidly. For example, in a foreshadowing of an embodiment that will be discussed further below, a supervisory processor or group of processors can detect errors and determine a formulation for rendering or transforming the original recipe information (or other cached template data). The formulation may be linear across the substrate or may vary locally (e.g., nonlinear or non-continuous). The supervisory processor then assigns the geographical sections and associated affine transformations to each core of a multi-core processor for processing. In one design, each core has its own dedicated memory for data processing and manipulation, and the supervisory processor identifies the geographical sections to be modified by each core and the associated modification algorithm (e.g., affine transformation) and provides this information to the respective core. The multiple cores then each perform their assigned tasks to contribute to completing a transformed output that collectively represents adjusted printer control data for the substrate. This transformed output is suitable for use in immediate printing.If desired, the memory used for operation can also be designed to provide direct memory access (DMA) to accelerate the manipulation of cached templates and their adaptation and use in printing. For embodiments using tens or hundreds of cores or more, this substantially reduces the processing time required to re-render the desired print job. Other designs are possible. For example, instead of assigning a different terrain to each core, different Mathematical operations (or different sequential processes) can be assigned to each core. As this example should make clear, nearly any partition of functionality or processing can be provided to maximize efficiency or otherwise reduce processing time. Parallel processing environments such as those discussed above should also be considered optional with respect to the other techniques described herein.
[0022] This disclosure provides several hardware (i.e., circuit) implementations that facilitate highly accurate printing in an assembly-line process, as well as software techniques that can be used in place of or in addition to such hardware. Generally speaking, the features discussed below can be mixed and matched (or otherwise optional) and can vary depending on the implementation. For example, one embodiment discussed below provides hardware that can be used to pre-store several (e.g., 16) customizable nozzle drive waveforms for each of the many nozzles (e.g., hundreds to tens of thousands of nozzles) used by the printer. Each waveform is pre-selected to generate slightly different expected drop parameters (e.g., volume, trajectory, etc.) that provide a range of possible drops that can be produced from that nozzle. The system pre-selects these waveforms to provide a range of choices and pre-programs various waveform selections to drive each nozzle's circuitry. Then, at run time, the system simply selects one of the waveforms. In one embodiment, there are 16 such selections (e.g., one "zero" waveform representing a no-fire decision and 15 variable drive waveforms). In another embodiment, a default waveform can be programmed asynchronously (i.e., in advance), and then a binary "trigger" can be applied to "launch" whichever waveform was most recently programmed as the default. Once again, these various features are optional and not required for all embodiments, and the various disclosed features may be used in any desired combination or permutation as suitable for implementation. All such combinations or permutations, and any such combinations or permutations, are contemplated by the teachings of the present disclosure.
[0023] A particularly contemplated implementation may include an apparatus comprising instructions stored on a non-transitory machine-readable medium. Such instruction logic may be written or designed in a manner having a structure (architectural features) to cause one or more general-purpose machines (e.g., processors, computers, or other machines) to behave as a general-purpose machine having a structure that necessarily performs a task described on input operands, depending on the instructions, which, when ultimately executed, take a particular action or otherwise produce a particular output. As used herein, a "non-transitory machine-readable medium" refers to any tangible (i.e., physical) storage medium from which instructions can subsequently be read by a machine, including, but not limited to, random access memory, hard disk memory, optical memory, floppy disks or CDs, server storage, volatile memory, and other tangible mechanisms, regardless of how the data on that medium is stored. The machine-readable medium may be in a stand-alone form (e.g., a program disk or solid-state device) or may be embodied as part of a larger organization, such as a laptop computer, handheld device, server, network, printer, or other set of one or more devices. The instructions may be implemented in different forms, for example, as metadata that is effective to invoke an action when invoked, as Java code or script, as code written in a particular programming language (e.g., as C++ code), as a processor-specific instruction set, or in some other form. The instructions may also be executed by the same processor or different processors or processor cores, depending on the embodiment. Throughout this disclosure, various processes, any of which may be implemented as instructions stored on generally non-transitory machine-readable media, any of which may be used to fabricate products using, for example, microelectronic, micro-optical, "3D printing," or other printing processes, are discussed. will be described. Depending on the product design, such products can be fabricated in a sealable form or as a preliminary step for other printing, curing, manufacturing, or other processing steps that may ultimately create a finished product for sale, distribution, export, or import. Also, depending on the implementation, the instructions may be executed by a single computer or, in other cases, stored and / or executed on a distributed basis, for example, using one or more servers, web clients, or application-specific devices. Each of the functions described with reference to the various figures herein can be implemented as part of a composite program or as stand-alone modules, both stored on either a single media representation (e.g., a single floppy disk) or on multiple separate storage devices. The same is true for print images or printer control data generated according to the processes described herein; i.e., recipe information, templates, or the results of processing such recipe information or templates, can be stored on non-transitory machine-readable media for temporary or permanent use, either on the same machine or for use on one or more other machines. For example, printer control data can be generated using a first machine and then stored for transfer to a printer or manufacturing device, e.g., for download over the Internet (or another network), or for manual transport (e.g., via a transport medium such as a DVD) for use on another machine.
[0024] Also, reference is made above to detection mechanisms and fiducials recognized on each substrate. In many embodiments, the detection mechanism is an optical detection mechanism that uses a sensor array (e.g., a camera) to detect recognizable shapes or patterns on the substrate. Other embodiments do not rely on an array; for example, a line sensor can be used to sense fiducials as the substrate is loaded into or advanced through the printer. Note that some embodiments rely on dedicated patterns (e.g., special registration marks), while other embodiments rely on recognizable substrate features (including the geometry of any previously deposited layers), each of which is a "fiducial." In addition to using visible light, other embodiments can rely on ultraviolet or other non-visible light, magnetic, radio frequency, or other forms of detection of substrate details relative to the expected printing location. [Brief explanation of the drawings]
[0025] [Figure 1-1] FIG. 1A shows a layout of a substrate that will receive printing of a fluid that can form a permanent layer of each product at location 107, with the overall print area intended for access by the nozzles of a print head represented by dashed box 103. FIG. 1B shows print area 125, similar to dashed box 103 in FIG. 1A, but where the substrate is unintentionally offset in position such that, without correction, printing would occur in the wrong place, resulting in misregistration. FIG. 1C shows print area 135, similar to dashed box 103 in FIG. 1A, but where there is a substrate rotation error. FIG. 1D shows print area 147, similar to dashed box 103 in FIG. 1A, where substrate misalignment represents a scaling error, e.g., each of the individual arrayed products may have dimensional error (as well as position error). [Figure 1-2]Figure 1E shows a printed region 155 similar to dashed box 103 in Figure 1A, but where substrate misalignment (e.g., edge distortion in an edge-guided alignment process) results in distortion in two independent dimensions. Figure 1F shows a printed region 163 similar to dashed box 103 in Figure 1A, but where different types of errors, each affecting a different portion of the substrate, are represented. [Figure 2A] FIG. 2A provides a flow chart 201 for aligning one or more print deposition areas with respect to a substrate position. [Figure 2B] FIG. 2B provides another flow chart 221 related to the alignment of one or more print deposition areas relative to the substrate position. [Figure 2C] Figure 2C is a screenshot from the recipe editor and panel definition software used to define the layer geometry for each product design in the array (i.e., the array is to be fabricated using a common substrate and the layer deposition is to be repeated for a series of substrates). [Figure 3] Figure 3A provides a flowchart 301 of one particular method for adjusting a "template" to fine-tune printing depending on detected errors. Figure 3B provides another flowchart 351 of one particular method for adjusting a "template" to fine-tune printing depending on detected errors. [Figure 4-1]4A-4I are used to discuss the treatment of alignment errors, and more particularly to illustrate the process for allocating or reallocating printhead nozzle firing decisions to fine-tune printing. FIG. 4A shows the layout of printhead 407 relative to region 403, where the presence or absence of an "X" at a location within a "printing grid" indicates that a droplet will be fired by the printhead in a particular region (e.g., from nozzle 410 at location 404) or withheld in a particular region (e.g., from nozzle 410 as it traverses location 405). For example, FIG. 4A may be a section of a "bitmap" (i.e., representing intended nozzle firing decisions across a portion of a substrate as the printhead and substrate move relative to one another in a scanning motion). Note that, as used herein, the term "bitmap" refers to per-nozzle data, regardless of whether the data for each nozzle consists of a single bit or multiple bits. For example, in one embodiment, four bits of data can be used (i.e., representing 16 possible values, one of which represents a decision not to fire a nozzle and the other represents a different reprogrammed nozzle drive waveform that can be “sent” to the nozzle). Clearly, many alternatives are possible. FIG. 4B shows the original print grid 403 layout from FIG. 4A, but the substrate is misaligned with respect to the intended print area, and different nozzles can be used to compensate for this alignment error without adjusting the scan path. Note that in the depicted example, the misalignment may not “cleanly” align with the nozzle spacing or “pitch”; for example, if the print head and substrate are moved relative to each other, a greater or lesser number of nozzles, as well as a different set of nozzles on the print head, may overlap the desired print area 412. FIG. 4C shows layout 421 in which the print grid is seen superimposed on the desired print area 412 from FIG. 4B. [Figure 4-2]Figure 4D shows a relative layout 431 of region 403 from Figure 4A, but with the intended print area or product geometry 433 viewed rotated relative to that region due to substrate error or other misalignment. Figure 4E shows a layout 441 in which the print grid is viewed superimposed on the desired print area 433. Figure 4F shows the layout of the original printer grid 403, but with detected scaling errors as reflected by desired print area 455 for a particular substrate. [Figure 4-3] Figure 4G shows layout 461 in which the printed grid is seen superimposed on the desired print area 455 from Figure 4F. Figure 4H shows the original printed grid layout from Figure 4A, but with a detected tilt error 475, e.g., due to some type of distortion or linear advance error affecting the substrate, it is actually desired to print along the outline of a parallelogram (represented by shape 475). [Figure 4-4] FIG. 4I shows a layout 481 in which a printing grid is seen superimposed on a desired printing area 475, and using the techniques presented herein, with the printing corrected using the printing grid of FIG. 4I, the printing can be precisely aligned (i.e., represented by shape 475). [Figure 5A] FIG. 5A shows the circuitry used to assign or adjust nozzle drive waveforms (ie, electronic drive signals) to the different nozzles of a printhead. [Figure 5B] FIG. 5B shows per-nozzle drive circuitry where the stored data can be used to store data for the corresponding printhead nozzle, allowing for programmable waveform definition (and thus variable volume, drop trajectory, drop landing location, velocity, or other per-nozzle drop parameters). [Figure 5C] FIG. 5C shows an example waveform and is used to help explain how the waveform can be used to vary nozzle droplet parameters through programmable adjustment. [Figure 5D]FIG. 5D shows another embodiment of a drive circuit for the nozzles of a printhead. [Figure 6A] FIG. 6A is an illustrative diagram showing a series of optional layers, products, or services that can each independently embody the techniques introduced herein; for example, the techniques presented herein can be implemented in the form of software (by numeral 603), or as printer control data (by numeral 607, used to control a printer to print on a substrate), or as products made relying on these techniques (as exemplified by numerals 613, 615, or 617). [Figure 6B] FIG. 6B provides a schematic diagram of the fabrication equipment including the printer. [Figure 6C] FIG. 6C shows a top view of the printing area within the fabrication apparatus, which can optionally be contained within a gas enclosure, i.e., so that printing occurs in a controlled atmosphere. [Figure 6D] FIG. 6D provides a functional block diagram of a production device including a printer. [Figure 7] 7 provides a flowchart 701 used to explain the measurement of the effects of individual nozzle variations and / or nozzle drive waveform variations, and related compensation techniques. In one embodiment, not only is printing adjusted for positional error, but in addition, nozzle-to-nozzle variations are taken into account in the adjustments so that printing occurs within carefully defined tolerances. [Figure 8-1] 8A is an illustrative diagram showing a drop measurement system capable of measuring the drop volume of each nozzle of a large printhead assembly. For example, such a system can be used to measure the nozzle-to-nozzle variation mentioned above. FIG. 8B is a methodology diagram showing various processes and options associated with measuring the drop details of each nozzle to achieve a reliable understanding of expected drop characteristics. [Figure 8-2] FIG. 8C shows a flow diagram associated with a droplet measurement embodiment. [Figure 8-3]FIG. 8D shows a flow diagram associated with nozzle validation, i.e., in one embodiment, measurements can be used to qualify or disqualify nozzles (in addition to other purposes described herein). [Figure 9A] Figure 9A provides a block diagram associated with the raster process. More specifically, Figure 9A helps explain how the results of the drop measurements can be integrated with detected substrate errors (e.g., position, rotation, scaling, or tilt errors) to provide precision printing. The shaded areas (907) represent a single scan path, while the transparent areas (908) represent alternative paths. [Figure 9B] FIG. 9B shows a flow diagram associated with printing on a substrate as part of a manufacturing process. [Figure 9C] FIG. 9C shows another flow diagram associated with printing on a substrate as part of a manufacturing process. [Figure 10-1] Figure 10A shows a flow diagram associated with printing on a substrate as part of a manufacturing process. Figure 10B shows another flow diagram associated with printing on a substrate as part of a manufacturing process. [Figure 10-2] Figure 10C provides a flowchart 1041 for terrain anti-aliasing that accepts printing, e.g., testing whether the "adjusted" printer control data still meets one or more desired criteria (e.g., th1 < volume < th2), and further adjusting the printer control data if it does not. Figure 10D provides a flowchart 1061 for incorporating updated nozzle droplet data into rendering of printer control data to mitigate substrate printer variability. Figure 10E provides yet another flowchart 1081 for incorporating updated nozzle droplet data into rendering of printer control data to mitigate substrate printer variability. [Figure 11A] FIG. 11A is a block diagram illustrating a parallel processing environment. [Figure 11B]FIG. 11B is a block diagram illustrating how the rendering and / or rasterization of a print image occurs in a parallel processing environment. DETAILED DESCRIPTION OF THE INVENTION
[0026] The subject matter defined by the recited claims may be better understood by reference to the following detailed description, which should be read in conjunction with the accompanying drawings. The present description of one or more specific embodiments, presented below to enable construction and use of various implementations of the claimed technology, is not intended to limit the recited claims, but rather to illustrate their applications. Without limiting the foregoing, the present disclosure provides several different examples of techniques used to fabricate thin films for each of a plurality of products (or other arrays of products) on a substrate as part of a single, repeatable printing process. The various techniques can be embodied as software for performing these techniques, in the form of a computer, printer, or other device that executes such software, in the form of control data (e.g., print images) for forming such film layers, in the form of a deposition mechanism, or in the form of an electronic or other device produced as a result of these techniques (e.g., having one or more layers produced according to the described techniques). While specific examples are presented, the principles described herein may also be applied to other methods, devices, and systems.
[0027] (Detailed explanation) Having thus introduced some basic embodiments, the present disclosure now continues with more detailed implementations. Figures 1A-1F are used to illustrate various principles associated with printer control data adjustment in a repeatable manufacturing process.
[0028] 1A illustrates the layout of a hypothetical substrate 101. More specifically, the substrate includes several registration marks 105, print areas 103 defined relative to the registration marks, and several product-corresponding areas 107 that will be formed or that already have a base layer deposited as part of the product formation process. For illustrative purposes, it may be assumed that substrate 101 will be used to form many products 107, and each "panel" will be cut from the substrate to form a separate solar panel or display device, although the invention is not so limited. In one embodiment, each panel 107 will be a separate OLED panel, and substrate 101 is a large sheet of glass.
[0029] Despite the presence of multiple products, it is desirable to employ a printer to jet fluid onto an array or substrate 101 in a unified printing process. The fluid carries the material so that, following deposition of the fluid and its curing or other processing, the material and / or liquid becomes a permanent part of each resulting product and the layer has a precisely planned thickness. In an optional embodiment, the layer thickness is imparted using controlled droplet deposition, in which the volume or density of deposited liquid per unit area is used to build the layer thickness. That is, the liquid has limited diffusion, resulting in a blanket liquid coating without undesirable pores or voids, or the liquid is otherwise deposited or cured in a manner that would be geometrically confined, all in a manner that would otherwise result in a precisely planned thickness. The process is generally referred to herein as "halftoning," even though the deposited fluid is typically colorless and not used to create any type of color tone (i.e., "half," "blend," or otherwise). In a typical implementation, the printer prints the entire substrate (i.e., each product layer in the array), and then the substrate is transported from the printer to a separate curing chamber, where it is all cured in a controlled atmosphere (e.g., Note that the liquid would be cured or otherwise hardened in the presence of nitrogen or other ambient, non-air atmosphere (which prevents the liquid from being exposed to moisture, oxygen, or other forms of undesired particulate matter). For this example, it will be assumed that recipe data is pre-generated, calling on the printer to deposit desired materials at discrete locations within the boundaries of the overall print area 103. Briefly, each product's recipe data describes that product's layer thickness and dimensions, as well as any desired details such as corner radius or edge buildup profile, and the array's recipe data describes where each product's layer (i.e., product recipe data) is positioned relative to the substrate. Once processed or rendered, the recipe data can instruct the inkjet printer to deposit liquid into each individual product area 107 in a reproducible manner that will be repeated for many similar substrates. The recipe data (or any processed version thereof) is stored or "cached" in memory for use as a template that will be used to have the printer deposit liquid on each substrate in a series of substrates. FIG. 1A shows one of these substrates (with many products or "panels" thereon), representing an ideal deposition on the substrate.
[0030] As mentioned above, unfortunately, in practice, each array or substrate may have non-uniformities, rotations, scales, tilts, or other alignment issues in either its structure or its position that affect the alignment of deposited layers for one or more of the products. For many manufacturing processes, such distortions may be tolerable, but for applications such as microelectronics, or where very precise alignment is otherwise required, such alignment issues may limit feature sizes, cause product defects, or otherwise increase manufacturing time and / or cost. It is desirable to avoid and / or compensate for these problems and to provide printing that is automatic and as fast as possible while maintaining accuracy.
[0031] To do this, in one embodiment, hardware logic and / or instruction logic adjusts nozzle firing data to account for the detected errors, ideally in a manner that does not require adjusting the printer's planned scan path (e.g., only the nozzle data is adjusted). This is not required for all embodiments. Fiducials (e.g., alignment marks or optically recognized features on the substrate) are optically detected as each new substrate is loaded, advanced, or positioned in the printer. The associated image data is then used by a processor to compare the actual position of the substrate (or its panels) with the expected position, and depending on the deviation, the printed image is adjusted so that the print aligns with the panel layout information (and any previously deposited layers). Alignment corrections made using these techniques are typically on the micron scale or finer (e.g., correcting positional errors that are less than a millimeter, in some embodiments, positional errors of 100 microns or even substantially less).
[0032] FIG. 1B illustrates a situation in which the substrate is actually misaligned relative to the inkjet printer. In this case, whether due to edge error, mechanical positioning error, substrate process corner, or other issue, this misalignment creates the potential for alignment errors between each product layer being fabricated. Note that the depicted errors are exaggerated in scale for ease of illustration. More specifically, xy Cartesian errors (represented by numeral 123), if left uncorrected, would offset an individual product layer (107) relative to an ideal print area 125 on the substrate. This offset could cause problems for any underlying (or subsequently deposited or fabricated) product layers. The techniques disclosed herein are used to adjust printer control data so that ink deposition is shifted in a manner consistent with the registration error, e.g., the printing process is offset (or otherwise transformed) in a manner consistent with substrate and / or panel position errors. This detected error can be corrected by generating or adjusting printer nozzle control data in a manner consistent with such error. and corrected. As mentioned above, if the recipe data is preprocessed, optional techniques can be used to reallocate any previous nozzle firing patterns in an error-dependent manner. Note that in one embodiment, this reallocation typically involves more than simply shifting all nozzle firing decisions by a vector amount; i.e., nozzle firing decisions can be reassessed to account for nozzle-to-nozzle variations and misalignment with the deposition region of interest (e.g., pixel well) and the printing grid, and to adjust other factors (e.g., anti-aliasing, as discussed further below) to preserve precise liquid fill for the desired area. In one embodiment, this reallocation is performed by a process operating at the bitmap or vector representation level, effectively converting individual nozzle firing decisions and / or nozzle actuation parameters that depend on printing grid points (e.g., depend on a template bitmap) associated with any previously processed or rendered data. The use of other adjustment techniques, such as scan path variations (e.g., adjusting for printhead offset and rasterization changes), is also possible.
[0033] FIG. 1C depicts a situation in which the substrate has another form of error, represented by rotation angle α (numeral 133). If left uncorrected, this error would potentially cause individual product layers (107) to misalign with other product layers (e.g., relative to the desired print area 135 of the substrate). Using the techniques discussed herein, this error can be detected and corrected, for example, in hardware, software, or a combination thereof, by taking into account a rotational adjustment in the rendering of the printer data. Once again, if a template print image, such as a bitmap, has already been generated, this correction can optionally be made directly to a copy of that image by calculating new nozzle firing assignments and / or drive parameters directly from the preprocessed bitmap (e.g., without having to newly generate the print image from recipe data). As with the previous example, the adjustment results in a substrate-by-substrate printing process in which, despite the error, the deposited layers precisely align with the intended product geometry, and printing can occur nearly instantaneously.
[0034] Note that whether errors are accounted for in pre-processed data (such as templates or bitmaps) or applied directly to initially rendering printer data from recipe information is an implementation decision. For OLED devices with millions of pixels (and millions of potential droplet deposition points per substrate), substrate-by-substrate adaptation of pre-rendered bitmaps can be computationally prohibitive, depending on the supporting hardware capabilities. In some embodiments, rendering printer data directly from recipe data in a manner that takes detected registration errors into account can be faster, while in other embodiments, the use of bitmaps (or other pre-processing) can be more efficient. For embodiments that further utilize the parallel processing features provided below, a greater number of processing options are available.
[0035] FIG. 1D illustrates yet another type of error, depicted as linear across the substrate or product array, in this case representing a scaling issue. For purposes of this example, it should be assumed that the substrate is slightly larger or smaller than intended; for example, temperature changes may cause the substrate to shrink or expand slightly in such a way that the error is at least locally uniform or linear. Therefore, to provide a simplified example, for this hypothesis, it is assumed that all dimensions or locations of the template image should be adjusted by k1X, k2Y, where k1 and k2 are scalars and X and Y represent Cartesian coordinates on the substrate. Note that a situation in which the scaling error is in only one dimension (e.g., the X dimension) presents a simplified example in which k2=1. If left uncorrected, the scaling error would result in offset errors and individual product layers (107) that are slightly smaller (149) than the desired footprint (148) of each panel. Similarly, the overall print area may be adjusted to fit the desired print area (149) of the substrate. 7) is slightly smaller (145). To correct for this error, scaling is corrected according to k1 and k2. Again, in one embodiment, this can be implemented by taking variables k1 and k2 into account to generate transformed printer control data (e.g., using potentially different nozzle firing decisions and mappings, either directly from recipe data or from preprocessed template data). Anti-aliasing and / or nozzle droplet detail (as discussed below) can also optionally be applied / taken into account as part of this transformation to ensure that the local density of deposited liquid at a given location or unit area (i.e., which may control thickness) corresponds to the intended layer dimensions. As with the previous example, the adjustments result in a printing process for each substrate in which the deposited layer precisely aligns with the intended product geometry, and the desired deposition fill, density, and volume are correct, despite substrate position errors. Note that certain adjustments to FIG. 1D can result in substantial changes to the scan-nozzle allocation per printhead, potentially affecting the number of scans (depending on the embodiment and the nature of the error), depending on the embodiment. That is, in one embodiment, as previously referenced, nozzle firing decisions are reallocated depending on the techniques disclosed herein (e.g., without changing the position or number of scans). In another embodiment, the scan paths can be re-optimized to account for per-nozzle drop data and errors, and different scan paths and a greater or lesser number of scans can be used. Regardless of the embodiment, printing can occur nearly instantaneously as planned, with substrate errors corrected in software, hardware, or both, by dynamic adjustments that independently account for position errors for each substrate (or portion of a given substrate on a local basis).
[0036] Once again, note that all errors depicted in these figures are visually exaggerated for illustrative purposes; i.e., if the arrayed area (e.g., glass substrate) is assumed to be on a scale that is several meters wide by several meters long, then the coarse mechanical alignment is typically precise to the scale of a few millimeters or better. Thus, in many embodiments, the disclosed techniques are used to correct relatively small misalignments (e.g., tens to hundreds of microns or even less).
[0037] FIG. 1E illustrates yet another type of error, where individual product areas or the substrate as a whole are subject to tilt. Here, the error is considered to result in a Y-position error (horizontal to the page of the drawing) that varies with the X-position on the substrate (vertical to the page of the drawing). As an example, this type of error can be caused by a substrate edge error or by a transportation error that uniquely affects a particular printer or manufacturing device. In the figure, all dimensions and positions are considered to be tilted by X' = X, Y' = fn{X}, where X' and Y' are adjusted coordinates, as represented by graphic 153. Note again that a tilt situation would also result in a position offset error for each panel 107, which, in practice, would be added to the panel tilt error (this would be considered the horizontal offset of the panel in one row relative to the next row in the drawing). If left uncorrected, the tilt error would distort the individual product layers (107) relative to the desired footprint. To correct for this error, the print image is once again adjusted / transformed in software to pre-tilt the panel print to match the underlying error. As with the previous embodiment, the transformation performed can involve more than simply shifting nozzle firing decisions and can, for example, feature additional processes to ensure the deposition of the appropriate volume of ink in the appropriate target area. This can optionally result in substantial changes to the scan nozzle allocation per printhead, as previously discussed, potentially affecting the number of scans. Printing once again occurs nearly instantaneously, with substrate errors corrected in software by real-time adjustments to the template print image or in rendering the recipe information for the specific substrate.
[0038] FIG. 1F represents a hypothetical case in which the described errors may affect each panel independently of one another, and such errors may be in addition to or instead of substrate position. For example, FIG. 1F depicts a case in which the first panel 107′ is viewed at an angle relative to the desired print area 163, while the second, third, and fourth panels (107″, 107′′, and 107″”) are each considered to have rotation, offset, and scaling errors relative to the other panels 107. Note that the position offset is depicted diagrammatically as small or nonexistent because the scaling error of 107″″ affects only that panel. Applying the teachings introduced herein, errors in each panel are corrected separately by adjusting the rendering that will be used to print a given array or substrate. In this regard, errors in any given panel or portion thereof may be complex, and correction is modeled as a superposition or combination of transformation techniques for one or more of position offset, rotation, tilt, and scaling errors. This can be done on an independent basis for groups of panels, a single panel, a space spanning portions of multiple panels, or a portion of any given panel. For embodiments that cache the pre-rendered template print image, for each new substrate (e.g., every 45 seconds), a copy of that cached image can be manipulated to reallocate nozzle firing decisions and reduce alignment, orientation, or other errors as needed, without having to mechanically reposition the particular substrate. For each subsequent substrate, e.g., every 45 seconds, the cached instance of the template printer control data can once again be loaded and used to correct any positioning or alignment errors specific to the new substrate, generating rendered data that can be immediately applied to printing.
[0039] There are several techniques for fine-tuning printer control data to match substrate or panel deviations from expected positions. First, one contemplated embodiment overlays a printing grid onto the actual (i.e., detected) substrate and / or panel positions. As previously mentioned, the printing grid can feature "horizontally separated" nodes representing the nozzle pitch on the printhead and "vertically separated" nodes representing the digital timing at which nozzles can fire, e.g., at "every micron" distance, as the printhead and substrate are "scanned" relative to one another. For each node in this overlaid space, the system (i.e., instruction logic running on one or more processors) determines whether the respective nozzle should fire at that point to deposit a droplet of liquid. With respect to the overlaid space, the firing decision at each node is a function of the original "recipe" data of an ideal substrate and the deviation of that node's position from the equivalent point in a perfectly matched substrate. In one implementation where printer control data is “pre-rendered” to form a bitmap (i.e., nozzle firing decisions have already been assigned in a manner that assumes uniform alignment), each firing decision of a print grid overlaid with a deviated substrate or panel position can be mapped, via a transformation, to an equivalent point in the original bitmap. To provide an example, if a given substrate is offset 31.0 microns “to the right” of where it should be, the firing decision for each node in the print grid can be calculated by first identifying the same node location in the original bitmap, then identifying the point 31.0 microns “to the left” of that location, and finally identifying the firing detail associated with the node closest to the deviated point. As discussed further below, in particular in such embodiments where liquid is printed into pixel wells, such a process may deposit too many or too few droplets of liquid within the well boundaries; adjustment processes, such as anti-aliasing (discussed below), can be employed to mitigate this possibility.In a second implementation, each firing decision in the overlaid grid can be a weighted function of firing decisions from a pre-rendered template (e.g., a weighted average of the firing decisions of the four printed nodes closest to a point offset 31.0 microns "to the left" in the original bitmap). Naturally, many variations and possible adjustment mechanisms will occur to those skilled in the art. Other embodiments can employ imported alignment data or in-situ measurements of nozzle parameters, which are then appropriately factored into rendering of printer control data for a given substrate, anti-aliasing, drop density (halftone pattern) adjustment, and other processes. Each of these helps to produce a more reliable deposition by using one or more additional processes to ensure that the appropriate amount and / or density of fluid is printed in discrete areas of the substrate. In some embodiments, the number of scan paths or printhead cross-scan offsets can be reconsidered to optimize printing time. Various combinations of the disclosed techniques and their relative benefits will become apparent to those skilled in the art in light of the following discussion.
[0040] FIG. 2A is used to introduce some example processing tasks. More specifically, FIG. 2A shows a flowchart 201 in which certain functions are delineated as being performed as part of an offline process (i.e., above dashed line 209) or during run time (i.e., online as part of the manufacturing process below dashed line 209). A computer (e.g., stand-alone or part of a manufacturing device such as an industrial or manufacturing printer) initially receives information describing the desired deposition of layers across a substrate, as indicated by numeral 203. As described on the right side of FIG. 2A, several variations are contemplated. For example, one embodiment (204) contemplates the production of many products at once as part of an ordered deposition. Returning briefly to FIG. 1A, for a particular manufacturing process, the layers for each of the 15 panels shown may be exactly identical to one another in width, length, and thickness. For example, a single recipe (representing one of these panels) can be loaded and ordered electronically, by hardware logic or instruction logic, or both, to generate the total printed image using the total print data for the expected print locations for the 15 individual products. This need not be true for all embodiments. For example, a TV screen of a first size can be represented by a first horizontal row of panels, and a TV screen of a second size can be represented by a second row of panels, both on the same substrate, with each panel having different manufacturing details in this example. Regardless of whether multiple products are represented by each substrate, the method can include receiving information such as the desired location of each layer (e.g., "top left" corner location and length and width dimensions, per numeral 205, and desired layer thickness, per numeral 206). In one example, "recipe editor" software can be used to define layer parameters for a substrate carrying one or more products (see, e.g., the discussion of FIG. 2C below). The computer then stores the information representing the desired layers for use as a template in processing many substrates, i.e., each in a sequence run as part of an assembly line process.The stored information is optionally pre-rendered as a bitmap or other form to represent the printing of an "ideal" substrate (i.e., one with all products perfectly positioned thereon), or is otherwise associated with default substrate / product positions.
[0041] During run time, as each new substrate is loaded or otherwise received into the printer, the substrate is roughly positioned using mechanical means. For example, this step can be done via a mechanical handler, per numeral 211, or via edge guides that "roughly" position the substrate in the desired printing position. The printer then detects the actual substrate position using a precision detection system, per numeral 213. In one embodiment, this is done using a high-precision camera that images an area of a fiducial (a known pattern in or on the substrate), the camera is precisely positioned relative to the printing system, and position detection software is used to process the image to identify the exact location of the fiducial, for example, down to the micron. Advantageously, the fiducial can be a two-dimensional pattern or set of patterns that allows for the determination of the rotational orientation and / or scale and / or tilt of the substrate. The more complex the reference (or the greater the number of independent features that can be recognized), the greater the precision and / or number and / or complexity of alignment or position problems that can be corrected. Providing an example of this, one embodiment (see FIG. 9A , also discussed below) contemplates that every panel on a substrate may have at least two dedicated alignment marks, enabling panel-by-panel error detection or mitigation on a panel-by-panel basis. This is not required for all embodiments. Whatever the detection mechanism, the computer (and / or one of its processors) then derives the deviation between (1) the detected panel position, dimensions, and orientation and (2) the expected panel position, dimensions, and orientation, and adapts the print job as necessary to align the print with any underlying layer and / or product geometry (215). The panel is then unloaded from the printer, per numeral 217, and optionally cured, per numeral 218. As indicated by reference numeral 219, a new substrate can then be loaded for a new print job.
[0042] As an example representing a hypothetical printing process for OLED or solar panel manufacturing, typical layer thicknesses of a panel can range from approximately submicron to hundreds of microns, depending on the specific layer being "printed" (and then cured or otherwise processed). Array definition information can be received and used to determine each panel's location according to a specific panel recipe linked to its printing location. For example, in a configuration with 15 panels per substrate, array definition information can be received to indicate that a first panel "recipe" was to be replicated five times in each of the first two rows of panels on the substrate (i.e., in each precise location), and a second unique panel recipe was to be replicated five times in the third row of panels (i.e., in a precise location, assuming a second recipe different from the first recipe). The array definition, in this example, can identify each panel location and the specific recipe used for that location. Note that the example of a homogeneous, continuous layer for any given product is merely illustrative. In some embodiments, the layer may be patterned within each product (as opposed to being a homogenous coating, such as a thin-film encapsulation for a particular product or panel), or the thickness can be varied within the layer as defined by a particular panel recipe. Continuing with the example of three rows of 15 panels, the third row of products could feature different layer thicknesses, potentially with denser halftoning used to "build" a greater thickness than created in the first two rows of panels.
[0043] FIG. 2B provides a flowchart 221 of an exemplary printing process for each substrate in a series of substrates. More specifically, as each new substrate is received in the series (223), a mechanical handler transports the substrate to a first position (225). This positions the substrate in a manner that ensures that the expected fiducial positions fall within the camera's field of view. In one embodiment, per numeral 227, one or more cameras are used to capture the fiducial positions. For example, one process discussed below in conjunction with FIG. 9B first uses a standard camera to identify the coarse positions of the fiducials, and then the substrate and fiducials are repositioned as needed for image capture using a second, higher-resolution camera, i.e., to identify the micron-scale positions of the fiducials. FIG. 2B also illustrates, in dashed lines, several optional processes 229 and 231, i.e., processes in which the substrate is repositioned to enable the capture of multiple fiducials. As will be described, the more fiducials and alignment features used, the greater the ability to detect nonlinearities in the substrate or individual panels. In this embodiment, the substrate is controlled by a precision handler to effectively transport fiducials for each panel to the camera, but in alternative embodiments, the camera can be mounted on a motion system and transported relative to a stationary substrate to locate the fiducials, or, as in the case of a split motion axis, the substrate and camera can both be moved. As described by the text on the left side of the figure, another embodiment uses a line scanner to image the substrate and / or its fiducials during substrate loading or other transport, and yet other embodiments use a camera mounted on the printhead (i.e., used for very frequent "continuous" error monitoring and correction). While still another embodiment uses non-visual detection mechanisms. Regardless of the number of fiducials and / or detection mechanisms, once position details have been identified and any errors have been ascertained (233), a stored template is retrieved (235) and rendered. FIG. 2B illustrates that the stored template may be in the form of a recipe (236), a bitmap (237), or some other form (238) (e.g., an object, vector, or other format). Offsets, misorientations, and / or other errors may be ascertained with a linear reference (239), using a least-squares fit (LSF) approach (240), or using some other type of error estimation mechanism (241). For example, one embodiment uses two fiducials per panel. The fiducials may be in the form of complex shapes (e.g., the "cross" depicted by FIG. 9A) and are used to determine panel rotation, angular offset, and X and Y scaling errors across a given panel. Printer control data can then be adjusted or rendered from the template using linear or affine transformations. For the LSF approach, nonlinear errors within a panel or across a substrate can be detected and modeled by a polynomial in one or more dimensions, and a supervisory processor operating under software control, for example, fits a curve to the detected errors (e.g., using error measures against multiple criteria). Adjustments are then made according to the polynomial or affine transformation to assign printer grid firing decisions and associated nozzle parameters. A mechanism (242) is provided for mapping the template to actual substrate locations, and the supervisory processor then optionally assigns processing tasks to additional processors (e.g., cores of a multi-core processor). In one embodiment, a multi-core processor with 12 or more processing cores is used to divide the rendering (or transformation) task and accelerate processing. In another embodiment, hundreds of cores are used to further accelerate processing. Such parallel processing is optional, as suggested by the use of dashed-line function box 243.Whether or not parallel processing is used, the system subsequently renders printer control data in a manner that depends on the detected substrate and / or panel position, rotation, tilt, and scale, and allocates raster scans accordingly (245). As suggested by the first optional step seen on the right side of FIG. 2B , in one embodiment, (246) the latest expected drop details for a given nozzle waveform are provided (e.g., the drop volume and mean and standard deviation of the two-dimensional drop trajectory for each unique waveform used for each unique nozzle). This information is used in the rendering process in a manner calculated to produce precise volumetric fill or ensure homogeneous distribution of ink. As discussed below, in one embodiment, this data is continuously measured (e.g., during substrate printing) to create a robust measurement ensemble and account for variations in the properties of the deposited liquid (e.g., as a function of viscosity, ambient temperature, and other factors). In one embodiment, as previously described, the scan path is not adjusted in response to misalignment, while only the nozzle / drop firing parameters are changed. In another embodiment, per numeral 247, the rasterization is reassessed and reoptimized. For example, as nozzle firing data changes, it may be possible to perform fewer scans (or conversely, it may be prudent to add scans for optimal control over deposited drop volume and position). Numeral 247 indicates that, in one embodiment, printhead offset between scans may be reassessed as needed. Numeral 248 indicates that consistency checks may also be performed on printer control data that has already been partially adjusted from a spatial perspective to address errors. For example, in one embodiment, printer control data is first rendered dependent on detected substrate-to-printer variations, and later, a software process is invoked to identify fluid wells (or other discrete regions of the substrate) and “check” the ink density and fill of these regions. If the transformation would deposit too much or too little ink, the software process smooths or otherwise adjusts the printer control data to eliminate the errors, thereby maintaining total ink fill and ink density within desired norms.In yet another embodiment, the "edge" of the successive layer (e.g., encapsulation layer) is assessed (249) to maintain a desired edge profile following error adjustment, i.e., deposition flow. Due to the diffusion properties of inks, it may be desirable to increase / decrease ink density at layer edges to achieve a predominantly homogenous layer thickness up to the intended layer boundary; in such embodiments, edge characteristics can be assessed or adjusted after error processing, which spatially transforms printer control data to address the error. Edge processing, as referenced, represents another type of consistency check and is discussed extensively in the aforementioned U.S. Provisional Application No. 62 / 019,076 (i.e., see Figures 7A-7E). While the present provisional application discusses the use of the described techniques for encapsulation layers, it should be noted that these teachings can be applied to enhance the accuracy of any deposited layer, patterned or otherwise. Many variations of these principles will occur to those skilled in the art. Finally, when processing is complete, the rendered printer control data, including any raster scan information, is sent to the printer, per numerals 251 and 253, and the method ends. As previously mentioned, in one embodiment, it is generally desired to perform this processing on each substrate or panel processed by the system in about 2 seconds or less per substrate.
[0044] As previously mentioned, layer information may be received, stored, and rendered in many forms. Figure 2C provides an example of a "recipe editor" that can be used to create and edit layer descriptions to define an "ideal" print. Such data can be saved (with or without some form of pre-processing) to generate template data that will be adjusted or transformed for each new substrate.
[0045] More specifically, FIG. 2C shows a screenshot 261 of a software user interface (“UI”) that provides panel recipe definition or editing. Such a UI can be used in a manner integrated with a printer or manufacturing system, at earlier design time (e.g., as part of a computer-aided design system), or in some other manner. As represented by screenshot 261, the software application advantageously provides mechanisms for modeling the layout of a substrate or print area and editing that layout. The UI display area 263, seen on the left side of the screenshot, encompasses three different panel sizes, variously embodied among the six depicted panels. In this example, each of the three different panel sizes can have its own recipe. The second UI display area 265, seen at the bottom right of the screenshot, provides a window into the array definitions, allowing for identification of the Cartesian location of each of the six depicted panels, including “Subpanel 1,” “Subpanel 2,” “Subpanel 3,” “Subpanel 3H1V0,” “Subpanel 3H0V1,” and “Subpanel 3H1V1,” as well as a link (for each panel) to the corresponding recipe (in this case, accomplished by their name, e.g., “Subpanel 3”); the latter three panels (“Subpanel 3H1V00,” “Subpanel 3H0V1,” and “Subpanel 3H1V1”) all use the same recipe (“Subpanel 3”) but feature respective horizontal and vertical offsets relative to the substrate. The topmost of these definitions is seen expanded (i.e., because it is “selected”). Note that the second UI display area 265 provides for graphical selection and removal of any given panel (on the right), as well as expansion and manipulation of the data of any desired panel (such as Panel 1 as shown). For example, Figure 2C shows that the top panel, "Sub-Panel 1," is defined to have a size of 825 x 500 millimeters, with its upper left corner positioned 50 millimeters from the left and top edges of the printable substrate area, and with selective corner rounding (i.e., via a selected "Corner Roundness" value).The expected positions of one or more fiducials can be identified using third UI display area 269. As previously mentioned, the print is effectively defined relative to such fiducials, such that the print (and the print area of any given panel) can be rendered based on the deviation between the expected fiducial position (relative to the printer or print transport path) of a particular panel and any actual (i.e., detected) fiducial positions. As suggested by scan shot 261, different fiducials or reference feature points can be identified to detect, for example, scaling errors or tilt. If desired, in other embodiments, third UI display area 269 can be configured to accept definitions of fiducial shapes or substrate features that the software then matches to detected (imaged) shapes identified on each substrate at runtime. Finally, the UI is considered to provide fourth UI display area 267, which allows for definition of substrate size and thickness. In one embodiment, printed layer thickness is common across all panels (e.g., for each layer of each panel), although this need not be the case in all embodiments. In one contemplated embodiment, thickness can vary from panel to panel and be affected using different local halftoning densities. For each layer, printing is performed as a unitary print job across the substrate, e.g., via multiple scans, and then the substrate and its wet ink are transported to a curing chamber to produce a permanent layer. This post-printing curing process is also typically performed in a controlled atmosphere to prevent particulate matter, oxygen, or moisture contamination. After the deposited liquid has cured or otherwise hardened, other layers can be added.
[0046] As previously mentioned, layer data defined, for example, using a recipe editor, can be stored in a number of forms suitable for the embodiment, such as a bitmap, raw recipe data, using a vector representation, or in some other manner. In one embodiment, the recipe data is used to create a grayscale image (e.g., an array of 8-bit values for each location on the substrate), where each grayscale value in the image represents the density of ink to be applied at the corresponding substrate location, and each grayscale value is used to generate local halftoning to build layer thickness (i.e., according to a printing grid). An example will be helpful here. In one embodiment, a matrix of 8-bit grayscale values is defined with rows and columns of 8-bit values ranging from "0" to "225." Each value, e.g., "235," corresponds to a unit area of the substrate and maps to a specific layer thickness. For example, the value "235" may map to a thickness of 7 microns in the finished layer (depending on the process and materials). If all grayscale values in a matrix shared the same value, this would map to a relatively homogeneous layer; however, values can be varied to vary thickness across the panel, fill in underlying geometries (e.g., structural voids beneath the layer), adjust edge buildup, or for any desired effect. Grayscale value assignments can either be "guessed" to the desired thickness (with variable local halftoning selected depending on the ink and process parameters in a manner that matches the grayscale value to the desired thickness) or pre-calibrated to the desired thickness (with halftoning that has a fixed relationship to the grayscale value). In one embodiment, the correlation between grayscale value and thickness is measured after test layer formation (e.g., after curing or drying) so that the deposited ink density is closely related to the final layer thickness. Based on the measured data (or other feedback), the software can then map the drop density to the desired grating pitch, for example, using the following equation:
number
[0047] 3A-B and 4A-G are used to discuss various rendering processes. As variously described above, in one embodiment, errors representing linear distortion across a substrate or panel can be detected and corrected, and in another embodiment, errors representing non-linear distortion across a substrate or any panel can be detected and corrected.
[0048] FIG. 3A presents a flowchart 301 in which a mapping between the detected panel topography and a printing grid is first defined (303) to accommodate the detected error. This mapping is generated to adapt the rendering of instances of a stored “template” (or unproduced layer data) to the detected distortion. For example, briefly referring back to FIG. 1B, in the case of a substrate position offset, such a grid would be used to define a pixel firing pattern relative to the actual panel position (i.e., adapted to the error) in a manner corresponding to the offset vector 123. In the example of FIG. 1C, the mapping may identify or specify a portion of the printing grid of sufficient size to represent the printed image rotated by angle α. In the example of FIG. 1D, the mapping is of sufficient size to accommodate printing scaled by (k1)X and (k2)Y. Generally speaking, the transformation is defined to encompass the desired printable area of a particular run of product arrays or substrates. For example, if the substrate distortion increases or decreases the substrate scale relative to the template printed image, the printing grid may feature more or fewer nozzle positions representing the increased, decreased, or shifted area. The transformation is then used to render the print data in a manner that aligns with any substrate (e.g., panel) errors. For example, if a pre-rendered template is stored for repeated print runs, this template can be transformed (i.e., rotated, scaled, offset, tilted, etc.) in a manner that corresponds to the mapping (and therefore corresponds to the errors) in a manner that adapts the print image to any detected run-to-run position or alignment errors. This transformation is performed by identifying (305) that portion of the print grid that corresponds to the detected panel position, and then modifying the cached template data using the identified grid points but in a manner that adjusts for the detected errors.For example, in one embodiment, if preprocessing has generated a P(x,y) firing decision for each point on the printing grid, as referenced by numeral 307, then modified printer control data for the node of the printing grid that matches the detected product position can be determined dependent on an analysis of the position error vector and one or more of the preprocessed firing decisions. This dependency can be formed on the closest node of the template data (308), an offset according to the error vector, or a weighted function (309) of two, three, four, or a different number of firing decisions from the template because misalignment or position error may be a non-integer multiple of the grid pitch. In one embodiment, the firing decision is based on only a single node of the printing grid represented by the original template (i.e., offset according to the error vector), while in a second embodiment, the firing decision is based on a weighted average of the four closest nodes according to the following equation:
number
[0049] For example, taking error into account, if a hypothetical grid point {P'(x',y')} (representing a particular grid point of the transformed panel) corresponds to a point that is closest to each of particular NE and SE grid points (printed pixels) of the cached template and not too close to particular corresponding NW and SW grid points (printed pixels), and if these NE, SE, NW, and SW points correspond to firing decisions of (1, 1, 1, and 0), respectively, then the printing grid point {P'(x',y')} may be assigned a binary firing decision (1 or 0) as a function of the firing decisions (1, 1, 1, and 0) weighted according to the error distance to these four nodes (e.g., assigning a firing decision of "1" to P'(x',y')) according to {0.40*(1)+0.40*(0)+0.10*(1)+0.10*(1)=0.60>0.50}. Again, it should be noted that this mathematical relationship is merely exemplary, and many algorithms can be used to assign nozzle firing decisions. In one specifically considered embodiment using a cached template as described, firing decisions are based solely on the closest single overlapping print pixel from the transformed image, with a software anti-aliasing process used to process the nozzle firing decisions and ensure a consistent number of drops in the transformed image. In one embodiment, an affine transformation is used as described. Regardless of the correction method, once the error-adjusted printer control data is created, it is stored in memory as a new or customized print image (311), and the completed, rendered printer control data is sent to the printer for execution (313). Following layer completion (317), the system is then prepared for the next layer or a new product run or substrate (e.g., using the same transformation).
[0050] Note that numeral 310 refers to a dashed (optional) wrapping process used to ensure consistency of deposition. For example, if a particular point P'(x',y') falls within a fluid well used to hold liquid for use as a light-generating layer in a display, and the weighted error function calls for reliance on template printed pixels that fall outside that well relative to the template image, the weighted function can be shifted (i.e., wrapped) to instead rely on other printed pixels associated with unfinished printed wells. Such a wrapping process can also optionally be performed for each core or processor in a parallel processing environment, e.g., borrowing printed pixels from other processors to maintain local consistency. Other examples are possible. For example, numeral 313 indicates that in some embodiments, the template image is shifted or distorted according to the error, and then a software daemon is invoked to process a predetermined area of the substrate (e.g., a fluid well) and check for compliance within a threshold. One such process (i.e., anti-aliasing 314) involves simply checking the number of droplets (or the expected total volume from the stored data, which represents the average volume of each droplet) to ensure that the total volume still meets the required specifications following the error shift. In another variation, the verification data, the expected droplet volume or trajectory, or other data, etc., may be used to verify the accuracy of the process. The print data can be checked by such a daemon 315 to ensure the desired overall consistency (e.g., to promote layer homogeneity), and adjustments to the printer control data are made as needed to provide deposition consistency. As described, many different processes can be used.
[0051] FIG. 3B illustrates another flowchart 351 used to explain the processing of a stored template. More specifically, information representing a desired layer is first loaded from the template (353). In one embodiment, this information includes raw recipe data; in a second embodiment, the information includes a bitmap representing nozzle firing instructions; and in a third embodiment, the information is represented in some other format, for example, intermediate between these two forms. The system then calculates (355) the transformation parameters needed to map the print represented by the template over the actual (detected) panel or substrate location. These parameters are then applied to generate a transformed representation (357). As suggested by optional process block 359, in one embodiment, rendering of printer control data can be performed directly to the recipe data (i.e., stored as the template) at run time according to the transformation parameters. As described, in one embodiment, one or more affine transformations can be used (360). The transformed representation is then output as a rendered bitmap (361) and used to generate raster data (363). The converted representation can be checked for consistency of ink density per unit area or total volume, or for other quality control reasons 363. After any corrections, the data is then output to the printer 363 and the method ends 365.
[0052] FIG. 4A provides an example 401 used to illustrate one exemplary print grid and the transformations as applied to a cached bitmap. The print grid for an ideal (i.e., error-free) “bitmap” print image is referenced by numeral 403. Each “box” in that print grid (e.g., by numeral 404) represents a print “pixel” defined by a grid point, and an “X” in a box indicates that the print nozzle will fire a drop at the corresponding grid point when the print head is moved relative to the underlying substrate. Similarly, a “box” or pixel 405 that is considered empty (i.e., has no “X”) indicates that the print nozzle will not fire over that location. The top of FIG. 4A shows a representation of a print head 407, with individual triangles (as identified by numeral 409) representing each nozzle. As the print head moves relative to the substrate, each given nozzle may pass through a series of print pixels (discrete drop ejection points), each at a different time. As an example, as nozzle 410 is moved downward relative to the drawing page, it passes over an area corresponding to print pixel 404 (where it fires), and later over an area corresponding to print pixel 405 (where it does not fire). Bitmap 403 is predefined and stored in memory as a template for use in a repeatable manufacturing process.
[0053] FIG. 4B provides an example 411 in which an instance of a product is considered to be at an offset relative to the template, for example, due to a position error of the substrate. Based on this offset (413), the area that should receive printing for accurate registration is represented by numeral 412. If the nozzle firing instructions provided by the ideal print image 403 were left unadjusted, printing would occur in a manner that is misaligned with the underlying product geometry. Therefore, it is desirable to adjust the template so that printing occurs in the proper position. In this regard, the template from FIG. 4A can be distorted at run time (e.g., by shifting position) to dynamically align with individual substrates, panels, or other product areas to mitigate errors.
[0054] FIG. 4C provides an example 421 of a portion of a printed grid 422 overlaid with a detected product location. Note that in this embodiment, this is the same printed grid as represented by FIG. 4A, but with nodes corresponding to the detected product locations. Once again, each depicted node defines a printed pixel that will be passed by the print head 407 in its motion relative to the substrate, and each “box” (such as printed pixel 419) corresponds to a print head nozzle and nozzle firing time. In one embodiment, the specific nozzles are determined in advance (e.g., the scan associated with the template will also be used for a particular product instance), but this is not required for all embodiments. Note, however, that the position offset (413) may not exactly align with the print head nozzle in-scan or cross-scan pitch. Thus, the software effectively overlays the detected product location relative to the printed grid 422 and makes firing decisions for this overlay based on a shifted version of the original template image according to the offset 413. Each printed pixel may correspond to (overlap) up to four printed pixels of the original template printed image, in this example, depending on the offset 413.
[0055] For example, Figures 4B and 4C show two cases in which the detected product location printed pixel 419 corresponds to the midpoint of four / two template printed pixels (taking into account error 413), as represented by numerals 415 and 417. Note that, for various embodiments, any number of nearby pixels can be applied in the weighting function. In one embodiment, only a single "closest" pixel is used; in a second embodiment, "two" adjacent pixels (e.g., by numeral 417) can be used; while in a third embodiment, a different number of nearby pixels (e.g., "9") can be used; i.e., the disclosed techniques should not be considered limited to considering a weighted average of four template printed pixels. The two printed pixel example 417 serves as a proxy for any number of pixels, whether greater than, less than, or equal to two, and whether based on a weighted average of multiple pixels. Based on the referenced pixel set, a decision is made for the print pixels 419; once made for all grid points seen in Figure 4C, this effectively "translates" the data from Figure 4A to correspond to the actual product locations. Once this process is complete, rasterization (e.g., scanplanning) is then performed appropriately, and printing is then performed based on the detected product locations. The above process accurately maps any ink density represented by the original template print image onto the shifted product geometry as detected in a particular print run.
[0056] Figures 4D and 4E provide examples 431 and 441, respectively, illustrating bitmap processing in the case of unintended product (array, product, substrate, or panel) rotation. As seen in Figure 4D, numeral 435 assumes that the substrate, or a portion thereof, is misoriented by angle α. Therefore, for proper printing, the print nozzle firing pattern should also be distorted according to this same value, as represented by contour 433. Figure 4E highlights the print grid area corresponding to the detected product / panel position. Note that while the desired print area is rotated relative to the substrate, the print head 407 and nozzles (such as nozzle 409) may each define a regular print grid from which droplets may be fired. Once again, for each grid point (or print pixel) of the print grid, the software shifts and overlays the original template image, then weights any overlaid print pixels of the original template to obtain a weighted pixel firing decision for that grid point. This operation is illustrated, for example, with reference to print pixel 443 in Figure 4E and the associated (demonstrative) processing of four template grid points 445 or two template grid points 447. Again, the two grid point example 447 is cited simply to illustrate that alternative embodiments can use any number of references to cached template print images. will be done.
[0057] Figures 4F and 4G provide examples 451 and 461, respectively, illustrating processing in the case of scaling errors. Once again, numeral 403 refers to the template for a particular topography, and numeral 455 represents the footprint that should receive printing to properly align the new layer with the desired product footprint according to scaling vector 457. In such an example, a new printing grid is effectively defined according to the scaling vector through a mathematical multiplication process. Note that the printing grid, in addition to being effectively scaled in size, also potentially uses a variable offset according to substrate position. Assuming an increase in both dimensions to the footprint of the printed product or panel, the effect is as if the pixels of the overlaid template image were increased in size (e.g., compare the depicted size of template printing image pixels 465 and / or 467 as depicted in Figure 4G with printing image pixels 445 and 447 depicted in Figure 4E).
[0058] 4H and 4I show illustrations directed to tilt compensation. Numeral 475 represents the footprint that should receive printing to properly align the new layer with the desired product footprint according to tilt adjustment equation 477. Note that the amount of tilt varies according to the height of the object being distorted. If the error being compensated for corresponds to a uniform tilt across the substrate, the amount of distortion in the "Y" dimension (left to right across the figure) will vary depending on the "X" dimension value obtained from the substrate edge. Note that the X coordinate transformation in this example is unity (i.e., no change), but in general, the results will differ depending on the orientation of the tilt. The template is scaled according to the scaling vector by a mathematical multiplication process according to equation 477 and is effectively overlaid against the print grid corresponding to the detected product scale. The firing value of each print grid point of the overlaid grid is calculated according to equation 477 (i.e., the inverse of the scaling) based on (for example) one, two, four, or another number of overlapping or neighboring print pixels according to a weighting criterion. This is represented in Figure 4 by the depicted matching of print grid points 483 to weighted and positionally registered print pixels 485 or 487 of the template. Again, each grid point represents a possible firing position of a nozzle (e.g., referenced by numeral 409) of printhead 407 as it is moved vertically relative to the page of the drawing.
[0059] Note that in the depicted example, there are print pixels adjacent to the edge of the print grid footprint that are not necessarily weighted by a consistent number (e.g., 4) of template print pixels relative to other portions of the print grid. To avoid under-representation of drops adjacent to the boundary region of the new footprint, the edge grid points can advantageously use an algorithm (e.g., wrapping of pixels from the opposite side of the footprint) to ensure proper drop density. In situations where the depicted footprint (e.g., 475) represents the desired layer boundary, then, if desired, an edge process (e.g., fencing) can be applied to ensure a well-defined edge, as previously referenced. Other techniques and variations are possible.
[0060] It was previously noted that in one embodiment, the bitmap may consist of grayscale values (e.g., 8-bit or other multi-bit values), each value representing an ink volume or desired thickness. The processing described above can also be applied to such grayscale values by simply weighting each grayscale value of the template by an appropriate distance measure and grayscale magnitude. For example, using the example of hypothetical grid points {P'(x',y')} of the detected product geometry, where 40% are mapped to each of the NE and SE grid points (print pixels) of the template, and 10% are mapped to the NW and SW grid points of the template, again according to the normalized overlap area, the NE, SE, N If the W and SW points have grayscale decisions of (235, 235, 150, and 0), respectively, then the hypothetical grid point {P'(x',y')} can be assigned a grayscale value of 203 according to {0.40*(235)+0.40*(235)+0.10*(150)+0.10*(0)=203}. This measure can also be directly converted, if desired, by software for individual print grid annotations to a binary firing decision via comparison with any desired threshold (e.g., fire if "1"=203>Th). Note that these relationships are merely exemplary, and many algorithms can be used to assign nozzle firing decisions in customized print images. As mentioned above, in at least one considered system, measured per-nozzle, per-drive waveform drop details can be taken into account in the process (e.g., the fact that, given a desired printhead scan offset, the nozzle corresponding to P'(x',y') fires a heavy drop, e.g., volume = 12.4 pL, can be relied upon in assigning a different nozzle to instead fire the drop of P'(x',y'), or conversely, the scan can be replanned to employ a different printhead offset, and therefore a different nozzle, for P'(x',y'). Other variations are possible.
[0061] Having introduced a method for transforming a printed image, the present disclosure now discusses certain exemplary circuits associated with printing and printheads used in industrial printers to fabricate one or more layers of a product.
[0062] In the figures discussed above, a simplified printhead (e.g., referenced by numeral 407 in Figures 4A-4I) was depicted as having a relatively small number of nozzles, such as 20. In reality, for typical manufacturing operations, particularly for large-scale products, a printhead may have a much larger number of nozzles, e.g., thousands, arranged in multiple rows. For example, there may be multiple such printheads mounted on a common assembly so that, in total, thousands or tens of thousands of print nozzles are used to eject material across a relatively wide swath of a substrate. This structure provides high-quality ink droplet delivery with highly accurate positional resolution. While each printhead is expected to deposit a nominal amount of ink per droplet (e.g., 10 picoliters or 10.00 pL), in practice, numbers may vary between nozzles, as may nozzle position, droplet velocity, and droplet ejection trajectory. These variations can potentially cause defects in the deposited layer that, if left unchecked, can translate to poor quality in the finished product.
[0063] In one embodiment, to more accurately fabricate the desired layer, the drop details of each nozzle are measured and used to create a statistical model of each nozzle's performance with respect to each of these parameters. Repeated measurements help to effectively average out measurement errors and develop a relatively accurate understanding of the mean and sigma of each parameter, and various techniques are used to address the variations referenced above. Generally speaking, these techniques exploit the variations and provide precisely planned drop deposition aimed at achieving specific ink loading, ink packing density, and drop distribution based on the measured per-nozzle or per-drop mean and associated sigma. Halftoning (i.e., ink density) and / or template adjustments can incorporate (or compensate for) such variations so that variations in malfunctioning nozzles and / or drop position and / or volume can be corrected. Note that "halftoning" as used herein refers to varying the drop density (e.g., number of drops per group of printing grid nodes) to affect layer thickness, even though "tone" is not used in the precise sense (i.e., the "ink" or deposited liquid is typically colorless). In one technique described below, multiple (alternative) electrical drive waveforms vary target drop volumes and positions (including at least one selection that approximates an ideal target drop volume and position). The waveforms are made available for selection on a nozzle-by-nozzle basis, providing selective capability for driving / delivering the droplets. Statistical measurements can be made for each such waveform and for each nozzle, providing high accuracy in planning. These measurements can be updated or re-performed over time to accommodate changes in ink properties (e.g., viscosity) and to account for temperature changes, nozzle clogging or age, and other factors. The following sections introduce the measurement capabilities that provide this understanding. Briefly considering the previous discussion regarding the use of a printing grid, each grid point would be associated with a nozzle on the printhead. The above-referenced measurement capabilities can be applied in this process, for example, to prevent malfunctioning nozzles from being assigned a firing decision in a printhead pass (and / or to redistribute any required droplets to other nozzles). Additionally, differences in the "X" axis position of droplets can be corrected through the use of referenced alternative nozzle driving waveforms, or through adjusting or amplifying preselected waveforms, to alter droplet timing to better position droplets or change their volume. Substantial additional details about these practices are provided in the previously referenced applications (which are incorporated herein by reference).
[0064] 5A-5D are used to introduce the controls over nozzle firing and drive waveform selection.
[0065] Typically, the effects of different drive waveforms and the resulting drop volume are measured in advance. In one embodiment, for each nozzle, up to 16 different drive waveforms are then stored in 1k static random access memory (SRAM) per nozzle for later selective use in providing discrete volume variations as selected by software. Once the different drive waveforms are in hand, each nozzle is then instructed on a drop-by-drop basis as to which waveform to apply via programming data that achieves the particular drive waveform. This configuration information is stored by the planter (or control processor) separately from the firing decisions that will be applied to the substrate.
[0066] FIG. 5A illustrates one such embodiment, generally designated by the numeral 501. In particular, a processor 503 is used to receive data defining the intended fill volume per target area for a particular layer of material to be printed. As represented by the numeral 505, this data may be a layout file or bitmap file defining the drop volume per grid point or location address. A series of piezoelectric transducers 507, 508, and 509 generate associated ejected drop volumes 511, 512, and 513, respectively, which depend on many factors, including nozzle drive waveforms and printhead-to-printhead manufacturing variations. During a calibration operation, each set of variables is tested for its effect on drop volume, including nozzle-to-nozzle variations and the use of different drive waveforms, taking into account the particular ink that will be used. If desired, this calibration operation can be made dynamic, responding to, for example, changes in temperature, nozzle clogging, nozzle age, or other parameters. This calibration is represented by a drop measurement device 515, which provides measurement data to processor 503 for use in managing the print plan and the next print. In one embodiment, this measurement data is calculated on the fly, as an offline process (e.g., for thousands of printhead nozzles and potentially a large number of possible nozzle firing waveforms), taking literally minutes, e.g., as little as 30 minutes for thousands of nozzles, and preferably even less. In another embodiment, such measurements can be made iteratively, that is, for each nozzle, updating different subsets of nozzles at different times (e.g., between successive substrates in an assembly line process as substrates are loaded and unloaded). Non-imaging (e.g., interferometric) techniques can optionally be used, potentially resulting in tens of drop measurements per nozzle, covering tens to hundreds of nozzles per second. This data and any associated statistical models (and averages) are then used to model the layout data or print image as they are received. The image data (e.g., bitmap data) 505 can be stored in memory 517 for use in processing the image data (e.g., bitmap data) 505. In one implementation, the processor 503 is part of a computer that is remote from the actual printer, while in a second implementation, the processor 503 is integrated with either the production facility for the product (e.g., a system for producing a display) or the printer.
[0067] To effect drop ejection for the depicted embodiment, a set of one or more timing or synchronization signals 519 are received for use as a reference and these are passed through a clock tree 521 for distribution to each nozzle driver 523, 524, and 525 to generate drive waveforms for specific nozzles (527, 528, and 529, respectively). Each nozzle driver has one or more registers 531, 532, and 533, respectively, which receive multi-bit programming data and timing information from the processor 503. Each nozzle driver and its associated register receives one or more dedicated write enable signals (wen) for the purpose of programming the registers 531, 532, and 533, respectively. In one embodiment, each of the registers comprises a significant amount of memory, including a 1k static RAM (SRAM) that stores a number of predetermined waveforms, and programmable registers that select between these waveforms and otherwise control waveform generation. Although the data and timing information from the processor is depicted as multi-bit information, this information can be provided via either serial or parallel bit connections to each nozzle (as seen in FIG. 5B, discussed below, in one embodiment, this connection is serial as opposed to the parallel signal representation seen in FIG. 5A).
[0068] For a given deposit, printhead, or ink, the processor selects a set of 16 drive waveforms for each nozzle that can be selectively applied to generate droplets. Note that the number is arbitrary; for example, one design might use four waveforms, while another might use 4,000 waveforms. These waveforms are advantageously selected to provide the desired variation in output drop volume and / or location for each nozzle, e.g., to have each nozzle select at least one waveform that produces a near-ideal drop volume (e.g., an average drop volume of 10.00 pL), as well as to provide a range of intentional volume variations from each nozzle. While in various embodiments, the same set of 16 drive waveforms is used for all of the nozzles, in the depicted embodiment, 16 potentially unique waveforms are separately predefined for each nozzle, each waveform providing a respective drop volume characteristic.
[0069] During printing, data selecting one of the predefined waveforms is then programmed into each nozzle's respective register 531, 532, or 533 on a nozzle-by-nozzle basis to control the deposition of each droplet. For example, considering a target droplet volume of 10.00 pL, nozzle driver 523 can be configured to set one of 16 waveforms corresponding to one of 16 different droplet volumes through writing data to register 531. Once the droplet volumes and associated distributions per nozzle (and per waveform) are registered by processor 503 and stored in memory to help generate the desired target fill, the volumes produced by each nozzle will have been measured by droplet measurement device 515. This same process can be performed for droplet position or trajectory. By programming register 531, the processor can define whether it wants a particular nozzle driver 523 to output one of the 16 waveforms it selects. The processor can also program the registers to utilize a per-nozzle delay or offset in the firing of the nozzles for a given scan line (e.g., to align each nozzle with the grid traversed by the printhead, to correct for errors including velocity or trajectory errors, and for other purposes), and this offset is used to determine the firing time of each scan line. This is achieved by a counter that regulates the use of a particular nozzle (or firing waveform) by a programmable number of timing pulses for each nozzle. To provide an example, if the droplet measurement results indicate that one particular droplet tends to have a lower-than-expected velocity, the corresponding nozzle waveform can be triggered earlier (e.g., advanced in time by shortening the dead time before the active signal level used for piezoelectric actuation); conversely, if the droplet measurement results indicate that one particular droplet has a relatively high velocity, the waveform can be triggered later, etc. Other examples are clearly possible; for example, in some embodiments, slow droplet velocities can be prevented by increasing the drive strength (i.e., the signal level and associated voltage used to drive the piezoelectric actuator of a given nozzle). In one embodiment, the synchronization signal distributed to all nozzles occurs at defined time intervals (e.g., 1 microsecond) for synchronization purposes; in another embodiment, the synchronization signal is adjusted to printer motion and substrate topography, e.g., to fire incremental relative motion between the printhead and substrate every 1 micron. A high-speed clock (φhs) is run thousands of times faster than the synchronization signal, e.g., at 100 megahertz, 33 megahertz, etc., and in one embodiment, multiple different clocks or other timing signals (e.g., strobe signals) can be used in combination. The processor also programs values defining the grid spacing; in some implementations, the grid spacing is common to the entire set of available nozzles, although this need not be the case for each implementation. For example, in some cases, a regular printing grid can be defined, with all nozzles firing "every 5 microns." This grid can be specific to the printing system, the substrate, or both. Thus, in one optional embodiment, a printing grid can be defined for a particular printer, with the synchronization frequency or nozzle firing pattern used to effectively transform the printing grid to match a substrate topography that is unknown a priori.In another contemplated embodiment, a memory is shared across all nozzles that allows the processor to pre-store several different grid spacings (e.g., 16) so that the processor can then select (on demand) a new grid spacing to be read from all nozzles (e.g., to define an irregular printing grid). For example, in an implementation where a nozzle is firing for all color component wells of an OLED (e.g., to deposit a non-color-specific layer), three or more different grid spacings can be applied sequentially in a round-robin fashion by the processor. Clearly, many design alternatives are possible. Note that the processor 503 can also dynamically reprogram each nozzle's register during operation; i.e., a synchronization pulse is applied as a trigger to activate any programmed waveform pulses set in that register, and if new data is received asynchronously before the next synchronization pulse, the new data will be applied with the next synchronization pulse. The processor 503 also controls the start and rate of scanning (535) in addition to setting parameters for synchronization pulse generation (536). In addition, the processor controls the optional rotation of the printhead (537). In this way, each nozzle can be fired in unison (or simultaneously) at any time (i.e., with any "next" sync pulse) using any one of 16 different waveforms for each nozzle, and the selected firing waveform can be dynamically switched with any other of the 16 different waveforms between fires during a single scan.
[0070] FIG. 5B shows additional details of the circuit (541) used in such an embodiment to generate the output nozzle drive waveform for each nozzle, the output waveform being represented in FIG. 5B as "nzzl-drv.wvfm." More specifically, circuit 541 receives inputs of a synchronization signal, a single bit line carrying serial data ("data"), a dedicated write enable signal (we), and a high-speed clock (φhs). Register file 543 provides data in at least three registers that carry, respectively, an initial offset, a grid definition value, and a drive waveform ID. The initial offset aligns with the start of the printing grid, as described. The grid definition value is a programmable value that adjusts each nozzle to achieve a specific grid pattern. For example, considering implementation variables such as multiple printheads, multiple rows of nozzles, different printhead rotations, nozzle firing speeds and patterns, and other factors, an initial offset can be used to align each nozzle's droplet pattern with the start of the print grid to account for delays and other factors. Offsets can be applied differently across multiple nozzles, for example, to rotate the print grid or halftone pattern relative to the substrate topography or to correct for substrate misalignment. Similarly, as described, offsets can also be used to correct for abnormal speed or other effects. The grid definition value is a number representing the number of synchronization pulses to be "counted" before the programmed waveform is triggered; in the case of an implementation printing a flat panel display (e.g., an OLED panel), the printed target area will likely have one or more regular intervals for different printhead nozzles, corresponding to a regular (constant interval) or irregular (multiple interval) print grid. As mentioned above, in some implementations, the processor maintains its own 16-entry SRAM to define up to 16 different print grid intervals, which can be read into register circuits for all nozzles on demand. Thus, if the print grid spacing value is set to 2 (e.g., every 2 microns), each nozzle will fire at this interval. The drive waveform ID is a selection value used to select one of the pre-stored drive waveforms for each nozzle. In one embodiment, the drive waveform ID is a 4-bit selection value, and each nozzle has its own dedicated 1 kByte SRAM to store up to 16 pre-defined nozzle drive waveforms, stored as 16 x 16 x 4B entries. Briefly, each waveform consists of 16 discrete signal levels, and each of the 16 entries for each waveform contains 4 bytes representing the programmable signal level, 2 bytes of resolution voltage level and 2 bytes of programmable duration used to count the number of pulses of the high-speed clock.Thus, each programmable waveform can consist of anything from (0 to 1) discrete pulses up to a maximum of 16 discrete pulses, each of programmable voltage and duration (e.g., of duration equal to 1 to 255 pulses of a 33 megahertz clock).
[0071] Numerals 545, 546, and 547 designate one embodiment of a circuit showing how a prescribed waveform can be generated for a given nozzle. A first counter 545 receives a synchronization pulse to begin counting down an initial offset, triggered by the start of a new line scan. The first counter 545 counts down in micron increments, and when it reaches zero, a trigger signal is output from the first counter 545 to a second counter 546. This trigger signal essentially starts the firing process for each nozzle for each scan line. The second counter 546 then implements a programmable grid spacing in micron increments. While the first counter 545 resets with each new scan line, the second counter 546 is reset using the next edge of the high-speed clock following its output trigger. When triggered, the second counter 546 activates a waveform generator 547, which generates a selected drive waveform shape for a particular nozzle. As represented by dashed boxes 548-550 seen below the generator circuit, this latter circuit is based on a high-speed digital-to-analog converter 548, a counter 549, and a high-voltage amplifier 550, timed according to a high-speed clock (φhs). When a trigger is received from the second counter 546, the waveform generator circuit retrieves the number pair (signal level and duration) represented by the drive waveform ID value and generates a predetermined analog output voltage according to the signal level value, and counter 549 is effective to hold the DAC output for the duration according to the counter. The associated output voltage level is then applied to high-voltage amplifier 550 and output as the nozzle drive waveform. The next number pair is then latched from register 543 to define the next signal level value / duration, and so on.
[0072] The depicted circuitry may be configured to perform any desired function according to data provided by the processor 503. This provides an effective means of defining waveforms for firing. The duration and / or voltage level associated with any particular signal level (e.g., the first "0" signal level defining an offset for synchronization) can be adjusted if necessary to conform to grid geometry or to mitigate nozzles with anomalous speeds or flight angles. As described, in one embodiment, the processor determines a set of waveforms (e.g., 16 possible waveforms per nozzle) in advance, then writes definitions of each of these selected waveforms into SRAM for each nozzle's driver circuit, and then writes a 4-bit drive waveform ID to each nozzle register, thereby achieving a default selection of a programmable waveform to be applied in response to a firing decision.
[0073] The use of multiple signal levels to shape the pulse is discussed with reference to FIG. 5C.
[0074] That is, in one embodiment, the waveform can be predefined as a series of discrete signal levels, e.g., defined by digital data, and the drive waveform is generated by a digital-to-analog converter (DAC). Numeral 551 in FIG. 5C refers to waveform 553, which has discrete signal levels 555, 557, 559, 561, 563, 565, and 567. As described for this embodiment, each nozzle driver includes circuitry for receiving and storing up to 16 different signal waveforms, each defined as a series of up to 16 signal levels, each represented as a multi-bit voltage and duration. That is, pulse widths can be effectively varied by defining different durations for one or more signal levels, and drive voltages can be waveform-shaped in a manner selected to provide subtle droplet size variations; for example, droplet volumes are measured to provide specific volume increments, such as in units of 0.10 pL. Thus, in such an embodiment, waveform shaping provides the ability to adjust droplet volume to approach a target droplet volume value. When combined with other specific droplet volumes and locations, such as using the techniques exemplified above, these techniques facilitate precise fill volumes per target area. In another embodiment, a predetermined waveform can be applied, and optional further waveform shaping or timing is applied as appropriate to adjust droplet volume, velocity, and / or trajectory. In yet another example, the use of nozzle drive waveform alternatives provides a mechanism for planning volume so that further waveform shaping is not required.
[0075] 5D shows yet another design 571. For example, a master computer CPU 573 sends print data (adjusted for errors) to a print module having multiple printheads (e.g., one of six different printheads, each with hundreds of print nozzles). In the print module, an Ethernet connection 575 receives data from the CPU and provides the data to a field programmable gate array (“FPGA”) 577. A customized “soft processor” (578) within the FPGA processes the data accordingly and writes the data to memory (i.e., dynamic random access memory or “DRAM”) 579. Unlike the embodiments described above, in the depicted embodiment, waveforms are written to memory for use by one or more nozzles, and the particular manner in which the data is written or stored can be an implementation decision. For example, in one embodiment, soft processor 578 writes a particular waveform as a series of drive levels for each nozzle (see, e.g., the discussion above in connection with FIG. 5C), and then other FPGA logic 580 reads this data at the appropriate time and provides it to amplifier 581, and ultimately to the associated printhead 583 and associated nozzle driver. In one implementation, the depicted FPGA 577 and DRAM 579 are components of each printhead (e.g., data is transmitted to each printhead separately), although this is not the case in all embodiments. One function of logic 580 and amplifier 581 is to parallelize the appropriate waveforms so that they can be read out together for each nozzle at the appropriate time in parallel (as needed or appropriate to the design). Note that in one implementation, DRAM 579 can optionally be organized to have a separate memory for each nozzle. Note that in this embodiment, instead of using triggers, each nozzle receives one of 16 waveforms (i.e., one waveform is a flat waveform or zero drive signal, indicating that the particular nozzle is not to be fired). The particular drive waveform can be dynamically supplied or pre-written (i.e., but may be dynamically changeable) by CPU 573, and a run-time 4-bit value is used to provide the nozzle firing decision and associated waveform selection (and trigger the output of that waveform from DRAM 579 or logic 580). Other alternatives are possible.
[0076] Having thus introduced a nozzle control circuit as may be used in an exemplary manufacturing device, additional details will now be presented regarding one possible implementation of such a device. As previously alluded to, one contemplated implementation of the techniques described herein is to manufacture flat panel devices in an array, which are then cut from a common substrate. The following discussion will describe in more detail an exemplary system for such printing applied to the manufacture of solar panels and / or display devices that may be used in electronic devices (e.g., as smartphones, smartwatches, tablets, computers, televisions, monitors, or other forms of display). The manufacturing techniques provided by the present disclosure are not limited by this particular application and can be applied, for example, to any 3D printing application and a wide range of other forms of products.
[0077] FIG. 6A depicts several different implementation layers, collectively designated by reference numeral 601. Each one of these layers represents a possible discrete implementation of the techniques introduced herein. First, the techniques introduced in this disclosure can take the form of instructions stored on a non-transitory, machine-readable medium (e.g., executable instructions or software for controlling a computer or printer), as represented by graphic 603. Second, per computer icon 605, these techniques can also optionally be implemented as part of a computer or network, for example, within a company that designs or manufactures components for sale or use in other products. Third, as illustrated using storage medium graphic 607, the previously introduced techniques can take the form of printer control instructions stored as data that, when acted upon, will cause a printer to fabricate one or more layers of components that rely on the use of different ink volumes or positions to mitigate alignment errors, for example, as discussed above. Note that the printer instructions can be transmitted directly to the printer, for example, via a LAN. In this regard, the storage medium graphic can represent (without limitation) RAM inside or accessible to a computer or printer, or a portable medium such as a flash drive. Fourth, as represented by fabrication device icon 609, the techniques introduced above can be implemented as part of a fabrication apparatus or machine or in the form of a printer within such an apparatus or machine. Note that the specific depiction of fabrication device 609 represents one exemplary printer device, which will be discussed in connection with FIG. 6B below. The techniques introduced above can also be embodied as an assembly of manufactured components. For example, in FIG. 6A, several such components are depicted in the form of an array 611 of semi-finished flat panel devices that would be sold separately for incorporation into an end consumer product. The depicted device may have, for example, one or more light-generating or encapsulating layers, or other layers fabricated in accordance with the techniques introduced above.The techniques introduced above may also be embodied in the form of end consumer products, such as those referred to herein, in the form of a display for a portable digital device 613 (e.g., an electronic pad or smartphone), a television display screen 615 (e.g., an OLED TV), a solar panel 617, or other type of device.
[0078] FIG. 6B shows one contemplated multi-chamber fabrication apparatus 621 that can be used to apply the techniques disclosed herein. Generally speaking, the depicted apparatus 621 includes several general modules or subsystems, including a transfer module 623, a printing module 625, and a processing module 627. Each module maintains a controlled environment so that printing, for example, can occur by the printing module 625 in a first controlled atmosphere, and other processing, e.g., another deposition process such as inorganic encapsulation layer deposition or a curing process (e.g., for the printed material), can occur in a second controlled atmosphere. The apparatus 621 uses one or more mechanical handlers to move substrates between modules without exposing the substrates to an uncontrolled atmosphere. Within any given module, other substrate handling systems and / or specific devices and control systems adapted to the processing performed in that module may be used.
[0079] Various embodiments of the transfer module 623 can include an input load lock 629 (i.e., a chamber that provides buffering between different environments while maintaining a controlled atmosphere), a transfer chamber 631 (also having a handler for transporting substrates), and an atmospheric buffer chamber 633. Other substrate handling mechanisms, such as a floating table for stable support of the substrate during the printing process, can be used within the print module 625. Additionally, an x-y-z motion system, such as a split-axis or gantry motion system, can be used to precisely position at least one print head relative to the substrate, while providing a y-axis transport system for transporting the substrate through the print module 625. It is also possible to use multiple inks for printing within the print chamber, e.g., using respective print head assemblies, so that, for example, two different types of deposition processes can be performed within the print module in a controlled atmosphere. The print module 625 can include a gas enclosure 635 that houses the inkjet printing system, along with means for introducing an inert atmosphere (e.g., nitrogen) and otherwise controlling the atmosphere (e.g., temperature and pressure), gas components, and the presence of particulate matter for environmental conditioning.
[0080] Various embodiments of the processing module 627 can include, for example, a transfer chamber 636, which also has a handler for transporting substrates. In addition, the processing module can also include an output load lock 637, a nitrogen stack buffer 639, and a curing chamber 641. In some applications, the curing chamber can be used to cure, bake, or dry the monomer film into a uniform polymer film. For example, two processes considered in detail include a heating process and an ultraviolet radiation curing process.
[0081] In one application, the apparatus 621 is adapted for the mass production of liquid crystal display screens or OLED display screens, for example, fabricating an array of (for example) eight screens at a time on a single large substrate. These screens can be used in televisions and as display screens for other forms of electronic devices. In a second application, the apparatus can also be used in the mass production of solar panels in the same manner.
[0082] Printing module 625 can be advantageously used in such applications to deposit organic light generating or encapsulating layers that help protect sensitive elements of an OLED display device. For example, the depicted apparatus 621 can be loaded with a substrate and controlled to move the substrate back and forth between various chambers in a manner that is uninterrupted by exposure to uncontrolled atmosphere during the encapsulation process. The substrate can be loaded through an input load lock 629. A handler positioned in transfer module 623 transfers the substrate from input load lock 629 to the printing module. The printing process can be completed by moving the substrate to module 625, and following completion of the printing process, the substrate can be moved to processing module 627 for curing. By repeated deposition of subsequent layers, each of controlled thickness, a total encapsulation can be built up to suit any desired application. Once again, it is noted that the techniques described above are not limited to encapsulation processes, and many different types of tools can be used. For example, the configuration of apparatus 621 can be varied to arrange the various modules 623, 625, and 627 in different juxtapositions, and additional, fewer, or different modules can also be used.
[0083] While Figure 6B provides one example of a set of linked chambers or fabrication components, clearly many other possibilities exist. The techniques introduced above can be used to control fabrication processes performed with the device depicted in Figure 6B, or indeed with any other type of deposition equipment.
[0084] 6C provides a plan view of the substrate and printer as they might appear during the deposition process. The print chamber is generally designated by reference numeral 651, the substrate to be printed is generally designated by numeral 653, and the support table used to transport the substrate is generally designated by numeral 655. Generally speaking, any x-y coordinate of the substrate is reached by a combination of movements, including x- and y-dimensional movement of the substrate by the support table (e.g., using a floating support, as represented by numeral 657) and using “slow-axis” x-dimensional movement of one or more printheads 659 along travelers 661, as generally represented by arrow 663. As described, the floating table and substrate handling infrastructure are used to move the substrate and advantageously provide tilt-elimination control along one or more “fast axes” as needed. The printheads are considered to have multiple nozzles 665, each separately controlled by a firing pattern derived from the template (e.g., so that when the printhead is moved along the “slow axis” from left to right and vice versa, printing of columns corresponding to printer grid points is achieved). When relative motion between one or more printheads and the substrate is provided in the direction of the fast axis (i.e., the y-axis), printing typically represents swaths that follow the rows of printer grid points for each row. The printheads can also be advantageously adjusted to vary effective nozzle spacing (e.g., by rotating one or more printheads, per numeral 667). Note that multiple such printheads can be used together, oriented with x-, y-, and / or z-dimension offsets relative to each other, as desired (see axis legend 669 in FIG. 6C ). The printing operation continues, as desired, until the entire target area (and any border areas) has been printed with ink. Following deposition of the required amount of ink, the substrate is completed either by evaporating the solvent to dry the ink (e.g., using a thermal process) or by using a curing process such as an ultraviolet curing process.
[0085] FIG. 6D provides a block diagram showing various subsystems of an apparatus (671) that may be used to fabricate a device having one or more layers as defined herein. Coordination across the various subsystems is provided by a set of processors 673 acting under instructions provided by software (not shown in FIG. 6D). As previously mentioned, to perform on-the-fly transformations to correct for substrate or panel errors, in one embodiment, these processors include a supervisory processor or general-purpose CPU and a set of additional processors used for parallel processing. In one specifically contemplated implementation, these additional processors take the form of a multi-core processor or graphics processing unit (GPU, e.g., with hundreds or more cores). Each core is assigned a portion of the printed image to transform to distort the printed image to match the substrate errors. When errors are independently corrected on a per-panel or other product basis, In this example, each core can be advantageously assigned to a portion or part of a single product or panel (i.e., such that a particular core performs only a single conversion operation on all assigned image data). Parallel processing and / or delegation of this nature is not required for all embodiments. During the fabrication process, the processor sends data to the printhead 675, causing the printhead to eject various volumes of ink in response to firing instructions provided by the halftone print image. The printhead 675 typically has multiple inkjet nozzles arranged in rows or arrays and associated reservoirs that enable the ejection of ink in response to activation of piezoelectric or other transducers. Such transducers cause each nozzle to eject a controlled amount of ink, in an amount governed by an electronic firing waveform signal applied to the corresponding piezoelectric transducer. Other firing mechanisms can also be used. The printhead applies ink to the substrate 677 at various x-y locations corresponding to grid coordinates as represented by the halftone print image. Position variation is achieved by both the print head motion system 679 (e.g., causing the print to represent one or more swaths across the substrate) and the substrate handling system 681. In one embodiment, the print head motion system 679 moves the print head back and forth along a traveler, while the substrate handling system provides stable substrate support and both “x” and “y” dimensional transport (as well as rotation) of the substrate, e.g., for alignment and tilt elimination. During printing, the substrate handling system provides relatively fast transport in one dimension (e.g., the “y” dimension relative to FIG. 6C ), while the print head motion system 679 provides relatively slower transport in another dimension (e.g., the “x” dimension relative to FIG. 6C ), e.g., for print head offset. In another embodiment, multiple print heads can be used, with the primary transport handled by the substrate handling system 681. An image capture device 683 can be used to identify the location of any fiducials and assist with the previously described alignment and / or error detection functions.
[0086] The apparatus also includes an ink delivery system 685 and a printhead maintenance system 687 to support printing operations. The printheads may be periodically calibrated or undergo maintenance processes. To this end, during maintenance sequences, the printhead maintenance system 687 is used to perform appropriate priming, ink or gas purging, testing and calibration, and other operations as appropriate for the particular process. Such processes may also include, for example, individual measurements of parameters such as drop volume, velocity, and trajectory, as discussed in applicant's previously referenced PCT patent application (PCT / US14 / 35193) and referenced by numerals 691 and 692.
[0087] As previously introduced, the printing process can be performed in a controlled environment, i.e., in a manner that presents a reduced risk of contaminants that could degrade the effectiveness of the deposited layer. To this effect, the apparatus includes a chamber control subsystem 689, represented by functional block 690, that controls the atmosphere within the chamber. Optional process variations, as described, can include performing the ejection of deposition material in the presence of an ambient nitrogen gas atmosphere (or another inert environment with specifically selected gases and / or controlled to exclude unwanted particulate matter). Finally, as represented by numeral 693, the apparatus also includes a memory subsystem that can be used to store halftone pattern information or halftone pattern generation software, template print image data, and other data, as needed. For example, the memory subsystem can be used as a working memory for the translation of a previously generated print image according to the techniques introduced above to internally generate printer control instructions that govern the firing (and timing) of each droplet. If some or all of such rendering is done elsewhere and the task of the apparatus is to produce device layers in accordance with received printer instructions, the received instructions may be stored in a hard disk for use during the printing process and / or maintenance as appropriate. The data can be stored in memory subsystem 693 for processing. As represented by numeral 694, in one optional embodiment, individual drop details can be varied through variation of the firing waveform of any given nozzle (e.g., to correct for nozzle anomalies). In one embodiment, a set of alternative firing waveforms can be pre-selected and made available to each nozzle on a shared or dedicated basis, and optionally used in conjunction with substrate variation (error) processing 695, as described above. As described, while some embodiments use a predetermined scan path (i.e., despite error), with compensation for error achieved using different nozzles and / or drive waveforms for certain nozzles, in another embodiment, print optimization (696) is performed to reassess scan path details and potentially improve deposition time.
[0088] FIG. 7 provides another flow diagram 701 associated with some of the processes discussed. As with the previous examples, data representing a desired layer layout is first received, as indicated by numeral 703. This data defines the boundaries of the layer to be deposited and provides sufficient information to define the thickness throughout the layer of interest (e.g., for a given panel). This data can be generated on the same machine or device on which process 701 is performed, or it can be generated by a different machine. In one embodiment, the received data is defined according to an x-y coordinate system, and the provided information is sufficient to calculate the desired layer thickness at any expressed x-y coordinate point, optionally defining a single height or thickness to be applied throughout the layer, for example, consistent with the previously introduced x micron by y micron by z micron example. This data can be converted, as indicated by numeral 705, into a grayscale value for each print cell (or each print pixel) in the deposition area that can receive the layer. If the print cell area does not inherently correspond to an x-y coordinate system that matches the layout data, the layout data is transformed (e.g., by averaging thickness data for multiple coordinate points and / or using interpolation) to obtain a grayscale value for each print pixel. This transformation may be based on desired mapping information, generated, for example, using a relationship or equation. Per numeral 707, grayscale values can be optionally adjusted to produce a homogeneous layer (or for other desired effects). Providing one example, if it is desired to compensate for varying heights of microstructures that may be located below the desired layer, an optional technique is to add an offset to select grayscale values that “enhance” the layer of interest in a particular location to effectively planarize the top surface of the deposited layer. In one embodiment, grayscale value manipulation can also be used to correct nozzle firing anomalies (e.g., in the in-scan direction) to deposit more ink (e.g., if a particular nozzle or set of nozzles produces insufficient ink volume) or less ink (e.g., if a particular nozzle or set of nozzles produces excessive ink volume).Such optional processes may be premised on a calibration process and / or experimentally determined data, per function block 714. The grayscale values are then converted to a drop density pattern (e.g., a particular halftone pattern), per numeral 709, and then a bitmap is generated, per numeral 710. Error diffusion, as shown by the figure, may be relied upon to help promote layer uniformity.
[0089] FIG. 7 illustrates the use of a collection of several nozzle / waveform error correction processes 713, optionally applied to ensure uniformity and accuracy of the deposited layer and to help adjust for detected panel or substrate position errors. Such uniformity can be important to device quality, whether for precise alignment with any underlying product layers, for ensuring the creation of proper encapsulation to create a water / oxygen barrier, for providing high-quality light-generating or light-guiding elements of a display panel, or for other purposes or effects. As previously mentioned, calibration processes or experimentally determined (estimated) data can be used to correct for errors in grayscale values, or nozzle or nozzle waveform details, or substrate or panel position variations, per numeral 714. Alternatively, individual nozzles can be used to correct for errors in the nozzle or nozzle waveform details, or substrate or panel position variations, per numeral 714. The drive waveform can be planned or adjusted to correct for the error, as represented by numeral 715. In another embodiment, as previously described, the nozzles can be verified or qualified (719), with each nozzle either determined to meet a minimum drop production threshold or disqualified from use. If a particular nozzle is disqualified but tentatively selected for use, a different nozzle (or repeated passes of an acceptable nozzle) can be used to deposit the drop that would otherwise have been printed by the disqualified nozzle, per numeral 716, to provide proper drop deposition. For example, in one embodiment, the printhead has nozzles arranged in both rows and columns so that if one nozzle is abnormal, a different redundant nozzle can be used to deposit the desired drop at a particular grid point. Optionally, such issues can also be taken into account and used to adjust the scan path, for example, by offsetting the printhead in such a way that the desired drop can be deposited using a different nozzle (with the printhead adjusted in place to allow this) or by increasing or decreasing the number of scans. This is represented by numeral 717 in FIG. 7. Many such alternatives are possible. As represented by numerals 720 and 721, in one embodiment, each nozzle is pre-calibrated using a drop measurement device (720) that repeatedly measures drop parameters (to produce a nozzle-by-nozzle or drive waveform-by-drive waveform distribution of measurements), and then software builds a statistical model (721) for each nozzle, understanding the nozzle position error and / or nozzle drop averages of volume, velocity, and trajectory, and the expected nozzle-by-nozzle variance of each of these parameters. This data can be used, as described, to qualify / validate particular nozzles (and / or drops) or to select the nozzles that will be used to generate each individual drop, and otherwise adjust or customize the template print image for each new substrate or other product array.Each such measurement / error correction process can be taken into account in the print plan (722), including print image adjustments / customizations, and any scan path planning and / or print grid calculations, i.e., so that printer control data is generated and / or updated to optimize the printing process while ensuring the desired layer properties. Finally, final print data is then generated, per numeral 725, for transmission to the printer at run time.
[0090] 8A-8D are generally used to introduce techniques for nozzle-by-nozzle drop measurement and verification.
[0091] More specifically, FIG. 8A provides an illustrative diagram depicting an optical system 801 and a relatively large printhead assembly 803 (i.e., represented by the nozzle plates of each printhead 805A / 805B, each with a large number of individual nozzles, e.g., 807). In a typical implementation, there are hundreds to thousands of nozzles. An ink supply (not shown) is fluidly connected to each nozzle (e.g., nozzle 807), and a piezoelectric transducer (also not shown) is used to eject droplets of ink under control of an electronic control signal per nozzle. The nozzle design maintains a slight negative pressure of ink at each nozzle (e.g., nozzle 807) to avoid flooding the nozzle plate, and an electronic signal for a given nozzle activates the corresponding piezoelectric transducer, pressurizing the ink for the given nozzle and thereby ejecting one or more droplets from the given nozzle. In one embodiment, the control signal for each nozzle is normally 0 volts, and a positive pulse or signal level at a predetermined voltage is used for a particular nozzle to eject droplets for that nozzle (one per pulse). In other embodiments, different tailored pulses (or other more complex waveforms) can be used for each nozzle. However, in relation to the example provided by FIG. 8A , the droplets are directed downwards from the printhead (i.e., in the direction of “h” representing the z-axis height relative to the three-dimensional coordinate system 808) to be collected by the spittoon 809. It should be assumed that it is desired to measure the drop volume produced by a particular nozzle (e.g., nozzle 807) that is ejected from the optical assembly 801 (e.g., nozzle 803) at a predetermined aperture. In typical applications, the dimension of "h" is typically about 1 millimeter or less, and it should be noted that there are thousands of nozzles (e.g., 10,000 nozzles) in an operational printer that have each drop individually measured in this manner. Thus, in order to optically measure precisely each drop (i.e., within the described measurement window of about 1 millimeter, and from a particular one of thousands of nozzles in a large printhead assembly environment), a technique is used in the disclosed embodiments to precisely position elements of the optical assembly 801, the printhead assembly 803, or both, relative to one another for optical measurement.
[0092] In one embodiment, these techniques utilize a combination of (a) xy motion control (811A) of at least a portion of the optical system (e.g., in a three-dimensional plane 813) to precisely position a measurement area 815 directly adjacent to any nozzle that will produce droplets for optical calibration / measurement, and (b) sub-surface optical recovery (811B) (e.g., thereby enabling easy placement of a measurement area next to any nozzle despite a large printhead surface area). Thus, in an exemplary embodiment having approximately 10,000 or more printing nozzles, the motion system is capable of positioning at least a portion of the optical system at (e.g.,) as many as 10,000 discrete locations proximate the ejection path of each nozzle of the printhead assembly. In one embodiment, a continuous motion system or systems with even finer positioning capabilities can be used. As discussed below, two considered optical measurement techniques include shadowgraphy and interferometry. With each, the optics are typically adjusted in position so that a precise focus is maintained on the measurement region to capture the droplet in flight (e.g., to effectively image the droplet's shadow in the case of shadowography). Note that because a typical droplet can be on the order of a few microns in diameter, the optical alignment is typically extremely precise, presenting challenges with respect to the relative positioning of the print head assembly and measurement optics / measurement region. In some embodiments, to aid in this positioning, optics (mirrors, prisms, etc.) are used to orient the light capture path for sensing below the dimensional surface 813 arising from the measurement region 815, so that the measurement optics can be positioned near the measurement region without interfering with the relative positioning of the optical system and print head. This allows for effective position control in a manner that is not limited by the millimeter-order pile height h within which the droplet is imaged, or the large x and y widths occupied by the print head being monitored.With interferometry-based drop measurement techniques, separate light beams incident on the droplets from different angles create interference patterns detectable from a viewpoint approximately perpendicular to the optical path; therefore, the optics in such systems capture light from angles approximately 90 degrees off the path of the light source beam, but in a manner that utilizes sub-plane optical recovery to measure drop parameters. Other optical measurement techniques can also be used. In yet another variant of these systems, the motion system 811A is optionally, and advantageously, fabricated to be an xyz motion system that allows selective engagement and disengagement of the drop measurement system without moving the printhead assembly during drop measurement. Briefly, in industrially manufactured devices having one or more large printhead assemblies, it is contemplated that to maximize manufacturing uptime, each printhead assembly will occasionally be “parked” at a service station to perform one or more maintenance functions; given the sheer size and number of nozzles of the printhead, it may be desirable to perform multiple maintenance functions on different parts of the printhead at once. To this effect, in such embodiments, it may be advantageous to move the measurement / calibration device around the printhead rather than vice versa. [This then allows for other non-optical maintenance processes to be engaged, e.g., on different nozzles, if desired.] To facilitate these operations, the printhead assembly can optionally be "parked" with a system that identifies a particular nozzle or set of nozzles to be optically calibrated once printed. Once the head assembly or a given printhead is stationary, motion system 811A is engaged to move at least a portion of the optical system relative to the “parked” printhead assembly to precisely position measurement area 815 at a location suitable for detecting droplets ejected from a particular nozzle; use of the z-axis of motion allows selective engagement of the light recovery optics from well below the face of the printhead, facilitating other maintenance operations instead of, or in addition to, optical calibration. Perhaps stated differently, use of the xyz motion system allows selective engagement of the drop measurement system independent of other tests or testing devices used in a service station environment. Note that this configuration is not required for all embodiments; other alternatives are possible in which only one printhead assembly is moving and the measurement assembly is stationary, or parked printhead assembly is not required.
[0093] Generally speaking, the optics used for droplet measurement will include a light source 817, an optional set of light delivery optics 819 (which optionally direct light from the light source 217 to the measurement region 215), one or more light sensors 821, and a set of recovery optics 823 that directs light used to measure the droplet from the measurement region 815 to the one or more light sensors 821. A motion system 811A moves any one or more of these elements, along with a spittoon 809, in a manner that allows for the direction of light after droplet measurement from the measurement region 815 to a subsurface location around the spittoon 809, while optionally also providing a container (e.g., a spittoon 809) to collect the ejected ink. In one embodiment, light delivery optics 819 and / or light recovery optics 823 use mirrors to direct light to / from measurement region 815 along the vertical dimension parallel to droplet travel, and a motion system moves each of elements 817, 819, 821, 823, and spittoon 809 as an integral unit during droplet measurement. This setup offers the advantage that the focus does not need to be recalibrated for measurement region 815. As described by numeral 811C, light delivery optics are also optionally used to provide source light from a location below measurement region 3-dimensional plane 813, with both light source 817 and light sensor 821 directing light at either side of spittoon 809 for measurement purposes, for example, as generally shown. As described by numerals 825 and 827, the optical system can optionally include lenses for focusing purposes, as well as photodetectors (e.g., for non-imaging techniques that do not rely on the processing of multi-pixelated “photographs”). Again, note that the optional use of z-motion control for the optical assembly and spittoon allows for optional engagement and disengagement of the optical system, and precise movement of the measurement area 815 adjacent to any nozzle at any time while the printhead assembly is "parked." Such parking of the printhead assembly 803 and xyz movement of the optical system 801 is not required for all embodiments.For example, in one embodiment, laser interferometry is used to measure droplet characteristics, and the printhead assembly (and / or optical system) is moved either in or parallel to the deposition plane (e.g., in or parallel to plane 813) to image droplets from various nozzles. Other combinations and permutations are possible.
[0094] Figure 8B provides a process flow associated with drop measurement for some embodiments. This process flow is generally designated using numeral 831 in Figure 8B. More specifically, in this particular process, as used by reference numeral 833, the printhead assembly is first parked, for example, at a printer or deposition apparatus service station (not shown). A drop measurement device is then engaged with the printhead assembly (835), for example, by selective engagement of part or all of the optical system, through movement from below the deposition surface to a position where the optical system is able to measure individual drops. This movement of one or more optical system components relative to the parked printhead, as per numeral 837, can optionally occur in the x, y, and z dimensions.
[0095] As previously suggested, even a single nozzle and associated nozzle firing drive waveform (i.e., pulse or signal levels used to eject a droplet) can produce droplet volumes, trajectories, and velocities that vary slightly from droplet to droplet. According to the teachings herein, in one embodiment, a droplet measurement system, such as that indicated by numeral 839, obtains n measurements of a desired parameter per droplet to derive a statistical confidence level regarding the expected nature of that parameter. In one implementation, the measured parameter may be volume, while for other implementations, the measured parameter may be flight speed, flight trajectory, nozzle position error (e.g., nozzle bending), or another parameter, or a combination of multiple such parameters. In one implementation, “n” may be different for each nozzle, while in another implementation, “n” may be a fixed number of measurements made for each nozzle (e.g., “24”), and in yet another implementation, “n” refers to a minimum number of measurements so that additional measurements can be made to dynamically adjust the measured statistical nature of the parameter or to refine the confidence level. Clearly, many variations are possible. For the example provided by FIG. 8B , assume that drop volumes have been measured to obtain an accurate average representing the expected drop volume from a given nozzle and a tight confidence interval. This average, whether weighted or otherwise, can be assigned by a processor taking into account relevant measurement data. This allows for optional planning of drop combinations (using multiple nozzles and / or drive waveforms) while ensuring a composite ink fill distribution in the target area around the expected target (i.e., relative to the composite of the drop average). As described by optional process boxes 841 and 843, interferometry or shadowgraphy are considered optical measurement processes, ideally allowing instantaneous or near-instantaneous measurement and calculation of volume (or other desired parameters). Such rapid measurements allow for frequent and dynamic updates of volume measurements to account for, for example, changes in ink properties (including viscosity and materials of construction), temperature, power supply fluctuations, and other factors over time.In this regard, shadowgraphy typically features droplet image capture, for example, using a high-resolution CMOS or CCD camera as the optical sensor mechanism. While droplets can be accurately imaged at multiple locations within a single image capture frame (e.g., using a strobe light source), image acquisition typically involves a finite amount of time, such that imaging a sufficient droplet population from a large printhead assembly (e.g., with thousands of nozzles) can take several hours. Interferometry, which relies on multiple binary photodetectors and the detection of interference pattern spacing based on the output of such detectors, is a non-imaging method (i.e., does not require image analysis) and therefore produces droplet volume measurements many times faster (e.g., 50 times faster) than shadowgraphy or other techniques. For example, with a 10,000-nozzle printhead assembly, it is expected that a large measurement population of each of the thousands of nozzles can be obtained in minutes, ensuring frequent and dynamic droplet measurements. As mentioned above, in one optional embodiment, drop measurements (or measurements of other parameters such as trajectory and / or velocity) can be performed as a periodic, intermittent process, with the drop measurement system engaged according to a schedule, or between substrates (e.g., as substrates are loaded or unloaded), or stacked with respect to other assembly and / or other printhead maintenance processes. With respect to embodiments that allow alternative nozzle drive waveforms to be used in a manner specific to each nozzle, it is noted that a high-speed measurement system (e.g., an interferometer system) can readily enable statistical ensemble creation for each nozzle and for each alternative drive waveform for that nozzle, thereby facilitating planned drop combinations of drops generated by various nozzle-waveform pairings, as previously suggested. Numbers 845 and 847 allow for planning very precise droplet combinations per target deposition area by measuring the expected droplet volume per nozzle (and / or per nozzle-waveform pairing) to an accuracy of better than 0.01 pL; composite fills can also be planned to 0.01 pL resolution, and target volumes can be held within a specified error (e.g., tolerance) of 0.5% of the target volume or better.As indicated by the number 847, each No. Measurement ensembles for each nozzle or each nozzle-waveform pairing are planned, in one embodiment, to generate a confidence distribution model for each such nozzle or nozzle-waveform pairing, i.e., with a 3σ confidence (or other statistical measure, such as 4σ, 5σ, 6σ, etc.) for acceptable drop intersections. Once enough measurements have been made for various drops, fills involving these drop combinations can be evaluated and used to plan printing (848) in the most efficient manner possible. As indicated by separation line 849, drop measurements can be made by intermittently switching back and forth between the active printing process and the measurement and calibration process. Note that to minimize production system downtime, such measurements are typically made while the printer is tasked with other processes, for example, during substrate loading and unloading.
[0096] FIG. 8C illustrates another embodiment of a method for drop measurement, generally represented by the numeral 851. When a printhead is mounted or it is otherwise desired to calibrate the drop measurement system to correct for position offsets, a calibration routine can be run to precisely align drop measurements with a given printhead nozzle. In an exemplary embodiment, this alignment process is performed using a “top-looking camera” or other imaging device that takes images of the printhead from below, looking upward from the perspective of the substrate at the nozzle plate, to identify one or more printhead fiducials or alignment marks (853). In one embodiment, the camera (imaging system) can be the same device as that used for drop measurement, but can also be a separate imaging device. For example, for an exemplary printhead having 1024 nozzles arranged in four rows of 256 nozzles, fiducials on the nozzle plate (so as not to be confused with the substrate fiducials) are used to determine the offset and rotational tilt between the nozzle plate and a grid system corresponding to the imaging device. In one embodiment, the fiducials may optionally be particular nozzles (854), such as those closest to the corners of the printhead (e.g., the first and fourth rows, nozzles 1 and 256), although it should be noted that other mechanisms may also be used. In a typical implementation, printhead configuration data (855) is loaded into the system by software, used to identify these corner nozzles, and used to map the addresses of all nozzles to the imaging system grid 856, with interpolation (857) relied upon to initially estimate the location of each nozzle. By way of example, in one embodiment, the system software is designed to accommodate different printheads with different nozzle configurations; to this effect, the system software loads printhead configuration data to identify the number of rows, the presence of fiducials (if any), the number of nozzles per row, the average vertical and horizontal offsets between rows and columns of nozzles, etc. This data allows the system software to estimate the location of each nozzle on the printhead, as described.In one considered system, this calibration process is performed once the printhead is replaced, rather than during the printing process. In a different embodiment, this calibration process is performed every time the drop measurement system is initialized, for example, each new measurement is performed between two printing operations.
[0097] During generation, nozzle (and nozzle waveform) measurements can be made on a rolling basis, progressing through a series of nozzles with each pause during a substrate printing operation. Whether all nozzles are engaged to be measured anew, or on such a rolling basis, the same basic process of FIG. 8C can be employed for measurements. To this effect, numerals 858 and 859 allow the system software to identify the next nozzle at which a measurement will be made (e.g., by loading a pointer to "nozzle 2,312" for the "312th" nozzle of the second printhead) when the drop measurement device is engaged for a new measurement (either a pre-measurement or shortly after a substrate printing operation). For an initial measurement (e.g., in response to installation of a new printhead, a recent start-up, or a periodic process such as a daily measurement process), the pointer should point to the first nozzle of the printhead. The address provided will point to a nozzle, e.g., "nozzle 2,001." This nozzle is either associated with a particular imaging grid address or referenced from memory. The system uses the provided address to advance a drop measurement system (e.g., the previously referenced spittoon and measurement region) to a position corresponding to the expected nozzle position. Note that in a typical system, the mechanical throw associated with this movement is extremely precise, i.e., precise to nearly micron resolution. The system optionally now searches the nozzle position relative to the expected micron-resolution position, finds the nozzle, and centers it (860) within a distance of only a few microns from the estimated grid position based on image analysis of the printhead. For example, a zigzag, spiral, or other search pattern can be used to search for the expected location of the nozzle. (Note that in one embodiment, this process can also be performed manually by adjustment of the printer by a human operator.) A typical pitch distance between nozzles can be about 250 microns, while the nozzle diameter can be about 10-20 microns. Once the nozzle of interest is identified, the software fires a drop from the nozzle in question and relies on the drop measurement system to confirm that the nozzle in question actually fired (then confirming the nozzle's identification). While Figure 8C shows this process occurring each time a new nozzle is identified for measurement (e.g., each time the drop measurement system is moved), in some embodiments it is also possible to perform this measurement once during offline configuration (e.g., in situations where the drop measurement system grid is very tight), store the grid position of each nozzle, and then update this position only when a printhead is replaced or in response to error processing. In systems where the drop measurement system and / or printhead position dynamics are less precise, it may be advantageous to use an estimate and search function for each nozzle whenever there is a change in the nozzle being monitored.Note that, as suggested by numeral 861, in one embodiment the estimation and search function aligns the drop measurement device (and its associated optics) with the printhead nozzle being monitored in each of the three dimensions (x, y, z).
[0098] The precise z-position (distance relative to the drop measurement area) of each nozzle is then adjusted (862) to ensure consistent drop measurement and / or image capture. For example, it has previously been described that drop measurement systems typically determine drop velocity and flight trajectory by measuring each drop multiple times and calculating these parameters based on distance (e.g., relative to the center of gravity of each drop image). Various parameters can affect proper drop measurement, including errors in strobe timing (e.g., for shadowgraphy-based drop measurement systems), uncorrected alignment errors between the drop imaging system and the nozzle plate, nozzle process corners, and other factors. In one embodiment, various statistical processes are used to compensate for such errors, for example, in a manner that normalizes strobe firing relative to the drop measurement location across all drops. For example, if a hypothetical printhead has 1,000 nozzles, the system can normalize the z-axis offset from the printhead plate by choosing the average offset that produces the minimum value of position error while centering the desired number of drops in the measurement area (averaged over the 1,000 nozzles or a subset thereof) with respect to the average drop image position. Similar techniques can be applied to interferometry-based systems or other drop measurement systems.
[0099] 8C shows a drop measurement region 863 and the hypothetical paths of two drops 864 and 866 through that measurement region along their respective hypothetical trajectories 865 and 867. Several things should be noted about the example provided by this figure. First, the velocity and trajectory measurements are considered to depend on measuring the same drop multiple times (three times each in the case of drops 864 and 866). This requirement can be overcome by varying the timing of the strobe (or light source), changing the drive waveform used to fire the associated drop, changing the z-axis position of the drop measurement system, and / or changing the z-axis position of the printhead. One or more of varying the position of the strobe (or imaging source) firings can be used to properly position the measurement area relative to the strobe (or imaging source) firing. For example, if three droplet images are expected for a single droplet but only two are observed as the strobe is fired repeatedly (during a single exposure in the case of a shadowgraphy-based system), the measurement area is adjusted to indicate a height misalignment, effectively redefining where the droplet position is captured relative to the measurement area, until three exposures are obtained. Naturally, this hypothesis provides only an example; other implementations may measure more or less than three droplet exposures. Also, note that deviations of trajectory 865 from trajectory 867 may be due to statistical variations in how droplets are generated, and therefore, optionally, can be used to construct statistical models representing the average droplet trajectory (in terms of alpha and beta angles) and the standard deviation in each of these dimensions. As should be understood, while the droplet measurement region 863 shows a two-dimensional droplet depiction (e.g., the yz plane as per the drawing page), the trajectory angle relative to the x-axis can be derived from the change in apparent droplet size in a given image frame between multiple strobe exposures, indicating that the droplet is closer to or farther away from the plane of the drawing sheet as represented by Figure 8C. Similar interference pattern changes apply in the case of interferometry-based techniques.
[0100] The approach represented in measurement 863 can also be used to measure nozzle row bending. That is, as an example, droplets 864 and 866 are assumed to originate from a common, precise nozzle location, but if their reverse trajectories do not align with the expected y-axis center of the droplet measurement area (i.e., from right to left relative to the drawing page), the nozzle in question may be offset in its y-axis location relative to other nozzles in the same row or column. As suggested by the previous discussion, such anomalies can lead to ideal droplet firing deviations that can be accounted for in planning the precise combination of droplets; that is, preferably, any such row “bend” or individual nozzle offset is stored and used as part of the print scan plan as previously discussed, and the printing system uses it systematically rather than averaging the differences for each individual nozzle. In an optional variation, the same technique can be used to determine irregular nozzle spacing along the x-axis, although, for the depicted embodiment, any such errors can be subsumed in the correction of droplet velocity deviations (e.g., any such spacing errors can be corrected by adjusting nozzle velocity). To determine the y-axis bending of the nozzles producing droplets 864 and 866, the respective trajectories 865 and 867 are effectively inverse-plotted (or otherwise mathematically applied) with other measured trajectories of the same nozzles and used to identify the average y-axis position of the particular nozzle being monitored. This position may be offset from the expected location of such nozzles, which may be evidence of nozzle row bending.
[0101] As previously mentioned and suggested by the present discussion, one embodiment builds statistical distributions for each nozzle for each parameter being measured, e.g., volume, velocity, trajectory, nozzle bending, and potentially other parameters (868). As part of these statistical processes, individual measurements can be rejected or used to identify errors. To cite a few examples, if a drop measurement is obtained with a value that is removed to some extent from other measurements of the same nozzle, which may represent a firing error, in one implementation, the system discards the measurement if it deviates to a point that exceeds a statistical error parameter. If no drops are seen at all, this may be evidence that the drop measurement system is at the wrong nozzle (in the wrong position), has a firing waveform error, or that the nozzle being monitored is inoperable. A measurement error handling process 869 is employed to make appropriate adjustments, including taking any new or additional measurements as needed. Per numeral 870, each measurement is advantageously stored and used to build an associated statistical distribution, and the system then loops to take additional drop measurements from the same nozzle until sufficient robustness to measurement errors is achieved. This loop (871) , is considered in Figure 8C to illustrate the execution until n droplets are obtained for each nozzle or each nozzle-waveform pairing. When a sufficiently robust distribution is obtained, the system calculates (stores) and assigns (872) the desired statistical parameters (e.g., mean, standard distribution of each scale parameter) to the given nozzle, performs any appropriate error handling process 873 (such as validating the just-measured nozzle or deeming it or its associated waveform inoperative), and then proceeds to the next firing waveform or next nozzle, as appropriate (874). That is, once the measurement distribution for a given nozzle or nozzle-waveform pairing is complete, the system software identifies the next nozzle to be measured (e.g., updated by address pointer 874) and then returns to move the droplet measurement system, as appropriate, via number 876, or to take the next measurement. Alternatively, if the time comes and the system is called upon to print another substrate as part of the production line, per numeral 875, the system updates any scanning operations based on newly sourced data (if any), stores the address of the "next" nozzle, and returns to printing the substrate 875. In one embodiment, after such a printing operation is complete, during an anticipated interruption (or maintenance downtime), the system reads the stored nozzle addresses and drop measurement details and continues where it left off.
[0102] 8C , it should be noted that the depicted measurement process would typically be performed for each alternative waveform available for use with each nozzle. For example, if each nozzle had four different piezoelectric drive waveforms from which to choose, the inner process loop 871 of FIG. 8C would generally be repeated 4*n times, and if a particular implementation called for constructing a statistical distribution based on 24 droplets of each waveform, there would be 96 such measurements for one nozzle (24 for each of the four waveforms), each used to generate a statistical mean and spread measure of droplet velocity, trajectory, and volume, as well as estimated nozzle position (e.g., for purposes of assessing nozzle bending).
[0103] FIG. 8D shows a flow diagram for nozzle qualification. In one embodiment, droplet measurements are taken to generate statistical models (e.g., distributions and averages) for drop volume, velocity, and / or trajectory for each nozzle and for each waveform applied to any given nozzle. Thus, for example, if there are two choices of waveform for each of 12 nozzles, there are a maximum of 24 waveform-nozzle combinations or pairings. In one embodiment, enough measurements of each parameter (e.g., volume) are taken for each nozzle or waveform-nozzle pairing to generate a robust statistical model. Note that despite planning, it is conceptually possible that a given nozzle or nozzle-waveform pairing may produce an exceptionally wide distribution or average that is sufficiently unusual to be treated specially. Such special treatment applied is conceptually represented in one embodiment by FIG. 8D.
[0104] More specifically, a general method is represented using reference numeral 881. Data generated by the droplet measurement device is stored in memory 885 for later use. During application of method 881, this data is retrieved from memory, and data for each nozzle or nozzle-waveform pairing is extracted and processed individually (883). In one embodiment, a normal random distribution is constructed for each variable to qualify, as represented by a mean, standard deviation, and the number of droplets measured (n), or using an equivalent measure. Again, note that other distribution forms (e.g., Student's T, Poisson, etc.) can be used. The measured parameters are compared to one or more ranges (887) to determine whether the associated droplets can be used in practice. In one embodiment, at least one range is applied to disqualify droplets from use (e.g., if the droplets have a volume that is sufficiently high or low relative to the desired target, that nozzle or nozzle-waveform pairing can be excluded from short-term use). To provide an example, For example, if 0.00 pL droplets are desired, nozzles or nozzle waveforms associated with droplet means that deviate from this target by more than 1.5% (e.g., <9.85 pL or >10.15 pL) can be excluded from use. Alternatively, or in place, range, standard deviation, variance, or another measure of dispersion can be used. For example, if it is desired to have a statistical model of droplets with a narrow distribution (e.g., 3σ < 1.005% of the mean), droplets with measurements that do not meet this criterion can be excluded. It is also possible to use a sophisticated / complex set of criteria that considers multiple factors. For example, an anomalous mean combined with a very narrow dispersion can be accepted; for example, if the dispersion (e.g., 3σ) from the measured (e.g., anomalous) mean μ is within 1.005%, the associated droplet can be used. For example, if it is desired to use droplets with a 3σ volume within 10.00 pL ± 0.1 pL, a nozzle-waveform pairing producing a 9.96 pL average with a 3σ value of ± 0.8 pL may be rejected, while a nozzle-waveform pairing producing a 9.93 pL average with a 3σ value of ± 0.3 pL may be acceptable. Clearly, many possibilities are possible, according to any desired rejection / outlier criteria (889). Note that the same type of processing can be applied to the flight angle and velocity per droplet; i.e., it is expected that the flight angle and velocity per nozzle-waveform pairing will exhibit a statistical distribution, and some droplets may be rejected depending on the measurements and statistical model derived from the droplet measurement device. For example, droplets with an average velocity or flight trajectory outside of 5% of normal, or a velocity variance outside a specific target, can be hypothetically rejected from use. Different ranges and / or evaluation criteria can be applied to each droplet parameter measured and provided by storage device 885.
[0105] Note that depending on the rejection / abnormal criteria 889, droplets (and nozzle-waveform combinations) may be processed and / or treated differently. For example, as described, certain droplets that do not meet desired criteria can be rejected (891). Alternatively, additional measurements can be selectively performed for the next measurement iteration of a particular nozzle-waveform pairing; for example, if the statistical distribution is too broad, additional measurements can be performed specifically for a particular nozzle-waveform pairing to improve the tightness of the statistical distribution through additional measurements (e.g., the variance and standard deviation depend on the number of measured data points). It is also possible to adjust the nozzle drive waveform, per numeral 893, for example, to use higher or lower voltage levels (e.g., to provide higher or lower speeds or more consistent flight angles) or to shape the waveform to produce an adjusted nozzle-waveform pairing that meets certain criteria. Waveform timing can also be adjusted (e.g., to compensate for anomalous average speeds associated with a particular nozzle-waveform pairing), per numeral 894. As an example (alluded to previously), slower droplets can be fired earlier relative to other nozzles, and faster droplets can be fired later to compensate for the faster flight time. Many such alternatives are possible. Finally, per numeral 895, any adjusted parameters (e.g., firing time, waveform voltage level, or shape) can be stored, and optionally, if desired, the adjusted parameters can be applied to remeasure one or more associated droplets. After each nozzle-waveform pairing (modified or otherwise) has been qualified (passed or rejected), the method then proceeds to the next nozzle-waveform pairing, per numeral 897. Once again, specific droplet details are advantageously considered in deriving the print grid firing instructions to ensure uniformity (at least on a local basis) of any transformed deposition parameters. In one embodiment, nozzle details are weighted into the transformation calculation for each grid point.In another embodiment, print grid point firing decisions are made on a weighted basis that depends on the transformed template print image overlap (as discussed above), with a second process used to cull, redistribute, or otherwise adjust firing decisions made for grid points corresponding to aberrant drops or nozzles. In other words, nozzle firing decisions can be made in a first transformation process, and then a second error correction process takes into account nozzle or drop details. Other alternatives are possible.
[0106] Through the use of precision mechanical systems and droplet measurement system alignment techniques, the disclosed methods enable highly accurate measurements of individual nozzle characteristics, including average droplet metrics for each of the described parameters (e.g., volume, velocity, trajectory, nozzle position, droplet landing position, nozzle bending, and other parameters). As should be appreciated, the described techniques promote a high degree of uniformity, and therefore increased reliability, in manufacturing processes, particularly OLED device manufacturing processes. By providing control efficiencies, particularly with respect to the speed of droplet measurements, the stacking of such measurements with other system processes, and the incorporation of alignment error correction processes, the teachings presented above help provide faster, less expensive manufacturing processes designed to offer both versatility and precision in the fabrication process.
[0107] 9A-9C are used to illustrate an exemplary runtime printing process for a product array, again taking the example of one or more flat panels on a substrate.
[0108] FIG. 9A depicts a substrate 901 with several dashed boxes representing individual panel products. One such product, seen in the lower left of the figure, is designated using reference numeral 902. Each substrate (in a series of substrates) has, in one embodiment, several alignment marks, as represented by numeral 903. In one embodiment, two such marks 903 are used for the substrate as a whole, allowing adjustment for substrate position offset, rotation error, and scale error; in another embodiment, three or more such marks 903 are used to facilitate adjustment for tilt error. In yet another embodiment, each panel (such as any of the four depicted panels) is accompanied by a per-panel alignment mark, such as mark 905. These alignment marks can be used for independent error processing per panel or per product. Again, a sufficient number or density of such marks (e.g., three or more per panel or other product) allows compensation for nonlinear errors. These marks may be in addition to, or instead of, the substrate fiducials 903. In yet another embodiment, the registration marks are replicated at regular intervals regardless of panel position (e.g., as represented by oval 909). Whichever approach is used, one or more cameras 906 are used to image the registration marks to detect the errors referenced above. In one contemplated embodiment, a single stationary camera is used, and the printer's transport mechanism (e.g., a handler and / or air-floating mechanism) moves the substrate to sequentially position each registration mark within the field of view of the single camera. In a different embodiment, the camera is mounted on a motion system for transport relative to the substrate. In yet another embodiment, as discussed below, low- or high-magnification images are taken, with the low-magnification image roughly locating fiducials for high-resolution magnification, and the high-magnification image identifying precise fiducial positions according to the printer coordinate system. Considering the previous discussion, in one embodiment, the printer's transport mechanism controls motion to within about 1 micron of the intended position; therefore, the system can precisely track position in software and calculate errors relative to a printer-based or substrate-based coordinate system.
[0109] In a typical implementation, printing will occur to deposit a given layer of material onto an entire substrate at once (i.e., using a single printing process that provides layers for multiple products). To illustrate this, FIG. 9A shows two exemplary scans 907 and 908 of a printhead along the long axis of the substrate; in a split-axis printer, the substrate is typically moved back and forth (e.g., in the direction of the depicted arrows) with the printer positionally advancing the printhead (i.e., perpendicular to the drawing page) between scans. Note that while the scan paths are depicted as linear, this is not required in any embodiment. Also, the scan paths (e.g., 907 and 908) may be linear to accommodate the coverage area. While illustrated as adjacent and mutually exclusive in area, this is not required in all embodiments (e.g., printheads can be applied on a portion-by-portion basis to print swaths as needed). Finally, it should also be noted that any given scan path typically traverses the entire printable length of the substrate to print layers for multiple products in a single pass. Each pass uses nozzle firing decisions according to the print image (as distorted or corrected), and each firing decision applies a waveform selected and programmed to produce the desired drop volume, trajectory, and velocity. Advantageously, a processor built into the printer (as previously introduced) performs both nozzle / drop measurement and parameter qualification and updating, per-substrate or per-panel detail detection, template correction, and programming of nozzle firing data (e.g., see “Data” and “Drive Waveform ID” from FIG. 5B) that will be used in conjunction with binary nozzle firing decisions (e.g., see “Trigger (Fire)” signal from FIG. 5B). Once printing is complete, the substrate and wet ink (i.e., deposition liquid) can then be transported for curing or processing of the deposition liquid into a permanent layer. For example, briefly returning to the discussion of Figure 6B, a substrate can have "ink" applied in print module 625 and then transported to curing chamber 641, all without breaking the controlled atmosphere (i.e., advantageously used to prevent moisture, oxygen, or particulate contamination).
[0110] FIG. 9B illustrates one alignment and detection process 911 for a manufacturing operation, again using the example of flat panel device fabrication. Note that many alternative processes are possible, and FIG. 9B provides only an example. This process uses a three-part operation method in which a new substrate is first roughly mechanically aligned, then alignment marks are optically measured, and finally, a software process corrects for fine (virtual) alignment. When a new substrate is loaded, a robot first places the substrate on printer lift pins, which are used to advance the substrate to a vacuum gripper. The gripper moves the substrate while supported by an air-floating table, and the substrate is advanced to a position where it is roughly aligned and in position for optical measurement (i.e., to locate fiducials). Note that the system is programmed for coarse substrate details, such that a camera control system (or other imaging device) is activated and / or triggered as needed to image areas where fiducials are expected to be present. First, a low-magnification image is captured, the substrate is repositioned, and then a higher-magnification image is used to precisely locate the fiducial position. During either stage of the optical measurement, a search process (e.g., a spiral) is used to locate each fiducial, as appropriate. The system then subsequently measures a second fiducial (and / or a higher-order fiducial, as appropriate), for example, to help identify the precise position, orientation, tilt, and / or scale of the substrate, as appropriate. As mentioned above, this process can also be applied on a panel-by-panel basis, or indeed to any and all fiducials, to obtain position / skew information at a resolution appropriate for the associated error correction process. Detected fiducial parameters (such as position, size, shape, rotation, tilt, or associated fiducial reference points) can be compared to expected parameters of such fiducials to detect errors. As described, any detected error may involve one or more of translation, rotation, scaling, or tilt errors, or a superposition of multiple such errors. Based on the detected errors, printer control data is constructed that corrects any errors so that the printing is "in place."Based on the alignment mark determination, the system software corrects the errors by operating on the template, as described on the right side of the figure. As previously described, the template is retrieved, and then an instance of this template is appropriately manipulated (rendered) to generate the appropriate nozzle firing decisions via the error correction process described above (or another equivalent process). Printing then occurs.
[0111] Figure 9C is an example used to discuss substrate error correction in software. 9C provides an illustrative diagram. Generally, represented by numeral 921, in one embodiment, data representing layers to be printed, for example, according to a substrate or panel recipe, or both, is first read (923). As described by numeral 925, this information is typically maintained as a template, and copies or "instances" of the data are read, adapted for errors, sent to the printer, and then discarded (i.e., to avoid data contamination from previous substrate processing during processing of the next substrate). These processes are variously represented in FIG.
[0112] With a copy of the template in hand, the system detects the substrate geometry, per numeral 927. As described by numerals 928-932, the detection process can be done once (e.g., before printing begins or when a new substrate is loaded), intermittently (e.g., the printing process can be interrupted, or a reference capture can occur for each of multiple subdivisions of the substrate, e.g., for each panel), repeated, or on a continuous basis. As described in detail by numeral 931, in one embodiment, multiple different references are used to allow detection and correction of different types of linear and non-linear errors. Once the error is detected, the system then calculates a transformation, per numeral 935. For example, in one embodiment, the error is linear across the substrate, so a simple linear equation is derived and used to render the cached template to generate printer control data. In other embodiments, the error can be modeled by a quadratic equation or other polynomial, in a discontinuous manner (e.g., according to area), or in some other manner. In parallel processing embodiments, a master or supervisory processor makes this determination and then assigns processing to discrete cores or processors. Per numeral 937, the system then subsequently finds relevant data from the retrieved instance of the template to use to correct and / or assign nozzle firing decisions to mitigate the error. Per numerals 938-941, in embodiments where the template takes the form of a bitmap of nozzle firing data, as previously discussed, the system can base the error fit on the pixel “closest” to the error vector location in the template, a weighted scale of multiple pixels from the template, or in some other manner. Per numeral 940, an affine transformation can be applied, using a process that essentially performs matrix operations on “tiles” of printing grid points to obtain new firing decisions. For example, such a transformation can weight the template data by offset, rotation, and other factors to obtain data in “transformed space” that corresponds to the true substrate position (and orientation, tilt, etc.).Other processes can also be performed by numeral 941. Once the nozzle assignments are made, the system can then also optionally invoke position compensation post-processing to correct for fill or ink density errors in discrete areas of the substrate. Several options and types of processing are represented in FIG. 9C (these will also be generally discussed below in connection with FIGS. 10A-E). For example, numeral 951 illustrates a hypothetical fluid well that may hold a light-generating element of an OLED display panel, overlaid by a printing grid 953, with specific nodal or droplet locations indicated by numeral 954. If a position error results in too many or too few droplets within the boundaries of well 951, an anti-aliasing process can be applied to check the number of droplets that will fit within the well. For example, rotation of the printing grid may change the number of droplets that will fit within a well given the droplet density represented by the template; the anti-aliasing process detects this problem and corrects the nozzle assignment from the position compensation process so that the correct number and / or volume of droplets are deposited within the well (945). Droplet details and / or nozzle validation can also be taken into account in this process, as shown on the right side of the diagram via numerals 946-948. For example, if the droplet at node 954 stores droplet parameters that indicate a position error (e.g., the expected firing trajectory has errors α, β that would cause the droplet to land outside the depicted fluid well), this problem can also be resolved by determining which nozzles are required to fill the well. The process may also be corrected by software that considers the details of other "nodes" that fall within the well to determine if the firing decision should have been changed to meet the parameters (945). Similarly, if a validation process is used and a firing decision is assigned to an inoperable (or disqualified) nozzle by the position compensation process, this problem can be detected and corrected by software (945). As mentioned above, in yet another embodiment, droplet parameters can be measured in situ and periodically updated to provide a robust current data set that accounts for changing conditions. Generally speaking, step 945 corrects for weighting and aliasing errors to ensure that fluid delivery will meet the required details for deposition. If there are errors detected by process 955 that cannot be addressed or accounted for, an exception handling routine (957) is typically invoked to adjust or recalculate the scan path to address the error in question or to render the data anew. If the error has been completely mitigated, the output data is then stored and / or sent to the printer and printhead as appropriate, per numeral 959. Note that in one embodiment, the system software can further detect correlated and repeatable errors between substrates and then, optionally, "learn" the repeatable errors and update the cached template (i.e., via 961) to adapt the template to the errors. For example, position errors can be caused in a given system by unintended protrusion of the system edge guides for the substrate, causing the substrate to "wobble" slightly at or relative to a particular position in its motion. These and other repeatable errors can be learned by the system and used to reduce error processing on a job-by-job basis. This technique will be further discussed below in connection with FIG. 10E.
[0113] Figures 10A-10E are used to illustrate different types of error compensation techniques that may be applied in various ways, i.e., in allocating nozzle firing decisions, in adjusting drop detail for particular nodes of a printing grid, and / or as a post-position compensation process.
[0114] More specifically, FIG. 10A shows a flowchart 1001 for droplet allocation and / or droplet adjustment in a region. For example, such techniques can be applied to halftoning on a local basis (i.e., to deposit fluid that can spread to provide a blanket coating with a calibrated thickness) or to total filling within a fluid well (e.g., as discussed above in connection with FIG. 9C ). The method first identifies the region or well in question, per numeral 1003, and identifies the desired number of droplets or desired fill volume. Then, per numeral 1005, the system retrieves statistical means and variances of droplet parameters for each nozzle and / or nozzle driving waveform. This data provides an understanding of expected droplet parameters with a degree of confidence. Note that in one embodiment, the system retrieves from memory parameters representing expected droplet volume and expected two-dimensional droplet landing location, as well as the variances of these parameters, as represented by parameters v, α, and β. The system software then proceeds to mimic the fill to determine whether the expected ink density (or total volume) meets a predetermined threshold. In one embodiment, the system simply determines the eligible combinations of drops required to meet the predetermined threshold, and then selects one of these eligible combinations (i.e., in a manner that optimizes the ability to do this simultaneously to multiple regions within the scan swath traversed by the printhead). In another embodiment, the system simply selects several drops and then post-adjusts the combination if the drop combination would be expected to produce results outside the predetermined threshold. Numerals 1006, 1007, and 1008 allow the system, in one embodiment, to select a different drive waveform for a given nozzle (e.g., one of 16 pre-programmed waveforms as previously described), or to select a different nozzle, or to check to see if a particular nozzle is available. Numeral 1009 The system adjusts the nozzle assignments (including drive waveform selection information) as needed, and then the printing process is again scrutinized for errors (1011, e.g., suitability of a given scan path and number of scans). If there are errors, the system may adjust the print head offset for the given scan path (1012) and / or adjust the number of scans (1013). If there are no errors, the method ends (1014) and the assigned data is output to the printer as previously discussed.
[0115] FIG. 10B provides another flowchart 1021 for template adjustment, this time as a post-error correction step. For N regions or fluid wells, the system software then identifies well locations, e.g., based on detected error data, as indicated by numeral 1023. In step 1025, the software retrieves firing decisions for printing grid nodes that fall within the region of interest and retrieves the mean (μ) and standard deviation or other dispersion measure (e.g., σ) for each such parameter (1026). Following simulation of the total volume or volume distribution of the region (1027), the system then determines, as indicated by numerals 1029 and 1031, whether this volume or distribution meets predetermined thresholds, e.g., minimum threshold (Th1) and maximum threshold (Th2). If the volume or distribution does not meet the predetermined thresholds, the system software then adjusts droplet and / or waveform assignments, as indicated by numerals 1033, 1035, and 1036, until the volume or distribution meets the predetermined thresholds. In one embodiment, if multiple waveforms are available for each nozzle and pre-selected to produce intentional variations in drop volume, errors can be compensated for without changing the scan path by simply assigning a new firing waveform to a particular print grid node. If this waveform differs from other firing decisions for the same printhead nozzle, it is up to the system to schedule the selection of a different "default" waveform (i.e., see the "trigger (fire)" signal depicted in FIG. 5B) for a particular nozzle during nozzle firing. The system then saves the relevant nozzle data accordingly, per numeral 1037. As described by optional process block 1039, if there is no preferred waveform programmed for a particular nozzle, in one embodiment, the system can add waveforms or reprogram the selected waveform at this time in an attempt to improve the firing details obtainable from a given nozzle.
[0116] 10C shows a process flowchart 1041 in which nozzle / waveform data is taken into account in rendering an instance of a template to account for substrate or panel errors. More specifically, as indicated by numerals 1043-1047, the system can retrieve nozzle driving details corresponding to a bitmap (e.g., a template in bitmap form). For example, again using an example in which new print grid node firing assignments are based on a weighted average of four print pixels corresponding to the template, if four assigned nozzles are expected to produce 10.00, 10.50, 10.00, and 10.20 pL drops, respectively, this information can be taken into account and used to select either a nozzle or a nozzle waveform to deposit drops on a misaligned substrate. Returning to the example of fluid well 951 from FIG. 9C, any printing grid node (e.g., 954) that falls within the depicted well and is assigned to fire can potentially be used to obtain the total volume for the fluid well, and the system can select a new grid point (e.g., nozzle or firing time) and associated drive waveform (if multiple waveforms are available) to effectively weight the four printing pixels in this assumption and generate a droplet with the expected volume parameters corresponding to the weighted combination of the four printing pixels. Numeral 1049 allows the software to apply any smoothing as desired (e.g., adjustment of adjacent printing pixels or next drop selection, if necessary) and once again write the output data (including the selected drive waveform) to memory. This output data would then ultimately be sent to the printer to control printing. Numeral 1053 allows the system to assume a fixed scan pattern (i.e., (i.e., simply assigning nozzles and drive waveforms in a manner that accounts for the error), or in another embodiment, the scanning (rasterization) can be rethought and re-optimized by, for example, changing the scan path, printhead offset, number of scans, or other details, all with an eye toward minimizing print time. These optional features are represented by numerals 1055 and 1057.
[0117] FIG. 10D shows yet another flowchart 1061 for halftone (i.e., drop density) adjustment. In the context of this embodiment, it will be assumed that it is desired to control the ink drop density, for example, to provide blanket coverage over an area of the substrate with the deposited ink, but so that the ink drops are deposited at a density that imparts a desired layer thickness (i.e., predetermined, limited spreading characteristics of each drop). Such a process is particularly useful for creating barrier layers, encapsulation layers, or other layers where it is desired that the layer thickness be consistent over a relatively large area. Numeral 1063 once again assumes that some portion of the data from the template is to be rendered to compensate for substrate and / or panel position errors. Numerals 1067, 1069, and 1071 indicate that the software, in this embodiment, retrieves the expected drop volume, location, and distribution, as well as the desired layer parameters (e.g., thickness, and the halftone or ink density required to produce the desired thickness). The system then selects nozzles and drive waveforms from the available pool (e.g., nozzles that will pass through a particular region assuming a particular scan path) in a manner calculated to promote the same ink density represented by the original template data. For example, if it is desired to produce a 5-micron thick encapsulation layer, the system (a) identifies the nozzles that will pass through each region, the desired ink density needed to produce the desired thickness, and the drop details per nozzle and per waveform; (b) applies mathematical functions to select the nozzles and drive waveforms that will produce the desired density (i.e., which are then incorporated into the nozzle selection for adjacent regions); and then outputs printer control data. Note that when planning halftone or density patterns, the system software typically carefully plans the deposition to deposit fluid of uniform density, balancing "light" drops (e.g., 9.00 pL) and "heavy" drops (e.g., 11.00 pL) in the drop distribution when a consistent volume (e.g., 10.00 pL) is unavailable, taking into account nozzle details.Once again, per numeral 1073, the output details are once again scrutinized for errors (e.g., failure of the scan path to produce the required result), and if no errors are found, the data is output to the printer (1075), or conversely, if errors are found, an exception process is invoked (1077, e.g., to reassess the rasterization). Other alternatives will occur to those skilled in the art.
[0118] Finally, FIG. 10E provides a flowchart 1081 for updating the stored template for repeatable errors, e.g., as introduced above in connection with FIG. 9C. For each new substrate, the depicted method compares the deviation from the expected position (1083) with past errors stored in memory per numeral 1085. The system software attempts to detect correlations in the errors (e.g., as opposed to unique substrate errors) per numeral 1087. The degree of correlation sought may be based on some type of calibration (i.e., to establish expected substrate norms), continuous monitoring of successive substrate standards, or extrapolated calculations per numerals 1088-1090. The system effectively "learns" patterns in the errors, e.g., based on regression software, neural nets, or other adaptive processes per numerals 1091 and 1093, and then modifies the template accordingly and updates the historical deviation data. Finally, per numeral 1095, the software corrects the current substrate for any uncorrected errors (e.g., unique errors) and outputs the data to the printer as previously described.
[0119] As mentioned above, it is generally desirable to print quickly to minimize processing time and increase throughput. In one embodiment, a substrate that is about 2 meters wide and long can have layers uniformly deposited over its surface in less than 90 seconds per layer. In another embodiment, this time is 45 seconds or less. Therefore, in such applications, it is advantageous for rendering and substrate-to-substrate (or product-to-product) error mitigation to occur as quickly as possible.
[0120] 11A-11B are used to introduce a parallel processing architecture that accelerates this processing speed. As should be apparent, with precision manufacturing (e.g., printing many layers of a television screen at once, each with millions of pixels), software adjustment of the detailed printing grid to generate the printer control data can take several seconds. The architecture and process presented in FIGS. 11A-11B are used to reduce this time, ideally to 2 seconds or less.
[0121] More specifically, as depicted in FIG. 11A , a cached copy of the print image, stored recipe data, or other relevant source data representing an ideal print is first retrieved. A master or supervisory processor 1103 will already be aware of any substrate configuration data and therefore understands the number of products (panels) and their respective expected locations. The supervisory processor 1103 receives the alignment data and calculates errors (e.g., for each panel or product on an independent basis). Error compensation at the panel processing or sub-panel level is optional; that is, the disclosed techniques can be applied even when instances of the print image are matched on a linear basis throughout a particular substrate. The system also includes a set of parallel processors 1105, in one embodiment, a multi-core processor or graphics processing unit (GPU). A GPU typically includes multiple (e.g., hundreds to thousands) cores 1107, each of which (or many of which) are utilized in this embodiment for parallel processing. The supervisory processor 1103 makes a decision as to how many parallel threads or processes should be used to perform the transformation of the template print image instances, depending on the panel definition, desired error correction, and other factors. In connection with this process, the supervisory processor subdivides the overall print area of the substrate accordingly, assigns any associated transformation parameters to the associated cores or processors, and stores (caches) the template print image instances in the embedded DRAM 1109. Note that the embedded DRAM advantageously includes multiple banks, ports, or arrays 1111, each having registers 1111A, used by one or more of the cores 1107 for error correction and rendering of printer control data (including the transformation and overlay of any source data). The embedded memory is advantageously structured for parallel access so that access by one core or processor does not limit the bandwidth of another core or processor.To this effect, the architecture can feature very wide access paths 1113 (e.g., featuring hundreds of data access lines) so that each core can access memory 1109 in parallel. Note that in one implementation, the manner in which source data is stored depends on the processor or core allocation so that each core or processor can access the data it needs for transformation and the write area for the transformed printer control data. In one contemplated implementation, the supervisory processor 1103 does not necessarily use all available cores or processors, but assigns cores or processors to handle discrete products (e.g., panels), or mutually exclusive portions of panels or products. For example, if a hypothetical panel has 15 panels and the system includes 31 parallel processing units, the supervisory processor may assign two parallel processing units, each processing half of a panel. The supervisory processor directs portions of the template to embedded DRAM for storage, and any transformation parameters (e.g., gradient algorithms) to each memory bank or processor. will write to the associated register 1111A for the array (i.e., for each core or parallel processor) and then wait for a signal from each core or processor that its processing is complete. The output is then a transformed per-substrate set of printer control data that is skewed to adapt the print to any substrate-to-substrate or product-to-product variations in order to precisely position the deposited layer of the material in question. Note that, as represented by numerals 1115 and 1117, the supervisory processor and each of the respective cores or processors are governed by instructions stored on a non-transitory machine-readable medium that control the respective supervisory processor, core, or processor to perform specific processing functions, as previously described. Also, note that embedded DRAM can be designed to provide a form of direct memory access (DMA) so that rendered data can be written to memory by one processor core (as available) and unloaded by independent means (i.e., while one processor core subsequently adjusts other data to correct for position errors).
[0122] FIG. 11A shows several additional implementation options on the right side of the diagram. First, as mentioned above, each panel can be assigned to one or more respective cores or processors, as represented by numeral 1119. As in a typical manufacturing process, a series of substrates use the same recipe or template, and the configuration represented by option 1119 is typically a fixed cost (e.g., the supervisory processor 1103 typically does not need to recalculate the assignments or change the data storage parameters for each substrate). Second, as represented by numeral 1120, given this fixed assignment, the supervisory processor can optionally assign each transform per core. While the above examples generally discuss offset, rotation, scale, and skew corrections separately, in typical implementations, the transformations can be complex, involving any combination of these corrections as appropriate. The supervisory processor calculates the relevant transforms and then assigns the calculated transforms to the appropriate processor or core, which performs the transforms on all affected template data to which it is assigned. As represented by numeral 1120, in one embodiment, each transform is provided to a respective processor or core. Numeral 1123 indicates that, in one embodiment, the storage of preprocessed template data or transformed data can be distributed. That is, it was previously described that the transformation can involve weighting of firing decisions of overlapping pixels on the (transformed) print image or print image data representing the panel. The option represented by numeral 1123 allows the print image pixel data to be stored in a manner conducive to this processing, such as by storing northwest, northeast, southwest, and southeast pixel data in the same memory row in their respective memory arrays (rather than at the same address), or in another manner. There are many possible memory storage techniques that can be used to accelerate data retrieval and processing (e.g., as is conventionally done for graphics and gaming processes to accelerate image rendering). The same types of memory processes can be employed in this embodiment.Also, as represented by numeral 1123, in one embodiment, for example, if print pixel data is stored in a given row, a variable column offset (per memory array) can be used so that the system can automatically and quickly fetch the next set of data needed for processing. As an example, cached print image data can be stored in DRAM (1111) in a distributed manner (e.g., rows in each of two memory arrays), with the column offset used to read the associated print pixel information for both memory arrays on an incremental basis. Many alternatives and variations of this process are also possible.
[0123] Note that the above described configuration is not the only possible one. For example, instead of assigning a board topology to each core, the supervisory processor or other master 1103 may assign a variable The transformation operation can be divided up and different processes assigned to each core (1121). In one embodiment, one core may be assigned to perform one task associated with the affine transformation, while a different core may be assigned to perform another task. As indicated by numeral 1122, almost any allocation of responsibilities, whether parallel or sequential, can be affected among multiple cores. Generally, it is desirable to detect errors per substrate or panel and proceed with printing as quickly as possible to maximize manufacturing throughput, so any efficiency in acceleration can potentially be applied to multiple available processors or cores if it meets this objective.
[0124] FIG. 11B shows a flowchart 1151 associated with the run-time process. In this example, it will be assumed that multiple cores are each assigned to apply one or more affine transformations to the respective topography of the overall print area (i.e., the substrate) once the errors have been measured. Template data is first loaded or cached, as indicated by numeral 1153. The supervisory processor utilizes such source data (1155), as appropriate, to identify relevant alignment marks or fiducials (1157), and then directs the printer camera system to the appropriate coarse coordinates. The printer camera system returns fine measurement information, which the supervisory processor measures against the obtained source information 1155. The supervisory processor then performs panel and / or substrate transformation calculations (1159), as appropriate, taking into account the detected topography, and then allocates processing scope and transform parameters to each core, processor, or parallel processing thread, as appropriate (1161 and 1163). For repeating substrate recipes, the supervisory processor may automatically parse a subset of the received template image into memory dedicated to a particular core, processor, or thread. Each core, processor, or thread then begins transforming its assigned data to transform or distort the template in a manner that matches the printing details to the detected substrate or panel topography (1165). As part of this process, reasonably up-to-date printing nozzle and / or droplet data is made available (1167) to ensure that the completed transformed printer control data can provide accurate deposition, taking into account any printhead, droplet, or nozzle details. Note that in other embodiments, this adjustment (i.e., dependent on printing nozzle details) can be made by a dedicated core, processor, or thread (i.e., separate from the core, processor, or thread performing the printing grid operations), or by a supervisory processor. Once any transformations have been made, consistent with the nozzle / droplet-specific characteristics, the transformed printer control data can be unloaded from memory, rasterized (1169), and sent to the printer with the appropriate instructions for printing (1171).
[0125] Considering the various techniques and considerations introduced above, manufacturing processes can be engineered to rapidly mass-produce products at low per-unit costs. When applied to display device manufacturing, e.g., flat panel displays, these techniques enable high-speed, panel-by-panel printing processes, optionally with multiple panels produced from a common substrate. By providing high-speed, repeatable printing techniques (e.g., using common inks and printheads for each panel), it is believed that printing can be substantially improved, e.g., reducing printing time per layer to a small fraction of the time that would be required without the techniques, while ensuring that all fill depositions per target area are within specifications. Returning again to the example of a large HD television display, it is believed that each color component layer can be accurately and reliably printed for large substrates (e.g., 8.5 generation substrates measuring approximately 220 cm × 250 cm) in 180 seconds or less, or even 90 seconds or less, representing a substantial process improvement. Improving printing efficiency and quality paves the way for significant reductions in the cost of producing large HD television displays and, therefore, lower end-user costs. As mentioned above, display manufacturing (and specifically OLED manufacturing) is one application of the techniques introduced herein, but these techniques can be used in a wide variety of processes. The disclosed techniques may be applied to processes, computers, printers, software, manufacturing equipment, and end devices, and are not limited to display panels. In particular, it is anticipated that the disclosed techniques may be applied to any process in which a printer is used to deposit multiple product layers as part of a common printing operation, including, but not limited to, any microelectronic, micro-optical, or "3D printing" application.
[0126] It should be noted that the described techniques offer numerous options. In one embodiment, panel (or per-product) misalignment or distortion can be adjusted on a per-product basis within a single array or on a single substrate. Despite common print data, printer scan paths can be planned, with subsequent adjustments / adaptations based on one or more alignment errors, such that a scan path across two panels has different firing instructions for each substrate (e.g., rotation or adjustment of one panel's data can vary from print job to print job). Optionally, this information can be adjusted in real time from a source template (e.g., a bitmap representing binary firing decisions). In other embodiments, despite common printer source data, print areas and / or scan paths can be added or completely re-planned for each substrate. The described techniques can be used to fabricate OLED panels, e.g., two, four, six, or a different number of panels, as part of a single print job. Following fabrication, these panels can be separated and applied to respective products, e.g., to fabricate respective HDTV displays or other types of devices. By performing fine alignment (e.g., sub-millimeter alignment) in software, the disclosed techniques provide more accurate product fabrication with less emphasis on precise placement and alignment of precise mechanical positioning and deposition errors in a manner that matches underlying product-to-product or substrate-to-substrate misalignment or variations.
[0127] In the foregoing description and accompanying drawings, specific terminology and drawing symbols are set forth to provide a thorough understanding of the disclosed embodiments. In some cases, the terminology and symbols may suggest specific details that are not required to practice these embodiments. The terms "exemplary" and "embodiment" are used to express examples, rather than preferences or requirements.
[0128] As shown, various modifications and changes may be made to the embodiments presented herein without departing from the broader spirit and scope of the present disclosure. For example, any feature or aspect of an embodiment may be applied in combination with any other of the embodiments, or in place of a corresponding feature or aspect, where at least practical. Thus, for example, not all features are shown in each and every drawing, and it should be assumed that a feature or technique shown according to an embodiment of one drawing can be optionally employed as an element of, or in combination with, a feature of, any other drawing or embodiment, even if not specifically declared herein. Thus, the present specification and drawings are to be regarded in an illustrative rather than a restrictive sense.
Claims
1. 1. A substrate processing system, comprising: A floating table and a printhead disposed on the floating table and including a plurality of nozzles; an imaging device positioned to capture an image of a portion of a substrate disposed on the floating table; a processor, the processor comprising: detecting a known pattern of the substrate from the captured image; determining an error in the known pattern from the captured image; receiving data defining a print job to be performed on the substrate; generating print data from the received data and the error, and reducing the error; 、 and controlling the print head to print on the substrate in accordance with the print data.
2. The substrate processing system of claim 1 , wherein the received data includes a position of the known pattern, and the processor is configured to capture the image at the position of the known pattern.
3. The substrate processing system of claim 1 , wherein the processor is configured to generate the print data by applying an affine transformation to the received data and the error.
4. 4. The substrate processing method of claim 3, wherein the print data includes values representing firing decisions for print grid points. system.
5. The substrate processing system of claim 4 , wherein the processor is configured to generate the print data using weighting on the received data.
6. The processor is adapted to detect known patterns on the substrate and product areas on the substrate. The substrate processing system of claim 1 , wherein the substrate processing system is configured to:
7. The processor predicts the amount of printing within the region and compares the predicted amount of printing with a threshold. and further configured to correct weighting and aliasing errors by 10. The substrate processing system of claim 1.
8. The processor detects a plurality of known patterns on the substrate and extracts from the captured image.
10. The substrate of claim 1, further comprising: a substrate surface; a substrate surface area ... Processing system.
9. 10. The substrate processing system of claim 1, further comprising a second imaging device, wherein the imaging device is a first imaging device, the image is a first image, and the portion is the first portion, and wherein the processor is configured to control the first imaging device to capture the first image and the second imaging device to capture a second image of a second portion of the substrate.
10. The processor derives a plurality of images from the first captured image and the second captured image. and generating the print data by applying an affine transformation from the received data and the plurality of errors.
11. 1. A substrate processing system, comprising: a housing for housing an inkjet printing system, teeth, A floating table and a printhead disposed on the floating table and including a plurality of nozzles; an imaging device positioned to capture an image of a portion of the substrate disposed on the floating table, wherein the substrate processing system further comprises: a processing module coupled to the housing; a processor, the processor comprising: detecting a known pattern of the substrate from the captured image; determining an error in the known pattern from the captured image; receiving data defining a print job to be performed on the substrate; generating print data from the received data and the error, and reducing the error; 、 Controlling the print head and printing on the substrate according to the print data. , executes ,a substrate processing system.
12. 12. The substrate processing system of claim 11, wherein the enclosure maintains a first controlled atmosphere and the processing module maintains a second controlled atmosphere different from the first controlled atmosphere.
13. 12. The substrate processing system of claim 11, further comprising: a second imaging device, wherein the imaging device is a first imaging device, the image is a first image, and the portion is the first portion; and wherein the processor is configured to control the first imaging device to capture the first image and the second imaging device to capture a second image of a second portion of the substrate.
14. The processor determines a plurality of errors from the first captured image and the second captured image, and applies an affine transformation from the received data and the plurality of errors. The substrate processing system of claim 13 , configured to generate the print data by
15. The processing module includes a transfer chamber and a curing chamber, and the processor The transfer chamber is used to move the substrate between the enclosure and the curing chamber. The substrate processing system of claim 11 further configured to:
16. The processor repeatedly moves the substrate between the enclosure and the curing chamber.
16. The substrate processing system of claim 15, configured to:
17. The processor receives droplet characteristic data and calculates the error and the droplet characteristic data. The substrate processing system of claim 11 , further configured to generate the print data from
18. 1. A substrate processing system, comprising: a housing for housing an inkjet printing system, teeth, A floating table and a printhead disposed on the floating table and including a plurality of nozzles; A camera is positioned on the floating table and arranged to capture an image of a portion of the substrate. an imaging device; a droplet measurement system for collecting droplet property data, and The logic system is a processing module coupled to the housing; a processor, the processor comprising: detecting a known pattern of the substrate from the captured image; determining an error in the pattern from the captured image; receiving data defining a print job to be performed on the substrate; and reducing the error from the received data, the droplet characteristic data, and the error. generating print data for the controlling the print head to print on the substrate in accordance with the print data; A substrate processing system.
19. The droplet characteristic data may be one of droplet volume, droplet velocity, droplet trajectory, and nozzle position.
20. The substrate processing system of claim 18, comprising at least one
20. The processor is configured to generate the print data using weighting on the received data.
20. The substrate processing system of claim 18, wherein the substrate processing system is configured as follows:
Citation Information
Patent Citations
Discharge inspection method of functional liquid droplet discharge head, droplet-discharge device, method of manufacturing electro-optical apparatus, electro-optical apparatus and electronic instrument
JP2004337771A
Method and system for positioning inkjet droplet
JP2007090886A
Liquid-drop discharging device, method for manufacturing electro-optical device, and electro-optical device
JP2009066468A
Droplet application device and method
JP2010015052A
Method and apparatus for automatically aligning arrays of printing elements
US20090231374A1