Patent Description:
Additive manufacturing, including three dimensional printing, represents a very significant advance in the development of not only printing technologies, but also of product research and development capabilities, prototyping capabilities, and experimental capabilities, by way of example. Of available additive manufacturing technologies (collectively "3D printing"), fused filament fabrication ("FFF") printing is one of the most significant types of 3D printing that has been developed.

FFF is an additive manufacturing technology that allows for the creation of 3D elements on a layer-by-layer basis, starting with the base or bottom layer of a printed element and printing until the top or last layer. The layers are formed, for example, by heating and extruding thermoplastic filaments into the successive layers. Simply stated, an FFF system includes a print head with a material guide leading to a heated nozzle, wherein the print material filament is fed through the material guide. The FFF system further includes an X-Y planar control for moving the print head in the X-Y plane and a print platform, upon which the base is printed and which additionally moves in the Z-axis as successive layers are printed.

More particularly, the FFF printer nozzle transfers heat to the thermoplastic print filament received through the material guide from the print head, thereby converting the print filament to a semi-liquid state. Typically, the semi-liquid thermoplastic is deposited in variably sized beads along the X-Y planar extrusion printing path plan provided for building of each successive layer of the element. The printed bead/trace size may vary based on the par, or aspects of the part being printed. Further, if structural support is needed within a part, the trace printed by the FFF printer may include removable material. The removable material is subsequently removed to form a scaffolding to provide the support within the part where needed. Accordingly, FFF may be used to build simple or complex geometries for experimental or functional parts such as for prototyping, low volume production, manufacturing aids, and the like.

FFF printers feed the filament material to the print head from a spool. A consistent filament diameter is essential for delivering a consistent amount of filament during a print job because a volume of the filament that is delivered per unit of length of the filament deposited is a function of the filament's diameter. Thus, if the diameter varies from an expected diameter (for example, the diameter is on the high or low side of the reported tolerance for the filament), then the volume of the filament that is deposited will be too much or too little. When purchasing the filament for 3D printing, consumers can buy filament with tighter diameter tolerances, however there are limitations to how tight the tolerance can be for the filament diameter during production of the filament. There is a need in the art for an FFF printer that makes adjustments to the printer based on the exact spool that is being fed to the machine. By compensating for deviations in the diameter of the filament, more consistent printed parts can be produced.

<CIT> discloses an apparatus for producing a print material filament. <CIT> concerns a filament for use in three-dimensional printing, said filament being comprised of crystalized poly(lactic acid). <CIT> relates to a molded resin strand used as a raw material for a modeling device configured to build a three-dimensional object (a physical body), such as a 3D printer.

There is a need in the art for an apparatus, system, and method of making 3D printer adjustments to compensate for variations in the diameter of the filament based on information that is specific to the spool of the filament that is being fed to the printer.

The disclosed exemplary apparatus, system, and methods can be utilized to make 3D printer adjustments to compensate for variations in the diameter of the filament based on information that is specific to the spool of the filament that is being fed to the printer.

In particular, the present invention provides a method of printing according to claim <NUM>, a 3D printer according to claim <NUM>, a system for producing a print material filament according to claim <NUM> and a method of producing a filament spool according to claim <NUM>.

In an embodiment, the apparatus comprises a filament spool including an indicium; a sensing device configured to read the indicium; a first memory storing physical characteristic data for the filament spool, the physical characteristic data accessible by reading the indicium; a print head configured to feed a print material filament from a spool through a material guide to a heated nozzle; an X-Y planar control for moving the print head in the X-Y plane; a print platform upon which a base is printed; and a processor to execute a print parameter based on the physical characteristic data.

The apparatus may further comprise a second memory storing a physical characteristic lookup table, wherein the processor may execute the print path based on a comparison of the physical characteristic data and the physical characteristic lookup table.

The sensing device may be a laser micrometer. The indicium may be one of a barcode, a QR code, or an RFID.

The print parameter may be a feed rate of the print material filament. The feed rate of the print material filament may be reduced so a target volume of the print material filament may be deposited for a given length of the print material filament when a diameter of the filament may be larger than a target diameter. The feed rate of the print material filament may be increased so the target volume of the print material filament may be deposited for a given length of the print material filament when the diameter of the filament may be smaller than a target diameter.

In a system of an embodiment, the system for producing a print material filament comprises an extruder including a sensor to measure a characteristic of the print material filament exiting the extruder; a spooler configured to wind the filament on a spool, the spool including an indicium; and a memory that stores the characteristic of the print material filament and the indicium and links the characteristic of the print material filament and the indicium for retrieval of the characteristic of the print material filament by a 3D printer, wherein the 3D printer is configured to modify a print parameter based on the characteristic of the print material filament.

The print parameter may be a feed rate of the print material filament. The indicium may be one of a barcode, a QR code, or an RFID.

The extruder may be a screw extruder and may further comprise a barrel, a screw, at least one heater, and a die, wherein the sensor may measure the characteristic of the print material filament exiting the die.

A method according to an embodiment comprises the steps of providing a print head configured to feed a print material filament from a spool through a material guide to a heated nozzle, an X-Y planar control for moving the print head in an X-Y plane, and a print platform upon which a base is printed; detecting a filament spool indicium; correlating the filament spool indicium to a physical characteristic of the print material filament stored in a first memory; and modifying a print parameter responsive to the physical characteristic of the print material filament.

The physical characteristic of the print material filament may be a diameter of the print material filament. The physical characteristic of the print material filament may be measured with a laser micrometer. The filament spool indicium may be one of a barcode, a QR code, or an RFID.

The modifying the print parameter step may further comprise modifying a feed rate of the print material filament. The feed rate of the print material filament may be reduced so a target volume of the print material filament may be deposited for a given length of the print material filament when a diameter of the filament may be larger than a target diameter. The feed rate of the print material filament may be increased so the target volume of the print material filament may be deposited for a given length of the print material filament when the diameter of the filament may be smaller than a target diameter.

Another method comprises extruding a filament and measuring a filament material characteristic of the filament exiting an extruder; winding the filament onto a spool marked with an indicium; and storing the filament material characteristic measured and linking to the indicium in a memory for retrieval by a 3D printer that modifies a print parameter based on the filament material characteristic.

The print parameter may be a feed rate of the print material filament. The physical characteristic of the print material filament may be a diameter of the print material filament. The filament material characteristic may be measured with a laser micrometer.

The above, as well as other advantages will become readily apparent to those skilled in the art from the following detailed description of embodiments when considered in light of the accompanying drawings which:.

The following detailed description and appended drawings describe and illustrate various embodiments of the invention. The description and drawings serve to enable one skilled in the art to make and use the invention, and are not intended to limit the scope of the invention in any manner. In respect of the methods disclosed, the steps presented are exemplary in nature, and thus, the order of the steps is not necessary or critical.

"A" and "an" as used herein indicate "at least one" of the item is present; a plurality of such items may be present, when possible. As used herein, "substantially" means "to a considerable degree," "largely," or "proximately" as a person skilled in the art in view of the instant disclosure would understand the term. Spatially relative terms, such as "front," "back," "inner," "outer," "bottom," "top," "horizontal," "vertical," "upper," "lower," "side," "up," "down," and the like, may be used herein for ease of description to describe one element or feature's relationship to another element(s) or feature(s) as illustrated in the figures.

<FIG> illustrates a filament extrusion process <NUM>. The process <NUM> includes a hopper <NUM> in communication with an inlet of an extruder <NUM>. It is understood that the extruder <NUM> can be any convention extruder, as desired, such as a single or double screw extruder. An outlet of the extruder <NUM> is in communication with a die or discharge component <NUM>. The die <NUM> is configured to discharge a material <NUM> from the extruder <NUM> in a desired size and shape. The die <NUM> is in communication with a cooling apparatus <NUM>. The cooling apparatus <NUM> can be any cooling or heat transfer apparatus, as desired, capable of cooling the material <NUM> in a desired time and to a desired temperature. A cooling bath <NUM> in in communication with the cooling apparatus <NUM> in an upstream direction and a filament spool <NUM> in a downstream direction with respect to a direction of flow of the material <NUM> through the process <NUM>. The filament spool <NUM> is configured to wind a continuous spool of the material <NUM> thereon.

During operation of the process <NUM>, the material <NUM> is added to the hopper <NUM>. The material <NUM> may be in the form of pellets or small pieces or have other shapes and configurations as desired. The material <NUM> may comprise a polymer or other material having desired properties for use as a filament of a 3D printing process. The extruder <NUM> receives the material <NUM>, melts the material <NUM> by applying heat, and forces the melted material <NUM> through the die <NUM>. After the melted material <NUM> exits the die <NUM>, it is cooled by the cooling apparatus <NUM> to a desired temperature and solidifies to form a solid filament <NUM>. The cooling apparatus <NUM> may use air or other fluid as a heat exchange medium, as desired, to remove heat from the melted material <NUM>. The cooling apparatus <NUM> may provide a volume of a cooling fluid for the melted material <NUM> to pass through. The cooling fluid may be constantly added to and removed from the cooling apparatus <NUM> in order to maintain a set point temperature for the cooling fluid in the cooling apparatus <NUM>. The cooling fluid may be water, an aqueous solution, or other conventional cooling fluids as desired.

<FIG> also shows the cooling bath <NUM>. Whereas the cooling apparatus <NUM> may rapidly cool the melted material <NUM>, the cooling bath <NUM> may further cool the solid filament <NUM> at a lower temperature reduction rate. The hot, melted material <NUM> may be cooled to a temperature below a melting point of the material <NUM> forming the solid filament <NUM>. For example, the hot, melted material <NUM> may be cooled to a temperature between <NUM>°F and <NUM>°F. The desired, cool temperature may be achieved by the cooling apparatus <NUM> alone or by a combination of the cooling apparatus <NUM> and the cooling bath <NUM>. A residence time that the solid filament <NUM> spends in the cooling bath <NUM> may be longer than a residence time that the solid filament <NUM> spends in the cooling apparatus <NUM>. The cooling bath <NUM> may comprise a heat exchange fluid or other cooling medium as desired. The heat exchange fluid may be water, an aqueous solution, or other heat exchange fluid, for example.

Warm (heated) or ambient air may be blown across the solid filament <NUM> to dry excess heat exchange fluid from the filament <NUM>. Alternatively, an infrared (IR) oven may be used to dry excess heat exchange fluid from the filament <NUM>. The solid filament <NUM> may be wound onto the filament spool <NUM> and the filament spool <NUM> may then be used in an FFF printer to print a 3D printed object. The filament spool <NUM> may be marked with an indicium that is unique to that spool.

A diameter, ovality, and other properties or characteristics of the filament <NUM> may be measured by a sensing device, a sensor, or an instrument <NUM>. As a non-limiting example, the instrument <NUM> may be a laser micrometer. The laser micrometer includes an emitter or emitters that scan a measurement field with a laser or lasers. When an object is present in the measurement field, the object's shadow is cast into a receiver which can use this information to determine the diameter, the ovality, and other properties and dimensions of the filament <NUM>. Production data may be received by the instrument <NUM> and uploaded and stored, along with a unique indicium of the spool <NUM> (such as a barcode, a QR code or an RFID, for example) in a database <NUM> stored on a storage device such as a hard drive, the internet, or other conventional storage devices. Optionally, data may be stored on an RFID to eliminate the need for an end user to connect to the internet. Production data may include one or more of the following: filament diameter, filament ovality, filament tolerance, filament extrusion temperature during filament production, filament cooling temperature during filament production, filament cooling rate during production (after being extruded), filament extrusion die size, filament production rate (amount of filament forced through an extrusion die per unit of time), the number of sensors that were used to measure filament diameter and/or ovality, the type and/or model number of the sensor(s) (or instrument) used to measure filament diameter and/or ovality, the geographical location of filament production, and the origin of raw materials that were used to produce a filament. In general, any data that is captured in the manufacturing process may be stored and used to enhance a 3D print. A filament's properties may be cataloged as a function of filament location within a spool of filament. For example, the filament may be segmented by length and each segment may have a stored physical property. A 3D printer could make adjustments to print settings (for example, extrusion ratio or extrusion temperature) based on the properties of the filament segment being printed at a given time. In this case, a 3D printer would know, for example, that the first foot of filament has diameter X (or some other measured property), the second foot of filament has diameter Y, and the third foot of filament has diameter Z. The unit of length could be smaller (for example, every inch of filament could have a corresponding diameter or other property) to provide more granularity and more frequent 3D printer compensations. Conversely, the unit of length could be larger (for example, every <NUM> feet of filament could have a corresponding diameter or other physical property) to reduce the amount of data that is stored. The database <NUM> may be stored on the storage device for data retrieval and/or further processing. Thus, physical properties of the filament <NUM> on the spool <NUM> are measured and stored for later use.

In the prior art, filament manufacturers have been able to reduce filament diameter tolerances from ± <NUM> to ± <NUM>, with present targets of ± <NUM> and even ± <NUM>. Without compensating for the tolerances of the filament <NUM> for the specific spool being printed, there will always be a deviation in printed dimensions when the tolerance for the diameter of the filament <NUM> that is greater than zero.

<FIG> illustrates an additive manufacturing system <NUM>. The additive manufacturing system <NUM> can be a fused filament fabrication (FFF) system as shown in <FIG>. However, other additive manufacturing systems <NUM> can be used without departing from the scope of the invention. The additive manufacturing system includes a filament spool <NUM> disposed on a spindle. The filament spool <NUM> includes a filament <NUM> wound thereon, wherein the filament is fed to a print head <NUM>. A nozzle <NUM> including a nozzle tip <NUM> is formed on the print head <NUM>. The additive manufacturing system <NUM> further includes a build plate <NUM> configured to support a 3D printed object <NUM> formed from liquefied or partially liquefied filament.

In operation, the filament spool <NUM> of the additive manufacturing system <NUM> stores the filament <NUM> thereon in a wound manner. The filament <NUM> moves from the filament spool <NUM> to the print head <NUM> via hobs or gears (not shown). The print head <NUM> includes a heated section (not shown) that liquefies the filament <NUM> being fed thereto so that the filament <NUM> is liquefied or partially liquefied when it exits the nozzle <NUM> at the nozzle tip <NUM>. The liquefied or partially liquefied filament <NUM> is initially deposited onto the build plate <NUM>. It is understood that multiple spools and filaments may be fed to the print head for depositing on the build plate <NUM> if desired. The print head <NUM> moves about in the x, y, and z directions the liquefied or partially liquefied filament <NUM> is deposited onto the build plate. It is further understood that the build plate can be moved in the x, y, and z directions and the print head <NUM> may be stationary without departing from the scope of the invention. Upon cooling, the liquefied or partially liquefied filament <NUM> deposited on the build plate <NUM> solidifies and becomes part of the 3D printed object <NUM>.

Variability in an amount of the liquefied or partially liquefied filament <NUM> deposited contributes to irregularities in the 3D printed object <NUM>. For a given length of the filament <NUM> moving through the print head <NUM> that is deposited as the liquefied or partially liquefied filament <NUM>, the total volume of the liquefied or partially liquefied filament <NUM> deposited is a function of the diameter of the filament <NUM>. For example, if the diameter of the filament <NUM> is larger than a target diameter, the volume of the liquefied or partially liquefied filament <NUM> deposited will be larger than the targeted volume. Conversely, if the diameter of the filament <NUM> is smaller than a desired target, the volume of the liquefied or partially liquefied filament <NUM> deposited will be less than the targeted volume. The mass and dimensions of the 3D printed object <NUM> from these two examples will therefore vary because of the variability in the diameter of the filament <NUM>. In order to achieve consistency among the 3D printed objects <NUM>, a constant diameter of the filament <NUM> is important. One way to achieve the consistent diameter of the filament <NUM> is to tightly control the diameter of the filament <NUM> during the extrusion process, while discarding any filament that is out of a specified tolerance of the diameter of the filament <NUM>. The embodiments disclosed herein correct or compensate for a variation in the diameter of the filament <NUM> during the 3D printing process. If the diameter of the filament <NUM> being fed to the 3D printer is larger than the target diameter, the 3D printer will change print parameters to account for the larger diameter. For example, a feed rate for the filament <NUM> may be reduced for a given speed of the print head <NUM> so that the target volume of the liquefied or partially liquefied filament <NUM> is deposited for a given length of filament deposition. Conversely, if the diameter of the filament <NUM> being fed to the 3D printer is smaller than the target diameter, the 3D printer will increase the feed rate of the filament <NUM> for a given print head speed so that the target volume of the liquefied or partially liquefied filament <NUM> is deposited for a given length of filament deposition.

As shown in <FIG>, data stored for a given spool of filament <NUM> may be retrieved from the database <NUM> created during the process <NUM>, and used to modify print parameters such as filament feed rate. By way of example, the feed rate of the filament <NUM> may be increased or decreased to compensate for the diameter of the filament <NUM> being fed. In this way, the deposited volume of the filament <NUM> is more consistent and is less dependent on consistency of the filament <NUM> during production of the filament <NUM>. The physical properties of the filament <NUM> of the spool <NUM> are measured during production of the filament <NUM> and stored on database <NUM>, which could be an internet website or a hard drive of a computer, for example. After transferring or purchasing the spool <NUM> of the filament <NUM>, an end-user scans the barcode, QR code, or RFID on the spool <NUM>. The barcode, QR code, or RFID links to the website or hard drive that holds production data for the exact spool <NUM> being used. The end-user's 3D printer receives the data and modifies print parameters to make adjustments as necessary. For example, the 3D printer's extrusion ratio or feed rate may be adjusted based on the diameter of the filament <NUM>.

The filament spool <NUM> may comprise an RFID, QR code, or barcode that can be scanned by the printer to identify the filament spool <NUM> and to look up production data for the filament spool <NUM>. The production data may comprise minimum diameter and maximum diameter for the filament <NUM> of a given filament spool <NUM>. However, other production data can be provided and used without departing from the scope of the invention. The 3D printer may use the data to change an extrusion ratio of the print head <NUM>. The extrusion ratio is defined here as a ratio of the feed rate of the filament <NUM> (length of filament dispensed from the nozzle per unit time) to a speed of the print head <NUM> (distance traveled per unit time). If the extrusion rate is set for an assumed filament diameter and the actual filament diameter is less or more than the assumed filament diameter, too little or too much filament will be extruded which results in a 3D printed part that is lacking material (as evidenced by gaps or areas that are too thin, for example) or that has too much material (as evidenced by areas that are too thick or areas that contain excess material, for example). Adjusting the extrusion ratio based on the actual diameter of the filament <NUM> that is being fed to the 3D printer optimizes the quality of a 3D printed object and reduces dimensional tolerances, compared to adjusting the extrusion ratio based on the average filament diameter for a batch of multiple spools.

Compensating for variations in the filament <NUM> on a per-spool basis is especially beneficial for filament production processes that produce filament with a consistent offset from the target diameter for a given spool. For example, <FIG> shows a possible scenario where a filament production process is targeting a filament diameter of <NUM> with a tolerance of ± <NUM>. As shown in <FIG>, the actual filament diameter being produced (for one spool) is continuously between <NUM> and <NUM> (hovers around <NUM>). The filament depicted in <FIG> would typically be marketed and sold as a <NUM> ± <NUM> filament. However, when the production data for that spool is collected during production, stored in a retrievable location, retrieved by a 3D printer, and used by the 3D printer to make print adjustments to compensate for the actual filament diameter, a better-quality print will result. Effectively, the 3D printed part (printed in a printer that adjusts print properties such as extrusion rate, based on filament production data for a given spool) would have the quality of a 3D printed part that was printed with a ± <NUM> tolerance filament.

<FIG> depicts an exemplary computing and control system <NUM> for use in association with the herein described systems and methods. The computing and control system <NUM> is capable of executing software such as an operating system (OS) and/or one or more computing applications/algorithms <NUM> such as applications applying the print plan, monitoring, process controls, process monitoring, and process modifications discussed herein, and may execute such applications <NUM> using the data such as materials and process-related data which may be stored in a storage database <NUM> locally or remotely.

More particularly, the operation of an exemplary computing system <NUM> is controlled primarily by computer readable instructions such as instructions stored in a computer readable storage medium, such as a hard disk drive (HDD) <NUM>, an optical disk (not shown) such as a CD or DVD, a solid state drive (not shown) such as a USB "thumb drive," or the like. Such instructions may be executed within a central processing unit (CPU) <NUM> to cause computing system <NUM> to perform the operations discussed herein. In many known computer servers, workstations, personal computers, and the like, the CPU <NUM> is implemented in an integrated circuit called a processor.

It is appreciated that, although the exemplary computing system <NUM> is shown to comprise a single CPU <NUM>, the computing system <NUM> may comprise a plurality of the CPUs <NUM>. Additionally, the computing system <NUM> may exploit the resources of remote CPUs (not shown), for example, through a communications network <NUM> or some other data communications means.

In operation, the CPU <NUM> obtains, decodes, and executes instructions from a computer readable storage medium such as the HDD <NUM>. Such instructions may be included in software such as an operating system (OS), executable programs such as the aforementioned correlation applications, and the like. Information such as computer instructions and other computer readable data is transferred between components of computing system <NUM> via the system's main data-transfer path. The data may include a physical characteristic lookup table for the spool, for example. The main data-transfer path may use a system bus architecture <NUM>, although other computer architectures (not shown) can be used such as architectures using serializers and deserializers and crossbar switches to communicate data between devices over serial communication paths. The system bus <NUM> may include data lines for sending data, address lines for sending addresses, and control lines for sending interrupts and for operating the system bus <NUM>. Some busses provide bus arbitration that regulates access to the bus by extension cards, controllers, and the CPU <NUM>.

Memory devices coupled to the system bus <NUM> may include random access memory (RAM) <NUM> and/or read only memory (ROM) <NUM>. Such memories include circuitry that allows information to be stored and retrieved. The ROMs <NUM> generally contain stored data that cannot be modified. The data stored in RAM <NUM> can be read or changed by the CPU <NUM> or other hardware devices. Access to the RAM <NUM> and/or the ROM <NUM> may be controlled by a memory controller <NUM>. The memory controller <NUM> may provide an address translation function that translates virtual addresses into physical addresses as instructions are executed. The memory controller <NUM> may also provide a memory protection function that isolates processes within the system and isolates system processes from user processes. Thus, a program running in user mode may normally access only memory mapped by its own process virtual address space; in such instances, the program cannot access memory within another process' virtual address space unless memory sharing between the processes has been set up.

In addition, the computing system <NUM> may contain a peripheral communications bus <NUM>, which communicates instructions from the CPU <NUM> to, and/or receiving data from, peripherals, such as peripherals printer <NUM>, keyboard <NUM>, and mouse <NUM>, and may include any combination of printers, keyboards, and/or the sensors discussed herein throughout. An example of a peripheral bus is the Peripheral Component Interconnect (PCI) bus.

A display <NUM>, which is controlled by a display controller <NUM>, may be used to display visual output and/or other presentations generated by or at the request of the computing system <NUM>, such as in the form of a graphical user interface (GUI), responsive to operation of the aforementioned computing program(s). Such visual output may include text, graphics, animated graphics, and/or video, for example. The display <NUM> may be implemented with a CRT-based video display, an LCD or LED-based display, a gas plasma-based flat-panel display, a touchpanel display, or the like. The display controller <NUM> includes electronic components required to generate a video signal that is sent to the display <NUM>.

Further, the computing system <NUM> may contain a network adapter <NUM> which may be used to couple the computing system <NUM> to an external communication network <NUM>, which may include or provide access to the Internet, an intranet, an extranet, or the like. The communications network <NUM> may provide user access for the computing system <NUM> with means of communicating and transferring software and information electronically. Additionally, the communications network <NUM> may provide for distributed processing, which involves several computers and the sharing of workloads or cooperative efforts in performing a task. It is appreciated that the network connections shown are exemplary and other means of establishing communications links between computing system <NUM> and remote users may be used.

Claim 1:
A method of printing, the method comprising:
providing a print head (<NUM>) configured to feed a print material filament (<NUM>, <NUM>) from a spool (<NUM>, <NUM>) through a material guide to a heated nozzle (<NUM>), an X-Y planar control for moving the print head (<NUM>) in an X-Y plane, and a print platform upon which a base is printed;
detecting a filament spool (<NUM>, <NUM>) indicium;
correlating the filament spool (<NUM>, <NUM>) indicium to a physical characteristic of the print material filament (<NUM>, <NUM>) stored in a first memory (<NUM>, <NUM>); and
modifying a print parameter responsive to the physical characteristic of the print material filament (<NUM>, <NUM>).